+
    Bir                     x   ^ RI t ^ RIt^ RIt^ RIt^ RItR t ! R R4      tRR/R ltR tRR/R lt	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R" t#R# t$R$ t%R% t&R& t'R' t(R( t)R) t*R* t+R+ t,R, t-R- t.R1R. lt/R/ t0]1R08X  d
   ]0! 4        R# R# )2    Nc                 t    V f   R # \        V 4      p \        P                  ! RRV 4      p V P                  4       # )Nz\s+ )strresubstrip)texts   &&/usr/lib/python3.14/test/pythoninfo.pynormalize_textr      s1    |t9D66&#t$D::<    c                   2   a  ] tR t^t o R tR tR tRtV tR# )
PythonInfoc                    / V n         R # Ninfo)selfs   &r
   __init__PythonInfo.__init__   s	    	r   c                   WP                   9   d   \        R V,          4      hVf   R# \        V\        4      '       g<   \        V\        4      '       g   \	        V4      pVP                  4       pV'       g   R# W P                   V&   R# )zduplicate key: %rN)r   
ValueError
isinstanceintr   r   r   keyvalues   &&&r
   addPythonInfo.add   sd    ))03677=%%%eS))E
KKME		#r   c                ~    V P                   P                  4        UUu/ uF  w  rV\        V4      bK  	  upp# u uppi r   )r   itemsr   r   s   &  r
   	get_infosPythonInfo.get_infos)   s3     37))//2CD2CJCSZ2CDDDs   9r   N)	__name__
__module____qualname____firstlineno__r   r   r!   __static_attributes____classdictcell__)__classdict__s   @r
   r   r      s     $E Er   r   	formatterc                t    V F1  p\        WR 4      pVf   K  W%,          pVe	   V! WV4      pV ! Wv4       K3  	  R # r   )getattr)info_addobjname_fmt
