� ��^i�x� �n�ddlZddlZddlZddlZddlZddlmZmZmZm Z m Z m Z m Z m Z mZmZmZddlmZddlmZmZmZeeefZeeeefZede���ZeeegefZGd�d e��ZGd �d ej� ��Z Gd �de ��Z!Gd�de!��Z"dedeegefdedeegeffd�Z#Gd�de!��Z$ej%d��Z&dede efd�Z'dedefd�Z(de ede edee ee effd�Z)Gd�de ��Z*dS) �N) �Callable�Dict�Iterable�Iterator�List�Optional�Pattern�Set�Tuple�TypeVar�Union�)�canonicalize_version)� LegacyVersion�Version�parse�VersionTypeVar)�boundc��eZdZdZdS)�InvalidSpecifierzH An invalid specifier was found, users should refer to PEP 440. N)�__name__� __module__� __qualname__�__doc__����/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/packaging/specifiers.pyrr!s���������rrc ��eZdZejdefd���Zejdefd���Zejde de fd���Z ejde de fd���Z ej dee fd���Zejde dd fd ���Zejdd ed ee de fd ���Zej ddeed ee deefd���Zd S)� BaseSpecifier�returnc��dS)z� Returns the str representation of this Specifier like object. This should be representative of the Specifier itself. Nr��selfs r�__str__zBaseSpecifier.__str__(����rc��dS)zF Returns a hash value for this Specifier like object. Nrr"s r�__hash__zBaseSpecifier.__hash__/r%r�otherc��dS)zq Returns a boolean representing whether or not the two Specifier like objects are equal. Nr�r#r(s r�__eq__zBaseSpecifier.__eq__5r%rc��dS)zu Returns a boolean representing whether or not the two Specifier like objects are not equal. Nrr*s r�__ne__zBaseSpecifier.__ne__<r%rc��dS)zg Returns whether or not pre-releases as a whole are allowed by this specifier. Nrr"s r� prereleaseszBaseSpecifier.prereleasesCr%r�valueNc��dS)zd Sets whether or not pre-releases as a whole are allowed by this specifier. Nr�r#r0s rr/zBaseSpecifier.prereleasesJr%r�itemr/c��dS)zR Determines if the given item is contained within this specifier. Nr�r#r3r/s r�containszBaseSpecifier.containsQr%r�iterablec��dS)z� Takes an iterable of items and filters them so that only items which are contained within this specifier are allowed in it. Nr)r#r7r/s r�filterzBaseSpecifier.filterWr%r�N)rrr�abc�abstractmethod�strr$�intr'�object�boolr+r-�abstractpropertyrr/�setterr6rrr9rrrrr's��������� �� � � ��� �  �� �#� � � ��� �  �� �F� �t� � � ��� �  �� �F� �t� � � ��� �  �� �X�d�^� � � ��� � �� �� �$� � � ��� �  �� � �S� �x��~� �� � � ��� �  ��PT� � � ��0� �?G��~� � �.� !� � � ��� � � rr)� metaclassc���eZdZUiZeeefed<eeed<ddedee ddfd�Z defd �Z defd �Z e deeeffd ���Zdefd �Zd ede fd�Zd ede fd�Zdedefd�Zdedefd�Ze defd���Ze defd���Ze dee fd���Zejde ddfd���Zdede fd�Z ddedee de fd�Z dde e!dee de e!fd�Z"dS) �_IndividualSpecifier� _operators�_regex�N�specr/r c��|j�|��}|std|�d����|�d�����|�d�����f|_||_dS)NzInvalid specifier: '�'�operator�version)rG�searchr�group�strip�_spec� _prereleases)r#rIr/�matchs r�__init__z_IndividualSpecifier.__init__fs���� �"�"�4�(�(��� C�"�#A�$�#A�#A�#A�B�B� B� �K�K� � #� #� )� )� +� +� �K�K� � "� "� (� (� *� *�' �� � (����rc��|j� d|j��nd}d�|jjt |��|��S)N�, prereleases=rHz <{}({!r}{})>)rRr/�format� __class__rr=�r#�pres r�__repr__z_IndividualSpecifier.__repr__ssM��� �,� 2�T�-� 1� 1� 1�� � �$�$�T�^�%<�c�$�i�i��M�M�Mrc� �dj|j�S)Nz{}{})rWrQr"s rr$z_IndividualSpecifier.__str__|s���v�}�d�j�)�)rc�P�|jdt|jd��fS)Nrr)rQrr"s r�_canonical_specz$_IndividualSpecifier._canonical_specs"���z�!�}�2�4�:�a�=�A�A�A�Arc�*�t|j��Sr:)�hashr^r"s rr'z_IndividualSpecifier.__hash__�s���D�(�)�)�)rr(c���t|t��r; |�t|����}n3#t$r tcYSwxYwt||j��stS|j|jkSr:)� isinstancer=rXr�NotImplementedr^r*s rr+z_IndividualSpecifier.__eq__�s��� �e�S� !� !� "� &����s�5�z�z�2�2����#� &� &� &�%�%�%�%� &�����E�4�>�2�2� "�!� !��#�u�'<�<�<��":�A� Ac���t|t��r; |�t|����}n3#t$r tcYSwxYwt||j��stS|j|jkSr:)rbr=rXrrcrQr*s rr-z_IndividualSpecifier.__ne__�s��� �e�S� !� !� "� &����s�5�z�z�2�2����#� &� &� &�%�%�%�%� &�����E�4�>�2�2� "�!� !��z�U�[�(�(rd�opc�B�t|d|j|����}|S)N� _compare_)�getattrrF)r#rf�operator_callables r� _get_operatorz"_IndividualSpecifier._get_operator�s/��.5� �3�d�o�b�1�3�3�/ �/ ��!� rrMc�\�t|ttf��st|��}|Sr:)rbrrr�r#rMs r�_coerce_versionz$_IndividualSpecifier._coerce_version�s)���'�M�7�#;�<�<� %��G�n�n�G��rc��|jdS)Nr�rQr"s rrLz_IndividualSpecifier.operator�����z�!�}�rc��|jdS)Nrrpr"s rrMz_IndividualSpecifier.version�rqrc��|jSr:�rRr"s rr/z _IndividualSpecifier.prereleases�s ��� � rr0c��||_dSr:rtr2s rr/z _IndividualSpecifier.prereleases����!����rr3c�,�|�|��Sr:�r6�r#r3s r� __contains__z!_IndividualSpecifier.__contains__�����}�}�T�"�"�"rc��|�|j}|�|��}|jr|sdS|�|j��}|||j��S�NF)r/rn� is_prereleaserkrLrM)r#r3r/�normalized_itemrjs rr6z_IndividualSpecifier.contains�sm�� � ��*�K��.�.�t�4�4�� � (� �� ��5�/3�.@�.@���.O�.O�� � ��$�,�?�?�?rr7c#��K�d}g}d|�|ndi}|D]Q}|�|��}|j|fi|��r,|jr|s|js|�|���Kd}|V��R|s |r |D] }|V��dSdSdS)NFr/T)rnr6r~r/�append)r#r7r/�yielded�found_prereleases�kwrM�parsed_versions rr9z_IndividualSpecifier.filter�s����������K�,C�[�[�� N�� � "� "�G�!�1�1�'�:�:�N��t�}�^�2�2�r�2�2� "�"�/�"��"�#'�#3�"�&�,�,�W�5�5�5�5�#�G�!�M�M�M�� � �,� �,� � ��� � � � � � � � � � r�rHNr:)#rrrrFrr=�__annotations__r rr@rTr[r$�propertyr r^r>r'r?r+r-�CallableOperatorrk�UnparsedVersion� ParsedVersionrnrLrMr/rBrzr6rrr9rrrrErEas��������!#�J��S�#�X��#�#�#� �C�L���� (� (�S� (�H�T�N� (�d� (� (� (� (�N�#�N�N�N�N�*��*�*�*�*��B��s�C�x��B�B�B��X�B�*�#�*�*�*�*� =�F� =�t� =� =� =� =� )�F� )�t� )� )� )� )�!��!�(8�!�!�!�!� ���=����� ��#�����X���������X���!�X�d�^�!�!�!��X�!���"��"�$�"�"�"���"�#��#��#�#�#�#�DH�@�@�#�@�2:�4�.�@� �@�@�@�@�0QU�!�!� ��0�!�?G��~�!� �.� !�!�!�!�!�!�!rrEc� ��eZdZdZejdezdzejejz��Zdddddd d �Z dd e de e dd f�fd� Z dedefd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Z�xZS)�LegacySpecifiera� (?P(==|!=|<=|>=|<|>)) \s* (?P [^,;\s)]* # Since this is a "legacy" specifier, and the version # string can be just about anything, we match everything # except for whitespace, a semi-colon for marker support, # a closing paren since versions can be enclosed in # them, and a comma since it's a version separator. ) �^\s*�\s*$�equal� not_equal�less_than_equal�greater_than_equal� less_than� greater_than)�==�!=�<=�>=�<�>rHNrIr/r c���t���||��tjdt��dS)NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)�superrT�warnings�warn�DeprecationWarning)r#rIr/rXs �rrTzLegacySpecifier.__init__sC��� ������{�+�+�+�� � 0� � � � � � rrMc�h�t|t��stt|����}|Sr:)rbrr=rms rrnzLegacySpecifier._coerce_versions,���'�=�1�1� 2�#�C��L�L�1�1�G��r� prospectivec�4�||�|��kSr:�rn�r#r�rIs r�_compare_equalzLegacySpecifier._compare_equal����d�2�2�4�8�8�8�8rc�4�||�|��kSr:r�r�s r�_compare_not_equalz"LegacySpecifier._compare_not_equalr�rc�4�||�|��kSr:r�r�s r�_compare_less_than_equalz(LegacySpecifier._compare_less_than_equal"r�rc�4�||�|��kSr:r�r�s r�_compare_greater_than_equalz+LegacySpecifier._compare_greater_than_equal%s���d�2�2�4�8�8�8�8rc�4�||�|��kSr:r�r�s r�_compare_less_thanz"LegacySpecifier._compare_less_than*����T�1�1�$�7�7�7�7rc�4�||�|��kSr:r�r�s r�_compare_greater_thanz%LegacySpecifier._compare_greater_than-r�rr�)rrr� _regex_str�re�compile�VERBOSE� IGNORECASErGrFr=rr@rTr�rrnr�r�r�r�r�r�� __classcell__)rXs@rr�r��s��������  �J��R�Z��*�,�w�6�� �R�]�8R� S� S�F����"� � � ��J� � �S� �H�T�N� �d� � � � � � ����=����� 9�-�9�s�9�t�9�9�9�9�9�m�9�3�9�4�9�9�9�9�9�M�9��9�QU�9�9�9�9�9�(�9�03�9� �9�9�9�9� 8�m�8�3�8�4�8�8�8�8�8��8�c�8�d�8�8�8�8�8�8�8�8rr��fn� Specifierr c �v��tj���dddtdtdtf�fd� ��}|S)Nr#r�r�rIr c�L��t|t��sdS�|||��Sr})rbr)r#r�rIr�s �r�wrappedz)_require_version_compare..wrapped4s.����+�w�/�/� ��5��r�$� �T�*�*�*r)� functools�wrapsr�r=r@)r�r�s` r�_require_version_comparer�1s[����_�R���+�k�+� �+�S�+�T�+�+�+�+�+���+� �Nrc ���eZdZdZejdezdzejejz��Zdddddd d d d �Z e d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Zd ede de fd�Zede fd���Zejde ddfd���ZdS)r�a (?P(~=|==|!=|<=|>=|<|>|===)) (?P (?: # The identity operators allow for an escape hatch that will # do an exact string match of the version you wish to install. # This will not be parsed by PEP 440 and we cannot determine # any semantic meaning from it. This operator is discouraged # but included entirely as an escape hatch. (?<====) # Only match for the identity operator \s* [^\s]* # We just match everything, except for whitespace # since we are only testing for strict identity. ) | (?: # The (non)equality operators allow for wild card and local # versions to be specified so we have to define these two # operators separately to enable that. (?<===|!=) # Only match for equals and not equals \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)* # release (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? # You cannot use a wild card and a dev or local version # together so group them with a | and make them optional. (?: (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local | \.\* # Wild card syntax of .* )? ) | (?: # The compatible operator requires at least two digits in the # release segment. (?<=~=) # Only match for the compatible operator \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release ) | (?: # All other operators only allow a sub set of what the # (non)equality operators do. Specifically they do not allow # local versions to be specified nor do they allow the prefix # matching wild cards. (?=�g�=�S�=�T�=�=�=�=���T�����X��0��"��"�$�"�"�"���"�"�"rz^([0-9]+)((?:a|b|c|rc)[0-9]+)$rMc���g}|�d��D][}t�|��}|r(|�|������F|�|���\|S)Nr�)�split� _prefix_regexrN�extend�groupsr�)rM�resultr3rSs rr�r�[st���F�� � �c�"�"� � ���$�$�T�*�*�� � � �M�M�%�,�,�.�.� )� )� )� )� �M�M�$� � � � � �Mr�segmentc�<��t�fd�dD���� S)Nc3�B�K�|]}��|��V��dSr:)� startswith)�.0r�r�s �r� z!_is_not_suffix..gsB�������'-����6�"�"������r)�dev�a�b�rc�post)�any)r�s`rr�r�fs@��������1P������ �r�left�rightc �R�gg}}|�ttjd�|������|�ttjd�|������|�|t |d��d���|�|t |d��d���|�ddgt dt |d��t |d��z ��z��|�ddgt dt |d��t |d��z ��z��ttj|���ttj|���fS)Nc�*�|���Sr:��isdigit��xs r�z_pad_version..ps�������rc�*�|���Sr:rrs rr z_pad_version..qs��!�)�)�+�+�rrr�0)r�r�r�r�r��insert�max�chain)rr� left_split� right_splits rr�r�lsr�� �"� �J����d�9�.�/D�/D�d�K�K�L�L�M�M�M����t�I�/�0E�0E�u�M�M�N�N�O�O�O����d�3�z�!�}�-�-�/�/�0�1�1�1����u�S��Q��0�0�2�2�3�4�4�4����a�#���Q��K��N�(;�(;�c�*�Q�-�>P�>P�(P�!Q�!Q�Q�R�R�R����q�3�%�#�a��Z��]�);�);�c�+�a�.�>Q�>Q�)Q�"R�"R�R�S�S�S� ���*�-� .� .��Y�_�k�5R�0S�0S� T�Trc�|�eZdZ ddedeeddfd�Zdefd�Zdefd�Zde fd �Z d e defddfd �Z d e defd �Zd e defd �Zde fd�Zdeefd�Zedeefd���Zejdeddfd���Zdedefd�Z ddedeedefd�Z ddeedeedeefd�ZdS)� SpecifierSetrHN� specifiersr/r c�J�d�|�d��D��}t��}|D]W} |�t|�����&#t$r%|�t |����Y�TwxYwt |��|_||_dS)Nc�^�g|]*}|����|�����+Sr)rP�r��ss r� z)SpecifierSet.__init__..�s-��R�R�R�!���� � �R�A�G�G�I�I�R�R�Rr�,) r��set�addr�rr�� frozenset�_specsrR)r#rr/�split_specifiers�parsed� specifiers rrTzSpecifierSet.__init__s��� S�R�z�/?�/?��/D�/D�R�R�R��-0�E�E��)� 7� 7�I� 7�� � �9�Y�/�/�0�0�0�0��#� 7� 7� 7�� � �?�9�5�5�6�6�6�6�6� 7���� ��'�'�� �(����s�"A�,B�Bc�n�|j� d|j��nd}d�t|��|��S)NrVrHz)rRr/rWr=rYs rr[zSpecifierSet.__repr__�sF��� �,� 2�T�-� 1� 1� 1�� � (�.�.�s�4�y�y�#�>�>�>rc�d�d�td�|jD������S)Nrc3�4K�|]}t|��V��dSr:)r=rs rr�z'SpecifierSet.__str__..�s(����;�;�!�s�1�v�v�;�;�;�;�;�;r)r��sortedrr"s rr$zSpecifierSet.__str__�s-���x�x��;�;�t�{�;�;�;�;�;�<�<�.�s$����6�6�Q�1�=�6�6�6�6�6�6r)rRrrr"s rr/zSpecifierSet.prereleases�sH�� � � (��$� $� �{� ��4��6�6�$�+�6�6�6�6�6�6rr0c��||_dSr:rtr2s rr/zSpecifierSet.prereleases�rvrr3c�,�|�|��Sr:rxrys rrzzSpecifierSet.__contains__�r{rc�����t�ttf��st������|j��s �jrdSt ��fd�|jD����S)NFc3�F�K�|]}|������V��dS)r5Nrx)r�rr3r/s ��rr�z(SpecifierSet.contains..s3�����R�R��1�:�:�d� �:�<�<�R�R�R�R�R�Rr)rbrrrr/r~�allrr5s ``rr6zSpecifierSet.contains�s{���� �$��� 8�9�9� ���;�;�D� � ��*�K�� �t�1� ��5� �R�R�R�R�R�d�k�R�R�R�R�R�Rrr7c��|�|j}|jr0|jD]&}|�|t|�����}�'|Sg}g}|D]|}t |t t f��st|��}n|}t |t ��r�F|jr|s|s|� |���g|� |���}|s|r|�|S|S)Nr5) r/rr9r@rbrrrr~r�)r#r7r/rI�filteredr�r3r�s rr9zSpecifierSet.filter s�� � ��*�K� �;�& �� � P� P���;�;�x�T�+�=N�=N�;�O�O����O� .0�H�68� � !� *� *��!�$���(@�A�A�*�%*�4�[�[�N�N�%)�N��n�m�<�<���"�/�*� �*�#�7�)�0�0��6�6�6���O�O�D�)�)�)�)�� )� 1� )�k�6I�(�(��Orr�r:)rrrr=rr@rTr[r$r>r'r r)r?r+r-r/rrEr2r�r/rBr�rzr6rrr9rrrrr~sR������BF�(�(��(�19�$��(� �(�(�(�(�0?�#�?�?�?�?�=��=�=�=�=�!�#�!�!�!�!��U�>�3�#6�7��N�����.+�F�+�t�+�+�+�+�+�F�+�t�+�+�+�+� �� � � � �!�(�#7�8�!�!�!�!��7�X�d�^�7�7�7��X�7�"��"��"�$�"�"�"���"�#��#�T�#�#�#�#�DH�S�S�#�S�2:�4�.�S� �S�S�S�S�<QU�3�3� ��0�3�?G��~�3� �.� !�3�3�3�3�3�3rr)+r;r�r�r�r��typingrrrrrrr r r r r �utilsrrMrrrr�r=r�rr@r�r(r�ABCMetarrEr�r�r�r�r�r�r�r�rrrr�r@sQ��  � � � ��������� � � � ����� � � � � � � � � � � � � � � � � � � � � � � � � � �(�'�'�'�'�'�2�2�2�2�2�2�2�2�2�2��g�}�,�-� �����3�4����)��A�A�A���]�C�0�$�6�7�������z���� 7 �7 �7 �7 �7 �c�k�7 �7 �7 �7 �tQ�Q�Q�Q�Q�=�Q�Q�Q�h98�98�98�98�98�*�98�98�98�x ��+�}�c�2�D�8�9� � �{�M�3�/��5�6� � � � �X"�X"�X"�X"�X"�$�X"�X"�X"�v�� �<�=�=� ��C��D��I������C��D����� U�t�C�y�U��c��U�u�T�#�Y��S� �=Q�7R�U�U�U�U�$~�~�~�~�~�=�~�~�~�~�~r