+
    Bi$E                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHt  ^ RIt^ RI Ht ^ RI Ht ^ RI Ht ^ R	I Ht ^ R
IHt ^ RIHt ^ RI H!t! ^ RI H"t" Rt#R t$]$! RR4      t%]$! RR4      t&]$! RR4      t']$! RR4      t(])! ]$! RR4      4      ;_uu_ 4       t*]! ]*PW                  4       4      t,RRR4       R t-RR/R lt.R t/R t0]Pb                  3R lt2R t3 ! R R]4      t4 ! R  R!]4      t5 ! R" R#4      t6 ! R$ R%]6]54      t7R&R'/R( lt8]9! ]R)4      '       de    ! R* R+]	Pt                  ]4      t; ! R, R-];]4      t< ! R. R/]<4      t= ! R0 R1]6]=4      t>R2 t?]P                  R3 4       tA]P                  R&R'/R4 l4       tB]P                  R5R6R7^ R&R'/R8 l4       tCR9 tD]P                  R5R6R7^ /R: l4       tER; tF ! R< R=]P                  4      tH ! R> R?]P                  4      tJR@ tK ! RA RB]L4      tM ! RC RD4      tNRE tO ! RF RG]P                  4      tP]P                  RH 4       tQ]P                  ]P                  ]P                  3RI ltURJ tV]
P                  RK8X  d   ] P                  P                  tZR# ] P                  P                  tZR#   ] d    Rt ELri ; i  + '       g   i     EL; i)L    N)literal_eval)mock)
HTTPServer)WSGIRequestHandler
WSGIServer)base_events)events)format_helpers)tasks)logger)support)socket_helper)threading_helper皙?c                     \         P                  P                  ! \        P                  .V O5!  p\         P                  P                  V4      '       d   V# \         P                  P                  ! \         P                  P                  \        4      R .V O5!  p\         P                  P                  V4      '       d   V# \        \         P                  P                  V 4      4      h)z..)	ospathjoinr   TEST_HOME_DIRisfiledirname__file__FileNotFoundError)filenamefullnames   * ./usr/lib/python3.14/test/test_asyncio/utils.py	data_filer   ,   s    ww||G11=H=H	ww~~hww||BGGOOH5tGhGH	ww~~h
BGGLL2
33    certdatazssl_cert.pemzssl_key.pemzkeycert3.pemzpycacert.pemzkeycert3.pem.referencec                      \         P                  ! \         P                  4      p V P                  \        \
        4       R V n        \         P                  V n        V # F)	ssl
SSLContextPROTOCOL_TLS_SERVERload_cert_chainONLYCERTONLYKEYcheck_hostname	CERT_NONEverify_mode)server_contexts    r   simple_server_sslcontextr,   =   s@    ^^C$;$;<N""8W5$)N!!$Nr   disable_verifyTc                     \         P                  ! \         P                  4      pR Vn        V '       d   \         P                  Vn        V# r!   )r"   r#   PROTOCOL_TLS_CLIENTr(   r)   r*   )r-   client_contexts   $ r   simple_client_sslcontextr1   E   s3    ^^C$;$;<N$)N!%(]]"r   c                  .    \         f   R # \        RR7      # )NT)r-   )r"   r1    r   r   dummy_ssl_contextr4   M   s    
{'t<<r   c                     R  pV! 4       pV P                  V4      pRVn         V P                  V4       VP                  4        R#   TP                  4        i ; i)c                     "   R # 5iNr3   r3   r   r   oncerun_briefly.<locals>.onceU   s     s   FN)create_task_log_destroy_pendingrun_until_completeclose)loopr8   gents   &   r   run_brieflyrA   T   sN    
&CA #A"				s   A Ac                     R p\         P                  ! VRR7       FK  pV! 4       '       d    R# V P                  \        P                  ! V4      4       \        V^,          R4      pKM  	  \        4       h)gMbP?F)errorg      ?N)r   
busy_retryr<   r   sleepmaxTimeoutError)r>   predtimeoutdelay_s   &&&  r   	run_untilrL   b   sY    Eu566E 23EAIs#	 6 nr   c                 \    V P                  V P                  4       V P                  4        R # r7   )	call_soonstoprun_foreverr>   s   &r   run_oncerR   m   s      	NN499r   c                   ,   a  ] tR t^xt o R tR tRtV tR# )SilentWSGIRequestHandlerc                ,    \         P                  ! 4       # r7   )ioStringIOselfs   &r   
get_stderr#SilentWSGIRequestHandler.get_stderrz   s    {{}r   c                    R # r7   r3   )rY   formatargss   &&*r   log_message$SilentWSGIRequestHandler.log_message}       r   r3   N)__name__
__module____qualname____firstlineno__rZ   r_   __static_attributes____classdictcell____classdict__s   @r   rT   rT   x   s      r   rT   c                   P   a a ] tR t^t o]P
                  tV 3R ltR tRt	Vt
