§
    `Štj¯  ã                   ó2   — d Z ddlZdgZ G d„ d¦  «        ZdS )a  Utility to compare (NumPy) version strings.

The NumpyVersion class allows properly comparing numpy version strings.
The LooseVersion and StrictVersion classes that distutils provides don't
work; they don't recognize anything like alpha/beta/rc/dev versions.

é    NÚNumpyVersionc                   óX   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ ZdS )r   a»  Parse and compare numpy version strings.

    NumPy has the following versioning scheme (numbers given are examples; they
    can be > 9 in principle):

    - Released version: '1.8.0', '1.8.1', etc.
    - Alpha: '1.8.0a1', '1.8.0a2', etc.
    - Beta: '1.8.0b1', '1.8.0b2', etc.
    - Release candidates: '1.8.0rc1', '1.8.0rc2', etc.
    - Development versions: '1.8.0.dev-f1234afa' (git commit hash appended)
    - Development versions after a1: '1.8.0a1.dev-f1234afa',
      '1.8.0b2.dev-f1234afa', '1.8.1rc1.dev-f1234afa', etc.
    - Development versions (no git hash available): '1.8.0.dev-Unknown'

    Comparing needs to be done against a valid version string or other
    `NumpyVersion` instance. Note that all development versions of the same
    (pre-)release compare equal.

    Parameters
    ----------
    vstring : str
        NumPy version string (``np.__version__``).

    Examples
    --------
    >>> from numpy.lib import NumpyVersion
    >>> if NumpyVersion(np.__version__) < '1.7.0':
    ...     print('skip')
    >>> # skip

    >>> NumpyVersion('1.7')  # raises ValueError, add ".0"
    Traceback (most recent call last):
        ...
    ValueError: Not a valid numpy version string

    z	numpy.libc                 ó2  — || _         t          j        d|¦  «        }|st          d¦  «        ‚|                     ¦   «         | _        d„ | j                             d¦  «        D ¦   «         \  | _        | _        | _	        t          |¦  «        |                     ¦   «         k    rd| _        nÅt          j        d||                     ¦   «         d …         ¦  «        }t          j        d||                     ¦   «         d …         ¦  «        }t          j        d||                     ¦   «         d …         ¦  «        }d	„ |||fD ¦   «         }|r |d
                              ¦   «         | _        nd| _        t          t          j        d|¦  «        ¦  «        | _        d S )Nz\d+\.\d+\.\d+z Not a valid numpy version stringc                 ó,   — g | ]}t          |¦  «        ‘ŒS © )Úint)Ú.0Úxs     úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/lib/_version.pyú
<listcomp>z)NumpyVersion.__init__.<locals>.<listcomp><   s*   € ð /%ð /%ð /%¸!­s°1©v¬vð /%ð /%ð /%ó    ú.Úfinalza\dzb\dzrc\dc                 ó   — g | ]}|®|‘ŒS )Nr   )r	   Úms     r   r   z)NumpyVersion.__init__.<locals>.<listcomp>D   s   € ÐEÐEÐE˜Q°q°}�q°}°}°}r   r   Ú z.dev)ÚvstringÚreÚmatchÚ
ValueErrorÚgroupÚversionÚsplitÚmajorÚminorÚbugfixÚlenÚendÚpre_releaseÚboolÚsearchÚis_devversion)Úselfr   Úver_mainÚalphaÚbetaÚrcÚpre_rels          r   Ú__init__zNumpyVersion.__init__5   sp  € ØˆŒÝ”8Ð,¨gÑ6Ô6ˆØð 	AÝÐ?Ñ@Ô@Ð@à—~’~Ñ'Ô'ˆŒð/%ð /%ØŒL×Ò˜sÑ#Ô#ð/%ñ /%ô /%Ñ+ˆŒ
�D”J ¤åˆw‰<Œ<˜8Ÿ<š<™>œ>Ò)Ð)Ø&ˆDÔÐå”H˜V W¨X¯\ª\©^¬^¨_¨_Ô%=Ñ>Ô>ˆEÝ”8˜F G¨H¯LªL©N¬N¨O¨OÔ$<Ñ=Ô=ˆDÝ”˜' 7¨8¯<ª<©>¬>¨?¨?Ô#;Ñ<Ô<ˆBØEÐE 5¨$°Ð"3ÐEÑEÔEˆGØð &Ø#*¨1¤:×#3Ò#3Ñ#5Ô#5�Ô Ð à#%�Ô å!¥"¤)¨G°WÑ"=Ô"=Ñ>Ô>ˆÔÐÐr   c                 óî   — | j         |j         k    rO| j        |j        k    r)| j        |j        k    rd}nA| j        |j        k    rd}n.d}n+| j        |j        k    rd}nd}n| j         |j         k    rd}nd}|S )zCompare major.minor.bugfixr   é   éÿÿÿÿ)r   r   r   ©r#   ÚotherÚvercmps      r   Ú_compare_versionzNumpyVersion._compare_versionL   s�   € àŒ:˜œÒ$Ð$ØŒz˜Uœ[Ò(Ð(Ø”; %¤,Ò.Ð.Ø�F�FØ”[ 5¤<Ò/Ð/Ø�F�Fà�F�FØ”˜eœkÒ)Ð)Ø��à��ØŒZ˜%œ+Ò%Ð%ØˆFˆFàˆFàˆr   c                 óŽ   — | j         |j         k    rd}n1| j         dk    rd}n#|j         dk    rd}n| j         |j         k    rd}nd}|S )zCompare alpha/beta/rc/final.r   r   r+   r,   )r   r-   s      r   Ú_compare_pre_releasez!NumpyVersion._compare_pre_releasea   sf   € àÔ˜uÔ0Ò0Ð0ØˆFˆFØÔ Ò(Ð(ØˆFˆFØÔ 'Ò)Ð)ØˆFˆFØÔ Ô 1Ò1Ð1ØˆFˆFàˆFàˆr   c                 óJ  — t          |t          t          f¦  «        st          d¦  «        ‚t          |t          ¦  «        rt          |¦  «        }|                      |¦  «        }|dk    r8|                      |¦  «        }|dk    r| j        |j        u rd}n| j        rd}nd}|S )Nz,Invalid object to compare with NumpyVersion.r   r,   r+   )Ú
isinstanceÚstrr   r   r0   r2   r"   r-   s      r   Ú_comparezNumpyVersion._comparep   s´   € Ý˜%¥#¥|Ð!4Ñ5Ô5ð 	MÝÐKÑLÔLÐLå�e�SÑ!Ô!ð 	(Ý  Ñ'Ô'ˆEà×&Ò& uÑ-Ô-ˆØ�QŠ;ˆ;à×.Ò.¨uÑ5Ô5ˆFØ˜Š{ˆ{àÔ%¨Ô)<Ð<Ð<Ø�F�FØÔ'ð Ø�F�Fà�Fàˆr   c                 ó4   — |                       |¦  «        dk     S ©Nr   ©r6   ©r#   r.   s     r   Ú__lt__zNumpyVersion.__lt__†   ó   € Ø�}Š}˜UÑ#Ô# aÒ'Ð'r   c                 ó4   — |                       |¦  «        dk    S r8   r9   r:   s     r   Ú__le__zNumpyVersion.__le__‰   ó   € Ø�}Š}˜UÑ#Ô# qÒ(Ð(r   c                 ó4   — |                       |¦  «        dk    S r8   r9   r:   s     r   Ú__eq__zNumpyVersion.__eq__Œ   r?   r   c                 ó4   — |                       |¦  «        dk    S r8   r9   r:   s     r   Ú__ne__zNumpyVersion.__ne__�   r?   r   c                 ó4   — |                       |¦  «        dk    S r8   r9   r:   s     r   Ú__gt__zNumpyVersion.__gt__’   r<   r   c                 ó4   — |                       |¦  «        dk    S r8   r9   r:   s     r   Ú__ge__zNumpyVersion.__ge__•   r?   r   c                 ó   — d| j         › d�S )NzNumpyVersion(ú))r   )r#   s    r   Ú__repr__zNumpyVersion.__repr__˜   s   € Ø.˜tœ|Ð.Ð.Ð.Ð.r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   r0   r2   r6   r;   r>   rA   rC   rE   rG   rJ   r   r   r   r   r      sË   € € € € € ð#ð #ðJ €Jð?ð ?ð ?ð.ð ð ð*ð ð ðð ð ð,(ð (ð (ð)ð )ð )ð)ð )ð )ð)ð )ð )ð(ð (ð (ð)ð )ð )ð/ð /ð /ð /ð /r   )rN   r   Ú__all__r   r   r   r   ú<module>rP      s^   ððð ð 
€	€	€	àÐ
€ðL/ð L/ð L/ð L/ð L/ñ L/ô L/ð L/ð L/ð L/r   