
    eCiY4                        S r SSKrSSKrSSKrSSKJrJrJrJrJ	r	  / SQr
 " S S5      r\" 5       r " S S5      r\" 5       r\	\\4   r\	\\\\4   4   r\	\\\4   r\	\\\	\\\\4   \\\4   4   S	4   4   r\\\\S	4   \\\\4   r\\\\S	4   4   r\\	\\4   \	\\4   /\4   r\R2                  " S
/ SQ5      r " S S\5      r " S S5      rSr " S S\5      rS\S\	\\ \4   S\\\\4      4S jr!\RD                  " S5      r#S\S\\   4S jr$S\S\\S	4   S\\\\4      S\\\\4      S\\\\4      S\\\      S\4S jr%g) 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                       \ rS rSrS\4S jrS\4S jrS\S\	4S jr
S\S\	4S jrS\S\	4S jrS\S\	4S	 jrS\S\	4S
 jrS\S\	4S jrS\SS4S jrSrg)InfinityType"   returnc                     g)NInfinity selfs    R/home/james-whalen/.local/lib/python3.13/site-packages/seaborn/external/version.py__repr__InfinityType.__repr__#   s        c                 *    [        [        U 5      5      $ Nhashreprr   s    r   __hash__InfinityType.__hash__&       DJr   otherc                     gNFr   r   r    s     r   __lt__InfinityType.__lt__)       r   c                     gr"   r   r#   s     r   __le__InfinityType.__le__,   r&   r   c                 ,    [        XR                  5      $ r   
isinstance	__class__r#   s     r   __eq__InfinityType.__eq__/       %00r   c                 6    [        XR                  5      (       + $ r   r+   r#   s     r   __ne__InfinityType.__ne__2       e^^444r   c                     gNTr   r#   s     r   __gt__InfinityType.__gt__5       r   c                     gr6   r   r#   s     r   __ge__InfinityType.__ge__8   r9   r   r   NegativeInfinityTypec                     [         $ r   )NegativeInfinityr   s    r   __neg__InfinityType.__neg__;   s    r   r   N)__name__
__module____qualname____firstlineno__strr   intr   objectboolr$   r(   r.   r2   r7   r;   r@   __static_attributes__r   r   r   r   r   "   s    #  #  F t F t 1F 1t 15F 5t 5F t F t  f  !7  r   r   c                       \ rS rSrS\4S jrS\4S jrS\S\	4S jr
S\S\	4S jrS\S\	4S jrS\S\	4S	 jrS\S\	4S
 jrS\S\	4S jrS\S\4S jrSrg)r=   B   r   c                     g)Nz	-Infinityr   r   s    r   r   NegativeInfinityType.__repr__C   s    r   c                 *    [        [        U 5      5      $ r   r   r   s    r   r   NegativeInfinityType.__hash__F   r   r   r    c                     gr6   r   r#   s     r   r$   NegativeInfinityType.__lt__I   r9   r   c                     gr6   r   r#   s     r   r(   NegativeInfinityType.__le__L   r9   r   c                 ,    [        XR                  5      $ r   r+   r#   s     r   r.   NegativeInfinityType.__eq__O   r0   r   c                 6    [        XR                  5      (       + $ r   r+   r#   s     r   r2   NegativeInfinityType.__ne__R   r4   r   c                     gr"   r   r#   s     r   r7   NegativeInfinityType.__gt__U   r&   r   c                     gr"   r   r#   s     r   r;   NegativeInfinityType.__ge__X   r&   r   r   c                     [         $ r   )r   r   s    r   r@   NegativeInfinityType.__neg__[   s    r   r   N)rB   rC   rD   rE   rF   r   rG   r   rH   rI   r$   r(   r.   r2   r7   r;   r   r@   rJ   r   r   r   r=   r=   B   s    #  #  F t F t 1F 1t 15F 5t 5F t F t f  r   r=   ._Version)epochreleasedevprepostlocalc                       \ rS rSrSrSrg)r	      z>
An invalid version was found, users should refer to PEP 440.
r   N)rB   rC   rD   rE   __doc__rJ   r   r   r   r	   r	      s    r   r	   c                       \ rS rSr% \\\4   \S'   S\4S jr	SS S\
4S jrSS S\
4S jrS\S\
4S jrSS S\
4S	 jrSS S\
4S
 jrS\S\
4S jrSrg)_BaseVersion   _keyr   c                 ,    [        U R                  5      $ r   )r   rl   r   s    r   r   _BaseVersion.__hash__   s    DIIr   r    c                 j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   r,   rj   NotImplementedrl   r#   s     r   r$   _BaseVersion.__lt__   (    %..!!yy5::%%r   c                 j    [        U[        5      (       d  [        $ U R                  UR                  :*  $ r   rp   r#   s     r   r(   _BaseVersion.__le__   (    %..!!yyEJJ&&r   c                 j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   rp   r#   s     r   r.   _BaseVersion.__eq__   rv   r   c                 j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   rp   r#   s     r   r;   _BaseVersion.__ge__   rv   r   c                 j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   rp   r#   s     r   r7   _BaseVersion.__gt__   rs   r   c                 j    [        U[        5      (       d  [        $ U R                  UR                  :g  $ r   rp   r#   s     r   r2   _BaseVersion.__ne__   rv   r   r   N)rB   rC   rD   rE   r   CmpKeyLegacyCmpKey__annotations__rG   r   rI   r$   r(   rH   r.   r;   r7   r2   rJ   r   r   r   rj   rj      s    
$
%%# &N &t &'N 't ''F 't ''N 't '&N &t &'F 't 'r   rj   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                      \ rS rSr\R
                  " S\-   S-   \R                  \R                  -  5      r	S\
SS4S jrS\
4S jrS\
4S	 jr\S\4S
 j5       r\S\\S4   4S j5       r\S\\\
