python (3.12.0)

(root)/
lib/
python3.12/
multiprocessing/
__pycache__/
connection.cpython-312.pyc

̑egdZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZm
Z
ddlmZej Z	ddlZddlmZmZmZmZd	Zd
Zej6ZdZdgZeedrdZedgz
Zej0dk(rd
Zed
gz
ZefdZ dZ!dZ"dZ#dZ$GddZ%erGdde%Z&Gdde%Z'Gdde(Z)dEdZ*ej0dk7rdFdZ+ndFdZ+Gdde(Z,d Z-ej0dk(rGd!d"e(Z.d#Z/d$Z0d%Z1d&Z2d'Z3e4hd(Z5e6d)e5DZ7d*Z8d+Z9e8e9fZ:d,e;d-e<e;ffd.Z=d/Z>d0Z?dGd1e;fd2Z@d1e;fd3ZAGd4d5e(ZBd6ZCd7ZDGd8d9e)ZEd:ZFej0dk(r d;ZGejejhZJdHd<ZKn*ddlLZLeeLd=r
eLjZNneLjZNdHd>ZKej0dk(r3d?ZPd@ZQeje'ePdAZSdBZTeje&eSydCZPdDZQeje'ePy#e$rej0dk(rdZYwxYw)I)ClientListenerPipewaitN)util)AuthenticationErrorBufferTooShort)	reduction)
WAIT_OBJECT_0WAIT_ABANDONED_0WAIT_TIMEOUTINFINITEwin32i g4@AF_INETAF_UNIXAF_PIPEc0tj|zSNtime	monotonic)timeouts N/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/connection.py
_init_timeoutr;s>>g%%c0tj|kDSrr)ts r_check_timeoutr>s>>arc|dk(ry|dk(r)tjdtjS|dk(r;tjdt	j
t
tfzdStd	)
z?
    Return an arbitrary free address for the given family
    r)	localhostrrz	listener-)prefixdirrz\\.\pipe\pyc-%d-%d-zunrecognized family)	tempfilemktemprget_temp_dirosgetpidnext
_mmap_counter
ValueErrorfamilys rarbitrary_addressr/Esy	9	kt7H7H7JKK	9	&< "		T--@A'BGIK	K.//rctjdk7r|dk(rtd|ztjdk(r%|dk(rtt|std|zyyy)zD
    Checks if the family is valid for the current environment.
    rrzFamily %s is not recognized.rN)sysplatformr,hasattrsocketr-s r_validate_familyr5Ssc||w6Y#67&@AA
||w6Y#6vv&;fDEE'$7rct|tk(ryt|tur|jdryt|tust	j
|ryt
d|z)z]
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    rz\\rrzaddress type of %r unrecognized)typetuplestr
startswithris_abstract_socket_namespacer,)addresss raddress_typer=_s\G}	
g#	'"4"4V"<	
g#	!B!B7!K:WDEErceZdZdZddZdZdZdZdZdZ	e
dZe
d	Ze
d
Z
dZdZdd
ZdZddZddZdZddZdZdZy)_ConnectionBaseNc|j}|dkrtd|s
|std||_||_||_y)Nrzinvalid handlez6at least one of `readable` and `writable` must be True)	__index__r,_handle	_readable	_writable)selfhandlereadablewritables    r__init__z_ConnectionBase.__init__usO!!#A:-..HJ
J!!rc>|j|jyyrrB_closerEs r__del__z_ConnectionBase.__del__s<<#KKM$rc2|jtdy)Nzhandle is closed)rBOSErrorrMs r
_check_closedz_ConnectionBase._check_closeds<<,-- rc2|jstdy)Nzconnection is write-only)rCrPrMs r_check_readablez_ConnectionBase._check_readables~~455rc2|jstdy)Nzconnection is read-only)rDrPrMs r_check_writablez_ConnectionBase._check_writables~~344rct|jrd|_td|jtd)NFzbad message length)rDrCcloserPrMs r_bad_message_lengthz#_ConnectionBase._bad_message_lengths5>>"DN*++
JJL*++rc|jduS)z True if the connection is closedNrBrMs rclosedz_ConnectionBase.closeds||t##rc|jS)z"True if the connection is readable)rCrMs rrGz_ConnectionBase.readable~~rc|jS)z"True if the connection is writable)rDrMs rrHz_ConnectionBase.writabler]rc:|j|jS)z+File descriptor or handle of the connection)rQrBrMs rfilenoz_ConnectionBase.filenos||rcf|j	|jd|_yy#d|_wxYw)zClose the connectionNrKrMs rrWz_ConnectionBase.closes1<<#
$
#	$ $s'	0cv|j|jt|}|jdkDr|j	d}|j
}|dkrt
d||krt
d|||z
}n#|dkrt
d||z|kDrt
d|j||||zy)	z,Send the bytes data from a bytes-like objectrBrzoffset is negativezbuffer length < offsetNzsize is negativezbuffer length < offset + size)rQrU
memoryviewitemsizecastnbytesr,_send_bytes)rEbufoffsetsizemns      r
send_bytesz_ConnectionBase.send_bytesssO::>sA
HHA:122v:566<v:D
AX/00
d]Q
<==6&4-01rc|j|j|jtj	|y)zSend a (picklable) objectN)rQrUrh_ForkingPicklerdumpsrEobjs  rsendz_ConnectionBase.sends3..s34rc|j|j||dkrtd|j|}||j	|jS)z7
        Receive bytes data as a bytes object.
        rznegative maxlength)rQrSr,_recv_bytesrXgetvalue)rE	maxlengthris   r
