python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
pythoninfo.cpython-312.pyc

͑ea|dZddlmZddlZddlZddlZddlZddlZddlZejdk(Z
dZGddZddd	Z
d
ZdddZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d.d+Z/d,Z0e1d-k(re0yy)/zK
Collect various information about Python to help debugging test failures.
)print_functionNwin32cl|yt|}tjdd|}|jS)Nz\s+ )strresubstrip)texts C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/pythoninfo.pynormalize_textr
s1|t9D
66&#t$D::<ceZdZdZdZdZy)
PythonInfoci|_yN)info)selfs r__init__zPythonInfo.__init__s		rc||jvrtd|z|yt|ts.t|tst	|}|j}|sy||j|<y)Nzduplicate key: %r)r
ValueError
isinstanceintrr
rkeyvalues   raddzPythonInfo.addsb$))03677=%%eS)E
KKME		#rc||jjDcic]\}}|t|c}}Scc}}w)zU
        Get information as a key:value dictionary where values are strings.
        )ritemsrrs   r	get_infoszPythonInfo.get_infos.s/37))//2CDJCSZDDDs8N)__name__
__module____qualname__rrr rrrrs$Err	formattercd|D]+}t||d}|||z}|	|||}|||-yr)getattr)info_addobjname_fmt
attributesr&attrrnames        rcopy_attributesr/5sLT4(=$ dE*EurcN	t||}|||y#t$rYywxYwrr(AttributeError)r)r.mod	attr_namers     r	copy_attrr5@s3Y'
T5s	$$cp	t||}|}|||}|||y#t$rYywxYwrr1)r)r.r3	func_namer&funcrs       r	call_funcr9HsJsI&
FE% T5s)	55c<d}t|td|t|dtdt|dtdt|dtdtj}t	td	r|d
tj
}|d|dD]G}t
t|}|t
|d
d}|s&t
|dd}|r|d
|}|d|z|It	td}|rd}nd}|d|t	td}|rd}nd}|d|y)N)_emscripten_info
_frameworkabiflagsapi_versionbuiltin_module_names	byteorderdont_write_bytecode
executableflags
float_infofloat_repr_style	hash_info
hexversionimplementationint_infomaxsize
maxunicodepathplatform
platlibdirprefixthread_infoversionversion_infowinverzsys.%szsys.androidapilevelgetandroidapilevelzsys.windowsversiongetwindowsversionzsys.getrecursionlimitgetrecursionlimitgetfilesystemencodeerrors/zsys.filesystem_encoding)stdinstdoutstderrencodingerrorszsys.%s.encodinggettotalrefcountz$Yes (sys.gettotalrefcount() present)z#No (sys.gettotalrefcount() missing)zbuild.Py_DEBUG
getobjectszYes (sys.getobjects() present)zNo (sys.getobjects() missing)zbuild.Py_TRACE_REFS)r/sysr9getfilesystemencodinghasattrrWr()	r)r,r\r.streamr]Py_DEBUGr
Py_TRACE_REFSs	         rcollect_sysrfSs/J6Hc8Z8
h-s4HI
h,c3FG
h/6IJ((*Hs/0&(E(E(GH
&1-
5d#>6:t440"*F3H"T)84
5s./H54
t$C.M/.
"D)rcddl}|j}djtt|}|d||d|j|d|jdd|j
zj}|r	|d	|	|j}d
D]}||vr|d|d||y#t$rYywxYw)
Nrrzplatform.architecturezplatform.python_implementationzplatform.platformT)aliasedz%s %szplatform.libc_ver)IDNAMEPRETTY_NAMEVARIANT
VARIANT_IDVERSIONVERSION_CODENAME
VERSION_IDz platform.freedesktop_os_release[])
rMarchitecturejoinfilterboolpython_implementationlibc_verr
freedesktop_os_releaseOSError)r)rMarchrv
os_releasers      rcollect_platformr{s  "D88F4&'D
$d+
-

+
+
-/
 


t

,.(++--446H$h/&446
	

	&C*$7uA>_
&
	&

sC	CCc:ddl}|d|jy)Nrzlocale.getencoding)localegetencoding)r)r}s  rcollect_localers
!6#5#5#78rct|dtjd|dtjdy)Nzbuiltins.float.float_formatfloatzbuiltins.float.double_formatdouble)r
__getformat__)r)s rcollect_builtinsrs.
*E,?,?,HI
+U-@-@-JKrcddl}t|dr*		|jd|jd}|d|yy#t$r}d|z}Yd}~d}~wwxYw#t
$r(}|jtjk7rYd}~yd}~wwxYw)Nr	getrandomzready (initialized)znot seeded yet (%s)zos.getrandom)osrbr
GRND_NONBLOCKBlockingIOErrorrxerrnoENOSYS)r)rstateexcs    rcollect_urandomrs
r;	
4Q 0 01-
^U+ #
4-3
4	yyELL()	s8<	A	AA
AAA	B BBcpddl}d}d}t||d||dD]}t|d|z||d}t|d|d	|t|d
r	|j	}|d|t
d}|jjD]Z\}}	|j}
|
|vs5|
jd
s$|
jds=|
jdsO|d|z|	\t|dr/|jd}|j||dd|zyy#t
$rYwxYw)NrcD|dvrttd|DS|S)N)supports_follow_symlinkssupports_fdsupports_effective_idsc34K|]}|jywr)r!).0r8s  r	<genexpr>z2collect_os.<locals>.format_attr.<locals>.<genexpr>s>dmm>s)rsortedr-rs  rformat_attrzcollect_os.<locals>.format_attrs*..v>>>??Lr)r.supports_bytes_environrrrzos.%sr%)
	cpu_countgetcwdgetegidgeteuidgetgid
