+
    Ai                     D    ^ RI t ^ RIHt R tR tRR ltRR ltRR ltR# )	    N)versionc                    VR8X  d.   \         P                  ! V 4      \         P                  ! V4      8  # VR8X  d.   \         P                  ! V 4      \         P                  ! V4      8  # VR8X  d.   \         P                  ! V 4      \         P                  ! V4      8H  # VR8X  d.   \         P                  ! V 4      \         P                  ! V4      8  # R#   \         d     R# i ; i)a  
Check version string of an active module against a required version.

If dev/prerelease tags result in TypeError for string-number comparison,
it is assumed that the dependency is satisfied.
Users on dev branches are responsible for keeping their own packages up to
date.
>>==<FT)_versionparse	TypeError)actverr   cmp_ops   &&&b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/skimage/_shared/version_requirements.py_check_versionr      s    S=>>&)HNN7,CCCt^>>&)X^^G-DDDs]>>&)X^^G-DDDs]>>&)HNN7,CCC s"   3C 3C *3C 3C C#"C#c           	     x    \        W P                  R4      R,          .R7      p\        VR\        VRR4      4      # )z<Return module version or None if version can't be retrieved..fromlist__version__VERSIONN)
__import__
rpartitiongetattr)module_namemods   & r   get_module_versionr      s7    
[,B,B3,G,K+L
MC3wsIt'DEE    c                   V P                  4       R8X  d   \        P                  R,          pM \        V 4      pVf   R# ^ RIpVP                  RV4      pVf   Q R4       hVRVP                  4        pV'       g   RpVR9   g   Q R	V R
24       hWP                  4       R p\        W!V4      #   \         d     R# i ; i)a  Test if *name* is installed.

Parameters
----------
name : str
    Name of module or "python"
version : str, optional
    Version string to test against.
    If version is not None, checking version
    (must have an attribute named '__version__' or 'VERSION')
    Version may start with =, >=, > or < to specify the exact requirement

Returns
-------
out : bool
    True if `name` is installed matching the optional version.
python:N   NFNTz[0-9]zInvalid version numberr   zInvalid version condition '')r   r   r   r   )	lowersysr   r   ImportErrorresearchstartr   )namer   r   r%   matchsymbs   &&    r   is_installedr+   $   s    $ zz|xR	'-F  			'7+ :":: 'D,,S0KD6QR.SS,++-/*ft44!  		s   B. .B=<B=c                $   a aa ^ RI oVV V3R lpV# )a  Return decorator that forces a requirement for a function or class.

Parameters
----------
name : str
    Name of module or "python".
version : str, optional
    Version string to test against.
    If version is not None, checking version
    (must have an attribute named '__version__' or 'VERSION')
    Version may start with =, >=, > or < to specify the exact requirement

Returns
-------
func : function
    A decorator that raises an ImportError if a function is run
    in the absence of the input dependency.
Nc                 B   <a  SP                  S 4      VV V3R  l4       pV# )c                     < \        SS4      '       d	   S! V / VB # R S RSP                   RS 2pSe   VRS 2,          p\        VR ,           4      h)"z" in "z" requires " )r+   
__module__r$   )argskwargsmsgr(   objr   s   *, r   func_wrapped0require.<locals>.decorator.<locals>.func_wrappedf   sb    D'**D+F++#fS^^$4LG&Qwi=(C!#),,r   )wraps)r5   r6   	functoolsr(   r   s   f r   	decoratorrequire.<locals>.decoratore   s&    			- 
	- r   )r9   )r(   r   r:   r9   s   ff @r   requirer<   N   s    *  r   c                n    \        W4      '       g   R# \        W P                  R4      R,          .R7      # )a  Return a module object of name *module_name* if installed.

Parameters
----------
module_name : str
    Name of module.
version : str, optional
    Version string to test against.
    If version is not None, checking version
    (must have an attribute named '__version__' or 'VERSION')
    Version may start with =, >=, > or < to specify the exact requirement

Returns
-------
mod : module or None
    Module if *module_name* is installed matching the optional version
    or None otherwise.
Nr   r   r   )r+   r   r   )r   r   s   &&r   
get_moduler>   u   s0    & --k-C-CC-H-L,MNNr   )N)	r#   	packagingr   r	   r   r   r+   r<   r>    r   r   <module>rA      s(    
 )0F'5T$NOr   