recv_bytesz_ConnectionBase.recv_bytessa	
 Y]122y);$$&||~rc|j|jt|5}|j}|t	|z}|dkrtd||kDrtd|j
}|j}|||zkrt|j|jd|j|||z||z|z|cdddS#1swYyxYw)zq
        Receive bytes data into a writeable bytes-like object.
        Return the number of bytes read.
        rznegative offsetzoffset too largeN)rQrSrdrelenr,rvtellr
rwseekreadinto)rErirjrlrebytesizeresultrks        rrecv_bytes_intoz_ConnectionBase.recv_bytes_intos
	

_	zzH#a&(Hz !233(" !344%%'F;;=D&4-'$V__%677KKNOOAf0%}9;
<!			sB+C!!C*c|j|j|j}tj	|jS)zReceive a (picklable) object)rQrSrvrploads	getbuffer)rEris  rrecvz_ConnectionBase.recvs? $$S]]_55rcd|j|j|j|S)z/Whether there is any input available to be read)rQrS_pollrErs  rpollz_ConnectionBase.polls)zz'""rc|SrrMs r	__enter__z_ConnectionBase.__enter__rc$|jyrrWrEexc_type	exc_valueexc_tbs    r__exit__z_ConnectionBase.__exit__

r)TT)rNr)r)g)__name__
__module____qualname__rBrIrNrQrSrUrXpropertyr[rGrHr`rWrnrtryrrrrrrrrr?r?rsG	".65,$$
$2(526#rr?cLeZdZdZdZejfdZdZd	dZ	dZ
dZy)
PipeConnectionz
        Connection class based on a Windows named pipe.
        Overlapped I/O is used, so the handles must have been created
        with FILE_FLAG_OVERLAPPED.
        Fc(||jyrrZ)rE_CloseHandles  rrLzPipeConnection._closes&rctj|j|d\}}	|tjk(r1tj|j
gdt}|tk(sJ|jd\}}|dk(sJ|t|k(sJy#|jxYw#|jd\}}wxYw)NT
overlappedFr)_winapi	WriteFilerBERROR_IO_PENDINGWaitForMultipleObjectseventrrcancelGetOverlappedResultr{)rErioverrwaitresnwrittens      rrhzPipeConnection._send_bytess''cdKGB	
='222%<<
E85G"m33
!# 6 6t <
#!8Os3x'''

		 " 6 6t <
#sABB**B--CNc|jrd|_tjS|dnt|d}	t	j
|j|d\}}	|tjk(r1t	j|jgdt}|tk(sJ|jd\}}|dk(r5tj}|j|j|S|tj k(r|j#||S	t-d#|jxYw#|jd\}}|dk(r9tj}|j|j|ccYS|tj k(r|j#||ccYSwxYw#t$$r)}|j&tj(k(rt*d}~wwxYw)NFTrrz.shouldn't get here; expected KeyboardInterrupt)_got_empty_messageioBytesIOminrReadFilerBrrrrrrrwriterERROR_MORE_DATA_get_more_datarPwinerrorERROR_BROKEN_PIPEEOFErrorRuntimeError)	rEmaxsizebsizerrrnreadfes	         rrvzPipeConnection._recv_bytes%s&&*/'zz|#&C4E%..t||U;?AGBD'":"::&-&D&D!#
E8'=G#*m#;;
&(%;%;D%A
s!8 "

AGGBLLN3#$H G$;$;;#'#6#6r7#CC<OPP!		%'%;%;D%A
s!8 "

AGGBLLN3#$H G$;$;;#'#6#6r7#CC<zzW%>%>>&	s\%F8AD"#A
F81$F8"D55D88AF5	F8'F52F84F55F88	G*$G%%G*c|js%tj|jddk7ryt	t|g|S)NrT)rr
PeekNamedPiperBboolrrs  rrzPipeConnection._pollEs>''--dll;A>!CdVW-..rc|j}tj}|j|t	j
|jd}|dkDsJ|!t||z|kDr|jt	j|j|d\}}|jd\}}|dk(sJ||k(sJ|j|j|S)NrrTr)rrrrrrrBr{rXrr)rErrrirleftrrbytess        rrzPipeConnection._get_more_dataKs,,.C

A
GGCL((6q9D!8O"s3x$'@((*&&t||TdKGB006KFC!8OT>!
GGBLLN#Hrr)rrr__doc__rrCloseHandlerLrhrvrrrrrrrs3	
#&-&9&9	'
	(	Q@	/
	rrceZdZdZer(ejfdZejZ	ejZn'ejfdZejZ	ejZe	fdZefdZdZd
dZd	Zy)
Connectionzo
    Connection class based on an arbitrary file descriptor (Unix only), or
    a socket handle (Windows).
    c(||jyrrZrErLs  rrLzConnection._closeb4<< rc(||jyrrZrs  rrLzConnection._closegrrcbt|}	||j|}||z}|dk(ry||d}$Nr)r{rB)rErir	remainingrms     r_sendzConnection._sendlsAH	dllC(ANIA~ab'Crctj}|j}|}|dkDrK|||}t|}|dk(r||k(rttd|j
|||z}|dkDrK|S)Nrzgot end of file during message)rrrBr{rrPr)rErkreadrirFrchunkrms        r_recvzConnection._recvus|jjl	!m+EE
AAv$"N!"BCCIIeNI!m
rct|}|dkDr`tjdd}tjd|}|j||j||j|ytjd|}|dkDr#|j||j|y|j||zy)Ni!i!Qi@)r{structpackr)rErirm
pre_headerheaders     rrhzConnection._send_bytessHz>T2.J[[q)FJJz"JJvJJsO[[q)F5y

6"

3

6C<(rNc|jd}tjd|j\}|dk(r7|jd}tjd|j\}|||kDry|j|S)Nrrr)rrunpackrw)rErrirks    rrvzConnection._recv_bytessqjjm

