§
    ö{ÂcÀ  ã                   ó�   — d dl Zd dlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ  G d„ d	e¦  «        Z G d
„ d¦  «        ZdS )é    N)ÚAnyÚListÚOptionalÚSeté   )Úparse_requirement)ÚParserSyntaxError)ÚMarkerÚ_normalize_extra_values)ÚSpecifierSetc                   ó   — e Zd ZdZdS )ÚInvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú8/usr/lib/python3/dist-packages/packaging/requirements.pyr   r      s   € € € € € ðð ð ð r   r   c                   óV   — e Zd ZdZdeddfd„Zdefd„Zdefd„Zdefd„Z	d	e
defd
„ZdS )Ú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                 ó  — 	 t          |¦  «        }n/# t          $ r"}t          t          |¦  «        ¦  «        |‚d }~ww xY w|j        | _        |j        r§t          j                             |j        ¦  «        }|j	        dk    r8t          j         
                    |¦  «        |j        k    rt          d¦  «        ‚n3|j	        r|j        r|j	        s|j        st          d|j        › �¦  «        ‚|j        | _        nd | _        t          |j        r|j        ng ¦  «        | _        t          |j        ¦  «        | _        d | _        |j        �>t#          j        t"          ¦  «        | _        t'          |j        ¦  «        | j        _        d S d S )NÚfilezInvalid URL givenzInvalid URL: )r   r	   r   ÚstrÚnameÚurlÚurllibÚparseÚurlparseÚschemeÚ
urlunparseÚnetlocÚsetÚextrasr   Ú	specifierÚmarkerr
   Ú__new__r   Ú_markers)Úselfr   ÚparsedÚeÚ
parsed_urls        r   Ú__init__zRequirement.__init__!   s„  € ð	4Ý&Ð'9Ñ:Ô:ˆFˆFøÝ ð 	4ð 	4ð 	4Ý$¥S¨¡V¤VÑ,Ô,°!Ð3øøøøð	4øøøð  œˆŒ	ØŒ:ð 	Ýœ×.Ò.¨v¬zÑ:Ô:ˆJØÔ  FÒ*Ð*Ý”<×*Ò*¨:Ñ6Ô6¸&¼*ÒDÐDÝ,Ð-@ÑAÔAÐAð Eà Ô'ð G¨JÔ,=ð GØÔ%ðGØ.8Ô.?ðGõ )Ð)E¸¼Ð)EÐ)EÑFÔFÐFØ&,¤jˆDŒHˆHàˆDŒHÝ #°V´]Ð$J F¤M MÈÑ KÔ KˆŒÝ'3°FÔ4DÑ'EÔ'EˆŒØ(,ˆŒØŒ=Ð$Ý œ.­Ñ0Ô0ˆDŒKÝ#:¸6¼=Ñ#IÔ#IˆDŒKÔ Ð Ð ð %Ð$s   ‚ ’
>œ9¹>c                 óî  — | j         g}| j        r@d                     t          | j        ¦  «        ¦  «        }|                     d|› d�¦  «         | j        r'|                     t          | j        ¦  «        ¦  «         | j        r9|                     d| j        › �¦  «         | j        r|                     d¦  «         | j        r|                     d| j        › �¦  «         d                     |¦  «        S )Nú,ú[ú]z@ ú z; Ú )	r   r&   ÚjoinÚsortedÚappendr'   r   r   r(   )r+   ÚpartsÚformatted_extrass      r   Ú__str__zRequirement.__str__;   sí   € Ø œI˜;ˆàŒ;ð 	2Ø"Ÿxšx­¨t¬{Ñ(;Ô(;Ñ<Ô<ÐØ�LŠLÐ0Ð-Ð0Ð0Ð0Ñ1Ô1Ð1àŒ>ð 	.Ø�LŠL�˜Tœ^Ñ,Ô,Ñ-Ô-Ð-àŒ8ð 	"Ø�LŠL˜˜dœh˜˜Ñ)Ô)Ð)ØŒ{ð "Ø—’˜SÑ!Ô!Ð!àŒ;ð 	-Ø�LŠLÐ+˜dœkÐ+Ð+Ñ,Ô,Ð,à�wŠw�u‰~Œ~Ðr   c                 ó   — d| › d�S )Nz<Requirement('z')>r   ©r+   s    r   Ú__repr__zRequirement.__repr__O   s   € Ø) Ð)Ð)Ð)Ð)r   c                 óR   — t          | j        j        t          | ¦  «        f¦  «        S ©N)ÚhashÚ	__class__r   r   r=   s    r   Ú__hash__zRequirement.__hash__R   s    € Ý�T”^Ô,­c°$©i¬iÐ8Ñ9Ô9Ð9r   Úotherc                 óÚ   — t          |t          ¦  «        st          S | j        |j        k    o?| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r@   )Ú
isinstancer   ÚNotImplementedr   r&   r'   r   r(   )r+   rD   s     r   Ú__eq__zRequirement.__eq__U   su   € Ý˜%¥Ñ-Ô-ð 	"Ý!Ð!ð ŒI˜œÒ#ð ,Ø”˜uœ|Ò+ð,à” %¤/Ò1ð,ð ”˜EœIÒ%ð,ð ”˜uœ|Ò+ð	
r   )r   r   r   r   r   r/   r;   r>   ÚintrC   r   ÚboolrH   r   r   r   r   r      s¹   € € € € € ðð ðJ¨3ð J°4ð Jð Jð Jð Jð4˜ð ð ð ð ð(*˜#ð *ð *ð *ð *ð:˜#ð :ð :ð :ð :ð

˜Cð 

 Dð 

ð 

ð 

ð 

ð 

ð 

r   r   )Úurllib.parser   Útypingr   r   r   r   Ú_parserr   Ú
_tokenizerr	   Úmarkersr
   r   Ú
specifiersr   Ú
ValueErrorr   r   r   r   r   ú<module>rR      së   ðð
 Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à &Ð &Ð &Ð &Ð &Ð &Ø )Ð )Ð )Ð )Ð )Ð )Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ˜ñ ô ð ðK
ð K
ð K
ð K
ð K
ñ K
ô K
ð K
ð K
ð K
r   