getloadavg	getresgid	getresuidgetuidunamec@djtt|S)N, )rrmapr)groupss r
format_groupsz!collect_os.<locals>.format_groupssyyS&)**rzos.getgroups	getgroupsgetloginzos.login)>APPDATAAR	ARCHFLAGSARFLAGSAUDIODEVCCCFLAGSCOLUMNSCOMPUTERNAMECOMSPECCPPCPPFLAGSDISPLAYDISTUTILS_DEBUGDISTUTILS_USE_SDKDYLD_LIBRARY_PATHENSUREPIP_OPTIONSHISTORY_FILEHOME	HOMEDRIVEHOMEPATHIDLESTARTUPLANGLDFLAGSLDSHAREDLD_LIBRARY_PATHLINESMACOSX_DEPLOYMENT_TARGETMAILCAPS	MAKEFLAGSMIXERDEVMSSDKPATHPATHEXTPIP_CONFIG_FILEPLATPOSIXLY_CORRECT
PY_SAX_PARSERProgramFileszProgramFiles(x86)RUNNING_ON_VALGRIND
SDK_TOOLS_BINSERVER_SOFTWARESHELLSOURCE_DATE_EPOCH
SYSTEMROOTTEMPTERMTILE_LIBRARYTIX_LIBRARYTMPTMPDIRTRAVISTZUSERPROFILEVIRTUAL_ENVWAYLAND_DISPLAYWINDIR_PYTHON_HOST_PLATFORM_PYTHON_PROJECT_BASE_PYTHON_SYSCONFIGDATA_NAME__PYVENV_LAUNCHER__)PYTHONLC_VS	COMNTOOLSzos.environ[%s]umaskzos.umaskz0o%03o)
rr/r9rbrrx	frozensetenvironrupper
startswithendswithr)r)rrr,r8rloginENV_VARSr.rrmasks            r
collect_osrsR
JHb':M6	(GdNB56+hK=Qr:	(KKME
Z'??H@zz'')5e

X01%%..*E%,e45r7xx{
X_-i	
	sD))	D54D5cv	ddl}ddl}|j}	|j	|}|d|z||nd|yt
|drO|j|j|j}djtt|}|d|yy#t$rYywxYw#t
$rd}YwxYw)Nrzpwd.getpwuid(%s)z
<KeyError>getgrouplistrzos.getgrouplist)
pwdImportErrorrrgetpwuidKeyErrorrbrpw_namepw_gidrrrr)r)rruidentryrs      rcollect_pwdr]s
))+CS!


