Ë
    Êmxi·  ã                  óþ   — d dl mZ d dlmZ d dlmZ d dlmZ 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 eed   ee   f   Zdd„Z ed¬«       G d„ d«      «       Z G d„ d«      Zdd„Z G d„ d«      Zy)é    )Úannotations)ÚIterable)Ú	dataclass)ÚOptional)ÚSpecifierSet)ÚNormalizedName)ÚVersion)ÚLinkÚlinks_equivalent)ÚInstallRequirement)ÚHashesÚ	Candidatec                óN   — |s| S dj                  t        |«      «      }| › d|› d�S )Nú,ú[ú])ÚjoinÚsorted)ÚprojectÚextrasÚextras_exprs      ú_/home/htdocs/ttos/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.pyÚformat_namer      s/   € ÙØˆØ—(‘(œ6 &›>Ó*€KØˆY�a˜�} AÐ&Ð&ó    T)Úfrozenc                  óh   — e Zd ZU ded<   ded<   ded<   edd„«       Zedd„«       Zdd	„Zdd
„Zdd„Z	y)Ú
Constraintr   Ú	specifierr   Úhasheszfrozenset[Link]Úlinksc                óL   — t        t        «       t        «       t        «       «      S ©N)r   r   r   Ú	frozenset)Úclss    r   ÚemptyzConstraint.empty   s   € äœ,›.¬&«(´I³KÓ@Ð@r   c                ó¨   — |j                   rt        |j                   g«      n	t        «       }t        |j                  |j	                  d¬«      |«      S ©NF)Útrust_internet)Úlinkr#   r   r   r   )r$   Úireqr    s      r   Ú	from_ireqzConstraint.from_ireq#   s:   € à*.¯)ª)”	˜4Ÿ9™9˜+Ô&¼»ˆÜ˜$Ÿ.™.¨$¯+©+ÀU¨+Ó*KÈUÓSÐSr   c                óˆ   — t        | j                  «      xs, t        | j                  «      xs t        | j                  «      S r"   )Úboolr   r   r    ©Úselfs    r   Ú__bool__zConstraint.__bool__(   s-   € Ü�D—N‘NÓ#ÒL¤t¨D¯K©KÓ'8ÒL¼DÀÇÁÓ<LÐLr   c                ó   — t        |t        «      st        S | j                  |j                  z  }| j                  |j	                  d¬«      z  }| j
                  }|j                  r|j                  |j                  g«      }t        |||«      S r'   )	Ú