V ;t# )SilentWSGIServerc                `   < \         SV `  4       w  rVP                  V P                  4       W3# r7   superget_request
settimeoutrequest_timeoutrY   requestclient_addr	__class__s   &  r   ro   SilentWSGIServer.get_request   s0    $w244//0##r   c                    R # r7   r3   rY   rs   client_addresss   &&&r   handle_errorSilentWSGIServer.handle_error   ra   r   r3   )rb   rc   rd   re   r   LOOPBACK_TIMEOUTrq   ro   rz   rf   rg   __classcell__ru   ri   s   @@r   rk   rk      s     ..O$
 r   rk   c                   &   a  ] tR t^t o R tRtV tR# )SSLWSGIServerMixinc                   \         P                  ! \         P                  4      pVP                  \        \
        4       VP                  VR R7      p V P                  WBV 4       VP                  4        R#   \         d     R# i ; i)T)server_sideN)
r"   r#   r$   r%   r&   r'   wrap_socketRequestHandlerClassr=   OSError)rY   rs   ry   contextssocks   &&&  r   finish_request!SSLWSGIServerMixin.finish_request   sm    
 ..!8!89'2##G#>	$$UDAKKM 		s   "A7 7BBr3   N)rb   rc   rd   re   r   rf   rg   rh   s   @r   r   r      s      r   r   c                       ] tR t^tRtR# )SSLWSGIServerr3   Nrb   rc   rd   re   rf   r3   r   r   r   r      s    r   r   use_sslFc              #     aa"   R  oV3R lpV'       d   TMTpV! V \         4      oSP                  V4       SP                  Sn        \        P
                  ! V3R lR7      pVP                  4         Sx  SP                  4        SP                  4        VP                  4        R#   SP                  4        SP                  4        TP                  4        i ; i5i)c              3      "   \        V R ,          4      pV'       d;   V R,          P                  \        VR4      4      pVx  V\        V4      ,          pKB  R# 5i)CONTENT_LENGTHz
wsgi.inputi   N)intreadminlen)environsizedatas   &  r   r>   _run_test_server.<locals>.loop   sL     7+,-<(--c$.@ADJCID s
   A<Ac                 P   < R pR.pV! W#4       V R,          R8X  d	   S! V 4      # R.# )z200 OK	PATH_INFOz/loops   Test message)zContent-typez
text/plainr3   )r   start_responsestatusheadersr>   s   &&  r   app_run_test_server.<locals>.app   s8    12v';7*= #$$r   c                  (   < S P                  R R7      # )r   )poll_interval)serve_forever)httpds   r   <lambda>"_run_test_server.<locals>.<lambda>   s    u***>r   targetN)
rT   set_appserver_addressaddress	threadingThreadstartshutdownserver_closer   )	r   r   
server_clsserver_ssl_clsr   server_classserver_threadr   r>   s	   $$$$   @@r   _run_test_serverr      s     % &->*L":;E	MM#((EM$$>@M 	s   A0C 5B+ 92C +2CC AF_UNIXc                   &   a  ] tR t^t o R tRtV tR# )UnixHTTPServerc                `    \         P                  P                  V 4       R V n        ^PV n        R# )	127.0.0.1N)socketserverUnixStreamServerserver_bindserver_nameserver_portrX   s   &r   r   UnixHTTPServer.server_bind   s&    ))55d;*D!Dr   )r   r   N)rb   rc   rd   re   r   rf   rg   rh   s   @r   r   r      s     	" 	"r   r   c                   P   a a ] tR t^t o]P
                  tR tV 3R ltRt	Vt