$'U\;
}	r>"=3sF+,"F+#%s"BB*	B'&B'*B87B8c	ddl}d}d}t||d||t|ds*t	|dd}d	|vr
|d
d	yd|vr
|d
dyyy#t$rYywxYw)Nrc0t|trd|zS|S)Nz%#x)rrrs  rrz%collect_readline.<locals>.format_attr~seS!5= Lr)_READLINE_VERSION_READLINE_RUNTIME_VERSION_READLINE_LIBRARY_VERSIONzreadline.%sr%r__doc__zlibedit readlinezreadline.libraryzGNU readline)readlinerr/rbr()r)r
rr,docs     rcollect_readlinerxsJ
Hh
z)+889h	2.$');<
s
"'8#:#sA	AAcddl}	|jgd|j|jd}|jd}|jry	|j
d}|d|y#t
$rYywxYw)Nr)gdbz-nx	--versionTrZr[universal_newlinesgdb_version)
subprocessPopenPIPEcommunicate
returncoderx
splitlines)r)rprocrQs    rcollect_gdbrs
 ;'1'137 9""$Q'??  "1%G]G$sA
A//	A;:A;c	ddl}d}t||d|	ddl}|j	}|jdd}|d|y#t$rY<wxYw#t$rYywxYw)Nr)
TK_VERSIONTCL_VERSIONz
tkinter.%sr
patchlevelztkinter.info_patchlevel)_tkinterr/rtkinterTclcall)r)rr,r tclrs      rcollect_tkinterr$swF3
(L*E8kkmXXfl3
*J7



s"AA	AA	A"!A"c2ddl}|d|jd}t||d|t|drEdD]?}	tjd5|j|}ddd|d	|zAyy#1swYxYw#t$rY[wxYw)
Nrz	time.time)altzonedaylighttimezonetznameztime.%sget_clock_info)clock	monotonicperf_counterprocess_timethread_timetimeT)recordztime.get_clock_info(%s))r0r/rbwarningscatch_warningsr*r)r)r0r,r+
clock_infos     rcollect_timer5s[$))+&JHdIz:t%&=
	HE
H,,D9<!%!4!4U!;J<2U:JG
	H'
<<

s)B
A>&B
>B	B

	BBcH	ddl}t|d|dy#t$rYywxYw)Nrzcurses.ncurses_versionncurses_version)cursesrr5)r)r8s  rcollect_cursesr9s0h0&:KL	!!cn	ddl}|d|jjy#t$rYywxYw)Nrzdatetime.datetime.now)datetimernow)r)r<s  rcollect_datetimer>s:

$h&7&7&;&;&=>s(	44c0tryddl}dD]2}|j|}|dk(r|st|}|d|z|4|jd}|xrd|v}|rd}nd}|d	|d
D]&}|j|}|rd}nd}|d
||(y)Nr)ABIFLAGSANDROID_API_LEVELrCCSHAREDrCFLAGSFORSHAREDCONFIG_ARGS
HOST_GNU_TYPEMACHDEP	MULTIARCHOPT	PY_CFLAGSPY_CFLAGS_NODISTPY_CORE_LDFLAGS
PY_LDFLAGSPY_LDFLAGS_NODISTPY_STDMODULE_CFLAGSrdPy_ENABLE_SHAREDrSOABIrOrAz
sysconfig[%s]rIz-DNDEBUGz!ignore assertions (macro defined)z$build assertions (macro not defined)zbuild.NDEBUG)WITH_DOC_STRINGSWITH_DTRACEWITH_FREELISTS
WITH_PYMALLOC
WITH_VALGRINDYesNozbuild.)
MS_WINDOWS	sysconfigget_config_varr
)r)rYr.rrINDEBUGrs       rcollect_sysconfigr\s00((.&&uu%4'/;0>((5I3J)3F
24^D!(((.DD6$$'(rcddl}	ddl}	ddl}d}d}t	||d||d|j|jfd|jfd|jffD]\}}d	}t	||d
|d|dd
g}|5t|dr)|j}	|j|	d|	df|D]}	|j|}
|d|z|
 y#t$rYywxYw#t$rd}YwxYw#t$rYMwxYw)Nrc2|jdrd|zS|S)NOP_z%#8x)rrs  rrz collect_ssl.<locals>.format_attr2s??5!E>!Lr)OPENSSL_VERSIONOPENSSL_VERSION_INFOHAS_SNIOP_ALL
