/kDj8SrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ r /SQr \ "\S5(a\ R/SQ5 \ "\S5(a4\ R/S Q5 \ "\S5(a\ RS S /5 \ "\S 5(a \RrO \Rr"S S5r"SS\5r"SS\5r\ "\S5(a "SS5r"SS\5r"SS5r"SS5r\ "\S5(a"SS\\5r"SS\\5r"SS \\5r"S!S"\\5r\ "\S5(aT"S#S$\5r"S%S&\5r"S'S(\\5r"S)S*\\5r\ "\S5(a"S+S \\5r "S,S \\5r!"S-S.5r""S/S0\"5r#"S1S2\5r$"S3S4\"5r%g)5z0.4N)BufferedIOBase) monotonic) BaseServer TCPServer UDPServerThreadingUDPServerThreadingTCPServerBaseRequestHandlerStreamRequestHandlerDatagramRequestHandlerThreadingMixInfork)ForkingUDPServerForkingTCPServer ForkingMixInAF_UNIX)UnixStreamServerUnixDatagramServerThreadingUnixStreamServerThreadingUnixDatagramServerForkingUnixStreamServerForkingUnixDatagramServer PollSelectorc\rSrSrSrSrSrSSjrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrg)rNc^XlX l[R"5UlSUlgNF)server_addressRequestHandlerClass threadingEvent_BaseServer__is_shut_down_BaseServer__shutdown_request)selfrrs 3/opt/alt/python313/lib64/python3.13/socketserver.py__init__BaseServer.__init__s%,#6 'oo/"'cgNr$s r%server_activateBaseServer.server_activate r(c,URR5 [5nURU[R 5 UR (d]URU5nUR (aO:U(aUR5 UR5 UR (dM]SSS5 SUlURR5 g!,(df  N0=f!SUlURR5 f=fr) r"clear_ServerSelectorregister selectors EVENT_READr#select_handle_request_noblockservice_actionsset)r$ poll_intervalselectorreadys r% serve_foreverBaseServer.serve_forevers !!# & !"h!!$ (<(<=11$OOM:E..446((*111#',D #    # # %#"',D #    # # %s# C0B C5C0 C-)C00#DcFSUlURR5 gNT)r#r"waitr,s r%shutdownBaseServer.shutdowns#'   "r(cgr*r+r,s r%r8BaseServer.service_actionsr/r(cURR5nUc URnO"URb[XR5nUb [ 5U-n[ 5nUR U[R5 URU5(aUR5sSSS5 $Ub,W[ 5- nUS:aUR5sSSS5 $M`!,(df  g=f)Nr) socket gettimeouttimeoutmintimer2r3r4r5r6r7handle_timeout)r$rIdeadliner;s r%handle_requestBaseServer.handle_requests++((* ?llG \\ %'<<0G  v'H (   dI$8$8 9??7++779  *"*TV"3"Q;#'#6#6#8  s'AC)8%C)'C)) C7cFUR5upURX5(aURX5 gUR U5 g![a gf=f![a% UR X5 UR U5 g UR U5 e=fr*) get_requestOSErrorverify_requestprocess_request Exception handle_errorshutdown_requestr$requestclient_addresss r%r7"BaseServer._handle_request_noblock1s &*&6&6&8 #G   w 7 7 $$W=  ! !' *     /!!':%%g. %%g.s"AA AA,B  B cgr*r+r,s r%rLBaseServer.handle_timeoutHs r(cgr@r+rXs r%rSBaseServer.verify_requestOs r(cHURX5 URU5 gr*)finish_requestrWrXs r%rTBaseServer.process_requestWs G4 g&r(cgr*r+r,s r% server_closeBaseServer.server_close`r/r(c(URXU5 gr*)rrXs r%raBaseServer.finish_requesths   $?r(c&URU5 gr* close_requestr$rYs r%rWBaseServer.shutdown_requestl 7#r(cgr*r+rks r%rjBaseServer.close_requestp r(c[S[RS9 [SU[RS9 SSKnUR 5 [S[RS9 g)Nz(----------------------------------------)filez4Exception occurred during processing of request fromr)printsysstderr traceback print_exc)r$rYrZrvs r%rVBaseServer.handle_errortsC f3::& D  - f3::&r(cU$r*r+r,s r% __enter__BaseServer.__enter__s r(c$UR5 gr*)rd)r$argss r%__exit__BaseServer.__exit__s r()r__is_shut_down__shutdown_requestr)g?)__name__ __module__ __qualname____firstlineno__rIr&r-r=rBr8rNr7rLrSrTrdrarWrjrVrzr~__static_attributes__r+r(r%rrs`\G( &:# &9:+. ' @$  'r(rc\rSrSr\R r\RrSr Sr Sr SSjr Sr SrSrSrS rS rS rS rg )riFc[RXU5 [R"URUR5UlU(a"UR 5 UR 5 gg! UR5 e=fr*)rr&rGaddress_family socket_type server_bindr-rd)r$rrbind_and_activates r%r&TCPServer.__init__soD2EFmmD$7$7$($4$46    "$$&  !!#s  A11BcdUR(aN[[S5(a9URR[R[R S5 UR (a|[[S5(agUR[R[R4;a9URR[R[RS5 URRUR5 URR5Ul g)N SO_REUSEADDR SO_REUSEPORT)allow_reuse_addresshasattrrG setsockopt SOL_SOCKETrallow_reuse_portrAF_INETAF_INET6rbindr getsocknamer,s r%rTCPServer.server_binds  # #(G(G KK " "6#4#4f6I6I1 M  ! !gfn&E&E##'HH KK " "6#4#4f6I6I1 M ,,-"kk557r(cNURRUR5 gr*)rGlistenrequest_queue_sizer,s r%r-TCPServer.server_activates 4223r(c8URR5 gr*)rGcloser,s r%rdTCPServer.server_closes r(c6URR5$r*)rGfilenor,s r%rTCPServer.fileno {{!!##r(c6URR5$r*)rGacceptr,s r%rQTCPServer.get_requestrr(cUR[R5 UR U5 g![a Nf=fr*)rBrGSHUT_WRrRrjrks r%rWTCPServer.shutdown_requests?    V^^ , 7#   s3 AAc$UR5 gr*)rrks r%rjTCPServer.close_request s  r()rrGN)T)rrrrrGrr SOCK_STREAMrrrrr&rr-rdrrQrWrjrr+r(r%rrsS`^^N$$K 8$4$$$r(rcP\rSrSrSrSr\RrSr Sr Sr Sr Sr Srg ) riFi cnURRUR5upXR4U4$r*)rGrecvfrommax_packet_size)r$data client_addrs r%rQUDPServer.get_requests1 KK001E1EFkk"K//r(cgr*r+r,s r%r-UDPServer.server_activate rpr(c&URU5 gr*rirks r%rWUDPServer.shutdown_request$rmr(cgr*r+rks r%rjUDPServer.close_request(rpr(r+N)rrrrrrrG SOCK_DGRAMrrrQr-rWrjrr+r(r%rrs4 ##KO0 $ r(rcX^\rSrSrSrSrSrSrSS.SjrS r S r S r U4S jr S r U=r$)ri-i,N(TFblockingcURcg[UR5UR:aZ[R"SS5up#URR U5 [UR5UR:aMZURR5HPnU(aSO[Rn[R"X$5up#URR U5 MR g![ a URR5 N[a Mf=f![ a URR U5 M[a Mf=f)Nr) active_childrenlen max_childrenoswaitpiddiscardChildProcessErrorr1rRcopyWNOHANG)r$rpid_flagss r%collect_childrenForkingMixIn.collect_children6s"##+d**+t/@/@@ZZA.FC((005d**+t/@/@@++002 !)ArzzEZZ3FC((005 3)1((..0)6((005s04C;*A D1;$D.! D.-D.1%E& E&%E&c$UR5 gr*rr,s r%rLForkingMixIn.handle_timeoutY  ! ! #r(c$UR5 gr*rr,s r%r8ForkingMixIn.service_actions`rr(cR[R"5nU(aIURc[5UlURR U5 UR U5 gSnUR X5 SnURU5 [R"U5 g![a URX5 NFf=f![R"U5 f=f!URU5 [R"U5 f![R"U5 f=f=f)Nrr) rrrr9addrjrarUrVrW_exit)r$rYrZrstatuss r%rTForkingMixIn.process_requestgs'')C''/+.5D($$((-""7+ )''@F)--g6( !?%%g>? ()--g6((sH)B%=C%CC!CC!C!D&#D 4D& D##D&cT>[TU]5 URURS9 g)Nr)superrdrblock_on_closer$ __class__s r%rdForkingMixIn.server_closes% G "  ! !4+>+> ! ?r()r)rrrrrIrrrrrLr8rTrdr __classcell__rs@r%rr-s= /4! F $ $ )2 @ @r(rc:^\rSrSrU4SjrSrSrSrSrU=r $)_Threadsich>UR5 UR(ag[TU] U5 gr*)reapdaemonrappend)r$threadrs r%r_Threads.appends" ==  vr(c/USSsUSS&nU$r*r+)r$results r%pop_all_Threads.pop_allsd1gQ r(cRUR5HnUR5 M gr*)rjoinr$rs r%r _Threads.joinsllnF KKM%r(cSU5USS&g)Nc3R# UHoR5(dMUv M g7fr*)is_alive).0rs r% _Threads.reap..sBf0A66s' 'r+r,s r%r _Threads.reapsBBQr(r+) rrrrrrrrrrrs@r%rrs CCr(rc \rSrSrSrSrSrg) _NoThreadsicgr*r+rs r%r_NoThreads.append r(cgr*r+r,s r%r_NoThreads.joinrr(r+N)rrrrrrrr+r(r%rrs   r(rcJ^\rSrSrSrSr\"5rSrSr U4Sjr Sr U=r $)r iFTcURX5 URU5 g![a URX5 N/f=f!URU5 f=fr*)rarUrVrWrXs r%process_request_thread%ThreadingMixIn.process_request_threadsU  +    8  ! !' * 7   g 6 7  ! !' *s!%AAAAAc$UR(a#[U5RS[55 [R "UR X4S9nURUlURRU5 UR5 g)N_threads)targetr}) rvars setdefaultrr Threadrdaemon_threadsrr rstart)r$rYrZts r%rTThreadingMixIn.process_requestsg    J ! !*hj 9   d&A&A%,$= ?&& Q  r(cV>[TU]5 URR5 gr*)rrdr rrs r%rdThreadingMixIn.server_closes  r(r+) rrrrrrrr rrTrdrrrs@r%r r s, NN|H +r(r c\rSrSrSrg)rir+Nrrrrrr+r(r%rrTr(rc\rSrSrSrg)rir+Nrr+r(r%rrrr(rc\rSrSrSrg)rir+Nrr+r(r%rrrr(rc\rSrSrSrg)r ir+Nrr+r(r%r r rr(r c,\rSrSr\R rSrg)rir+NrrrrrGrrrr+r(r%rr r(rc,\rSrSr\R rSrg)rir+Nrr+r(r%rrrr(rc\rSrSrSrg)rir+Nrr+r(r%rrtr(rc\rSrSrSrg)rir+Nrr+r(r%rr4r(rc\rSrSrSrg)rir+Nrr+r(r%rrrr(c\rSrSrSrg)rir+Nrr+r(r%rrr!r(c,\rSrSrSrSrSrSrSrg)r icXlX lX0lUR5 UR 5 UR 5 g!UR 5 f=fr*)rYrZserversetuphandlefinish)r$rYrZr&s r%r&BaseRequestHandler.__init__s< ,    KKM KKMDKKMs AAcgr*r+r,s r%r'BaseRequestHandler.setuprr(cgr*r+r,s r%r(BaseRequestHandler.handlerr(cgr*r+r,s r%r)BaseRequestHandler.finishrr()rZrYr&N) rrrrr&r'r(r)rr+r(r%r r s$   r(r c0\rSrSrSrSrSrSrSrSr Sr g) r irrNFc URUlURb%URRUR5 UR(a9URR [ R[ RS5 URRSUR5Ul URS:Xa[UR5UlgURRSUR5Ulg)NTrbrwb)rY connectionrI settimeoutdisable_nagle_algorithmrrG IPPROTO_TCP TCP_NODELAYmakefilerbufsizerfilewbufsize _SocketWriterwfiler,s r%r'StreamRequestHandler.setup)s,, << # OO & &t|| 4  ' ' OO & &v'9'9'-'9'94 A__--dDMMB ==A &t7DJ11$ FDJr(c URR(dURR5 URR 5 UR R 5 g![Ra NKf=fr*)r?closedflushrGerrorrr<r,s r%r)StreamRequestHandler.finish6s`zz      "   <<  sA,,BB)r5r<r?) rrrrr;r=rIr7r'r)rr+r(r%r r s(HHG$ G r(r c,\rSrSrSrSrSrSrSrg)r>iAcXlgr*_sock)r$socks r%r&_SocketWriter.__init__Fs r(cgr@r+r,s r%writable_SocketWriter.writableIsr(cURRU5 [U5nURsSSS5 $!,(df  g=fr*)rIsendall memoryviewnbytes)r$bviews r%write_SocketWriter.writeLs. 1 ]d;;]]s = A c6URR5$r*)rIrr,s r%r_SocketWriter.filenoQszz  ""r(rHN) rrrrr&rMrUrrr+r(r%r>r>As  #r(r>c \rSrSrSrSrSrg)r iTcSSKJn URuUlUlU"UR5UlU"5Ulg)Nr)BytesIO)ior[rYpacketrGr<r?)r$r[s r%r'DatagramRequestHandler.setupXs0#'<<  T[T[[) Y r(cURRURR5UR5 gr*)rGsendtor?getvaluerZr,s r%r)DatagramRequestHandler.finish^s) 4::..0$2E2EFr()r]r<rGr?N)rrrrr'r)rr+r(r%r r Ts  Gr(r )& __version__rGr4rrtr r\rrKr__all__rextendrr2SelectSelectorrrrrlistrrr rrrr rrrrrrr r r>r r+r(r%rhsv  " 7 2v NNJK 69 NN34r613NOP 9n%%,,O..OjjZE EP  8 2vU@U@pCtC,  %%P 2v9<99<99999 69(9((Y(LN4DKOn6HOr6Kl4DKO 6HO# # \+-+Z#N#& G/ Gr(