
    [e                        d dl Z d dlZ e j        e          ZdZeZ G d d          Z G d de	          Z
d Z ed           Z e
            Zi Z e            Zdee<    e            Zd	ee<    e            Zd
ee<    e            Zdee         z   dz   dz   ee         z   dz   dz   ee         z   dz   ee<    e            Zdee         z   dz   dz   ee         z   dz   dz   ee         z   dz   ee<    e            Zdee         z   dz   ee         z   dz   ee<    e            Zdee         z   dz   ee         z   dz   ee<    e            Zdee         z   dz   ee         z   dz   ee<    e            Zdee         z   dz   ee         z   dz   ee<    e            Zdee<    e            Zdee         z   dz   ee         z   dz   ee<    e            Zdee         z   ee         z   dz   ee         z   dz   Zdez   dz   ee<   dee         z   ee         z   dz   ee         z   dz   Z e            Zdez   dz   ee<    e            Zdee<    e            Zee         dz   ee<    e            Z ee         dz   ee <    e            Z!dee          z   dz   dz   ee          z   dz   dz   ee          z   dz   dz   ee         z   dz   ee         z   dz   d z   ee!<    e            Z"dee         z   dz   dz   ee         z   dz   dz   ee         z   dz   dz   ee         z   dz   ee         z   dz   d z   ee"<    e            Z#dee         z   d!z   ee!         z   dz   ee#<    e            Z$dee         z   d!z   ee"         z   dz   ee$<    e            Z%d"ee%<    e            Z&d#ee%         z   d$z   ee&<    ej'        ee&         ej(                  ee&<   d%Z) e            Z*dee%         z   ee!         z   dz   ee*<    e            Z+dee%         z   ee"         z   dz   ee+<    e            Z,d&ee,<    e            Z-d#ee,         z   d$z   ee-<    ej'        ee-         ej(                  ee-<   d'Z. e            Z/dee,         z   ee!         z   dz   ee/<    e            Z0dee,         z   ee"         z   dz   ee0<    e            Z1dee         z   d(z   ez   d)z   ee1<    e            Z2dee         z   d(z   ez   d)z   ee2<    e            Z3d#ee         z   d(z   ez   dz   ee!         z   dz   ee3<    ej'        ee3         ej(                  ee3<   d*Z4 e            Z5d+ee!         z   dz   d,z   dz   ee!         z   dz   d-z   ee5<    e            Z6d+ee"         z   dz   d,z   dz   ee"         z   dz   d-z   ee6<    e            Z7d.ee7<    e            Z8d/9                    ee         ee         0          ee8<    e:e;                                          D ]<Z<e=                    d1e<ee<                    e<evr ej'        ee<                   ee<<   =d2 Z>d3 Z?d4 Z@ ej'        d5          ZAd6 ZBeBZC G d7 d8          ZDdcd9ZEd: ZFd; ZGd< ZHd= ZId> ZJd? ZK eKd@          ZL eKd@          ZMdA ZNdB ZOdC ZPdD ZQdE ZRdF ZSdG ZTdH ZUdI ZVdJ ZWeWZX eY            ZZ G dK dL          Z[dM Z\ G dN dO          Z]dP Z^dQ Z_dR Z`dS ZadT ZbdU ZcdV ZddW ZedX ZfdY ZgdZ Zhd[ Ziddd]Zjddd^Zkd_ Zld` Zmda Zndb ZodS )e    Nz2.0.0c                        e Zd Zd Zd Zd ZdS )_Rc                     || _         d S Ni)selfr   s     1lib/python3.11/site-packages/jupyterlab/semver.py__init__z_R.__init__*   s        c                 4    | j         }| xj         dz  c_         |S )N   r   )r	   vs     r
   __call__z_R.__call__-   s    F!r   c                     | j         S r   r   r	   s    r
   valuez_R.value2   s	    vr   N)__name__
__module____qualname__r   r   r    r   r
   r   r   )   sA            
    r   r   c                       e Zd Zd ZdS )
