python (3.12.0)

(root)/
lib/
python3.12/
__pycache__/
platform.cpython-312.opt-2.pyc

ˑeC	dZdZddlZddlZddlZddlZddlZddlZddddddddd	d	d

ZdZ	dFd
Z
dGdZ		dHdZ	ddl
Z
dZgdZgdZdZdZdZdIdZdZdJdZdZdKdZdZdZdGdZd ZdGd!Zd"d#d$dZej@ddfd%Z!d&Z"Gd'd(Z#d)Z$Gd*d+ejJd,d-Z&da'd.Z(d/Z)d0Z*d1Z+d2Z,d3Z-d4Z.iZ/dLd5Z0d6Z1d7Z2d8Z3d9Z4d:Z5d;Z6d<Z7iZ8dMd=Z9d>Z:da;d?Z<d@Z=e>dAk(r^dBej~vxsdCej~vZ@dDej~vxrdEej~vZAeBe9eAe@ejdyy#e$rdZY(wxYw)Na
    Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
    Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com

    Permission to use, copy, modify, and distribute this software and its
    documentation for any purpose and without fee or royalty is hereby granted,
    provided that the above copyright notice appear in all copies and that
    both that copyright notice and this permission notice appear in
    supporting documentation or portions thereof, including modifications,
    that you make.

    EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO
    THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
    INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE !

z1.0.8N
(2)
devalphaabetabcRCrcplpctjd}g}|j|D])}|dvs	t|d}d}|j||f+|S#t$rt
j
|d}Y8wxYw)Nz([0-9]+|[._+-])z._+-rdr)recompilesplitint
ValueError_ver_stagesgetextend)versioncomponent_reresultvts     </BuggyBox/python/3.12.0/bootstrap/lib/python3.12/platform.py_comparable_versionr#s::01L
F



("F?
*2J
MM1a&!"M
*OOAq)
*sAA98A9cr	|sX	tjd}|jd}t|dk(rt	|S	tj}|s||fStjdtj}t}tjj|}t!|d5}|j#|}	d}
|
t|	kr*d|	vsd	|	vr|j%|	|
}nd}|r|j't|	k(r7|j#|}|r!|	t)|
t|	d
z
d|z}	d}
~|sn|j+D
cgc]}
|
|
j-dn|
c}
\}}}}}}|r|sd}nY|r|d
k7rd
}|}nM||||kDr<|}n9|r7|d
k7r2d}|r|r||||kDr|}|r|t|d|k7r||z}|j'}
|
t|	kr*ddd||fS#t
ttf$rYwxYwcc}
w#1swY||fSxYw)NCS_GNU_LIBC_VERSION)maxsplitsC(__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)rbrslibcsGLIBCilatin1libcglibc)osconfstrrlentupleAttributeErrorrOSErrorsys
executablerrASCIIr#pathrealpathopenreadsearchendmaxgroupsdecode)r5libr	chunksizeverpartslibc_searchVfbinaryposmchunkslibcinitr-glibcversionsothreads	soversions                    r"libc_verrQsi	**23CIIqI)E5zQU|#^^
<**BDF88	MK	A!!*-J	
j$	"1	"CK& H$6&&vs33v;.y)#CS[4-?$@$ABUJFCE%'(m":E%AHe\2w	'>!C*G|_qz1*G'> C 'Qy\AgJ5N"+7CL=>#:g#E")G"3%%'C?CK"F<q
G4		JE%!"F<s1?H
1B'H*H%4BH*
H"!H"%H**H6c		|jd}|r|j|	ttttt
|}dj|dd}|S#t$r|}Y#wxYw)N.)rappendlistmapstrrrjoin)rbuildlstringss    r"
_norm_versionr]sr	

cA	s3C,-hhwr{#GNs'A$$A21A2win32win16dosc		tj|vr|||fSddl}dD]/}	|j||j|jddd}n|||fStjd}|j}|j|}	|	9|	j\}}}|ddk(r|dd}|ddk(r|dd}t|}|||fS#t
|jf$r
}Yd}~d}~wwxYw)	Nr)rBzcommand /c verz
cmd /c verTlocale)stdinstderrtextencodingshellz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])rS)
r4platform
subprocesscheck_outputDEVNULLr3CalledProcessErrorrrstripmatchr>r])
systemreleasersupported_platformsrkcmdinfowhy
ver_outputrIs
          r"_syscmd_verrxs0	||..w''6(	**31;1C1C2<2D2D044<15+7D
