
    n&ph%                        S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
  SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJrJr  S	S
KJr  S	SKJr  S	SKJr  SSKJr  \R@                  " S\RB                  5      RD                  r#Sr$\RJ                  S 5       r&SS jr'\RP                  S 5       r) " S S5      r*g)zWheels support.    N)Requirement)sys_tags)canonicalize_name)Version)_unpack_zipfile_obj)_egg_basenamewrite_requirements   )extras_from_deps)metadata)_read_utf8_with_fallback)get_platformz^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
c                      [        5        V s1 s H%  o R                  U R                  U R                  4iM'     sn $ s  sn f N)r   interpreterabiplatform)ts    C/var/www/html/venv/lib/python3.13/site-packages/setuptools/wheel.py_get_supported_tagsr   %   s0    
 9A
C
1]]AEE1::.
CCCs   ,<c                    [         R                  " U 5       GH'  u  p#n[         R                  R                  X 5      nU HX  n[         R                  R	                  X&5      n[         R                  R	                  XU5      n[         R
                  " Xx5        MZ     [        [        [        U5      5      5       H  u  p[         R                  R	                  X*5      n[         R                  R	                  XU
5      n[         R                  R                  U5      (       a  Mj  [         R
                  " Xx5        X9	 M     GM*     [         R                  " U SS9 H%  u  p#nU(       a   e[         R                  " U5        M'     g)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN)oswalkpathrelpathjoinrenamesreversedlist	enumerateexistsrmdir)src_dirdst_dirdirpathdirnames	filenamessubdirfsrcdstnds              r   unpackr/   -   s   (*(8$92A'',,w*C'',,w2CJJs   T)H"567DA'',,w*C'',,w2C77>>#&& 

3$K 8 )9 )+(F$9}
 )G    c               #      #    SSK Jn   U R                  U R                  5      n Sv   U R                  U5        g! U R                  U5        f = f7f)z"
Temporarily disable info traces.
r   )logN)	distutilsr2   set_thresholdWARN)r2   saveds     r   disable_info_tracesr7   C   sB     
 chh'E!% % s   "A; AAAc                       \ rS rSrSS jrS rS rS rS rSS jr	S	 r
\S
 5       r\S 5       r\S 5       r\S 5       rSrg)WheelQ   Nc                     [        [        R                  R                  U5      5      nUc  [	        SU< 35      eXl        UR                  5       R                  5        H  u  p4[        XU5        M     g )Nzinvalid wheel name: )	
WHEEL_NAMEr   r   basename
ValueErrorfilename	groupdictitemssetattr)selfr?   matchkvs        r   __init__Wheel.__init__R   s^    277++H56=3H<@AA OO%++-DADQ .r0   c                     [         R                  " U R                  R                  S5      U R                  R                  S5      U R
                  R                  S5      5      $ )z>List tags (py_version, abi, platform) supported by this wheel..)	itertoolsproduct
py_versionsplitr   r   rC   s    r   tags
Wheel.tagsZ   sI      OO!!#&HHNN3MM$
 	
r0   c                 D    [        S U R                  5        5       S5      $ )z2Is the wheel compatible with the current platform?c              3   D   #    U  H  o[        5       ;   d  M  S v   M     g7f)TN)r   ).0r   s     r   	<genexpr>&Wheel.is_compatible.<locals>.<genexpr>d   s     M;a7J7L2LTT;s    	 F)nextrP   rO   s    r   is_compatibleWheel.is_compatibleb   s    M499;MuUUr0   c                 z    [        U R                  U R                  U R                  S:X  a  S O	[	        5       S9S-   $ )Nany)r   z.egg)r   project_nameversionr   r   rO   s    r   egg_nameWheel.egg_namef   s;    !!"&--5"8$ln
 	