Extendlistc                     	 t                               | ||           d S # t          $ r- t          |           |k    r|                     |           Y d S  w xY wr   )list__setitem__
IndexErrorlenappend)r	   r   r   s      r
   r   zExtendlist.__setitem__7   sg    	T1a((((( 	 	 	4yyA~~A		s     2AAN)r   r   r   r   r   r   r
   r   r   6   s#            r   r   c                 6    	 | |         S # t           $ r Y d S w xY wr   )r   )xsr   s     r
   list_getr"   A   s2    !u   tts   
 
z
0|[1-9]\d*z[0-9]+z\d*[a-zA-Z-][a-zA-Z0-9-]*(z)\.)z(?:|z(?:-(z(?:\.z)*))z(?:-?(z[0-9A-Za-z-]+z(?:\+(zv??^$z[v=\s]*z((?:<|>)?=?)z|x|X|\*z[v=\s]*(z(?:\.(z)?z)?)?z\s*z(?:~>?)z(\s*)\s+z\1~z(?:\^)z\1^z\s*(z)$|^$z\1\2\3z^\s*(z\s+-\s+z\s*$z(<|>)?=?\s*\*zv?({n})(?:\.({n}))?{pre}?)nprezgenregxp %s %sc                     |rt           t                   nt           t                   }|                    |           }|rt	          | |          S d S r   )regexpLOOSEFULLsearchsemver)versionlooserms       r
   parser6   G  sF    0uF4LA	A gu%%%tr   c                 8    t          | |          }|j        r|S d S r   r6   r2   )r2   r3   r   s      r
   validr9   P  s%    guAy tr   c                 8    t          | |          }|r|j        S d S r   r8   )r2   r3   ss      r
   cleanr<   X  s&    guA ytr   z^\d+$c                     t          | t                    r| j        |k    r| S | j        } n't          | t                    st          d|            	 t          | |          S )NInvalid Version: )
isinstanceSemVerr3   r2   string_type
ValueError)r2   r3   s     r
   r1   r1   c  so    '6"" 8=E!!NoGG-- 86W66777 '5!!!r   c                   @    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d
d	Z
dS )r@   c                 x   t                               d||           || _        || _        t          |rt
          nt                                       |                                          }|s%|st          d|           t          t                                       |                                          }|                    d          r"t          |                    d                    nd| _        |                    d          r"t          |                    d                    nd| _        d| _        |                    d          s	g | _        nLd |                    d                              d          D             | _        nt          |                    d                    | _        t          |                    d                    | _        t          |                    d                    | _        |                    d	          sg | _        n7d
 |                    d	                              d          D             | _        |                    d          r.|                    d                              d          | _        ng | _        |                                  d S )NzSemVer %s, %sr>   r   r         c                 d    g | ]-}t                               |          rt          |          n|.S r   NUMERICr0   int.0id_s     r
   
<listcomp>z#SemVer.__init__.<locals>.<listcomp>  @     # # #CF!4!4=SXXX## # #r   .   c                 d    g | ]-}t                               |          rt          |          n|.S r   rH   rK   s     r
   rN   z#SemVer.__init__.<locals>.<listcomp>  rO   r      )loggerdebugr3   rawr-   r.   r/   r0   striprB   RECOVERYVERSIONNAMEgrouprJ   majorminorpatch
prereleasesplitbuildformat)r	   r2   r3   r5   s       r
   r   zSemVer.__init__w  s3   _gu555
E+55t,33GMMOODD 	  @ !>W!>!>???*+227==??CCA,-GGAJJ=QWWQZZADJ,-GGAJJ=QWWQZZADJDJ771:: "$# #JK''RS**JZJZ[^J_J_# # #
 QWWQZZDJQWWQZZDJQWWQZZDJ771:: "$# #JK''RS**JZJZ[^J_J_# # # wwqzz  WWQZZ--c22


