HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/packaging/__pycache__/utils.cpython-311.pyc
�

]�Zg����ddlmZddlZddlZddlmZmZmZmZddl	m
Z
mZddlm
Z
mZmZeedeeeffZede��ZGd	�d
e��ZGd�de��ZGd
�de��Zejdej��Zejd��Zejd��Zejd��Zdd�d(d�Zd)d�Zej dd�d*d!���Z!e!j"dd�d+d"���Z#d,d%�Z$d-d'�Z%dS).�)�annotationsN)�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version�_TrimmedRelease��NormalizedNamec��eZdZdZdS)�InvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N��__name__�
__module__�__qualname__�__doc__r��B/opt/alt/python311/lib/python3.11/site-packages/packaging/utils.pyrr����������rrc��eZdZdZdS)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nrrrrrrrrrc��eZdZdZdS)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrrrrrrrrrz)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z	(\d+)(.*)F)�validate�name�strr�bool�returnc���|r,t�|��std|�����t�d|�����}t
t|��S)Nzname is invalid: �-)�_validate_regex�matchr�_canonicalize_regex�sub�lowerrr)rr�values   r�canonicalize_namer+.sg���8��-�-�d�3�3�8��6�d�6�6�7�7�7��#�#�C��.�.�4�4�6�6�E����&�&�&rc�:�t�|��duS)N)�_normalized_regexr&)rs r�is_normalized_namer.6s���"�"�4�(�(��4�4rT��strip_trailing_zero�version�
Version | strr0c�\�t|rtt|����n|��S)a�
    Return a canonical form of a version as a string.

    >>> canonicalize_version('1.0.1')
    '1.0.1'

    Per PEP 625, versions may have multiple canonical forms, differing
    only by trailing zeros.

    >>> canonicalize_version('1.0.0')
    '1'
    >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
    '1.0.0'

    Invalid versions are returned unaltered.

    >>> canonicalize_version('foo bar baz')
    'foo bar baz'
    )r r
)r1r0s  r�canonicalize_versionr4:s+��.�0C�P��s�7�|�|�,�,�,��Q�Q�Qrc�j�	t|��}n#t$r|cYSwxYwt||���S)Nr/)rrr4)r1r0�parseds   r�_r7TsP�����!�!���������������� ��<O�P�P�P�Ps��!�!�filename�8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]]c�L�|�d��std|�����|dd�}|�d��}|dvrtd|�����|�d|dz
��}|d}d	|vs t	jd
|tj���td|�����t|��}	t|d��}n%#t$r}td
|����|�d}~wwxYw|dkr�|d}t�|��}|�td|�d|�����ttt|�d����|�d��f��}	nd}	t|d��}
|||	|
fS)Nz.whlz3Invalid wheel filename (extension must be '.whl'): ���r$)��z0Invalid wheel filename (wrong number of parts): �r�__z^[\w\d._]*$zInvalid project name: rz*Invalid wheel filename (invalid version): r=zInvalid build number: z in r���)�endswithr�count�split�rer&�UNICODEr+rr�_build_tag_regexr�BuildTag�int�groupr
)r8�dashes�parts�	name_partrr1�e�
build_part�build_match�build�tagss           r�parse_wheel_filenamerR^s������V�$�$�
�"�N�(�N�N�
�
�	
�����}�H�
�^�^�C�
 �
 �F�
�V���"�K�x�K�K�
�
�	
�
�N�N�3���
�+�+�E��a��I��y���B�H�^�Y��
�K�K�S�"�#H�H�#H�#H�I�I�I��Y�'�'�D���%��(�#�#��������"�E��E�E�
�
��	���������
��{�{��1�X�
�&�,�,�Z�8�8����&�E��E�E��E�E���
��X��K�$5�$5�a�$8�$8� 9� 9�;�;L�;L�Q�;O�;O�P�Q�Q������U�2�Y���D��'�5�$�'�'s�C�
C<�$C7�7C<�tuple[NormalizedName, Version]c���|�d��r|dtd���}n@|�d��r|dtd���}ntd|�����|�d��\}}}|std|�����t	|��}	t|��}n%#t$r}td|����|�d}~wwxYw||fS)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r$zInvalid sdist filename: z*Invalid sdist filename (invalid version): )rA�lenr�
rpartitionr+rr)r8�	file_stemrL�sep�version_partrr1rMs        r�parse_sdist_filenamerZ�s,������#�#�
��.��I����.�/�	�	�	�	�	�6�	"�	"�
��^��F���|�^�,�	�	�"�
��
�
�
�
�	
�$-�#7�#7��#<�#<� �I�s�L��L�"�#J�h�#J�#J�K�K�K��Y�'�'�D���,�'�'��������"�E��E�E�
�
��	���������

�'�?�s�,B<�<
C�C�C)rr rr!r"r)rr r"r!)r1r2r0r!r"r )r1r r0r!r"r )r8r r"r9)r8r r"rS)&�
__future__r�	functoolsrD�typingrrrrrQr	r
r1rrr
rHr rGr�
ValueErrorrrr�compile�
IGNORECASEr%r'r-rFr+r.�singledispatchr4�registerr7rRrZrrr�<module>rcs`��
#�"�"�"�"�"�����	�	�	�	�.�.�.�.�.�.�.�.�.�.�.�.� � � � � � � � �=�=�=�=�=�=�=�=�=�=���r��E�#�s�(�O�+�,����)�3�/�/�������*���������:���������:�����"�*�0�"�-����!�b�j��+�+���B�J�Q�R�R���2�:�l�+�+��6;�'�'�'�'�'�'�5�5�5�5���;?�R�R�R�R�R���R�2��37�Q�Q�Q�Q�Q���Q�((�((�((�((�V�����r