B
|4 @ sx d dl mZmZmZ d dlZddlmZmZ ddlm Z m
Z
erZd dlmZm
Z
edeZedZd d
Zdd ZdS )
)absolute_importdivisionprint_functionN )
TYPE_CHECKINGcast)InvalidVersionVersion)NewTypeUnionNormalizedNamez[-_.]+c C s t d| }td|S )N-r )_canonicalize_regexsublowerr )namevalue r /builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el9.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/_vendor/packaging/utils.pycanonicalize_name s r c
C s yt | }W n tk
r | S X g }|jdkrB|d|j |tddddd |jD |j dk r|dd 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 difference
with the way it handles the release segment.
r z{0}!z(\.0)+$ .c s s | ]}t |V qd S )N)str).0xr r r