r   c                    | j          d| j         d| j         | _        t	          | j                  dk    rE| xj        d                    d                    d | j        D                                 z  c_        | j        S )NrP   r   z-{}c              3   4   K   | ]}t          |          V  d S r   )str)rL   r   s     r
   	<genexpr>z SemVer.format.<locals>.<genexpr>  s(      1R1RQ#a&&1R1R1R1R1R1Rr   )rZ   r[   r\   r2   r   r]   r`   joinr   s    r
   r`   zSemVer.format  s{    *@@tz@@DJ@@t!##LLELL1R1R$/1R1R1R)R)RSSSLL|r   c                     d|  dS )Nz<SemVer z >r   r   s    r
   __repr__zSemVer.__repr__  s    "$""""r   c                     | j         S r   )r2   r   s    r
   __str__zSemVer.__str__  s
    |r   c                 2   t                               d| j        | j        |           t	          |t
                    st          || j                  }|                     |          p|                     |          }t                               d|           |S )NzSemVer.compare %s %s %szcompare result %s)	rT   rU   r2   r3   r?   r@   make_semvercompare_maincompare_pre)r	   otherresults      r
   comparezSemVer.compare  s    .dj%PPP%(( 	3tz22E""5))DT-=-=e-D-D(&111r   c                    t          |t                    st          || j                  }t	          t          | j                  t          |j                            pgt	          t          | j                  t          |j                            p3t	          t          | j                  t          |j                            S r   )	r?   r@   rk   r3   compare_identifiersrc   rZ   r[   r\   )r	   rn   s     r
   rl   zSemVer.compare_main  s    %(( 	3tz22E  DJU[1A1ABB F"3tz??C4D4DEEF"3tz??C4D4DEE	
r   c                    t          |t                    st          || j                  }t	          | j                  dk    }t	          |j                  dk    }|s|rdS |r|sdS |s|sdS d}	 t          | j        |          }t          |j        |          }t                              d|||           |dz  }||dS |dS |dS ||k    rbt          t          |          t          |                    S )Nr   r   Tzprerelease compare %s: %s %s)r?   r@   rk   r3   r   r]   r"   rT   rU   rr   rc   )r	   rn   is_self_more_than_zerois_other_more_than_zeror   abs          r
   rm   zSemVer.compare_pre  s*   %(( 	3tz22E "%T_!5!5!9"%e&6"7"7!";% 	*A 	1# 	,C 	2' 	0G 	1	;!,,A)1--ALL7AqAAAFAyQYqqra*3q663q66:::r   Nc                 Z   t                               d| j        |           |dk    r>g | _        d| _        d| _        | xj        dz  c_        |                     d|           n|dk    r7g | _        d| _        | xj        dz  c_        |                     d|           nh|dk    r7g | _        |                     d	|           |                     d|           n+|d
k    rHt          | j                  dk    r|                     d	|           |                     d|           n|dk    rU| j        dk    s#| j        dk    st          | j                  dk    r| xj        dz  c_        d| _        d| _        g | _        n|dk    rC| j        dk    st          | j                  dk    r| xj        dz  c_        d| _        g | _        n9|d	k    r1t          | j                  dk    r| xj        dz  c_        g | _        n|dk    rt                               d| j                   t          | j                  dk    r	dg| _        nbt          | j                  dz
  }|dk    rEt          | j        |         t                    r| j        |xx         dz  cc<   |dz  }|dz  }|dk    E|D| j        d         |k    r*t          | j        d         t                    s	|dg| _        n|dg| _        nt          d|           |                                  | j        | _        | S )Nzinc release %s %spremajorr   r   r+   
identifierpreminorprepatchr\   r]   rZ   r[   zinc prerelease %srE   zinvalid increment argument: )rT   rU   r]   r\   r[   rZ   incr   r?   rJ   rB   r`   r2   rV   )r	   releaser|   r   s       r
   r   z
SemVer.inc  sM   ($/7CCCj   DODJDJJJ!OJJHHUzH2222
"" DODJJJ!OJJHHUzH2222
"" !DOHHWH444HHUzH2222$$ 4?##q((Z888HHUzH2222
 zQ$*//S5I5IQ5N5N

a

DJDJ DOO
 zQ#do"6"6!";";

a

DJ DOO
 4?##q((

a

 DOO LL,do>>>4?##q((#$#((1,1ff!$/!"4c:: ***a/***QFA	 1ff % ?1%33%doa&8#>> :+5q/'11oDOEGEEFFF<r   r   )r   r   r   r   r`   rg   ri   rp   rl   rm   r   r   r   r
   r@   r@   v  s        $ $ $L  # # #    
 
 
; ; ;@Q Q Q Q Q Qr   r@   c                     	 t          | |                              ||          j        S # t          $ r'}t                              |d           Y d }~d S d }~ww xY w)Nr{   rS   )exc_info)rk   r   r2   	ExceptionrT   rU   )r2   r   r3   r|   es        r
   r   r   /  so    7E**..w:.NNVV   Q###ttttts   ), 
AAAc                     t                               |           }t                               |          }|r |rt          |           } t          |          }|r|sdS |r|sdS | |k     rdS | |k    rdS dS )Nrt   r   r   rH   )rw   rx   anumbnums       r
   rr   rr   7  s    >>!D>>!D  FFFF 	D 	r	 d q	