OP_NO_TLSv1_1zssl.%sr%
SSLContextdefault_https_contextstdlib_context)minimum_versionmaximum_versionprotocoloptionsverify_modezssl.z.%sOPENSSL_CONF
SSLKEYLOGFILEget_default_verify_pathszssl.environ[%s])rsslr_sslr/rePROTOCOL_TLS_CLIENT_create_default_https_context_create_stdlib_contextrbroextendrr)r)rrqrrrr,r.ctx	env_namespartsrs           rcollect_sslrz's\
JHc8Z;O
s~~c&=&=>?	 #"C"C"EF	35578E	c


	#dV3'7DE 1IGD*DE--/%(E!H-.2	JJt$E	"T)512SP		s4CC.C?	C+*C+.C<;C<?	D
Dc	ddl}	|j}|d|y#t$rYywxYw#ttf$rt
jdk7rYywxYw)Nrzsocket.hostnamewasi)socketrgethostnamerxr2r`rM)r)r}hostnames   rcollect_socketr\sg.%%'	"H-

^$<<6!"s!0	--#AAcL	ddl}d}t||d|y#t$rYywxYw)Nr)sqlite_versionz
sqlite3.%s)sqlite3rr/)r)rr,s   rcollect_sqliterls3%JHg|Z@		##cL	ddl}d}t||d|y#t$rYywxYw)Nr)ZLIB_VERSIONZLIB_RUNTIME_VERSIONzzlib.%s)zlibrr/)r)rr,s   rcollect_zlibrvs3:JHdIz:	rcP	ddlm}d}t||d|y#t$rYywxYw)Nr)expat)
EXPAT_VERSIONzexpat.%s)xml.parsersrrr/)r)rr,s   r
collect_expatrs3%$JHeZ<	s	%%cL	ddl}d}t||d|y#t$rYywxYw)Nr)__libmpdec_version__z_decimal.%s)_decimalrr/)r)rr,s   rcollect_decimalrs3+JHh
zB	rcH	ddl}t|d|dy#t$rYywxYw)Nrzpymem.allocatorpymem_getallocatorsname)	_testcapirr9)r)rs  rcollect_testcapirs0h)96OPr:c	ddl}t|Dcgc]}|jds|}}|D]+}t	||}|j|}|d|z|-t
|d|dy#t$rYywxYwcc}w)NrRLIMIT_zresource.%szresource.pagesizegetpagesize)resourcerdirrr(	getrlimitr9)r)rr-limitsr.rrs       rcollect_resourcers #8}
Kt	0Jd
KF
K.h%""3'%u-.
h+X}ELsA/A>A>/	A;:A;c	ddlm}t|Dcgc]}|j
dr|}}t||d|y#ttjf$rYywxYwcc}w)Nr)test_socketHAVE_ztest_socket.%s)testrrunittestSkipTestrrr/)r)rr.r,s    rcollect_test_socketrsk$
$'{#3/4__W-/J/Hk+;ZH

**+/sAAAAc	ddlm}d}t||d|t	|d|dt	|d|d|d	|jd
|d|jd

|d|jd
y#t$rYywxYw)Nr)support)IPV6_ENABLEDztest_support.%sztest_support._is_gui_available_is_gui_availablez test_support.python_is_optimizedpython_is_optimizedz*test_support.check_sanitizer(address=True)T)addressz)test_support.check_sanitizer(memory=True))memoryz%test_support.check_sanitizer(ub=True))ub)rrrr/r9check_sanitizer)r)rr,s   rcollect_test_supportrs #JHg'8*E
h8'CVW
h:GEZ[
9

$
$T
$
24
8

$
$D
$
13
4

$
$
$
-/sB	BBcddl}ddl}|jd}|sy	ddl}|j	|}|j
d	|j||j|jd}|jd}|jry|jd}t|}|d|y#t
$r|j	}YwxYw#t$rYywxYw)NrrrTrz
CC.version)rrYrZshlexsplitrappendrrSTDOUTrxrrrr
)	r)rrYrrargsrrZrs	         r
collect_ccrs		!	!$	'B
{{2	KK	'1'1'8'837 9



"Fq!D$D\4 +xxz		s#B6)C6CC	C! C!c	|	ddlm}|ddjt	t
|y#t$rYywxYw)Nr)
_GDBM_VERSIONzgdbm.GDBM_VERSION.)_gdbmrrrrrr)r)rs  rcollect_gdbmrs;'

 #((3sM+B"CDs/	;;c		ddlm}|}t|D]2}||}t|D]}||d|dt	||4y#t$rYywxYw)Nr)get_configs[rp)_testinternalcapirrrrepr)r)rall_configsconfig_typeconfigrs      rcollect_get_configrst1-Kk*G[)&>	GCc2D4EF	GG	sA	AAc(ddl}t||ddy)Nrz
subprocess.%s)_USE_POSIX_SPAWN)rr/)r)rs  rcollect_subprocessrsHj/;PQrc	ddl}t|dsy|jd}|j}	|j
}||_d|_t|}|d|	ddl
}|jtj}|d|ddl}	|jgd|j |j d	d
}	|	j#\}
}|	j$rd}
|
j'D]}|j)}|j+d
r,|j-d
j)}|sF|d|P|j+dsb|j-dj)}|s|d|		|jdgd
|j |j d
}	|	j#d}
|	j$rd}
|
j)}
|
j'd}|r
|d|yy#t$rYywxYw#t$rd}YwxYw#ttf$rYwxYw#t.$rYwxYw#t.$rYywxYw)NrWinDLLntdllr$z<function not available>zwindows.RtlAreLongPathsEnabledzwindows.dll_path)wmicrgetzCaption,Versionz/valueoemT)rZr[r\rr	zCaption=zwindows.version_captionzVersion=zwindows.versionver)shellrZr[rzwindows.ver)ctypesrrbrc_ubyteRtlAreLongPathsEnabledrestypeargtypesrtr2_winapiGetModuleFileNamer`	dllhandlerrrrrrr
rremoveprefixrx)
r)rrBOOLEANrresrdll_pathrroutputr[lines
             rcollect_windowsrsd68$MM'"EnnG-!&!=!=*1&*,')+,
