python (3.12.0)

(root)/
lib/
python3.12/
__pycache__/
modulefinder.cpython-312.opt-1.pyc

ˑe\dZddlZddlZddlZddlZddlZddlZddlZdZ	dZ
dZdZdZ
dZdZiZd	ZiZd
ZddZGdd
ZGddZdZedk(r		eZyy#e$redYywxYw)z3Find modules used by a script, using introspection.NcNtj|gj|yN)packagePathMap
setdefaultappend)packagenamepaths  @/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/modulefinder.pyAddPackagePathrsk2.55d;c|t|<yr
)replacePackageMap)oldnamenewnames  rReplacePackager)s
!(grc tjjjtjjj	||}|tdj
|||jtjjurddddtffS|jtjjurddddtffS|j}|jj|r)dtjj!|ddt"ffSt%|jtjj&rt(}nvt%|jtjj*rt,}nAt%|jtjj.rt0}nddddt2ffSt5j6|}tjj9|d}|||d|ffS)zDAn importlib reimplementation of imp.find_module (for our purposes).NzNo module named {name!r})namerb)	importlib	machinery
PathFinderinvalidate_caches	find_specImportErrorformatloaderBuiltinImporter
_C_BUILTINFrozenImporter
_PY_FROZENorigin
is_packageosrdirname_PKG_DIRECTORY
isinstanceSourceFileLoader
_PY_SOURCEExtensionFileLoader_C_EXTENSIONSourcelessFileLoader_PY_COMPILED
_SEARCH_ERRORio	open_codesplitext)rrspec	file_pathkindfilesuffixs       r_find_moduler>-s""446))33D$?D|4;;;FTRR{{i))999TBJ///{{i))888TBJ///I{{d#RWW__Y/"b.1III$++y22CCD	DKK!4!4!H!H	I	DKK!4!4!I!I	JTBM222
<<	"D
WW

i
(
,FVT4000rceZdZddZdZy)ModuleNcX||_||_||_d|_i|_i|_yr
)__name____file____path____code__globalnamesstarimports)selfrr<rs    r__init__zModule.__init__\s2



rcd|j}|j|d|jz}|j|d|jz}|dz}|S)NzModule(, ))rBrCrD)rHss  r__repr__zModule.__repr__isR==*==$dmm--A==$dmm--A
Gr)NN)rB
__module____qualname__rIrNrrr@r@Zsrr@ceZdZddZdZdZdZdZdZddZ	dd	Z
d
ZdZddZ
d
ZdZdZdZddZdZdZdZdZddZdZdZdZdZy) ModuleFinderNc|tj}||_i|_i|_||_d|_||ng|_||ng|_g|_y)Nr)	sysrmodules
badmodulesdebugindentexcludes
replace_pathsprocessed_paths)rHrrXrZr[s     rrIzModuleFinder.__init__tsX<88D	
$,$8b
.;.G]R!rc||jkr\t|jD]}tddt|d|D]}tt	|dtyy)N    end)rXrangerYprintrepr)rHlevelstrargsiargs      rmsgzModuleFinder.msgsaDJJ4;;'
&e%
&#3
*d3iS)
*G
rct|d}||jkr$|jdz|_|j|yyNrrrXrYrjrHrgres   rmsginzModuleFinder.msgin8QDJJ++/DKDHHdOrct|d}||jkr$|jdz
|_|j|yyrlrmrns   rmsgoutzModuleFinder.msgoutrprc|jdd|tj|5}ddtf}|j	d|||dddy#1swYyxYw)Nr
run_scriptrr__main__)rjr6r7r0load_module)rHpathnamefpstuffs    rrtzModuleFinder.run_scriptsUL(+
\\(
#	>rz*EZXu=	>	>	>sAActjj|\}}tjj|\}}t	j
|5}|dtf}|j||||dddy#1swYyxYw)Nr)r+rsplitr8r6r7r0rv)rHrwdirrextrxrys       r	load_filezModuleFinder.load_filessGGMM(+	TGG$$T*	c
\\(
#	8r$
+ET2x7	8	8	8sBB
c|jdd|||||j||}|j||\}}|j||}|s|S|jr|j||y)Nrimport_hookre)rjdetermine_parentfind_head_package	load_tailrDensure_fromlist)	rHrcallerfromlistreparentqtailms	         rrzModuleFinder.import_hooksuM45A&&vU&;((64NN1d#H::  H-rc|jdd|||r|dk(r|jddy|j}|dk\r|jr|dz}|dk(r$|j|}|jdd||S|jd|krt
ddj|jdd|}|j|}|jdd||S|jr$|j|}|jdd||Sd|vr:|jd}|d|}|j|}|jdd||S|jddy)	Nrrzdetermine_parent -> Nonerzdetermine_parent ->.zrelative importpath too deep)
rorrrBrDrVcountr"joinr{rfind)rHrrepnamerrhs      rrzModuleFinder.determine_parents]