V ;t# )UnixWSGIServerc                P    \         P                  V 4       V P                  4        R # r7   )r   r   setup_environrX   s   &r   r   UnixWSGIServer.server_bind   s    &&t, r   c                b   < \         SV `  4       w  rVP                  V P                  4       VR3# )r   )r    rm   rr   s   &  r   ro   UnixWSGIServer.get_request   s5    #(7#6#8 Gt334 ---r   r3   )rb   rc   rd   re   r   r|   rq   r   ro   rf   rg   r}   r~   s   @@r   r   r      s     !22	!		. 		.r   r   c                   &   a  ] tR t^t o R tRtV tR# )SilentUnixWSGIServerc                    R # r7   r3   rx   s   &&&r   rz   !SilentUnixWSGIServer.handle_error   s    r   r3   N)rb   rc   rd   re   rz   rf   rg   rh   s   @r   r   r      s     	 	r   r   c                       ] tR t^tRtR# )UnixSSLWSGIServerr3   Nr   r3   r   r   r   r      s    r   r   c                  ,    \         P                  ! 4       # r7   )r   create_unix_domain_namer3   r   r   gen_unix_socket_pathr      s    4466r   c               #      "   \        4       p  V x   \        P                  ! V 4       R #   \         d     R # i ; i   \        P                  ! T 4       i   \         d     i i ; i; i5ir7   )r   r   unlinkr   )r   s    r   unix_socket_pathr      sZ     #%	J		$ 		$ sR   A*= + A*:A*:A*A'AA'A$!A'#A$$A''A*c           	   #      "   \        4       ;_uu_ 4       p\        W\        \        R 7       Rj  xL
  RRR4       R#  L  + '       g   i     R# ; i5i)r   r   r   r   N)r   r   r   r   )r   r   s   $ r   run_test_unix_serverr      sF     4'3G7HJ J J  J  s)   AA >A 
AA  A		Ahostr   portc              #   R   "   \        W3V\        \        R 7       Rj  xL
  R#  L5ir   )r   rk   r   )r   r   r   s   $$$r   run_test_serverr     s#     g+;/<> > >s   '%'c                      V P                  R4      w  rVR8X  d   V P                  4        R# V P                  W4       K@  )Ti      STOPN)recvfromr=   sendto)sockr   addrs   &  r   echo_datagramsr     s4    
]]4(
7?JJLKK#r   c              #   v  a"   \         P                  ! W\         P                  R 7      pV^ ,          w  r4rVp\         P                   ! W4V4      oSP                  W34       SP	                  4       p\
        P                  ! V3R lR7      p	V	P                  4         Vx  \         P                   ! W4V4      p
V
P                  RV4       V
P                  4        V	P                  4        R#   \         P                   ! Y4T4      p
T
P                  RT4       T
P                  4        T	P                  4        i ; i5i))typec                     < \        S 4      # r7   )r   )r   s   r   r   %run_udp_echo_server.<locals>.<lambda>   s
    ^D-Ar   r   r   N)socketgetaddrinfo
SOCK_DGRAMbindgetsocknamer   r   r   r   r=   r   )r   r   	addr_infofamilyr   protorK   sockaddrsocknamethreadsock2r   s   $$         @r   run_udp_echo_serverr     s     ""4F4E4EFI'0|$F%H==u-DIItl!H%ABF
LLN fE2Wh' fE2Wh's    BD9C+  AD9+AD66D9c                     / p\        V 4       FA  pVP                  R 4      '       d   VP                  R 4      '       d   K3  \        RR7      W&   KC  	  \	        RV 3V P
                  ,           V4      ! 4       # )__N)return_valueTestProtocol)dir