(w''-.J
::<DA}#$88: 2;#crlG2;#crlG (7G##3667		s+CC+&C+cddd|}tjdjdj||j	d}d|D}|Dcic]}|d|d	
c}fd
|DScc}w)NWin32_OperatingSystemWin32_Processor)OSCPUzSELECT {} FROM {},c3>K|]}|jdyw)=N)	partition).0is  r"	<genexpr>z_wmi_query.<locals>.<genexpr>Js51akk#&5srr)c3(K|]	}|ywN)rk	dict_datas  r"rz_wmi_query.<locals>.<genexpr>Ls+	!+s)_wmi
exec_queryformatrYr)tablekeysdata
split_datarrs     @r"
_wmi_queryrAs)$
299HHTN 
5;	
65
)34AQqT1Q4Z4	+d++5sA8ctd)Nz
not supported)r3)rs r"rr>s
o&&))rr'rpost11))rriU11)r10)rrTrz8.1)rr)r8)rr'r7)rrrVista))r)iXP64)rr)rXPMedia))rr'rXP)rrr2000)
)rpost2022Server))rri|O
2022Server))rricE
2019Server)r
2016Server)r2012ServerR2)r
2012Server)r2008ServerR2)r
2008Server)r
2003Server)r
2000ServerctdvS)N)IoTUAP
NanoServerWindowsCoreHeadless	IoTEdgeOS)
win32_editionrrr"win32_is_iotrjs?ZZZrc		ddl}	d}|j|j|5}|j|ddcdddS#t$rddl}YMwxYw#1swYnxYw	y#t$rYywxYw#t$rYywxYw)Nr,SOFTWARE\Microsoft\Windows NT\CurrentVersion	EditionId)winregImportError_winreg	OpenKeyExHKEY_LOCAL_MACHINEQueryValueExr3)rcvkeykeys   r"rrms
	%	CE!!&";";UC
@s**3<Q?
@
@	%$	%
@
@
@
		

sPAA&A	A&
AA5AA5A!A&&	A21A25	BBc|	tdddddd\}}}}}t|dk(}|r|dk7r	d	|d
|}nd	|}||||fS#t$rYnwxYw	ddlm}n#t
$r	|||d
fcYSwxYw|}t
|dddk(}	td}tt|jd
\}	}
}n9#t$r-|jxs|dd\}	}
}dj|	|
|}YnwxYw|dd|	|
fk(r<	dj|j}n#t$r|dddk(rd	|ddz}YnwxYw		ddl}n#t
$rddl}YnwxYw	d}
|j#|j$|
5}|j'|dd}dddn#1swYnxYwn#t$rYnwxYw#t
$rYnwxYw||||fS)Nr|VersionProductType	BuildTypeServicePackMajorVersionServicePackMinorVersionr'0SPrSr)getwindowsversionTproduct_typer)rTz{0}.{1}.{2}zSP{}
z
Service Pack rCurrentType)rrr3r4rrgetattrrxrWrrplatform_versionrservice_pack_majorr2rrrrr)rcsdptyperspmajorspminor	is_clientrwinvermajorminorrZrrrs               r"
_win32_verrs6
<F%%
=
8,w&!+	w#~wiq	*Cwi.CUI--

)))UD(()
 F3q8I<-"!#w}}S'9:ue<$55Cue&&ueU;<bqzeU^#	&-- 9 9:C	&3Bx?*SXo	&
	%	%$	%
	CE!!&";";UC
Cs++C?B
C
C
C		

C	))s>A	A
A
AA*)A*0B663C,+C,:DD21D27D<;F)<
E	F)EF)F.F
	F
FF	F&%F&)	F54F5cd}t|||\}}}}|rKttt|j	d|rt
nt}tfd|D|}||||fS)NFrSc34K|]\}}|ks|ywrr)rr r
intversions   r"rzwin32_ver.<locals>.<genexpr>sBda!z/Bs
)rr1rWrr_WIN32_CLIENT_RELEASES_WIN32_SERVER_RELEASESnext)rrrrrrreleasesrs      @r"	win32_verrshI%/e%D"GS%3sGMM#$678
-6)<RBhBGLGS%''rc2d}tjj|sy	ddl}t|d5}|j
|}dddd}d}tjj}|dvrd}|||fS#t$rYywxYw#1swYHxYw)Nz0/System/Library/CoreServices/SystemVersion.plistrr*ProductVersionr$r$r$)ppczPower MacintoshPowerPC)	r.r7existsplistlibrr9loadunamemachine)fnrrFrrrversioninfors       r"_mac_ver_xmlrs	;B
77>>"
b$1
]]1
!"GKhhj  G,,K((sA>B
>	B
	B