dCLLN32:**Q-CMM$7ED4'>zz$rc2t|g|}t|Sr)rr)rErrs   rrzConnection._polls$!Awrr)rrrrr_multiprocessingclosesocketrLrt_writer_readr(rWrrrrrhrvrrrrrr[so
 0 < <	!!&& %% "	!% % ). rrcPeZdZdZd
dZdZdZedZedZ	dZ
d	Zy)rz
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    Nc|xs|xrt|xst}|xst|}t||dk(rt	|||_nt
||||_|t|tstd||_
y)Nrauthkey should be a byte string)r=default_familyr/r5PipeListener	_listenerSocketListener
isinstancebytes	TypeError_authkey)rEr<r.backlogauthkeys     rrIzListener.__init__s#G=W(=#"	6.v6 Y)'7;DN+GVWEDNz'5'A=>>
rc|jtd|jj}|jr,t	||jt||j|S)zz
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        zlistener is closed)rrPacceptrdeliver_challengeanswer_challenge)rEcs  rrzListener.acceptsT>>!.//NN!!#==a/Q

.rcP|j}|d|_|jyy)zA
        Close the bound socket or named pipe of `self`.
        N)rrW)rElisteners  rrWzListener.closes)>>!DNNN rc.|jjSr)r_addressrMs rr<zListener.addresss~~&&&rc.|jjSr)r_last_acceptedrMs r
