Current File : //lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc
a

[��f�8�	@sPddlZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZmZgd�ZeeefZeee
eeffZeeeefZeee
eee
eefe
eeffdffZe
ee
edfeeeefZe
ee
edffZeeeefeeefgefZe�dgd��Zeed	d
�dd�ZGd
d�de�Z Gdd�d�Z!Gdd�de!�Z"e�#dej$�Z%dddddd�Z&eeed�dd�Z'eed
�dd�Z(dZ)Gdd�de!�Z*eeee+e	fee
eefd �d!d"�Z,e�#d#�Z-eeed$�d%d&�Z.ee
edfee
eefee
eefee
eefee
eed'�d(d)�Z/dS)*�N)�Callable�Iterator�List�Optional�SupportsInt�Tuple�Union�)�Infinity�InfinityType�NegativeInfinity�NegativeInfinityType)�parse�Version�
LegacyVersion�InvalidVersion�VERSION_PATTERN.�_Version)�epoch�release�dev�pre�post�local)rr��version�returncCs*z
t|�WSty$t|�YS0dS)z�
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N)rrr)r�r�A/usr/lib/python3.9/site-packages/pip/_vendor/packaging/version.pyr*s
rc@seZdZdZdS)rzF
    An invalid version was found, users should refer to PEP 440.
    N)�__name__�
__module__�__qualname__�__doc__rrrrr6src@s�eZdZUeeefed<ed�dd�Zde	d�dd�Z
de	d�dd	�Zee	d�d
d�Z
de	d�dd
�Zde	d�dd�Zee	d�dd�ZdS)�_BaseVersion�_key�rcCs
t|j�S�N)�hashr$��selfrrr�__hash__?sz_BaseVersion.__hash__)�otherrcCst|t�stS|j|jkSr&��
isinstancer#�NotImplementedr$�r)r+rrr�__lt__Es
z_BaseVersion.__lt__cCst|t�stS|j|jkSr&r,r/rrr�__le__Ks
z_BaseVersion.__le__cCst|t�stS|j|jkSr&r,r/rrr�__eq__Qs
z_BaseVersion.__eq__cCst|t�stS|j|jkSr&r,r/rrr�__ge__Ws
z_BaseVersion.__ge__cCst|t�stS|j|jkSr&r,r/rrr�__gt__]s
z_BaseVersion.__gt__cCst|t�stS|j|jkSr&r,r/rrr�__ne__cs
z_BaseVersion.__ne__N)rr r!r�CmpKey�LegacyCmpKey�__annotations__�intr*�boolr0r1�objectr2r3r4r5rrrrr#<s
r#c@s�eZdZedd�dd�Zed�dd�Zed�dd	�Zeed�d
d��Zeed�dd
��Z	ee
d�dd��Zedd�dd��Zedd�dd��Z
edd�dd��Zedd�dd��Zedd�dd��Zeed�dd��Zeed�dd��Zeed�dd��ZdS) rNrcCst|�|_t|j�|_dSr&)�str�_version�_legacy_cmpkeyr$)r)rrrr�__init__ks
zLegacyVersion.__init__r%cCs|jSr&�r=r(rrr�__str__pszLegacyVersion.__str__cCsd|�d�S)Nz<LegacyVersion('�')>rr(rrr�__repr__sszLegacyVersion.__repr__cCs|jSr&r@r(rrr�publicvszLegacyVersion.publiccCs|jSr&r@r(rrr�base_versionzszLegacyVersion.base_versioncCsdS)N���rr(rrrr~szLegacyVersion.epochcCsdSr&rr(rrrr�szLegacyVersion.releasecCsdSr&rr(rrrr�szLegacyVersion.precCsdSr&rr(rrrr�szLegacyVersion.postcCsdSr&rr(rrrr�szLegacyVersion.devcCsdSr&rr(rrrr�szLegacyVersion.localcCsdS�NFrr(rrr�
is_prerelease�szLegacyVersion.is_prereleasecCsdSrGrr(rrr�is_postrelease�szLegacyVersion.is_postreleasecCsdSrGrr(rrr�
is_devrelease�szLegacyVersion.is_devrelease)rr r!r<r?rArC�propertyrDrEr9rrrrrrr:rHrIrJrrrrrjs2rz(\d+ | [a-z]+ | \.| -)�czfinal-�@)r�preview�-�rcr)�srccs\t�|�D]F}t�||�}|r
|dkr(q
|dd�dvrF|�d�Vq
d|Vq
dVdS)N�.r	�
0123456789��*�*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)rQ�partrrr�_parse_version_parts�sr]cCsvd}g}t|���D]T}|�d�r^|dkrD|rD|ddkrD|��q*|r^|ddkr^|��qD|�|�q|t|�fS)NrFrUrVz*final-Z00000000)r]�lower�
startswith�pop�append�tuple)rr�partsr\rrrr>�s


