python (3.12.0)

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

̑e
gdZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZmZmZddlmZdd	lmZdd
lmZddlmZ	ddlmZd
Zej1ddZej6ejedDcgc]}eei|c}ZdZeD]Z ej6e e[ [Gdde!Z"difdZ#dZ$Gdde%Z&dZ'dZ(Gdde!Z)Gdde!Z*e
jVe
jXfe
jZe
j\fd Z/Gd!d"e!Z0Gd#d$e1Z2Gd%d&e!Z3d'Z4ifd(Z5		dbd)Z6Gd*d+e!Z7Gd,d-e!Z8dcd.Z9Gd/d0e3Z:Gd1d2e3Z;Gd3d4e;Z<Gd5d6e3Z=Gd7d8e3Z>Gd9d:e3Z?Gd;d<e3Z@e5d=d>ZAGd?d@eAZBe5dAdBZCdCdDieC_De5dEdFZEe5dGdHZFdIdIdIdDdDdJeF_DGdKdGeFZGGdLdMe0ZHeHj7dNejeHj7dOejeHj7dPeje=eHj7dQeje;eHj7dReje;eHj7dSeje;eHj7dTeje;eHj7dUeje<eHj7dVeje>eHj7dWejeGeHj7dXeReBeHj7dYeSeCeHj7d-e8e@eHj7dZe9eEeHj7d+e7e?eHj7dDe:d[eHj7dId\er!Gd]d^ZTGd_d`e)ZUGdade0ZVyy#e$rdZYwxYwcc}w)d)BaseManagerSyncManager	BaseProxyTokenN)getpid)
format_exc)
connection)	reductionget_spawning_popenProcessError)pool)process)util)get_context)
shared_memoryTSharedMemoryManagerFcZtj|j|jffSN)arraytypecodetobytes)as L/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/managers.pyreduce_arrayr/s ;;QYY[111)itemskeysvaluesc&tt|ffSr)listobjs rrebuild_as_listr$4s$s)rc*eZdZ	dZdZdZdZdZy)rtypeidaddressidc0|||c|_|_|_yrr&)selfr'r(r)s    r__init__zToken.__init__Ds06,dlDGrcH|j|j|jfSrr&r+s r__getstate__zToken.__getstate__GsT\\47733rc.|\|_|_|_yrr&r+states  r__setstate__zToken.__setstate__Js/4,dlDGrc|jjd|jd|jd|jdS)Nz(typeid=z
, address=z, id=))	__class____name__r'r(r)r.s r__repr__zToken.__repr__Ms-''dllDGGM	MrN)r7
__module____qualname__	__slots__r,r/r3r8rrrr>s$,IE45Mrrr<cz	|j||||f|j\}}|dk(r|St||)N#RETURN)sendrecvconvert_to_error)cr)
methodnameargskwdskindresults       rdispatchrHUsGFFB
D$'(668LD&y
4
((rc	|dk(r|S|dvrSt|ts%tdj||t	||dk(rtd|zSt|St
dj|S)N#ERROR)
#TRACEBACK#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strrLzUnserializable message: %s
zUnrecognized message type {!r})
isinstancestr	TypeErrorformattypeRemoteError
ValueError)rFrGs  rrArA_sx
	
2	2&#&@GGD$v,01
1$$=FGGv&&:AA$GHHrceZdZdZy)rRc>dt|jdzdzS)NzM
---------------------------------------------------------------------------
rzK---------------------------------------------------------------------------)rNrDr.s r__str__zRemoteError.__str__os$s499Q<'886ABrN)r7r9r:rVr<rrrRrRnsCrrRc~	g}t|D]+}t||}t|s|j|-|Sr)dirgetattrcallableappend)r#tempnamefuncs    rall_methodsr_vsGDCsD!D>KKKrcR	t|Dcgc]
}|ddk7s|c}Scc}w)Nr_)r_)r#r]s  rpublic_methodsrbs,)-@TaCD@@@s
$$ceZdZ	gdZdZdZdZdZdZdZ	dZ
d	Zd
Zeee
dZ
dZd
ZdZdZdZdZdZdZdZy)Server)	shutdowncreateaccept_connectionget_methods
debug_infonumber_of_objectsdummyincrefdecrefczt|ts$tdj|t	|||_t
j||_t|\}}||d|_
|jj|_ddi|_i|_
i|_tj |_y)Nz&Authkey {0!r} is type {1!s}, not bytes)r(backlog0Nr<)rMbytesrOrPrQregistryrAuthenticationStringauthkeylistener_clientlistenerr(	id_to_objid_to_refcountid_to_local_proxy_obj	threadingLockmutex)r+rtr(rv
serializerListenerClients       rr,zServer.__init__s'5)8??T'],-
-!
33G<*:6&!"=
}},,z* %'"^^%
rc	tj|_|tj_	tj|j}d|_|j	|jjs6|jjd|jjs6tjtj k7rGt#j$dtj t_tj&t_tj*dy#ttf$rYwxYw#tjtj k7rGt#j$dtj t_tj&t_tj*dwxYw)N)targetTr	zresetting stdout, stderrr)r|Event
stop_eventrcurrent_process_manager_serverThreadaccepterdaemonstartis_setwaitKeyboardInterrupt
SystemExitsysstdout
__stdout__rdebug
__stderr__stderrexit)r+rs  r
serve_foreverzServer.serve_forevers%	$//+48!1	 ''t}}=H"HONN
//002OO((+//002
zzS^^+