attributesr*   attrr   names   &&&&$   r
   copy_attributesr3   0   s?    4(= d*E r   c                 R     \        W#4      pT ! Y4       R #   \         d     R # i ; ir   r,   AttributeError)r-   r2   mod	attr_namer   s   &&&& r
   	copy_attrr9   ;   s/    ' T  s    &&c                x     \        W#4      pT! 4       pTe	   T! T4      pT ! Y4       R #   \         d     R # i ; ir   r5   )r-   r2   r7   	func_namer*   funcr   s   &&&&$  r
   	call_funcr=   C   sF    s& FE% T  s   * 99c                    Rp\        V \        RV4       R F  p\        V RV 2\        V4       K  	  \        P                  ! 4       p\	        \        R4      '       d   V: R\        P
                  ! 4       : 2pV ! RV4       R F^  p\        \        V4      pVf   K  \        VRR4      pV'       g   K0  \        VRR4      pV'       d
   V: RV: 2pV ! R	V,          V4       K`  	  \	        \        R
4      pV'       d   RpMRpV ! RV4       \	        \        R4      p	V	'       d   RpMRpV ! RV4       V ! R\        P                  ! 4       4       R# )_emscripten_infozsys.%szsys.getfilesystemencodeerrors/zsys.filesystem_encodingNencodingerrorszsys.%s.encodinggettotalrefcountz$Yes (sys.gettotalrefcount() present)z#No (sys.gettotalrefcount() missing)zbuild.Py_DEBUG
getobjectszYes (sys.getobjects() present)zNo (sys.getobjects() missing)zbuild.Py_TRACE_REFSzsys.is_remote_debug_enabled)r?   
_frameworkabiflagsapi_versionbuiltin_module_names	byteorderdont_write_bytecode
executableflags
float_infofloat_repr_style	hash_info
hexversionimplementationint_infomaxsize
maxunicodepathplatform
platlibdirprefixthread_infoversionversion_infowinver)_is_gil_enabledgetandroidapilevelgetrecursionlimitgetwindowsversion)stdinstdoutstderr)r3   sysr=   getfilesystemencodinghasattrr@   r,   is_remote_debug_enabled)
r-   r0   r<   rB   r2   streamrC   Py_DEBUGr	   Py_TRACE_REFSs
   &         r
   collect_sysrl   N   s5   J6 Hc8Z8 	(d4&M35 ((*Hs/00&(E(E(GH&1-d#>6:t440"*F3H"T)84 . s./H54t$ C.M/."D)*C,G,G,IJr   c                     ^ RI pVP                  4       pRP                  \        \        V4      4      pV ! RV4       V ! RVP                  4       4       V ! RVP                  RR7      4       RVP                  4       ,          P                  4       pV'       d
   V ! R	V4        VP                  4       pR F  pWT9  d   K  V ! R
V R2WE,          4       K   	  \        P                   R8X  d   \        V RVR4       R# R#   \         d     L4i ; i)r   Nr   zplatform.architecturezplatform.python_implementationzplatform.platformT)aliasedz%s %szplatform.libc_verz platform.freedesktop_os_release[]androidzplatform.android_verandroid_ver)IDNAMEPRETTY_NAMEVARIANT
VARIANT_IDVERSIONVERSION_CODENAME
VERSION_ID)rW   architecturejoinfilterboolpython_implementationlibc_verr   freedesktop_os_releaseOSErrorre   r=   )r-   rW   archr~   
os_releaser   s   &     r
   collect_platformr      s     "D88F4&'D$d+-++-/ t,. (++--446H$h/&446
	
C $7uA>_&	
 ||y (2HmL !%  s   $C? ?DDc                 <    ^ RI pV ! RVP                  4       4       R# )r   Nzlocale.getencoding)localegetencoding)r-   r   s   & r
   collect_localer      s    !6#5#5#78r   c                 v    V ! R \         P                  R4      4       V ! R\         P                  R4      4       R# )zbuiltins.float.float_formatfloatzbuiltins.float.double_formatdoubleN)r   __getformat__)r-   s   &r
   collect_builtinsr      s.    *E,?,?,HI+U-@-@-JKr   c                 <   ^ RI p\        VR4      '       d,     VP                  ^VP                  4       RpV ! RV4       R# R#   \         d   pRT,          p Rp?L&Rp?ii ; i  \
         d,   pTP                  \        P                  8w  d   h  Rp?R# Rp?ii ; i)r   N	getrandomzready (initialized)znot seeded yet (%s)zos.getrandom)osrg   r   GRND_NONBLOCKBlockingIOErrorr   errnoENOSYS)r-   r   stateexcs   &   r
   collect_urandomr      s    r;	4Q 0 01- ^U+   # 4-34  	 yyELL( )	s:   A 	A% A"	AA% A""A% %B0 BBc                    ^ RI pR pRp\        WRW2R7       R F  p\        V RV,          W4       K  	  R p\        V RVRVR7       \        VR4      '       d    VP	                  4       pV ! R	V4       \        R4      pVP                  P                  4        Ft  w  rVP                  4       p
W9   gJ   V
P                  R4      '       g3   V
P                  R
4      '       g   KK  V
P                  R4      '       g   Kd  V ! RV,          V	4       Kv  	  \        VR4      '       d5   VP                  ^ 4      pVP                  V4       V ! RRV,          4       R# R#   \
         d     Li ; i)r   Nc                 J    V R9   d   \        \        R V 4       4      4      # V# )supports_follow_symlinksc              3   8   "   T F  qP                   x  K  	  R # 5ir   )r#   ).0r<   s   & r
   	<genexpr>2collect_os.<locals>.format_attr.<locals>.<genexpr>   s     >mms   )r   supports_fdsupports_effective_ids)r   sortedr1   r   s   &&r
   format_attrcollect_os.<locals>.format_attr   s*     . .v>>>??Lr   zos.%sr*   c                 @    R P                  \        \        V 4      4      # ), )rz   mapr   )groupss   &r
   format_groups!collect_os.<locals>.format_groups   s    yyS&)**r   zos.getgroups	getgroupsgetloginzos.loginVS	COMNTOOLSzos.environ[%s]umaskzos.umaskz0o%03o)r2   supports_bytes_environr   r   r   )	cpu_countgetcwdgetegidgeteuidgetgid
getloadavg	getresgid	getresuidgetuidprocess_cpu_countuname)FAPPDATAAR	ARCHFLAGSARFLAGSAUDIODEVBUILDPYTHONCCCFLAGSCOLUMNSCOMPUTERNAMECOMSPECCPPCPPFLAGSDISPLAYDISTUTILS_DEBUGDISTUTILS_USE_SDKDYLD_LIBRARY_PATHENSUREPIP_OPTIONSHISTORY_FILEHOME	HOMEDRIVEHOMEPATHIDLESTARTUPIPHONEOS_DEPLOYMENT_TARGETLANGLDFLAGSLDSHAREDLD_LIBRARY_PATHLINESMACOSX_DEPLOYMENT_TARGETMAILCAPS	MAKEFLAGSMIXERDEVMSSDKPATHPATHEXTPIP_CONFIG_FILEPLATPOSIXLY_CORRECTPY_SAX_PARSERProgramFileszProgramFiles(x86)RUNNING_ON_VALGRINDSDK_TOOLS_BINSERVER_SOFTWARESHELLSOURCE_DATE_EPOCH
SYSTEMROOTTEMPTERMTILE_LIBRARYTMPTMPDIRTRAVISTZUSERPROFILEVIRTUAL_ENVWAYLAND_DISPLAYWINDIR_PYTHON_HOSTRUNNER_PYTHON_HOST_PLATFORM_PYTHON_PROJECT_BASE_PYTHON_SYSCONFIGDATA_NAME_PYTHON_SYSCONFIGDATA_PATH__PYVENV_LAUNCHER__ASAN_OPTIONSLSAN_OPTIONSMSAN_OPTIONSTSAN_OPTIONSUBSAN_OPTIONS)PYTHONLC_)r   r3   r=   rg   r   r   	frozensetenvironr    upper
startswithendswithr   )r-   r   r   r0   r<   r   loginENV_VARSr2   r   r   masks   &           r
   
collect_osr     sQ   J H':M 	(GdNB5+ hK=Qr:	(KKME Z'  I IHT zz'')

 011%%%..*E*E%,e4 * r7xx{
X_-   	 	s   E E'&E'c                     ^ RI p^ RIpTP                  4       p TP	                  T4      pT ! RT,          Te   TMR4       Tf   R# \        TR4      '       dQ   TP                  TP                  TP                  4      pRP                  \        \        T4      4      pT ! RT4       R# R#   \         d     R# i ; i  \
         d    Rp Li ; i)r   Nzpwd.getpwuid(%s)z
<KeyError>getgrouplistr   zos.getgrouplist)pwdImportErrorr   r   getpwuidKeyErrorrg   r  pw_namepw_gidrz   r   r   )r-   r  r   uidentryr   s   &     r
   collect_pwdr  m  s     
))+CS! $'U\; } 	r>""=3sF+,"F+ #%    s"   B, B> ,B;:B;>CCc                      ^ RI pR pRp\        YRTTR7       \        TR4      '       g4   \	        TRR4      pRT9   d   T ! R	R4       R# R
T9   d   T ! R	R
4       R# R# R#   \         d     R# i ; i)r   Nc                 D    \        V\        4      '       d
   R V,          # V# )z%#x)r   r   r   s   &&r
   r   %collect_readline.<locals>.format_attr  s    eS!!5= Lr   _READLINE_LIBRARY_VERSIONzreadline.%sr   __doc__ zlibedit readlinezreadline.libraryzGNU readline)_READLINE_VERSION_READLINE_RUNTIME_VERSIONr  )readliner  r3   rg   r,   )r-   r  r   r0   docs   &    r
   collect_readliner!    s    J
 Hz)+ 8899h	2.$');<s"'8 # :#  s   A! !A0/A0c                 "   ^ RI p VP                  . ROVP                  VP                  RR7      pVP                  4       ^ ,          pVP                  '       d   R#  TP                  4       ^ ,          pT ! RT4       R#   \
         d     R# i ; i)r   NTrc   rd   universal_newlinesgdb_version)gdbz-nx	--version)
subprocessPopenPIPEcommunicate
returncoder   
splitlines)r-   r(  procr[   s   &   r
   collect_gdbr/    s    
 ;'1'137   9 ""$Q'???    "1%G]G$  s   AA? ?BBc                      ^ RI pRp\        WRV4        ^ RIpVP	                  4       pVP                  RR4      pV ! RV4       R#   \         d     L?i ; i  \         d     R# i ; i)r   Nz
tkinter.%sr   
patchlevelztkinter.info_patchlevel)
TK_VERSIONTCL_VERSION)_tkinterr3   r  tkinterTclcall)r-   r4  r0   r5  tclr1  s   &     r
   collect_tkinterr9    su    F 3
L*E8 kkmXXfl3
*J7    s"   A A AAA'&A'c                 r   ^ RI pV ! RVP                  4       4       Rp\        WRV4       \        VR4      '       dV   R	 FM  p \        P                  ! RR7      ;_uu_ 4        VP                  V4      pRRR4       V ! RV,          X4       KO  	  R# R#   + '       g   i     L(; i  \         d     Kv  i ; i)
r   Nz	time.timeztime.%sget_clock_infoT)recordztime.get_clock_info(%s))altzonedaylighttimezonetzname)clock	monotonicperf_counterprocess_timethread_timetime)rF  r3   rg   warningscatch_warningsr;  r   )r-   rF  r0   rA  
clock_infos   &    r
   collect_timerJ    s    [$))+&J HIz:t%&&=EH,,D99!%!4!4U!;J : 2U:JG= '
 :9 s*   B'"B4B'B$B''B65B6c                 P     ^ RI p\        T RTR4       R#   \         d     R# i ; i)r   Nzcurses.ncurses_versionncurses_version)cursesr  r9   )r-   rM  s   & r
   collect_cursesrN    s0     h0&:KL  s    %%c                 v     ^ RI pT ! RTP                   P                  4       4       R#   \         d     R# i ; i)r   Nzdatetime.datetime.now)datetimer  now)r-   rP  s   & r
   collect_datetimerR    s:     $h&7&7&;&;&=>  s   ) 88c                    ^ RI pV ! RVP                  4       4       R F@  pVP                  V4      pVR8X  d   V'       g   K%  \        V4      pV ! RV,          V4       KB  	  VP                  R4      pT;'       d    RV9   pV'       d   RpMRpV ! R	V4       R F-  pVP                  V4      pV'       d   R
pMRpV ! RV 2V4       K/  	  R# )r   Nzsysconfig.is_python_buildANDROID_API_LEVEL	PY_CFLAGSzsysconfig[%s]z-DNDEBUGz!ignore assertions (macro defined)z$build assertions (macro not defined)zbuild.NDEBUGYesNozbuild.)ABIFLAGSrT  r   CCSHAREDr   CFLAGSFORSHAREDCONFIG_ARGS
HOSTRUNNERHOST_GNU_TYPEMACHDEP	MULTIARCHOPTPGO_PROF_USE_FLAGrU  PY_CFLAGS_NODISTPY_CORE_LDFLAGS
PY_LDFLAGSPY_LDFLAGS_NODISTPY_STDMODULE_CFLAGSrj   Py_ENABLE_SHAREDPy_GIL_DISABLEDPy_REMOTE_DEBUGr   SOABITEST_MODULESabs_builddir
abs_srcdirrY   srcdir)WITH_DOC_STRINGSWITH_DTRACEWITH_MIMALLOCWITH_PYMALLOCWITH_VALGRIND)	sysconfigis_python_buildget_config_varr   )r-   rt  r2   r   rU  NDEBUGr	   s   &      r
   collect_sysconfigrx    s    ()*C*C*EF@ ((.&&uu%4'/KN ((5I33J)3F24^D! ((.DD6$$'r   c                 `   ^ RI p ^ RIp ^ RIpR pRp\	        YRYTR7       RTP                  TP                  4      3RTP                  4       3RTP                  4       33 F  w  rgRp\	        YRT R	2T4       K  	  R
R.pTeD   \        TR4      '       d2   TP                  4       p	TP                  T	^ ,          T	^,          34       T F'  p TP                  T,          p
T ! RT,          T
4       K)  	  R#   \         d     R# i ; i  \         d    Rp ELi ; i  \         d     Ka  i ; i)r   Nc                 F    V P                  R 4      '       d
   RV,          # V# )OP_z%#8x)r  r   s   &&r
   r    collect_ssl.<locals>.format_attrG  s     ??5!!E>!Lr   zssl.%sr   