Qr	
Qqqr   c                 "    t          ||           S r   )rr   rw   rx   s     r
   rcompare_identifiersr   K  s    q!$$$r   c                 H    t          | |                              |          S r   )rk   rp   rw   rx   r3   s      r
   rp   rp   O  s     q%  ((+++r   c                 $    t          | |d          S )NTrp   r   s     r
   compare_looser   S  s    1ar   c                 $    t          || |          S r   r   r   s      r
   rcomparer   W  s    1ar   c                       fd}|S )Nc                     t          |           }|j        |j        |j        f}|j        r|t          |j                  z   }ng |t          d          R }|S )Ninf)rk   rZ   r[   r\   r]   tuplefloat)r2   r   keyr3   s      r
   key_functionz'make_key_function.<locals>.key_function\  sc    ''w)< 	'al+++CC 'C&u&&C
r   r   )r3   r   s   ` r
   make_key_functionr   [  s$    	 	 	 	 	 r   Tc                 R    |rt           nt          }|                     |           | S )N)r   loose_key_functionfull_key_functionsortlist_r3   keyfs      r
   r   r   n  s,    !&=,=D	JJ4JLr   c                 T    |rt           nt          }|                     |d           | S )NT)r   reverser   r   s      r
   rsortr   t  s.    !&=,=D	JJ4J&&&Lr   c                 ,    t          | ||          dk    S Nr   r   r   s      r
   gtr   z      1a!##r   c                 ,    t          | ||          dk     S r   r   r   s      r
   ltr   ~  r   r   c                 ,    t          | ||          dk    S r   r   r   s      r
   eqr         1a1$$r   c                 ,    t          | ||          dk    S r   r   r   s      r
   neqr     r   r   c                 ,    t          | ||          dk    S r   r   r   s      r
   gter     r   r   c                 ,    t          | ||          dk    S r   r   r   s      r
   lter     r   r   c                    t                               d|           |dk    r| |k    S |dk    r| |k    S |dk    s|dk    s|dk    rt          | ||          S |dk    rt          | ||          S |dk    rt	          | ||          S |d	k    rt          | ||          S |d
k    rt          | ||          S |dk    rt          | ||          S t          d|           )Nzcmp: %sz===z!== =z==z!=>>=<<=zInvalid operator: )	rT   rU   r   r   r   r   r   r   rB   )rw   oprx   r3   s       r
   cmpr     s    
LLB	U{{Av	uAv	rR3YY"**!Q	t1a	s!Q	t1a	s!Q	t1a2b22333r   c                 t    t          | t                    r| j        |k    r| S | j        } t          | |          S r   )r?   
Comparatorr3   r   compr3   s     r
   
comparatorr     s?    $
## :K:D dE"""r   c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )r   Nc                     t                               d||           || _        |                     |           | j        t
          k    r	d| _        d S | j        | j        j        z   | _        d S )Nzcomparator: %s %sr   )	rT   rU   r3   r6   r1   ANYr   operatorr2   )r	   r   r3   s      r
   r   zComparator.__init__  sa    ($666


4;#DJJJ)<<DJJJr   c                    | j         rt          t                   nt          t                   }t                              d|           |                    |          }|t          d|           |                    d          | _	        |                    d          t          | _        d S t          |                    d          | j                   | _        d S )Nzparse comp=%szInvalid comparator: r   rE   )r3   r-   COMPARATORLOOSE
COMPARATORrT   rU   r0   rB   rY   r   r   r1   )r	   r   r4   r5   s       r
   r6   zComparator.parse  s    '+zIF?##vj7I_d+++HHTNN9:D::;;;

771::DKKK TZ88DKKKr   c                     d|  dS )Nz<SemVer Comparator "">r   r   s    r
   rg   zComparator.__repr__  s    .d....r   c                     | j         S r   r   r   s    r
   ri   zComparator.__str__  
    zr   c                     t                               d|| j                   | j        t          k    rdS t          || j        | j        | j                  S )NzComparator, test %s, %sT)rT   rU   r3   r1   r   r   r   r	   r2   s     r
   testzComparator.test  sG    .DDD;#4wt{DJGGGr   )	r   r   r   r1   r   r6   rg   ri   r   r   r   r
   r   r     si        F= = =9 9 9/ / /  H H H H Hr   r   c                 f    t          | t                    r| j        |k    r| S t          | |          S r   )r?   Ranger3   range_r3   s     r
   
make_ranger     s7    &%   V\U%:%: r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )r   c                      | _         | _         fdt          j        d|          D             }d |D              _        t           j                  st          d|                                             d S )Nc                 ^    g | ])}                     |                                          *S r   )parse_rangerW   )rL   r4   r	   s     r
   rN   z"Range.__init__.<locals>.<listcomp>  s/    SSSadqwwyy))SSSr   z
\s*\|\|\s*c                     g | ]}||S r   r   )rL   r4   s     r
   rN   z"Range.__init__.<locals>.<listcomp>  s    '''!Q'A'''r   zInvalid SemVer Range: )r3   rV   rer^   setr   rB   r`   )r	   r   r3   r!   s   `   r
   r   zRange.__init__  s    
SSSS28M63R3RSSS''r'''48}} 	@>f>>???r   c                     d| j          dS )Nz<SemVer Range "r   ranger   s    r
   rg   zRange.__repr__  s    /////r   c                     d                     d | j        D                                                       | _        t                              d| j                   | j        S )Nz||c                 p    g | ]3}d                      d |D                                                       4S ) c              3   $   K   | ]}|j         V  d S r   r   rL   cs     r
   rd   z*Range.format.<locals>.<listcomp>.<genexpr>  s$      --!ag------r   )re   rW   )rL   compss     r
   rN   z Range.format.<locals>.<listcomp>  s?    LLL%SXX--u-----3355LLLr   zRange format %s)re   r   rW   r   rT   rU   r   s    r
   r`   zRange.format  sW    YYLL48LLL
 