1(&%8!KK56A:
ze,A4f=
{{3%'!"@AAHHU[[-gv67E\\%(FKK0&9M??\\%(FKK0&9M%<C A"1IE\\%(FKK0&9MA12rc|jdd||d|vr|jd}|d|}||dzd}n|}d}|r|jd|}n|}|j|||}|r|j	dd||f||fS|r2|}d}|j|||}|r|j	dd||f||fS|j	dd|td|z)	Nrrrrrzfind_head_package ->"raise ImportError: No module namedNo module named )rofindrB
import_modulerrr")rHrrrhheadrqnamers        rrzModuleFinder.find_head_packages

1)648$;		#A8D!:DDD%5EEtUF3KK1At9=d7NEF""47AA54yA$wA;UC,u455rcL|jdd|||}|rx|jd}|dkrt|}|d|||dzd}}|jd|}|j	|||}|s!|jdd|t
d|z|rx|jdd||S)	Nrrrrrrrzload_tail ->)rorlenrBrrrr")rHrrrrhrmnames       rrzModuleFinder.load_tails

1k1d+
		#A1u#d)abq4!:$D zz40E""42AACUK!"4u"<==	
A~q)rc|jdd||||D]s}|dk(r+|r|j|}|s|j||d3t||r@|jd|}|j|||}|rgt
d|zy)Nrr*rrr)rjfind_all_submodulesrhasattrrBrr")rHrr	recursivesuballsubnamesubmods        rrzModuleFinder.ensure_fromlists%q(I>
	DCcz 2215C,,QQ7Q_%&ZZ5++C!<%&87&BCC
	Drc
|jsyi}g}|tjjddz
}|tjjddz
}|tjj
ddz
}|jD]R}	t
j|}|D]5}d}|D]}t|}	||	d|k(s|d|	}n|s+|dk7s1|||<7T|jS#t$r|jdd|YwxYw)Nrzcan't list directoryrI)rDrrEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXESr+listdirOSErrorrjrkeys)
rHrrVsuffixesr|namesrmodsuffns
          rrz ModuleFinder.find_all_submoduless$zzI''::1==I''77::I''99!<<::	'C


3
'$DD	AQBCyD("3QBi	
3*,#&GCL
'
	'||~
2C8
sC##DDcr|jdd|||	|j|}|jdd||S#t$rYnwxYw||jvr|jddy|r|j
|jddy	|j
||xr|j
|\}}}n"#t$r|jdddYywxYw	|j||||}|r)|jn#|r|jwwxYw|r
t||||jdd||S)Nrrzimport_module ->zimport_module -> None)rorVrrKeyErrorrWrDfind_moduler"rvclosesetattr)rHpartnamefqnamerrrxrwrys        rrzModuleFinder.import_module$sD

1ox@	V$A
KK-q1H			
T__$KK23foo-KK23	"&"2"28393Mfoov#WB%	KK-t4		  Xu=A

FHa(A)1-s-;	AA
%B33CCC==Dc|\}}}|jdd||xrd||tk(r'|j||}|jdd||S|tk(rt|j
|d}	n_|tk(rT	|j
}
tjj|
|itjt|
dd}	nd}	|j!|}||_|	r6|j$r|j'|	}	|	|_|j+|	||jdd||S#t$r%}|jddt|z|d}~wwxYw)Nrrvrxzload_module ->execzraise ImportError: )ror-load_packagerrr0compilereadr4r_bootstrap_external
_classify_pycr"rfmarshalloads
memoryview
add_modulerCr[replace_paths_in_coderE	scan_code)rHrrxrw	file_infor=modetypercodataexcs            rrvzModuleFinder.load_moduleDsN&d