r0   c                    UR                  5        Hg  n[        R                  " U5      nUR                  S5      (       d  M1  [	        U5      R                  [	        U R                  5      5      (       d  Me  Us  $    [        S5      e)Nz
.dist-infoz.unsupported wheel format. .dist-info not found)namelist	posixpathdirnameendswithr   
startswithr\   r>   )rC   zfmemberrc   s       r   get_dist_infoWheel.get_dist_infop   sn    kkmF''/G--2CG2L2W2W!$"3"343 3  $ IJJr0   c                     [         R                  " U R                  5       nU R                  X5        SSS5        g! , (       d  f       g= f)z"Install wheel as an egg directory.N)zipfileZipFiler?   _install_as_egg)rC   destination_eggdirrf   s      r   install_as_eggWheel.install_as_eggz   s/    __T]]+r  !38 ,++s	   <
A
c                    U R                    SU R                   3nU R                  U5      nU S3n[        R                  R                  US5      nU R                  X!XF5        U R                  X5        U R                  Xa5        g )N-z.dataEGG-INFO)	r\   r]   rh   r   r   r   _convert_metadata_move_data_entries_fix_namespace_packages)rC   rn   rf   dist_basename	dist_info	dist_dataegg_infos          r   rm   Wheel._install_as_egg   s{    ,,-Qt||n=&&r*	$oU+	77<< 2J?ryK 2>$$XBr0   c           	      "  ^ ^ UU 4S jnU" S5      n[        UR                  S5      5      n[        S5      Us=:*  =(       a    [        S5      :  Os  nU(       d  [        SU 35      e[        T U5        [        R
                  R                  UT5      m[        R                  UT5      u  p[        R                  " TU5        [        R                  " [        R
                  R                  US5      [        R
                  R                  US5      5        [        R                  " [        UU	S	9S
9n
[        5          [        U
R                  S5      S [        R
                  R                  US5      5        S S S 5        g ! , (       d  f       g = f)Nc                   > TR                  [        R                  " TU 5      5       nUR                  5       R	                  S5      n[
        R                  R                  5       R                  U5      sS S S 5        $ ! , (       d  f       g = f)Nutf-8)	openrb   r   readdecodeemailparserParserparsestr)namefpvaluerx   rf   s      r   get_metadata-Wheel._convert_metadata.<locals>.get_metadata   sY    	489R	((1||**,55e< :99s   AA>>
BWHEELzWheel-Versionz1.0z2.0dev0z"unsupported wheel format version: METADATAzPKG-INFO)install_requiresextras_require)attrsrz   zrequires.txt)parse_versiongetr>   r   r   r   r   r9   _convert_requiresrename
setuptoolsDistributiondictr7   r	   get_command_obj)rf   rn   rx   rz   r   wheel_metadatawheel_versionwheel_v1r   r   
setup_dists   ` `        r   rt   Wheel._convert_metadata   s3   	=
 &g.%n&8&8&IJ '=SS=;SSA-QRRB 23GGLL!3Y?	+0+B+B	,
( 			)X&
		GGLL:.GGLL:.	
  ,,!1-

 !"**:6X~6 #""s   <;F  
Fc                   ^^
^ [         R                  R                  U5      R                   nUR                  S5      =(       d    / n[	        [        [        U5      5      n[        U5      nS nS m
S m[	        [        U[        T
[        R                  " TU5      5      5      5      nU V^s0 s H%  mT[	        [        UU
UU4S jU 5       5      5      _M'     n	nXy4$ s  snf )NzRequires-Distc                 N    [        [        U 5      5      n S U l        [        U 5      $ r   )r   strmarker)reqs    r   raw_req(Wheel._convert_requires.<locals>.raw_req   s     c#h'CCJs8Or0   c                 h    U R                   (       + =(       d    U R                   R                  U5      $ r   )r   evaluate)r   envs     r   eval%Wheel._convert_requires.<locals>.eval   s"    zz>=SZZ%8%8%==r0   c                 x     U R                   R                  n[        S U 5       5      $ ! [         a    Sn N f = f)N c              3      #    U  H@  n[        U[        5      (       d  M  US    R                  S:X  d  M/  US   R                  v   MB     g7f)r   extra   N)
isinstancetupler   )rT   r   s     r   rU   =Wheel._convert_requires.<locals>.for_extra.<locals>.<genexpr>   s@      %Ffe,  17G1K  q	%s   A
A
A
)r   _markersAttributeErrorset)r   markerss     r   	for_extra*Wheel._convert_requires.<locals>.for_extra   sH    **--  %   " s   * 99c              3   b   >#    U  H$  nT" U5      (       d  M  T" UTS 9(       d  M   Uv   M&     g7f))r   Nr   )rT   r   r   r   r   s     r   rU   *Wheel._convert_requires.<locals>.<genexpr>   s$     VDSIcNStCu?USSDs   /
/	/)r   r   atget_allr    mapr   r   filterrK   filterfalse)rn   rx   mddepsreqsextrasr   r   r   r   r   r   s           ` @@r   r   Wheel._convert_requires   s    ""%%i099zz/*0bCT*+!$'
	
	>		  i&;&;It&LMN
  
   4VDV    	 
  //
s   -,Cc                   ^ [         R                  R                  U T5      m[         R                  R                  TS5      n[         R                  R                  U5      (       Ga  [         R                  R                  U SS5      n[         R                  " U5        [         R
                  " U5       H  nUR                  S5      (       a5  [         R                  " [         R                  R                  X$5      5        MN  [         R                  " [         R                  R                  X$5      [         R                  R                  X45      5        M     [         R                  " U5        [        [         R                  R                  U4S jS 5       5       H  n[        XP5        M     [         R                  R                  T5      (       a  [         R                  " T5        gg)z,Move data entries to their correct location.scriptsrs   z.pycc              3   d   >#    U  H%  n[         R                  R                  TU5      v   M'     g 7fr   )r   r   r   )rT   r.   ry   s     r   rU   +Wheel._move_data_entries.<locals>.<genexpr>   s*      BA Y**Bs   -0)dataheaderspurelibplatlibN)r   r   r   r"   mkdirlistdirrd   unlinkr   r#   r   r/   )rn   ry   dist_data_scriptsegg_info_scriptsentryr)   s    `    r   ru   Wheel._move_data_entries   s;    GGLL!3Y?	GGLLI>77>>+,,!ww||,>
IVHH%&$56 >>&))IIbggll+<DEII%6>%5= 7 HH&'GGNNB
F 6.
 77>>)$$HHY %r0   c                    [         R                  R                  U S5      n[         R                  R                  U5      (       a  [	        U5      R                  5       nU H  n[         R                  R                  " U/UR                  S5      Q76 n[         R                  R                  US5      n[         R                  R                  U5      (       d  [         R                  " U5        [         R                  R                  U5      (       a  M  [        USSS9 nUR                  [        5        S S S 5        M     g g ! , (       d  f       M  = f)Nznamespace_packages.txtrJ   z__init__.pywr~   )encoding)
r   r   r   r"   r   rN   r   r   writeNAMESPACE_PACKAGE_INIT)rz   rn   namespace_packagesmodmod_dirmod_initr   s          r   rv   Wheel._fix_namespace_packages   s    WW\\(4LM77>>,--!9:L!M!S!S!U)'',,'9KCIIcNK77<<?ww~~g..HHW%ww~~h//hg>"!78 ?> * . ?>s   E
E	)r?   returnN)__name__
__module____qualname____firstlineno__rG   rP   rX   r^   rh   ro   rm   staticmethodrt   r   ru   rv   __static_attributes__r   r0   r   r9   r9   Q   sz     
V
K9
C " "H )0 )0V    : 9 9r0   r9   r   )+__doc__
contextlibr   	functoolsrK   r   rb   rerk   packaging.requirementsr   packaging.tagsr   packaging.utilsr   packaging.versionr   r   r   setuptools.archive_utilr   setuptools.command.egg_infor   r	   
_discoveryr   
_importlibr   unicode_utilsr   distutils.utilr   compileVERBOSErD   r<   r   cacher   r/   contextmanagerr7   r9   r   r0   r   <module>r      s         	  	  . # - 6  7 I (   3 'ZZ JJ	
 %  U  D D, 
! 
!t9 t9r0   