startswithendswithMockCallbackr   	__bases__)basedctnames   &  r   make_test_protocolr   -  s`    
CD	??4  T]]4%8%8 d3		 
 $.. 8#>@@r   c                   B   a  ] tR tRt o R tR	R ltR tR tR tRt	V t
R# )
TestSelectori7  c                    / V n         R # r7   keysrX   s   &r   __init__TestSelector.__init__9  s	    	r   Nc                R    \         P                  ! V^ W#4      pW@P                  V&   V# )r   )	selectorsSelectorKeyr  )rY   fileobjr	   r   keys   &&&& r   registerTestSelector.register<  s'    ##GQ= 		'
r   c                8    V P                   P                  V4      # r7   )r  pop)rY   r
  s   &&r   
unregisterTestSelector.unregisterA  s    yy}}W%%r   c                    . # r7   r3   )rY   rI   s   &&r   selectTestSelector.selectD  s    	r   c                    V P                   # r7   r  rX   s   &r   get_mapTestSelector.get_mapG  s    yyr   r  r7   )rb   rc   rd   re   r  r  r  r  r  rf   rg   rh   s   @r   r  r  7  s#     
& r   r  c                      a a ] tR tRt oRV 3R lltR tR tV 3R ltR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tV 3R ltRR/V 3R lltR tR tRtVtV ;t# )TestLoopiK  Nc                J  < \         SV `  4        Vf   R pRV n        MRV n        V! 4       V n        \	        V P                  4       ^ V n        RV n        . V n        \        4       V n	        / V n
        / V n        V P                  4        \        P                  ! 4       V n        R # )Nc               3      "   R x  R # 5ir7   r3   r3   r   r   r?   TestLoop.__init__.<locals>.genb  s     s   	FTg&.>)rn   r  _check_on_close_gennext_time_clock_resolution_timersr  	_selectorreaderswritersreset_countersweakrefWeakValueDictionary_transports)rY   r?   ru   s   &&r   r  TestLoop.__init__^  s    ;#(D #'D E	TYY
!%%"668r   c                    V P                   # r7   r   rX   s   &r   timeTestLoop.timeu  s    zzr   c                L    V'       d   V ;P                   V,          un         R # R # r7   r,  )rY   advances   &&r   advance_timeTestLoop.advance_timex  s    JJ'!J r   c                   < \         SV `  4        V P                  '       d(    V P                  P	                  ^ 4       \        R4      hR#   \         d     R# i ; i)r   zTime generator is not finishedN)rn   r=   r  r  sendAssertionErrorStopIteration)rY   ru   s   &r   r=   TestLoop.close}  sU    G		q! %%EFF   ! s   A AAc                P    \         P                  ! W#V R 4      V P                  V&   R # r7   )r	   Handler$  rY   fdcallbackr^   s   &&&*r   _add_readerTestLoop._add_reader      !==tDRr   c                    V P                   V;;,          ^,          uu&   WP                  9   d   V P                  V R# R#    TF)remove_reader_countr$  rY   r;  s   &&r   _remove_readerTestLoop._remove_reader  4      $)$R r   c                   WP                   9  d   \        R V R24      hV P                   V,          pVP                  V8w  d   \        RVP                   RV 24      hVP                  V8w  d   \        RVP                   RV 24      hR# )fd  is not registeredzunexpected callback:  != zunexpected callback args: N)r$  r5  	_callback_argsrY   r;  r<  r^   handles   &&&* r   assert_readerTestLoop.assert_reader  s    \\! 3rd*<!=>>b!x' '(8(8'9hZHJ J<<4 ,V\\N$tfEG G  r   c                D    WP                   9   d   \        R V R24      hR# )rI  z is registeredN)r$  r5  rD  s   &&r   assert_no_readerTestLoop.assert_no_reader  s%     3rd.!9:: r   c                P    \         P                  ! W#V R 4      V P                  V&   R # r7   )r	   r9  r%  r:  s   &&&*r   _add_writerTestLoop._add_writer  r?  r   c                    V P                   V;;,          ^,          uu&   WP                  9   d   V P                  V R# R# rA  )remove_writer_countr%  rD  s   &&r   _remove_writerTestLoop._remove_writer  rG  r   c                   WP                   9  d   \        R V R24      hV P                   V,          pVP                  V8w  d   \        VP                  : RV: 24      hVP                  V8w  d   \        VP                  : RV: 24      hR# )rI  rJ  rK  N)r%  r5  rL  rM  rN  s   &&&* r   assert_writerTestLoop.assert_writer  s    \\! 3rd*<!=>>b!x' F$4$4#7tH<!HII<<4 FLL#34x!@AA  r   c                L   \        V\        4      '       g    \        VP                  4       4      p V P                  V,          p\        RP                  W4      4      h  \        \        \
        3 d    \        R P                  T4      4      Rhi ; i  \         d     R# i ; i)zInvalid file object: {!r}Nz.File descriptor {!r} is used by transport {!r})