last_acceptedzListener.last_accepteds~~,,,rc|SrrrMs rrzListener.__enter__rrc$|jyrrrs    rrzListener.__exit__rr)NNrN)rrrrrIrrWrr<rrrrrrrrsH  ''--rrc|xst|}t||dk(rt|}nt|}|t	|t
st
d|t||t|||S)z=
    Returns a connection to the address of a `Listener`
    rr)	r=r5
PipeClientSocketClientrrrrr)r<r.rrs    rrrsq
,|G,FV
w!:gu#=9::G$!W%HrcN|rotj\}}|jd|jdt|j	}t|j	}||fStj\}}t|d}t|d}||fS)L
        Returns pair of connection objects at either end of a pipe
        TFrHrG)r4
socketpairsetblockingrdetachr(pipe)duplexs1s2c1c2fd1fd2s       rrrs&&(FBNN4 NN4 BIIK(BBIIK(B2v
	wwyHCC%0BC%0B2v
rc
td}|r>tj}tjtjz}t
t
}}n(tj}tj}dt
}}tj||tjztjztjtjztjzd||tjtj}tj||dtjtj tjtj}tj"|tjddtj$|d}|j'd\}	}
|
dk(sJt)||}t)||}||fS)	rrrrNTrrr)r/rPIPE_ACCESS_DUPLEXGENERIC_READ
GENERIC_WRITEBUFSIZEPIPE_ACCESS_INBOUNDCreateNamedPipeFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCEPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE	PIPE_WAITNMPWAIT_WAIT_FOREVERNULL
CreateFile
OPEN_EXISTINGSetNamedPipeHandleStateConnectNamedPiperr)
r
r<openmodeaccessobsizeibsizeh1h2r_rrrs
             rrrsg$I.11H))G,A,AAF$gFF22H**FFF

$
$X < <<112%%(E(EE

vvw;;LL

VQg.C.C((',,	''--tT	--bTB
//53ax
B
0
B
02v
rc$eZdZdZddZdZdZy)rzO
    Representation of a socket which is bound to an address and listening
    ctjtt||_	tjdk(r9|jjtjtjd|jjd|jj||jj||jj|_||_d|_|dk(rCt#j$|s.t#j&|tj(|fd|_yd|_y#t$r|jjwxYw)NposixrTrrargsexitpriority)r4getattr_socketr(name
setsockopt
SOL_SOCKETSO_REUSEADDRr
bindlistengetsocknamerrPrW_familyrrr;Finalizeunlink_unlink)rEr<r.rs    rrIzSocketListener.__init__Fs}}WVV%<=	ww'!''(9(9(.(;(;Q@LL$$T*LLg&LL( LL446DM"Yt'H'H'Q==biiwjqDL DL	LL 	sB<E%E)c|jj\}|_|jdt	|jS)NT)r4rrr
rrrEss  rrzSocketListener.accept_s9!%!4!4!64	

d!((*%%rc	|jj|j}|d|_|yy#|j}|d|_|wwxYwr)r4rWr?)rEr>s  rrWzSocketListener.closeds[	LL \\F!#"\\F!#"s	:AN)r)rrrrrIrrWrrrrrBs 2&
rrct|}tjtt|5}|jd|j	|t|j
cdddS#1swYyxYw)zO
    Return a connection object connected to the socket given by `address`
    TN)r=r4r3r
connectrr)r<r.rBs   rrrns^'
"F	/	1&Q	

d			'!((*%&&&s;A44A=c6eZdZdZddZddZdZedZy)	rz0
        Representation of a named pipe
        Nc||_|jdg|_d|_t	j
