
    .hh                        S  r SrSrSrSqS rS r " S S\5      r " S S5      r	0 r
Sq " S S	5      r " S
 S\5      rS r " S S5      r " S S5      r " S S5      rS rS rS rSS.S jrS rS rS rS r " S S5      rSSS.S  jrSAS! jrS"S#.S$ jrS% rS& r S' r!S( r"S) r#S* r$ " S+ S,5      r% " S- S.5      r& " S/ S05      r'S1 r(SBS2 jr)S3 r*S4r+\+S5-   r,S6 r-\." 5       r/S7 r0SCS8 jr1S"S9.S: jr2S; r3SDS< jr4S= r5S> r6S? r7S@ r8g)Ec                 f     U R                   $ ! [         a    [        U 5      R                   s $ f = fN)__qualname__AttributeErrortype)objs    =/opt/python-3.13.8/usr/lib/python3.13/importlib/_bootstrap.py_object_namer	      s2    & &Cy%%%&s    00Nc           	          S H*  n[        X5      (       d  M  [        X[        X5      5        M,     U R                  R	                  UR                  5        g )N)
__module____name__r   __doc__)hasattrsetattrgetattr__dict__update)newoldreplaces      r   _wrapr   (   s?    H3  C'#"78 I LL%    c                 ,    [        [        5      " U 5      $ r   )r   sysnames    r   _new_moduler   0   s    9T?r   c                       \ rS rSrSrSrg)_List7   )__weakref__ N)r   r   r   __firstlineno__	__slots____static_attributes__r!   r   r   r   r   7   s     Ir   r   c                   :    \ rS rSrS rS rS rS	S jrS	S jrSr	g)
_WeakValueDictionary>   c                    ^ [         R                  U 5      m " U4S jS[         R                  5      nXl        U R                  5         g )Nc                   P   >^  \ rS rSrSrU 4S jrU 4S jr\U4S j5       rSr	U =r
$ )z/_WeakValueDictionary.__init__.<locals>.KeyedRefF   )keyc                 H   > [         TU ]  XU R                  5      nX#l        U$ r   )super__new__remover+   )r   obr+   self	__class__s       r   r.   7_WeakValueDictionary.__init__.<locals>.KeyedRef.__new__J   s!    wt=r   c                 8   > [         TU ]  XR                  5        g r   )r-   __init__r/   )r1   r0   r+   r2   s      r   r5   8_WeakValueDictionary.__init__.<locals>.KeyedRef.__init__O   s     [[1r   c                    > T" 5       nUbb  UR                   (       a&  UR                  R                  U R                  5        g [        R                  UR                  U R                  5        g g r   )
_iterating_pending_removalsappendr+   _weakref_remove_dead_weakrefdata)wrr1   self_weakrefs     r   r/   6_WeakValueDictionary.__init__.<locals>.KeyedRef.removeR   sN     $~#..55bff= 55diiH	 $r   )r   r   r   r"   r#   r.   r5   staticmethodr/   r$   __classcell__)r2   r?   s   @r   KeyedRef/_WeakValueDictionary.__init__.<locals>.KeyedRefF   s(    I
2 I Ir   rC   )r;   ref	_KeyedRefclear)r1   rC   r?   s     @r   r5   _WeakValueDictionary.__init__@   s3    ||D)
	Ix|| 	I. "

