§
    �’j*!  ã                  óö   — d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ ddlmZmZmZmZ  G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )Úannotations)ÚAny)ÚSpecifierSet)ÚNormalizedNameÚcanonicalize_name)Úinstall_req_drop_extras)ÚInstallRequirementé   )Ú	CandidateÚCandidateLookupÚRequirementÚformat_namec                  ó~   — e Zd Zdd„Zdd„Zdd„Zdd
„Zdd„Zedd„¦   «         Z	edd„¦   «         Z
dd„Zdd„Zdd„ZdS )ÚExplicitRequirementÚ	candidater   ÚreturnÚNonec                ó   — || _         d S ©N©r   ©Úselfr   s     ú^C:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\resolution\resolvelib\requirements.pyÚ__init__zExplicitRequirement.__init__   s   € Ø"ˆŒˆˆó    Ústrc                ó*   — t          | j        ¦  «        S r   )r   r   ©r   s    r   Ú__str__zExplicitRequirement.__str__   s   € Ý�4”>Ñ"Ô"Ð"r   c                ó0   — | j         j        › d| j        ›d�S ©Nú(ú))Ú	__class__Ú__name__r   r   s    r   Ú__repr__zExplicitRequirement.__repr__   s    € Ø”.Ô)Ð?Ð?¨D¬NÐ?Ð?Ð?Ð?r   Úintc                ó*   — t          | j        ¦  «        S r   )Úhashr   r   s    r   Ú__hash__zExplicitRequirement.__hash__   s   € Ý�D”NÑ#Ô#Ð#r   Úotherr   Úboolc                óP   — t          |t          ¦  «        sdS | j        |j        k    S ©NF)Ú
isinstancer   r   ©r   r+   s     r   Ú__eq__zExplicitRequirement.__eq__   s)   € Ý˜%Õ!4Ñ5Ô5ð 	Ø�5ØŒ~ ¤Ò0Ð0r   r   c                ó   — | j         j        S r   )r   Úproject_namer   s    r   r3   z ExplicitRequirement.project_name    s   € ð Œ~Ô*Ð*r   c                ó   — | j         j        S r   )r   Únamer   s    r   r5   zExplicitRequirement.name%   s   € ð Œ~Ô"Ð"r   c                ó4   — | j                              ¦   «         S r   )r   Úformat_for_errorr   s    r   r7   z$ExplicitRequirement.format_for_error*   s   € ØŒ~×.Ò.Ñ0Ô0Ð0r   r   c                ó   — | j         d fS r   r   r   s    r   Úget_candidate_lookupz(ExplicitRequirement.get_candidate_lookup-   s   € ØŒ~˜tÐ#Ð#r   c                ó   — || j         k    S r   r   r   s     r   Úis_satisfied_byz#ExplicitRequirement.is_satisfied_by0   s   € Ø˜DœNÒ*Ð*r   N)r   r   r   r   ©r   r   ©r   r'   ©r+   r   r   r,   ©r   r   ©r   r   ©r   r   r   r,   )r%   Ú
__module__Ú__qualname__r   r   r&   r*   r1   Úpropertyr3   r5   r7   r9   r;   © r   r   r   r      sø   € € € € € ð#ð #ð #ð #ð#ð #ð #ð #ð@ð @ð @ð @ð$ð $ð $ð $ð1ð 1ð 1ð 1ð
 ð+ð +ð +ñ „Xð+ð ð#ð #ð #ñ „Xð#ð1ð 1ð 1ð 1ð$ð $ð $ð $ð+ð +ð +ð +ð +ð +r   r   c                  ó–   — e Zd Zdd„Zedd„¦   «         Zdd„Zdd	„Zdd„Zdd„Z	edd„¦   «         Z
edd„¦   «         Zdd„Zdd„Zd d„ZdS )!ÚSpecifierRequirementÚireqr	   r   r   c                ó¢   — |j         �
J d¦   «         ‚|| _        d | _        d | _        t	          d„ | j        j        D ¦   «         ¦  «        | _        d S )NúThis is a link, not a specifierc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r   ©r   ©Ú.0Úes     r   ú	<genexpr>z0SpecifierRequirement.__init__.<locals>.<genexpr>:   ó+   è è € Ð QÐ Q¸!Õ!2°1Ñ!5Ô!5Ð QÐ QÐ QÐ QÐ QÐ Qr   )ÚlinkÚ_ireqÚ_equal_cacheÚ_hashÚ	frozensetÚextrasÚ_extras©r   rH   s     r   r   zSpecifierRequirement.__init__5   sV   € ØŒyÐ Ð Ð"CÑ Ô Ð ØˆŒ
Ø(,ˆÔØ!%ˆŒ
Ý Ð QÐ Q¸t¼zÔ?PÐ QÑ QÔ QÑQÔQˆŒˆˆr   r   c                ó^   — | j         �| j         S t          | j        ¦  «        | _         | j         S r   ©rT   r   rS   r   s    r   Ú_equalzSpecifierRequirement._equal<   ó-   € àÔÐ(ØÔ$Ð$å ¤
™OœOˆÔØÔ Ð r   c                ó4   — t          | j        j        ¦  «        S r   )r   rS   Úreqr   s    r   r   zSpecifierRequirement.__str__D   s   € Ý�4”:”>Ñ"Ô"Ð"r   c                óT   — | j         j        › dt          | j        j        ¦  «        ›d�S r!   )r$   r%   r   rS   r_   r   s    r   r&   zSpecifierRequirement.__repr__G   s*   € Ø”.Ô)ÐDÐD­C°´
´Ñ,?Ô,?ÐDÐDÐDÐDr   r+   Úobjectr,   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r   )r/   rG   ÚNotImplementedr\   r0   s     r   r1   zSpecifierRequirement.__eq__J   s*   € Ý˜%Õ!5Ñ6Ô6ð 	"Ý!Ð!ØŒ{˜eœlÒ*Ð*r   r'   c                ó^   — | j         �| j         S t          | j        ¦  «        | _         | j         S r   ©rU   r)   r\   r   s    r   r*   zSpecifierRequirement.__hash__O   ó+   € ØŒ:Ð!Ø”:Ðå˜$œ+Ñ&Ô&ˆŒ
ØŒzÐr   r   c                ój   — | j         j        s
J d¦   «         ‚t          | j         j        j        ¦  «        S )Nú'Specifier-backed ireq is always PEP 508)rS   r_   r   r5   r   s    r   r3   z!SpecifierRequirement.project_nameV   s/   € àŒzŒ~ÐHÐHÐHÑHÔHˆ~Ý  ¤¤Ô!4Ñ5Ô5Ð5r   c                ó6   — t          | j        | j        ¦  «        S r   )r   r3   rX   r   s    r   r5   zSpecifierRequirement.name[   s   € å˜4Ô,¨d¬lÑ;Ô;Ð;r   c                ó  — d„ t          | ¦  «                             d¦  «        D ¦   «         }t          |¦  «        dk    rdS t          |¦  «        dk    r|d         S d                     |d d…         ¦  «        dz   |d         z   S )	Nc                ó6   — g | ]}|                      ¦   «         ‘ŒS rE   )Ústrip)rN   Úss     r   ú
<listcomp>z9SpecifierRequirement.format_for_error.<locals>.<listcomp>d   s    € Ð9Ð9Ð9˜q�—’‘”Ð9Ð9Ð9r   ú,r   Ú r
   z, éÿÿÿÿz and )r   ÚsplitÚlenÚjoin)r   Úpartss     r   r7   z%SpecifierRequirement.format_for_error_   s}   € ð
 :Ð9¥C¨¡I¤I§O¢O°CÑ$8Ô$8Ð9Ñ9Ô9ˆÝˆu‰:Œ:˜Š?ˆ?Ø�2Ý�‰ZŒZ˜1Š_ˆ_Ø˜”8ˆOà�yŠy˜˜s ˜sœÑ$Ô$ wÑ.°°r´Ñ:Ð:r   r   c                ó   — d | j         fS r   )rS   r   s    r   r9   z)SpecifierRequirement.get_candidate_lookupl   s   € Ø�T”ZÐÐr   r   r   c                óÜ   — |j         | j         k    sJ d|j         › d| j         › �¦   «         ‚| j        j        s