d|jt	j|tj|j|jfd|_	y)NT)firstz listener created with address=%rrr0)
r_new_handle
_handle_queuerr	sub_debugr=r_finalize_pipe_listenerrW)rEr<rs   rrIzPipeListener.__init__sl#DM"&"2"2"2">!?D"&DNN=t}}Ml::(($--8qDJrc
~tjtjz}|r|tjz}tj|j
|tjtjztjztjtttjtjSr)
rrrrrrrrrPIPE_UNLIMITED_INSTANCESrr r!)rErHflagss   rrIzPipeListener._new_handles..1M1MME>>>**

u))G,I,II!!"00'7,,gll
rch|jj|j|jjd}	t	j
|d}	t	j|jgdt}	|jd\}}|dk(sJt|S#|jt	j|xYw#|jd\}}|dk(sJwxYw#t$r2}|jtjk7rYd}~t|Sd}~wwxYw)NrTrF)rJappendrIpoprr%rrrrrrrPr
ERROR_NO_DATAr)rErFrresr,rrs       rrzPipeListener.accepts%%d&6&6&89''++A.F
$--fF	$!88
E85C 33D9FAs!8O!&))IIK''/33D9FAs!8O8
::!6!667"&))!
s0C6&B++(CCC36	D1?D,,D1chtjd||D]}tj|y)Nz closing listener with address=%r)rrKrr)queuer<rFs   rrLz$PipeListener._finalize_pipe_listeners.NN=wG
,##F+
,rr)F)	rrrrrIrIrstaticmethodrLrrrrr~s*			
		*.
	,
	,rrc	.t}		tj|dtj|tjtj
zdtjtjtjtj}	tj|tjddt!|S#t$rB}|jtjtjfvst|rYd}~nd}~wwxYw)zU
        Return a connection object connected to the pipe given by `address`
        rN)rr
WaitNamedPiper"rrr!r#rrPrERROR_SEM_TIMEOUTERROR_PIPE_BUSYrr$rr)r<rhrs    rrrs
O
%%gt4&&W11G4I4IIw||W%:%:00',,	''
w,,dD	a  
::g&?&?&-&=&=&??BPQRBSCT
sBC	D8D

D(s#CHALLENGE#s	#WELCOME#s	#FAILURE#>md5sha256sha384sha3_256sha3_384c#2K|]}t|ywr)r{).0r,s  r	<genexpr>rf4s7c!f7smessagereturnct|tvrd|fS|jdrG|jddtdzx}dkDr(|d|}|t
vr||dzd}|j
d|fStd	|)
aReturns a digest name and the payload for a response hash.

    If a legacy protocol is detected based on the message length
    or contents the digest name returned will be empty to indicate
    legacy mode where MD5 and no digest prefix should be sent.
    r${}rrNasciizRunsupported message length, missing digest prefix, or unsupported digest: message=)r{_LEGACY_LENGTHSr:find_MAX_DIGEST_LEN_ALLOWED_DIGESTSdecoder	)ricurlydigestpayloads    r_get_digest_name_and_payloadrx?s7|&
7{4 ,,tQ(9:	:a?5!%%eAgh'G==)722

/&-Z
122rcddl}t|d}|s"	|j||djS|j|||j}d|jd|fzS#t$rd}YDwxYw)aCreate a MAC based on authkey and message

    The MAC algorithm defaults to HMAC-MD5, unless MD5 is not available or
    the message has a '{digest_name}' prefix. For legacy HMAC-MD5, the response
    is the raw MAC, otherwise the response is prefixed with '{digest_name}',
    e.g. b'{sha256}abcdefg...'

    Note: The MAC protects the entire message including the digest_name prefix.
    rNmd5sha256{%s}%sro)hmacrxnewrvr,encode)rrir}digest_nameresponses     r_create_responserYs.w7:K	#88GWe4;;==xx+6==?H**73X>>>	##K		#s A..A<;A<c
