§
    k•já•  ã                  óF  — d Z ddlmZ ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZmZ ej        rddlmZmZ ej        dk    rddlmZ nej        rddlmZ nddlZddlZdTd„ZddddddddœZg d¢ZdUd„Zeeeef         df         Zeeeef         df         Zeeeeeeef         Zeeeeedf         ef         eeeedf         eef         f         Zeeege f         Z! G d„ ded¬¦  «        Z"dVd„Z#dWd„Z$ G d„ d e%¦  «        Z& G d!„ d"¦  «        Z'd#Z(e( )                    d$d%¦  «         )                    d&d'¦  «        Z*ej+        j,        d(k    rej        d)k     s&ej+        j,        d*k    rej        d+k     sej        d,k     re*ne(Z-	  ej.        d-ej/        ej0        z  ¦  «        Z1 e2d.¦  «        Z3dXd1„Z4dYd3„Z5dZd5„Z6d[d7„Z7d\d9„Z8d]d;„Z9 G d<„ d=e	¦  «        Z: G d>„ de'¦  «        Z; G d?„ d@e;¦  «        Z<d^dE„Z= ej.        dF¦  «        Z>d_dH„Z?ddIdJdKœZ@dLZAdMZBdLZCeBddddIdfZDd`dS„ZEdS )azZ
.. testsetup::

    from packaging.version import parse, normalize_pre, Version, _cmpkey
é    )ÚannotationsN)ÚAnyÚCallableÚLiteralÚ
NamedTupleÚSupportsIntÚTupleÚ	TypedDictÚUnion)ÚSelfÚUnpack)é   é   )Ú
deprecatedÚmessageÚstrÚreturnÚobjectc                ó   ‡ — dˆ fd„}|S )NÚfuncúCallable[[...], object]r   r   c                óL   •‡ — t          j        ‰ ¦  «        dˆ ˆfd„¦   «         }|S )NÚargsr   Úkwargsr   c                 óL   •— t          j        ‰t          d¬¦  «          ‰| i |¤ŽS )Né   )ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚDeprecationWarning)r   r   r   r   s     €€ú`/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/packaging/version.pyÚwrapperz/_deprecated.<locals>.decorator.<locals>.wrapper'   s<   ø€ å”ØÝ/Ø ðñ ô ð ð
 �t˜TÐ, VÐ,Ð,Ð,ó    )r   r   r   r   r   r   )Ú	functoolsÚwraps)r   r#   r   s   ` €r"   Ú	decoratorz_deprecated.<locals>.decorator&   sC   øø€ ÝŒ_˜TÑ"Ô"ð-ð -ð -ð -ð -ð -ñ #Ô"ð-ð ˆNr$   )r   r   r   r   © )r   r'   s   ` r"   Ú_deprecatedr)   %   s)   ø€ ð
	ð 
	ð 
	ð 
	ð 
	ð 
	ð Ðr$   ÚaÚbÚrcÚpost)ÚalphaÚbetaÚcÚpreÚpreviewÚrevÚr)ÚVERSION_PATTERNÚInvalidVersionÚVersionÚnormalize_preÚparseú	list[str]c                 ó   — t           S ©N)Ú__all__r(   r$   r"   Ú__dir__r>   B   s   € Ý€Nr$   .c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )Ú_VersionReplaceú
int | NoneÚepochztuple[int, ...] | NoneÚreleaseútuple[str, int] | Noner1   r-   Údevú
str | NoneÚlocalN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r(   r$   r"   r@   r@   Q   sW   € € € € € € ØÐÐÑØ#Ð#Ð#Ñ#ØÐÐÑØÐÐÑØ€O€O�OØÐÐÑÐÐr$   r@   F)ÚtotalÚletterc               ó`   — |                       ¦   «         } t                               | | ¦  «        S )a8  Normalize the pre-release segment of a version string.

    Returns a lowercase version of the string if not a known pre-release
    identifier.

    >>> normalize_pre('alpha')
    'a'
    >>> normalize_pre('BETA')
    'b'
    >>> normalize_pre('rc')
    'rc'

    :param letter:

    .. versionadded:: 26.1
    )ÚlowerÚ_LETTER_NORMALIZATIONÚget)rN   s    r"   r8   r8   Z   s'   € ð" �\Š\‰^Œ^€FÝ ×$Ò$ V¨VÑ4Ô4Ð4r$   Úversionr7   c                ó    — t          | ¦  «        S )a  Parse the given version string.

    This is identical to the :class:`Version` constructor.

    >>> parse('1.0.dev1')
    <Version('1.0.dev1')>

    :param version: The version string to parse.
    :raises InvalidVersion: When the version string is not a valid version.
    )r7   )rS   s    r"   r9   r9   o   s   € õ �7ÑÔÐr$   c                  ó   — e Zd ZdZdS )r6   zÉRaised when a version string is not a valid version.

    >>> Version("invalid")
    Traceback (most recent call last):
        ...
    packaging.version.InvalidVersion: Invalid version: 'invalid'
    N)rI   rJ   rK   Ú__doc__r(   r$   r"   r6   r6   }   s   € € € € € ðð ð ð r$   r6   c                  óp   — e Zd ZdZej        redd„¦   «         Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zdd„Zdd„ZdS )Ú_BaseVersionr(   r   útuple[Any, ...]c                ó   — d S r<   r(   ©Úselfs    r"   Ú_keyz_BaseVersion._key�   s   € Ø+.¨3r$   Úintc                ó*   — t          | j        ¦  «        S r<   )Úhashr]   r[   s    r"   Ú__hash__z_BaseVersion.__hash__’   s   € Ý�D”I‰ŒÐr$   ÚotherÚboolc                óZ   — t          |t          ¦  «        st          S | j        |j        k     S r<   ©Ú
isinstancerX   ÚNotImplementedr]   ©r\   rb   s     r"   Ú__lt__z_BaseVersion.__lt__˜   ó)   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!àŒy˜5œ:Ò%Ð%r$   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r<   re   rh   s     r"   Ú__le__z_BaseVersion.__le__ž   ó)   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!àŒy˜EœJÒ&Ð&r$   r   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r<   re   rh   s     r"   Ú__eq__z_BaseVersion.__eq__¤   rm   r$   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r<   re   rh   s     r"   Ú__ge__z_BaseVersion.__ge__ª   rm   r$   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r<   re   rh   s     r"   Ú__gt__z_BaseVersion.__gt__°   rj   r$   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S r<   re   rh   s     r"   Ú__ne__z_BaseVersion.__ne__¶   rm   r$   N)r   rY   ©r   r^   ©rb   rX   r   rc   ©rb   r   r   rc   )rI   rJ   rK   Ú	__slots__ÚtypingÚTYPE_CHECKINGÚpropertyr]   ra   ri   rl   ro   rq   rs   ru   r(   r$   r"   rX   rX   ‡   sÈ   € € € € € Ø€Ið
 Ôð /à	Ø.Ð.Ð.ñ 
ŒØ.ðð ð ð ð&ð &ð &ð &ð'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð&ð &ð &ð &ð'ð 'ð 'ð 'ð 'ð 'r$   rX   a3  
    v?+                                                   # optional leading v
    (?a:
        (?:(?P<epoch>[0-9]+)!)?+                          # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*+)                 # release segment
        (?P<pre>                                          # pre-release
            [._-]?+
            (?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)
            [._-]?+
            (?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]+)?
        )?+
    )
    (?a:\+
        (?P<local>                                        # local version
            [a-z0-9]+
            (?:[._-][a-z0-9]+)*+
        )
    )?+