r   c                 >    / U l         [        5       U l        0 U l        g r   )r9   setr8   r=   r1   s    r   rG   _WeakValueDictionary.clear`   s    !#%	r   c                     U R                   R                  nU R                  n  U" 5       n[        R                  X#5        M  ! [         a     g f = fr   )r9   popr=   
IndexErrorr;   r<   )r1   rN   dr+   s       r   _commit_removals%_WeakValueDictionary._commit_removalse   sT    $$((IIe ))!1   s   A 
AANc                     U R                   (       a  U R                  5          U R                  U   nU" 5       =nc  U$ U$ ! [         a    Us $ f = fr   )r9   rQ   r=   KeyError)r1   r+   defaultr>   os        r   get_WeakValueDictionary.geto   sW    !!!!#	3B T	"  	N	s   A   AAc                      U R                   U   " 5       nUcA  U R                  (       a  U R                  5         U R	                  X!5      U R                   U'   U$ U$ ! [         a    S n NTf = fr   )r=   rT   r9   rQ   rF   )r1   r+   rU   rV   s       r   
setdefault_WeakValueDictionary.setdefault|   si    			# A 9%%%%'!^^G9DIIcNNH  	A	s   A A+*A+)rF   r8   r9   r=   r   )
r   r   r   r"   r5   rG   rQ   rW   rZ   r$   r!   r   r   r&   r&   >   s    @
2r   r&   c                   &    \ rS rSrS rS rS rSrg)_BlockingOnManager   c                     Xl         X l        g r   )	thread_idlock)r1   r`   ra   s      r   r5   _BlockingOnManager.__init__   s    "	r   c                     [         R                  U R                  [        5       5      U l        U R                  R                  U R                  5        g r   )_blocking_onrZ   r`   r   
blocked_onr:   ra   rK   s    r   	__enter___BlockingOnManager.__enter__   s4     '11$..%'Jtyy)r   c                 N    U R                   R                  U R                  5        g r   )re   r/   ra   r1   argskwargss      r   __exit___BlockingOnManager.__exit__   s    tyy)r   )re   ra   r`   Nr   r   r   r"   r5   rf   rl   r$   r!   r   r   r]   r]      s    	**r   r]   c                       \ rS rSrSrg)_DeadlockError   r!   N)r   r   r   r"   r$   r!   r   r   rp   rp      s    r   rp   c                    X;   a  gU Hb  nUR                  U5      =n(       d  M  XA;   a    gUR                  U5        U Vs/ s H  ofR                  PM     nn[        XUUS9(       d  Mb    g   gs  snf )NTF)seen_idscandidate_idsblocking_on)rW   addowner_has_deadlocked)	target_idrs   rt   ru   tidcandidate_blocking_onra   edgess           r   rx   rx      s      !  )4)==%=_
 S )>>(=(=>9u') )! $  ?s   A0c                   2    \ rS rSrS rS rS rS rS rSr	g)	_ModuleLock   c                     [         R                  5       U l        [         R                  5       U l        Xl        S U l        / U l        / U l        g r   )	_threadRLockra   allocate_lockwakeupr   rw   countwaitersr1   r   s     r   r5   _ModuleLock.__init__   sC    * MMO	++- 	 
 
 r   c                 l    [        [        R                  5       [        5       U R                  /[
        S9$ )N)ry   rs   rt   ru   )rx   r   	get_identrJ   rw   rd   rK   s    r   has_deadlock_ModuleLock.has_deadlock   s0    
 '')U  ::,$	
 		
r   c                    [         R                  5       n[        X5          U R                     U R                  / :X  d  U R
                  U:X  a3  Xl        U R                  R                  S5         S S S 5        S S S 5        gU R                  5       (       a  [        SU < 35      eU R                  R                  S5      (       a  U R                  R                  S 5        S S S 5        U R                  R                  5         U R                  R                  5         M  ! , (       d  f       ND= f! , (       d  f       g = f)NTzdeadlock detected by F)r   r   r]   ra   r   rw   r:   r   rp   r   acquirer   releaser1   rz   s     r   r   _ModuleLock.acquire0  s     !* YYzzR'4::+< &)


))$/#  +*D ((**,/DTH-MNN {{**511++D1Y b ##%
 ##%u  Y +*s0   D0AD1D0AD!>D0
D-	)D00
D>c                    [         R                  5       nU R                     U R                  U:w  a  [	        S5      eU R
                  R                  5         [        U R
                  5      (       dT  S U l        [        U R                  5      S:  a4  U R                  R                  5         U R                  R                  5         S S S 5        g ! , (       d  f       g = f)Ncannot release un-acquired lock    )r   r   ra   rw   RuntimeErrorr   rN   lenr   r   r   r   s     r   r   _ModuleLock.releaset  s    !YYzzS "#DEEJJNNtzz??!
t||$q(LL$$&KK'') YYs   B$C
Cc                 :    SU R                   < S[        U 5       3$ )Nz_ModuleLock() at r   idrK   s    r   __repr___ModuleLock.__repr__  s    dii]%4z::r   )r   ra   r   rw   r   r   N)
r   r   r   r"   r5   r   r   r   r   r$   r!   r   r   r~   r~      s    6p
 B&H*;r   r~   c                   ,    \ rS rSrS rS rS rS rSrg)_DummyModuleLocki  c                     Xl         SU l        g Nr   )r   r   r   s     r   r5   _DummyModuleLock.__init__  s    	
r   c                 .    U =R                   S-  sl         g)N   T)r   rK   s    r   r   _DummyModuleLock.acquire  s    

a
r   c                 d    U R                   S:X  a  [        S5      eU =R                   S-  sl         g )Nr   r   r   )r   r   rK   s    r   r   _DummyModuleLock.release  s&    ::?@AA

a
r   c                 :    SU R                   < S[        U 5       3$ )Nz_DummyModuleLock(r   r   rK   s    r   r   _DummyModuleLock.__repr__  s    "499-uRXJ??r   )r   r   N)	r   r   r   r"   r5   r   r   r   r$   r!   r   r   r   r     s    
@r   r   c                   &    \ rS rSrS rS rS rSrg)_ModuleLockManageri  c                     Xl         S U l        g r   )_name_lockr   s     r   r5   _ModuleLockManager.__init__  s    

r   c                 l    [        U R                  5      U l        U R                  R                  5         g r   )_get_module_lockr   r   r   rK   s    r   rf   _ModuleLockManager.__enter__  s"    %djj1


r   c                 8    U R                   R                  5         g r   )r   r   ri   s      r   rl   _ModuleLockManager.__exit__  s    

r   )r   r   Nrn   r!   r   r   r   r     s    r   r   c                 R   [         R                  5           [        U    " 5       nUc@  [        c  [        U 5      nO[        U 5      nU 4S jn[        R                  X5      [        U '   [         R                  5         U$ ! [         a    S n Ngf = f! [         R                  5         f = f)Nc                     [         R                  5          [        R                  U5      U L a  [        U	 [         R	                  5         g ! [         R	                  5         f = fr   )_impacquire_lock_module_locksrW   release_lock)rE   r   s     r   cb_get_module_lock.<locals>.cb  sI    !!#( %((.#5)$/%%'D%%'s   A
 
A )
r   r   r   rT   r   r   r~   r;   rE   r   )r   ra   r   s      r   r   r     s     		 &(D <'-"4(! 	( #+,,t"8M$K1  	D	, 	s)   A> AB >B
B BB B&c                 |    [        U 5      n UR                  5         UR                  5         g ! [         a     g f = fr   )r   r   r   rp   )r   ra   s     r   _lock_unlock_moduler     s=     D!D 	   	s   . 
;;c                     U " U0 UD6$ r   r!   )frj   kwdss      r   _call_with_frames_removedr     s     ddr   r   )	verbosityc                    [         R                  R                  U:  aA  U R                  S5      (       d  SU -   n [	        U R
                  " U6 [         R                  S9  g g )N)#zimport z# )file)r   flagsverbose
startswithprintformatstderr)messager   rj   s      r   _verbose_messager     sK    
yyI%!!"233WnGgnnd##**5 &r   c                 ,   ^  U 4S jn[        UT 5        U$ )Nc                 X   > U[         R                  ;  a  [        U< S3US9eT" X5      $ Nz is not a built-in moduler   )r   builtin_module_namesImportErrorr1   fullnamefxns     r   _requires_builtin_wrapper4_requires_builtin.<locals>._requires_builtin_wrapper  s6    3333,EF#+- -4""r   r   )r   r   s   ` r   _requires_builtinr     s    #
 