isinstancer   filenoAttributeError	TypeError
ValueErrorr]   r)  RuntimeErrorKeyError)rY   r;  	transports   && r   _ensure_fd_no_transport TestLoop._ensure_fd_no_transport  s    "c"">%
	$((,I @GG#$ $ #Iz: >  "((.r
49=>>  		s   A B 2BB#"B#c                L    V P                  V4       V P                  ! W.VO5!  # r7   )rh  r=  r:  s   &&&*r   
add_readerTestLoop.add_reader  &    $$R(4t44r   c                F    V P                  V4       V P                  V4      # r7   )rh  rE  rD  s   &&r   remove_readerTestLoop.remove_reader  !    $$R(""2&&r   c                L    V P                  V4       V P                  ! W.VO5!  # r7   )rh  rV  r:  s   &&&*r   
add_writerTestLoop.add_writer  rm  r   c                F    V P                  V4       V P                  V4      # r7   )rh  rZ  rD  s   &&r   remove_writerTestLoop.remove_writer  rq  r   c                    \         P                  ! \        4      V n        \         P                  ! \        4      V n        R # r7   )collectionsdefaultdictr   rC  rY  rX   s   &r   r&  TestLoop.reset_counters  s(    #.#:#:3#? #.#:#:3#? r   c                   < \         SV `  4        V P                   F/  pV P                  P	                  V4      pV P                  V4       K1  	  . V n        R # r7   )rn   	_run_oncer"  r  r4  r1  )rY   whenr0  ru   s   &  r   r}  TestLoop._run_once  sE    LLDiinnT*Gg& ! r   r   c               b   < V P                   P                  V4       \        SV `  ! W.VO5R V/ # )r   )r"  appendrn   call_at)rY   r~  r<  r   r^   ru   s   &&&$*r   r  TestLoop.call_at  s.    D!wtFFgFFr   c                    R # r7   r3   )rY   
event_lists   &&r   _process_eventsTestLoop._process_events  s    r   c                    R # r7   r3   rX   s   &r   _write_to_selfTestLoop._write_to_self  ra   r   )r  r!  r  r#  r   r"  r)  r$  rC  rY  r%  r7   )rb   rc   rd   re   r  r-  r1  r=   r=  rE  rP  rS  rV  rZ  r]  rh  rk  ro  rs  rv  r&  r}  r  r  r  rf   rg   r}   r~   s   @@r   r  r  K  s     &9."
GE	G;EB$"5
'
5
'
@GT G r   r  c                  4    \         P                  ! RR R./V B # )spec__call__r3   )r   Mock)kwargss   ,r   r   r     s    991:,1&11r   c                   &   a  ] tR tRt o R tRtV tR# )MockPatterni  c                r    \        \        P                  ! \        V 4      V\        P                  4      4      # r7   )boolresearchstrSrY   others   &&r   __eq__MockPattern.__eq__  s"    BIIc$i566r   r3   N)rb   rc   rd   re   r  rf   rg   rh   s   @r   r  r    s     7 7r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )MockInstanceOfi  c                    Wn         R # r7   _type)rY   r   s   &&r   r  MockInstanceOf.__init__  s    
r   c                ,    \        WP                  4      # r7   )r`  r  r  s   &&r   r  MockInstanceOf.__eq__  s    %,,r   r  N)rb   rc   rd   re   r  r  rf   rg   rh   s   @r   r  r    s     - -r   r  c                 X    \         P                  ! V 4      pVf   \        RV : 24      hV# )Nzunable to get the source of )r
   _get_function_sourcerd  )funcsources   & r   get_function_sourcer  	  s*    006F~TCDDMr   c                   T   a  ] tR tRt o ]R 4       tRR/R ltRR ltR tR	 t	R