Bc*	t}||S|||fSr)r)rrrrrus    r"mac_verrs*>DK((rc`ddlm}	|j|}||S|S#t$r|cYSwxYw)Nr)System)	java.langrgetPropertyr2)namedefaultrvalues    r"
_java_getproprs= ""4(=Ns--c0		ddl}td|}td|}|\}}}td|}td|}td|}|||f}|\}}	}
td|
}
td|}td	|	}	||	|
f}||||fS#t$r	||||fcYSwxYw)
Nrzjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)rrr)rrvendorvminfoosinfojavavm_name
vm_release	vm_vendoros_name
os_versionos_archs           r"java_verr	s	/=&
1FNG4G%+"GZNG4G.	:I0*=J
j)
+F#) GZNG4GNG4G0*=J
j'
)FFFF**!/../sBBBc	|dk(r[|dkr|||fS|jd}|r3	t|d}|dz
}t||d<dj|}|dkrd}n	d}n|dvrd	}|||fS#t$rY!wxYw)
NSunOS5rSrrT6Solarisr_r`Windows)rrrXrYr)rqrrrr[rs     r"system_aliasr!sS=7G++MM#
&AaD		5z!((1+S=FF	%	%
7G##'

sA--	A98A9c	djdtt|D}|jdd}|jdd}|jdd}|jdd}|jdd}|jd	d}|jd
d}|jdd}|jdd
}	|jdd}||k(rn|}|ddk(r|dd}|ddk(r|S)N-c3<K|]}|jywr)ro)rxs  r"rz_platform.<locals>.<genexpr>Qs=a	=s _/\:;"()unknownr$z--ri)rYfilterr0replace)argsrjcleaneds   r"	_platformr$Ks$xx=6#t+<==HS)HS)Hc*HS)HS)HS)HS)HS)H	2.H""4-h	
2,#
CR=2,#
Orct		ddl}	|jS#t$r|cYSwxYw#t$r|cYSwxYwNr)socketrgethostnamer3)rr's  r"_noder)ksN!!##	
s)&&77c	tjj|}tjj|rtjj	tjjtjj
|tj|}tjj|r|Sr)r.r7abspathislinknormpathrYdirnamereadlink)filepaths r"_follow_symlinksr1zswwx(H
''..
"77##GGLL2BKK4IJL
''..
"OrcL	tjdvr|S	ddl}t	|}ttjd}	|jdd|g|j|}|s|S|jdS#t$r|cYSwxYw#t|jf$r|cYSwxYw)	N)rar_r`rC)LC_ALLfilez-b)reenvzlatin-1)
r4rjrkrr1dictr.environrlrmr3rnr?)targetrrkr6outputs     r"_syscmd_filer;s||00f
%Frzz#
&C((&$)?0:0B0B-0)2
==###
Z223s#A8!B	8BB	B#"B#)r$	WindowsPE)r$r)r$MSDOSc	|s&ddl}|jd}t|dzdz}|r
t|d}nd}|sO|tj
k(r<tjtvr"ttj\}}|r|}|r|}||fSd|vrd|vr||fSd|vrd	}nd
|vrd}d|vrd}||fSd
|vrd|vrd}||fSd
}||fSd|vrd}||fSd|vrd}||fS	||fS)NrPbitr$r5z
shared objectz32-bit32bitz64-bit64bitELFPErr<COFFzMS-DOSr=)structcalcsizerXr;r4r5rj_default_architecture)r5bitslinkagerGsizefileoutr
r[s        r"architecturerNsY*s#4!8}u$z2.S^^#<<00(6DAqW}7"g'EW}7	W	
=
!G=G=
7	=

W	
=	
=rc	tdd^}}	gdt|}|r|St
jjddxs t
jjddS#ttf$rYSwxYw#t$rYbwxYw)Nr}Architecture)
x86MIPSAlpharNARMia64NNAMD64NNARM64PROCESSOR_ARCHITEW6432r$PROCESSOR_ARCHITECTURE)rrr
IndexErrorr3r.r8r)archrs  r"_get_machine_win32r\s~6
		$iD


