ó
    ¶'Ôi°  ã                  óœ  • S SK Jr  S SKrS SKJrJrJrJr  SSKJ	r	J
r
  SSKJrJrJr  \\S   \\\4   4   r\" S\5      r " S	 S
\5      r " S S\5      r " S S\5      r\R.                  " S\R0                  5      r\R.                  " S5      r\R.                  " S5      rSS.SS jjrSS jrSS.     SS jjr    SS jrSS jr g) é    )ÚannotationsN)ÚNewTypeÚTupleÚUnionÚcasté   )ÚTagÚ	parse_tag)ÚInvalidVersionÚVersionÚ_TrimmedRelease© ÚNormalizedNamec                  ó   • \ rS rSrSrSrg)ÚInvalidNameé   zO
An invalid distribution name; users should refer to the packaging user guide.
r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    ÚN/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/packaging/utils.pyr   r      ó   † ôr   r   c                  ó   • \ rS rSrSrSrg)ÚInvalidWheelFilenameé   zE
An invalid wheel filename was found, users should refer to PEP 427.
r   Nr   r   r   r   r   r      r   r   r   c                  ó   • \ rS rSrSrSrg)ÚInvalidSdistFilenameé   zV
An invalid sdist filename was found, users should refer to the packaging user guide.
r   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)Úvalidatec               ó  • U(       a)  [         R                  U 5      (       d  [        SU < 35      eU R                  5       R	                  SS5      R	                  SS5      nSU;   a  UR	                  SS5      nSU;   a  M  [        SU5      $ )Nzname is invalid: Ú_Ú-Ú.z--r   )Ú_validate_regexÚ	fullmatchr   ÚlowerÚreplacer   )Únamer#   Úvalues      r   Úcanonicalize_namer.   *   s}   € Þœ×1Ñ1°$×7Ñ7ÜÐ-¨d©XÐ6Ó7Ð7ð �J‰J‹L× Ñ   cÓ*×2Ñ2°3¸Ó<€Eà
�%‹-Ø—‘˜d CÓ(ˆð �%�-äÐ  %Ó(Ð(r   c                ó0   • [         R                  U 5      S L$ )N)Ú_normalized_regexr)   )r,   s    r   Úis_normalized_namer1   7   s   € Ü×&Ñ& tÓ,°DÐ8Ð8r   T)Ústrip_trailing_zeroc               ó¼   • [        U [        5      (       a   [        U 5      n [        U(       a  [	        U 5      5      $ U 5      $ ! [         a    [        U 5      s $ f = f)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'
)Ú
isinstanceÚstrr   r   r   )Úversionr2   s     r   Úcanonicalize_versionr7   ;   sX   € ô, �'œ3×Ñð	 Ü˜gÓ&ˆGô Ö+>Œ˜wÓ'ÓLÐLÀGÓLÐLøô ó 	 Ü�w“<Òð	 ús   —A ÁAÁAc                óÄ  • U R                  S5      (       d  [        SU < 35      eU S S n U R                  S5      nUS;  a  [        SU < 35      eU R                  SUS-
  5      nUS   nS	U;   d'  [        R
                  " S
U[        R                  5      c  [        SU < 35      e[        U5      n [        US   5      nUS:X  ae  US   n[        R                  U5      nUc  [        SU SU < 35      e[        S[        UR                  S5      5      UR                  S5      45      n	OSn	[        US   5      n
XEXš4$ ! [         a  n[        SU < 35      UeS nAff = f)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
   )ÚfilenameÚdashesÚpartsÚ	name_partr,   r6   ÚeÚ
build_partÚbuild_matchÚbuildÚtagss              r   Úparse_wheel_filenamerR   Y   s�  € ð ×Ñ˜V×$Ñ$Ü"ØAÀ(ÁÐNó
ð 	
ð ˜˜ˆ}€HØ�^‰^˜CÓ €FØ�VÓÜ"Ø>¸x¹lÐKó
ð 	
ð �N‰N˜3 ¨¡
Ó+€EØ�a‘€IàˆyÓœBŸHšH ^°YÄÇ
Á
ÓKÑSÜ"Ð%;¸H¹<Ð#HÓIÐIÜ˜YÓ'€DðÜ˜% ™(Ó#ˆð �ƒ{Ø˜1‘Xˆ
Ü&×,Ñ,¨ZÓ8ˆØÑÜ&Ø(¨¨°D¸¹ÐEóð ô �Z¤# k×&7Ñ&7¸Ó&:Ó";¸[×=NÑ=NÈqÓ=QÐ!RÓS‰àˆÜ�U˜2‘YÓ€DØ˜5Ð'Ð'øô! ó Ü"Ø8¸¹ÐEó
àð	ûðús   Â3E  Å 
EÅ
EÅEc                ó„  • U R                  S5      (       a  U S [        S5      *  nO5U R                  S5      (       a  U S [        S5      *  nO[        SU < 35      eUR                  S5      u  p#nU(       d  [        SU < 35      e[	        U5      n [        U5      nXV4$ ! [         a  n[        SU < 35      UeS nAff = f)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   )rI   Ú	file_stemrL   ÚsepÚversion_partr,   r6   rM   s           r   Úparse_sdist_filenamerY   „   sá   € Ø×Ñ˜×#Ñ#ØÐ.¤ I£˜Ð/‰	Ø	×	Ñ	˜6×	"Ñ	"Ø˜^¤ F£˜|Ð,‰	ä"ðØ‰|ðó
ð 	
ð $-×#7Ñ#7¸Ó#<Ñ €I�LÞÜ"Ð%=¸h¹\Ð#JÓKÐKä˜YÓ'€DðÜ˜,Ó'ˆð ˆ?Ðøô ó Ü"Ø8¸¹ÐEó
àð	ûðús   ÂB  Â 
B?Â*B:Â:B?)r,   r5   r#   ÚboolÚreturnr   )r,   r5   r[   rZ   )r6   zVersion | strr2   rZ   r[   r5   )rI   r5   r[   z8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]])rI   r5   r[   ztuple[NormalizedName, Version])!Ú
__future__r   rC   Útypingr   r   r   r   rQ   r	   r
   r6   r   r   r   rG   r5   r>   r   Ú
ValueErrorr   r   r!   ÚcompileÚ
IGNORECASEr(   r0   rF   r.   r1   r7   rR   rY   r   r   r   Ú<module>ra      sï   ðõ
 #ã 	ß .Ó .ç  ß =Ñ =à��r‘˜E # s (™OÐ+Ñ,€ÙÐ)¨3Ó/€ô�*ô ô˜:ô ô˜:ô ð —*’*ÐEÀrÇ}Á}ÓU€Ø—J’JÐMÓNÐ à—:’:˜lÓ+Ð ð 6;÷ 
)ô9ð
 <@ñMØðMØ48ðMàõMð<((Øð((à=ô((õVr   