SSLContextdefault_https_contextstdlib_contextzssl.z.%sOPENSSL_CONFSSLKEYLOGFILEget_default_verify_pathszssl.environ[%s])OPENSSL_VERSIONOPENSSL_VERSION_INFOHAS_SNIOP_ALLOP_NO_TLSv1_1)minimum_versionmaximum_versionprotocoloptionsverify_mode)r   sslr  _sslr3   r}  PROTOCOL_TLS_CLIENT_create_default_https_context_create_stdlib_contextrg   r  extendr  r  )r-   r   r  r  r   r0   r2   ctx	env_namespartsr   s   &          r
   collect_sslr  <  sK   J H8ZO 
s~~c&=&=>?	 #"C"C"EF	35578	


 	dV3'7D  1IGD*DEE--/%(E!H-.	JJt$E 	"T)51 S    P  		s4   C8 D
 D8DD
DDD-,D-c                      ^ RI p TP                  4       pT ! RT4       R#   \         d     R# i ; i  \        \        3 d    \
        P                  R8w  d   h  R# i ; i)r   Nzsocket.hostnamewasi)socketr  gethostnamer   r6   re   rW   )r-   r  hostnames   &  r
   collect_socketr  q  sg    .%%' 	"H-  
 ^$ <<6! "s   " 4 11'AAc                 R     ^ RI pRp\        YRT4       R#   \         d     R# i ; i)r   Nz
