U
ÀÒ.eð ã @ sJ d dl mZmZmZ d dlZddlmZmZ e d¡Z dd„ Z
dd „ ZdS )
é )Úabsolute_importÚdivisionÚprint_functionNé )ÚInvalidVersionÚVersionz[-_.]+c C s t d| ¡ ¡ S )Nú-)Ú_canonicalize_regexÚsubÚlower)Úname© r
ú?/usr/lib/python3.8/site-packages/pip/_vendor/packaging/utils.pyÚcanonicalize_name s r c
C sð zt | ƒ} W n tk
r$ | Y S X g }| jdkrF| d | j¡¡ | t ddd dd„ | jD ƒ¡¡¡ | j dk r’| d d d„ | j D ƒ¡¡ | j
dk r®| d
| j
¡¡ | jdk rÊ| d | j¡¡ | jdk ræ| d | j¡¡ d |¡S )
z‚
This is very similar to Version.__str__, but has one subtle differences
with the way it handles the release segment.
r z{0}!z(\.0)+$Ú Ú.c s s | ]}t |ƒV qd S ©N©Ústr©Ú.0Úxr
r
r Ú