
    MhI                         d dl mZ ddlmZ ddlmZmZ e edddd           G d d	                                  Zd
S )    )total_ordering   )astuple)attribattrsFT)eqorderslotsfrozenc                       e Zd ZdZ ee          Z ee          Z ee          Z ee	          Z
ed             Zd Zd Zd ZdS )VersionInfoa  
    A version object that can be compared to tuple of length 1--4:

    >>> attr.VersionInfo(19, 1, 0, "final")  <= (19, 2)
    True
    >>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1)
    True
    >>> vi = attr.VersionInfo(19, 2, 0, "final")
    >>> vi < (19, 1, 1)
    False
    >>> vi < (19,)
    False
    >>> vi == (19, 2,)
    True
    >>> vi == (19, 2, 1)
    False

    .. versionadded:: 19.2
    )typec                    |                     d          }t          |          dk    r|                    d            | t          |d                   t          |d                   t          |d                   |d                   S )z6
        Parse *s* and return a _VersionInfo.
        .   finalr   r      )yearminormicroreleaselevel)splitlenappendint)clssvs      R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/attr/_version_info.py_from_version_stringz VersionInfo._from_version_string&   sx    
 GGCLLq66Q;;HHWsQqT#ad))3qt991Q4
 
 
 	
    c                    | j         |j         u rt          |          }t          |t                    st          dt          |          cxk    rdk    s	n t          t          |           dt          |                   |fS )z
        Ensure *other* is a tuple of a valid length.

        Returns a possibly transformed *other* and ourselves as a tuple of
        the same length as *other*.
        r      N)	__class__r   
isinstancetupleNotImplementedErrorr   )selfothers     r   _ensure_tuplezVersionInfo._ensure_tuple3   s     >U_,,ENNE%'' 	&%%SZZ$$$$1$$$$%%t}}\s5zz\*E11r!   c                 p    	 |                      |          \  }}n# t          $ r
 t          cY S w xY w||k    S Nr*   r'   NotImplementedr(   r)   usthems       r   __eq__zVersionInfo.__eq__F   sS    	"))%00HB" 	" 	" 	"!!!!	" Tz    //c                 p    	 |                      |          \  }}n# t          $ r
 t          cY S w xY w||k     S r,   r-   r/   s       r   __lt__zVersionInfo.__lt__N   sS    	"))%00HB" 	" 	" 	"!!!!	"
 Dyr3   N)__name__
__module____qualname____doc__r   r   r   r   r   strr   classmethodr    r*   r2   r5    r!   r   r   r   
   s         ( 6sDFEFE6s###L

 

 [

2 2 2&      r!   r   N)	functoolsr   _funcsr   _maker   r   r   r<   r!   r   <module>r@      s    % $ $ $ $ $                       %uD666J J J J J J J 76 J J Jr!   