sqlite3.%s)sqlite_version)sqlite3r  r3   )r-   r  r0   s   &  r
   collect_sqliter    s1     %JH|Z@	      &&c                 R     ^ RI pRp\        YRT4       R#   \         d     R# i ; i)r   Nzzlib.%s)ZLIB_VERSIONZLIB_RUNTIME_VERSIONZLIBNG_VERSION)zlibr  r3   )r-   r  r0   s   &  r
   collect_zlibr    s2     LJHIz:	  r  c                 V     ^ RI Hp Rp\        YRT4       R#   \         d     R# i ; i)r   )expatNzexpat.%s)EXPAT_VERSION)xml.parsersr  r  r3   )r-   r  r0   s   &  r
   collect_expatr    s1    % $JHZ<	      ((c                 R     ^ RI pRp\        YRT4       R#   \         d     R# i ; i)r   Nz_decimal.%s)__libmpdec_version__)_decimalr  r3   )r-   r  r0   s   &  r
   collect_decimalr    s1     +JHzB	  r  c                 f     ^ RI pR F  p\        T RT 2Y4       K  	  R#   \         d     R# i ; i)r   Nz
_testcapi.)LONG_MAXPY_SSIZE_T_MAXSIZEOF_TIME_TSIZEOF_WCHAR_T)	_testcapir  r9   )r-   r  r2   s   &  r
   collect_testcapir    s?     	(j/A  s   ! 00c                      ^ RI p\        T RTR4       R F  p\        T RT 2Y4       K  	  R#   \         d     R# i ; i)r   Nzpymem.allocatorpymem_getallocatorsnamez_testinternalcapi.)SIZEOF_PYGC_HEADSIZEOF_PYOBJECT)_testinternalcapir  r=   r9   )r-   r  r2   s   &  r
   collect_testinternalcapir    sT      h)+<>WX 	(079JQ	  s   / >>c                 (    ^ RI p\        T4       Uu. uF  q"P                  R4      '       g   K  TNK  	  ppT F/  p\	        Y4      pTP                  T4      pT ! RT,          T4       K1  	  \        T RTR4       R#   \         d     R# i ; iu upi )r   NRLIMIT_zresource.%szresource.pagesizegetpagesize)resourcer  dirr  r,   	getrlimitr=   )r-   r  r1   limitsr2   r   r   s   &      r
   collect_resourcer    s      #8}K}t	0Jdd}FKh%""3'%u- 
 h+X}E   Ls   A= BB=BBc                     ^ RI p ^ RIHp \        T4       Uu. uF  pTP                  R4      '       g   K  TNK   	  pp\        YRT4       R#   \        TP                  3 d     R# i ; iu upi )r   N)test_socketHAVE_ztest_socket.%s)unittesttestr  r  SkipTestr  r  r3   )r-   r  r  r2   r0   s   &    r
   collect_test_socketr    so    $
 $'{#3 /#34__W- $#3J /H+;ZH **+ /s   A A,A,A)(A)c                 $    ^ RI Hp Rp\        YRT4       \	        T RTR4       \	        T RTR4       T ! RTP                  R	R
7      4       T ! RTP                  R	R7      4       T ! RTP                  R	R7      4       R#   \         d     R# i ; i)r   )supportNz
support.%szsupport._is_gui_available_is_gui_availablezsupport.python_is_optimizedpython_is_optimizedz%support.check_sanitizer(address=True)T)addressz$support.check_sanitizer(memory=True))memoryz support.check_sanitizer(ub=True))ub)

