evSrSSKr\RS:wa\"S5eSSKrSSKrSSKrSSKJr SSK r SSK r SSK r SSK r SSK r SSKrSSKJr SSKJr SS KJr SS KJr SS KJr SS KJr SS KJr SSKJr SSKJr Sr\R6r\R8rSrSrSrSr "SS\RB5r""SS\RB5r#"SS\#5r$"SS\#5r%"SS\&5r'"SS \RP5r)"S!S"\RT5r+"S#S$5r,"S%S&\RZ5r.\)r/"S'S(\R`5r1"S)S*\R`5r2\2r3\+r4g)+z.Selector and proactor event loops for Windows.Nwin32z win32 only)partial)events)base_subprocess)futures) exceptions)proactor_events)selector_events)tasks) windows_utils)logger)SelectorEventLoopProactorEventLoop IocpProactorDefaultEventLoopPolicyWindowsSelectorEventLoopPolicyWindowsProactorEventLoopPolicy EventLoopiigMbP?g?cn^\rSrSrSrSS.U4SjjrU4SjrSrS U4SjjrU4S jr U4S jr S r U=r $) _OverlappedFuture1z~Subclass of Future which represents an overlapped operation. Cancelling it will immediately cancel the overlapped operation. Nloopch>[TU]US9 UR(a URS XlgNr)super__init___source_traceback_ov)selfovr __class__s [TU]5nURbMURR(aSOSnUR SSUSURR SS35 U$)Npending completedrz overlapped=)r _repr_infor!r)insertaddressr"infostater$s r%r-_OverlappedFuture._repr_info=s\w!# 88 !%!1!1I{E KK\%4883C3CB2GqI J r'cURcgURR5 SUlg![aKnSUUS.nUR(aURUS'URR U5 SnANXSnAff=f)Nz&Cancelling an overlapped future failedmessage exceptionfuturesource_traceback)r!cancelOSErrorr _loopcall_exception_handler)r"exccontexts r%_cancel_overlapped$_OverlappedFuture._cancel_overlappedDs~ 88   7 HHOO  7C G %%.2.D.D*+ JJ - -g 6 6 7s2 BABBc>>UR5 [TU] US9$N)msg)r@rr:r"rDr$s r%r:_OverlappedFuture.cancelTs  !w~#~&&r'cD>[TU]U5 UR5 gN)r set_exceptionr@r"r7r$s r%rI_OverlappedFuture.set_exceptionXs i( !r'c2>[TU]U5 SUlgrH)r set_resultr!r"resultr$s r%rM_OverlappedFuture.set_result\s 6"r'r!rH) __name__ __module__ __qualname____firstlineno____doc__rr-r@r:rIrM__static_attributes__ __classcell__r$s@r%rr1s5 $(  '"r'rcz^\rSrSrSrSS.U4SjjrSrU4SjrSrS r SU4S jjr U4S jr U4S jr S r U=r$)_BaseWaitHandleFutureaz2Subclass of Future which represents a wait handle.Nrc>[TU]US9 UR(a URS XlX lX0lSUlg)NrrT)rrr r!_handle _wait_handle _registered)r"r#handle wait_handlerr$s r%r_BaseWaitHandleFuture.__init__dsF d#  ! !&&r* ' r'cf[R"URS5[R:H$Nr)_winapiWaitForSingleObjectr^ WAIT_OBJECT_0r"s r%_poll_BaseWaitHandleFuture._pollrs)++DLL!<%%& 'r'c(>[TU]5nURSURS35 URb*UR 5(aSOSnURU5 UR bURSUR S35 U$)Nzhandle=r+signaledwaitingz wait_handle=)rr-appendr^rjr_r0s r%r- _BaseWaitHandleFuture._repr_infows~w!# gdll2./0 << #"&**,,JIE KK     ( KK,t'8'8&<= > r'cSUlgrHrQ)r"futs r%_unregister_wait_cb)_BaseWaitHandleFuture._unregister_wait_cbs r'cUR(dgSUlURnSUl[R"U5 URS5 g![annUR [R :waFSUUS.nUR(aURUS'URRU5 SnAgSnANSnAff=fNFz$Failed to unregister the wait handler5r9) r`r_ _overlappedUnregisterWaitr;winerrorERROR_IO_PENDINGr r<r=rsr"rbr>r?s r%_unregister_wait&_BaseWaitHandleFuture._unregister_waits  ''     & &{ 3   & ||{;;;E!$" ))262H2HG./ 11':< sA C AC  Cc>>UR5 [TU] US9$rC)r|rr:rEs r%r:_BaseWaitHandleFuture.cancels  w~#~&&r'cD>UR5 [TU] U5 grH)r|rrIrJs r%rI#_BaseWaitHandleFuture.set_exceptions  i(r'cD>UR5 [TU] U5 grH)r|rrMrNs r%rM _BaseWaitHandleFuture.set_results  6"r')r^r!r`r_rH)rRrSrTrUrVrrjr-rsr|r:rIrMrWrXrYs@r%r[r[as;<8<   '  '0')##r'r[cR^\rSrSrSrSS.U4SjjrSrU4SjrU4SjrS r U=r $) _WaitCancelFuturezgSubclass of Future which represents a wait for the cancellation of a _WaitHandleFuture using an event. Nrc0>[TU]XX4S9 SUlg)Nr)rr_done_callback)r"r#eventrbrr$s r%r_WaitCancelFuture.__init__s K;"r'c[S5e)Nz'_WaitCancelFuture must not be cancelled) RuntimeErrorris r%r:_WaitCancelFuture.cancelsDEEr'cb>[TU]U5 URbURU5 ggrH)rrMrrNs r%rM_WaitCancelFuture.set_results/ 6"    *    % +r'cb>[TU]U5 URbURU5 ggrH)rrIrrJs r%rI_WaitCancelFuture.set_exceptions/ i(    *    % +r')r) rRrSrTrUrVrr:rMrIrWrXrYs@r%rrs,8<## F& &&r'rcB^\rSrSrSS.U4SjjrU4SjrSrSrU=r$)_WaitHandleFutureNrc>[TU]XX5S9 X@lSUl[R "SSSS5UlSUlg)NrTF)rr _proactor_unregister_proactorrw CreateEvent_event _event_fut)r"r#rarbproactorrr$s r%r_WaitHandleFuture.__init__sA [<!$(!!--dD%F r'c>URb.[R"UR5 SUlSUlURR UR 5 SUl[TU]!U5 grH) rrf CloseHandlerr _unregisterr!rrs)r"rrr$s r%rs%_WaitHandleFuture._unregister_wait_cbsY ;; "    ,DK"DO ""488, #C(r'cUR(dgSUlURnSUl[R"XR5 URRURUR5Ulg![ annUR [R:waFSUUS.nUR(aURUS'URRU5 SnAgSnANSnAff=frv)r`r_rwUnregisterWaitExrr;ryrzr r<r=r _wait_cancelrsrr{s r%r|"_WaitHandleFuture._unregister_waits  ''     ( (kk B..55dkk6:6N6NP ||{;;;E!$" ))262H2HG./ 11':< s B C<AC77C<)rrrr`rr_) rRrSrTrUrrsr|rWrXrYs@r%rrs!BF)$PPr'rc:\rSrSrSrSrSrSrSrSr \ r Sr g ) PipeServerzPClass representing a pipe server. This is much like a bound, listening socket. cXl[R"5UlSUlSUlUR S5UlgNT)_addressweakrefWeakSet_free_instances_pipe_accept_pipe_future_server_pipe_handle)r"r/s r%rPipeServer.__init__s9 &0 #' --d3 r'cJURURS5solU$)NF)rr)r"tmps r%_get_unconnected_pipe PipeServer._get_unconnected_pipes# **d&>&>u&EZ r'c DUR5(ag[R[R-nU(aU[R-n[R "UR U[R[R-[R-[R[R[R[R[R5n[R"U5nUR R#U5 U$rH)closedrfPIPE_ACCESS_DUPLEXFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCECreateNamedPiperPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE PIPE_WAITPIPE_UNLIMITED_INSTANCESr BUFSIZENMPWAIT_WAIT_FOREVERNULL PipeHandleradd)r"firstflagshpipes r%rPipeServer._server_pipe_handles ;;==**W-I-II  W:: :E  # # MM5  % %(E(E E      , ,  ! !=#8#8  ( (',,  8''*   & r'cURSL$rH)rris r%rPipeServer.closed s %&r'cURb!URR5 SUlURbLURHnUR 5 M SUlSUlURR 5 ggrH)rr:rrcloserclear)r"rs r%rPipeServer.close#sp  # # /  $ $ + + -'+D $ == $,, -DJ DM  & & ( %r')rrrrN) rRrSrTrUrVrrrrr__del__rWr'r%rrs'4$' )Gr'rc\rSrSrSrSrg)_WindowsSelectorEventLoopi2z'Windows version of selector event loop.rN)rRrSrTrUrVrWrr'r%rr2s1r'rc`^\rSrSrSrS U4SjjrU4SjrU4SjrSrSr S Sjr S r U=r $) ri6z2Windows version of proactor event loop using IOCP.c>>Uc [5n[TU] U5 grH)rrr)r"rr$s r%rProactorEventLoop.__init__9s  #~H "r'cv>URbeURUR5 [TU]5 grH)_self_reading_future call_soon_loop_self_readingr_run_forever_setup)r"r$s r%r$ProactorEventLoop._run_forever_setup>s2((000 t../ "$r'c >[TU]5 URbgURRnURR 5 Ub,UR (dUR RU5 SUlggrH)r_run_forever_cleanuprr!r:r)rr)r"r#r$s r%r&ProactorEventLoop._run_forever_cleanupCsi $&  $ $ 0**..B  % % , , .~bjj**2.(,D % 1r'c# URRU5nUIShvN nU"5nURXESU0S9nXe4$N 7f)Naddrextra)r connect_pipe_make_duplex_pipe_transport)r"protocol_factoryr/frprotocoltranss r%create_pipe_connection(ProactorEventLoop.create_pipe_connectionRsU NN ' ' 0w#%008>7H1J s!AA!Acj^^^^^# [T5mSUUUUU4SjjmTRT5 T/$7f)Nc>SnU(ajUR5nTRRU5 TR5(aUR 5 gT"5nTR XST0S9 TR 5nUcgTRRU5nUTl URT5 g![a? U(a$UR5S:waUR 5 TRT5 g[anU(a:UR5S:wa&TRSUUS.5 UR 5 O'TR (a["R$"SUSS9 TRT5 SnAgSnAf[&R(a U(aUR 5 ggf=f) NrrrzPipe accept failed)r6r7rzAccept pipe failed on pipe %rT)exc_info)rOrdiscardrrrrr accept_piperadd_done_callbackBrokenPipeErrorfilenorr;r=_debugrwarningr CancelledError) rrrr>r/loop_accept_piperr"servers r%r>ProactorEventLoop.start_serving_pipe..loop_accept_pipe]stD) 688:D**2248}} /1H44vw.?5A335<NN..t4*./*##$45+# 1DKKMR/JJL/0 1DKKMR///#7%( $1 JJL[[NN#B#'$8/00,, !JJL !s2AB>,B> B>>AG GA9F  .G?GrH)rr)r"rr/rrs```@@r%start_serving_pipe$ProactorEventLoop.start_serving_pipeZs1G$+ 6+ 6Z '(xs,3c # UR5n [XX#XEXg4XS.U D6n U IShvN U $N![[4a e[a+ U R 5 U R 5IShvN ef=f7f)N)waiterr) create_future_WindowsSubprocessTransport SystemExitKeyboardInterrupt BaseExceptionr_wait) r"rargsshellstdinstdoutstderrbufsizerkwargsrtransps r%_make_subprocess_transport,ProactorEventLoop._make_subprocess_transports##%,TT-2F74:7067 LL  -.    LLN,,.  s1"A;313A;3=A80A31A88A;)rrH) rRrSrTrUrVrrrrrr rWrXrYs@r%rr6s/<# % -1j04r'rc \rSrSrSr\4SjrSrSrSr S#Sjr S r \ S 5r \S 5rS$S jrS$S jrS$SjrS$SjrS%SjrS$SjrSrSrSrSrSrS#SjrSrSrSrSrSr Sr!S#Sjr"Sr#S r$S!r%S"r&g)&riz#Proactor implementation using IOCP.cSUl/Ul[R"[R[ SU5Ul0Ul[R"5Ul /Ul [R"5Ul gre) r<_resultsrwCreateIoCompletionPortINVALID_HANDLE_VALUEr_iocp_cacherrr` _unregistered_stopped_serving)r" concurrencys r%rIocpProactor.__init__s_   77  , ,dA{D  "??, ' 1r'c4URc [S5eg)NzIocpProactor is closed)rrris r% _check_closedIocpProactor._check_closeds :: 78 8 r'cS[UR5-S[UR5-/nURcUR S5 SUR R <SSRU5<S3$)Nzoverlapped#=%sz result#=%sr< r,)lenrrrror$rRjoin)r"r1s r%__repr__IocpProactor.__repr__s_ 3t{{#33s4==113 ::  KK ! NN33SXXd^DDr'cXlgrH)r<)r"rs r%set_loopIocpProactor.set_loops r'NcUR(dURU5 URn/UlUSn$!Snf=frH)rrj)r"timeoutrs r%selectIocpProactor.selects:}} JJw mm  C$Cs;?c\URR5nURU5 U$rH)r<rrM)r"valuerrs r%_resultIocpProactor._results%jj&&( u r'cUR5$![aFnUR[R[R 4;a[ UR6eeSnAff=frH) getresultr;ryrwERROR_NETNAME_DELETEDERROR_OPERATION_ABORTEDConnectionResetErrorr)rkeyr#r>s r%finish_socket_funcIocpProactor.finish_socket_funcsY <<> ! || A A + C C EE*CHH55  s A"AAA"cURXU5$![a-nUR[R:Xa US4sSnA$eSnAff=frH)r4r;ryrwERROR_PORT_UNREACHABLE)clsrr3r# empty_resultr>s r%_finish_recvfromIocpProactor._finish_recvfromsL ))%b9 9 ||{AAA#T))  s A !AA AA cURU5 [R"[5n[ U[ R 5(a!UR UR5X#5 O!URUR5U5 URXAUR5$![a URS5s$f=f)Nr') _register_with_iocprw Overlappedr isinstancesocketWSARecvrReadFilerr, _registerr4r"connnbytesrr#s r%recvIocpProactor.recvs   &  # #D ) %$ .. 4;;=&8 DKKM62~~b(?(?@@ %<<$ $ %?B*- B**CCcURU5 [R"[5n[ U[ R 5(a!UR UR5X#5 O!URUR5U5 URXAUR5$![a URS5s$f=fre) r=rwr>rr?r@ WSARecvIntor ReadFileIntorr,rCr4r"rEbufrr#s r% recv_intoIocpProactor.recv_intos   &  # #D ) #$ ..t{{}c9 s3~~b(?(?@@ #<<? " #rIc $URU5 [R"[5nUR UR 5X#5 URXA[URSS95$![ a URS5s$f=f)N)r'Nr'r9) r=rwr>r WSARecvFromrrr,rCrr:rDs r%recvfromIocpProactor.recvfroms   &  # #D ) - NN4;;=& 8~~b0E0E=@)BC C -<< , , - A11BBc $URU5 [R"[5nUR UR 5X#5 URXA[URSS95$![ a URS5s$f=f)NrNrrR) r=rwr>rWSARecvFromIntorrr,rCrr:rMs r% recvfrom_intoIocpProactor.recvfrom_intos   &  # #D ) +   t{{}c 9~~b0E0E=>)@A A +<< * * +rVcURU5 [R"[5nUR UR 5X#U5 UR XQUR5$rH)r=rwr>r WSASendTorrCr4)r"rErNrrr#s r%sendtoIocpProactor.sendtosM   &  # #D ) T[[]C5~~b(?(?@@r'cPURU5 [R"[5n[ U[ R 5(a!UR UR5X#5 O URUR5U5 URXAUR5$rH) r=rwr>rr?r@WSASendr WriteFilerCr4rMs r%sendIocpProactor.sendsp   &  # #D ) dFMM * * JJt{{}c 1 LL ,~~b(?(?@@r'cz^^URT5 URTR5m[R"[ 5nUR TR5TR55 UU4SjnSnURUTU5nU"UT5n[R"X`RS9 U$)Nc.>UR5 [R"STR55nTR [ R [RU5 TRTR55 TTR54$)Nz@P) r/structpackr setsockoptr@ SOL_SOCKETrwSO_UPDATE_ACCEPT_CONTEXT settimeout gettimeout getpeername)rr3r#rNrElisteners r% finish_accept*IocpProactor.accept..finish_accept+sl LLN++dHOO$56C OOF--'@@# G OOH//1 2))++ +r'cx# UIShvN gN![Ra UR5 ef=f7frH)r rr)r8rEs r% accept_coro(IocpProactor.accept..accept_coro4s1  ,,   s ::&7:r) r=_get_accept_socketfamilyrwr>rAcceptExrrCr ensure_futurer<)r"ror#rprsr8cororEs ` @r%acceptIocpProactor.accept%s   *&&x7  # #D ) HOO%t{{}5 , Hm<64( Dzz2 r'c^TR[R:XaR[R"TR 5U5 UR R5nURS5 U$URT5 [R"TR 5TR5 [R""[$5nUR'TR 5U5 U4SjnUR)UTU5$![aAnUR[R:waeTR!5SS:XaeSnANSnAff=f)Nrrc>UR5 TR[R[R S5 T$re)r/rir@rjrwSO_UPDATE_CONNECT_CONTEXT)rr3r#rEs r%finish_connect,IocpProactor.connect..finish_connectWs1 LLN OOF--'AA1 FKr')typer@ SOCK_DGRAMrw WSAConnectrr<rrMr= BindLocalrvr;ryerrno WSAEINVAL getsocknamer>r ConnectExrC)r"rEr/rrer#rs ` r%connectIocpProactor.connectAs 99)) )  " "4;;=' :****,C NN4 J   &   ! !$++- = # #D ) T[[]G, ~~b$77! zzU__,!!$)*  s/D E7E  Ec 6URU5 [R"[5nUS-nUS- S-nUR UR 5[ R"UR 55XgUSS5 URXQUR5$)Nl r) r=rwr>r TransmitFilermsvcrt get_osfhandlerCr4)r"sockfileoffsetcountr# offset_low offset_highs r%sendfileIocpProactor.sendfile`s   &  # #D )k) |{2   ,,T[[];"q! % ~~b(?(?@@r'c^URT5 [R"[5nUR TR 55nU(aUR T5$U4SjnURUTU5$)Nc(>UR5 T$rH)r/)rr3r#rs r%finish_accept_pipe4IocpProactor.accept_pipe..finish_accept_pipews LLNKr')r=rwr>rConnectNamedPiperr,rC)r"rr# connectedrs ` r%rIocpProactor.accept_pipelsf   &  # #D )'' 6 <<% % ~~b$(:;;r'cH# [n[R"U5n[R"U5$![a)nUR[R :waeSnAOSnAff=f[ US-[5n[R"U5IShvN M7f)N) CONNECT_PIPE_INIT_DELAYrw ConnectPiper;ryERROR_PIPE_BUSYminCONNECT_PIPE_MAX_DELAYr sleepr r)r"r/delayrar>s r%rIocpProactor.connect_pipe}s' $009''// <<;#>#>>?   #9:E++e$ $ $s7B"8B" A+A&!B"&A++/B"BB"c&URXS5$)zWait for a handle. Return a Future object. The result of the future is True if the wait completed, or False if the wait did not complete (on timeout). F)_wait_for_handle)r"rar's r%wait_for_handleIocpProactor.wait_for_handles $$Ve<TR5$rH)rj)rr3r#rs r%finish_wait_for_handle=IocpProactor._wait_for_handle..finish_wait_for_handles779 r'r)rrfINFINITEmathceilrwr>rRegisterWaitWithQueuerr/rr<rr r) r"rar' _is_cancelmsr#rbrrs @r%rIocpProactor._wait_for_handles  ?!!B7S=)B # #D )!77 JJ B0 !"k KA!"k'+zz3A  ##B' $%b!-C"D BJJr'cXR;aMURRU5 [R"UR 5UR SS5 ggre)r`rrwrrrr"objs r%r= IocpProactor._register_with_iocpsG && &     %  . .szz|TZZA N 'r'chUR5 [XRS9nUR(a URS UR(dU"SSU5nUR U5 XAX#4URUR'U$![ anURU5 SnAN=SnAff=fr) rrr<r r)rMr;rIrr/)r"r#rcallbackrr+rs r%rCIocpProactor._registers  bzz 2  ##B'zz  $ tR0 U#$%#"8 BJJ #"" #s B B1B,,B1cZUR5 URRU5 g)zUnregister an overlapped object. Call this method when its future has been cancelled. The event can already be signalled (pending in the proactor event queue). It is also safe if the event is never signalled (because it was cancelled). N)rrro)r"r#s r%rIocpProactor._unregisters$  !!"%r'cT[R"U5nURS5 U$re)r@rl)r"rvss r%ruIocpProactor._get_accept_sockets MM& ! Qr'c HUc[nO?US:a [S5e[R"US-5nU[:a [S5e[R "UR U5nUcOSnUupEpgURRU5uppXR ;aUR#5 OMUR%5(d8U "XVU 5n UR'U 5 UR(R+U5 SnMUR0H)n URRU R2S5 M+ UR0R55 g![as URR5(a#URRSSXEXg4-S.5 US[R4;a[R"U5 GMf=f![,a7n UR/U 5 UR(R+U5 Sn A GNSn A ff=f!Snf=f)Nrznegative timeoutrztimeout too bigz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r6status)r ValueErrorrrrwGetQueuedCompletionStatusrrpopKeyErrorr< get_debugr=rrfrrr:donerMrror;rIrr/r)r"r'rrerr transferredr3r/rr#rrr+rs r%rjIocpProactor._polls ?B q[/0 07S=)BX~ !233 ::4::rJF~B-3 *Cc '+{{w'?$s +++ VVXX $[r:E LL'MM((+AMR$$B KKOOBJJ -%   "E ::''))JJ55%7#N&)%E$F7q+"B"BCC'', ,,OOA&MM((++,AsC8E G,HA8GG H#,HHHHH!c:URRU5 grH)rrrs r% _stop_servingIocpProactor._stop_serving3s !!#&r'cURcg[URR55HEupp4UR 5(aM[ U[ 5(aM4UR5 MG Sn[R"5nX-n UR(aU [R"5::aF[R"SU[R"5U- 5 [R"5U-n UR!U5 UR(aM/Ul[$R&"UR5 SUlg![aanURbHSUUS.nUR(aURUS'URRU5 SnAGMSnAGMSnAff=f)NzCancelling a future failedr5r9g?z,%r is running after closing for %.1f seconds)rlistrvalues cancelledr?rr:r;r<r r=time monotonicrdebugrjrrfr) r"rrr#rrr>r? msg_update start_timenext_msgs r%rIocpProactor.close9sc ::  '+4;;+=+=+?&@ "CS}}C!233 CJJL'A0 ^^% *kk4>>++ K!4>>#3j#@B>>+j8 JJz "kkk DJJ' ; Czz-'C),&)# 00:=:O:OG$67 99'BB. Cs'E G#AF??Gc$UR5 grH)rris r%rIocpProactor.__del__hs  r')rrr<r`rrrrH)rrX)'rRrSrTrUrVrrrr!r$r(r, staticmethodr4 classmethodr:rGrOrTrZr^rcrzrrrrrrrr=rCrrurjrrrrWrr'r%rrs-#+29E     A A C AAA88> A<"0&= DO@& 7#r' -^r'rc\rSrSrSrSrg)rilc ^[R"U4X#XEUS.UD6TlU4SjnTRRR [ TRR55n U RU5 g)N)rrrrr c\>TRR5nTRU5 grH)_procpoll_process_exited)r returncoder"s r%r4_WindowsSubprocessTransport._start..callbackss!*J   ,r') r Popenrr<rrintr^r) r"rrrrrr r rrs ` r%_start"_WindowsSubprocessTransport._startnsk"(( '6'%'  - JJ 0 0TZZ5G5G1H I H%r')rN)rRrSrTrUrrWrr'r%rrls &r'rc\rSrSr\rSrg)ri~rN)rRrSrTrUr _loop_factoryrWrr'r%rr~%Mr'rc\rSrSr\rSrg)rirN)rRrSrTrUrrrWrr'r%rrrr'r)5rVsysplatform ImportErrorrwrfr functoolsrrrr@rgrrrrrr r r r r logr__all__rrERROR_CONNECTION_REFUSEDERROR_CONNECTION_ABORTEDrrFuturerr[rrobjectrBaseSelectorEventLooprBaseProactorEventLooprrBaseSubprocessTransportrrBaseDefaultEventLoopPolicyrrrrrr'r%rsa4 <<7 l ##   ||    --`G#GNNG#T&-&01P-1Ph88v2 E E2h==hVHHV &/"I"I &.&V%F%F&&V%F%F&8  r'