%'' 	
 	&
333zr   c                     | j         S r   r   r   s    r
   ri   zRange.__str__  r   r   c           	         | j         t                              d|           rt          t                   nt          t
                   }|                    t          |          }t                              d|           t          t                                       t          |          }t                              d|t          t                              t          t                                       t          |          }t          t                                       t          |          }d                    t          j        d|                    }rt          t"                   nt          t$                   t          j        dd                    fd|                    d          D                                 }| j         rfd|D             }fd|D             }|S )	Nzrange %s %szhyphen replace %szcomparator trim %s, %sr   r)   c                 0    g | ]}t          |          S r   )parse_comparatorrL   r   r3   s     r
   rN   z%Range.parse_range.<locals>.<listcomp>#  s$    ZZZ.tU;;ZZZr   c                 >    g | ]}                     |          |S r   )r0   )rL   r   comp_res     r
   rN   z%Range.parse_range.<locals>.<listcomp>'  s*    BBBTW^^D-A-ABDBBBr   c                 0    g | ]}t          |          S r   )make_comparatorr   s     r
   rN   z%Range.parse_range.<locals>.<listcomp>(  s#    >>>e,,>>>r   )r3   rT   rU   r-   HYPHENRANGELOOSEHYPHENRANGEsubhyphen_replaceCOMPARATORTRIMcomparatorTrimReplace	TILDETRIMtildeTrimReplace	CARETTRIMcaretTrimReplacere   r   r^   r   r   )r	   r   hrset_r   r3   s       @@r
   r   zRange.parse_range  s   
]FE222).GV$%%F;4G
 
 	(&111 '++,A6JJ-vvn7MNNN 	"&&'7@@ 	"&&'7@@ "(662233 .3J&))z8JxCHHZZZZUXHYHYZZZ[[
 
 : 	CBBBBTBBBD>>>>>>>r   c                     sdS t          t                    rt          | j                  t	          fd| j        D                       S )NFr3   c              3   8   K   | ]}t          |          V  d S r   )test_set)rL   r   r2   s     r
   rd   zRange.test.<locals>.<genexpr>2  s-      ::A8Aw''::::::r   )r?   rA   rk   r3   anyr   r   s    `r
   r   z
Range.test+  s[     	5g{++ 	=!'<<<G::::::::::r   N)	r   r   r   r   rg   r`   ri   r   r   r   r   r
   r   r     so        
 
 
0 0 0    # # #J; ; ; ; ;r   r   c                 @    d t          | |          j        D             S )Nc                     g | ]F}d                      d |D                                                                           d           GS )r   c                     g | ]	}|j         
S r   r   r   s     r
   rN   z-to_comparators.<locals>.<listcomp>.<listcomp>8  s    (((a!'(((r   )re   rW   r^   )rL   r   s     r
   rN   z"to_comparators.<locals>.<listcomp>7  s]        	((4((())//1177<<  r   )r   r   r   s     r
   to_comparatorsr  6  s0     vu--1   r   c                    t                               d|            t          | |          } t                               d|            t          | |          } t                               d|            t	          | |          } t                               d|            t          | |          } t                               d|            | S )Nzcomp %szcaret %sz	tildes %sz	xrange %szstars %s)rT   rU   replace_caretsreplace_tildesreplace_xrangesreplace_starsr   s     r
   r   r   B  s    
