ó
    Eñi¯  ã                   ó*   • S r SSKrS/r " S S5      rg)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                   ó^   • \ rS rSrSrSrS rS rS rS rS r	S	 r
S
 rS rS rS rS rSrg)r   é   aK  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                 ó,  • Xl         [        R                  " SU5      nU(       d  [        S5      eUR	                  5       U l        U R
                  R                  S5       Vs/ s H  n[        U5      PM     snu  U l        U l	        U l
        [        U5      UR                  5       :X  a  SU l        O´[        R                  " SXR                  5       S  5      n[        R                  " SXR                  5       S  5      n[        R                  " SXR                  5       S  5      nXEU4 Vs/ s H	  owc  M  UPM     nnU(       a  US   R	                  5       U l        OS	U l        [        [        R                  " S
U5      5      U l        g s  snf s  snf )Nz\d+\.\d+\.\d+z Not a valid numpy version stringÚ.Úfinalza\dzb\dzrc\dr   Ú z.dev)ÚvstringÚreÚmatchÚ
ValueErrorÚgroupÚversionÚsplitÚintÚmajorÚminorÚbugfixÚlenÚendÚpre_releaseÚboolÚsearchÚis_devversion)	Úselfr
   Úver_mainÚxÚalphaÚbetaÚrcÚmÚpre_rels	            ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/numpy/lib/_version.pyÚ__init__ÚNumpyVersion.__init__5   s;  € ØŒÜ—8’8Ð,¨gÓ6ˆÞÜÐ?Ó@Ð@à—~‘~Ó'ˆŒà�L‰L×Ñ˜sÔ#ó/%Ú#ð ;<¬s°1®vÙ#ñ/%Ñ+ˆŒ
�D”J ¤äˆw‹<˜8Ÿ<™<›>Ó)Ø&ˆDÕä—H’H˜V W¯\©\«^¨_Ð%=Ó>ˆEÜ—8’8˜F G¯L©L«N¨OÐ$<Ó=ˆDÜ—’˜' 7¯<©<«>¨?Ð#;Ó<ˆBØ#(°Ñ"3ÓEÒ"3˜Q—qÑ"3ˆGÐEÞØ#*¨1¡:×#3Ñ#3Ó#5�Õ à#%�Ô ä!¤"§)¢)¨G°WÓ"=Ó>ˆÕùò/%ùò Fs   Á"FÄ-FÄ7Fc                 óv  • U R                   UR                   :X  a~  U R                  UR                  :X  aA  U R                  UR                  :X  a  SnU$ U R                  UR                  :”  a  SnU$ Sn U$ U R                  UR                  :”  a  SnU$ Sn U$ U R                   UR                   :”  a  SnU$ SnU$ )zCompare major.minor.bugfixr   é   éÿÿÿÿ)r   r   r   ©r   ÚotherÚvercmps      r#   Ú_compare_versionÚNumpyVersion._compare_versionL   sÀ   € à�:‰:˜Ÿ™Ó$Ø�z‰z˜UŸ[™[Ó(Ø—;‘; %§,¡,Ó.Ø�Fð ˆð —[‘[ 5§<¡<Ó/Ø�Fð ˆð  ‘Fð ˆð —‘˜eŸk™kÓ)Ø�ð ˆð ‘ð ˆð �Z‰Z˜%Ÿ+™+Ó%ØˆFð ˆð ˆFàˆó    c                 óÒ   • U R                   UR                   :X  a  SnU$ U R                   S:X  a  SnU$ UR                   S:X  a  SnU$ U R                   UR                   :”  a  SnU$ SnU$ )zCompare alpha/beta/rc/final.r   r   r'   r(   )r   r)   s      r#   Ú_compare_pre_releaseÚ!NumpyVersion._compare_pre_releasea   sˆ   € à×Ñ˜u×0Ñ0Ó0ØˆFð ˆð ×Ñ Ó(ØˆFð ˆð ×Ñ 'Ó)ØˆFð ˆð ×Ñ × 1Ñ 1Ó1ØˆFð ˆð ˆFàˆr.   c                 óV  • [        U[        [        45      (       d  [        S5      e[        U[        5      (       a  [        U5      nU R	                  U5      nUS:X  aK  U R                  U5      nUS:X  a4  U R                  UR                  L a  SnU$ U R                  (       a  SnU$ SnU$ )Nz,Invalid object to compare with NumpyVersion.r   r(   r'   )Ú
isinstanceÚstrr   r   r,   r0   r   r)   s      r#   Ú_compareÚNumpyVersion._comparep   s¨   € Ü˜%¤#¤|Ð!4×5Ñ5ÜÐKÓLÐLä�eœS×!Ñ!Ü  Ó'ˆEà×&Ñ& uÓ-ˆØ�Q‹;à×.Ñ.¨uÓ5ˆFØ˜‹{à×%Ñ%¨×)<Ñ)<Ò<Ø�Fð ˆð ×'×'Ø�Fð ˆð �Fàˆr.   c                 ó*   • U R                  U5      S:  $ ©Nr   ©r5   ©r   r*   s     r#   Ú__lt__ÚNumpyVersion.__lt__†   ó   € Ø�}‰}˜UÓ# aÑ'Ð'r.   c                 ó*   • U R                  U5      S:*  $ r8   r9   r:   s     r#   Ú__le__ÚNumpyVersion.__le__‰   ó   € Ø�}‰}˜UÓ# qÑ(Ð(r.   c                 ó*   • U R                  U5      S:H  $ r8   r9   r:   s     r#   Ú__eq__ÚNumpyVersion.__eq__Œ   rA   r.   c                 ó*   • U R                  U5      S:g  $ r8   r9   r:   s     r#   Ú__ne__ÚNumpyVersion.__ne__�   rA   r.   c                 ó*   • U R                  U5      S:„  $ r8   r9   r:   s     r#   Ú__gt__ÚNumpyVersion.__gt__’   r=   r.   c                 ó*   • U R                  U5      S:¬  $ r8   r9   r:   s     r#   Ú__ge__ÚNumpyVersion.__ge__•   rA   r.   c                 ó"   • SU R                    S3$ )NzNumpyVersion(Ú))r
   )r   s    r#   Ú__repr__ÚNumpyVersion.__repr__˜   s   € Ø˜tŸ|™|˜n¨AÐ.Ð.r.   )r   r   r   r   r   r   r
   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r$   r,   r0   r5   r;   r?   rC   rF   rI   rL   rP   Ú__static_attributes__© r.   r#   r   r      sF   † ñ#ðJ €Jò?ò.ò*òò,(ò)ò)ò)ò(ò)õ/r.   )rV   r   Ú__all__r   rX   r.   r#   Ú<module>rZ      s#   ðñó 
àÐ
€÷L/ò L/r.   