z*+Ú*z?+ú?Úcpython)r   é   é   Úpypy)r   r€   r   )r   r€   z[a-z0-9]+(?:[._-][a-z0-9]+)*z.0123456789Úvaluer^   c               ól   — | pd}t          |t          ¦  «        r|dk    r|S d|› �}t          |¦  «        ‚)Nr   z(epoch must be non-negative integer, got ©rf   r^   r6   )rƒ   rB   Úmsgs      r"   Ú_validate_epochr‡   
  sE   € ØˆJ�Q€EÝ�%�ÑÔð  %¨1¢* *ØˆØ
<°UÐ
<Ð
<€CÝ
˜Ñ
Ô
Ðr$   útuple[int, ...]c               ó¼   — | €dn| }t          |t          ¦  «        r.t          |¦  «        dk    rt          d„ |D ¦   «         ¦  «        r|S d|› �}t	          |¦  «        ‚)N)r   r   c              3  óL   K  — | ]}t          |t          ¦  «        o|d k    V — Œ dS )r   N)rf   r^   )Ú.0Úis     r"   ú	<genexpr>z$_validate_release.<locals>.<genexpr>  s5   è è € Ð?Ð?°!•
˜1�cÑ"Ô"Ð- q¨A¢vÐ?Ð?Ð?Ð?Ð?Ð?r$   z@release must be a non-empty tuple of non-negative integers, got )rf   ÚtupleÚlenÚallr6   )rƒ   rC   r†   s      r"   Ú_validate_releaser‘     ss   € Ø�mˆdˆd¨€Gå�7�EÑ"Ô"ðå�‰LŒL˜1ÒÐÝÐ?Ð?°wÐ?Ñ?Ô?Ñ?Ô?ð ð ˆØ
VÈWÐ
VÐ
V€CÝ
˜Ñ
Ô
Ðr$   ú*tuple[Literal['a', 'b', 'rc'], int] | Nonec               óð   — | €| S t          | t          ¦  «        rJt          | ¦  «        dk    r7| \  }}t          |¦  «        }|dv rt          |t          ¦  «        r
|dk    r||fS d| › �}t          |¦  «        ‚)Nr   >   r*   r+   r,   r   z=pre must be a tuple of ('a'|'b'|'rc', non-negative int), got )rf   rŽ   r�   r8   r^   r6   )rƒ   rN   Únumberr†   s       r"   Ú_validate_prer•     sŒ   € Ø€}ØˆÝ�%�ÑÔð $¥C¨¡J¤J°!¢O OØ‰ˆ�Ý˜vÑ&Ô&ˆØÐ%Ð%Ð%­*°V½SÑ*AÔ*AÐ%ÀfÐPQÂkÀkà˜FÐ#Ð#Ø
QÈ%Ð
QÐ
Q€CÝ
˜Ñ
Ô
Ðr$   ú"tuple[Literal['post'], int] | Nonec               óp   — | €| S t          | t          ¦  «        r
| dk    rd| fS d| › �}t          |¦  «        ‚)Nr   r-   z'post must be non-negative integer, got r…   ©rƒ   r†   s     r"   Ú_validate_postr™   +  sK   € Ø€}ØˆÝ�%�ÑÔð  %¨1¢* *Ø˜ˆÐØ
;°EÐ
;Ð
;€CÝ
˜Ñ
Ô
Ðr$   ú!tuple[Literal['dev'], int] | Nonec               óp   — | €| S t          | t          ¦  «        r
| dk    rd| fS d| › �}t          |¦  «        ‚)Nr   rE   z&dev must be non-negative integer, got r…   r˜   s     r"   Ú_validate_devrœ   4  sK   € Ø€}ØˆÝ�%�ÑÔð  %¨1¢* *Ø�uˆ~ÐØ
:°5Ð
:Ð
:€CÝ
˜Ñ
Ô
Ðr$   úLocalType | Nonec               ó®   — | €| S t          | t          ¦  «        r)t                               | ¦  «        rt	          | ¦  «        S d| ›�}t          |¦  «        ‚)Nz*local must be a valid version string, got )rf   r   Ú_LOCAL_PATTERNÚ	fullmatchÚ_parse_local_versionr6   r˜   s     r"   Ú_validate_localr¢   =  s\   € Ø€}ØˆÝ�%�ÑÔð +¥.×":Ò":¸5Ñ"AÔ"Að +Ý# EÑ*Ô*Ð*Ø
@°uÐ
@Ð
@€CÝ
˜Ñ
Ô
Ðr$   c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   dS )Ú_Versionr^   rB   rˆ   rC   rš   rE   r’   r1   r–   r-   r�   rG   NrH   r(   r$   r"   r¤   r¤   G  sW   € € € € € € Ø€J€J�JØÐÐÑØ*Ð*Ð*Ñ*Ø3Ð3Ð3Ñ3Ø,Ð,Ð,Ñ,ØÐÐÑÐÐr$   r¤   c                  ó`  ‡ — e Zd ZU dZdZdZ	  ej        dez   dz   ej	        ej
        z  ¦  «        Zded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   dQd„ZeddddddœdRd&„¦   «         ZdSd)„ZedTd+„¦   «         ZdUd,„ZdVˆ fd0„ZdVˆ fd1„ZdWˆ fd3„ZdVˆ fd4„ZdVˆ fd5„ZdWˆ fd6„ZdXd8„ZdYd:„Ze ed;¦  «        dZd=„¦   «         ¦   «         Zej         ed;¦  «        d[d?„¦   «         ¦   «         Zd\d@„Zd\dA„Z ed\dB„¦   «         Z!edUdC„¦   «         Z"ed]dD„¦   «         Z#ed^dE„¦   «         Z$ed_dF„¦   «         Z%ed_dG„¦   «         Z&ed`dH„¦   «         Z'ed\dI„¦   «         Z(ed\dJ„¦   «         Z)edadK„¦   «         Z*edadL„¦   «         Z+edadM„¦   «         Z,edUdN„¦   «         Z-edUdO„¦   «         Z.edUdP„¦   «         Z/ˆ xZ0S )br7   aÄ  This class abstracts handling of a project's versions.

    A :class:`Version` instance is comparison aware and can be compared and
    sorted using the standard Python interfaces.

    >>> v1 = Version("1.0a5")
    >>> v2 = Version("1.0")
    >>> v1
    <Version('1.0a5')>
    >>> v2
    <Version('1.0')>
    >>> v1 < v2
    True
    >>> v1 == v2
    False
    >>> v1 > v2
    False
    >>> v1 >= v2
    False
    >>> v1 <= v2
    True

    :class:`Version` is immutable; use :meth:`__replace__` to change
    part of a version.

    Instances are safe to serialize with :mod:`pickle`. They use a stable
    format so the same pickle can be loaded in future packaging releases.

    .. versionchanged:: 26.2

        Added a stable pickle format. Pickles created with packaging 26.2+ can
        be unpickled with future releases.  Backward compatibility with pickles
        from packaging < 26.2 is supported but may be removed in a future
        release.
    )Ú_devÚ_epochÚ_hash_cacheÚ