56 ^^
 ^^
HHQK&z2

zzS^^+

56 ^^
 ^^
HHQKs+7E-AD;;E

EE

EA?Gc		|jj}tj|j
|f}d|_|jU#t$rYawxYw)NTrrD)rxacceptOSErrorr|rhandle_requestrr)r+rBts   rrzServer.acceptersa
MM((*  (;(;1$GAAH
GGI

sA	A#"A#cd}	tj||jtj||j|j	}|\}}}}t||}	||g|i|}d|f}		|j|	y#t$rdtf}	Y*wxYw#t$rdtf}	YEwxYw#t$rx}
	|jdtfn#t$rYnwxYwtjd|	tjd|tjd|
Yd}
~
yd}
~
wwxYw)Nr>rKzFailure to send message: %rz ... request was %r ... exception was %r)r
deliver_challengervanswer_challenger@rY	Exceptionrr?rinfo)r+rBrequestignorefuncnamerDrEr^rGmsges           r_handle_requestzServer._handle_requests2	*((DLL9''4<<8ffhG+2(FHdD4*D
*a/$/$/!&)		2
FF3K

3#Z\2
3	/.C	/	2
jl34

II3S9II+W5II-q11	2s[A#B&(B9CB#"B#&B>=B>	EC'&D='	C30D=2C33AD==Ec		|j||jy#t$rYwxYw#|jwxYwr)rrcloser+conns  rrzServer.handle_requestsE		  &

JJL			
JJLs%	1414Ac&	tjdtjj|j
}|j}|j}|jjs	dx}}|}|\}}}	}
	||\}}}||vrtd|dt|d|t||}	||	i|
}|xr|j|d}|r4|j!|||\}}t#||j$|}d||ff}nd|f}			||jjsyy#t$r.}
	|j|\}}}n#t$r|
wxYwYd}
~
d}
~
wwxYw#t&$r}d|f}Yd}~sd}~wwxYw#t$rQ
dt)f}n?	|j*|}|||g	i
}d|f}n#t&$rdt)f}YnwxYwYt,$rKtjd	tjjt/j0d
Y&t&$rdt)f}Y=wxYw#t&$r|dt)fYUwxYw#t&$r}tj2dtjjtj2d
tj2d||j5t/j0dYd}~d}~wwxYw)Nz$starting server thread to service %rzmethod z of z object is not in exposed=#PROXYr>rJrKz$got EOF -- exiting thread serving %rrrLzexception in thread serving %rz ... message was %rrr	)rrr|current_threadr]r@r?ryrrKeyErrorr{AttributeErrorrQrYgetrfrr(rrfallback_mappingEOFErrorrrrr)r+rr@r?ryrCr#ridentrDrEexposed	gettypeidkefunctionresr'ridentrexposedtokenrr
fallback_funcrGs                        rserve_clientzServer.serve_clients		

