+
    &i                     ,    R t ^ RItR.t ! R R4      tR# )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                   j   a  ] tR t^t o RtRtR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )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                :   Wn         \        P                  ! R V4      pV'       g   \        R4      hVP	                  4       V n        V P
                  P                  R4       Uu. uF  p\        V4      NK  	  upw  V n        V n	        V n
        \        V4      VP                  4       8X  d	   RV n        M\        P                  ! RWP                  4       R 4      p\        P                  ! RWP                  4       R 4      p\        P                  ! RWP                  4       R 4      pWEV3 Uu. uF
  qwf   K  VNK  	  ppV'       d   V^ ,          P	                  4       V n        MRV n        \        \        P                  ! R	V4      4      V n        R# u upi u upi )
z\d+\.\d+\.\d+z Not a valid numpy version string.finalza\dNzb\dzrc\d 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	   &&       P/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numpy/lib/_version.py__init__NumpyVersion.__init__5   s=   88,g6?@@~~'LLs#/%# ;<s1v#/%+
DJw<8<<>)&DHHVW\\^_%=>E88FGLLNO$<=D'7<<>?#;<B#("3E"3Qqq"3GE#*1:#3#3#5 #% !"))GW"=>/% Fs   #F.F8Fc                   V P                   VP                   8X  d   V P                  VP                  8X  dD   V P                  VP                  8X  d   ^ pV# V P                  VP                  8  d   ^pV# Rp V# V P                  VP                  8  d   ^pV# Rp V# V P                   VP                   8  d   ^pV# RpV# )zCompare major.minor.bugfix)r   r   r   r   othervercmps   && r!   _compare_versionNumpyVersion._compare_versionL   s    ::$zzU[[(;;%,,.F  [[5<</F   F  ekk)    ZZ%++%F  F    c                    V P                   VP                   8X  d   ^ pV# V P                   R8X  d   ^pV# VP                   R8X  d   RpV# V P                   VP                   8  d   ^pV# RpV# )zCompare alpha/beta/rc/final.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                b   \        V\        \        34      '       g   \        R 4      h\        V\        4      '       d   \        V4      pV P	                  V4      pV^ 8X  dO   V P                  V4      pV^ 8X  d7   V P                  VP                  J d   ^ pV# V P                  '       d   RpV# ^pV# )z,Invalid object to compare with NumpyVersion.r%   )
isinstancestrr   r   r)   r-   r   r&   s   && r!   _compareNumpyVersion._comparep   s    %#|!455KLLeS!! 'E&&u-Q;..u5F{%%)<)<<F  '''F  Fr+   c                *    V P                  V4      ^ 8  #     r2   r   r'   s   &&r!   __lt__NumpyVersion.__lt__       }}U#a''r+   c                *    V P                  V4      ^ 8*  # r5   r7   r8   s   &&r!   __le__NumpyVersion.__le__       }}U#q((r+   c                *    V P                  V4      ^ 8H  # r5   r7   r8   s   &&r!   __eq__NumpyVersion.__eq__   r?   r+   c                *    V P                  V4      ^ 8g  # r5   r7   r8   s   &&r!   __ne__NumpyVersion.__ne__   r?   r+   c                *    V P                  V4      ^ 8  # r5   r7   r8   s   &&r!   __gt__NumpyVersion.__gt__   r;   r+   c                *    V P                  V4      ^ 8  # r5   r7   r8   s   &&r!   __ge__NumpyVersion.__ge__   r?   r+   c                "    R V P                    R2# )zNumpyVersion())r   )r   s   &r!   __repr__NumpyVersion.__repr__   s    t||nA..r+   )r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r"   r)   r-   r2   r9   r=   rA   rD   rG   rJ   rN   __static_attributes____classdictcell__)__classdict__s   @r!   r   r      sN     #J J?.*,()))()/ /r+   )rT   r	   __all__r    r+   r!   <module>rZ      s#    

L/ L/r+   