_key_cacheÚ_localÚ_postÚ_preÚ_release)Ú_strz\s*r^   r§   rˆ   r­   rš   r¦   r’   r¬   r–   r«   r�   rª   rA   r¨   zCmpKey | Noner©   rS   r   r   ÚNonec                óò  — t                                |¦  «        r¨	 t          t          t          |                     d¦  «        ¦  «        ¦  «        | _        n9# t          $ r, d|                     d¦  «        v rt          d|›�¦  «        d‚‚ w xY wd| _	        d| _
        d| _        d| _        d| _        d| _        d| _        dS | j                             |¦  «        }|st          d|›�¦  «        ‚|                     d¦  «        r"t	          |                     d¦  «        ¦  «        nd| _	        t          t          t          |                     d¦  «                             d¦  «        ¦  «        ¦  «        | _        t'          |                     d¦  «        |                     d	¦  «        ¦  «        | _
        t'          |                     d
¦  «        |                     d¦  «        p|                     d¦  «        ¦  «        | _        t'          |                     d¦  «        |                     d¦  «        ¦  «        | _        t)          |                     d¦  «        ¦  «        | _        d| _        d| _        dS )aC  Initialize a Version object.

        :param version:
            The string representation of a version which will be parsed and normalized
            before use.
        :raises InvalidVersion:
            If the ``version`` does not conform to PEP 440 in any way then this
            exception will be raised.
        ú.Ú zInvalid version: Nr   rB   rC   Úpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nrG   )Ú_SIMPLE_VERSION_INDICATORSÚ
issupersetrŽ   Úmapr^   Úsplitr­   Ú
ValueErrorr6   r§   r¬   r«   r¦   rª   r©   r¨   Ú_regexr    ÚgroupÚ_parse_letter_versionr¡   )r\   rS   Úmatchs      r"   Ú__init__zVersion.__init__”  s1  € õ &×0Ò0°Ñ9Ô9ð 	ð	Ý %¥c­#¨w¯}ª}¸SÑ/AÔ/AÑ&BÔ&BÑ CÔ C�”�øÝð ð ð ð ˜Ÿš sÑ+Ô+Ð+Ð+Ý(Ð)H¸WÐ)HÐ)HÑIÔIÈtÐSàðøøøð ˆDŒKØˆDŒIØˆDŒJØˆDŒIØˆDŒKØ"ˆDŒOØ#ˆDÔØˆFð ”×%Ò% gÑ.Ô.ˆØð 	BÝ Ð!@°WÐ!@Ð!@ÑAÔAÐAØ38·;²;¸wÑ3GÔ3GÐN•c˜%Ÿ+š+ gÑ.Ô.Ñ/Ô/Ð/ÈQˆŒÝ�c¥# u§{¢{°9Ñ'=Ô'=×'CÒ'CÀCÑ'HÔ'HÑIÔIÑJÔJˆŒõ *¨%¯+ª+°gÑ*>Ô*>ÀÇÂÈGÑ@TÔ@TÑUÔUˆŒ	Ý*Ø�KŠK˜Ñ!Ô! 5§;¢;¨yÑ#9Ô#9Ð#S¸U¿[º[ÈÑ=SÔ=Sñ
ô 
ˆŒ
õ *¨%¯+ª+°gÑ*>Ô*>ÀÇÂÈGÑ@TÔ@TÑUÔUˆŒ	Ý*¨5¯;ª;°wÑ+?Ô+?Ñ@Ô@ˆŒð ˆŒØˆÔÐÐs   œ:A Á6Br   N)rB   r1   r-   rE   rG   rB   rC   r1   rD   r-   rE   rG   rF   r   c               ót  — t          |¦  «        }t          |¦  «        }|�t          |¦  «        nd}	|�t          |¦  «        nd}
|�t	          |¦  «        nd}|�t          |¦  «        nd}|                      | ¦  «        }d|_        d|_        ||_	        ||_
        |	|_        |
|_        ||_        ||_        |S )a(  
        Return a new version composed of the various parts.

        This allows you to build a version without going though a string and
        running a regular expression. It normalizes pre-release strings. The
        ``release=`` keyword argument is required.

        >>> Version.from_parts(release=(1,2,3))
        <Version('1.2.3')>
        >>> Version.from_parts(release=(0,1,0), pre=("b", 1))
        <Version('0.1.0b1')>

        :param epoch:
        :param release: This version tuple is required

        .. versionadded:: 26.1
        N)r‡   r‘   r•   r™   rœ   r¢   Ú__new__r©   r¨   r§   r­   r¬   r«   r¦   rª   )ÚclsrB   rC   r1   r-   rE   rG   r§   r­   r¬   r«   r¦   rª   Únew_versions                 r"   Ú