MS_WINDOWShas_fork_supporthas_socket_supporthas_strftime_extensionshas_subprocess_support
is_androidis_emscripten	is_jythonis_wasi	is_wasm32)r  r  r  r3   r=   check_sanitizer)r-   r  r0   s   &  r
   collect_supportr    s     J H|Z@h3W>QRh5w@UV4$$T$243$$D$13/$$$-/1  s   B   BBc                      ^ RI Hp R F  p\        Y4      pT ! RT 2T! 4       4       K!  	  R#   \         d     R# i ; i)r   )	os_helperNzsupport_os_helper.)can_symlink	can_xattr	can_chmodcan_dac_override)test.supportr  r  r,   )r-   r  r2   r<   s   &   r
   collect_support_os_helperr    sJ    * y'%dV,df5  s   / >>c                      ^ RI Hp Rp\        YRT4       R F  p\	        Y4      pT ! RT 2T! 4       4       K!  	  R#   \         d     R# i ; i)r   )socket_helperNzsupport_socket_helper.%szsupport_socket_helper.)IPV6_ENABLEDhas_gethostname)tcp_blackhole)r  r  r  r3   r,   )r-   r  r0   r2   r<   s   &    r
   collect_support_socket_helperr    s`    .J H-GT }+)$0$&9	  s   > AAc                 V     ^ RI Hp Rp\        YRT4       R#   \         d     R# i ; i)r   )threading_helperNzsupport_threading_helper.%s)can_start_thread)r  r  r  r3   )r-   r  r0   s   &  r
    collect_support_threading_helperr  %  s4    1J H0MzZ  r  c                     ^ RI p^ RIpVP                  R4      pV'       g   R#  ^ RIpVP	                  V4      pVP                  R4        VP                  VVP                  VP                  RR7      pTP                  4       ^ ,          pTP                  '       d   R# TP                  4       ^ ,          p\        T4      pT ! RT4       R#   \
         d    TP	                  4       p Li ; i  \         d     R# i ; i)r   Nr   r'  Tr#  z
CC.version)r(  rt  rv  shlexsplitr  appendr)  r*  STDOUTr   r+  r,  r-  r   )	r-   r(  rt  r   r  argsr.  rc   r	   s	   &        r
   
collect_ccr  1  s    		!	!$	'B{{2 	KK	'1'1'8'837   9 "Fq!D$D\4 +  xxz   		s#   C )C. C+*C+.C=<C=c           	           ^ RI Hp T ! RRP                  \	        \
        T4      4      4       R#   \         d     R# i ; i)r   )_GDBM_VERSIONNzgdbm.GDBM_VERSION.)_gdbmr  r  rz   r   r   )r-   r  s   & r
   collect_gdbmr  T  s;    '  #((3sM+B"CD     0 ??c           	           ^ RI Hp T! 4       p\        T4       F=  pY#,          p\        T4       F#  pT ! T: RT: R2\	        YE,          4      4       K%  	  K?  	  R#   \         d     R# i ; i)r   )get_configsN[ro   )r  r  r  r   repr)r-   r  all_configsconfig_typeconfigr   s   &     r
   collect_get_configr  ]  sb    1 -Kk*)&>Cc2D4EF " +	  s   A A,+A,c                 (    ^ RI p\        WRR4       R# )r   Nzsubprocess.%s)_USE_POSIX_SPAWN)r(  r3   )r-   r(  s   & r
   collect_subprocessr
  k  s    H/;PQr   c                     \         P                  R 8w  d   R#  ^ RIp\        VR4      '       g   \        h VP                  R4      pVP                  p VP                  pW4n        RVn	        \        V! 4       4      pV ! RV4       VP                  P                  pVP                  pW7n        RVn	        V ! RV! 4       4        ^ RIpVP!                  \         P"                  4      p	V ! RV	4       ^ RIp
 V
P'                  . ROV
P(                  V
P(                  RR	R
7      pVP+                  4       w  rVP,                  '       d   RpVP/                  4        F  pVP1                  4       pVP3                  R4      '       d5   VP5                  R4      P1                  4       pV'       d   V ! RV4       K\  K^  VP3                  R4      '       g   Kw  VP5                  R4      P1                  4       pV'       g   K  V ! RV4       K  	   V
P'                  R.R	V
P(                  V
P(                  R	R7      pVP+                  4       ^ ,          pVP,                  R8X  d   R# VP,                  '       d   RpVP1                  4       pVP/                  4       ^ ,          pV'       d
   V ! RV4       ^ RIp TP;                  TP<                  R4      pRp TP?                  TT4      w  ppTPA                  T4        T ! RT'       d   RMR4       R#   \         d    Rp ELi ; i  \         d     ELei ; i  \        \        3 d     ELPi ; i  \6         d     ELNi ; i  \6         d     R# i ; i  TPA                  T4       i ; i  \6         d     R# i ; i)win32NWinDLLntdllz<function not available>zwindows.RtlAreLongPathsEnabledzwindows.is_adminzwindows.dll_pathoemT)rc   rd   rB   r	   r  zCaption=zwindows.version_captionzVersion=zwindows.versionver)shellrc   rd   r	   l   B   zwindows.verz8SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock!AllowDevelopmentWithoutDevLicensezwindows.developer_modeenableddisabled )wmicr   getzCaption,Versionz/value)!re   rW   ctypesrg   r  r  c_ubyteRtlAreLongPathsEnabledrestypeargtypesr|   r6   windllshell32IsUserAnAdmin_winapiGetModuleFileName	dllhandler(  r)  r*  r+  r,  r-  r   r  removeprefixr   winregOpenKeyHKEY_LOCAL_MACHINEQueryValueExCloseKey)r-   r  r  BOOLEANr  resr  r  r   dll_pathr(  r.  outputrd   liner$  r   subkeyr   
value_types   &                   r
   collect_windowsr0  p  sJ   
||w6vx(( )
 g&..	1%*%A%A" .5*.0"+-/0C137--''-- '!##]_5,,S]];#X.
 6  R'1'1).%)	   +
 ))+???F %%'D::<Dz**((4::<6= ,,((4::<4.5 (*t'1'1%)   + !!#A&??j(???F   "1%]D) Onn%%GI 5	! & 3 3C @E:OOC  	)9:Nc  	-,C	-  2 (    2  $ OOC  s   L L ,L, 5AM AM M ,M +M> 
M( M> LLL)(L),M MMMM%$M%(M;;M> >NNc                 D    ^ RI pVe   \        V RVR4        \        RRR7      ;_uu_ 4       pVP	                  4       P                  4       pRRR4       X'       d   V ! RV4       R# R#   \         d    Rp Lsi ; i  + '       g   i     L8; i  \         d     R# i ; i)r   Nzfips.openssl_fips_modeget_fips_modez/proc/sys/crypto/fips_enabledzutf-8)rB   zfips.linux_crypto_fips_enabled)_hashlibr  r=   openr  rstripr   )r-   r3  fpr-  s   &   r
   collect_fipsr7    s     (4hP1GDD;;='')D E 5t<    ED
  s?   A* B A=B 	B *A:9A:=B	B BBc                 <    ^ RI pV ! RVP                  4       4       R# )r   Nztempfile.gettempdir)tempfile
gettempdir)r-   r9  s   & r
   collect_tempfiler;    s    "H$7$7$9:r   c                      ^ RI Hp T ! RRP                  TP	                  4       4      4       R#   \         d     R# i ; i)r   )utilsNzlibregrtests.build_infor   )test.libregrtestr=  r  rz   get_build_info)r-   r=  s   & r
   collect_libregrtest_utilsr@    s=    * &1E1E1G(HI  r  c                 0   R pV P                   p. \        N\        N\        N\        N\
        N\        N\        N\        N\        N\        N\        N\        N\        N\        N\        N\         N\"        N\$        N\&        N\(        N\*        N\,        N\.        N\0        N\2        N\4        N\6        N\8        N\:        N\<        N\>        N\@        N\B        N\D        N\F        N\H        N F  p V! V4       K  	  V#   \J         d    Rp\M        RTPN                  ,          \P        PR                  R7       \T        PV                  ! \P        PR                  R7       \M        \P        PR                  R7       \P        PR                  PY                  4         K  i ; i)FTzERROR: %s() failedfile)-r   r   r   r  rN  rR  r  r  r7  r/  r  r  r   r  r   r  r!  r  r  r  r  r
  rl   rx  r  r  r;  rJ  r9  r0  r  r@  r  r  r  r  r  	Exceptionprintr#   re   rd   	traceback	print_excflush)r   errorr-   collect_funcs   &   r
   collect_inforK    s   ExxH+ 		+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+  	!+" 	#+$ 	%+& 	'+( 	)+* 	++, 	-+. 	/+0 	1+2 	3+4 	5+6 	7+8 	9+: 	!;+< 	=+> 	?+@ 	A+B 	C+D 	E+F 	"G+L 	M+N 	O+P 	"Q+R 	&S+T 	)U+X	"[+l L  	E&,*?*?@zz#SZZ0szz"JJ	s   -C;;BFFc                    R p\        V4       \        R\        V4      ,          4       \        4        V P                  4       p\        VP	                  4       4      pV F)  w  rEVP                  RR4      p\        V: RV: 24       K+  	  R# )zPython debug information=
r   z: N)rE  lenr!   r   r    replace)r   rC  titleinfosr   r   s   &&    r
   	dump_inforS  5  si    &E	%L	#E

	GNNE5;;=!E
dC(#u%& r   c                      \        4       p \        V 4      p\        V 4       V'       d>   \        4        \        R \        P
                  R7       \        P                  ! ^4       R# R# )z"Collection failed: exit with errorrB  N)r   rK  rS  rE  re   rd   exit)r   rI  s     r
   mainrV  B  sA    <DEdO2D r   __main__r   )2r   r   re   rF  rG  r   r   r3   r9   r=   rl   r   r   r   r   r  r  r!  r/  r9  rJ  rN  rR  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r0  r7  r;  r@  rK  rS  rV  r#   r  r   r
   <module>rX     s8    	 
  E E:d 4 GKT%MP9L
&L.^,69:%(8&H6M?@(F22j. A;=CBRF
I/>6 :&	[ !FEGR
cOL&;J:z
' zF r   