9++-22	4yyyyNN	//((*5
3#''
S&07-z4!.7.>+C)W,(#T#Y9
#3
3/"D1D1C'J9==T+JF+/;;tVS+I( %fdllF C'(E):;(#..
<Iw//((* !! 66u=0Wi#! !'0!"!(#Q-C("
;%'6C;(,(=(=j(I
!. $s"59"=A" )&1$;+Z\:;


A$335::<
3#Z\2
3!<+Z\:;<
		:!002779		/5		115



s3F	D=-F=E7AFI=	E4EE/E''E/*F/E44F7	FF	F	FFI*"G
I
G%"I$G%%I*AI<III62I95I66I99	LBLLc|Srr<r+rrr#s    rfallback_getvaluezServer.fallback_getvalue?s
rct|SrrNrs    rfallback_strzServer.fallback_strBs3xrct|Sr)reprrs    r
fallback_reprzServer.fallback_reprEsCyr)rVr8	#GETVALUEcyrr<r+rBs  rrkzServer.dummyNsrc
t	|j5g}t|jj}|j	|D]K}|dk7s	|jd|d|j|dt
|j|dddMdj|cdddS#1swYyxYw)Nrqz  z:       refcount=z
    rK
)	r~r!rzrsortr[rNryjoin)r+rBrGrrs     rrizServer.debug_infoQs	ZZ		%F++0023DIIK
HC<MM#($*=*=e*D#&t~~e'<Q'?#@"#E#GH
H
99V$		%		%		%sAB.AB..B7c.	t|jSr)lenrzrs  rrjzServer.number_of_objectsas	4&&''rc		tjd|jd|j
j
y#ddl}|j	Y3xYw#|j
j
wxYw)Nz!manager received shutdown messager>Nr)rrr?	traceback	print_excrset)r+rBrs   rrezServer.shutdownhs_		"JJ:;
FF$%

OO!		"!OO!s&AAAA;c	p	|j5|j|\}}}}|!|st|dk7rtd|d}	n||i|}	|t	|	}|Kt|ts$tdj|t|t|t|z}dt|	z}
tjd||
|	t||f|j|
<|
|j vrd|j |
<ddd|j#|
|
t%fS#1swY(xYw)Nr	z4Without callable, must have one non-keyword argumentrz,Method_to_typeid {0!r}: type {1!s}, not dictz%xz&%r callable returned object with id %r)r~rtrrSrbrMdictrOrPrQr!r)rrrryrzrltuple)r+rBr'rDrErZrmethod_to_typeid	proxytyper#rs           rrfz
Server.createusR	ZZ	/mmF+
;Hg/CIN$NPP1g--(-+!"2D9#FMM,d3C.DFGGw-$/?*@@2c7NEJJ?O%(#g,8H$IDNN5!D///-.##E*7	/:	
AueGn$$=	/	/sC7D,,D5cN	t|j|jdS)Nr	)rryr))r+rBrs   rrhzServer.get_methodss&	T^^EHH-a011rc|	|tj_|jd|j	|y)Nr)r|rr]r?r)r+rBr]s   rrgzServer.accept_connections5	+/	  "'	 !!rcF|j5	|j|xxdz
cc<dddy#t$r\}||jvrBd|j|<|j||j|<tjd|n|Yd}~id}~wwxYw#1swYyxYw)Nr	z&Server re-enabled tracking & INCREF %r)r~rzrr{ryrr)r+rBrrs    rrlz
Server.increfs
ZZ	

##E*a/*		

D66612D''.2259NN5)JJGOHP
		s,B/	BAB
BBBB c	l||jvr%||jvrtjd|y|j5|j|dkr6tdj
||j||j||j|xxdzcc<|j|dk(r
|j|=ddd||jvrHd|j|<tjd||j5|j|=dddyy#1swY`xYw#1swYyxYw)NzServer DECREF skipping %rrz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+r	)Nr<Nzdisposing of obj with id %r)rzr{rrr~AssertionErrorrPry)r+rBrs   rrmz
Server.decrefs0+++T///JJ2E:
ZZ	/""5)Q.$AHHt~~e4++E2455
&!+&""5)Q.''.	/+++%5DNN5!JJ4e<
*NN5)
*
*,	/	/$
*
*sA?DD*D'*D3N)r7r9r:publicr,rrrrrrrrrrkrirjrerfrhrgrlrmr<rrrdrdsNF&$,2<
Ob %

% (""%H2"*rrdceZdZdgZdZdZdZy)Statevaluerr	N)r7r9r:r;INITIALSTARTEDSHUTDOWNr<rrrrs	IGGHrr)pickle	xmlrpclibceZdZ	iZeZ		ddddZdZdZddZ	e
	ddZd	Zdd
Z
dZdZd
ZdZedZedZe
		ddZy)rNg?)shutdown_timeoutcP|tjj}||_tj||_t
|_tj|j_	||_
t|\|_|_
|xs
t|_||_yr)rrrv_addressru_authkeyr_staterr_serializerrw	_Listener_Clientr_ctx_shutdown_timeout)r+r(rvrctxrs      rr,zBaseManager.__init__s~?--/77G
44W=
g!MM%'6z'B$(;=	!1rc	|jjtjk7r|jjtjk(rtd|jjtjk(rtdtdj|jjt|j|j|j|jS)NAlready started serverManager has shut downUnknown state {!r})
rrrrrr
rrPrd	_registryrrrr.s r
get_serverzBaseManager.get_servers	;;

-{{  EMM1"#;<<""enn4"#:;;"(//0A0ABDDdnndmmmmT%5%57	7rc	t|j\}}||j|j}t	|ddt
j|j_y)Nrvrk)	rwrrrrHrrrr)r+rrrs    rconnectzBaseManager.connectsN	+4+;+;<&dmmT]];tW%!MMrc
	|jjtjk7r|jjtjk(rtd|jjtjk(rtdtdj|jj|t|stdtjd\}}|jjt|j|j |j"|j$|j&|||f|_dj+d	|j(j,D}t|j.d
z|z|j(_|j(j3|j5|j7|_|j5tj|j_t9j:|t|j<|j(|j"|j$|j|j>|j@fd|_!y)
Nrrrzinitializer must be a callableF)duplexr:c32K|]}t|ywrr).0is  r	<genexpr>z$BaseManager.start.<locals>.<genexpr>0sAAQAs-rrDexitpriority)"rrrrrr
rrPrZrOr
PiperProcessrQ_run_serverrrrr_processr	_identityr7r]rrr@rFinalize_finalize_managerrrre)r+initializerinitargsreaderwriterrs      rrzBaseManager.starts	;;

-{{  EMM1"#;<<""enn4"#:;;"(//0A0ABDD"8K+@<==$6		)):))..$--""FKC*
A)@)@AA!$Z00C7%?



	

"MM

$t*..--

t{{,, 6 68	
rcV	tjtjtj||||j||||}|j	|j
|j
tjd|j
|jy)Nzmanager serving at %r)
signalSIGINTSIG_IGN_Serverr?r(rrrr)	clsrtr(rvrrrrservers	         rrzBaseManager._run_serverBs		

fmmV^^4""XwD	FNN#	
		)6>>:rc	|j|j|j}	t|dd|f|z|\}}|j	t||j||fS#|j	wxYw)Nrrf)rrrrHrr)r+r'rDrErr)rs       r_createzBaseManager._createYsr	||DMM4==|A	"4x&4NKBJJLVT]]B/88
JJLsA))A;c	|j>|jj||jjsd|_yyyr)rris_aliver+timeouts  rrzBaseManager.joinesF	==$MMw'==))+ $
,%rc	|j|j|j}	t|dd|j	S#|j	wxYw)NrrirrrrHrrs  r_debug_infozBaseManager._debug_infonsG	||DMM4==|A	D$5JJLDJJLAAc	|j|j|j}	t|dd|j	S#|j	wxYw)Nrrjr%rs  r_number_of_objectszBaseManager._number_of_objectsxsH	||DMM4==|A	D$(;<JJLDJJLr'c|jjtjk(r|j	|jjtj
k7r|jjtjk(rt
d|jjtjk(rt
dt
dj|jj|S)NzUnable to start serverrr)	rrrrrrr
rrPr.s r	__enter__zBaseManager.__enter__s;;

-JJL;;

-{{  EMM1"#;<<""enn4"#:;;"(//0A0ABDDrc$|jyr)rer+exc_typeexc_valexc_tbs    r__exit__zBaseManager.__exit__s

rc	|jrtjd	|||}	t|dd|j		|j||jrtjdt|drtjd|j|j||jr7tjd|j|jtj|_	tj|=y#|j	wxYw#t
$rYwxYw#t$rYywxYw)	Nz#sending shutdown message to managerrre)r#zmanager still alive	terminatez'trying to `terminate()` manager processz#manager still alive after terminate)r!rrrHrrrhasattrr3killrrrr_address_to_localr)rr(rvr2rrrs       rrzBaseManager._finalize_managers/	7II;<
w8!T44JJL
GLL!12w!		/07K0IIGH%G%%' GLL)9:'w'')		"GH$$nn	++G4%JJL

$		s:
E
EE/E&EE	E#"E#&	E21E2c|jSr)rr.s rr(zBaseManager.addresss}}rc^	d|jvr|jj|_t|xs
t	dd}|xs
t	dd}|r!t|j
D]\}}|||f|j<|rfd}	|	_t||	yy)Nr	_exposed__method_to_typeid_c(tjd|jg|i|\}}||j||j|}|j|j|j}t|dd|jf|S)Nz)requesting creation of a shared %r objectmanagerrvrrrm)	rrrrrrr(rHr))	r+rDrErexpproxyrrr's	       rr\z"BaseManager.register.<locals>.temps

FO)T\\&@4@4@
s!4++T MM3||EMM4==|ItX{;r)	__dict__rcopy	AutoProxyrYr!rr7setattr)
rr'rZrrr
create_methodkeyrr\s
 ` `      rregisterzBaseManager.registers	cll*MM..0CM!IBWYTB+J"9.BDI	"#3#9#9#;<
H
U
H

g/!

f	
#DMC&r)NNrNrrr)NNNNT)r7r9r:rrdrr,rrrclassmethodrrrr&r)r+r1staticmethodrpropertyr(rFr<rrrrsIG>F2/22
7*)V/1,
9%  DEI6:%'%'rrceZdZdZdZy)ProcessLocalSetc2tj|dy)Nc"|jSr)clearr"s r<lambda>z*ProcessLocalSet.__init__.<locals>.<lambda>s399;r)rregister_after_forkr.s rr,zProcessLocalSet.__init__s  '>?rct|dfSrr)rQr.s r
__reduce__zProcessLocalSet.__reduce__sDz2~rN)r7r9r:r,rRr<rrrKrKs
@rrKceZdZ	iZej
Z		ddZdZdifdZ	dZ
dZedZ
d	Zd
ZdZdZd
Zy)rNctj5tjj|jd}|;tjtf}|tj|j<dddd|_|d|_	||_
|jj|_||_
||_t|d|_||_|t%j&||_nK|j|jj(|_n#t%j*j,|_|r|j/tj0|tj2y#1swYxYw)Nrr	)r_mutexr6rr(rForkAwareLocalrK_tls_idset_tokenr)_id_managerrrwr_owned_by_managerrrurrrv_increfrP_after_fork)	r+rrr=rvrrl
manager_owned	tls_idsets	         rr,zBaseProxy.__init__s6


	G!3377

tLI  //1?3DD	=F	++EMM:		GaL	
 l;;>>
%&z215"/#88ADM
]]
& MM22DM#335==DMLLN  y'<'<=K	G	GsA(E<<Fctjdtjj}tjjdk7r$|dtjjzz
}|j|jj|j}t|dd|f||j_
y)Nzmaking connection to manager
MainThread|rrg)rrrrr]r|rrrYr(rrHrWr
)r+r]rs   r_connectzBaseProxy._connects

12&&(--##%**l:C)2249999D||DKK//|Gt04':#		rr<c		|jj}|j|j|||f|j\}}|dk(r|S|dk(r|\}}|jj|jd}	|jj |_|	||j"|j|j$|}
|j'|j |j$}t)|dd|j*f|
St-||#t$r\tjdtjj|j|jj}YawxYw)Nz#thread %r does not own a connectionr>rr<rrm)rWr
rrrr|rr]rdr?rZr@r[rr'rYr(rrrrHr)rA)r+rCrDrErrFrGrrrr?s           r_callmethodzBaseProxy._callmethod(sA		(99''D	
		488Zt45yy{f9M
X
#NGU

//=bAI KK//EMt''

wE<<

t}}<EDT4EHH;7LtV,,-	(JJ< //166
8MMO99''D		(sDA!E;:E;c&	|jdS)Nrrgr.s r	_getvaluezBaseProxy._getvalueFs	,,rc
|jr+tjd|jjy|j|jj|j}t|dd|jftjd|jj|jj|j|jxr|jj}tj|tj |j|j||j"|j|j
fd|_y)Nz%owned_by_manager skipped INCREF of %rrrlz	INCREF %r
r
)r\rrrYr)rr(rrHrZrXaddr[rrr_decrefrW_close)r+rr2s   rr]zBaseProxy._increfLs!!JJ>O||DKK//|GtX{3

;/!

6$--"6"6mm)##++t}}e))T[[$,,8	rcj|j|j||jtjk(rO	tjd|j||j|}t|dd|jfn tjd|j|s\t|drOtjdtjj|jj|`yyy#t$r }tjd|Yd}~d}~wwxYw)Nz	DECREF %rrrmz... decref failed %sz%DECREF %r -- manager already shutdownr
z-thread %r has no more proxies so closing conn)discardr)rrrrrr(rHrr4r|rr]r
r)rrvr2tlsidsetrrrs        rrnzBaseProxy._decref`s


ehh=EKK5==8
6

;1u}}g>tX{;

JJ>Il3JJF //166
8NN  "	4u
6

1155
6sA
D			D2D--D2cd|_	|jy#t$r"}tjd|zYd}~yd}~wwxYw)Nzincref failed: %s)r[r]rrr)r+rs  rr^zBaseProxy._after_forkys<
	/LLN	/II)A-..	/s	AAAc
i}t|j|d<t|ddr3|j|d<tt
|j|j|ffStt||j|j|ffS)Nrv_isautoFr)	rrrYr9RebuildProxyrBrYrrQr+rEs  rrRzBaseProxy.__reduce__s+"mmDO4E*"nnDO T-=-=tDF
F!$Zd.>.>EG
Grc"|jSr)rj)r+memos  r__deepcopy__zBaseProxy.__deepcopy__s~~rcrdt|j|jjt	|fzS)Nz<%s object, typeid %r at %#x>)rQr7rYr'r)r.s rr8zBaseProxy.__repr__s3.T
##T[[%7%7DBC	Crch		|jdS#t$rt|dddzcYSwxYw)Nr8rfz; '__str__()' failed>)rgrrr.s rrVzBaseProxy.__str__sB		=##J//	=:cr?%<<<	=s11NNNTF)r7r9r:r6rForkAwareThreadLockrUr,rdrgrjr]rHrnr^rRr{r8rVr<rrrrsu
%T
%
%
'F26HM'>R$,.B-<-(0/G C=rrc	ttjdd}|r||j|jk(rct	j
d|d|d<|j|jvr0|j|j|j|j<|jddxr ttjdd}|||fd|i|S)Nrz*Rebuild a proxy owned by manager, token=%rTr_rl_inheritingF)
rYrrr(rrr)r{rypop)r^rrrErrls      rrwrwsW,,.0A4
HF
&..EMM1

?G $_886777  *
((2	
4 	EG++-}eDDz9&9D99rc	t|}	|||fS#t$rYnwxYwi}|D]}td|d|d|t|tf|}||_||||f<|S)Nzdef z:(self, /, *args, **kwds):
        return self._callmethod(z
, args, kwds))rrexecrQrr9)r]r_cachedicmeth	ProxyTypes      r
MakeProxyTypersGnG
tWo&&


CH6:DBCF	HHTI<-I!I'FD'?s	!!cr	t|d}|4||j|}	t|dd|f}|j|||j}|tjj}td|jz|}	|	||||||}
d|
_
|
S#|jwxYw)Nr	rrhz
AutoProxy[%s])r=rvrlr_T)rwr(rHrrrrrvrr'rv)rrr=rvrrlr_rrrr?s           rrBrBsj)!,Gu}}g6	tT=5(CGJJL7.""))+33o<gFIeZ'#=
BEEML
JJLsB$$B6ceZdZdZdZy)	Namespacec:|jj|yr)r@updaterxs  rr,zNamespace.__init__s

T"rc&t|jj}g}|D]-\}}|jdr|j	|d|/|j|jjddj|dS)Nra=(, r5)	r!r@r
startswithr[rr6r7r)r+rr\r]rs     rr8zNamespace.__repr__svT]]((*+ 	5KD%??3'tU34	5	
		>>22DIIdODDrN)r7r9r:r,r8r<rrrrs
#Errc8eZdZddZdZdZdZeeeZy)Valuec ||_||_yr)	_typecode_value)r+rrlocks    rr,zValue.__init__s!rc|jSrrr.s rrz	Value.gets{{rc||_yrrr+rs  rrz	Value.sets	rcft|jd|jd|jdS)Nrrr5)rQr7rrr.s rr8zValue.__repr__s!!$Z00$..$++NNrNT)	r7r9r:r,rrr8rIrr<rrrrs#OS#Errc.tj||Sr)r)rsequencers   rArrayrs;;x**rc.eZdZdZdZdZdZdZdZy)
IteratorProxy)__next__r?throwrc|Srr<r.s r__iter__zIteratorProxy.__iter__rc&|jd|S)Nrrir+rDs  rrzIteratorProxy.__next__
s
D11rc&|jd|S)Nr?rirs  rr?zIteratorProxy.sends--rc&|jd|S)Nrrirs  rrzIteratorProxy.throw..rc&|jd|S)Nrrirs  rrzIteratorProxy.closerrN)	r7r9r:r9rrr?rrr<rrrr	s 6I2.//rrc*eZdZdZddZdZdZdZy)
AcquirerProxy)acquirereleaseNc8||fn||f}|jd|SNrri)r+blockingr#rDs    rrzAcquirerProxy.acquires'%o{Hg3F	400rc$|jdSNrrir.s rrzAcquirerProxy.release	**rc$|jdSrrir.s rr+zAcquirerProxy.__enter__rrc$|jdSrrir-s    rr1zAcquirerProxy.__exit__ rr)TN)r7r9r:r9rrr+r1r<rrrrs&I1+++rrc.eZdZdZddZddZdZddZy)	ConditionProxy)rrrnotify
notify_allNc(|jd|fSNrrir"s  rrzConditionProxy.wait&
33rc(|jd|fS)Nrri)r+ns  rrzConditionProxy.notify(s1$//rc$|jdS)Nrrir.s rrzConditionProxy.notify_all*s--rc|}|r|S|tj|z}nd}d}|s<||tjz
}|dkr	|S|j|}|s<|S)Nr)time	monotonicr)r+	predicater#rGendtimewaittimes      rwait_forzConditionProxy.wait_for,s~Mnn&0GGH""T^^%55q=

IIh[F

rr)r	)r7r9r:r9rrrrr<rrrr$sFI40.rrc*eZdZdZdZdZdZddZy)
EventProxy)rrrNrc$|jdS)Nrrir.s rrzEventProxy.is_setAs))rc$|jdSNrrir.s rrzEventProxy.setC&&rc$|jdS)NrNrir.s rrNzEventProxy.clearE((rNc(|jd|fSrrir"s  rrzEventProxy.waitGrrr)r7r9r:r9rrrNrr<rrrr?s2I*')4rrcTeZdZdZd	dZdZdZedZedZ	edZ
y)
BarrierProxy)__getattribute__rabortresetNc(|jd|fSrrir"s  rrzBarrierProxy.waitMrrc$|jdS)Nrrir.s rrzBarrierProxy.abortOrrc$|jdS)Nrrir.s rrzBarrierProxy.resetQrrc&|jddS)Nr)partiesrir.s rrzBarrierProxy.partiesSs 2LAArc&|jddS)Nr)	n_waitingrir.s rrzBarrierProxy.n_waitingVs 2NCCrc&|jddS)Nr)brokenrir.s rrzBarrierProxy.brokenYs 2K@@rr)r7r9r:r9rrrrIrrrr<rrrrKsR>I4))
BB
DD
AArrc"eZdZdZdZdZdZy)NamespaceProxy)r__setattr____delattr__c~|ddk(rtj||Stj|d}|d|fS)Nrrargr)objectrr+rE
callmethods   r__getattr__zNamespaceProxy.__getattr__`sBq6S=**455,,T=A
,sf55rc|ddk(rtj|||Stj|d}|d||fS)Nrrargr)rrr)r+rErrs    rrzNamespaceProxy.__setattr__esEq6S=%%dC77,,T=A
-#u66rc~|ddk(rtj||Stj|d}|d|fS)Nrrargr)rrrrs   rrzNamespaceProxy.__delattr__jsAq6S=%%dC00,,T=A
-#00rN)r7r9r:r9rrrr<rrrr^sBI6
7
1rrcReZdZdZdZdZeeeZee	jZy)
ValueProxy)rrc$|jdS)Nrrir.s rrzValueProxy.getsrrc(|jd|fSrrirs  rrzValueProxy.setusx00rN)r7r9r:r9rrrIrrGtypesGenericAlias__class_getitem__r<rrrrqs.I'1S#E#E$6$67rr
BaseListProxy)__add____contains____delitem____getitem____len____mul____reversed____rmul____setitem__r[countextendindexinsertrremovereverser__imul__ceZdZdZdZy)	ListProxyc,|jd|f|S)Nrrirs  r__iadd__zListProxy.__iadd__sE8,rc,|jd|f|S)Nrrirs  rrzListProxy.__imul__seX.rN)r7r9r:r
rr<rrrrsrr	DictProxy)rrrrrrrNrArrrrpopitem
setdefaultrrrIterator
ArrayProxy)rrr	PoolProxy)applyapply_asyncrimapimap_unorderedrmap	map_asyncstarmap
starmap_asyncr3AsyncResult)rrrrrceZdZdZdZy)rc|Srr<r.s rr+zPoolProxy.__enter__rrc$|jyr)r3r-s    rr1zPoolProxy.__exit__srN)r7r9r:r+r1r<rrrrsrceZdZy)rN)r7r9r:r<rrrrsrrQueue
JoinableQueuerr}RLock	SemaphoreBoundedSemaphore	ConditionBarrierPoolr!rr)rrD)rDc<eZdZ	gfdZdZdZdZdZdZdZ	y)	_SharedMemoryTrackerc ||_||_yrshared_memory_context_name
segment_names)r+r]r,s   rr,z_SharedMemoryTracker.__init__s.2D+!.Drc	tjd|dt|jj	|y)NzRegister segment  in pid )rrrr,r[r+segment_names  rregister_segmentz%_SharedMemoryTracker.register_segments6DJJ*<*:(68*MN%%l3rc	tjd|dt|jj	|tj|}|j|jy)NzDestroy segment r.)	rrrr,rrSharedMemoryrunlink)r+r0segments   rdestroy_segmentz$_SharedMemoryTracker.destroy_segments\
EJJ),)9&(LM%%l3#00>GMMONNrcP	|jddD]}|j|yr)r,r6r/s  rr4z_SharedMemoryTracker.unlinks-J $ 2 21 5
3$$\2
3rctjd|jjdt	|jy)NzCall z.__del__ in )rrr6r7rr4r.s r__del__z_SharedMemoryTracker.__del__s1JJt~~667|FH:NOKKMrc2|j|jfSrr*r.s rr/z!_SharedMemoryTracker.__getstate__s33T5G5GHHrc"|j|yr)r,r1s  rr3z!_SharedMemoryTracker.__setstate__sDMM5!rN)
r7r9r:r,r1r6r4r9r/r3r<rrr(r(s,5/1	/	4
		3
		I	"rr(cReZdZejgdzZdZdZdZdZdZ	dZ
y)	SharedMemoryServer)
track_segmentrelease_segment
list_segmentsctj|g|i||j}t|trtj|}td|dt|_	tjdty)Nshm_raz"SharedMemoryServer started by pid )rdr,r(rMrsosfsdecoder(rshared_memory_contextrr)r+rDkwargsr(s    rr,zSharedMemoryServer.__init__snOOD24262llG'5)++g.$tG9AfhZ%@A
&JJ;FH:FGrc	t|j|ddr|j|d<tj|||g|i|S)Nrf_shared_memory_proxyrE)r4rtrErdrf)r+rBr'rDrFs     rrfzSharedMemoryServer.createsQ
M
t}}V,R02HI262L2L./==q&B4B6BBrcd	|jjtj||Sr)rEr4rdrers  rrezSharedMemoryServer.shutdowns(O&&--/??4++rc<	|jj|yr)rEr1r+rBr0s   rr>z SharedMemoryServer.track_segmentsM&&77Erc<	|jj|yr)rEr6rKs   rr?z"SharedMemoryServer.release_segments
K&&66|Drc0	|jjSr)rEr,rs  rr@z SharedMemoryServer.list_segments s
&--;;;rN)r7r9r:rdrr,rfrer>r?r@r<rrr=r=s6FG	H	C	,
	F	E
	<rr=c0eZdZ	eZdZdZdZdZdZ	y)rctjdk(rddlm}|j	tj|g|i|tj|jjdty)Nposixr	)resource_trackerz created by pid )rCr]rQensure_runningrr,rrr6r7r)r+rDrFrQs    rr,zSharedMemoryManager.__init__2s\ww'!/ //1  777JJ$..1122B68*MNrcptj|jjdt	y)Nz.__del__ by pid )rrr6r7rr.s rr9zSharedMemoryManager.__del__>s'JJ$..1122B68*MNrc	|jjtjk7r|jjtjk(rtd|jjtjk(rtdtdj|jj|j|j|j|j|jS)Nz"Already started SharedMemoryServerz!SharedMemoryManager has shut downr)
rrrrrr
rrPrrrrrr.s rrzSharedMemoryManager.get_serverAsN{{  EMM1;;$$

5&'KLL[[&&%..8&'JKK&,33DKK4E4EFHH<<

 $

t/?/?A
Arc.	|j|j|j5}tjdd|}	t|dd|jf	ddd|S#t$r}|j|d}~wwxYw#1swYSxYw)NrT)rfsizer>)	rrrrr3rHr]
BaseExceptionr4)r+rWrsmsrs     rr3z SharedMemoryManager.SharedMemoryNs
4dmmT]]C
t#00dNT4388+F
J%JJLG	
Js)B
A''	B0BBB

BcP	|j|j|j5}tj|}	t|dd|jjf	ddd|S#t$r!}|jj|d}~wwxYw#1swYSxYw)Nrr>)
rrrr
ShareableListrHshmr]rXr4)r+rrslrs     rr[z!SharedMemoryManager.ShareableListZs
FdmmT]]C
t"00:T4266;;.I
I%FFMMOG	
Is)B#A..	B7BBBB%N)
r7r9r:r=rr,r9rr3r[r<rrrr&s*	%
	O	O	A
	
	rr~r)W__all__rr|rrqueuerrrCrrrrRr
contextrrr
rrrrr	HAS_SHMEMr[ImportErrorrrFrQrY
view_typesr$	view_typerrrHrArrRr_rbrdrrrXmlListener	XmlClientrwrrrKrrwrrBrrrrrrrrrrrrrr:r
BasePoolProxyrrrrr}r!r"r#r$r%r&r!rr(r=r)r]s0r<module>rhsWA
	 @@*INN()2	5;;-4M
NDd$72t$&'
N
3IIy/23
zMFM.&(b)
IC)C	AF*VF*Z
F##Z%6%67)):+?+?@t'&t'tcm=m=f:*)+,8<7<:
E
E
F
+/I/
+I
+]6	4	4A9A&1Y1&88o0


+(
	
 	
<*

k,
!" $
 
	+	Wekk*_ekk2Wiooz:VY^^];Wioo}=[)"5"5}E')C)C"$[)"5"5~FY	 1 1<@VTYY	2VT9-VT9-WeZ0WeZ0[)^<Z=N]%8
""""J*<V*<Z>k>g
]%IOsO;P	;PP