LLD!!!$&&D
LLT"""$&&D
LLd###4''D
LLd###u%%D
LLT"""Kr   c                 R    | d u p#| dk    p|                                  dk    p| dk    S )Nr   x*)lower)rM   s    r
   is_xr  O  s0    $;G#)Gsyy{{c'9GSCZGr   c                     d                     fdt          j        d|                                           D                       S )Nr   c                 0    g | ]}t          |          S r   )replace_tilderL   r   r3   s     r
   rN   z"replace_tildes.<locals>.<listcomp>\  #    UUU]1e,,UUUr   r)   re   r   r^   rW   r   s    `r
   r  r  [  >    88UUUUbhvtzz||6T6TUUUVVVr   c                      |rt           t                   nt           t                   } fd}|                    |           S )Nc           	      ^   |                      d          }|                                 \  }}}}}t                              d|||||           t	          |          rd}n.t	          |          r,d|z   dz   t          t          |          dz             z   dz   }nt	          |          r8d|z   dz   |z   d	z   |z   dz   t          t          |          dz             z   d
z   }n|rmt                              d|           |d         dk    rd|z   }d|z   dz   |z   dz   |z   |z   dz   |z   dz   t          t          |          dz             z   d
z   }n=d|z   dz   |z   dz   |z   dz   |z   dz   t          t          |          dz             z   d
z   }t                              d|           |S )Nr   ztilde %s %s %s %s %s %sr   r   .0.0 <r   .0.0rP   .0 <.0zreplaceTilde pr %s- <ztilde return, %srY   groupsrT   rU   r  rc   rJ   )mob_Mr5   pprretr   s          r
   replzreplace_tilde.<locals>.replb  s   IIaLL1aQ.aAq"EEE77 	YCC!WW 	Y(X%CFFQJ7&@CC!WW 
	Y(S.1$v-1C7#c!ffqj//IDPCC 	YLL-r222!u||2X(S.1$s*Q.3d:Q>Ds3q66TU:VY]]CC (S.1$s*Q.59C?#c!ffqj//QTXXC'---
r   )r-   
TILDELOOSETILDEr   r   r3   r4   r&  s   `   r
   r  r  _  sJ    #6zA    , 55tr   c                     d                     fdt          j        d|                                           D                       S )Nr   c                 0    g | ]}t          |          S r   )replace_caretr  s     r
   rN   z"replace_carets.<locals>.<listcomp>  r  r   r)   r  r   s    `r
   r  r    r  r   c                      |rt           t                   nt           t                   } fd}|                    |           S )Nc           	         |                      d          }|                                 \  }}}}}t                              d|||||           t	          |          rd}nt	          |          r-d|z   dz   t          t          |          dz             z   dz   }nPt	          |          rr|dk    r9d|z   d	z   |z   d
z   |z   d	z   t          t          |          dz             z   dz   }nd|z   d	z   |z   d
z   t          t          |          dz             z   dz   }n|rt                              d|           |d         dk    rd|z   }|dk    r|dk    rId|z   d	z   |z   d	z   |pdz   |z   dz   |z   d	z   |z   d	z   t          t          |pd          dz             z   }nKd|z   d	z   |z   d	z   |pdz   |z   dz   |z   d	z   t          t          |          dz             z   dz   }nd|z   d	z   |z   d	z   |pdz   |z   dz   t          t          |          dz             z   dz   }n|dk    r|dk    rEd|z   d	z   |z   d	z   |pdz   dz   |z   d	z   |z   d	z   t          t          |pd          dz             z   }nyd|z   d	z   |z   d	z   |pdz   dz   |z   d	z   t          t          |          dz             z   dz   }n9d|z   d	z   |z   d	z   |pdz   dz   t          t          |          dz             z   dz   }t                              d|           |S )Nr   zcaret %s %s %s %s %s %sr   r   r  r   r  0rP   r  r  zreplaceCaret pr %sr  r  zcaret return %sr  )	r   m0r"  r5   r#  r$  r!  r%  r   s	           r
   r&  zreplace_caret.<locals>.repl  sT   YYq\\1aQ.b!Q2FFF77 O	]CC!WW M	](X%CFFQJ7&@CC!WW K	]CxxQhnq(61A5;c#a&&1*ooMPTTQhnq(61CA
OOCfL F	]LL-r222!u||2XCxx88  	
 7$    	 
  c!&qkkAo../ C"   	
 7$    	 c!ffqj//