1mVR[D(C>!!!&(3AKK+Q/H:Hf5B
\
!
wwy--;;D&"Mz$/45BBOOF#

!!//3AJNN2q!A'+
A4s3x?J
s?1D99	E' E""E'c||jvri|j|<|rd|j||j<yd|j|d<y)Nr-)rWrB)rHrrs   r_add_badmodulezModuleFinder._add_badmoduleasIt&$&DOOD!56DOOD!&//2)*DOOD!#&rc	||jvr|j||y	|j||||rH|D]B}|dz|z}||jvr|j||,	|j|||g|Dyy#t$r8}|j	ddt||j||Yd}~d}~wwxYw#t$r8}|j	ddt||j||Yd}~yd}~wt$r8}|j	ddt||j||Yd}~yd}~wwxYw)NrrrzImportError:zSyntaxError:)rWrrr"rjrfSyntaxError)rHrrrrerfullnamerjs        r_safe_import_hookzModuleFinder._safe_import_hookis@4??"f-	>T67#	>C#czC/H4??2++Hf= >((vuE(J
	>'>NCH=++Hf==>	.HHQC1f--	.HHQC1f--	.s;C(B	C.B>>C	E.DE.EEc#Ktj|D]	}d|fftj|D]\}}}|dk(r	d||ffd|||ffyw)Nstorerabsolute_importrelative_import)dis_find_store_names
_find_imports)rHrrrers     rscan_opcodeszModuleFinder.scan_opcodessy))"-	#DD7""	#%(%6%6r%:	A!D%z'(D)999'%4)@@@		AsAAc|j}|j}||D]\}}|dk(r|\}d|j|< |dk(r|\}}d}	|d|vrd}	|D
cgc]
}
|
dk7s	|
}}
|j|||d|	sbd}|jr+|j
j
|jdz|z}||j
j
|}|i|jj|j|jj|j|jd|j|<#d|j|<4|dk(rS|\}}}|r|j||||X|j||}
|j|
jd|dt||jD]*}t|t|s|j!||,ycc}
w)	Nrrrrrrrr)co_coderrFrrDrVgetrBupdaterGrErRuntimeError	co_constsr.rr)rHrrcodescannerwhatrgrr	have_starfmmrercs               rrzModuleFinder.scan_codeszz##!"+(	)JD$w&'

d#**!%$	'h$%	+3@aqCx@H@&&tQ&BBzz"\\--ajj3.>.EFz!\\--d3~

,,R^^<

,,R^^<;;.23AMM$/./

d+**(,%x**4HE*J!221E2BF**6??D(RS*T#4((Q(	)T	%A!T"X&q!$	%A As
G3%G3c|jdd||tj|}|r|}|j|}||_|g|_|j
tj|gz|_|jd|j
\}}}	|j|||||jdd|||r|jSS#|r|jwwxYw)NrrrIzload_package ->)rorrrrCrDrrrvrrr)rHrrwrrrxbufrys        rrzModuleFinder.load_packages

