
    F\hz                        S r SSKrSSKJrJrJ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/r\R                  r\R                   SS r " S S\5      r0 r\" \5      rSrS	rS
rSrSrSrSrSrSr " S S\R@                  5      r!\S-   SS4\S-   SS4SS4r"S r#S r$S r%S r&Sr'Sq(S r)S r*S r+S r,\" \,RZ                  5      r.S  r/S! r0S" r1S# r2S$ r3S% r4g)&a  zipimport provides support for importing Python modules from Zip archives.

This module exports two objects:
- zipimporter: a class; its constructor takes a path to a Zip archive.
- ZipImportError: exception raised by zipimporter objects. It's a
  subclass of ImportError, so it can be caught as ImportError, too.

It is usually not needed to use the zipimport module explicitly; it is
used by the builtin import mechanism for sys.path items that are paths
to Zip archives.
    N)_unpack_uint16_unpack_uint32_unpack_uint64ZipImportErrorzipimporter   c                       \ rS rSrSrg)r        N)__name__
__module____qualname____firstlineno____static_attributes__r        /usr/lib/python3.13/zipimport.pyr   r       s    r      8      s   PKs   PKs   PKi  l    c                   d    \ rS rSrSrS rSS jrS rS rS r	S	 r
S
 rS rS rS rS rS rSrg)r   2   a  zipimporter(archivepath) -> zipimporter object

Create a new zipimporter instance. 'archivepath' must be a path to
a zipfile, or to a specific path inside a zipfile. For example, it can be
'/tmp/myimport.zip', or '/tmp/myimport.zip/mydirectory', if mydirectory is a
valid directory inside the archive.

'ZipImportError is raised if 'archivepath' doesn't point to a valid Zip
archive.

