ó
    ÷Þ j€  ã                  ó¶   • S SK Jr  S SKJr  SSKJr  SSKJr  SSK	J
r
Jr  SSKJrJr  SSKJr  \(       a  S S	KJr  S
S/rSS jr " S S
\5      r " S S5      rg)é    )Úannotations)ÚTYPE_CHECKINGé   )Úparse_requirement)ÚParserSyntaxError)ÚMarkerÚ_normalize_extra_values)ÚInvalidSpecifierÚSpecifierSet©Úcanonicalize_name)ÚIteratorÚInvalidRequirementÚRequirementc                 ó   • [         $ ©N)Ú__all__© ó    ÚP/var/www/html/gaurav/venv/lib/python3.13/site-packages/packaging/requirements.pyÚ__dir__r      s   € Ü€Nr   c                  ó   • \ rS rSrSrSrg)r   é   zZ
An invalid requirement was found, users should refer to PEP 508.

.. versionadded:: 16.1
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   r   r   r   r      s   † ôr   c                  ól   • \ rS rSrSrSrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSS jrSrg)r   é#   aq  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.

.. versionadded:: 16.1

.. versionchanged:: 22.0
    Added equality (``__eq__``) and hashing (``__hash__``) so requirements
    can be compared and stored in sets / dicts.

.. versionchanged:: 23.2
    Equality and hashing began canonicalizing requirement names, so
    requirements whose names differ only by normalization (e.g.
    ``Requirement("Foo")`` vs ``Requirement("foo")``) now compare and hash
    equal.

Instances are safe to serialize with :mod:`pickle`. They use a stable
format so the same pickle can be loaded in future packaging releases.

.. versionchanged:: 26.2

    Added a stable pickle format. Pickles created with packaging 26.2+ can
    be unpickled with future releases.  Backward compatibility with pickles
    from packaging < 26.2 is supported but may be removed in a future
    release.