\4      4S j5       r\S\\   4S j5       r\S\\   4S j5       r\S\\
   4S j5       r\S\
4S j5       r\S\
4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r Sr!g)r      z^\s*z\s*$versionr   Nc                    U R                   R                  U5      nU(       d  [        SU S35      e[        UR	                  S5      (       a  [        UR	                  S5      5      OS[        S UR	                  S5      R                  S5       5       5      [        UR	                  S5      UR	                  S	5      5      [        UR	                  S
5      UR	                  S5      =(       d    UR	                  S5      5      [        UR	                  S5      UR	                  S5      5      [        UR	                  S5      5      S9U l
        [        U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  R                   U R                  R"                  5      U l        g )NzInvalid version: ''r`   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   )rG   .0is     r   	<genexpr>#Version.__init__.<locals>.<genexpr>   s     L*KQ#a&&*K   ra   .pre_lpre_npost_lpost_n1post_n2dev_ldev_nre   )r`   ra   rc   rd   rb   re   )_regexsearchr	   r_   grouprG   tuplesplit_parse_letter_version_parse_local_version_version_cmpkeyr`   ra   rc   rd   rb   re   rl   )r   r   matchs      r   __init__Version.__init__   sU    ""7+ #5gYa!@AA !/4{{7/C/C#ekk'*+L%++i*@*F*Fs*KLL%ekk'&:EKK<PQ&H%u{{9'='WYAW &ekk'&:EKK<PQ&u{{7';<	
 MMMM!!MMMMMMMM
	r   c                     SU  S3$ )Nz
<Version('z')>r   r   s    r   r   Version.__repr__   s    D6%%r   c                 d   / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  S U R                   5       5      5        U R                  b1  UR                  SR                  S U R                   5       5      5        U R
                  b  UR                  SU R
                   35        U R                  b  UR                  SU R                   35        U R                  b  UR                  S	U R                   35        SR                  U5      $ )
Nr   !r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   rF   r   xs     r   r   "Version.__str__.<locals>.<genexpr>       ;lc!fflr    c              3   8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r   r     s      :AQr   z.postz.dev+)r`   appendjoinra   rc   rd   rb   re   r   partss     r   __str__Version.__str__   s     ::?LLDJJ<q)* 	SXX;dll;;< 88LL : ::; 99 LL5,- 88LL4z*+ ::!LL1TZZL)*wwu~r   c                 2    U R                   R                  nU$ r   )r   r`   )r   _epochs     r   r`   Version.epoch  s    mm))r   .c                 2    U R                   R                  nU$ r   )r   ra   )r   _releases     r   ra   Version.release  s    $(MM$9$9r   c                 2    U R                   R                  nU$ r   )r   rc   )r   _pres     r   rc   Version.pre   s    *.--*;*;r   c                 n    U R                   R                  (       a  U R                   R                  S   $ S $ N   )r   rd   r   s    r   rd   Version.post%  s(    (,(:(:t}}!!!$DDr   c                 n    U R                   R                  (       a  U R                   R                  S   $ S $ r   )r   rb   r   s    r   rb   Version.dev)  s(    '+}}'8'8t}}  #BdBr   c                     U R                   R                  (       a,  SR                  S U R                   R                   5       5      $ g )Nr   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r    Version.local.<locals>.<genexpr>0  s     @,?qCFF,?r   )r   re   r   r   s    r   re   Version.local-  s1    ==88@DMM,?,?@@@r   c                 >    [        U 5      R                  SS5      S   $ )Nr   r   r   )rF   r   r   s    r   publicVersion.public4  s    4ysA&q))r   c                     / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  S U R                   5       5      5        SR                  U5      $ )Nr   r   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r   'Version.base_version.<locals>.<genexpr>A  r   r   r   )r`   r   r   ra   r   s     r   base_versionVersion.base_version8  sZ     ::?LLDJJ<q)* 	SXX;dll;;<wwu~r   c                 H    U R                   S L=(       d    U R                  S L$ r   )rb   rc   r   s    r   is_prereleaseVersion.is_prereleaseE  s    xxt#;txxt';;r   c                     U R                   S L$ r   )rd   r   s    r   is_postreleaseVersion.is_postreleaseI  s    yy$$r   c                     U R                   S L$ r   )rb   r   s    r   is_devreleaseVersion.is_devreleaseM  s    xxt##r   c                 V    [        U R                  5      S:  a  U R                  S   $ S$ )Nr   r   lenra   r   s    r   majorVersion.majorQ  %    "%dll"3q"8t||A?a?r   c                 V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r   r   r   r   s    r   minorVersion.minorU  r   r   c                 V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r   r   r   r   s    r   microVersion.microY  r   r   )rl   r   )"rB   rC   rD   rE   recompiler
   VERBOSE
IGNORECASEr   rF   r   r   r   propertyrG   r`   r   ra   r   rc   rd   rb   re   r   r   rI   r   r   r   r   r   r   rJ   r   r   r   r   r      s   ZZ/1G;RZZ"--=WXF
 
 
:&# & 8 s   sCx   XeCHo.   Ehsm E E CXc] C C x}   * * * 
c 
 
 <t < < % % % $t $ $ @s @ @ @s @ @ @s @ @r   r   letternumberr   c                     U (       aE  Uc  SnU R                  5       n U S:X  a  Sn OU S:X  a  Sn OU S;   a  Sn OU S;   a  S	n U [        U5      4$ U (       d  U(       a  S	n U [        U5      4$ g )
Nr   alphaabetab)crc   previewrc)revrrd   )lowerrG   )r   r   s     r   r   r   ^  s      >F 
 WFvF..F|#Fs6{""f s6{""r   z[\._-]re   c                 T    U b%  [        S [        R                  U 5       5       5      $ g)zJ
Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
Nc              3      #    U  H5  nUR                  5       (       d  UR                  5       O
[        U5      v   M7     g 7fr   )isdigitr   rG   )r   parts     r   r   '_parse_local_version.<locals>.<genexpr>  s0      
> !%DJJLCI=>s   =?)r   _local_version_separatorsr   )re   s    r   r   r     s4      
177>
 
 	
 r   r`   ra   rc   rd   rb   c                 $   [        [        [        [        R                  " S [        U5      5      5      5      5      nUc  Uc
  Ub  [
        nOUc  [        nOUnUc  [
        nOUnUc  [        n	OUn	Uc  [
        n
O[        S U 5       5      n
XXxX4$ )Nc                     U S:H  $ )Nr   r   )r   s    r   <lambda>_cmpkey.<locals>.<lambda>  s    AFr   c              3   d   #    U  H&  n[        U[        5      (       a  US 4O[        U4v   M(     g7f)r   N)r,   rG   r?   r   s     r   r   _cmpkey.<locals>.<genexpr>  s.      
NSz!S))QG0@!/DDes   .0)r   reversedlist	itertools	dropwhiler?   r   )r`   ra   rc   rd   rb   re   r   r   _post_dev_locals              r   r   r     s     i))*:HW<MNOPH {t|/ 
 | 0  {' },  
NS
 
 D55r   )&rh   collectionsr  r   typingr   r   r   r   r   __all__r   r   r=   r?   InfiniteTypesrF   rG   PrePostDevTypeSubLocalType	LocalTyper   r   rI   VersionComparisonMethod
namedtupler_   
ValueErrorr	   rj   r
   r   bytesr   r   r   r   r   r   r   r   <module>r     sb  .   	 @ @
:
   : > : () 
 l$889}eCHo56]C,-	,#$&457	

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