from_partszVersion.from_partsÆ  sÏ   € õ8 ! Ñ'Ô'ˆÝ$ WÑ-Ô-ˆØ%( _�}˜SÑ!Ô!Ð!¸$ˆØ(,Ð(8•˜tÑ$Ô$Ð$¸dˆØ%( _�}˜SÑ!Ô!Ð!¸$ˆØ+0Ð+<• Ñ'Ô'Ð'À$ˆà—k’k #Ñ&Ô&ˆØ!%ˆÔØ"&ˆÔØ#ˆÔØ'ˆÔØˆÔØ!ˆÔØˆÔØ#ˆÔàÐr$   r   úUnpack[_VersionReplace]c                ó¼  — d|v rt          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j        }d|v rt	          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j	        }d|v rt          |d         ¦  «        n| j        }|| j        k    r9|| j        k    r.|| j        k    r#|| j        k    r|| j	        k    r|| j        k    r| S | j                             | j        ¦  «        }d|_        d|_        ||_        ||_        ||_        ||_        ||_	        ||_        |S )aß  
        __replace__(*, epoch=..., release=..., pre=..., post=..., dev=..., local=...)

        Return a new version with parts replaced.

        This returns a new version (unless no parts were changed). The
        pre-release is normalized. Setting a value to ``None`` clears it.

        >>> v = Version("1.2.3")
        >>> v.__replace__(pre=("a", 1))
        <Version('1.2.3a1')>

        :param int | None epoch:
        :param tuple[int, ...] | None release:
        :param tuple[str, int] | None pre:
        :param int | None post:
        :param int | None dev:
        :param str | None local:

        .. versionadded:: 26.0
        .. versionchanged:: 26.1

           The pre-release portion is now normalized.
        rB   rC   r1   r-   rE   rG   N)r‡   r§   r‘   r­   r•   r¬   r™   r«   rœ   r¦   r¢   rª   Ú	__class__rÅ   r©   r¨   )	r\   r   rB   rC   r1   r-   rE   rG   rÇ   s	            r"   Ú__replace__zVersion.__replace__õ  sŠ  € ð2 5<¸vÐ4EÐ4E•  w¤Ñ0Ô0Ð0È4Ì;ˆð ˜FÐ"Ð"õ ˜f YÔ/Ñ0Ô0Ð0à”ð 	ð
 /4°v¨o¨o�m˜F 5œMÑ*Ô*Ð*À4Ä9ˆØ17¸6Ð1AÐ1A�~˜f VœnÑ-Ô-Ð-ÀtÄzˆØ.3°v¨o¨o�m˜F 5œMÑ*Ô*Ð*À4Ä9ˆØ4;¸vÐ4EÐ4E•  w¤Ñ0Ô0Ð0È4Ì;ˆð �T”[Ò Ð Ø˜4œ=Ò(Ð(Ø�t”yÒ Ð Ø˜œ
Ò"Ð"Ø�t”yÒ Ð Ø˜œÒ$Ð$àˆKà”n×,Ò,¨T¬^Ñ<Ô<ˆØ!%ˆÔØ"&ˆÔØ"ˆÔØ&ˆÔØˆÔØ ˆÔØˆÔØ"ˆÔàÐr$   ÚCmpKeyc                óŒ   — | j         €7t          | j        | j        | j        | j        | j        | j        ¦  «        | _         | j         S r<   )r©   Ú_cmpkeyr§   r­   r¬   r«   r¦   rª   r[   s    r"   r]   zVersion._key/  sC   € àŒ?Ð"Ý%Ø”Ø”Ø”	Ø”
Ø”	Ø”ñô ˆDŒOð ŒÐr$   c                óÌ   — | j         x}�|S | j        x}€9t          | j        | j        | j        | j        | j        | j        ¦  «        x| _        }t          |¦  «        x| _         }|S r<   )
r¨   r©   rÏ   r§   r­   r¬   r«   r¦   rª   r`   )r\   Úcached_hashÚkeys      r"   ra   zVersion.__hash__>  st   € ØÔ+Ð+ˆKÐ8ØÐà”?Ð"ˆCÐ+Ý$+Ø”Ø”Ø”	Ø”
Ø”	Ø”ñ%ô %ð ˆDŒO˜cõ *.¨c©¬Ð2ˆÔ˜;ØÐr$   rb   rX   rc   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k     S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   Úsuperri   ©r\   rb   rË   s     €r"   ri   zVersion.__lt__P  óÇ   ø€ Ý�e�WÑ%Ô%ð 	6ØŒÐ&Ý")Ø”KØ”MØ”IØ”JØ”IØ”Kñ#ô #�”ð ÔÐ'Ý#*Ø”LØ”NØ”JØ”KØ”JØ”Lñ$ô $�Ô ð ”? UÔ%5Ò5Ð5å˜%¥Ñ.Ô.ð 	"Ý!Ð!å‰wŒw�~Š~˜eÑ$Ô$Ð$r$   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k    S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   rÔ   rl   rÕ   s     €r"   rl   zVersion.__le__k  óÇ   ø€ Ý�e�WÑ%Ô%ð 	7ØŒÐ&Ý")Ø”KØ”MØ”IØ”JØ”IØ”Kñ#ô #�”ð ÔÐ'Ý#*Ø”LØ”NØ”JØ”KØ”JØ”Lñ$ô $�Ô ð ”? eÔ&6Ò6Ð6å˜%¥Ñ.Ô.ð 	"Ý!Ð!å‰wŒw�~Š~˜eÑ$Ô$Ð$r$   r   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k    S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   rÔ   ro   rÕ   s     €r"   ro   zVersion.__eq__†  rØ   r$   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k    S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   rÔ   rq   rÕ   s     €r"   rq   zVersion.__ge__¡  rØ   r$   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k    S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   rÔ   rs   rÕ   s     €r"   rs   zVersion.__gt__¼  rÖ   r$   c                óÀ  •— t          |t          ¦  «        rŒ| j        €7t          | j        | j        | j        | j        | j        | j	        ¦  «        | _        |j        €7t          |j        |j        |j        |j        |j        |j	        ¦  «        |_        | j        |j        k    S t          |t          ¦  «        st          S t          ¦   «                              |¦  «        S r<   )rf   r7   r©   rÏ   r§   r­   r¬   r«   r¦   rª   rX   rg   rÔ   ru   rÕ   s     €r"   ru   zVersion.__ne__×  rØ   r$   úutuple[int, tuple[int, ...], tuple[str, int] | None, tuple[str, int] | None, tuple[str, int] | None, LocalType | None]c                óN   — | j         | j        | j        | j        | j        | j        fS r<   )r§   r­   r¬   r«   r¦   rª   r[   s    r"   Ú__getstate__zVersion.__getstate__ò  s,   € ð ŒKØŒMØŒIØŒJØŒIØŒKð
ð 	
r$   Ústatec                ó2  — d | _         d | _        t          |t          ¦  «        rít	          |¦  «        dk    r)|\  | _        | _        | _        | _        | _	        | _
        d S t	          |¦  «        dk    rž|\  }}t          |t          ¦  «        r„|d         | _        |d         | _        |                     d¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _	        |                     d¦  «        | _
        d S t          |t          ¦  «        ra|                     d	¦  «        }|�J|j        | _        |j        | _        |j        | _        |j        | _        |j        | _	        |j        | _
        d S t'          d
|›�¦  «        ‚)Né   r   r§   r­   r¬   r«   r¦   rª   Ú_versionzCannot restore Version from )r©   r¨   rf   rŽ   r�   r§   r­   r¬   r«   r¦   rª   ÚdictrR   rB   rC   r1   r-   rE   rG   Ú	TypeError)r\   rà   Ú_Ú	slot_dictÚ
version_nts        r"   Ú__setstate__zVersion.__setstate__  st  € ð ˆŒØˆÔå�e�UÑ#Ô#ð 	Ý�5‰zŒz˜QŠˆð ñØ”KØ”MØ”IØ”JØ”IØ”Kà�Ý�5‰zŒz˜QŠˆà$‘��9Ý˜i­Ñ.Ô.ð Ø"+¨HÔ"5�D”KØ$-¨jÔ$9�D”MØ )§¢¨fÑ 5Ô 5�D”IØ!*§¢¨wÑ!7Ô!7�D”JØ )§¢¨fÑ 5Ô 5�D”IØ"+§-¢-°Ñ"9Ô"9�D”KØ�FÝ�e�TÑ"Ô"ð 	ð Ÿš :Ñ.Ô.ˆJØÐ%Ø(Ô.�”Ø *Ô 2�”Ø&œN�”	Ø'œ_�”
Ø&œN�”	Ø(Ô.�”Ø�åÐ@°uÐ@Ð@ÑAÔAÐAr$   z4Version._version is private and will be removed soonr¤   c                óf   — t          | j        | j        | j        | j        | j        | j        ¦  «        S r<   )r¤   r§   r­   r¦   r¬   r«   rª   r[   s    r"   rã   zVersion._version5  s/   € õ ØŒK˜œ¨¬	°4´9¸d¼jÈ$Ì+ñ
ô 
ð 	
r$   rƒ   c                ó²   — |j         | _        |j        | _        |j        | _        |j        | _        |j        | _	        |j
        | _        d | _        d | _        d S r<   )rB   r§   rC   r­   rE   r¦   r1   r¬   r-   r«   rG   rª   r©   r¨   )r\   rƒ   s     r"   rã   zVersion._version<  sO   € ð ”kˆŒØœˆŒØ”IˆŒ	Ø”IˆŒ	Ø”ZˆŒ
Ø”kˆŒØˆŒØˆÔÐÐr$   c                óB   — d| j         j        › dt          | ¦  «        ›d�S )z€A representation of the Version that shows all internal state.

        >>> Version('1.0.0')
        <Version('1.0.0')>
        ú<ú(z)>)rË   rI   r   r[   s    r"   Ú__repr__zVersion.__repr__H  s(   € ð =�4”>Ô*Ð<Ð<­S°©Y¬YÐ<Ð<Ð<Ð<r$   c                ól  — d                      t          t          | j        ¦  «        ¦  «        }| j        r| j        › d|› �}| j        �0|d                      t          t          | j        ¦  «        ¦  «        z  }| j        �|d| j        › �z  }| j        �|d| j        › �z  }| j        �|d| j        › �z  }|S )z}A string representation of the version that can be round-tripped.

        >>> str(Version("1.0a5"))
        '1.0a5'
        r±   ú!Nr²   z.postz.devú+)	Újoinr¼   r   rC   rB   r1   r-   rE   rG   )r\   rS   s     r"   Ú__str__zVersion.__str__P  sÐ   € ð —(’(�3�s D¤LÑ1Ô1Ñ2Ô2ˆð Œ:ð 	0ØœÐ/Ð/ gÐ/Ð/ˆGð Œ8ÐØ�r—w’w�s¥3¨¬Ñ1Ô1Ñ2Ô2Ñ2ˆGð Œ9Ð ØÐ*˜tœyÐ*Ð*Ñ*ˆGð Œ8ÐØÐ(˜dœhÐ(Ð(Ñ(ˆGð Œ:Ð!ØÐ'˜4œ:Ð'Ð'Ñ'ˆGàˆr$   c                ó    — t          | ¦  «        S )z Internal property for match_args©r   r[   s    r"   r®   zVersion._stro  s   € õ �4‰yŒyÐr$   c                ó   — | j         S )zThe epoch of the version.

        >>> Version("2.0.0").epoch
        0
        >>> Version("1!2.0.0").epoch
        1
        )r§   r[   s    r"   rB   zVersion.epocht  s   € ð Œ{Ðr$   c                ó   — | j         S )ad  The components of the "release" segment of the version.

        >>> Version("1.2.3").release
        (1, 2, 3)
        >>> Version("2.0.0").release
        (2, 0, 0)
        >>> Version("1!2.0.0.post0").release
        (2, 0, 0)

        Includes trailing zeroes but not the epoch or any pre-release / development /
        post-release suffixes.
        )r­   r[   s    r"   rC   zVersion.release  s   € ð Œ}Ðr$   c                ó   — | j         S )a  The pre-release segment of the version.

        >>> print(Version("1.2.3").pre)
        None
        >>> Version("1.2.3a1").pre
        ('a', 1)
        >>> Version("1.2.3b1").pre
        ('b', 1)
        >>> Version("1.2.3rc1").pre
        ('rc', 1)
        )r¬   r[   s    r"   r1   zVersion.pre�  s   € ð ŒyÐr$   c                ó.   — | j         r| j         d         ndS )z™The post-release number of the version.

        >>> print(Version("1.2.3").post)
        None
        >>> Version("1.2.3.post1").post
        1
        é   N)r«   r[   s    r"   r-   zVersion.postž  s   € ð !%¤
Ð4ˆtŒz˜!Œ}ˆ}°Ð4r$   c                ó.   — | j         r| j         d         ndS )z•The development number of the version.

        >>> print(Version("1.2.3").dev)
        None
        >>> Version("1.2.3.dev1").dev
        1
        rû   N)r¦   r[   s    r"   rE   zVersion.dev©  s   € ð  $œyÐ2ˆtŒy˜Œ|ˆ|¨dÐ2r$   c                ó\   — | j         r$d                     d„ | j         D ¦   «         ¦  «        S dS )zŸThe local version segment of the version.

        >>> print(Version("1.2.3").local)
        None
        >>> Version("1.2.3+abc").local
        'abc'
        r±   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r<   rö   )r‹   Úxs     r"   r�   z Version.local.<locals>.<genexpr>¾  s(   è è € Ð8Ð8 q�C ™FœFÐ8Ð8Ð8Ð8Ð8Ð8r$   N)rª   ró   r[   s    r"   rG   zVersion.local´  s6   € ð Œ;ð 	Ø—8’8Ð8Ð8¨D¬KÐ8Ñ8Ô8Ñ8Ô8Ð8à�4r$   c                óT   — t          | ¦  «                             dd¦  «        d         S )aq  The public portion of the version.

        This returns a string. If you want a :class:`Version` again and care
        about performance, use ``v.__replace__(local=None)`` instead.

        >>> Version("1.2.3").public
        '1.2.3'
        >>> Version("1.2.3+abc").public
        '1.2.3'
        >>> Version("1!1.2.3dev1+abc").public
        '1!1.2.3.dev1'
        rò   rû   r   )r   r½   r[   s    r"   ÚpubliczVersion.publicÂ  s#   € õ �4‰yŒy�Š˜s AÑ&Ô& qÔ)Ð)r$   c                ó†   — d                      t          t          | j        ¦  «        ¦  «        }| j        r| j        › d|› �n|S )a  The "base version" of the version.

        This returns a string. If you want a :class:`Version` again and care
        about performance, use
        ``v.__replace__(pre=None, post=None, dev=None, local=None)`` instead.

        >>> Version("1.2.3").base_version
        '1.2.3'
        >>> Version("1.2.3+abc").base_version
        '1.2.3'
        >>> Version("1!1.2.3dev1+abc").base_version
        '1!1.2.3'

        The "base version" is the public version of the project without any pre or post
        release markers.
        r±   rñ   )ró   r¼   r   rC   rB   )r\   Úrelease_segments     r"   Úbase_versionzVersion.base_versionÒ  sC   € ð$ Ÿ(š(¥3¥s¨D¬LÑ#9Ô#9Ñ:Ô:ˆØ48´JÐS�$”*Ð0Ð0˜Ð0Ð0Ð0ÀOÐSr$   c                ó&   — | j         dup| j        duS )aT  Whether this version is a pre-release.

        >>> Version("1.2.3").is_prerelease
        False
        >>> Version("1.2.3a1").is_prerelease
        True
        >>> Version("1.2.3b1").is_prerelease
        True
        >>> Version("1.2.3rc1").is_prerelease
        True
        >>> Version("1.2.3dev1").is_prerelease
        True
        N)rE   r1   r[   s    r"   Úis_prereleasezVersion.is_prereleaseç  s   € ð Œx˜tÐ#Ð; t¤x°tÐ';Ð;r$   c                ó   — | j         duS )zªWhether this version is a post-release.

        >>> Version("1.2.3").is_postrelease
        False
        >>> Version("1.2.3.post1").is_postrelease
        True
        N)r-   r[   s    r"   Úis_postreleasezVersion.is_postreleaseø  s   € ð Œy Ð$Ð$r$   c                ó   — | j         duS )z®Whether this version is a development release.

        >>> Version("1.2.3").is_devrelease
        False
        >>> Version("1.2.3.dev1").is_devrelease
        True
        N)rE   r[   s    r"   Úis_devreleasezVersion.is_devrelease  s   € ð Œx˜tÐ#Ð#r$   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )zqThe first item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").major
        1
        rû   r   ©r�   rC   r[   s    r"   ÚmajorzVersion.major  s(   € õ #& d¤lÑ"3Ô"3°qÒ"8Ð"8ˆtŒ|˜AŒˆ¸aÐ?r$   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )z›The second item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").minor
        2
        >>> Version("1").minor
        0
        r   rû   r   r  r[   s    r"   ÚminorzVersion.minor  ó(   € õ #& d¤lÑ"3Ô"3°qÒ"8Ð"8ˆtŒ|˜AŒˆ¸aÐ?r$   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )zšThe third item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").micro
        3
        >>> Version("1").micro
        0
        r   r   r   r  r[   s    r"   ÚmicrozVersion.micro"  r  r$   )rS   r   r   r¯   )rB   r^   rC   rˆ   r1   rD   r-   rA   rE   rA   rG   rF   r   r   )r   rÉ   r   r   )r   rÍ   rv   rw   rx   )r   rÝ   )rà   r   r   r¯   )r   r¤   )rƒ   r¤   r   r¯   )r   r   ©r   rˆ   )r   r’   )r   rA   )r   rF   )r   rc   )1rI   rJ   rK   rV   ry   Ú__match_args__ÚreÚcompiler5   ÚVERBOSEÚ
IGNORECASEr¿   rL   rÃ   ÚclassmethodrÈ   rÌ   r|   r]   ra   ri   rl   ro   rq   rs   ru   rß   ré   r)   rã   Úsetterrï   rô   r®   rB   rC   r1   r-   rE   rG   r  r  r  r  r
  r  r  r  Ú__classcell__©rË   s   @r"   r7   r7   P  sË  ø€ € € € € € ð"ð "ðH	€Ið €Nðð ˆRŒZ˜ Ñ0°6Ñ9¸2¼:ÈÌÑ;UÑVÔV€Fà€K€K�KØÐÐÑØ+Ð+Ð+Ñ+Ø4Ð4Ð4Ñ4Ø-Ð-Ð-Ñ-ØÐÐÑàÐÐÑØÐÐÑð0 ð 0 ð 0 ð 0 ðd ð à&*ØØØ ð,ð ,ð ,ð ,ð ,ñ „[ð,ð\8ð 8ð 8ð 8ðt ð
ð 
ð 
ñ „Xð
ðð ð ð ð$%ð %ð %ð %ð %ð %ð6%ð %ð %ð %ð %ð %ð6%ð %ð %ð %ð %ð %ð6%ð %ð %ð %ð %ð %ð6%ð %ð %ð %ð %ð %ð6%ð %ð %ð %ð %ð %ð6
ð 
ð 
ð 
ð,+Bð +Bð +Bð +BðZ Ø€[ÐGÑHÔHð
ð 
ð 
ñ IÔHñ „Xð
ð
 „_Ø€[ÐGÑHÔHð ð  ð  ñ IÔHñ „_ð ð=ð =ð =ð =ðð ð ð ð> ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ð5ð 5ð 5ñ „Xð5ð ð3ð 3ð 3ñ „Xð3ð ðð ð ñ „Xðð ð*ð *ð *ñ „Xð*ð ðTð Tð Tñ „XðTð( ð<ð <ð <ñ „Xð<ð  ð%ð %ð %ñ „Xð%ð ð$ð $ð $ñ „Xð$ð ð@ð @ð @ñ „Xð@ð ð@ð @ð @ñ „Xð@ð ð@ð @ð @ñ „Xð@ð @ð @ð @ð @r$   c                  ó@   ‡ — e Zd ZdZd	ˆ fd„Zed
ˆ fd„¦   «         Zˆ xZS )Ú_TrimmedReleaser(   rS   ústr | Versionr   r¯   c                ó   •— t          |t          ¦  «        rV|j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        d S t          ¦   «          
                    |¦  «         d S r<   )rf   r7   r§   r­   r¦   r¬   r«   rª   r©   rÔ   rÃ   )r\   rS   rË   s     €r"   rÃ   z_TrimmedRelease.__init__1  sy   ø€ Ý�g�wÑ'Ô'ð 	Ø!œ.ˆDŒKØ#Ô,ˆDŒMØœˆDŒIØœˆDŒIØ œˆDŒJØ!œ.ˆDŒKØ%Ô0ˆDŒOØˆFÝ‰Œ×Ò˜Ñ!Ô!Ð!Ð!Ð!r$   rˆ   c                óÎ   •— t          ¦   «         j        }t          |¦  «        }|}|dk    r)||dz
           dk    r|dz  }|dk    r||dz
           dk    °||k    r|n	|d|…         S )z°
        Release segment without any trailing zeros.

        >>> _TrimmedRelease('1.0.0').release
        (1,)
        >>> _TrimmedRelease('0.0').release
        (0,)
        rû   r   N)rÔ   rC   r�   )r\   ÚrelÚlen_releaserŒ   rË   s       €r"   rC   z_TrimmedRelease.release=  sy   ø€ õ ‰gŒgŒoˆÝ˜#‘h”hˆØˆØ�!Šeˆe˜˜A ™Eœ
 aš˜Ø�‰FˆAð �!Šeˆe˜˜A ™Eœ
 aš˜à˜;Ò&Ð&ˆsˆs¨C°°°¬GÐ3r$   )rS   r  r   r¯   r  )rI   rJ   rK   ry   rÃ   r|   rC   r  r  s   @r"   r  r  .  sl   ø€ € € € € Ø€Ið
"ð 
"ð 
"ð 
"ð 
"ð 
"ð ð4ð 4ð 4ð 4ð 4ñ „Xð4ð 4ð 4ð 4ð 4r$   r  rF   r”   ú str | bytes | SupportsInt | NonerD   c                ó´   — | rB|                       ¦   «         } t                               | | ¦  «        } | t          |pd¦  «        fS |rdt          |¦  «        fS d S )Nr   r-   )rP   rQ   rR   r^   )rN   r”   s     r"   rÁ   rÁ   P  si   € ð ð (à—’‘”ˆõ
 '×*Ò*¨6°6Ñ:Ô:ˆð •s˜6˜; QÑ'Ô'Ð'Ð'àð #ð •s˜6‘{”{Ð"Ð"àˆ4r$   z[\._-]rG   c                ól   — | �1t          d„ t                               | ¦  «        D ¦   «         ¦  «        S dS )z`
    Takes a string like ``"abc.1.twelve"`` and turns it into
    ``("abc", 1, "twelve")``.
    Nc              3  ó„   K  — | ];}|                      ¦   «         s|                     ¦   «         nt          |¦  «        V — Œ<d S r<   )ÚisdigitrP   r^   )r‹   Úparts     r"   r�   z'_parse_local_version.<locals>.<genexpr>q  sU   è è € ð 
