
    hMhY4                     h   d Z ddlZddlZddlZddlmZmZmZmZm	Z	 g dZ
 G d d          Z e            Z G d d          Z e            Ze	eef         Ze	eeeef         f         Ze	eeef         Ze	eee	eeeef         eeef         f         d	f         f         Zeeeed	f         eeeef         Zeeeed	f         f         Zee	eef         e	eef         gef         Z ej        d
g d          Z G d de          Z G d d          ZdZ G d de          Zdede	ee ef         deeeef                  fdZ! ej"        d          Z#dedee         fdZ$dedeed	f         deeeef                  deeeef                  deeeef                  deee                  defdZ%dS ) a  Extract reference documentation from the pypa/packaging source tree.

In the process of copying, some unused methods / classes were removed.
These include:

- parse()
- anything involving LegacyVersion

This software is made available under the terms of *either* of the licenses
found in LICENSE.APACHE or LICENSE.BSD. Contributions to this software is made
under the terms of *both* these licenses.

Vendored from:
- https://github.com/pypa/packaging/
- commit ba07d8287b4554754ac7178d177033ea3f75d489 (09/09/2021)
    N)CallableOptionalSupportsIntTupleUnion)VersionInvalidVersionVERSION_PATTERNc                       e Zd ZdefdZdefdZdedefdZ	dedefdZ
dedefdZdedefdZdedefd	Zdedefd
ZdeddfdZdS )InfinityTypereturnc                     dS )NInfinity selfs    X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/seaborn/external/version.py__repr__zInfinityType.__repr__#   s    z    c                 :    t          t          |                     S Nhashreprr   s    r   __hash__zInfinityType.__hash__&       DJJr   otherc                     dS NFr   r   r   s     r   __lt__zInfinityType.__lt__)       ur   c                     dS r   r   r    s     r   __le__zInfinityType.__le__,   r"   r   c                 ,    t          || j                  S r   
isinstance	__class__r    s     r   __eq__zInfinityType.__eq__/       %000r   c                 .    t          || j                   S r   r&   r    s     r   __ne__zInfinityType.__ne__2       eT^4444r   c                     dS NTr   r    s     r   __gt__zInfinityType.__gt__5       tr   c                     dS r/   r   r    s     r   __ge__zInfinityType.__ge__8   r1   r   r   NegativeInfinityTypec                     t           S r   )NegativeInfinityr   s    r   __neg__zInfinityType.__neg__;   s    r   N)__name__
__module____qualname__strr   intr   objectboolr!   r$   r)   r,   r0   r3   r7   r   r   r   r   r   "   s9       #     #        F t    F t    1F 1t 1 1 1 15F 5t 5 5 5 5F t    F t     f  !7            r   r   c                       e Zd ZdefdZdefdZdedefdZ	dedefdZ
dedefdZdedefdZdedefd	Zdedefd
ZdedefdZdS )r4   r   c                     dS )Nz	-Infinityr   r   s    r   r   zNegativeInfinityType.__repr__C   s    {r   c                 :    t          t          |                     S r   r   r   s    r   r   zNegativeInfinityType.__hash__F   r   r   r   c                     dS r/   r   r    s     r   r!   zNegativeInfinityType.__lt__I   r1   r   c                     dS r/   r   r    s     r   r$   zNegativeInfinityType.__le__L   r1   r   c                 ,    t          || j                  S r   r&   r    s     r   r)   zNegativeInfinityType.__eq__O   r*   r   c                 .    t          || j                   S r   r&   r    s     r   r,   zNegativeInfinityType.__ne__R   r-   r   c                     dS r   r   r    s     r   r0   zNegativeInfinityType.__gt__U   r"   r   c                     dS r   r   r    s     r   r3   zNegativeInfinityType.__ge__X   r"   r   r   c                     t           S r   )r   r   s    r   r7   zNegativeInfinityType.__neg__[   s    r   N)r8   r9   r:   r;   r   r<   r   r=   r>   r!   r$   r)   r,   r0   r3   r   r7   r   r   r   r4   r4   B   s8       #     #        F t    F t    1F 1t 1 1 1 15F 5t 5 5 5 5F t    F t    f       r   r4   ._Version)epochreleasedevprepostlocalc                       e Zd ZdZdS )r	   zF
    An invalid version was found, users should refer to PEP 440.
    N)r8   r9   r:   __doc__r   r   r   r	   r	      s           r   r	   c                       e Zd ZU eeef         ed<   defdZdd de	fdZ