/4	5


/4J'		

s"A<A''A98A9<	BBc.eZdZedZdZdZdZy)
_Processorcht|dtj|j}|xsdS)Nget_r$)rr4rjfrom_subprocess)clsfuncs  r"rz_Processor.gets-sd3<<.133F3FGv|rc	tddd\}}|d|S#t$r+tjj	dtcYSwxYw)Nr}ManufacturerCaption, PROCESSOR_IDENTIFIER)rr3r.r8rr\)manufacturercaptions  r"	get_win32z_Processor.get_win32 sZ	0$.uni$P!L'Yb//	P::>>"8:L:NOO	Ps1A
A
cf	ddl}|jdd\}}|dk\rdSdS#t$rYywxYw)NrzSYI$_CPUrSVAX)vms_libgetsyir)rocsid
cpu_numbers   r"get_OpenVMSz_Processor.get_OpenVMS(sG	; '~~j!<D*(C/7:U:			s$	00c		ddl}	|jddg|jddj	S#t$rYywxYw#t
|jf$rYywxYw)Nrrz-pTutf8)rerfrg)rkrrlrmror3rn)rks r"raz_Processor.from_subprocess1s}			**$!))	+
eg
		667		s 7.A	AAAAN)__name__
__module____qualname__classmethodrrkrsrarrr"r^r^s#0;rr^c|dk(rdS|S)Nrr$r)vals r"_unknown_as_blankr|Ds	!2*s*rcjeZdZ	dZej
dZfdZedZ	dZ
dZdZxZ
S)uname_result)rqnoderrrr	processorc<ttjSr)r|r^rselfs r"rzuname_result.processorXs !122rc^tjt|
|jfSr)	itertoolschainsuper__iter__r)r	__class__s r"rzuname_result.__iter__\s)G
^^
	
rct|jdz
}|j|g|}t||dzk7rd|dt|}t||S)Nr'z	Expected z arguments, got )r0_fields__new__	TypeError)rbiterable
num_fieldsrmsgs     r"_makezuname_result._makebsb%)
S,8,v;*q.(j\)9#f+GCC. 
rct||Sr)r1)rrs  r"__getitem__zuname_result.__getitem__lsT{3rc<ttt|Sr)r0r1iterrs r"__len__zuname_result.__len__os5d$%%rcVtt|dt|jdz
fSNr')r~r1r0rrs r"
__reduce__zuname_result.__reduce__rs'U4[)?#dll*;a*?@@@r)rvrwrxr	functoolscached_propertyrrryrrrr
__classcell__)rs@r"r~r~JsQ
OG33
 &Arr~uname_result_basez#system node release version machinec	ttS	tjx\}}}}}}t|s|dk(rt\}}}}|xs
