ó
Ð²Ebc           @` sn  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l Z d d l m Z d d d d d	 g Z	 e j
 d
 d d d d d d g ƒ Z d „  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ e j d e j ƒ Z i d d 6d d 6d d 6d d 6d d 6Z d „  Z d „  Z d Z d e f d  „  ƒ  YZ d! „  Z e j d" ƒ Z d# „  Z d$ „  Z d S(%   i    (   t   absolute_importt   divisiont   print_functionNi   (   t   Infinityt   parset   Versiont   LegacyVersiont   InvalidVersiont   VERSION_PATTERNt   _Versiont   epocht   releaset   devt   pret   postt   localc         C` s-   y t  |  ƒ SWn t k
 r( t |  ƒ SXd S(   sÑ   
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N(   R   R   R   (   t   version(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR      s    c           B` s   e  Z d  Z RS(   sF   
    An invalid version was found, users should refer to PEP 440.
    (   t   __name__t
   __module__t   __doc__(    (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   !   s   t   _BaseVersionc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s   t  |  j ƒ S(   N(   t   hasht   _key(   t   self(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __hash__(   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k  S(   N(    (   t   st   o(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   <lambda>,   t    (   t   _compare(   R   t   other(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __lt__+   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k S(   N(    (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   /   R   (   R   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __le__.   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k S(   N(    (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   2   R   (   R   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __eq__1   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k S(   N(    (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   5   R   (   R   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __ge__4   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k S(   N(    (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   8   R   (   R   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __gt__7   s    c         C` s   |  j  | d „  ƒ S(   Nc         S` s
   |  | k S(   N(    (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   ;   R   (   R   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __ne__:   s    c         C` s&   t  | t ƒ s t S| |  j | j ƒ S(   N(   t
   isinstanceR   t   NotImplementedR   (   R   R   t   method(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   =   s    (
   R   R   R   R   R    R!   R"   R#   R$   R   (    (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   '   s   							c           B` sÈ   e  Z d  „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z RS(   c         C` s%   t  | ƒ |  _ t |  j ƒ |  _ d  S(   N(   t   strt   _versiont   _legacy_cmpkeyR   (   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __init__E   s    c         C` s   |  j  S(   N(   R)   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __str__I   s    c         C` s   d j  t t |  ƒ ƒ ƒ S(   Ns   <LegacyVersion({0})>(   t   formatt   reprR(   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   __repr__L   s    c         C` s   |  j  S(   N(   R)   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   publicO   s    c         C` s   |  j  S(   N(   R)   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   base_versionS   s    c         C` s   d S(   Niÿÿÿÿ(    (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR
   W   s    c         C` s   d  S(   N(   t   None(   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   [   s    c         C` s   d  S(   N(   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   _   s    c         C` s   d  S(   N(   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   c   s    c         C` s   d  S(   N(   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   g   s    c         C` s   d  S(   N(   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   k   s    c         C` s   t  S(   N(   t   False(   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   is_prereleaseo   s    c         C` s   t  S(   N(   R3   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   is_postreleases   s    c         C` s   t  S(   N(   R3   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   is_devreleasew   s    (   R   R   R+   R,   R/   t   propertyR0   R1   R
   R   R   R   R   R   R4   R5   R6   (    (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   D   s   			s   (\d+ | [a-z]+ | \.| -)t   ct   previews   final-t   -t   rct   @c         c` sx   xl t  j |  ƒ D][ } t j | | ƒ } | s | d k rA q n  | d  d k rb | j d ƒ Vq d | Vq Wd Vd  S(   Nt   .i   t
   0123456789i   t   *s   *final(   t   _legacy_version_component_ret   splitt   _legacy_version_replacement_mapt   gett   zfill(   R   t   part(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   _parse_version_parts‡   s    c         C` s»   d } g  } x– t  |  j ƒ  ƒ D]‚ } | j d ƒ r” | d k  rj x' | rf | d d k rf | j ƒ  qC Wn  x' | r | d d k r | j ƒ  qm Wn  | j | ƒ q Wt | ƒ } | | f S(   NiÿÿÿÿR?   s   *finals   *final-t   00000000(   RF   t   lowert
   startswitht   popt   appendt   tuple(   R   R
   t   partsRE   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR*   ˜   s    s—  
    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           B` sì   e  Z e j d  e d e j e j Bƒ Z d „  Z d „  Z	 d „  Z
 e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z RS(   s   ^\s*s   \s*$c         C` s[  |  j  j | ƒ } | s0 t d j | ƒ ƒ ‚ n  t d | j d ƒ rZ t | j d ƒ ƒ n d d t d „  | j d ƒ j d ƒ Dƒ ƒ d t	 | j d ƒ | j d	 ƒ ƒ d
 t	 | j d ƒ | j d ƒ pÓ | j d ƒ ƒ d t	 | j d ƒ | j d ƒ ƒ d t
 | j d ƒ ƒ ƒ |  _ t |  j j |  j j |  j j |  j j |  j j |  j j ƒ |  _ d  S(   Ns   Invalid version: '{0}'R
   i    R   c         s` s   |  ] } t  | ƒ Vq d  S(   N(   t   int(   t   .0t   i(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>â   s    R=   R   t   pre_lt   pre_nR   t   post_lt   post_n1t   post_n2R   t   dev_lt   dev_nR   (   t   _regext   searchR   R-   R	   t   groupRN   RL   RA   t   _parse_letter_versiont   _parse_local_versionR)   t   _cmpkeyR
   R   R   R   R   R   R   (   R   R   t   match(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR+   Ù   s$    *(!-!					c         C` s   d j  t t |  ƒ ƒ ƒ S(   Ns   <Version({0})>(   R-   R.   R(   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR/   õ   s    c         C` s  g  } |  j  d k r1 | j d j |  j  ƒ ƒ n  | j d j d „  |  j Dƒ ƒ ƒ |  j d  k	 r‰ | j d j d „  |  j Dƒ ƒ ƒ n  |  j d  k	 r´ | j d j |  j ƒ ƒ n  |  j d  k	 rß | j d j |  j ƒ ƒ n  |  j	 d  k	 r
| j d	 j |  j	 ƒ ƒ n  d j | ƒ S(
   Ni    s   {0}!R=   c         s` s   |  ] } t  | ƒ Vq d  S(   N(   R(   (   RO   t   x(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>   s    R   c         s` s   |  ] } t  | ƒ Vq d  S(   N(   R(   (   RO   R_   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>  s    s   .post{0}s   .dev{0}s   +{0}(
   R
   RK   R-   t   joinR   R   R2   R   R   R   (   R   RM   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR,   ø   s    #&c         C` s
   |  j  j S(   N(   R)   R
   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR
     s    c         C` s
   |  j  j S(   N(   R)   R   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR     s    c         C` s
   |  j  j S(   N(   R)   R   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR     s    c         C` s   |  j  j r |  j  j d Sd  S(   Ni   (   R)   R   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR      s    c         C` s   |  j  j r |  j  j d Sd  S(   Ni   (   R)   R   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   $  s    c         C` s1   |  j  j r) d j d „  |  j  j Dƒ ƒ Sd  Sd  S(   NR=   c         s` s   |  ] } t  | ƒ Vq d  S(   N(   R(   (   RO   R_   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>+  s    (   R)   R   R`   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   (  s    c         C` s   t  |  ƒ j d d ƒ d S(   Nt   +i   i    (   R(   RA   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR0   /  s    c         C` sa   g  } |  j  d k r1 | j d j |  j  ƒ ƒ n  | j d j d „  |  j Dƒ ƒ ƒ d j | ƒ S(   Ni    s   {0}!R=   c         s` s   |  ] } t  | ƒ Vq d  S(   N(   R(   (   RO   R_   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr><  s    R   (   R
   RK   R-   R`   R   (   R   RM   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR1   3  s
    #c         C` s   |  j  d  k	 p |  j d  k	 S(   N(   R   R2   R   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR4   @  s    c         C` s   |  j  d  k	 S(   N(   R   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR5   D  s    c         C` s   |  j  d  k	 S(   N(   R   R2   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR6   H  s    (   R   R   t   ret   compileR   t   VERBOSEt
   IGNORECASERX   R+   R/   R,   R7   R
   R   R   R   R   R   R0   R1   R4   R5   R6   (    (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR   Õ   s   $			c         C` s²   |  r‹ | d  k r d } n  |  j ƒ  }  |  d k r< d }  n? |  d k rQ d }  n* |  d k rf d	 }  n |  d k r{ d }  n  |  t | ƒ f S|  r® | r® d }  |  t | ƒ f Sd  S(   Ni    t   alphat   at   betat   bR8   R   R9   R;   t   revt   rR   (   R8   R   R9   (   Rj   Rk   (   R2   RH   RN   (   t   lettert   number(    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR[   M  s     					s   [\._-]c         C` s-   |  d k	 r) t d „  t j |  ƒ Dƒ ƒ Sd S(   sR   
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    c         s` s3   |  ]) } | j  ƒ  s! | j ƒ  n	 t | ƒ Vq d  S(   N(   t   isdigitRH   RN   (   RO   RE   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>u  s   N(   R2   RL   t   _local_version_separatorsRA   (   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR\   o  s    c         C` sÝ   t  t t t j d „  t | ƒ ƒ ƒ ƒ ƒ } | d  k r[ | d  k r[ | d  k	 r[ t } n | d  k rp t } n  | d  k r† t } n  | d  k r› t } n  | d  k r± t } n t  d „  | Dƒ ƒ } |  | | | | | f S(   Nc         S` s
   |  d k S(   Ni    (    (   R_   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR     R   c         s` s7   |  ]- } t  | t ƒ r$ | d  f n
 t | f Vq d S(   R   N(   R%   RN   R   (   RO   RP   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pys	   <genexpr>¢  s    (   RL   t   reversedt   listt	   itertoolst	   dropwhileR2   R   (   R
   R   R   R   R   R   (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyR]   z  s    *$
	
	
	(   t
   __future__R    R   R   t   collectionsRr   Rb   t   _structuresR   t   __all__t
   namedtupleR	   R   t
   ValueErrorR   t   objectR   R   Rc   Rd   R@   RB   RF   R*   R   R   R[   Ro   R\   R]   (    (    (    sH   /tmp/pip-build-UPPWic/setuptools/setuptools/_vendor/packaging/version.pyt   <module>   s4   	8
		:x		