-s3
,,S]];#X.6 R'1'1).%)	 +
))+??F%%'		6D::<Dz*((4::<6=,((4::<.5		6*t'1'1%) +!!#A&??F  "1%]D)C)()
(



,sZHH%,H!A
H7AI	HHHH!H43H47	II	IIc	ddl}|t|d|d	tdd5}|j	j}dddr
|d|yy#t$rd}Y_wxYw#1swY'xYw#t$rYywxYw)Nrzfips.openssl_fips_mode
get_fips_modez/proc/sys/crypto/fips_enabledzutf-8)r\zfips.linux_crypto_fips_enabled)_hashlibrr9openr
rstriprx)r)rfprs    rcollect_fipsrSs(4hP

1G
D	*;;='')D	*5t<	*	*


s9A
A5A)A5A&%A&)A2.A55	BBcd}|j}ttttt
ttttttttttt t"t$t&t(t*t,t.t0t2t4t6t8t:t<fD]}	||
|S#t>$rd}tAd|jBztDjFtIjJtDjFtAtDjFtDjFjMYwxYw)NFTzERROR: %s() failedfile)'rrrrr9r>rrrrrrrrr{rrrrrrzrrfr\rr5r$rrrr	Exceptionprintr!r`r[	traceback	print_excflush)rerrorr)collect_funcs    rcollect_inforfsExxH		I%.L	"O.`L	E&,*?*?@zz
#SZZ0szz"JJ
	s+B77BE	E	c
d}t|tdt|zt|j}t|j	}|D]'\}}|jdd}t|d|)y)NzPython debug information=
rz: )rlenr rrreplace)rrtitleinfosrrs      r	dump_inforsp&E	%L	#E

	GNNE5;;=!E'
U

dC(
#u%&'rct}t|}t||r;ttdtj
t	jdyy)Nz"Collection failed: exit with errorrr)rrrrr`r[exit)rrs  rmainrsA<DE
dO

2D
r__main__r)2r
__future__rrrr`rrr2rMrXr
rr/r5r9rfr{rrrrrrrr$r5r9r>r\rzrrrrrrrrrrrrrrrrrrr!r$rr<module>rs-&	
llg%
EE:GK<@A*H"&J9L
&@.F,69:%(8&H6M?;(|22j
. A;=CQF	I/( !FEGR
E*P
&4n
'zFr