
    b                     .    d Z dZdZddZ ee ee      Zy))          Nc           
         d}|t        |      dz   }nd}dj                  t        t         |             }g d}|dk7  r6t        |D cg c]  }|j	                  |       c}      st        |dz         |}	|dk(  r|}
n]|j	                  d      s%|j	                  d      rdj                  d|g      }
n'|j	                  d	      r|}
n|dk7  rt        |d
z         |dk7  rMt        t        d      D cg c]  }
j                  t        |             c}      sdj                  
dg      }
dj                  |||	
g      }ddlfd} ||      r|S t        |      c c}w c c}w )a'  
    Creates a pep440 valid version of version number given a tuple integers
    and optional epoch, prerelease and developmental info.

    Parameters
    ----------
    release_info : Tuple(Int)
    epoch : Int, default None
    pre_input : Str, default ''
    dev_input : Str, default ''
    z<The version number is not a pep 440 compliant version numberN!r   .)abrcz%
 please fix your prerelease segment.devz.devz&
 please fix your development segment.
   0    c                 ,    j                  d|       d uS )Nzk^([1-9]\d*!)?(0|[1-9]\d*)(\.(0|[1-9]\d*))*((a|b|rc)(0|[1-9]\d*))?(\.post(0|[1-9]\d*))?(\.dev(0|[1-9]\d*))?$)match)versionres    4/usr/lib/python3/dist-packages/nbconvert/_version.pyis_canonicalz*create_valid_version.<locals>.is_canonical2   s(    HH> 	 	
    )	strjoinmapany
startswith
ValueErrorrangeendswithr   )release_infoepoch	pre_input	dev_input
pep440_err	epoch_segrelease_seg
_magic_preprefixpre_segdev_segnout_versionr   r   s                 @r   create_valid_versionr,      sb    PJJ$		((3sL12K!JBsz#ZVI$8$8$@#Z[&NNOOB!!#&9+?+?+F''3	*+			f	%	b&OOPPBseBi#PG$4$4SV$<#PQ''7C.)''9k7GDEK	
 K $$G $[ $Qs   E!3!E&)r!   r"   )Nr   r   )version_infopre_infodev_infor,   __version__ r   r   <module>r2      s*   :%z #<8xXr   