#S)$$r   c                 ,   ^  U 4S jn[        UT 5        U$ )Nc                 d   > [         R                  U5      (       d  [        U< S3US9eT" X5      $ )Nz is not a frozen moduler   )r   	is_frozenr   r   s     r   _requires_frozen_wrapper2_requires_frozen.<locals>._requires_frozen_wrapper   s7    ~~h'',CD#+- -4""r   r   )r   r   s   ` r   _requires_frozenr     s    #
 

"C(##r   c                     Sn[         R                  U[        5        [        X5      nU[        R
                  ;   a1  [        R
                  U   n[        X45        [        R
                  U   $ [        U5      $ )Nzgthe load_module() method is deprecated and slated for removal in Python 3.15; use exec_module() instead)	_warningswarnDeprecationWarningspec_from_loaderr   modules_exec_load)r1   r   msgspecmodules        r   _load_module_shimr   
  s]    4CNN3*+H+D3;;X&d{{8$$T{r   c                    [        U SS 5      n[        U SS 5      =n(       a  [        U5      $  U R                  n U R                  nSU< SU< S3$ ! [         a    Sn N&f = f! [         a    Uc	  SU< S3s $ SU< SU< S3s $ f = f)	N
__loader____spec__?<module  from > ()>)r   _module_repr_from_specr   r   __file__)r   loaderr   r   filenames        r   _module_reprr     s    V\40Fvz400t0%d++6?? $|155    5>dXQ''dXRz44	5s(   A A$ A! A!$B:BBc                       \ rS rSrSSSS.S jrS rS r\S 5       r\R                  S 5       r\S	 5       r
\S
 5       r\R                  S 5       rSrg)
ModuleSpeci2  N)originloader_state
is_packagec                ~    Xl         X l        X0l        X@l        U(       a  / OS U l        / U l        SU l        S U l        g NF)r   r   r   r   submodule_search_locations_uninitialized_submodules_set_fileattr_cached)r1   r   r   r   r   r   s         r   r5   ModuleSpec.__init__W  s<    	(0:"')+& #r   c                 F   SU R                   < 3SU R                  < 3/nU R                  b  UR                  SU R                  < 35        U R                  b  UR                  SU R                   35        U R
                  R                   SSR                  U5       S3$ )Nzname=zloader=zorigin=zsubmodule_search_locations=(z, ))r   r   r   r:   r  r2   r   join)r1   rj   s     r   r   ModuleSpec.__repr__d  s    		}%'@A;;"KK'$++12**6KK5d6U6U5VWX..))*!DIIdO+<A>>r   c                    U R                   n U R                  UR                  :H  =(       a    U R                  UR                  :H  =(       an    U R                  UR                  :H  =(       aN    X!R                   :H  =(       a9    U R                  UR                  :H  =(       a    U R
                  UR
                  :H  $ ! [         a	    [        s $ f = fr   )r  r   r   r   cachedhas_locationr   NotImplemented)r1   othersmsls      r   __eq__ModuleSpec.__eq__l  s    ..	"II+ <KK5<</<KK5<</< <<<< KK5<</	<
 %%););;=  	"!!	"s   B-B< <CCc                     U R                   cO  U R                  bB  U R                  (       a1  [        c  [        e[        R                  U R                  5      U l         U R                   $ r   )r  r   r  _bootstrap_externalNotImplementedError_get_cachedrK   s    r   r  ModuleSpec.cachedx  sJ    <<{{&4+=+=&.--2>>t{{K||r   c                     Xl         g r   )r  )r1   r  s     r   r  r    s    r   c                 p    U R                   c  U R                  R                  S5      S   $ U R                  $ )N.r   )r  r   
rpartitionrK   s    r   parentModuleSpec.parent  s4     **299'',Q//99r   c                     U R                   $ r   )r  rK   s    r   r  ModuleSpec.has_location  s    !!!r   c                 $    [        U5      U l        g r   )boolr  )r1   values     r   r  r     s    !%[r   )r  r  r  r   r   r   r   r  )r   r   r   r"   r5   r   r  propertyr  setterr  r  r$   r!   r   r   r   r   2  s    J 04$ ?
"   ]]    " " ) )r   r   r   r   c                L   Uc  [        USS 5      nU(       dI  [        US5      (       a8  [        c  [        e[        R                  nUc  U" XS9$ U(       a  / OS nU" XUS9$ Uc&  [        US5      (       a   UR                  U 5      nOSn[        XX#S9$ ! [         a    S n Nf = f)N_ORIGINget_filename)r   )r   r  r   Fr&  )r   r   r  r  spec_from_file_locationr   r   r   )r   r   r   r   r*  searchs         r   r   r     s    ~D1gfn55&%%"5"M"M*4??!t&tBHJ 	J 6<(("#..t4

 Jd6II  "!
"s   6B B#"B#c                     U R                   nUb  U$  U R                  nUc   U R                  n U R                  nUc  Ub  [        USS 5      nU(       d  Ub  Un U R                  n [        U R                  5      n[        XAUS9nUc  SOX%:H  Ul
        Xcl        Xsl        U$ ! [         a     Nf = f! [         a     Nf = f! [         a    S n Nf = f! [         a    S n N|f = f! [         a    S n Nxf = f)Nr(  r   F)r   r   r   r   r   r   
__cached__list__path__r   r  r  r  )r   r   r   r   r   locationr  r  s           r   _spec_from_moduler2    s4    K  ??D~	&&F?? ~VY5F(.F""*%)&//%:" d62D"*"29KDK&@#KG    		
      *%)"*sW   B% B5 C C *C) %
B21B25
CCCCC&%C&)C87C8Foverridec                   U(       d  [        USS 5      c   U R                  Ul        U(       d  [        USS 5      co  U R                  nUcY  U R
                  bL  [        c  [        e[        R                  nUR                  U5      nU R
                  Ul
        X0l        S Ul         X1l        U(       d  [        USS 5      c   U R                  Ul         Xl        U(       d  [        USS 5      c  U R
                  b   U R
                  Ul        U R"                  (       a]  U(       d  [        USS 5      c   U R$                  Ul        U(       d  [        USS 5      c!  U R&                  b   U R&                  Ul        U$ U$ ! [         a     GNcf = f! [         a     Nf = f! [         a     Nf = f! [         a     Nf = f! [         a     Nf = f! [         a     Nf = f! [         a     U$ f = f)Nr   r   __package__r0  r   r.  )r   r   r   r   r   r  r  r  NamespaceLoaderr.   _pathr   r   r  r6  r   r0  r  r   r  r.  )r   r   r4  r   r7  s        r   _init_module_attrsr9    s    	GFJ5=	"iiFO 76<6>>..:&.--"5"E"E(00A#>>$ #'	 & 76=$7?	!%F 76:t4<**6"&"A"A wvz48@"&++ wv|T:B{{&(,F% M6M  		8  		  		
   "  "  & Ms}   E> &F F F/ =F? 5G )G >
FF
FF
F,+F,/
F<;F<?
GG
GG
G-,G-c                 
   S n[        U R                  S5      (       a  U R                  R                  U 5      nO&[        U R                  S5      (       a  [        S5      eUc  [	        U R
                  5      n[        X5        U$ )Ncreate_moduleexec_modulezBloaders that define exec_module() must also define create_module())r   r   r;  r   r   r   r9  r   r   s     r   module_from_specr>  &  ss     Ft{{O,, **40	m	,	, = > 	>~TYY't$Mr   c                    U R                   c  SOU R                   nU R                  cd  U R                  nUc  SU< S3$ [        b<  [	        U[        R
                  5      (       a  SU< S[        UR                  5       S3$ SU< SU< S3$ U R                  (       a  SU< SU R                  < S3$ SU R                   < SU R                   S3$ )Nr   r   r   z (namespace) from r   r   r   )	r   r   r   r  
isinstancer7  r/  r8  r  )r   r   r   s      r   r   r   7  s    ))#3D{{>dXQ''+6#6#F#FGGdX%7V\\8J7K1MMdXRz44dXVDKK?!<<dii]"T[[M<<r   c                    U R                   n[        U5         [        R                  R	                  U5      ULa  SU< S3n[        X2S9e U R                  c,  U R                  c  [        SU R                   S9e[        XSS9  O[        XSS9  [        U R                  S5      (       dN  [        U R                  5       S3n[        R                  U[        5        U R                  R                  U5        OU R                  R                  U5        [        R                  R!                  U R                   5      nU[        R                  U R                   '    S S S 5        U$ ! [        R                  R!                  U R                   5      nU[        R                  U R                   '   f = f! , (       d  f       U$ = f)	Nzmodule z not in sys.modulesr   missing loaderTr3  r<  7.exec_module() not found; falling back to load_module())r   r   r   r   rW   r   r   r  r9  r   r	   r   r   ImportWarningload_moduler<  rN   )r   r   r   r   s       r   r   r   M  sS   99D	D	!;;??4 .D8#67Cc--	,{{"22:%&6TYYGG"4$?"4$?t{{M::*4;;78 9; ;CNN36KK++D1KK++F3 [[__TYY/F%+CKK		"/ 
"0 M [[__TYY/F%+CKK		"/ 
"	!0 Ms&   3F/CE$AF/$AF,,F//
F>c                 *    U R                   R                  U R                  5        [        R                  R                  U R                  5      nU[        R                  U R                  '   [        USS 5      c   U R                   Ul        [        USS 5      cF   UR                  Ul
        [        US5      (       d#  U R                  R                  S5      S   Ul
        [        USS 5      c	   Xl        U$ U$ !   U R                  [        R                  ;   aF  [        R                  R                  U R                  5      nU[        R                  U R                  '   e = f! [         a     Nf = f! [         a     Nf = f! [         a     U$ f = f)Nr   r6  r0  r  r   r   )r   rE  r   r   r   rN   r   r   r   r   r6  r   r  r   r=  s     r   _load_backward_compatiblerG  k  sZ   		* [[__TYY'F#CKK		v|T*2	 $F v}d+3	 "(F6:..%)YY%9%9#%>q%A" vz4(0	"O M6M;99#[[__TYY/F%+CKK		"  		  		
  	M	sC   %C: <E$ AE4 0F :A'E!$
E10E14
F F
FFc                     U R                   bX  [        U R                   S5      (       d=  [        U R                   5       S3n[        R	                  U[
        5        [        U 5      $ [        U 5      nSU l         U[        R                  U R                  '    U R                   c"  U R                  c  [        SU R                  S9eOU R                   R                  U5         [        R                  R!                  U R                  5      nU[        R                  U R                  '   [#        SU R                  U R                   5        SU l        U$ !    [        R                  U R                  	 e ! [         a     e f = f= f! SU l        f = f)Nr<  rC  TrB  r   zimport {!r} # {!r}F)r   r   r	   r   r   rD  rG  r>  _initializingr   r   r   r  r   r<  rT   rN   r   )r   r   r   s      r   _load_unlockedrJ    sP   {{t{{M22"4;;/0 14 4CNN3.,T22d#F
 D#!'DII	{{"22:%&6TYYGG ; ''/ +!'DII-tyy$++F"M!	KK		*    #sU   9F .E F E !A(F FE10F1
E>;F=E>>FF 	Fc                 x    [        U R                  5         [        U 5      sS S S 5        $ ! , (       d  f       g = fr   )r   r   rJ  r   s    r   r   r     s$     
DII	&d# 
'	&	&s   +
9c                       \ rS rSrSr\SS j5       r\S 5       r\S 5       r	\\
S 5       5       r\\
S 5       5       r\\
S	 5       5       r\" \5      rS
rg)BuiltinImporteri  zbuilt-inNc                 `    [         R                  U5      (       a  [        XU R                  S9$ g )Nr-  )r   
is_builtinr   r(  )clsr   pathtargets       r   	find_specBuiltinImporter.find_spec  s%    ??8$$#H#++FFr   c                     U R                   [        R                  ;  a"  [        U R                   < S3U R                   S9e[	        [
        R                  U 5      $ r   )r   r   r   r   r   r   create_builtinrL  s    r   r;  BuiltinImporter.create_module  sK     99C444-FG#'99. .()<)<dCCr   c                 8    [        [        R                  U 5        g r   )r   r   exec_builtin)r   s    r   r<  BuiltinImporter.exec_module  s     	"$"3"3V<r   c                     g r   r!   rQ  r   s     r   get_codeBuiltinImporter.get_code       r   c                     g r   r!   r]  s     r   
get_sourceBuiltinImporter.get_source  r`  r   c                     gr  r!   r]  s     r   r   BuiltinImporter.is_package  s     r   r!   NN)r   r   r   r"   r(  classmethodrT  rA   r;  r<  r   r^  rb  r   r   rE  r$   r!   r   r   rN  rN    s     G  D D = =          /0Kr   rN  c                       \ rS rSrSr\S 5       r\SS j5       r\SS j5       r\	S 5       r
\	S 5       r\S	 5       r\\S
 5       5       r\\S 5       5       r\\S 5       5       rSrg)FrozenImporteri  frozenc                    UR                   nUR                  nUc  [        U5      R                  SS 5      n[	        US5      nU R                  XBR                  U5      u  pg[        [        R                  5      " UUS9Ul        UR                  nU(       a#  U(       a  UR                  R                  SU5        U(       a   Xal        U(       a-  UR                  U:w  a  UR                  R                  U5        g g g UR                  nUS LnUR                   (       a2  U R                  UR                   UR                  U5      u  pU(       a  OOS n	U	(       a   U(       a  g g ! [         a     Nf = f)N__origname__r0  r   orignamer   )r   r   varsrN   r   _resolve_filenamer   r   r   implementationr  insertr   r   r0  extendrn  )
rQ  r   r   statern  ispkgr   pkgdirr0  r   s
             r   _fix_up_moduleFrozenImporter._fix_up_module
  sM   !!= F|''=HFJ/E"44Xyy%PH $S%7%7 8!!!D 66H33::1fE &.O ??h.OO**84 /  66HD(E ~~ **5>>499eL 6
   
 uA & s   E# #
E0/E0Nc                    U(       a  [        [        SS 5      (       d  g U R                  nX:w  a*  UR                  S5      (       a  USS  nU(       d  U S3nOS	nUR                  S
U5      nU(       a   [        R                   U U 3nU U S3nXv4$ S n[        R                   U U S3nXv4$ ! [         a!    [        R                  S:X  a  SOS=o@l         Nf = f)N_stdlib_dirrf  win32\/<r   z	.__init__Fr  z__init__.pyz.py)r   r   _SEPr   platformr   r   rz  )rQ  r   aliasru  seprelfilerv  r   s           r   rp   FrozenImporter._resolve_filenameO  s    wsM4@@	F((C ""3''#AB<"*95H""3,(gY7F #k2H  F//*3%y<H#  	F%(\\W%<T#EC(	Fs   B0 0(CCc                 *   [        [        R                  U5      nUc  g Uu  pVn[        XU R                  US9nU R                  XqU5      u  p[        [        R                  5      " U	US9Ul	        U
(       a  UR                  R                  SU
5        U$ )Nr&  rm  r   )r   r   find_frozenr   r(  rp  r   r   rq  r   r  rr  )rQ  r   rR  rS  info_ru  rn  r   r   rv  s              r   rT  FrozenImporter.find_spech  s    ()9)98D< "('*{{+02 00UK !3!34
 ++221f=r   c                     [        U R                  5      n U R                  R                  nU(       a  X!l        U$ ! [
         a     U$ f = fr   )r   r   r   r   r   r   )r   r   r   s      r   r;  FrozenImporter.create_module  sR     TYY'	+((11H "*  	 	s   < 
A
	A
c                     U R                   nUR                  n[        [        R                  U5      n[        X0R                  5        g r   )r   r   r   r   get_frozen_objectexecr   )r   r   r   codes       r   r<  FrozenImporter.exec_module  s2    yy()?)?FT??#r   c                     [        X5      n[        R                  U5      nUu  pEnXbl        [	        U5      R                  SS 5        U(       a  / Ul        U R                  U5        U$ )Nr   )r   r   r  rl  ro  rN   r0  rw  )rQ  r   r   r  r  ru  rn  s          r   rE  FrozenImporter.load_module  s_     #31)!(&VT* FO6"r   c                 ,    [         R                  U5      $ r   )r   r  r]  s     r   r^  FrozenImporter.get_code       %%h//r   c                     g r   r!   r]  s     r   rb  FrozenImporter.get_source  r`  r   c                 ,    [         R                  U5      $ r   )r   is_frozen_packager]  s     r   r   FrozenImporter.is_package  r  r   r!   r  rf  )r   r   r   r"   r(  rg  rw  rp  rT  rA   r;  r<  rE  r   r^  rb  r   r$   r!   r   r   ri  ri    s     GB% B%H    0  : 
 
 $ $  $ 0  0    0  0r   ri  c                        \ rS rSrS rS rSrg)_ImportLockContexti  c                 ,    [         R                  5         g r   )r   r   rK   s    r   rf   _ImportLockContext.__enter__      r   c                 ,    [         R                  5         g r   )r   r   )r1   exc_type	exc_valueexc_tracebacks       r   rl   _ImportLockContext.__exit__  r  r   r!   N)r   r   r   r"   rf   rl   r$   r!   r   r   r  r    s    r   r  c                     UR                  SUS-
  5      n[        U5      U:  a  [        S5      eUS   nU (       a  U SU  3$ U$ )Nr  r   z2attempted relative import beyond top-level packager   )rsplitr   r   )r   packagelevelbitsbases        r   _resolve_namer    sO    >>#uqy)D
4y5NOO7D#dV1TF--r   c                 $   [         R                  nUc  [        S5      eU(       d  [        R	                  S[
        5        U [         R                  ;   nU Hz  n[        5           UR                  nU" XU5      n S S S 5        Wc  M2  U(       d?  U [         R                  ;   a+  [         R                  U    n UR                  n	U	c  Us  $ U	s  $ Us  $    g ! [         a     S S S 5        M  f = f! , (       d  f       Ny= f! [         a    Us s  $ f = f)Nz5sys.meta_path is None, Python is likely shutting downzsys.meta_path is empty)r   	meta_pathr   r   r   rD  r   r  rT  r   r   )
r   rR  rS  r  	is_reloadfinderrT  r   r   r   s
             r   
_find_specr    s   I * + 	+ /?
 #I!5",,	 !V4 " !4T*(%H  '#'3 6 / " 	 "! "! &    K	 sB   "C-$C0	C-6C>
C*C-)C**C--
C;	>DDc                     [        U [        5      (       d  [        S[        U 5       35      eUS:  a  [	        S5      eUS:  a2  [        U[        5      (       d  [        S5      eU(       d  [        S5      eU (       d  US:X  a  [	        S5      eg g )Nzmodule name must be str, not r   zlevel must be >= 0z__package__ not set to a stringz6attempted relative import with no known parent packagezEmpty module name)r@  str	TypeErrorr   
ValueErrorr   r   r  r  s      r   _sanity_checkr    s    dC  7T
|DEEqy-..qy'3''=>> ( ) )EQJ,-- 4r   zNo module named z{!r}c                    S nU R                  S5      S   nS nU(       a  U[        R                  ;  a  [        X5        U [        R                  ;   a  [        R                  U    $ [        R                  U   n UR                  nUR                  nU R                  S5      S   n[        X5      nUc  [        [         U < 3U S9eU(       a  UR                  R                  W5         [        U5      n	U(       a  UR                  R                  5         U(       a#  [        R                  U   n [        UWU	5        U	$ U	$ ! [
         a    [         U < SU< S3n[        X`S9S ef = f! U(       a  UR                  R                  5         f f = f! [
         a(    SU< SW< 3n[        R!                  U["        5         U	$ f = f)	Nr  r   z; z is not a packager      zCannot set an attribute on z for child module )r  r   r   r   r0  r   _ERR_MSG_PREFIXModuleNotFoundErrorr   r  r  r:   rJ  rN   r   r   r   rD  )
r   import_rR  r  parent_specparent_moduler   childr   r   s
             r   _find_and_load_unlockedr    s   D__S!!$FK$%g63;;;;t$$F+	@ ))D $,,$Q'd!D|!_$5dX">TJJ 1188?	<#D)F5599;F+	/M5&1 M6M5  	@$%dXRz9JKC%c54?	@  5599;   	//z9KE9UCNN3.M	/s*   :E *E* 1F %E'*$F.GGc                    [         R                  R                  U [        5      nU[        L d  [	        [	        USS 5      SS5      (       aa  [        U 5         [         R                  R                  U [        5      nU[        L a  [        X5      sS S S 5        $  S S S 5        [        U 5        Uc  SU  S3n[        X0S9eU$ ! , (       d  f       N-= f)Nr   rI  Fz
import of z halted; None in sys.modulesr   )	r   r   rW   _NEEDS_LOADINGr   r   r  r   r  )r   r  r   r   s       r   _find_and_loadr  E  s    
 [[__T>2F. 
D1?EJJ%[[__T>:F'.t= &%' & 	D!~tf$@A!'55M &%s   8C  
Cc                 ^    [        XU5        US:  a  [        XU5      n [        U [        5      $ r   )r  r  r  _gcd_importr  s      r   r  r  _  s.     $'qyTE2$,,r   	recursivec          	      *   U H  n[        U[        5      (       d=  U(       a  U R                  S-   nOSn[        SU S[	        U5      R                   35      eUS:X  a3  U(       d*  [        U S5      (       a  [        X R                  USS9  M  M  M  [        X5      (       a  M  U R                   S	U 3n [        X&5        M     U $ ! [         aB  nUR                  U:X  a,  [        R                  R                  U[        5      b   S nAGM	  e S nAff = f)
Nz.__all__z``from list''zItem in z must be str, not *__all__Tr  r  )r@  r  r   r  r   r   _handle_fromlistr  r   r  r   r   r   rW   r  )r   fromlistr  r  xwhere	from_nameexcs           r   r  r  n  s     !S!!*4'hug .##'7#3#3"46 7 7#X!;!; +/1 "<9 ##!??+1QC0I	)'= 0 M '  HH	)KKOOI~>Js   5C
D5DDDc                 ^   U R                  S5      nU R                  S5      nUb@  Ub;  XR                  :w  a,  [        R                  SU< SUR                  < S3[        SS9  U$ Ub  UR                  $ [        R                  S[
        SS9  U S	   nS
U ;  a  UR                  S5      S   nU$ )Nr6  r   z __package__ != __spec__.parent (z != r	     )
stacklevelzYcan't resolve package from __spec__ or __package__, falling back on __name__ and __path__r   r0  r  r   )rW   r  r   r   r   rD  r  )globalsr  r   s      r   _calc___package__r    s     kk-(G;;z"D;; 6NN &kdkk_A?-!  = 		{{ ?$ 	 	4 *%W$((-a0GNr   c                    US:X  a  [        U 5      nOUb  UO0 n[        U5      n[        XU5      nU(       d  US:X  a  [        U R                  S5      S   5      $ U (       d  U$ [        U 5      [        U R                  S5      S   5      -
  n[        R
                  UR                  S [        UR                  5      U-
      $ [        US5      (       a  [        XS[         5      $ U$ )Nr   r  r0  )	r  r  	partitionr   r   r   r   r   r  )	r   r  localsr  r  r   globals_r  cut_offs	            r   
__import__r    s     zT"%17r#H-TE2 A:t~~c21566M $i#dnnS&9!&<"==G ;;v/LFOO0DW0LMNN		$	$+>>r   c                 d    [         R                  U 5      nUc  [        SU -   5      e[        U5      $ )Nzno built-in module named )rN  rT  r   rJ  )r   r   s     r   _builtin_from_namer    s3    $$T*D|5<==$r   c                 N   Uq U q[        [        5      n[        R                  R	                  5        H  u  p4[        XB5      (       d  M  U[        R                  ;   a  [        nO#[         R                  U5      (       a  [        nOMU  [        XE5      n[        Xd5        U[        L d  Mv  UR                  U5        M     [        R                  [           nS HB  nU[        R                  ;  a  [        U5      n	O[        R                  U   n	[        XxU	5        MD     [!        5       qg )N)r   r   r;   )r   r   r   r   itemsr@  r   rN  r   ri  r2  r9  rw  r   r  r   r&   rd   )

sys_module_imp_modulemodule_typer   r   r   r   self_modulebuiltin_namebuiltin_modules
             r   _setupr    s     D
C s)K))+f**s///(%%'$V4Dt,'%%f- , ++h'K<s{{*/=N [[6N>: = ()Lr   c                     [        X5        [        R                  R                  [        5        [        R                  R                  [
        5        g r   )r  r   r  r:   rN  ri  )r  r  s     r   _installr    s.    
:#MM)MM(r   c                  \    SS K n U qU R                  [        R                  [
           5        g r   )_frozen_importlib_externalr  r  r   r   r   )r  s    r   _install_external_importersr  
  s$     &4''H(=>r   rf  r   r   )NNr!   r   )9r	   r   r   r;   r  r   r   r/  r   r&   r   rd   r]   r   rp   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r2  r9  r>  r   r   rG  rJ  r   rN  ri  r  r  r  r  r  _ERR_MSGr  objectr  r  r  r  r  r  r  r  r  r  r!   r   r   <module>r     s  .& 	  &!D !I I\  * *,	\ 	
(V`; `;F@ @*  "J" 01 6%$&6*a) a)H .2d J:'T 27 FR"=,<"H)Z
$11 11h~0 ~0F
 
.*Z.  %V#'T 4- >C "J6"J %*P)?r   