r>a�
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c@speZdZe�dedejejB�Ze	dd�dd�Z
e	d�dd	�Ze	d�d
d�Ze
ed�dd
��Ze
eedfd�dd��Ze
eee	efd�dd��Ze
eed�dd��Ze
eed�dd��Ze
ee	d�dd��Ze
e	d�dd��Ze
e	d�dd��Ze
ed�dd��Ze
ed�dd ��Ze
ed�d!d"��Ze
ed�d#d$��Ze
ed�d%d&��Ze
ed�d'd(��ZdS))rz^\s*z\s*$Nrc
Cs�|j�|�}|s td|�d���t|�d�r:t|�d��ndtdd�|�d��d�D��t|�d	�|�d
��t|�d�|�d�p�|�d
��t|�d�|�d��t	|�d��d�|_
t|j
j|j
j
|j
j|j
j|j
j|j
j�|_dS)NzInvalid version: '�'rrcss|]}t|�VqdSr&)r9��.0�irrr�	<genexpr>
�z#Version.__init__.<locals>.<genexpr>rrRZpre_lZpre_nZpost_lZpost_n1Zpost_n2Zdev_lZdev_nr)rrrrrr)�_regex�searchrr�groupr9rbrX�_parse_letter_version�_parse_local_versionr=�_cmpkeyrrrrrrr$)r)r�matchrrrr?s*���zVersion.__init__r%cCsd|�d�S)Nz
<Version('rBrr(rrrrCszVersion.__repr__cCs�g}|jdkr |�|j�d��|�d�dd�|jD���|jdurb|�d�dd�|jD���|jdur~|�d|j���|jdur�|�d	|j���|jdur�|�d
|j���d�|�S)Nr�!rRcss|]}t|�VqdSr&�r<�rf�xrrrrh(riz"Version.__str__.<locals>.<genexpr>�css|]}t|�VqdSr&rrrsrrrrh,riz.postz.dev�+)rra�joinrrrrr�r)rcrrrrA s




zVersion.__str__cCs|jj}|Sr&)r=r)r)�_epochrrrr<sz
Version.epoch.cCs|jj}|Sr&)r=r)r)�_releaserrrrAszVersion.releasecCs|jj}|Sr&)r=r)r)�_prerrrrFszVersion.precCs|jjr|jjdSdS�Nr	)r=rr(rrrrKszVersion.postcCs|jjr|jjdSdSr|)r=rr(rrrrOszVersion.devcCs(|jjr d�dd�|jjD��SdSdS)NrRcss|]}t|�VqdSr&rrrsrrrrhVriz Version.local.<locals>.<genexpr>)r=rrwr(rrrrSsz
Version.localcCst|��dd�dS)Nrvr	r)r<rXr(rrrrDZszVersion.publiccCsFg}|jdkr |�|j�d��|�d�dd�|jD���d�|�S)NrrqrRcss|]}t|�VqdSr&rrrsrrrrhgriz'Version.base_version.<locals>.<genexpr>ru)rrarwrrxrrrrE^s

zVersion.base_versioncCs|jdup|jduSr&)rrr(rrrrHkszVersion.is_prereleasecCs
|jduSr&)rr(rrrrIoszVersion.is_postreleasecCs
|jduSr&)rr(rrrrJsszVersion.is_devreleasecCst|j�dkr|jdSdS)Nr	r��lenrr(rrr�majorwsz
Version.majorcCst|j�dkr|jdSdS)N�r	rr}r(rrr�minor{sz
Version.minorcCst|j�dkr|jdSdS)N�r�rr}r(rrr�microsz
Version.micro) rr r!�re�compiler�VERBOSE�
IGNORECASErjr<r?rCrArKr9rrrrrrrrrDrEr:rHrIrJrr�r�rrrrr�s@r)�letter�numberrcCsv|rZ|durd}|��}|dkr&d}n(|dkr4d}n|dvrBd}n|dvrNd	}|t|�fS|sr|rrd	}|t|�fSdS)
NrZalpha�aZbeta�b)rLrrNrP)Zrev�rr)r^r9)r�r�rrrrm�s"rmz[\._-])rrcCs$|dur tdd�t�|�D��SdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Ncss&|]}|��s|��nt|�VqdSr&)�isdigitr^r9)rfr\rrrrh�s�z'_parse_local_version.<locals>.<genexpr>)rb�_local_version_separatorsrX)rrrrrn�s
�rn)rrrrrrrcCs�tttt�dd�t|�����}|dur>|dur>|dur>t}n|durLt}n|}|dur^t}n|}|durpt}	n|}	|dur�t}
ntdd�|D��}
|||||	|
fS)NcSs|dkS)Nrr)rtrrr�<lambda>�riz_cmpkey.<locals>.<lambda>css(|] }t|t�r|dfnt|fVqdS)ruN)r-r9rrerrrrh�sz_cmpkey.<locals>.<genexpr>)rb�reversed�list�	itertools�	dropwhilerr
)rrrrrrrzr{Z_postZ_dev�_localrrrro�s(�	�ro)0�collectionsr�r��warnings�typingrrrrrrrZ_structuresr
rrr
�__all__Z
InfiniteTypesr<r9ZPrePostDevTypeZSubLocalTypeZ	LocalTyper6r7r:ZVersionComparisonMethod�
namedtuplerr�
ValueErrorrr#rr�r�rWrYr]r>rr�bytesrmr�rnrorrrr�<module>s|$

���������.9�	 
�$



