HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc
�

�mi���0�ddlmZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZmZdd	lmZdd
lmZeedeefZd d�Zed���Gd�d����ZGd�d��Zd!d�ZGd�d��ZdS)"�)�annotations)�Iterable)�	dataclass)�Optional)�SpecifierSet)�NormalizedName)�Version)�Link�links_equivalent)�InstallRequirement)�Hashes�	Candidate�projectr�extras�frozenset[NormalizedName]�return�strc�^�|s|Sd�t|����}|�d|�d�S)N�,�[�])�join�sorted)rr�extras_exprs   �JD:\Python311\Lib\site-packages\pip/_internal/resolution/resolvelib/base.py�format_namers=�������(�(�6�&�>�>�*�*�K��&�&��&�&�&�&�T)�frozenc�v�eZdZUded<ded<ded<edd���Zedd���Zdd
�Zdd�Zdd�Z	dS)�
Constraintr�	specifierr
�hasheszfrozenset[Link]�linksrc�l�tt��t��t����S�N)r rr
�	frozenset)�clss r�emptyzConstraint.emptys ���,�.�.�&�(�(�I�K�K�@�@�@r�ireqrc��|jrt|jg��n
t��}t|j|�d���|��S�NF)�trust_internet)�linkr&r r!r")r'r)r#s   r�	from_ireqzConstraint.from_ireq#sE��*.�)�D�	�4�9�+�&�&�&������$�.�$�+�+�U�+�*K�*K�U�S�S�Sr�boolc�z�t|j��p't|j��pt|j��Sr%)r/r!r"r#��selfs r�__bool__zConstraint.__bool__(s0���D�N�#�#�L�t�D�K�'8�'8�L�D���<L�<L�Lr�otherc��t|t��stS|j|jz}|j|�d���z}|j}|jr|�|jg��}t|||��Sr+)	�
isinstancer�NotImplementedr!r"r#r-�unionr )r2r4r!r"r#s     r�__and__zConstraint.__and__+s{���%�!3�4�4�	"�!�!��N�U�_�4�	���u�|�|�5�|�A�A�A���
���:�	.��K�K����-�-�E��)�V�U�3�3�3r�	candidaterc���|jr"t�fd�|jD����sdS|j��jd���S)Nc3�8�K�|]}t|���V��dSr%)�_match_link)�.0r-r:s  �r�	<genexpr>z-Constraint.is_satisfied_by.<locals>.<genexpr>7s-�����!V�!V�4�+�d�I�">�">�!V�!V�!V�!V�!V�!VrFT)�prereleases)r#�allr!�contains�version�r2r:s `r�is_satisfied_byzConstraint.is_satisfied_by5sX����:�	�c�!V�!V�!V�!V�4�:�!V�!V�!V�V�V�	��5��~�&�&�y�'8�d�&�K�K�KrN)rr )r)rrr �rr/)r4rrr �r:rrr/)
�__name__�
__module__�__qualname__�__annotations__�classmethodr(r.r3r9rE�rrr r s�������������N�N�N������A�A�A��[�A��T�T�T��[�T�M�M�M�M�4�4�4�4�L�L�L�L�L�Lrr c�V�eZdZedd���Zedd���Zdd	�Zdd�Zdd�Zd
S)�Requirementrrc� �td���)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��NotImplementedErrorr1s r�project_namezRequirement.project_name@s��"�"<�=�=�=rrc� �td���)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.
        rQrRr1s r�namezRequirement.nameJs��"�"<�=�=�=rr:rr/c��dS�NFrMrDs  rrEzRequirement.is_satisfied_bySs���ur�CandidateLookupc� �td����NrQrRr1s r�get_candidate_lookupz Requirement.get_candidate_lookupV���!�"<�=�=�=rc� �td���r[rRr1s r�format_for_errorzRequirement.format_for_errorYr]rN�rr�rrrG)rrY)	rHrIrJ�propertyrTrVrEr\r_rMrrrOrO?s�������
�>�>�>��X�>��>�>�>��X�>�����>�>�>�>�>�>�>�>�>�>rrOr-r
r:r/c�>�|jrt||j��SdSrX)�source_linkr)r-r:s  rr=r=]s%����=���i�&;�<�<�<��5rc��eZdZedd���Zedd���Zedd���Zedd	���Zedd
���Zedd���Z	dd�Z
dd�Zdd�ZdS)rrrc� �td���)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 subclassrRr1s rrTzCandidate.project_nameds��"�"8�9�9�9rrc� �td���)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.
        rgrRr1s rrVzCandidate.namens��"�"8�9�9�9rr	c� �td����NrgrRr1s rrCzCandidate.versionw���!�"8�9�9�9rr/c� �td���rjrRr1s r�is_installedzCandidate.is_installed{rkrc� �td���rjrRr1s r�is_editablezCandidate.is_editablerkr�Link | Nonec� �td���rjrRr1s rrdzCandidate.source_link�rkr�
with_requires�Iterable[Requirement | None]c� �td���rjrR)r2rrs  r�iter_dependencieszCandidate.iter_dependencies����!�"8�9�9�9r�InstallRequirement | Nonec� �td���rjrRr1s r�get_install_requirementz!Candidate.get_install_requirement�rvrc� �td���r[rRr1s rr_zCandidate.format_for_error�r]rNr`ra)rr	rF)rrp)rrr/rrs)rrw)
rHrIrJrbrTrVrCrmrordruryr_rMrrrrcs������
�:�:�:��X�:��:�:�:��X�:��:�:�:��X�:��:�:�:��X�:��:�:�:��X�:��:�:�:��X�:�:�:�:�:�:�:�:�:�>�>�>�>�>�>rN)rrrrrr)r-r
r:rrr/)�
__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
�tuplerYrr rOr=rrMrr�<module>r�s���"�"�"�"�"�"�$�$�$�$�$�$�!�!�!�!�!�!�������9�9�9�9�9�9�6�6�6�6�6�6�1�1�1�1�1�1�<�<�<�<�<�<�<�<�<�<�<�<�<�<�-�-�-�-�-�-����-�x�8J�/K�K�L��'�'�'�'���$����"L�"L�"L�"L�"L�"L�"L���"L�J>�>�>�>�>�>�>�>�<����+>�+>�+>�+>�+>�+>�+>�+>�+>�+>r