*  C Qhnq(3.!'r:R?$FSQRVVVWZX[aaCxx88  	
 7$    	 
 c!&qkkAo../ C    	
 7$    c!ffqj//	* 
 C Qhnq(3.!'r:TACAQR
OOSV\\&,,,
r   )r-   
CARETLOOSECARETr   r)  s   `   r
   r,  r,    sP    #6zAV V V V Vp 55tr   c                     t                               d|            d                    fdt          j        d|                                           D                       S )NzreplaceXRanges %s %sr   c                 0    g | ]}t          |          S r   )replace_xranger  s     r
   rN   z#replace_xranges.<locals>.<listcomp>  s#    VVV!^Au--VVVr   r)   )rT   rU   re   r   r^   rW   r   s    `r
   r  r    sU    
LL'u55588VVVVrx

7U7UVVVWWWr   c                                                         |rt          t                   nt          t                   } fd}|                    |           S )Nc           
         |                      d          }|                                 \  }}}}}}t                              d||||||           t	          |          }|pt	          |          }	|	pt	          |          }
|
}|dk    r|rd}t                              d||           |r|dk    s|dk    rd}nd	}n|r|r|	rd}|
rd}|dk    r2d
}|	rt          |          dz   }d}d}nF|
rt          |          dz   }d}n/|dk    r)d}|	rt          |          dz   }nt          |          dz   }|t          |          z   dz   t          |          z   dz   t          |          z   }ng|	r,d
|z   dz   t          t          |          dz             z   dz   }n9|
r7d
|z   dz   |z   dz   |z   dz   t          t          |          dz             z   dz   }t                              d|           |S )Nr   zxrange %s %s %s %s %s %s %sr   r   zxrange gtlt=%s any_x=%sr   r   z<0.0.0r  r   r   r   rP   r  r  r  r  zxRange return %s)rY   r  rT   rU   r  rJ   rc   )r   r%  gtltr"  r5   r#  r$  r!  xMxmxpany_xr   s               r
   r&  zreplace_xrange.<locals>.repl  sA   iill"zz||aAr12D#tQ1bQQQ!WW]477]4773;;5;D.e<<< &	Qs{{dckk  	Qe  	Q  s{{  A