isinstancer   ÚNotImplementedr   r   r    r)   Úunionr   )r/   Úotherr   r   r    s        r   Ú__and__zConstraint.__and__+   sq   € Ü˜%Ô!3Ô4Ü!Ð!Ø—N‘N U§_¡_Ñ4ˆ	Ø—‘˜uŸ|™|¸5˜|ÓAÑAˆØ—
‘
ˆØ�:Š:Ø—K‘K §¡ Ó-ˆEÜ˜) V¨UÓ3Ð3r   c                ó¨   ‡— | j                   rt        ˆfd„| j                   D «       «      sy| j                  j                  ‰j                  d¬«      S )Nc              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr"   )Ú_match_link)Ú.0r)   Ú	candidates     €r   ú	<genexpr>z-Constraint.is_satisfied_by.<locals>.<genexpr>7   s   øè ø€ Ò!VÀ4¤+¨d°I×">Ñ!Vùs   ƒFT)Úprereleases)r    Úallr   ÚcontainsÚversion©r/   r;   s    `r   Úis_satisfied_byzConstraint.is_satisfied_by5   s@   ø€ à�:Š:œcÓ!VÈ4Ï:É:Ô!VÔVØð �~‰~×&Ñ& y×'8Ñ'8ÀdÐ&ÓKÐKr   N)Úreturnr   )r*   r   rC   r   ©rC   r-   )r5   r   rC   r   ©r;   r   rC   r-   )
Ú__name__Ú
__module__Ú__qualname__Ú__annotations__Úclassmethodr%   r+   r0   r6   rB   © r   r   r   r      sN   … àÓØƒNØÓàòAó ðAð òTó ðTóMó4ôLr   r   c                  óH   — e Zd Zedd„«       Zedd„«       Zd	d„Zd
d„Zdd„Zy)ÚRequirementc                ó   — t        d«      ‚)zòThe "project name" of a requirement.

        This is different from ``name`` if this requirement contains extras,
        in which case ``name`` would contain the ``[...]`` part, while this
        refers to the name of the project.
        úSubclass should override©ÚNotImplementedErrorr.   s    r   Úproject_namezRequirement.project_name@   s   € ô "Ð"<Ó=Ð=r   c                ó   — t        d«      ‚)zÚThe name identifying this requirement in the resolver.

        This is different from ``project_name`` if this requirement contains
        extras, where ``project_name`` would not contain the ``[...]`` part.
        rO   rP   r.   s    r   ÚnamezRequirement.nameJ   s   € ô "Ð"<Ó=Ð=r   c                 ó   — y©NFrK   rA   s     r   rB   zRequirement.is_satisfied_byS   s   € Ør   c                ó   — t        d«      ‚©NrO   rP   r.   s    r   Úget_candidate_lookupz Requirement.get_candidate_lookupV   ó   € Ü!Ð"<Ó=Ð=r   c                ó   — t        d«      ‚rX   rP   r.   s    r   Úformat_for_errorzRequirement.format_for_errorY   rZ   r   N©rC   r   ©rC   ÚstrrE   )rC   ÚCandidateLookup)	rF   rG   rH   ÚpropertyrR   rT   rB   rY   r\   rK   r   r   rM   rM   ?   s7   „ Øò>ó ð>ð ò>ó ð>óó>ô>r   rM   c                óH   — |j                   rt        | |j                   «      S yrV   )Úsource_linkr   )r)   r;   s     r   r9   r9   ]   s!   € Ø×ÒÜ  i×&;Ñ&;Ó<Ð<Ør   c                  ó�   — e Zd Zedd„«       Zedd„«       Zedd„«       Zedd„«       Zedd„«       Zedd„«       Z	dd„Z
dd„Zdd	„Zy
)r   c                ó   — t        d«      ‚)zðThe "project name" of the candidate.

        This is different from ``name`` if this candidate contains extras,
        in which case ``name`` would contain the ``[...]`` part, while this
        refers to the name of the project.
        úOverride in subclassrP   r.   s    r   rR   zCandidate.project_named   s   € ô "Ð"8Ó9Ð9r   c                ó   — t        d«      ‚)zÖThe name identifying this candidate in the resolver.

        This is different from ``project_name`` if this candidate contains
        extras, where ``project_name`` would not contain the ``[...]`` part.
        rf   rP   r.   s    r   rT   zCandidate.namen   s   € ô "Ð"8Ó9Ð9r   c                ó   — t        d«      ‚©Nrf   rP   r.   s    r   r@   zCandidate.versionw   ó   € ä!Ð"8Ó9Ð9r   c                ó   — t        d«      ‚ri   rP   r.   s    r   Úis_installedzCandidate.is_installed{   rj   r   c                ó   — t        d«      ‚ri   rP   r.   s    r   Úis_editablezCandidate.is_editable   rj   r   c                ó   — t        d«      ‚ri   rP   r.   s    r   rc   zCandidate.source_linkƒ   rj   r   c                ó   — t        d«      ‚ri   rP   )r/   Úwith_requiress     r   Úiter_dependencieszCandidate.iter_dependencies‡   ó   € Ü!Ð"8Ó9Ð9r   c                ó   — t        d«      ‚ri   rP   r.   s    r   Úget_install_requirementz!Candidate.get_install_requirementŠ   rs   r   c                ó   — t        d«      ‚rX   rP   r.   s    r   r\   zCandidate.format_for_error�   rZ   r   Nr]   r^   )rC   r	   rD   )rC   zLink | None)rq   r-   rC   zIterable[Requirement | None])rC   zInstallRequirement | None)rF   rG   rH   ra   rR   rT   r@   rl   rn   rc   rr   ru   r\   rK   r   r   r   r   c   s‡   „ Øò:ó ð:ð ò:ó ð:ð ò:ó ð:ð ò:ó ð:ð ò:ó ð:ð ò:ó ð:ó:ó:ô>r   N)r   r   r   zfrozenset[NormalizedName]rC   r_   )r)   r
   r;   r   rC   r-   )Ú
__future__r   Úcollections.abcr   Údataclassesr   Útypingr   Ú pip._vendor.packaging.specifiersr   Úpip._vendor.packaging.utilsr   Úpip._vendor.packaging.versionr	   Úpip._internal.models.linkr
   r   Úpip._internal.req.req_installr   Úpip._internal.utils.hashesr   Útupler`   r   r   rM   r9   r   rK   r   r   ú<module>r‚      s}   ðÝ "å $Ý !Ý å 9Ý 6Ý 1ç <Ý <Ý -à˜ Ñ-¨xÐ8JÑ/KÐKÑL€ó'ñ �$Ô÷"Lð "Ló ð"L÷J>ñ >ó<÷+>ò +>r   