ð 
àð !%§¢¡¤Ð=ˆD�JŠJ‰LŒLˆLµC¸±I´Ið
ð 
ð 
ð 
ð 
ð 
r$   )rŽ   Ú_local_version_separatorsr½   )rG   s    r"   r¡   r¡   k  sM   € ð
 ÐÝð 
ð 
å1×7Ò7¸Ñ>Ô>ð
ñ 
ô 
ñ 
ô 
ð 	
ð ˆ4r$   rû   r   )r*   r+   r,   éÿÿÿÿr   rB   rC   r1   rE   rÍ   c                óÌ  — t          |¦  «        }|}|r%||dz
           dk    r|dz  }|r||dz
           dk    °||k    r|n	|d|…         }|€|€|€|€
| |t          fS |€|€|�
t          d}
}	n'|€
t          d}
}	nt          |d                  |d         }
}	|€dnd}|€dn|d         }|€dnd}|€dn|d         }|	|
||||f}|€| ||fS t          d„ |D ¦   «         ¦  «        }| |||fS )a©  Build a comparison key for PEP 440 ordering.

    Returns ``(epoch, release, suffix)`` or
    ``(epoch, release, suffix, local)`` so that plain tuple
    comparison gives the correct order.

    Trailing zeros are stripped from the release so that ``1.0.0 == 1``.

    The suffix is a flat 6-int tuple that encodes pre/post/dev:
    ``(pre_rank, pre_n, post_rank, post_n, dev_rank, dev_n)``

    pre_rank: dev-only=-1, a=0, b=1, rc=2, no-pre=3
        Dev-only releases (no pre or post) get -1 so they sort before
        any alpha/beta/rc.  Releases without a pre-release tag get 3
        so they sort after rc.
    post_rank: no-post=0, post=1
        Releases without a post segment sort before those with one.
    dev_rank: dev=0, no-dev=1
        Releases without a dev segment sort after those with one.

    Local segments use ``(n, "")`` for ints and ``(-1, s)`` for strings,
    following PEP 440: strings sort before ints, strings compare
    lexicographically, ints compare numerically, and shorter segments
    sort before longer when prefixes match.  Versions without a local
    segment sort before those with one (3-tuple < 4-tuple).

    >>> _cmpkey(0, (1, 0, 0), None, None, None, None)
    (0, (1,), (3, 0, 0, 0, 1, 0))
    >>> _cmpkey(0, (1,), ("a", 1), None, None, None)
    (0, (1,), (0, 1, 0, 0, 1, 0))
    >>> _cmpkey(0, (1,), None, None, None, ("ubuntu", 1))
    (0, (1,), (3, 0, 0, 0, 1, 0), ((-1, 'ubuntu'), (1, '')))
    rû   r   Nc              3  óZ   K  — | ]&}t          |t          ¦  «        r|d fnt          |fV — Œ'dS )r²   N)rf   r^   Ú_LOCAL_STR_RANK)r‹   Úsegs     r"   r�   z_cmpkey.<locals>.<genexpr>Ì  sO   è è € ð $ð $ØJM•Z ¥SÑ)Ô)ÐEˆˆbˆ	ˆ	µÀÐ/Eð$ð $ð $ð $ð $ð $r$   )r�   Ú_STABLE_SUFFIXÚ_PRE_RANK_DEV_ONLYÚ_PRE_RANK_STABLEÚ	_PRE_RANKrŽ   )rB   rC   r1   r-   rE   rG   r#  rŒ   ÚtrimmedÚpre_rankr´   Ú	post_rankÚpost_nÚdev_rankr¹   ÚsuffixÚ	cmp_locals                    r"   rÏ   rÏ   …  si  € õT �g‘,”,€KØ€AØ