AAAA A
AA  #A
AAA
AQ-#%A.4s1vv=CC 	Q(X%CFFQJ7&@CC 	Q(S.1$v-1C7#c!ffqj//IDPC'---
r   )rW   r-   XRANGELOOSEXRANGEr   r)  s   `   r
   r5  r5    sX    ::<<D$8{&.A8 8 8 8 8t 55tr   c                     t                               d| |           t          t                                       d|                                           S )NzreplaceStars %s %sr   )rT   rU   r-   STARr   rW   r   s     r
   r	  r	  +  s;    
LL%tU333$<B

---r   c                 T   |                                  \  }}}}}}}}}	}
}}t          |          rd}n;t          |          r	d|z   dz   }n#t          |          rd|z   dz   |z   dz   }nd|z   }t          |          rd}nt          |	          r&dt          t          |          dz             z   dz   }nZt          |
          r,d|z   dz   t          t          |	          dz             z   dz   }n|rd|z   dz   |	z   dz   |
z   d	z   |z   }nd|z   }|d
z   |z                                   S )Nr   r   r  rP   r  r   r   r   r  r   )r  r  rc   rJ   rW   )r   from_fMfmfpfprfbtotMtmtptprtbs                r
   r   r   6  s^   :=**,,7E2r2sBBBRBxx 	b r	F"	b r	C"$t+uBxx 		b 3s2ww{###f,	b 2X^c#b''A+...5	 BY_r!C'",s2S8BYCK"##%%%r   c                 N   | D ]}|                     |          s dS t          |j                  dk    ro| D ]j}|j        t          k    rt          |j        j                  dk    r:|j        }|j        |j        k    r#|j        |j        k    r|j        |j        k    r dS kdS dS )NFr   T)r   r   r]   r1   r   rZ   r[   r\   )r   r2   r   alloweds       r
   r   r   N  s      vvg 	55	
7""  
	  
	 Ax318&''!++(MW]22666644u4r   Fc                 r    	 t          ||          }n# t          $ r Y dS w xY w|                    |           S )NF)r   r   r   r2   r   r3   s      r
   	satisfiesrR  h  sL    FE**   uu;;ws    
!!c                     	 t          ||          }n# t          $ r Y d S w xY wd }d }| D ]E}|                    |          r.||                    |          dk    r|}t	          ||          }F|S )Nr   rt   )r   r   r   rp   rk   )versionsr   r3   range_obmax_max_svr   s          r
   max_satisfyingrX  p  s    fE222   ttDF 8 8== 	8|v~~a00B66$T777Ks    
""c                 T    	 t          | |          j        pdS # t          $ r Y d S w xY w)Nr  )r   r   r   r   s     r
   valid_rangerZ    sC     &%((.5#5   tts    
''c                 &    t          | |d|          S )Nr   outsiderQ  s      r
   ltrr^        7FC///r   c                 &    t          | |d|          S )Nr   r\  rQ  s      r
   rtrra    r_  r   c                 \   t          | |          } t          ||          }|dk    rt          }t          }t          }d}d}n/|dk    rt          }t
          }t          }d}d}nt          d          t          | ||          rdS |j        D ]F}	d }
d }|	D ]=}|
p|}
|p|} ||j	        |
j	        |          r|}
$ ||j	        |j	        |          r|}>G|
j
        |k    s|
j
        |k    rdS |j
        r|j
        |k    r || |j	                  rdS |j
        |k    r || |j	                  rdS dS )Nr   r   r   r   z%Must provide a hilo val of '<' or '>'FT)rk   r   r   r   r   r   rB   rR  r   r1   r   )r2   r   hilor3   gtfnltefnltfnr   ecompcomparatorshighlowr   s                r
   r]  r]    s   '5))G&&Fs{{	@AAA &%(( u z ! !% 	! 	!J%:D#CtJ%t{E:: !!j'U;; ! 	! } 6 6u L CLD00eeGSZ6P6P0u			44#<#<	u4r   r   )F)ploggingr   	getLoggerr   rT   SEMVER_SPEC_VERSIONrc   rA   r   r   r   r"   Rsrcr-   NUMERICIDENTIFIERNUMERICIDENTIFIERLOOSENONNUMERICIDENTIFIERMAINVERSIONMAINVERSIONLOOSEPRERELEASEIDENTIFIERPRERELEASEIDENTIFIERLOOSE
PRERELEASEPRERELEASELOOSEBUILDIDENTIFIERBUILDr/   	FULLPLAIN
LOOSEPLAINr.   GTLTXRANGEIDENTIFIERLOOSEXRANGEIDENTIFIERXRANGEPLAINXRANGEPLAINLOOSEr>  r=  	LONETILDEr   compiler"  r   r(  r'  	LONECARETr   r   r2  r1  r   r   r   r   r   r   r@  rX   r`   r   r   r   rU   r6   r9   r<   rI   r1   rk   r@   r   rr   r   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   objectr   r   r   r   r  r   r  r  r  r  r,  r  r5  r	  r   r   rR  rX  rZ  r^  ra  r]  r   r   r
   <module>r     s  <  						8	$	$  
 
 
 
 
 
 
 
          BqEEjll	 ACC &  &  qss 8 
 acc	
 

 

	
  

 

 

 K  133 	
 !" 

 

 !	"
  

 

 !" 

    qss !C(9$::S@3G[C\\_bb ACC 	C&''#-4H0IICO   QSS
c&''(2S9M5NNQWW J !##s,--83?X;YY\bb O  !##&O  	
_--83;OORXXE
 	qss3{##c*o5;c%jH3N	)Oc!D	
 #.//#o2FFLsSXzY\__
	:#E
qssD	
   !78:E 133 -.; acc	
	
  

	
 

  

 

 	 
*o
  
%j 

  K $ 133 	
 !	
  

 	!
 

  

 ! 

 	 
/
  
%j 

   $ 
CIo&[)99C?FaccT?V+c2B.CCcIK  ACC	IACC	C	N*V3IBJs9~rt44y  	3y>!C$44s:E
QSS
I&-=)>>DJ ACC	IACC	C	N*V3IBJs9~rt44y  	3y>!C$44s:E
QSS
I&-=)>>DJ !##SY0:=GO QSS
D	/G+i7'AJ
 T*W4zACG#kJZZ]``N  $C$7>>~ !  accs;#%3c9C<LLsRU\\ K  133 	
	
  
	

 

 

    	qssD	 acc 7>>	
#o"6 ?    
qwwyy		 ' 'A
LL!1c!f---BJs1v&&q	       "*X

" " "  v v v v v v v vr     (% % %, , ,          '&t,, %%d++     $ $ $$ $ $% % %% % %% % %% % %4 4 4,	# 	# 	# fhh'H 'H 'H 'H 'H 'H 'H 'HT     F; F; F; F; F; F; F; F;T  
 
 
H H HW W W  DW W W[ [ [|X X X
> > >F. . .& & &0  4            0 0 0
0 0 01 1 1 1 1r   