σ
οRec @` s§ d d l m Z m Z m Z d d l Z d d l m Z m Z d d l m Z m
Z
e r d d l m Z m
Z
e d e Z n e j d Z d Z d
Z d S( i ( t absolute_importt divisiont print_functionNi ( t
TYPE_CHECKINGt cast( t InvalidVersiont Version( t NewTypet Uniont NormalizedNames [-_.]+c C` s% t j d | j } t d | S( Nt -R ( t _canonicalize_regext subt lowerR ( t namet value( ( s /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/packaging/utils.pyt canonicalize_name s c C` sK y t | } Wn t k
r$ | SXg } | j d k rV | j d j | j n | j t j d d 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( s
This is very similar to Version.__str__, but has one subtle difference
with the way it handles the release segment.
i s {0}!s (\.0)+$t t .c s` s | ] } t | Vq d S( N( t str( t .0t x( ( s /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/packaging/utils.pys