ó
¬X[c           @   s	  d  d l  Z  d  d l Z e  j e ƒ Z d Z y
 e Z Wn e k
 rP e	 Z n Xd e
 f d „  ƒ  YZ d e f d „  ƒ  YZ 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 d d e e d d e e d e e <e ƒ  Z d e e d d e e d d e e d e e <e ƒ  Z d e e d e e d e e <e ƒ  Z d e e d e e d e e <e ƒ  Z d e e d e e d e e <e ƒ  Z d e e d e e d e e <e ƒ  Z d e e <e ƒ  Z d e e d e e d e e <e ƒ  Z d e e e e d e e d Z d e d e e <d e e e e d e e d Z e ƒ  Z  d e d e e  <e ƒ  Z! d e e! <e ƒ  Z" e e d e e" <e ƒ  Z# e e d e e# <e ƒ  Z$ d e e# d d e e# d d e e# d d e e d  e e d d! e e$ <e ƒ  Z% d e e" d d e e" d d e e" d d e e d  e e d d! e e% <e ƒ  Z& d e e! d" e e$ d e e& <e ƒ  Z' d e e! d" e e% d e e' <e ƒ  Z( d# e e( <e ƒ  Z) d$ e e( d% e e) <e j* e e) e j+ ƒ e e) <d& Z, e ƒ  Z- d e e( e e$ d e e- <e ƒ  Z. d e e( e e% d e e. <e ƒ  Z/ d' e e/ <e ƒ  Z0 d$ e e/ d% e e0 <e j* e e0 e j+ ƒ e e0 <d( Z1 e ƒ  Z2 d e e/ e e$ d e e2 <e ƒ  Z3 d e e/ e e% d e e3 <e ƒ  Z4 d e e! d) e d* e e4 <e ƒ  Z5 d e e! d) e d* e e5 <e ƒ  Z6 d$ e e! d) e d e e$ d e e6 <e j* e e6 e j+ ƒ e e6 <d+ Z7 e ƒ  Z8 d, e e$ d d- d e e$ d d. e e8 <e ƒ  Z9 d, e e% d d- d e e% d d. e e9 <e ƒ  Z: d/ e e: <e ƒ  Z; d0 j< d1 e e d2 e e ƒ e e; <xW e= e j> ƒ  ƒ D]C Z? e j@ d3 e? e e? ƒ e? e k rÌe j* e e? ƒ e e? <qÌqÌWd4 „  ZA d5 „  ZB d6 „  ZC e j* d7 ƒ ZD d8 „  ZE eE ZF d9 e
 f d: „  ƒ  YZG d d; „ ZI d< „  ZJ d= „  ZK d> „  ZL d? „  ZM d@ „  ZN dA „  ZO eO eP ƒ ZQ eO eP ƒ ZR dB „  ZS dC „  ZT dD „  ZU dE „  ZV dF „  ZW dG „  ZX dH „  ZY dI „  ZZ dJ „  Z[ dK „  Z\ e\ Z] e
 ƒ  Z^ dL e
 f dM „  ƒ  YZ_ dN „  Z` dO e
 f dP „  ƒ  YZa dQ „  Zb dR „  Zc dS „  Zd dT „  Ze dU „  Zf dV „  Zg dW „  Zh dX „  Zi dY „  Zj dZ „  Zk d[ „  Zl d\ „  Zm en d] „ Zo en d^ „ Zp d_ „  Zq d` „  Zr da „  Zs db „  Zt d S(c   iÿÿÿÿNs   2.0.0t   _Rc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   | |  _  d  S(   N(   t   i(   t   selfR   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   __init__*   s    c         C   s   |  j  } |  j  d 7_  | S(   Ni   (   R   (   R   t   v(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   __call__-   s    	c         C   s   |  j  S(   N(   R   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   value2   s    (   t   __name__t
   __module__R   R   R   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR    )   s   		t
   Extendlistc           B   s   e  Z d  „  Z RS(   c         C   sT   y t  j |  | | ƒ Wn6 t k
 rO t |  ƒ | k rI |  j | ƒ qP ‚  n Xd  S(   N(   t   listt   __setitem__t
   IndexErrort   lent   append(   R   R   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR   7   s    (   R   R   R   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR	   6   s   c         C   s%   y |  | SWn t  k
 r  d  SXd  S(   N(   R   t   None(   t   xsR   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   list_getA   s    i    s
   0|[1-9]\d*s   [0-9]+s   \d*[a-zA-Z-][a-zA-Z0-9-]*t   (s   )\.t   )s   (?:t   |s   (?:-(s   (?:\.s   )*))s   (?:-?(s   [0-9A-Za-z-]+s   (?:\+(s   v?t   ?t   ^t   $s   [v=\s]*s   ((?:<|>)?=?)s   |x|X|\*s   [v=\s]*(s   (?:\.(s   )?s   )?)?s   \s*s   (?:~>?)s   (\s*)s   \s+s   \1~s   (?:\^)s   \1^s   \s*(s   )$|^$s   \1\2\3s   ^\s*(s   \s+-\s+s   \s*$s   (<|>)?=?\s*\*s   v?({n})(?:\.({n}))?{pre}?t   nt   pres   genregxp %s %sc         C   sG   | r t  t } n
 t  t } | j |  ƒ } | r? t |  | ƒ Sd  Sd  S(   N(   t   regexpt   LOOSEt   FULLt   searcht   semverR   (   t   versiont   looset   rt   m(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   parse  s    
c         C   s$   t  |  | ƒ } | j r | Sd  Sd  S(   N(   R#   R   R   (   R   R    R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   valid(  s    	c         C   s$   t  |  | ƒ } | r | j Sd  Sd  S(   N(   R#   R   R   (   R   R    t   s(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   clean0  s    s   ^\d+$c         C   sb   t  |  t ƒ r. |  j | k r" |  S|  j }  n' t  |  t ƒ sU t d j |  ƒ ƒ ‚ n  t |  | ƒ S(   Ns   Invalid Version: {}(   t
   isinstancet   SemVerR    R   t   string_typet
   ValueErrort   format(   R   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR   ;  s    R(   c           B   sS   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z
 RS(	   c         C   sA  t  j d | | ƒ | |  _ | |  _ t | r4 t n t j | j ƒ  ƒ } | sQ| sn t	 d j
 | ƒ ƒ ‚ n  t t j | j ƒ  ƒ } | j d ƒ r« t | j d ƒ ƒ n d |  _ | j d ƒ rØ t | j d ƒ ƒ n d |  _ d |  _ | j d ƒ sg  |  _ q3g  | j d ƒ j d ƒ D]' } t j | ƒ r?t | ƒ n | ^ q|  _ nâ t | j d ƒ ƒ |  _ t | j d ƒ ƒ |  _ t | j d ƒ ƒ |  _ | j d ƒ s´g  |  _ nI g  | j d ƒ j d ƒ D]' } t j | ƒ rît | ƒ n | ^ qÍ|  _ | j d	 ƒ r*| j d	 ƒ j d ƒ |  _ n	 g  |  _ |  j
 ƒ  d  S(
   Ns   SemVer %s, %ss   Invalid Version: {}i   i    i   i   t   .i   i   (   t   loggert   debugR    t   rawR   R   R   R   t   stripR*   R+   t   RECOVERYVERSIONNAMEt   groupt   intt   majort   minort   patcht
   prereleaset   splitt   NUMERICt   build(   R   R   R    R"   t   id(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR   O  s4    		%--	IF	c         C   sn   d j  |  j |  j |  j ƒ |  _ t |  j ƒ d k rg |  j d j  d j d „  |  j Dƒ ƒ ƒ 7_ n  |  j S(   Ns   {}.{}.{}i    s   -{}R,   c         s   s   |  ] } t  | ƒ Vq d  S(   N(   t   str(   t   .0R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pys	   <genexpr>w  s    (   R+   R4   R5   R6   R   R   R7   t   join(   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR+   t  s    !1c         C   s   d j  |  ƒ S(   Ns   <SemVer {} >(   R+   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   __repr__z  s    c         C   s   |  j  S(   N(   R   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   __str__}  s    c         C   sr   t  j d |  j |  j | ƒ t | t ƒ s@ t | |  j ƒ } n  |  j | ƒ p[ |  j | ƒ } t  j d | ƒ | S(   Ns   SemVer.compare %s %s %ss   compare result %s(	   R-   R.   R   R    R'   R(   t   make_semvert   compare_maint   compare_pre(   R   t   othert   result(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   compare€  s    c         C   s…   t  | t ƒ s$ t | |  j ƒ } n  t t |  j ƒ t | j ƒ ƒ p„ t t |  j ƒ t | j ƒ ƒ p„ t t |  j ƒ t | j ƒ ƒ S(   N(	   R'   R(   RA   R    t   compare_identifiersR<   R4   R5   R6   (   R   RD   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRB   ˆ  s
    !!c         C   sD  t  | t ƒ s$ t | |  j ƒ } n  t |  j ƒ d k } t | j ƒ d k } | r_ | r_ d S| rp | rp d S| r‚ | r‚ d Sd } xµ t r?t |  j | ƒ } t | j | ƒ } t j	 d | | | ƒ | d 7} | d  k rñ | d  k rñ d S| d  k rd S| d  k rd S| | k r#q‹ q‹ t t | ƒ t | ƒ ƒ Sq‹ Wd  S(   Ni    i   iÿÿÿÿs   prerelease compare %s: %s %s(   R'   R(   RA   R    R   R7   t   TrueR   R-   R.   R   RG   R<   (   R   RD   t   is_self_more_than_zerot   is_other_more_than_zeroR   t   at   b(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRC     s2    	
c         C   sl  t  j d |  j | ƒ | d k rb g  |  _ d |  _ d |  _ |  j d 7_ |  j d d | ƒnð| d k r¥ g  |  _ d |  _ |  j d 7_ |  j d d | ƒn­| d k rã g  |  _ |  j d	 d | ƒ|  j d d | ƒno| d
 k r0t |  j ƒ d k r|  j d	 d | ƒn  |  j d d | ƒn"| d k rŸ|  j d k so|  j d k sot |  j ƒ d k r|  j d 7_ n  d |  _ d |  _ g  |  _ n³| d k rö|  j d k sÏt |  j ƒ d k rá|  j d 7_ n  d |  _ g  |  _ n\| d	 k r5t |  j ƒ d k r)|  j d 7_ n  g  |  _ n| d k r=t  j d |  j ƒ t |  j ƒ d k rxd g |  _ nf t |  j ƒ d } xP | d k rÝt |  j | t	 ƒ rÐ|  j | c d 7<| d 8} n  | d 8} qŽW| d  k	 rR|  j d | k r(t |  j d t	 ƒ s7| d g |  _ q7q:| d g |  _ qRn t d j | ƒ ƒ ‚ |  j ƒ  |  j |  _ |  S(   Ns   inc release %s %st   premajori    i   R   t
   identifiert   preminort   prepatchR6   R7   R4   R5   s   inc prerelease %si   s   invalid increment argument: {}(   R-   R.   R7   R6   R5   R4   t   incR   R'   R3   R   R*   R+   R   R/   (   R   t   releaseRN   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRQ   °  sl    						3		$	
N(   R   R   R   R+   R?   R@   RF   RB   RC   R   RQ   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR(   N  s   	%						 c         C   sQ   y# t  |  | ƒ j | d | ƒj SWn' t k
 rL } t j | d d ƒd  SXd  S(   NRN   t   exc_infoi   (   RA   RQ   R   t	   ExceptionR-   R.   R   (   R   RR   R    RN   t   e(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRQ     s
    #c         C   s   t  j |  ƒ } t  j | ƒ } | rE | rE t |  ƒ }  t | ƒ } n  | rV | rV d S| rg | rg d S|  | k  rw d S|  | k r‡ d Sd Sd  S(   Niÿÿÿÿi   i    (   R9   R   R3   (   RK   RL   t   anumt   bnum(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRG     s    c         C   s   t  | |  ƒ S(   N(   RG   (   RK   RL   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   rcompare_identifiers   s    c         C   s   t  |  | ƒ j | ƒ S(   N(   RA   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRF   $  s    c         C   s   t  |  | t ƒ S(   N(   RF   RH   (   RK   RL   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   compare_loose(  s    c         C   s   t  | |  | ƒ S(   N(   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   rcompare,  s    c            s   ‡  f d †  } | S(   Nc            s]   t  |  ˆ  ƒ } | j | j | j f } | j rF | t | j ƒ } n | t d ƒ f } | S(   Nt   inf(   RA   R4   R5   R6   R7   t   tuplet   float(   R   R   t   key(   R    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   key_function1  s    	(    (   R    R_   (    (   R    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   make_key_function0  s    
c         C   s&   | r t  n t } |  j d | ƒ |  S(   NR^   (   t   loose_key_functiont   full_key_functiont   sort(   R
   R    t   keyf(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRc   A  s    c         C   s,   | r t  n t } |  j d | d t ƒ |  S(   NR^   t   reverse(   Ra   Rb   Rc   RH   (   R
   R    Rd   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   rsortG  s    c         C   s   t  |  | | ƒ d k S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   gtM  s    c         C   s   t  |  | | ƒ d k  S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   ltQ  s    c         C   s   t  |  | | ƒ d k S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   eqU  s    c         C   s   t  |  | | ƒ d k S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   neqY  s    c         C   s   t  |  | | ƒ d k S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   gte]  s    c         C   s   t  |  | | ƒ d k S(   Ni    (   RF   (   RK   RL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   ltea  s    c         C   s  t  j d | ƒ | d k r& |  | k S| d k r< |  | k S| d k s` | d k s` | d k rp 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 |  | | ƒ St d j	 | ƒ ƒ ‚ d  S(   Ns   cmp: %ss   ===s   !==t    t   =s   ==s   !=t   >s   >=t   <s   <=s   Invalid operator: {}(
   R-   R.   Ri   Rj   Rg   Rk   Rh   Rl   R*   R+   (   RK   t   opRL   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   cmpe  s$    

$c         C   s;   t  |  t ƒ r. |  j | k r" |  S|  j }  n  t |  | ƒ S(   N(   R'   t
   ComparatorR    R   (   t   compR    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt
   comparator{  s
    Rs   c           B   s;   e  Z d Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s^   t  j d | | ƒ | |  _ |  j | ƒ |  j t k rD d |  _ n |  j |  j j |  _ d  S(   Ns   comparator: %s %sRm   (	   R-   R.   R    R#   R   t   ANYR   t   operatorR   (   R   Rt   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR     s    	c         C   s¸   |  j  r t t } n
 t t } t j d | ƒ | j | ƒ } | d  k rc t d j	 | ƒ ƒ ‚ n  | j
 d ƒ |  _ | j
 d ƒ d  k r– t |  _ n t | j
 d ƒ |  j  ƒ |  _ d  S(   Ns   parse comp=%ss   Invalid comparator: {}i   i   (   R    R   t   COMPARATORLOOSEt
   COMPARATORR-   R.   R   R   R*   R+   R2   Rw   Rv   R   (   R   Rt   R!   R"   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR#   ™  s    	
c         C   s   d j  |  ƒ S(   Ns   <SemVer Comparator "{}">(   R+   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR?   «  s    c         C   s   |  j  S(   N(   R   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR@   ®  s    c         C   sI   t  j d | |  j ƒ |  j t k r) t St | |  j |  j |  j ƒ Sd  S(   Ns   Comparator, test %s, %s(   R-   R.   R    R   Rv   RH   Rr   Rw   (   R   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   test±  s    N(	   R   R   R   R   R   R#   R?   R@   Rz   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRs   Œ  s   	
			c         C   s/   t  |  t ƒ r" |  j | k r" |  St |  | ƒ S(   N(   R'   t   RangeR    (   t   range_R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt
   make_range¹  s    R{   c           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | |  _  | |  _ g  t j d | ƒ D] } |  j | j ƒ  ƒ ^ q% } g  | D] } | rM | ^ qM |  _ t |  j ƒ s t d j	 | ƒ ƒ ‚ n  |  j	 ƒ  d  S(   Ns
   \s*\|\|\s*s   Invalid SemVer Range: {}(
   R    R/   t   reR8   t   parse_rangeR0   t   setR   R*   R+   (   R   R|   R    R!   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR   Ã  s    		4"c         C   s   d j  |  j ƒ S(   Ns   <SemVer Range "{}">(   R+   t   range(   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR?   Ï  s    c         C   sa   d j  g  |  j D]% } d j  d „  | Dƒ ƒ j ƒ  ^ q ƒ j ƒ  |  _ t j d |  j ƒ |  j S(   Ns   ||t    c         s   s   |  ] } | j  Vq d  S(   N(   R   (   R=   t   c(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pys	   <genexpr>Ó  s    s   Range format %s(   R>   R€   R0   R   R-   R.   (   R   t   comps(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR+   Ò  s    Gc         C   s   |  j  S(   N(   R   (   R   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR@   ×  s    c         C   s†  |  j  } t j d | | ƒ | r/ t t } n
 t t } | j t | ƒ } t j d | ƒ t t j t	 | ƒ } t j d | t t ƒ t t
 j t | ƒ } t t j t | ƒ } d j t j d | ƒ ƒ } | râ t t } n
 t t } t j d d j g  | j d ƒ D] } t | | ƒ ^ qƒ ƒ } |  j  r`g  | D] } | j | ƒ r<| ^ q<} n  g  | D] } t | | ƒ ^ qg} | S(   Ns   range %s %ss   hyphen replace %ss   comparator trim %s, %sR‚   s   \s+(   R    R-   R.   R   t   HYPHENRANGELOOSEt   HYPHENRANGEt   subt   hyphen_replacet   COMPARATORTRIMt   comparatorTrimReplacet	   TILDETRIMt   tildeTrimReplacet	   CARETTRIMt   caretTrimReplaceR>   R~   R8   Rx   Ry   t   parse_comparatorR   t   make_comparator(   R   R|   R    t   hrt   comp_reRt   t   set_(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR   Ú  s(    	

@	+"c         C   s\   | s
 t  St | t ƒ r1 t | d |  j ƒ} n  x$ |  j D] } t | | ƒ r; t Sq; Wt  S(   NR    (   t   FalseR'   R)   RA   R    R€   t   test_setRH   (   R   R   RU   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRz      s    (   R   R   R   R?   R+   R@   R   Rz   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR{   Â  s   					&c         C   sQ   g  t  |  | ƒ j D]: } d j g  | D] } | j ^ q& ƒ j ƒ  j d ƒ ^ q S(   NR‚   (   R}   R€   R>   R   R0   R8   (   R|   R    Rt   Rƒ   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   to_comparators  s    c         C   s   t  j d |  ƒ t |  | ƒ }  t  j d |  ƒ t |  | ƒ }  t  j d |  ƒ t |  | ƒ }  t  j d |  ƒ t |  | ƒ }  t  j d |  ƒ |  S(   Ns   comp %ss   caret %ss	   tildes %ss	   xrange %ss   stars %s(   R-   R.   t   replace_caretst   replace_tildest   replace_xrangest   replace_stars(   Rt   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR     s    c         C   s4   |  d  k p3 |  d k p3 |  j ƒ  d k p3 |  d k S(   NRm   t   xt   *(   R   t   lower(   R;   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   is_x$  s    c         C   s;   d j  g  t j d |  j ƒ  ƒ D] } t | | ƒ ^ q ƒ S(   NR‚   s   \s+(   R>   R~   R8   R0   t   replace_tilde(   Rt   R    Rƒ   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR˜   /  s    	c            s<   | r t  t } n
 t  t } ‡  f d †  } | j | ˆ  ƒ S(   Nc            s¢  |  j  d ƒ } |  j ƒ  \ } } } } } t j d ˆ  | | | | | ƒ t | ƒ r^ d } n0t | ƒ r“ d | d t t | ƒ d ƒ d } nû t | ƒ rØ d | d | d	 | d t t | ƒ d ƒ d
 } n¶ | rPt j d | ƒ | d d k rd | } n  d | d | d | | d | d t t | ƒ d ƒ d
 } n> d | d | d | d | d t t | ƒ d ƒ d
 } t j d | ƒ | S(   Ni    s   tilde %s %s %s %s %s %sRm   s   >=s   .0.0 <i   s   .0.0R,   s   .0 <s   .0s   replaceTilde pr %st   -s    <s   tilde return, %s(   R2   t   groupsR-   R.   Rž   R<   R3   (   t   mobt   _t   MR"   t   pt   prt   ret(   Rt   (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   repl:  s"    	)9E>(   R   t
   TILDELOOSEt   TILDER‡   (   Rt   R    R!   R¨   (    (   Rt   s0   lib/python2.7/site-packages/jupyterlab/semver.pyRŸ   4  s
    
c         C   s;   d j  g  t j d |  j ƒ  ƒ D] } t | | ƒ ^ q ƒ S(   NR‚   s   \s+(   R>   R~   R8   R0   t   replace_caret(   Rt   R    Rƒ   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR—   X  s    	c            s<   | r t  t } n
 t  t } ‡  f d †  } | j | ˆ  ƒ S(   Nc            sC  |  j  d ƒ } |  j ƒ  \ } } } } } t j d ˆ  | | | | | ƒ t | ƒ r^ d } nÑt | ƒ r“ d | d t t | ƒ d ƒ d } nœt | ƒ r| d k rä d | d	 | d
 | d	 t t | ƒ d ƒ d } q/d | d	 | d
 t t | ƒ d ƒ d } n| rCt j d | ƒ | d d k rHd | } n  | d k r | d k rµd | d	 | d	 | p|d | d | d	 | d	 t t | p¤d ƒ d ƒ } q@d | d	 | d	 | pÑd | d | d	 t t | ƒ d ƒ d } q/d | d	 | d	 | pd | d t t | ƒ d ƒ d } nì | d k ró| d k r¬d | d	 | d	 | pwd d | d	 | d	 t t | p›d ƒ d ƒ } q/d | d	 | d	 | pÈd d | d	 t t | ƒ d ƒ d } n< d | d	 | d	 | pd d t t | ƒ d ƒ d } t j d | ƒ | S(   Ni    s   caret %s %s %s %s %s %sRm   s   >=s   .0.0 <i   s   .0.0t   0R,   s   .0 <s   .0s   replaceCaret pr %sR    s    <s   caret return %s(   R2   R¡   R-   R.   Rž   R<   R3   (   R¢   t   m0R¤   R"   R¥   R¦   R£   R§   (   Rt   (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR¨   c  s6    	)91UKCQG<(   R   t
   CARETLOOSEt   CARETR‡   (   Rt   R    R!   R¨   (    (   Rt   s0   lib/python2.7/site-packages/jupyterlab/semver.pyR«   ]  s
    
$c         C   sN   t  j d |  | ƒ d j g  t j d |  j ƒ  ƒ D] } t | | ƒ ^ q2 ƒ S(   Ns   replaceXRanges %s %sR‚   s   \s+(   R-   R.   R>   R~   R8   R0   t   replace_xrange(   Rt   R    Rƒ   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR™   Š  s    	c            sH   ˆ  j  ƒ  ‰  | r t t } n
 t t } ‡  f d †  } | j | ˆ  ƒ S(   Nc      	      sU  |  j  d ƒ } |  j ƒ  \ } } } } } } t j d ˆ  | | | | | | ƒ t | ƒ } | pj t | ƒ }	 |	 p| t | ƒ }
 |
 } | d k r  | r  d } n  t j d | | ƒ | rã | d k sÑ | d k rÚ d } qAd	 } n^| rÓ| rÓ|	 rþ d } n  |
 rd } n  | d k rfd
 } |	 rDt | ƒ d } d } d } q¤|
 r¤t | ƒ d } d } q¤n> | d k r¤d } |	 r‘t | ƒ d } q¤t | ƒ d } n  | t | ƒ d t | ƒ d t | ƒ } nn |	 rd
 | d t t | ƒ d ƒ d } n? |
 rAd
 | d | d | d t t | ƒ d ƒ d } n  t j d | ƒ | S(   Ni    s   xrange %s %s %s %s %s %s %sRn   Rm   s   xrange gtlt=%s any_x=%sRo   Rp   s   <0.0.0Rœ   s   >=i   s   <=R,   s   .0.0 <s   .0.0s   .0 <s   .0s   xRange return %s(   R2   R¡   R-   R.   Rž   R3   R<   (   R¢   R§   t   gtltR¤   R"   R¥   R¦   R£   t   xMt   xmt   xpt   any_x(   Rt   (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR¨   —  sP    "						/)9(   R0   R   t   XRANGELOOSEt   XRANGER‡   (   Rt   R    R!   R¨   (    (   Rt   s0   lib/python2.7/site-packages/jupyterlab/semver.pyR°     s    
9c         C   s-   t  j d |  | ƒ t t j d |  j ƒ  ƒ S(   Ns   replaceStars %s %sRm   (   R-   R.   R   t   STARR‡   R0   (   Rt   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRš   Õ  s    c         C   sO  |  j  ƒ  \ } } } } } } } } }	 }
 } } t | ƒ rE d } nL t | ƒ rb d | d } n/ t | ƒ r‡ d | d | d } n
 d | } t | ƒ r¦ d } n— t |	 ƒ rÓ d t t | ƒ d ƒ d } nj t |
 ƒ rd | d t t |	 ƒ d ƒ d } n5 | r3d | d |	 d |
 d	 | } n
 d | } | d
 | j ƒ  S(   NRm   s   >=s   .0.0R,   s   .0Rp   i   s   <=R    R‚   (   R¡   Rž   R<   R3   R0   (   R¢   t   from_t   fMt   fmt   fpt   fprt   fbt   tot   tMt   tmt   tpt   tprt   tb(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRˆ   à  s$    0	
	!)%
c         C   sÅ   x! |  D] } | j  | ƒ s t Sq Wt | j ƒ d k rÁ x |  D]y } | j t k r[ q@ n  t | j j ƒ d k r@ | j } | j | j k r¹ | j | j k r¹ | j | j k r¹ t	 Sq@ q@ Wt St	 S(   Ni    (
   Rz   R”   R   R7   R   Rv   R4   R5   R6   RH   (   R“   R   RU   t   allowed(    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyR•   ø  s    	6c         C   s7   y t  | | ƒ } Wn t k
 r) } t SX| j |  ƒ S(   N(   R}   RT   R”   Rz   (   R   R|   R    RU   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt	   satisfies  s
    c         C   s   y t  | d | ƒ} Wn d  SXd  } d  } x\ |  D]T } | j | ƒ r4 | d  k sj | j | ƒ d k rˆ | } t | d | ƒ} qˆ q4 q4 W| S(   NR    iÿÿÿÿ(   R}   R   Rz   RF   RA   (   t   versionsR|   R    t   range_obt   max_t   max_svR   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   max_satisfying  s    !c         C   s)   y t  |  | ƒ j p d SWn d  SXd  S(   NRœ   (   R}   R   R   (   R|   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   valid_range%  s    c         C   s   t  |  | d | ƒ S(   NRp   (   t   outside(   R   R|   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   ltr/  s    c         C   s   t  |  | d | ƒ S(   NRo   (   RÍ   (   R   R|   R    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   rtr4  s    c         C   sŸ  t  |  | ƒ }  t | | ƒ } | d k rK t } t } t } d } d } n9 | d k rx t } t } t } d } d } n t d ƒ ‚ t |  | | ƒ rš t Sxˆ | j	 D]} }	 d  }
 d  } xh |	 D]` } |
 pÌ | }
 | pØ | } | | j |
 j | ƒ rü | }
 q½ | | j | j | ƒ r½ | } q½ q½ Wq¤ W|
 j | k sC|
 j | k rGt S| j s`| j | k rv| |  | j ƒ rvt S| j | k r›| |  | j ƒ r›t St S(   NRo   s   >=Rp   s   <=s%   Must provide a hilo val of '<' or '>'(   RA   R}   Rg   Rl   Rh   Rk   R*   RÆ   R”   R€   R   R   Rw   RH   (   R   R|   t   hiloR    t   gtfnt   ltefnt   ltfnRt   t   ecompt   comparatorst   hight   lowRu   (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyRÍ   8  sD    			+!(u   t   loggingR~   t	   getLoggerR   R-   t   SEMVER_SPEC_VERSIONt
   basestringR)   t	   NameErrorR<   t   objectR    R
   R	   R   t   Rt   srcR   t   NUMERICIDENTIFIERt   NUMERICIDENTIFIERLOOSEt   NONNUMERICIDENTIFIERt   MAINVERSIONt   MAINVERSIONLOOSEt   PRERELEASEIDENTIFIERt   PRERELEASEIDENTIFIERLOOSEt
   PRERELEASEt   PRERELEASELOOSEt   BUILDIDENTIFIERt   BUILDR   t	   FULLPLAINt
   LOOSEPLAINR   t   GTLTt   XRANGEIDENTIFIERLOOSEt   XRANGEIDENTIFIERt   XRANGEPLAINt   XRANGEPLAINLOOSER·   R¶   t	   LONETILDER‹   t   compileR¤   RŒ   Rª   R©   t	   LONECARETR   RŽ   R¯   R®   Rx   Ry   R‰   RŠ   R†   R…   R¸   R1   R+   R   R   R   R.   R#   R$   R&   R9   R   RA   R(   R   RQ   RG   RX   RF   RY   RZ   R`   RH   Ra   Rb   Rc   Rf   Rg   Rh   Ri   Rj   Rk   Rl   Rr   Ru   R   Rv   Rs   R}   R{   R–   R   Rž   R˜   RŸ   R—   R«   R™   R°   Rš   Rˆ   R•   R”   RÆ   RË   RÌ   RÎ   RÏ   RÍ   (    (    (    s0   lib/python2.7/site-packages/jupyterlab/semver.pyt   <module>   s(  

			
	
	
	6	6	"	"	"	"	
	"	&&		
			K	K	"	"	
				
						*	#	#	
	$				¶																	-		L						$		-		E				
		