HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc
�

��hD��8�ddlZddlZddlZddlmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZmZddlmZmZmZGd�de�Zeej:ej<z�Zed	�jA�Z!ed
�jA�Z"ed�jA�Z#ed�jA�Z$ed
�jA�Z%ed�jA�Z&ed�jA�Z'ed�Z(eee(�ezzZ)e
eee)�z�Z*e*d�Z+e*Z,ed�d�Z-e'e-zZ.e,ee%e,z�zZ/e!ee/�ze"zd�Z0eejbejdejfz�Z4eejbejdejfz�Z5e4e5zZ6e
e6ee%e6z�zd
d��d�Z7ee#e7ze$ze7z�Z8e8jsd��ee8�d�Z:e:jsd��ee��d�Zejrd��e&Z;e;ezZ<e:ee<�zZ=e.ee<�zZ>e+ee0�ze>e=zzZ?ee?zezZ@e@j�d�Gd�d�ZBy) �N)�List�Optional�Set)
�Combine�Literalr�ParseException�Regex�Word�
ZeroOrMore�originalTextFor�	stringEnd�stringStart�)�MARKER_EXPR�Marker)�LegacySpecifier�	Specifier�SpecifierSetc��eZdZdZy)�InvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)�__name__�
__module__�__qualname__�__doc__���D/usr/lib/python3/dist-packages/pip/_vendor/packaging/requirements.pyrrs��rr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)�
joinString�adjacent�	_raw_specc�"�|jxsdS)N�)r*��s�l�ts   r�<lambda>r1@s��Q�[�[�->�B�r�	specifierc��|dS)Nrrr-s   rr1r1Cs
��A�a�D�r�markerc�F�t||j|j�S)N)r�_original_start�
_original_endr-s   rr1r1Gs��F�1�Q�.�.����A�B�rzx[]c�8�eZdZdZdeddfd�Zdefd�Zdefd�Zy)�Requirementz�Parse a requirement.

    Parse a given requirement string into its parts, such as name, specifier,
    URL, and extras. Raises InvalidRequirement on a badly-formed requirement
    string.
    �requirement_string�returnNc��	tj|�}|j|_|jr�tjj|j�}|jdk(r7tjj|�|jk7rStd��|jr$|jr|js$|jstd|j����|j|_nd|_t|jr|jj!�ng�|_t#|j$�|_|j&r|j&|_yd|_y#t$r:}td||j|jdz�d|j
����d}~wwxYw)NzParse error at "�z": �filezInvalid URL givenz
Invalid URL: )�REQUIREMENT�parseStringrr�loc�msgr%r&�urllib�parse�urlparse�scheme�
urlunparse�netloc�setr'�asListrr2r4)�selfr:�req�e�
parsed_urls     r�__init__zRequirement.__init__dsV��	��)�)�*<�=�C�����	��7�7����.�.�s�w�w�7�J�� � �F�*��<�<�*�*�:�6�#�'�'�A�,�-@�A�A� �'�'�J�,=�,=��%�%�j�.?�.?�(�=����	�)B�C�C�'*�w�w�D�H��D�H� #�3�:�:�C�J�J�$5�$5�$7�2� N���'3�C�M�M�'B���7:�z�z������t����)�	�$�"�$6�q�u�u�q�u�u�q�y�$I�"L�C�PQ�PU�PU�w�W��
��	�s�E:�:	F=�5F8�8F=c�
�|jg}|jr9djt|j��}|j	d|�d��|j
r$|j	t
|j
��|jr;|j	d|j���|jr|j	d�|jr|j	d|j���dj|�S)Nr"rrz@ � z; r,)	r%r'�join�sorted�appendr2�strr&r4)rK�parts�formatted_extrass   r�__str__zRequirement.__str__}s��� �I�I�;���;�;�"�x�x��t�{�{�(;�<���L�L�1�-�.�a�0�1��>�>��L�L��T�^�^�,�-��8�8��L�L�2�d�h�h�Z��)��{�{����S�!��;�;��L�L�2�d�k�k�]�+�,��w�w�u�~�rc��d|�d�S)Nz<Requirement('z')>r)rKs r�__repr__zRequirement.__repr__�s����v�S�)�)r)rrrrrUrOrXrZrrrr9r9Ws5���L�3�L�4�L�2���(*�#�*rr9)C�re�string�urllib.parserC�typingrr�	TOptionalr�pip._vendor.pyparsingrr�Lrr	r
rrr
r�markersrr�
specifiersrrr�
ValueErrorr�
ascii_letters�digits�ALPHANUM�suppress�LBRACKET�RBRACKET�LPAREN�RPAREN�COMMA�	SEMICOLON�AT�PUNCTUATION�IDENTIFIER_END�
IDENTIFIER�NAME�EXTRA�URI�URL�EXTRAS_LIST�EXTRAS�
_regex_str�VERBOSE�
IGNORECASE�VERSION_PEP440�VERSION_LEGACY�VERSION_ONE�VERSION_MANY�
_VERSION_SPEC�setParseAction�VERSION_SPEC�MARKER_SEPARATOR�MARKER�VERSION_AND_MARKER�URL_AND_MARKER�NAMED_REQUIREMENTr?r@r9rrr�<module>r�s���

�
��3�3����)�@�@������$�$�v�}�}�4�5���S�6�?�?����S�6�?�?���	
�3����	��	
�3����	��	�#������
�c�F�O�O��	��s�V�_�_����5�k���Z��4�x�?�@��
�X�
�>� :�:�
;�
��&������e�H�o�e����3�h���j����/�/��
5�(�X�k�*�
*�X�
5�x�	@���y�+�+�R�Z�Z�"�-�-�-G�H����1�1�2�:�:��
�
�3M�N���~�-���w��*�U�[�0�1�1�c�E��
����&�<�/�&�8�L�H�I�
�
���>�?�-��}�-�k�:�����0�1�,�o�k�m�,�X�6������B����	�K�	'��!�H�V�$4�4���x��'�'���8�F�+�+�~�@R�/R�S���-�-�	�9�������;*�;*r