ð �˜˜A™” !Ò#Ð#Ø	ˆQ‰ˆð ð �˜˜A™” !Ò#Ð#à˜kÒ)Ð)ˆgˆg¨w°r¸°r¬{€Gð €{�t�|¨¨¸¸Ø�g�~Ð-Ð-à
€{�t�|¨¨å,¨a�%ˆˆØ	ˆÝ*¨A�%ˆˆå# C¨¤FÔ+¨S°¬V�%ˆà�\�� q€IØ�,ˆQˆQ D¨¤G€Fà�Kˆqˆq Q€HØ�ˆAˆA # a¤&€Eà˜˜y¨&°(¸EÐB€Fà€}Ø�g˜vÐ%Ð%å#ð $ð $ØQVð$ñ $ô $ñ ô €Ið �'˜6 9Ð,Ð,r$   )r   r   r   r   )r   r:   )rN   r   r   r   )rS   r   r   r7   )rƒ   r   r   r^   )rƒ   r   r   rˆ   )rƒ   r   r   r’   )rƒ   r   r   r–   )rƒ   r   r   rš   )rƒ   r   r   r�   )rN   rF   r”   r$  r   rD   )rG   rF   r   r�   )rB   r^   rC   rˆ   r1   rD   r-   rD   rE   rD   rG   r�   r   rÍ   )FrV   Ú
__future__r   r  Úsysrz   r   r   r   r   r   r	   r
   r   r{   Útyping_extensionsr   r   Úversion_infor   r   r)   r%   rQ   r=   r>   r^   r   Ú	LocalTypeÚCmpLocalTypeÚ	CmpSuffixrÍ   rc   ÚVersionComparisonMethodr@   r8   r9   r¾   r6   rX   Ú_VERSION_PATTERNÚreplaceÚ_VERSION_PATTERN_OLDÚimplementationÚnamer5   r  r  ÚASCIIrŸ   Ú	frozensetrº   r‡   r‘   r•   r™   rœ   r¢   r¤   r7   r  rÁ   r*  r¡   r3  r1  r2  r.  r0  rÏ   r(   r$   r"   ú<module>rJ     s'  ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 
€
€
€
Ø €€€ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 
Ôð /Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àÔ�wÒÐØ2Ð2Ð2Ð2Ð2Ð2Ð2ØÔð Ø;Ð;Ð;Ð;Ð;Ð;Ð;àÐÐÐØ€O€O€Oðð ð ð ð" ØØ	ØØØØ	ðð Ð ð UÐ
TÐ
T€ðð ð ð ð �%˜˜S˜”/ 3Ð&Ô'€	à�U˜3 ˜8”_ cÐ)Ô*€Ø�#�s˜C  c¨3Ð.Ô/€	Ø	Ø	ˆ#ˆu�S˜#�XŒ 	Ð
)Ô*Ø	ˆ#ˆu�S˜#�XŒ 	¨<Ð
7Ô8ð:ô
€ð # F¨FÐ#3°TÐ#9Ô:Ð ðð ð ð ð �i uð ñ ô ð ð5ð 5ð 5ð 5ð*ð ð ð ðð ð ð ð �Zñ ô ð ð3'ð 3'ð 3'ð 3'ð 3'ñ 3'ô 3'ð 3'ðt"Ð ðH (×/Ò/°°cÑ:Ô:×BÒBÀ4ÈÑMÔMÐ ð 	ÔÔ 9Ò,Ð,°Ô1AÀJÒ1NÐ1NØÔÔ 6Ò)Ð)¨cÔ.>ÀÒ.LÐ.LØ
Ô˜'Ò!Ð!ð Ðð 
ð ðð$ �”Ð;¸R¼]ÈRÌXÑ=UÑVÔV€ð '˜Y }Ñ5Ô5Ð ðð ð ð ð	ð 	ð 	ð 	ð
ð 
ð 
ð 
ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ˆzñ ô ð ð[@ð [@ð [@ð [@ð [@ˆlñ [@ô [@ð [@ð|4ð 4ð 4ð 4ð 4�gñ 4ô 4ð 4ðDð ð ð ð0 '˜BœJ yÑ1Ô1Ð ð
ð 
ð 
ð 
ð ˜! 1Ð%Ð%€	ØÐ ØÐ ð €ð # A q¨!¨Q°Ð2€ðJ-ð J-ð J-ð J-ð J-ð J-r$   