The 'archive' attribute of zipimporter objects contains the name of the
zipfile targeted.
c                    [        U[        5      (       d  [        S[        U5      < 35      eU(       d
  [	        SUS9e[
        (       a  UR                  [
        [        5      n/ n  [        R                  " U5      nUR                  S-  S:w  a
  [	        SUS9e U[        ;  a  [!        U5      [        U'   Xl        [        R$                  " US S S2   6 U l        U R&                  (       a  U =R&                  [        -  sl        g g ! [        [        4 a=    [        R                  " U5      u  pEXA:X  a
  [	        SUS9eUnUR                  U5         Of = fM  )Nzexpected str, not zarchive path is emptypathi   i   znot a Zip file)
isinstancestr	TypeErrortyper   alt_path_sepreplacepath_sep_bootstrap_external
_path_statst_modeOSError
ValueError_path_splitappend_zip_directory_cache_read_directoryarchive
_path_joinprefix)selfr   r.   stdirnamebasenames         r   __init__zipimporter.__init__D   s3   $$$0d?@@ !8tDD<<<h7D(33D9 JJ)h6()9EE++)8)> &)44fTrTlC;;KK8#K ) Z( ( %8$C$CD$I!?()9EEh'( s   (D A
EENc                    [        X5      nUb  [        R                  " XUS9$ [        X5      n[	        X5      (       aI  U R
                   [         U 3n[        R                  " USSS9nUR                  R                  U5        U$ g)z[Create a ModuleSpec for the specified module.

Returns None if the module cannot be found.
N)
is_packageT)nameloaderr6   )
_get_module_info
_bootstrapspec_from_loader_get_module_path_is_dirr,   r"   
ModuleSpecsubmodule_search_locationsr)   )r/   fullnametargetmodule_infomodpathr   specs          r   	find_speczipimporter.find_spech   s    
 't6"..x+VV 't6Gt%% ,,z';!,,(48<>//66t<r   c                 "    [        X5      u  p#nU$ )zget_code(fullname) -> code object.

Return the code object for the specified module. Raise ZipImportError
if the module couldn't be imported.
_get_module_coder/   r@   code	ispackagerC   s        r   get_codezipimporter.get_code   s     $4D#C r   c                 f   [         (       a  UR                  [         [        5      nUnUR                  U R                  [        -   5      (       a  U[        U R                  [        -   5      S n U R                  5       U   n[        U R                  U5      $ ! [         a    [        SSU5      ef = f)zget_data(pathname) -> string with file data.

Return the data associated with 'pathname'. Raise OSError if
the file wasn't found.
Nr    )
r    r!   r"   
startswithr,   len
_get_filesKeyErrorr&   	_get_data)r/   pathnamekey	toc_entrys       r   get_datazipimporter.get_data   s     <''h?Ht||h6773t||h6789C	&)#.I y11  	&!R%%	&s   /B B0c                 "    [        X5      u  p#nU$ )zget_filename(fullname) -> filename string.

Return the filename for the specified module or raise ZipImportError
if it couldn't be imported.
rH   rJ   s        r   get_filenamezipimporter.get_filename   s     $4D#C r   c                 (   [        X5      nUc  [        SU< 3US9e[        X5      nU(       a  [        R                  " US5      nOU S3n U R                  5       U   n[        U R                  U5      R                  5       $ ! [         a     gf = f)zget_source(fullname) -> source string.

Return the source code for the specified module. Raise ZipImportError
if the module couldn't be found, return None if the archive does
contain the module, but has no source for it.
Ncan't find module r7   __init__.py.py)
r9   r   r<   r#   r-   rS   rT   rU   r,   decode)r/   r@   mir   fullpathrX   s         r   
get_sourcezipimporter.get_source   s     d-: #5h\!BRR/*55dMJHs|H	)(3I y188::  		s   B 
BBc                 >    [        X5      nUc  [        SU< 3US9eU$ )zis_package(fullname) -> bool.

Return True if the module specified by fullname is a package.
Raise ZipImportError if the module couldn't be found.
r_   r`   )r9   r   )r/   r@   rd   s      r   r6   zipimporter.is_package   s-     d-: #5h\!BRR	r   c                    Sn[         R                  " U[        5        [        X5      u  p4n[        R
                  R                  U5      nUb  [        U[        5      (       d  [        U5      nU[        R
                  U'   Xl	         U(       a4  [        X5      n[        R                  " U R                  U5      nU/Ul        [        US5      (       d  [         Ul        [        R"                  " UR$                  X5        ['        X6R$                  5         [        R
                  U   n[,        R.                  " SX5        U$ !   [        R
                  U	 e = f! [(         a    [+        SU< S35      ef = f)a  load_module(fullname) -> module.

Load the module specified by 'fullname'. 'fullname' must be the
fully qualified (dotted) module name. It returns the imported
module, or raises ZipImportError if it could not be imported.

Deprecated since Python 3.10. Use exec_module() instead.
zrzipimport.zipimporter.load_module() is deprecated and slated for removal in Python 3.12; use exec_module() instead__builtins__zLoaded module z not found in sys.moduleszimport {} # loaded from Zip {})	_warningswarnDeprecationWarningrI   sysmodulesgetr   _module_type
__loader__r<   r#   r-   r,   __path__hasattrrk   _fix_up_module__dict__execrT   ImportErrorr:   _verbose_message)	r/   r@   msgrK   rL   rC   modr   re   s	            r   load_modulezipimporter.load_module   s9   Cs./#3D#C kkooh';jl;;x(C$'CKK!	 (7.99$,,M (z3//#/ ..s||XO||$
	V++h'C 	##$DhX
	H%  	Vxl:STUU	Vs   BE E EE4c                     SSK Jn  U" X5      $ )z5Return the ResourceReader for a module in a zip file.r   )	ZipReader)importlib.readersr   )r/   r@   r   s      r   get_resource_readerzipimporter.get_resource_reader   s    /((r   c                      [         U R                     nU$ ! [         aA     [        U R                  5      =n[         U R                  '    U$ ! [         a    0 n  U$ f = ff = f)z)Return the files within the archive path.)r*   r,   rT   r+   r   )r/   filess     r   rS   zipimporter._get_files  sq    	(6E   	=LT\\=ZZ,T\\:  " 	s&    
A"(AAA"AA"c                 D    [         R                  U R                  S5        g)z7Invalidates the cache of file data of the archive path.N)r*   popr,   r/   s    r   invalidate_cacheszipimporter.invalidate_caches  s      t4r   c                 F    SU R                    [         U R                   S3$ )Nz<zipimporter object "z">)r,   r"   r.   r   s    r   __repr__zipimporter.__repr__  s!    &t||nXJt{{m2NNr   )r,   r.   N)r   r   r   r   __doc__r3   rE   rM   rY   r\   rf   r6   r}   r   rS   r   r   r   r   r   r   r   r   2   sF    "!$H62*	;4	(V)
5
Or   z__init__.pycTra   F)z.pycTF)rb   FFc                 D    U R                   UR                  S5      S   -   $ )N.   )r.   
rpartition)r/   r@   s     r   r<   r<   +  s!    ;;,,S1!444r   c                 8    U[         -   nX R                  5       ;   $ r   )r"   rS   )r/   r   dirpaths      r   r=   r=   /  s     XoGoo'''r   c                 p    [        X5      n[         H!  u  p4nX#-   nX`R                  5       ;   d  M  Us  $    g r   )r<   _zip_searchorderrS   )r/   r@   r   suffix
isbytecoderL   re   s          r   r9   r9   8  s:    D+D)9%I=(( *: r   c           
          [         R                  " U 5      nU   UR	                  5       n  UR                  SS5        UR	                  5       n[        [        -   [        -   [        -   n[        X4-
  S5      n UR                  U5        UR                  U5      nUR                  [        5      nUR                  [        5      nUS:  a  U[        -   [        -   U:X  ax  XhU[        -    n	[        U	5      [        :w  a  [        S[         S[        U	5       S3U S9eU[        U5      -
  U-   n
[!        U	S	S
 5      n[!        U	S
S 5      n[!        U	SS 5      nO|US:  ah  XgU[        -    n	[        U	5      [        :w  a  [        SU < 3U S9eU[        U5      -
  U-   n
[#        U	SS 5      n[#        U	SS 5      n[%        U	SS 5      nO[        SU < 3U S9eX:  a  [        SU < 3U S9eX:  a  [        SU < 3U S9eX-  n
X-
  nUS:  a  [        SU < 3U S9e0 nSn UR                  U
5         UR                  S5      n	[        U	5      S:  a  ['        S5      eU	S S S:w  a  UU:w  a  [        SU SU SU < 3U S9eGO,[        U	5      S:w  a  ['        S5      e[%        U	SS 5      n[%        U	SS 5      n[%        U	SS 5      n[%        U	SS 5      n[#        U	SS 5      n[#        U	SS 5      n[#        U	SS  5      n[%        U	S S! 5      n[%        U	S!S 5      n[%        U	SS" 5      n[#        U	S#S 5      nUU-   U-   n UR                  U5      n[        U5      U:w  a  [        SU < 3U S9e UU-
  n[)        UR                  U5      5      n[        U5      U:w  a  [        SU < 3U S9e US$-  (       a  UR+                  5       nO UR+                  S%5      nUR3                  S'[4        5      n[6        R8                  " U U5      nU[:        :X  d  U[:        :X  d  U[:        :X  GaZ  U(       Ga;  [        U5      S:  a  [        S(U < 3U S9e[%        US S 5      n [%        USS 5      n![        U5      SU!-   :  a  [        S(U < 3U S9eU [<        :X  a  [        U5      S-
  S-  S:w  a  [        S(U < 3U S9e[        U5      S-
  S-  n"U"S):  a  [        S(U < 3U S9eSS Kn#[A        U#RC                  S*[E        U"S)5       S+3USS,95      n$U[:        :X  a  U$RG                  S5      nU[:        :X  a  U$RG                  S5      nU[:        :X  a  U$RG                  S5      nO)USU!-   S  nU(       a  GM;  [H        RJ                  " S-U5        UU:  a  [        S.U < 3U S9eUU-  nUUUUUUUU4n%U%UU'   US/-  nGM|  UR                  U5         S S S 5        [H        RJ                  " S0WU 5        W$ ! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! [,         a(    UR+                  S&5      R/                  [0        5      n GNf = f! UR                  U5        f = f! , (       d  f       GN= f)1Nzcan't open Zip file: r   r   r   can't read Zip file: zcorrupt Zip64 file: Expected z( byte zip64 central directory, but read z bytes.(   0   r      r
   zcorrupt Zip file:       r      
   znot a Zip file: zbad central directory size: zbad central directory offset: z&bad central directory size or offset: .      EOF read where not expecteds   PKzmismatched num_entries: z should be z in          "   *   i   asciilatin1/zcan't read header extra:    <Q)offsetz6zipimport: suspected zip64 but no zip64 extra for {!r}zbad local header offset: r   z!zipimport: found {} names in {!r})&_io	open_coder&   r   tellseekMAX_COMMENT_LENEND_CENTRAL_DIR_SIZEEND_CENTRAL_DIR_SIZE_64END_CENTRAL_DIR_LOCATOR_SIZE_64maxreadrfindSTRING_END_ARCHIVESTRING_END_ZIP_64rR   r   r   r   EOFError
memoryviewrc   UnicodeDecodeError	translatecp437_tabler!   r"   r#   r-   
MAX_UINT32ZIP64_EXTRA_TAGstructlistunpack_fromminr   r:   rz   )&r,   fpstart_offset	file_sizemax_comment_plus_dirs_sizemax_comment_startdatapospos64bufferheader_positioncentral_directory_sizecentral_directory_positionnum_entries
arc_offsetr   countflagscompresstimedatecrc	data_size	name_size
extra_sizecomment_sizefile_offsetheader_sizer7   extra_data_len
extra_datar   tagsizenum_extra_valuesr   valuests&                                         r   r+   r+   W  s   P]]7# 
 wwyA	"31GGI	
  "66'(*IJ ' !$I$JA N3)*ww9: **/0CJJ01E
u%<<=\\^aaE,C$CDv;"99(78O7P Q==@[MR$& & #,c$i"7%"?)7r")F&-;F2bM-J*,VBr];#&:":;v;"66(+=g[)I.57 7 #,c$i"7#"= *8r")F&-;F2bM-J*,VAb\:
 %'7{%C*13 3 7$'CG;%OV]^^;$'Eg[%QX_``5O )EJA~$'Mg[%Y`ghhEEX( v;?"#@AA"1:.+,6ug[UYZaYde!(  v;"$"#@AA&va|4)&B-8%fRm4%fRm4$VBr]3*6"R=9	*6"R=9	*6"R=9	+F2bM:
-fRm<,VBr];'*4|C\779-D t9	)(+@)LSZ[[\%09%<N!+BGGN,C!DJ:.8,/DWK-PW^__ 9
 5=;;=DL#{{73 ||C2*55gtD ++:- %z?Q."03LWK1X_f"gg,Z^<-j1o>z?QX5"03LWK1X_f"gg/1 #J! 3q8A=&47PQXP[5\cj&k k03J!0C/I,/!3&47PQXP[5\cj&k k)%)&*<*<qEUWXAY@ZZ[=\=GPQ += +S &TF  )J6,2JJqM	(J6,2JJqM	*j8.4jjm! &0$%8
? %*B #33T  !;;(+DWK)PW^__z)8Y	;dTWXd
e h GGL!M 
N  CUGTLW  P4WK@wOOP  3$'<WK%H*13 33  3$'<WK%H*13 33x  X$'<WK%HwWWX>  \(+@)LSZ[[\  \(+@)LSZ[[\ . L#{{84>>{KL@ GGL!M 
s   W ["W8)Z99"XE>Z9X0+DZ99Y
Z9(<Y($Z9ZFZ9!AZ9([W58XZ9X--Z90Y		Z9Y%%Z9(ZZ9.Z62Z95Z66Z99[[
[u   	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ c                     [         (       a!  [        R                  " S5        [        S5      eSq  SSKJn    Sq [        R                  " S5        U $ ! [         a"    [        R                  " S5        [        S5      ef = f! Sq f = f)Nzzipimport: zlib UNAVAILABLE)can't decompress data; zlib not availableTr   
decompressFzzipimport: zlib available)_importing_zlibr:   rz   r   zlibr   	Exceptionr   s    r   _get_decompress_funcr   O  s     	##$ABHIIO #
   ;<  J##$ABHIIJ  s   A ,A==B   Bc                    Uu  p#pEpgpUS:  a  [        S5      e[        R                  " U 5       n
 U
R                  U5        U
R                  S5      n[        U5      S:w  a  [        S5      eUS S S:w  a  [        S	U < 3U S9e[        US
S 5      n[        USS 5      nSU-   U-   nXn-  n U
R                  U5        U
R                  U5      n[        U5      U:w  a  [	        S5      e S S S 5        US:X  a  W$  [        5       nU" WS5      $ ! [         a    [        SU < 3U S9ef = f! [         a    [        SU < 3U S9ef = f! , (       d  f       Nb= f! [         a    [        S5      ef = f)Nr   znegative data sizer   r   r   r   r   s   PKzbad local file header:    r   zzipimport: can't read datar   i)r   r   r   r   r&   r   rR   r   r   r   r   )r,   rX   datapathr   r   r   r   r   r   r   r   r   r   r   r   raw_datar   s                    r   rU   rU   d  s   MVJH	k1}122	w	2	TGGK  v;"899"1:& #:7+!FWUU"6"R=1	#F2bM2
9nz1"	TGGK  779%x=I%677 &/ 
 4 1}J)+
 h$$?  	T #8!D7SS	T   	T #8!D7SS	T) 
 	B  JHIIJsG   EDA*E-D*>+E;
E D''E*EE
EE-c                 "    [        X-
  5      S:*  $ )Nr   )abs)t1t2s     r   	_eq_mtimer     s    rw<1r   c                    UUS.n[         R                  " XCU5      nUS-  S:g  nU(       a  US-  S:g  n[        R                  S:w  ae  U(       d  [        R                  S:X  aJ  [	        X5      n	U	b<  [        R
                  " [         R                  U	5      n
[         R                  " XJX55        O^[        X5      u  pU(       aJ  [        [        USS 5      U5      (       a  [        USS	 5      U:w  a  [        R                  " S
U< 35        g [        R                  " US	S  5      n[        U[         5      (       d  [#        SU< S35      eU$ )N)r7   r   r   r   r   neveralwaysr   r   r   zbytecode is stale for zcompiled module z is not a code object)r#   _classify_pyc_impcheck_hash_based_pycs_get_pyc_sourcesource_hash_RAW_MAGIC_NUMBER_validate_hash_pyc_get_mtime_and_size_of_sourcer   r   r:   rz   marshalloadsr   
_code_typer   )r/   rV   re   r@   r   exc_detailsr   
hash_basedcheck_sourcesource_bytesr  source_mtimesource_sizerK   s                 r   _unmarshal_coder    s<   K
  --dkJE!Jt|q(&&'1!;!;x!G*4:L'"..'99 
 $66x> *$9 	"  nT!BZ8,GG"42;/;>++,XL9;==bc#DdJ''*8,6KLMMKr   c                 N    U R                  SS5      n U R                  SS5      n U $ )Ns   
   
   )r!   )sources    r   _normalize_line_endingsr    s'    ^^GU+F^^E5)FMr   c                 .    [        U5      n[        XSSS9$ )Nrx   T)dont_inherit)r  compile)rV   r  s     r   _compile_sourcer    s    $V,F6V$??r   c                 |    [         R                  " U S-	  S-   U S-	  S-  U S-  US-	  US-	  S-  US-  S-  S	S	S	4	5      $ )
N	   i              ?   r   r   )r   mktime)dr   s     r   _parse_dostimer$    sY    ;;	
a4	
a3	D	R	
a4	
TQ
B  r   c                      USS  S;   d   eUS S nU R                  5       U   nUS   nUS   nUS   n[        XC5      U4$ ! [        [        [        4 a     gf = f)Nr   cor     r   )r   r   )rS   r$  rT   
IndexErrorr   )r/   r   rX   r   r   uncompressed_sizes         r   r  r    s    BCyJ&&&CRyOO%d+	 ||%aLd)+<<<j), s   >A AAc                     USS  S;   d   eUS S n U R                  5       U   n[        U R                  U5      $ ! [         a     g f = f)Nr   r&  )rS   rU   r,   rT   )r/   r   rX   s      r   r  r    s^    9
"""9D2OO%d+	 y11  s   ; 
AAc           	         [        X5      nS n[         H  u  pEnX$-   n[        R                  " SU R                  [
        USS9   U R                  5       U   nUS   n	[        U R                  U5      n
S nU(       a   [        X	XqU
5      nO[        X5      nUc  M  US   n	XU	4s  $    U(       a  SU 3n[        XS9Ue[        SU< 3US9e! [         a  nUn S nANGS nAff = f! [         a     M  f = f)Nztrying {}{}{}r   )	verbosityr   zmodule load failed: r`   r_   )r<   r   r:   rz   r,   r"   rS   rU   r  ry   r  rT   r   )r/   r@   r   import_errorr   r   rL   re   rX   rC   r   rK   excr{   s                 r   rI   rI     s   D+DL)9%I=##OT\\8Xabc	,)(3I  lGT\\95DD'*4(dSD 'w5| lGG++/ *:2 (7C 4,F #5h\!BRR # '#&L'  		s*   C%=C
C"CC"%
C32C3)5r   _frozen_importlib_externalr#   r   r   r   _frozen_importlibr:   r  r   r  ro   r   rl   __all__r"   path_separatorsr    ry   r   r*   r   rr   r   r   r   r   STRING_END_LOCATOR_64r   r   r   r   _LoaderBasicsr   r   r<   r=   r9   r+   r   r   r   rU   r   r  __code__r
  r  r  r$  r  r  rI   r   r   r   <module>r8     sX  
 9 U U &  
  
  ]
+ ''"22126	[ 	  Cy  "$ " % ! 
hO%33 hOb d+ud+	 5(>Np/ : 
*(%\&P /**+

@&
2 Sr   