dd de	fdZdede	fdZdd de	fdZdd de	fd	Zdede	fd
ZdS )_BaseVersion_keyr   c                 *    t          | j                  S r   )r   rT   r   s    r   r   z_BaseVersion.__hash__   s    DIr   r   c                 Z    t          |t                    st          S | j        |j        k     S r   r'   rS   NotImplementedrT   r    s     r   r!   z_BaseVersion.__lt__   )    %.. 	"!!y5:%%r   c                 Z    t          |t                    st          S | j        |j        k    S r   rW   r    s     r   r$   z_BaseVersion.__le__   )    %.. 	"!!yEJ&&r   c                 Z    t          |t                    st          S | j        |j        k    S r   rW   r    s     r   r)   z_BaseVersion.__eq__   r[   r   c                 Z    t          |t                    st          S | j        |j        k    S r   rW   r    s     r   r3   z_BaseVersion.__ge__   r[   r   c                 Z    t          |t                    st          S | j        |j        k    S r   rW   r    s     r   r0   z_BaseVersion.__gt__   rY   r   c                 Z    t          |t                    st          S | j        |j        k    S r   rW   r    s     r   r,   z_BaseVersion.__ne__   r[   r   N)r8   r9   r:   r   CmpKeyLegacyCmpKey__annotations__r<   r   r>   r!   r$   r=   r)   r3   r0   r,   r   r   r   rS   rS      s        
$
%%%%#    &N &t & & & &'N 't ' ' ' ''F 't ' ' ' ''N 't ' ' ' '&N &t & & & &'F 't ' ' ' ' ' 'r   rS   a  
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c                   V   e Zd Z ej        dez   dz   ej        ej        z            Zde	ddfdZ
de	fdZde	fdZedefd	            Zedeed
f         fd            Zedeee	ef                  fd            Zedee         fd            Zedee         fd            Zedee	         fd            Zede	fd            Zede	fd            Zedefd            Zedefd            Zedefd            Zedefd            Zedefd            Zedefd            ZdS )r   z^\s*z\s*$versionr   Nc                    | j                             |          }|st          d| d          t          |                    d          r"t          |                    d                    ndt          d |                    d                              d          D                       t          |                    d          |                    d	                    t          |                    d
          |                    d          p|                    d                    t          |                    d          |                    d                    t          |                    d                              | _
        t          | j
        j        | j
        j        | j
        j        | j
        j        | j
        j        | j
        j                  | _        d S )NzInvalid version: ''rJ   r   c              3   4   K   | ]}t          |          V  d S r   )r<   .0is     r   	<genexpr>z#Version.__init__.<locals>.<genexpr>   s(      LLQ#a&&LLLLLLr   rK   .pre_lpre_npost_lpost_n1post_n2dev_ldev_nrO   )rJ   rK   rM   rN   rL   rO   )_regexsearchr	   rI   groupr<   tuplesplit_parse_letter_version_parse_local_version_version_cmpkeyrJ   rK   rM   rN   rL   rO   rT   )r   rd   matchs      r   __init__zVersion.__init__   s    ""7++ 	B !@g!@!@!@AAA !/4{{7/C/CJ#ekk'**+++LL%++i*@*@*F*Fs*K*KLLLLL%ekk'&:&:EKK<P<PQQ&H%%u{{9'='='WYAWAW  &ekk'&:&:EKK<P<PQQ&u{{7';';<<	
 	
 	
 MM!MMMM
 
			r   c                     d|  dS )Nz
<Version('z')>r   r   s    r   r   zVersion.__repr__   s    %D%%%%r   c                 B   g }| j         dk    r|                    | j          d           |                    d                    d | j        D                                  | j        7|                    d                    d | j        D                                  | j        |                    d| j                    | j        |                    d| j                    | j        |                    d	| j                    d                    |          S )
Nr   !rl   c              3   4   K   | ]}t          |          V  d S r   r;   ri   xs     r   rk   z"Version.__str__.<locals>.<genexpr>  (      ;;c!ff;;;;;;r    c              3   4   K   | ]}t          |          V  d S r   r   r   s     r   rk   z"Version.__str__.<locals>.<genexpr>  s(       : :AQ : : : : : :r   z.postz.dev+)rJ   appendjoinrK   rM   rN   rL   rO   r   partss     r   __str__zVersion.__str__   s     :??LLDJ)))*** 	SXX;;dl;;;;;<<< 8LL : : : : :::;;; 9 LL,,,--- 8LL***+++ :!LL)TZ))***wwu~~r   c                     | j         j        }|S r   )r{   rJ   )r   _epochs     r   rJ   zVersion.epoch  s    m)r   .c                     | j         j        }|S r   )r{   rK   )r   _releases     r   rK   zVersion.release  s    $(M$9r   c                     | j         j        }|S r   )r{   rM   )r   _pres     r   rM   zVersion.pre   s    *.-*;r   c                 B    | j         j        r| j         j        d         nd S N   )r{   rN   r   s    r   rN   zVersion.post%  s!    (,(:Dt}!!$$Dr   c                 B    | j         j        r| j         j        d         nd S r   )r{   rL   r   s    r   rL   zVersion.dev)  s!    '+}'8Bt} ##dBr   c                 p    | j         j        r)d                    d | j         j        D                       S d S )Nrl   c              3   4   K   | ]}t          |          V  d S r   r   r   s     r   rk   z Version.local.<locals>.<genexpr>0  s(      @@qCFF@@@@@@r   )r{   rO   r   r   s    r   rO   zVersion.local-  s:    = 	88@@DM,?@@@@@@4r   c                 T    t          |                               dd          d         S )Nr   r   r   )r;   rx   r   s    r   publiczVersion.public4  s!    4yysA&&q))r   c                     g }| j         dk    r|                    | j          d           |                    d                    d | j        D                                  d                    |          S )Nr   r   rl   c              3   4   K   | ]}t          |          V  d S r   r   r   s     r   rk   z'Version.base_version.<locals>.<genexpr>A  r   r   r   )rJ   r   r   rK   r   s     r   base_versionzVersion.base_version8  sr     :??LLDJ)))*** 	SXX;;dl;;;;;<<<wwu~~r   c                 &    | j         d up| j        d uS r   )rL   rM   r   s    r   is_prereleasezVersion.is_prereleaseE  s    xt#;txt';;r   c                     | j         d uS r   )rN   r   s    r   is_postreleasezVersion.is_postreleaseI  s    y$$r   c                     | j         d uS r   )rL   r   s    r   is_devreleasezVersion.is_devreleaseM  s    xt##r   c                 P    t          | j                  dk    r| j        d         ndS )Nr   r   lenrK   r   s    r   majorzVersion.majorQ  &    "%dl"3"3q"8"8t|Aa?r   c                 P    t          | j                  dk    r| j        d         ndS )N   r   r   r   r   s    r   minorzVersion.minorU  r   r   c                 P    t          | j                  dk    r| j        d         ndS )N   r   r   r   r   s    r   microzVersion.microY  r   r   ) r8   r9   r:   recompiler
   VERBOSE