dddl}t|\}}|xsd}	|j|||j}t
|t
|k7r&td|dt
|dt
||j||std	y#t$rtd|dwxYw)
a`Verify MAC challenge

    If our message did not include a digest_name prefix, the client is allowed
    to select a stronger digest_name from _ALLOWED_DIGESTS.

    In case our message is prefixed, a client cannot downgrade to a weaker
    algorithm, because the MAC is calculated over the entire message
    including the '{digest_name}' prefix.
    rNrzzresponse_digest=z unsupportedz	expected z of length z got zdigest received was wrong)r}rxr~rvr,r	r{compare_digest)rrirr}response_digestresponse_macexpecteds       r_verify_challengerus$@$J!O\%.OE88GWo>EEG8}L))!O.k#h-I<()+,	,x6!"=>>7
E!%5_$6l"CDDEs!BB/rct|ts#tdjt	|t
tkDsJdtjt
}d|jd|fz}|jt|z|jd}	t||||jty#t$r|jt wxYw)N Authkey must be bytes, not {0!s}zprotocol constraintr|ro)rrr,formatr7MESSAGE_LENGTH_MD5ONLY_MESSAGE_LENGTHr(urandomrrn
_CHALLENGEryr_WELCOMEr	_FAILURE)
connectionrrrirs     rrrsgu%.55d7mDF	F33J5JJjj(G;--g6@@G*w./$$S)H('7H5
	h'	h'
s!
C C$ct|ts#tdjt	||jd}|j
tstd||ttd}t|tkrtdt||}|j||jd}|tk7rtdy)Nrrz,Protocol error, expected challenge: message=z)challenge too short: {len(message)} byteszdigest sent was rejected)rrr,rr7ryr:rr	r{rrrnr)rrrirvrs     rrrsgu%.55d7mDF	F##C(Gj)!?wjAC	Cc*o&'G
7|--!"MNN
gw
/F&!$$S)H8!"<==rceZdZdZdZdZy)ConnectionWrappercn||_||_||_dD]}t||}t	|||y)N)r`rWrryrn)_conn_dumps_loadsr3setattr)rEconnrqrattrrss      rrIzConnectionWrapper.__init__s>
K	%D$%CD$$	%rc\|j|}|jj|yr)rrrn)rErsrBs   rrtzConnectionWrapper.sends"KK

a rcX|jj}|j|Sr)rryrrAs  rrzConnectionWrapper.recvs"JJ!!#{{1~rN)rrrrIrtrrrrrrs%!rrcTtj|fddddjdS)Nrutf-8)	xmlrpclibrqr)rss r
_xml_dumpsrs&??C64tQ7>>wGGrcXtj|jd\\}}|S)Nr)rrrt)rBrsmethods   r
_xml_loadsrs$__QXXg%67NFSFJrceZdZdZy)XmlListenercbddlmatj	|}t|ttSr)
xmlrpc.clientclientrrrrrrrrs  rrzXmlListener.accepts")ood# j*==rN)rrrrrrrrrs>rrcJddlmatt	|i|t
tSr)rrrrrrr)r1kwdss  r	XmlClientrs%VT2T2J
KKrct|}g}|rtj|d|}|tk(r	|St|cxkrtt|zkr
nn
|tz}nAt|cxkrtt|zkrntd|tz}ntd|j||||dzd}d}|r|S)NFzShould not get hererr)	listrrrrr{r
rrQ)handlesrLreadyrTs     r_exhaustive_waitrs
M00E7CCl"#>
A(>>}$!SD+;c!f+DD##899''"#899LL3 #a%&	AGrcV|t}n|dkrd}nt|dzdz}t|}ig}t}t}	|D]}	t	|d}	tj|dd\}}|t
jk(r!|j|||j<d|rDtjdddk\r*	|jd	\}
}|st!|d
rd|_|j%|d}t+j-|}|D]}|j/|D]e}	|jd\}
}|t
j0k7s,|j}|j%||dk(sRt!|d
s_d|_g	|j3fd|D|Dcgc]	}||vs|c}S#t$r"}	d|	j}}|tvrYd}	~	d}	~	wwxYw#t$r}	|	j}Yd}	~	>d}	~	wwxYw#t&$r||j)<YwxYw#t$r }	|	j}|tvrYd}	~	d}	~	wwxYw#|D]}|j/|D]}	|jd\}
}n+#t$r}	|	j}|tvrYd}	~	nd}	~	wwxYw|t
j0k7sX|j}|j%||dk(s~t!|d
sd|_wxYwcc}w)
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        NrrYg?r`Trn)rnFrc3(K|]	}|ywrr)rer]waithandle_to_objs  rrfzwait.<locals>.<genexpr>AsIa.q1Is)rintrsetr3rrrPr
_ready_errorsrrQrr1getwindowsversionrr3raddAttributeErrorrArkeysrERROR_OPERATION_ABORTEDupdate)object_listrov_list
ready_objects
ready_handlesor`rrrr,rs           @rrrsB?G
q[G'D.3./G;'

6	8 
$$$Q1F
"")"2"268Q"EC
g666r*67)"((3
#"7"7"9"1"="G1)+)?)?)F3$'716J+K7; 4%))!,"#=
$@-->-C-C-EwOM
		