t
V tR# )TestCasei  c                    V P                   eS   V P                  4       '       g!   V P                  V P                  4       4       MV P                   P	                  RR7       V P                  4        R # )NT)wait)_default_executor	is_closedr<   shutdown_default_executorr   r=   rQ   s   &r   
close_loopTestCase.close_loop  sR    !!->>##''(F(F(HI&&//T/:

r   cleanupTc                   Vf   \        R4      h\        P                  ! R 4       V'       d   V P                  V P                  V4       R # R # )Nzloop is None)r5  r	   set_event_loop
addCleanupr  )rY   r>   r  s   &&$r   r  TestCase.set_event_loop  s:    < 00d#OODOOT2 r   Nc                >    \        V4      pV P                  V4       V# r7   )r  r  )rY   r?   r>   s   && r   new_test_loopTestCase.new_test_loop"  s    }D!r   c                :    \         P                  ! 4       V n        R # r7   )r   threading_setup_thread_cleanuprX   s   &r   setUpTestCase.setUp'  s    /??Ar   c                    \         P                  ! R 4       V P                  \        P                  ! 4       4       V P                  4        \        P                  ! V P                  !   \        P                  ! 4        R # r7   )r	   r  assertIsNonesys	exception
doCleanupsr   threading_cleanupr  r   reap_childrenrX   s   &r   tearDownTestCase.tearDown*  sP    d# 	#--/***D,@,@Ar   )r  r7   )rb   rc   rd   re   staticmethodr  r  r  r  r  rf   rg   rh   s   @r   r  r    s8      3d 3
B	  	 r   r  c               #      "   \         P                  p  \         P                  ! \        P                  ^,           4       Rx  \         P                  ! V 4       R#   \         P                  ! T 4       i ; i5i)rB  N)r   levelsetLevelloggingCRITICAL)	old_levels    r   disable_loggerr  6  sG      I#((*+	"	"s   A6/A A6A33A6c                     \         P                  ! \        P                  4      pWn        Wn        W#n        R VP                  n        V# )g        )r   	MagicMockr   r   r   r   
gettimeoutr   )r   r   r   r   s   &&& r   mock_nonblocking_socketr  D  s6     >>&--(DJIK#&DOO Kr   c                    a a"   R oV V3R lp\         P                  ! 4       P                  V4       \         P                  ! ^ 4      G R j  xL
  Se   ShR #  L5i)Nc                  n   <  SP                  4        F  p K  	  R #   \         d   pTo R p?R # R p?ii ; ir7   )	__await__BaseException)rK   errcoroexcs     r   r   await_without_task.<locals>.funcQ  s1    	^^% & 	C	s    4/4)asyncioget_running_looprN   rE   )r  r  r  s   f @r   await_without_taskr  O  sO     
C ((.
--

	  s   AAAAwin32)\r  ry  
contextlibrV   r  r   r  r  r   r   r  r   unittestr'  astr   r   http.serverr   wsgiref.simple_serverr   r   r"   ImportErrorr   r	   r
   r   asyncio.logr   testr   test.supportr   r   	CLOCK_RESr   r&   r'   SIGNED_CERTFILE
SIGNING_CAopenfiler   PEERCERTr,   r1   r4   rA   SHORT_TIMEOUTrL   rR   rT   rk   r   r   r   hasattrr   r   r   r   r   r   contextmanagerr   r   r   r   r   r   BaseSelectorr  BaseEventLoopr  r   r  r  r  r  r  r  IPPROTO_TCPSOCK_STREAMAF_INETr  r  platformwindows_events_DefaultEventLoopPolicyDefaultEventLoopPolicyunix_eventsr3   r   r   <module>r     s      	  	 	    
      " @    "    & ) 	4 Z0
J
.J7z>2
	)J 8
9::dDIIK(H ;t = #*"7"7 1 
z 
 &	&(8 	   F 69"66
 ". .(~ .0D 7   J J J >K >a > > >$  !  &A9)) (b{(( bJ2
7# 
7- -# x   # L 
# 
# #)"4"46;M;M#)>> <<7$33KK$00HHQ  
CB ;::s   J> K>	K
KK	