.. versionchanged:: 26.3

    The dedicated pickle support introduced in 26.2 did not preserve the
    specifier's explicit :attr:`~packaging.specifiers.SpecifierSet.prereleases`
    override; it is now included again.

    Equality and hashing normalize requirement names, extras, and
    equivalent specifiers. The string representation still preserves the
    parsed name and extras spelling.
)ÚextrasÚmarkerÚnameÚ	specifierÚurlc                ó(  •  [        U5      nUR                  U l        UR
                  =(       d    S U l        [        UR                  5      U l         [        UR                  5      U l	        S U l        UR                  bD  [        R                  " [        5      U l        [        UR                  5      U R                  l        g g ! [         a  n[        [        U5      5      UeS nAff = f! [         a  n[        [        U5      5      UeS nAff = fr   )Ú_parse_requirementr   r   Ústrr$   r&   Úsetr"   r   r%   r
   r#   r   Ú__new__r	   Ú_markers)ÚselfÚrequirement_stringÚparsedÚes       r   Ú__init__ÚRequirement.__init__R   sØ   € ð	4Ü'Ð(:Ó;ˆFð  Ÿ™ˆŒ	Ø%Ÿz™z×1¨TˆŒÜ # F§M¡MÓ 2ˆŒð	4Ü+7¸×8HÑ8HÓ+IˆDŒNð &*ˆŒØ�=‰=Ñ$Ü Ÿ.š.¬Ó0ˆDŒKÜ#:¸6¿=¹=Ó#IˆD�K‰KÕ ð %øô !ó 	4Ü$¤S¨£VÓ,°!Ð3ûð	4ûô  ó 	4Ü$¤S¨£VÓ,°!Ð3ûð	4ús/   ‚C ÁC- Ã
C*ÃC%Ã%C*Ã-
DÃ7DÄDc              #  ó’  #   • Uv •  U R                   (       a,  SR                  [        U R                   5      5      nSU S3v •  U R                  (       a  [	        U R                  5      v •  U R
                  (       a&  SU R
                   3v •  U R                  (       a  Sv •  U R                  (       a  SU R                   3v •  g g 7f)NÚ,Ú[Ú]z @ Ú z; )r"   ÚjoinÚsortedr%   r)   r&   r#   )r-   r$   Úformatted_extrass      r   Ú_iter_partsÚRequirement._iter_partsd   s‘   é € ØŠ
à�;�;Ø"Ÿx™x¬¨t¯{©{Ó(;Ó<ÐØÐ&Ð' qÐ)Ò)à�>�>Ü�d—n‘nÓ%Ò%à�8�8Ø˜Ÿ™�zÐ"Ò"Ø�{�{Ø’	à�;�;Ø�t—{‘{�mÐ$Ó$ð ùs   ‚CCc                óD   • [        U 5      U R                  R                  4$ r   )r)   r%   Ú_prereleases©r-   s    r   Ú__getstate__ÚRequirement.__getstate__v   s   € ô
 �D“	˜4Ÿ>™>×6Ñ6Ð7Ð7r   c                óö  • [        U[        5      (       a  UnS nOÌ[        U[        5      (       aJ  [        U5      S:X  a;  [        US   [        5      (       a#  US   b  [        US   [        5      (       a  Uu  p#Om[        U[
        5      (       aI  UR                  5       [        U R                  5      :¼  a"  U R                   H  n[        XX   5        M     g [        SU< 35      e [        U5      nUR                  U l        UR                  U l        UR                  U l        UR                   U l        X0R                   l        UR$                  U l        g ! [         a  n[        SU< 35      UeS nAff = f)Né   r   r   z Cannot restore Requirement from )Ú
isinstancer)   ÚtupleÚlenÚboolÚdictÚkeysr*   Ú	__slots__ÚsetattrÚ	TypeErrorr   r   r$   r&   r"   r%   r>   r#   )r-   Ústater.   ÚprereleasesÚkeyÚtmpÚexcs          r   Ú__setstate__ÚRequirement.__setstate__}   s:  € Ü�eœS×!Ñ!à&+ÐØ'+‰Kä�uœe×$Ñ$Ü�E“
˜a“Ü˜5 ™8¤S×)Ñ)Ø�q‘Ñ!¤Z°°a±¼$×%?Ñ%?ð /4Ñ+Ð Ü˜œt×$Ñ$¨¯©«¼¸T¿^¹^Ó9LÓ)Là—~”~�Ü˜ 5¡:Ö.ñ &àäÐ>¸u¹iÐHÓIÐIð	SÜÐ0Ó1ˆCð —H‘HˆŒ	Ø—7‘7ˆŒØ—j‘jˆŒØŸ™ˆŒØ&1�‰Ô#Ø—j‘jˆ�øô "ó 	SÜÐ>¸u¹iÐHÓIÈsÐRûð	Sús   Ã(E Å
E8Å#E3Å3E8c                óV   • SR                  U R                  U R                  5      5      $ )NÚ )r8   r;   r$   r?   s    r   Ú__str__ÚRequirement.__str__�   s    € Ø�w‰w�t×'Ñ'¨¯	©	Ó2Ó3Ð3r   c                óP   • SU R                   R                   S[        U 5      < S3$ )NÚ<Ú(z)>)Ú	__class__r   r)   r?   s    r   Ú__repr__ÚRequirement.__repr__    s&   € Ø�4—>‘>×*Ñ*Ð+¨1¬S°«Y©M¸Ð<Ð<r   c                ó¸   • [        [        U R                  5      [        S U R                   5       5      U R
                  U R                  U R                  45      $ )Nc              3  ó6   #   • U H  n[        U5      v •  M     g 7fr   r   ©Ú.0r0   s     r   Ú	<genexpr>Ú'Requirement.__hash__.<locals>.<genexpr>¬   s   é € ÐD¹°1Ô+¨A×.Ð.ºùó   ‚)Úhashr   r$   Ú	frozensetr"   r%   r&   r#   r?   s    r   Ú__hash__ÚRequirement.__hash__£   sI   € ô ä! $§)¡)Ó,ÜÑD¸¿ºÓDÓDØ—‘Ø—‘Ø—‘ðó
ð 	
r   c                óÔ  • [        U[        5      (       d  [        $ [        S U R                   5       5      n[        S UR                   5       5      n[        U R                  5      [        UR                  5      :H  =(       ad    X#:H  =(       aY    U R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  $ )Nc              3  ó6   #   • U H  n[        U5      v •  M     g 7fr   r   r`   s     r   rb   Ú%Requirement.__eq__.<locals>.<genexpr>¸   s   é € ÐJ¹k¸Ô 1°!× 4Ð 4ºkùrd   c              3  ó6   #   • U H  n[        U5      v •  M     g 7fr   r   r`   s     r   rb   rk   ¹   s   é € Ð L¹|¸!Ô!2°1×!5Ð!5º|ùrd   )
rD   r   ÚNotImplementedrf   r"   r   r$   r%   r&   r#   )r-   ÚotherÚself_extrasÚother_extrass       r   Ú__eq__ÚRequirement.__eq__³   s­   € Ü˜%¤×-Ñ-Ü!Ð!ô  ÑJ¸d¿kºkÓJÓJˆÜ Ñ L¸u¿|º|Ó LÓLˆä˜dŸi™iÓ(Ô,=¸e¿j¹jÓ,IÑI÷ ,ØÑ+÷,à—‘ %§/¡/Ñ1÷,ð —‘˜EŸI™IÑ%÷,ð —‘˜uŸ|™|Ñ+ð	
r   N)r.   r)   ÚreturnÚNone)r$   r)   rs   zIterator[str])rs   ztuple[str, bool | None])rM   Úobjectrs   rt   )rs   r)   )rs   Úint)rn   ru   rs   rG   )r   r   r   r   r   rJ   r1   r;   r@   rR   rV   r\   rg   rq   r   r   r   r   r   r   #   s:   † ñ%ðX A€IôJô$%ô$8ô!ô@4ô=ô
÷ 
r   N)rs   z	list[str])Ú
__future__r   Útypingr   Ú_parserr   r(   Ú
_tokenizerr   Úmarkersr   r	   Ú
specifiersr
   r   Úutilsr   Úcollections.abcr   r   r   Ú
ValueErrorr   r   r   r   r   Ú<module>r€      sN   ðõ #å  å <Ý )ß 4ß 6Ý $æÝ(ð Øð€ôô˜ô ÷]
ò ]
r   