833D9FAs
'999)"((3A!%%a(ax#1&:;37A0
8 	I=II&=a!}*<==_#""&

Cm3!4" $+1&'jj1-&978%akkm49N**C-/0
		

833D9FAs**C-/0'999)"((3A!%%a(ax#1&:;37A0
8">sI4H%G:AI4HAI4I	L&
L&	G?G:4I4:G??I4	H"HI4H""I4%II4II4	I1I,,I14L#J'&L#'	K	0K
	L#
K	L#&%L#L#
L#PollSelectorct5}|D]"}|j|tj$|t	j
|z}	|j
|}|r(|Dcgc]\}}|jc}}cdddS|'t	j
z
}|dkr|cdddSecc}}w#1swYyxYw)rNr)
_WaitSelectorregister	selectors
EVENT_READrrselectfileobj)rrselectorrsdeadlinerkeyeventss        rrrPs_	)"
=!!#y';';<
=">>+g5 0=BCMS&CKKC	)	)*"*T^^-="="Q;#(	)	)D	)	)s$AB8%B2;B8B81B88Cc |j}tj|tjtj5}ddlm}|j|}t||j|jffcdddS#1swYyxYw)Nr)resource_sharer)r`r4fromfdrSOCK_STREAMr$r	DupSocketrebuild_connectionrGrH)rrFrBrdss     rreduce_connectionrlsl
]]66>>63E3E
F	J!) **1-B%DMM4=='II	J	J	Js6BB
cX|j}t|j||Srrr)rrGrHsocks    rrrrs"yy{$++-8<<rc|jrtjnd|jrtjndz}tj|j|}t||j|jffSr)	rGrFILE_GENERIC_READrHFILE_GENERIC_WRITEr	DupHandler`rebuild_pipe_connection)rr'dhs   rreduce_pipe_connectionrws^04

7,,1157--AG

 
 
7&T]]DMM(JJJrc<|j}t|||Sr)rr)rrGrHrFs    rrr|sfh99rctj|j}t||j|j
ffSr)rDupFdr`rrGrH)rdfs  rrrs0
__T[[]
+!B

t}}#EEErc<|j}t|||Srr)rrGrHfds    rrrs
YY["h11r)NN)T)r{r)U__all__rr(r1r4rrr%	itertoolsrr$rr	r
contextrForkingPicklerrprrr
rrImportErrorr2rCONNECTION_TIMEOUTcountr+rfamiliesr3rrr/r5r=r?rrobjectrrrrrrrrrrr	frozensetrsmaxrrr_MD5_DIGEST_LENrprr9rxrrrrrrrrrrrERROR_NETNAME_DELETEDrrrrrSelectSelectorrrrrrrrr<module>rs3		


1**OO	!
;
69NH<<7NH-& 0
F
F&TTnMM`MMh:v:z
*<<7&&X)V)X&<<76,v6,p!>

r@B7&677*O<2%2S%L24?8?2(5(*>%>*

H>(>L<<7(..0M0MNML>`
y.)!..
!00
)6<<7J=Iz#45K
:I~'=>F2Iz#45Q#
||w
Gs
H;;II