§
    WŠtj°  ã                  ó’  — d dl mZ d dlZd dlmZmZmZmZ ddlm	Z	m
Z
 ddlmZmZmZ eed         eeef         f         Z ede¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z ej        dej        ¦  «        Z ej        d¦  «        Z ej        d¦  «        Zddœd&d„Zd'd„Zddœd(d „Zd)d#„Zd*d%„Z dS )+é    )ÚannotationsN)ÚNewTypeÚTupleÚUnionÚcasté   )ÚTagÚ	parse_tag)ÚInvalidVersionÚVersionÚ_TrimmedRelease© ÚNormalizedNamec                  ó   — e Zd ZdZdS )ÚInvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ó    ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/utils.pyr   r      ó   € € € € € ðð ð ð r   r   c                  ó   — e Zd ZdZdS )ÚInvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nr   r   r   r   r   r      r   r   r   c                  ó   — e Zd ZdZdS )ÚInvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nr   r   r   r   r   r      r   r   r   z%[A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9]z+[a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9]z	(\d+)(.*)F)ÚvalidateÚnameÚstrr   ÚboolÚreturnc               ó2  — |r,t                                | ¦  «        st          d| ›�¦  «        ‚|                      ¦   «                              dd¦  «                             dd¦  «        }d|v r|                     dd¦  «        }d|v °t          d|¦  «        S )Nzname is invalid: Ú_ú-ú.z--r   )Ú_validate_regexÚ	fullmatchr   ÚlowerÚreplacer   )r   r   Úvalues      r   Úcanonicalize_namer,   *   s�   € Øð 8�×1Ò1°$Ñ7Ô7ð 8ÝÐ6¨dÐ6Ð6Ñ7Ô7Ð7ð �JŠJ‰LŒL× Ò   cÑ*Ô*×2Ò2°3¸Ñ<Ô<€Eà
�%ˆ-ˆ-Ø—’˜d CÑ(Ô(ˆð �%ˆ-ˆ-åÐ  %Ñ(Ô(Ð(r   c                ó:   — t                                | ¦  «        d uS )N)Ú_normalized_regexr(   )r   s    r   Úis_normalized_namer/   7   s   € Ý×&Ò& tÑ,Ô,°DÐ8Ð8r   T)Ústrip_trailing_zeroÚversionúVersion | strr0   c               óÌ   — t          | t          ¦  «        r0	 t          | ¦  «        } n# t          $ r t          | ¦  «        cY S w xY wt          |rt	          | ¦  «        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'
    )Ú
isinstancer    r   r   r   )r1   r0   s     r   Úcanonicalize_versionr5   ;   sx   € õ, �'�3ÑÔð  ð	 Ý˜gÑ&Ô&ˆGˆGøÝð 	 ð 	 ð 	 Ý�w‘<”<ÐÐÐð	 øøøåÐ+>ÐK�˜wÑ'Ô'Ð'ÀGÑLÔLÐLs   —' §AÁAÚfilenameú8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]]c                óB  — |                       d¦  «        st          d| ›�¦  «        ‚| d d…         } |                      d¦  «        }|dvrt          d| ›�¦  «        ‚|                      d|dz
  ¦  «        }|d         }d	|v s t	          j        d
|t          j        ¦  «        €t          d| ›�¦  «        ‚t          |¦  «        }	 t          |d         ¦  «        }n%# t          $ r}t          d| ›�¦  «        |‚d }~ww xY w|dk    r|d         }t                               |¦  «        }|€t          d|› d| ›�¦  «        ‚t          dt          |                     d¦  «        ¦  «        |                     d¦  «        f¦  «        }	nd}	t          |d         ¦  «        }
|||	|
fS )Nz.whlz3Invalid wheel filename (extension must be '.whl'): éüÿÿÿr%   )é   é   z0Invalid wheel filename (wrong number of parts): é   r   Ú__z^[\w\d._]*$zInvalid project name: r   z*Invalid wheel filename (invalid version): r;   zInvalid build number: z in ÚBuildTagr   éÿÿÿÿ)Úendswithr   ÚcountÚsplitÚreÚmatchÚUNICODEr,   r   r   Ú_build_tag_regexr   ÚintÚgroupr
   )r6   ÚdashesÚpartsÚ	name_partr   r1   ÚeÚ
build_partÚbuild_matchÚbuildÚtagss              r   Úparse_wheel_filenamerQ   Y   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ñô ð õ �Z¥# k×&7Ò&7¸Ñ&:Ô&:Ñ";Ô";¸[×=NÒ=NÈqÑ=QÔ=QÐ!RÑSÔSˆˆàˆÝ�U˜2”YÑÔ€DØ�'˜5 $Ð'Ð's   ÃC Ã
C<Ã$C7Ã7C<útuple[NormalizedName, Version]c                óÊ  — |                       d¦  «        r| d t          d¦  «         …         }n@|                       d¦  «        r| d t          d¦  «         …         }nt          d| ›�¦  «        ‚|                     d¦  «        \  }}}|st          d| ›�¦  «        ‚t	          |¦  «        }	 t          |¦  «        }n%# t          $ r}t          d| ›�¦  «        |‚d }~ww xY w||fS )Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r%   zInvalid sdist filename: z*Invalid sdist filename (invalid version): )r@   Úlenr   Ú
rpartitionr,   r   r   )r6   Ú	file_stemrK   ÚsepÚversion_partr   r1   rL   s           r   Úparse_sdist_filenamerY   „   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)r   r    r   r!   r"   r   )r   r    r"   r!   )r1   r2   r0   r!   r"   r    )r6   r    r"   r7   )r6   r    r"   rR   )!Ú
__future__r   rC   Útypingr   r   r   r   rP   r	   r
   r1   r   r   r   rG   r    r>   r   Ú
ValueErrorr   r   r   ÚcompileÚ
IGNORECASEr'   r.   rF   r,   r/   r5   rQ   rY   r   r   r   ú<module>r_      sø  ðð
 #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à��r”˜E # s (œOÐ+Ô,€Ø�Ð)¨3Ñ/Ô/€ðð ð ð ð �*ñ ô ð ðð ð ð ð ˜:ñ ô ð ðð ð ð ð ˜:ñ ô ð ð �"”*ÐEÀrÄ}ÑUÔU€Ø�B”JÐMÑNÔNÐ à�2”:˜lÑ+Ô+Ð ð 6;ð 
)ð 
)ð 
)ð 
)ð 
)ð 
)ð9ð 9ð 9ð 9ð
 <@ðMð Mð Mð Mð Mð Mð<((ð ((ð ((ð ((ðVð ð ð ð ð r   