1nfh7#''/FOOF#
Z
ZZ."4"4VR"@@
))*ajjAC	VRe4KK,a0
r
s(CC(ct||jvr|j|St|x|j|<}|Sr
)rVr@)rHrrs   rrzModuleFinder.add_modules9T\\!<<''#)&>1Vqrc||jdz|z}n|}||jvr|jdd|t||*|tj
vrddddtffS|j}t||S)Nrrzfind_module -> Excludedr)	rBrZrrr"rUbuiltin_module_namesr&rr>)rHrrrrs     rrzModuleFinder.find_moduless*4/HHt}}$KK4h?d##<s///dRZ$89999DD$''rc	ttddztddzt|jj}|D]U}|j|}|jrtddn
tddtd|z|j
xsd	W|j
\}}|r_ttd
|D]E}t|j|j}td|dd
j|G|rmttddtd|D]E}t|j|j}td|dd
j|Gyy)zPrint a report to stdout, listing the found modules with their
        paths, as well as modules that are missing, or seem to be missing.
        z
  %-25s %s)NameFile)----rPr_r`rz%-25srzMissing modules:?z
imported fromrKz7Submodules that appear to be missing, but could also bez#global names in the parent package:N)	rcsortedrVrrDrCany_missing_mayberWr)rHrkeyrmissingmaybermodss        rreportzModuleFinder.reportsZ	
l--.
l--.dll'')*	3CS!Azzcs#cs#'C-!1r2
	3//1G$%
Cdood388:;c4$))D/B
CGKQTU78
Cdood388:;c4$))D/B
C	rc2|j\}}||zS)zReturn a list of modules that appear to be missing. Use
        any_missing_maybe() if you want to know which modules are
        certain to be missing, and which *may* be missing.
        )r)rHrrs   rany_missingzModuleFinder.any_missing
s 
//1rcg}g}|jD]}||jvr|jd}|dkr|j|:||dzd}|d|}|jj|}|b||j|vr|j|||jvr|jr|j||j||j||j|j||fS)aReturn two lists, one with modules that are certainly missing
        and one with modules that *may* be missing. The latter names could
        either be submodules *or* just global names in the package.

        The reason it can't always be determined is that it's impossible to
        tell which names are imported when "from module import *" is done
        with an extension module, short of actually importing it.
        rrrN)	rWrZrr
rVrrFrGsort)rHrrrrhrpkgnamepkgs        rrzModuleFinder.any_missing_maybesOO	%Dt}}$

3A1ut$1Q34jG2AhG,,""7+Cdood33NN4(/__LL&NN4(t$=	%>	

~rctjj|jx}}|jD])\}}|j|s||t
|dz}n|jr]||jvrO||k7r|jdd|d|n|jdd|d|jj|t|j}tt
|D]2}t||t|s|j!||||<4|j#t%||S)Nrzco_filename z changed to z remains unchanged)rco_filename)r+rnormpathrr[
startswithrrXr\rrr
listrrbr.rrreplacetuple)rHrnew_filenameoriginal_filenamerrconstsrhs        rrz"ModuleFinder.replace_paths_in_codeCs2+-77+;+;BNN+KK(&&	DAq ++A. #4SVW#==	
::+43G3GG00A'8 HIA'8 ;<  ''(9:bll#s6{#	BA&)T"X. 66vayAq		BzzE&M|zLLr)NrNN)NNr)r)rr
)rBrOrPrIrjrorrrtr~rrrrrrrrvrrrrrrrrrrrrQrrrSrSrs
">8	!F66
D8@:+>4A/%b*($ CD,\MrrScdddl}	|jtjddd\}}d}d}g}g}|D][\}}	|dk(r|dz}|dk(rd}|dk(r"||	jtjz}|dk(rd}|dk(sK|j|	]|sd	}
n|d}
tjdd}tjj|
|d<||z}|dkDr't	d
|D]}t	dt|t|||}
|ddD]O}|dk(rd}|r2|ddd
k(r|
j|ddddg-|
j|?|
j|Q|
j|
|
j!|
S#|j$r}t	|Yd}~yd}~wwxYw)Nrrzdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:r^z.*r)getoptrUargverrorrcr{r+pathsepr
rr,rdrSrr~rtr)roptsrgrjrXdomodsaddpathexcludeoascriptritemmfris               rtestr[s]]388AB<;
d
E
FGG
19AIE9F9

 33G9E9NN1
a88A;Dggoof%DGT>Dqy
g	%D%d$	%
dE7	+BABx
$;F23x4s3Bxu5s#LL
MM&IIK
Ig<<
c
s&FF/F**F/ruz
[interrupted]r
)__doc__rimportlib._bootstrap_externalrimportlib.machineryrr+r6rUr5r0r4r2r-r&r(rrrrr>r@rSrrBrKeyboardInterruptrcrQrr<module>r s9
$		







<)*1Z0fMfMR8vz!
V!
 !sA!!
A10A1