J d¦   «         ‚| j        j        j        }|                     |j        d¬¦  «        S )Nz6Internal issue: Candidate is not for this requirement z vs rh   T©Úprereleases)r5   rS   r_   Ú	specifierÚcontainsÚversion)r   r   Úspecs      r   r;   z$SpecifierRequirement.is_satisfied_byo   s�   € ØŒ~ ¤Ò*Ð*Ð*ð/ØŒ~ð/ð /Ø#'¤9ð/ð /ñ +Ô*Ð*ð ŒzŒ~ÐHÐHÐHÑHÔHˆ~ØŒzŒ~Ô'ˆØ�}Š}˜YÔ.¸Dˆ}ÑAÔAÐAr   N©rH   r	   r   r   r<   ©r+   ra   r   r,   r=   r?   r@   rA   )r%   rB   rC   r   rD   r\   r   r&   r1   r*   r3   r5   r7   r9   r;   rE   r   r   rG   rG   4   s"  € € € € € ðRð Rð Rð Rð ð!ð !ð !ñ „Xð!ð#ð #ð #ð #ðEð Eð Eð Eð+ð +ð +ð +ð
ð ð ð ð ð6ð 6ð 6ñ „Xð6ð ð<ð <ð <ñ „Xð<ð;ð ;ð ;ð ;ð ð  ð  ð  ð
Bð 
Bð 
Bð 
Bð 
Bð 
Br   rG   c                  óB   — e Zd ZdZdd„Zedd„¦   «         Zdd„Zdd„ZdS )Ú!SpecifierWithoutExtrasRequirementz‰
    Requirement backed by an install requirement on a base package.
    Trims extras from its install requirement if there are any.
    rH   r	   r   r   c                ó¼   — |j         �
J d¦   «         ‚t          |¦  «        | _        d | _        d | _        t          d„ | j        j        D ¦   «         ¦  «        | _        d S )NrJ   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r   rL   rM   s     r   rP   z=SpecifierWithoutExtrasRequirement.__init__.<locals>.<genexpr>‡   rQ   r   )rR   r   rS   rT   rU   rV   rW   rX   rY   s     r   r   z*SpecifierWithoutExtrasRequirement.__init__‚   s^   € ØŒyÐ Ð Ð"CÑ Ô Ð Ý,¨TÑ2Ô2ˆŒ
Ø(,ˆÔØ!%ˆŒ
Ý Ð QÐ Q¸t¼zÔ?PÐ QÑ QÔ QÑQÔQˆŒˆˆr   r   c                ó^   — | j         �| j         S t          | j        ¦  «        | _         | j         S r   r[   r   s    r   r\   z(SpecifierWithoutExtrasRequirement._equal‰   r]   r   r+   ra   r,   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r   )r/   r�   rc   r\   r0   s     r   r1   z(SpecifierWithoutExtrasRequirement.__eq__‘   s*   € Ý˜%Õ!BÑCÔCð 	"Ý!Ð!ØŒ{˜eœlÒ*Ð*r   r'   c                ó^   — | j         �| j         S t          | j        ¦  «        | _         | j         S r   re   r   s    r   r*   z*SpecifierWithoutExtrasRequirement.__hash__–   rf   r   Nr~   r<   r   r=   )	r%   rB   rC   Ú__doc__r   rD   r\   r1   r*   rE   r   r   r�   r�   |   s~   € € € € € ðð ð
Rð Rð Rð Rð ð!ð !ð !ñ „Xð!ð+ð +ð +ð +ð
ð ð ð ð ð r   r�   c                  ó‚   — e Zd ZdZdd„Zdd
„Zdd„Zdd„Zdd„Ze	dd„¦   «         Z
e	dd„¦   «         Zdd„Zd d„Zd!d„ZdS )"ÚRequiresPythonRequirementz4A requirement representing Requires-Python metadata.rz   r   Úmatchr   r   r   c                ó´   — || _         t          |¦  «        | _        d | _        || _        |                     |j        d¬¦  «        r|d f| _        d S d| _        d S )NTrx   ©NN)rz   r   Ú_specifier_stringrU   Ú
_candidater{   r|   Ú_candidate_lookup)r   rz   rŠ   s      r   r   z"RequiresPythonRequirement.__init__¡   sd   € Ø"ˆŒÝ!$ Y¡¤ˆÔØ!%ˆŒ
ØˆŒð ×Ò˜eœm¸ÐÑ>Ô>ð 	2Ø7<¸d°mˆDÔ"Ð"Ð"à%1ˆDÔ"Ð"Ð"r   r   c                ó   — d| j         › �S )NzPython )rz   r   s    r   r   z!RequiresPythonRequirement.__str__­   s   € Ø)˜œÐ)Ð)Ð)r   c                óJ   — | j         j        › dt          | j        ¦  «        ›d�S r!   )r$   r%   r   rz   r   s    r   r&   z"RequiresPythonRequirement.__repr__°   s(   € Ø”.Ô)ÐDÐD­C°´Ñ,?Ô,?ÐDÐDÐDÐDr   r'   c                ól   — | j         �| j         S t          | j        | j        f¦  «        | _         | j         S r   )rU   r)   r�   rŽ   r   s    r   r*   z"RequiresPythonRequirement.__hash__³   s3   € ØŒ:Ð!Ø”:Ðå˜4Ô1°4´?ÐCÑDÔDˆŒ
ØŒzÐr   r+   r   r,   c                óp   — t          |t          ¦  «        sdS | j        |j        k    o| j        |j        k    S r.   )r/   r‰   r�   rŽ   r0   s     r   r1   z RequiresPythonRequirement.__eq__º   s?   € Ý˜%Õ!:Ñ;Ô;ð 	Ø�5àÔ" eÔ&=Ò=ð 4Ø” 5Ô#3Ò3ð	
r   r   c                ó   — | j         j        S r   )rŽ   r3   r   s    r   r3   z&RequiresPythonRequirement.project_nameÂ   s   € àŒÔ+Ð+r   c                ó   — | j         j        S r   )rŽ   r5   r   s    r   r5   zRequiresPythonRequirement.nameÆ   s   € àŒÔ#Ð#r   c                ó    — t          | ¦  «        S r   ©r   r   s    r   r7   z*RequiresPythonRequirement.format_for_errorÊ   ó   € Ý�4‰yŒyÐr   r   c                ó   — | j         S r   )r�   r   s    r   r9   z.RequiresPythonRequirement.get_candidate_lookupÍ   s   € ØÔ%Ð%r   r   c                ó‚   — |j         | j        j         k    s
J d¦   «         ‚| j                             |j        d¬¦  «        S )NzNot Python candidateTrx   )r5   rŽ   rz   r{   r|   r   s     r   r;   z)RequiresPythonRequirement.is_satisfied_byÐ   sC   € ØŒ~ ¤Ô!5Ò5Ð5Ð5Ð7MÑ5Ô5Ð5ð Œ~×&Ò& yÔ'8ÀdÐ&ÑKÔKÐKr   N)rz   r   rŠ   r   r   r   r<   r=   r>   r?   r@   rA   )r%   rB   rC   r‡   r   r   r&   r*   r1   rD   r3   r5   r7   r9   r;   rE   r   r   r‰   r‰   ž   s  € € € € € Ø>Ð>ð
2ð 
2ð 
2ð 
2ð*ð *ð *ð *ðEð Eð Eð Eðð ð ð ð
ð 
ð 
ð 
ð ð,ð ,ð ,ñ „Xð,ð ð$ð $ð $ñ „Xð$ðð ð ð ð&ð &ð &ð &ðLð Lð Lð Lð Lð Lr   r‰   c                  ó‚   — e Zd ZdZdd„Zdd„Zdd	„Zdd„Zdd„Ze	dd„¦   «         Z
e	dd„¦   «         Zdd„Zdd„Zdd„ZdS ) ÚUnsatisfiableRequirementz'A requirement that cannot be satisfied.r5   r   r   r   c                ó   — || _         d S r   ©Ú_name)r   r5   s     r   r   z!UnsatisfiableRequirement.__init__Û   s   € ØˆŒ
ˆ
ˆ
r   r   c                ó   — | j         › d�S )Nz (unavailable)rž   r   s    r   r   z UnsatisfiableRequirement.__str__Þ   s   € Ø”*Ð,Ð,Ð,Ð,r   c                óJ   — | j         j        › dt          | j        ¦  «        ›d�S r!   )r$   r%   r   rŸ   r   s    r   r&   z!UnsatisfiableRequirement.__repr__á   s&   € Ø”.Ô)Ð@Ð@­C°´
©O¬OÐ@Ð@Ð@Ð@r   r+   ra   r,   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r   )r/   rœ   rc   rŸ   r0   s     r   r1   zUnsatisfiableRequirement.__eq__ä   s*   € Ý˜%Õ!9Ñ:Ô:ð 	"Ý!Ð!ØŒz˜Uœ[Ò(Ð(r   r'   c                ó*   — t          | j        ¦  «        S r   )r)   rŸ   r   s    r   r*   z!UnsatisfiableRequirement.__hash__é   s   € Ý�D”JÑÔÐr   c                ó   — | j         S r   rž   r   s    r   r3   z%UnsatisfiableRequirement.project_nameì   ó
   € àŒzÐr   c                ó   — | j         S r   rž   r   s    r   r5   zUnsatisfiableRequirement.nameð   r¥   r   c                ó    — t          | ¦  «        S r   r—   r   s    r   r7   z)UnsatisfiableRequirement.format_for_errorô   r˜   r   r   c                ó   — dS )NrŒ   rE   r   s    r   r9   z-UnsatisfiableRequirement.get_candidate_lookup÷   s   € Øˆzr   r   r   c                ó   — dS r.   rE   r   s     r   r;   z(UnsatisfiableRequirement.is_satisfied_byú   s   € Øˆur   N)r5   r   r   r   r<   r   r=   r?   r@   rA   )r%   rB   rC   r‡   r   r   r&   r1   r*   rD   r3   r5   r7   r9   r;   rE   r   r   rœ   rœ   Ø   sþ   € € € € € Ø1Ð1ðð ð ð ð-ð -ð -ð -ðAð Að Að Að)ð )ð )ð )ð
 ð  ð  ð  ð ðð ð ñ „Xðð ðð ð ñ „Xððð ð ð ðð ð ð ðð ð ð ð ð r   rœ   N)Ú
__future__r   Útypingr   Ú pip._vendor.packaging.specifiersr   Úpip._vendor.packaging.utilsr   r   Úpip._internal.req.constructorsr   Úpip._internal.req.req_installr	   Úbaser   r   r   r   r   rG   r�   r‰   rœ   rE   r   r   ú<module>r±      s”  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ Ià BÐ BÐ BÐ BÐ BÐ BØ <Ð <Ð <Ð <Ð <Ð <à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fð#+ð #+ð #+ð #+ð #+˜+ñ #+ô #+ð #+ðLEBð EBð EBð EBð EB˜;ñ EBô EBð EBðPð ð ð ð Ð(<ñ ô ð ðD7Lð 7Lð 7Lð 7Lð 7L ñ 7Lô 7Lð 7Lðt#ð #ð #ð #ð #˜{ñ #ô #ð #ð #ð #r   