t}|r|s0t|\}}}|dk(rd}n|dk(r|dk(rd}d|ddk(rd	}nd}|d
vr|s
|dk(rd}nd}d}n.|dd
dk(r&t\}}}	}
d}dj|	}|s|}|dk(r|r|dk(r|}d}|dk(r	|dk(rd}d	}|||||f}ttt|atS#t$r&tj
}t
}dx}x}}d}YwxYw)Nr$rr_zMicrosoft Windowsr	Microsoftz6.0rTrrrB16bitrrJavargOpenVMSr)_uname_cacher.rr2r4rjr)anyrr\rxr	rYr~rWr|)rqrrrrrinfosrrrrrvalss            r"rrys	:<((*D/gw%u:W+4;(GWc55!3!5GG'26':$FGW,,";&7i+?
#GBQK'%G G''W$%G%GF
BQZ6
!.6j+GVVVFii'G 'S.GGI!54'72D%6!=>LCw&((('G	sD+D=<D=c,	tjSr)rrqrrr"rqrqs
7>>rc,	tjSr)rrrrr"rrs7<<rc,	tjSr)rrrrrr"rrrr
7??rc,	tjSr)rrrrr"rrrrc,	tjSr)rrrrr"rrrrc,	tjSr)rrrrr"rrs7rc2	|tj}tj|d}||St	j
dtj}tjjdrWd}|j|}|tdt|z|j\}}}}}	|d}tj}
nd|vrYt	j
d}d}|j|}|tdt|z|j\}}}}d}
nQ|j|}|td	t|z|j\}}}}}
d
}|d}n
|r|dz|z}ttdrtj\}	}}
n)ttd
rtj\}	}}
nd}d}
|j!d}t#|dk(r"|j%ddj'|}||||
|||
f}|t|<|S)NzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?rJythonz&failed to parse Jython sys.version: %sr$PyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %sz'failed to parse CPython sys.version: %sCPythonr_git
_mercurialrSr)r)r4r_sys_version_cacherrrr6rj
startswithrprreprr>hasattrrrrr0rUrY)sys_versionrsys_version_parserrrprbuildno	builddate	buildtimercompilerpypy_sys_version_parserbranchrevisionr[s               r"_sys_versionrs?&kk 
#
#K
6F

	(($||v&"((5=8[!"#
#5:LLN1)YI<<	;	"$**
 #!
'--k:=C!+./0
016.)Y#((5=9[!"#
#lln	9)YI
!C)3IsF!hh68	l	#!nn68	

cA
1v{	
((1+GVXw	8
LF&,{#Mrc	tdSr&rrrr"python_implementationrrs>!rc	tdSrrrrr"python_versionr~s>!rcN	ttdjdS)Nr'rS)r1rrrrr"python_version_tuplers&"((-..rc	tdS)Nr)rrrr"
python_branchrs>!rc	tdS)NrTrrrr"python_revisionrs>!rc	tddS)Nrrrrrr"python_buildrs>!Arc	tdS)Nrrrrr"python_compilerrs>!rc	|	tj||fd}||St\}}}}}}||k(rd}|rt|||\}}}|dk(rt	d}	|	rd}|	}|dk(r.t|\}
}}}
|r
t
||}nt
||||}n|dk(r!t\}}t
||||d||z}nw|dk(r7t\}}}\}}}|s|st
|||}nMt
|||d	|||}n;|r
t
||}n,ttj\}}t
||||||}|t||f<|S)
Nr$DarwinrmacOSrLinuxwithron)_platform_cacherrrrrr$rQr	rNr4r5)aliasedterserrqrrrrrr
macos_releaserelversrrrjlibcnamelibcversionrr rrrrrJrKs                         r"rjrjs"
 
 '5!14
8F

:?6FD'7GY)	#/#I 
	!
F#G
 )' 2T3 1H '3?H	7	 (
+VWgy#%k13
6	7?z41f4w
G ':H '!%!(*g?H 1H(8MD' '!*D';H)1OWe$%Or)z/etc/os-releasez/usr/lib/os-releasecdddd}tjd}tjd}|D]I}|j|}||jd|j	d||j	d<K|S)	Nrlinux)NAMEIDPRETTY_NAMEzA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`])z\1rr)rrrpsubgroup)linesruos_release_lineos_release_unescapelinemos      r"_parse_os_releasersDjjMO**%78

"
"4
(
>%8%<%<rxx(&D&!"Krc^	ted}tD]8}	t|d5}t|adddtjSt	|ddj
ttjS#1swYUxYw#t$r}|j
}Yd}~d}~wwxYw)Nzutf-8)rgzUnable to read files rg)_os_release_cache_os_release_candidatesr9rr3errnorYcopy)r	candidaterFes    r"freedesktop_os_releaser/s /	I
 )g6=!(9!(<%=!!##	'		2H(I'JK

!!##==
 
 s-
B
BB
B
	B

	B,B''B,__main__rz--terse
nonaliasedz--nonaliased)Nr$r$i@)r$)r$r$r$r^)r$r$r$r$)r$rr$)r$r$rrr)FF)D
__copyright____version__collectionsr.rr4rrrr#rQr]rxrrrrrrrrrrrrr	rr$r)r1r;rIr5rNr\r^r|
namedtupler~rrrqrrrrrrrrrrrrrrrrrjrrrrrvargvrrprintexitrrr"<module>rs/r
*		

bR	
B

C	 N`
202#<4$l,
,[$<*|
(),)&	+F&$T@
	 $N
 NNRIX8''T+)AK-/)AXUr
`D
	/H\D6$2z

 
9I$9E388+NNchh4NG	(7E
"#CHHQKW '''sE!!E-,E-