IGNORECASErt   r;   r~   r   r   propertyr<   rJ   r   rK   r   rM   rN   rL   rO   r   r   r>   r   r   r   r   r   r   r   r   r   r   r      s       RZ/1G;RZ"-=WXXF
 
 
 
 
 
:&# & & & &    8 s    X sCx    X XeCHo.    X Ehsm E E E XE CXc] C C C XC x}    X * * * * X* 
c 
 
 
 X
 <t < < < X< % % % % X% $t $ $ $ X$ @s @ @ @ X@ @s @ @ @ X@ @s @ @ @ X@ @ @r   r   letternumberr   c                     | rH|d}|                                  } | dk    rd} n| dk    rd} n| dv rd} n| dv rd	} | t          |          fS | s|rd	} | t          |          fS d S )
Nr   alphaabetab)crM   previewrc)revrrN   )lowerr<   )r   r   s     r   ry   ry   ^  s      # >F 
 WFFvFF...FF|##Fs6{{"" #f # s6{{""4r   z[\._-]rO   c                 l    | 1t          d t                              |           D                       S dS )zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc              3      K   | ];}|                                 s|                                nt          |          V  <d S r   )isdigitr   r<   )ri   parts     r   rk   z'_parse_local_version.<locals>.<genexpr>  sU       
 
 !%=DJJLLLCII
 
 
 
 
 
r   )rw   _local_version_separatorsrx   )rO   s    r   rz   rz     sM      
 
177>>
 
 
 
 
 	
 4r   rJ   rK   rM   rN   rL   c                 P   t          t          t          t          j        d t          |                                                  }||
|t
          }n|t          }n|}|t
          }n|}|t          }	n|}	|t
          }
nt          d |D                       }
| ||||	|
fS )Nc                     | dk    S )Nr   r   )r   s    r   <lambda>z_cmpkey.<locals>.<lambda>  s
    AF r   c              3   Z   K   | ]&}t          |t                    r|d fnt          |fV  'dS )r   N)r'   r<   r6   rh   s     r   rk   z_cmpkey.<locals>.<genexpr>  sP       
 
IJz!S))DQGG0@!/D
 
 
 
 
 
r   )rw   reversedlist	itertools	dropwhiler6   r   )rJ   rK   rM   rN   rL   rO   r   r   _post_dev_locals              r   r|   r|     s     i)*:*:HW<M<MNNOOPP H {t|/ 
 | 0  {' },  
 
NS
 
 
 
 
 (D%v55r   )&rQ   collectionsr   r   typingr   r   r   r   r   __all__r   r   r4   r6   InfiniteTypesr;   r<   PrePostDevTypeSubLocalType	LocalTyper`   ra   r>   VersionComparisonMethod
namedtuplerI   
ValueErrorr	   rS   r
   r   bytesry   r   r   rz   r|   r   r   r   <module>r      s   .         				 @ @ @ @ @ @ @ @ @ @ @ @ @ @
:
:
:
               : <>>       : (')) 
 l$889}eCHo56]C,-	,#$&457	

 		
	 
sCx...)S
 S%S/)*"
6< %(<"=>D  ";!CCC     Z   +' +' +' +' +' +' +' +'`@E@ E@ E@ E@ E@l E@ E@ E@P!!sE;67!eCHo! ! ! !H 'BJy11 	 	(; 	 	 	 	<6<638_<6 
%S/	"<6 5c?
#	<6
 
%S/	"<6 E,'(<6 <6 <6 <6 <6 <6 <6r   