
    )i                    f   % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
JrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJrJ r   S SKJ!r!  S SK"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  S SK+r,S SK-r,S SK.J/r/J0r0J1r1  S SK-J2r2J3r3J4r4J5r5J6r6  S SK7J8r9  S SK:J;r;  SSK<J=r=J>r>J?r?J@r@JArAJBrBJCrC  SSKDJErE  SSKFJGrGJHrHJIrIJJrJ  SSKKJLrL  SSKMJNrN  SSKOJPrQ  SSKOJRrS  SSKOJTrU  SSKOJVrVJWrW  SSKOJXrY  SSKZJ[r\  SSKCJ]r]J^r^J_r_  SSK`JaraJbrb  SS KcJdrd  \$(       a  S S!KeJfrf  \R                  S":  a  S S#K"Jhrh  OS S#KiJhrh  \R                  S$:  a	  S S%K"JjrjJkrk  OS S&KlJmrm  S S%KiJjrjJkrk  \(" S'5      rn\(" S(5      ro\(" S)\p\]5      rq\j" S*5      rr\h" S+5      rs\,R                  R                  ru " S, S-\\5      r[ " S. S/\CR                  5      rv " S0 S1\CR                  5      rw\" S2S39 " S4 S5\CR                  5      5       ry\" S2S39 " S6 S7\CR                  5      5       r{\" S2S39 " S8 S9\CR                  5      5       r| " S: S;\,R                  R                  5      r~\u" S<5      rS=\S<'   SbS> jr " S? S@\&\q   5      r " SA SB\\CGR                  5      r " SC SD\\CGR                  5      r " SE SF\\CGR
                  5      r " SG SH\\CGR
                  5      r " SI SJ\\]   \CGR                  5      r " SK SL\\]   \CGR                  5      r " SM SN\\p   \CGR                  5      r " SO SP\\p   \CGR                  5      r " SQ SR\S5      rR " SS ST\U5      rT " SU SV\Y5      rX " SW SX\Q5      rP\u" SY5      rS=\SY'    " SZ S[5      r " S\ S]\CGR                  5      r " S^ S_\A5      r " S` Sa\a5      r\rg)c    )annotationsN)AsyncGeneratorAsyncIterator	AwaitableCallable
Collection	CoroutineIterableSequence)Future)AbstractContextManager)	dataclass)partial)IOBase)PathLike)Signals)AddressFamily
SocketKind)TracebackType)IOTYPE_CHECKINGAnyGenericNoReturnTypeVarcastoverload)ErrorOutcomeValue)current_root_taskcurrent_tasknotify_closingwait_readablewait_writable)
SocketType)run_sync   )CapacityLimiterStatisticsEventStatisticsLockStatisticsRunFinishedErrorTaskInfo
WouldBlockabc)claim_worker_thread)BrokenResourceErrorBusyResourceErrorClosedResourceErrorEndOfStream)convert_ipv6_sockaddr)create_memory_object_streamCapacityLimiterEventLock)ResourceGuardSemaphoreStatistics	SemaphoreCancelScope)IPSockAddrTypeUDPPacketTypeUNIXDatagramPacketType)AsyncBackendStrOrBytesPath)MemoryObjectSendStream)FileDescriptorLike)   
   )	ParamSpec)rJ      )TypeVarTupleUnpack)BaseExceptionGroupTT_Retval
T_SockAddrPosArgsTPc                     \ rS rSr S     SS jjrSSS jjrSS jr        SS jrSSS jjr\	SS j5       r
\
R                  SS	 j5       r
\	SS
 j5       r\	SS j5       r\	SS j5       r\R                  SS j5       rSrg)rB   w   Nc                ,    [         R                  U 5      $ Nobject__new__)clsoriginalkwargss      U/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/anyio/_backends/_trio.pyr\   CancelScope.__new__x   s     ~~c""    c                L    U=(       d    [         R                  " S0 UD6U l        g N )triorB   _CancelScope__original)selfr^   r_   s      r`   __init__CancelScope.__init__}   s    "@d&6&6&@&@rb   c                :    U R                   R                  5         U $ rY   )rg   	__enter__rh   s    r`   rl   CancelScope.__enter__   s    !!#rb   c                :    U R                   R                  XU5      $ rY   )rg   __exit__rh   exc_typeexc_valexc_tbs       r`   rp   CancelScope.__exit__   s     ''6BBrb   c                :    U R                   R                  U5        g rY   )rg   cancel)rh   reasons     r`   rw   CancelScope.cancel   s    v&rb   c                .    U R                   R                  $ rY   rg   deadlinerm   s    r`   r|   CancelScope.deadline   s    '''rb   c                $    XR                   l        g rY   r{   rh   values     r`   r|   r}      s    #( rb   c                .    U R                   R                  $ rY   )rg   cancel_calledrm   s    r`   r   CancelScope.cancel_called   s    ,,,rb   c                .    U R                   R                  $ rY   )rg   cancelled_caughtrm   s    r`   r   CancelScope.cancelled_caught       ///rb   c                .    U R                   R                  $ rY   rg   shieldrm   s    r`   r   CancelScope.shield   s    %%%rb   c                $    XR                   l        g rY   r   r   s     r`   r   r      s    !&rb   
__originalrY   )r^   trio.CancelScope | Noner_   r[   returnrB   )r^   r   r_   r   r   None)r   rB   rr   type[BaseException] | Noners   BaseException | Nonert   TracebackType | Noner   bool)rx   z
str | Noner   r   r   floatr   r   r   r   r   r   )r   r   r   r   )__name__
__module____qualname____firstlineno__r\   ri   rl   rp   rw   propertyr|   setterr   r   r   __static_attributes__re   rb   r`   rB   rB   w   s    15#.#AG#	#
AC,C &C %	C
 
C' ( ( __) ) - - 0 0 & & ]]' 'rb   rB   c                      \ rS rSrS
S jrSS jr        SS jrSS.       SS jjrSS.       SS jjrS	r	g)	TaskGroup   c                R    SU l         [        R                  " SS9U l        S U l        g )NFT)strict_exception_groups)_activerf   open_nursery_nursery_managercancel_scoperm   s    r`   ri   TaskGroup.__init__   s$     $ 1 1$ O rb   c                   #    SU l         U R                  R                  5       I S h  vN U l        [	        U R                  R
                  5      U l        U $  N/7f)NT)r   r   
__aenter___nurseryrB   r   rm   s    r`   r   TaskGroup.__aenter__   sG     "33>>@@'(B(BC As   %AA0Ac                8  #     U R                   R                  XU5      I S h  vN AASU l        $  N! [         aL  nUR	                  [
        R                  5      S   (       d  [
        R                  R                  5       Uee S nAff = f! AASU l        f = f7f)NF   )r   	__aexit__r   rP   splitrf   	Cancelled_create)rh   rr   rs   rt   excs        r`   r   TaskGroup.__aexit__   s     
	!..88FSS  DL T! 	99T^^,Q/nn,,.C7		  DLs=   B3 13 
B3 
B	ABB		B BBNnamec               |    U R                   (       d  [        S5      eU R                  R                  " U/UQ7SU06  g Nz;This task group is not active; no new tasks can be started.r   )r   RuntimeErrorr   
start_soonrh   funcr   argss       r`   r   TaskGroup.start_soon   s9     ||M  	  8848rb   c                  #    U R                   (       d  [        S5      eU R                  R                  " U/UQ7SU06I S h  vN $  N7fr   )r   r   r   startr   s       r`   r   TaskGroup.start   sE      ||M  ]]((@@4@@@@s   A A	AA	)r   r   r   r   r   r   )r   r   r   )r   z,Callable[[Unpack[PosArgsT]], Awaitable[Any]]r   zUnpack[PosArgsT]r   r[   r   r   )r   zCallable[..., Awaitable[Any]]r   r[   r   r[   r   r   )
r   r   r   r   ri   r   r   r   r   r   re   rb   r`   r   r      s    !
!,! &! %	!
 
!, 	9:9  9 	9
 
9 RVA1A:@AHNA	A Arb   r   c                  X   ^  \ rS rSrSS jrSU 4S jjr            SS jrSrU =r$ )	BlockingPortal   c                ,    [         R                  U 5      $ rY   rZ   r]   s    r`   r\   BlockingPortal.__new__       ~~c""rb   c                h   > [         TU ]  5         [        R                  R	                  5       U l        g rY   )superri   rf   lowlevelcurrent_trio_token_tokenrh   	__class__s    r`   ri   BlockingPortal.__init__   s"    mm668rb   c           
         [         R                  R                  [        U R                  R
                  US9U R                  UUUUU R                  S9  g )Nr   )
trio_token)rf   from_threadr'   r   _task_groupr   
_call_funcr   )rh   r   r   r_   r   futures         r`   _spawn_task_from_thread&BlockingPortal._spawn_task_from_thread   sM     	!!D$$//d;OO{{ 	" 	
rb   )r   )r   r   r   )r   z<Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval]r   tuple[Unpack[PosArgsT]]r_   dict[str, Any]r   r[   r   zFuture[T_Retval]r   r   )	r   r   r   r   r\   ri   r   r   __classcell__r   s   @r`   r   r      sQ    #9
J
 &
 	

 
 !
 

 
rb   r   F)eqc                  8    \ rS rSr% S\S'   SS	S jjrS
S jrSrg)ReceiveStreamWrapperi  ztrio.abc.ReceiveStream_streamNc                0  #     U R                   R                  U5      I S h  vN nU(       a  [        U5      $ [        e N! [        R                   a  n[        UR                  eS nAf[        R
                   a  n[
        UR                  eS nAff = f7frY   )r   receive_somerf   r3   	__cause__r1   bytesr4   rh   	max_bytesdatar   s       r`   receiveReceiveStreamWrapper.receive  sw     	9229==D ; >'' 	9%3==8'' 	9%3==8	9sA   BA ?A BA BA&&B=BBBc                T   #    U R                   R                  5       I S h  vN   g  N7frY   r   acloserm   s    r`   r   ReceiveStreamWrapper.aclose       ll!!###   (&(re   rY   )r   
int | Noner   r   r   )r   r   r   r   __annotations__r   r   r   re   rb   r`   r   r     s    ##$rb   r   c                  4    \ rS rSr% S\S'   SS jrS	S jrSrg)
SendStreamWrapperi  ztrio.abc.SendStreamr   c                  #     U R                   R                  U5      I S h  vN   g  N! [        R                   a  n[        UR                  eS nAf[        R
                   a  n[
        UR                  eS nAff = f7frY   )r   send_allrf   r3   r   r1   rh   itemr   s      r`   sendSendStreamWrapper.send!  s^     	9,,''---'' 	9%3==8'' 	9%3==8	9s<   A?* (* A?* A<AA<&A77A<<A?c                T   #    U R                   R                  5       I S h  vN   g  N7frY   r   rm   s    r`   r   SendStreamWrapper.aclose)  r   r   re   Nr   r   r   r   r   )r   r   r   r   r   r   r   r   re   rb   r`   r   r     s      9$rb   r   c                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   SS	 jrSS
 jrSS jrSS jrSS jr	\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       rSrg)Processi-  ztrio.Process_processabc.ByteSendStream | None_stdinabc.ByteReceiveStream | None_stdout_stderrc                |  #    [        SS9   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   S S S 5         U R                  5       I S h  vN   g  N N[ N*! , (       d  f       N.= f N! [         aN    U R                  5         [        SS9   U R                  5       I S h  vN    S S S 5        e ! , (       d  f       e = ff = f7fNT)r   )rB   r  r   r  r  waitBaseExceptionkillrm   s    r`   r   Process.aclose4  s     %{{kk((***||ll))+++||ll))+++ &	))+ +++ &%  	IIKD)iik!! * *)		s   
D</CC2C.C
/2C!C"C&D</C! CC! D<C
CC
CD<C! !#D9D'DD'	D9'
D5	1D99D<c                R   #    U R                   R                  5       I S h  vN $  N7frY   )r  r  rm   s    r`   r  Process.waitE  s     ]]''))))   '%'c                8    U R                   R                  5         g rY   )r  	terminaterm   s    r`   r  Process.terminateH  s    !rb   c                8    U R                   R                  5         g rY   )r  r  rm   s    r`   r  Process.killK  s    rb   c                :    U R                   R                  U5        g rY   )r  send_signal)rh   signals     r`   r  Process.send_signalN  s    !!&)rb   c                .    U R                   R                  $ rY   )r  pidrm   s    r`   r  Process.pidQ  s    }}   rb   c                .    U R                   R                  $ rY   )r  
returncoderm   s    r`   r  Process.returncodeU  s    }}'''rb   c                    U R                   $ rY   )r  rm   s    r`   stdinProcess.stdinY  s    {{rb   c                    U R                   $ rY   )r  rm   s    r`   stdoutProcess.stdout]      ||rb   c                    U R                   $ rY   )r  rm   s    r`   stderrProcess.stderra  r'  rb   re   Nr   r   int)r  r   r   r   r   r   )r   r  )r   r  )r   r   r   r   r   r   r  r  r  r  r   r  r  r"  r%  r)  r   re   rb   r`   r  r  -  s    %%))))"*"* ! ! ( (      rb   r  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_ProcessPoolShutdownInstrumentif  c                "   > [         TU ]  5         g rY   )r   	after_runr   s    r`   r1  (_ProcessPoolShutdownInstrument.after_rung  s    rb   re   r   )r   r   r   r   r1  r   r   r   s   @r`   r/  r/  f  s     rb   r/  &current_default_worker_process_limiterztrio.lowlevel.RunVarc                z  #     [         R                  " [        R                  5      I S h  vN   g  N! [         R                   aq    U  H"  nUR
                  b  M  UR                  5         M$     [        SS9   U  H  nUR                  5       I S h  vN    M     S S S 5         g ! , (       d  f        g = ff = f7fr
  )	rf   sleepmathinfr   r  r  rB   r   )workersprocesss     r`   _shutdown_process_poolr:  p  s     	'jj""">> 'G!!)  %"nn&&& # &%%%'sa   B;'3 13 B;3 $B8B88B%B
	B%B8#B;%
B4	/B82B;4B88B;c                  P    \ rS rSrS	S jrS
S jr\SS j5       rS
S jrSS jr	Sr
g)_TrioSocketMixini  c                    Xl         SU l        g NF)_trio_socket_closed)rh   trio_sockets     r`   ri   _TrioSocketMixin.__init__  s    'rb   c                z    U R                   (       a  [        eU R                  R                  5       S:  a  [        eg Nr   )r@  r3   r?  filenor1   rm   s    r`   _check_closed_TrioSocketMixin._check_closed  s1    <<%%##%)%% *rb   c                .    U R                   R                  $ rY   )r?  _sockrm   s    r`   _raw_socket_TrioSocketMixin._raw_socket  s      &&&rb   c                   #    U R                   R                  5       S:  a"  SU l        U R                   R                  5         g g 7f)Nr   T)r?  rE  r@  closerm   s    r`   r   _TrioSocketMixin.aclose  s:     ##%*DL##% +s   AAc                    [        U[        R                  5      (       a  [        UeU R                  R	                  5       S:  a  U R
                  (       a  [        S e[        U[        5      (       a  [        UeUerD  )
isinstancerf   r3   r?  rE  r@  OSErrorr1   rh   r   s     r`   _convert_socket_error&_TrioSocketMixin._convert_socket_error  s\    c43344%3.%%'!+%4/W%%%3.Irb   )r@  r?  NrA  TrioSocketTyper   r   r   )r   socket.socket)r   r  r   r   )r   r   r   r   ri   rF  r   rJ  r   rS  r   re   rb   r`   r<  r<    s*    & ' '&
rb   r<  c                  N   ^  \ rS rSrSU 4S jjrSS	S jjrS
S jrSS jrSrU =r	$ )SocketStreami  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g Nreading from
writing tor   ri   r=   _receive_guard_send_guardrh   rA  r   s     r`   ri   SocketStream.__init__  *    %+N;(6rb   c                  #    U R                       U R                  R                  U5      I S h  vN nW(       a  UsS S S 5        $ [
        e N! [         a  nU R	                  U5         S nAN:S nAff = f! , (       d  f       g = f7frY   )r_  r?  recvr  rS  r4   r   s       r`   r   SocketStream.receive  sr       0!..33I>>  !  "! ?  0**3//0 ! sY   BA6AAAA6
BA6A
A3A.)A6.A33A66
B Bc                4  #    U R                      [        U5      nU(       a2   U R                  R                  U5      I S h  vN nUWS  nU(       a  M2  S S S 5        g  N! [         a  nU R                  U5         S nAN9S nAff = f! , (       d  f       g = f7frY   )r`  
memoryviewr?  r   r  rS  )rh   r   view
bytes_sentr   s        r`   r   SocketStream.send  s     d#D4'+'8'8'='=d'C!CJ JK( $  "D$ 4..s334 sW   BBAAAB	BA
B)A?:B?BB
BBc                ^   #    U R                   R                  [        R                  5        g 7frY   )r?  shutdownsocketSHUT_WRrm   s    r`   send_eofSocketStream.send_eof  s     ""6>>2   +-r_  r`  rU  )   )r   r,  r   r   r   r   )
r   r   r   r   ri   r   r   rp  r   r   r   s   @r`   rY  rY    s    7

"	)3 3rb   rY  c                  (    \ rS rSrSS jrSS jrSrg)UNIXSocketStreami  c           	       #    [        U[        5      (       a  US:  a  [        S5      e[        U[        5      (       a  US:  a  [        S5      e[        R                  " S5      n[        R
                  R                  5       I S h  vN   U R                       U R                  R                  U[        R                  " X#R                  -  5      5      I S h  vN u  pEpgU(       d  U(       d  [        e S S S 5        W Hy  u  pnU	[        R                   :w  d  U
[        R"                  :w  a  [%        SW< SU	 SU
 35      eUR'                  US [)        U5      [)        U5      UR                  -  -
   5        M{     W[+        U5      4$  GN N! [         a  nU R                  U5         S nAOS nAff = fGM!  ! , (       d  f       N= f7f)	Nr   z%msglen must be a non-negative integerr   z!maxfds must be a positive integeriz.Received unexpected ancillary data; message = z, cmsg_level = z, cmsg_type = )rP  r,  
ValueErrorarrayrf   r   
checkpointr_  r?  recvmsgrn  CMSG_LENitemsizer4   r  rS  
SOL_SOCKET
SCM_RIGHTSr   	frombyteslenlist)rh   msglenmaxfdsfdsmessageancdataflagsaddrr   
cmsg_level	cmsg_type	cmsg_datas               r`   receive_fdsUNIXSocketStream.receive_fds  s    &#&&&1*DEE&#&&&1*@AAkk#mm&&(((  
:>:K:K:S:S0E F; 51Ge #7)) ! 18,J9V...)v?P?P2P"DWK P$$.<~i[J 
 MM)$Vc)nI8U&VWX 18 S	!!1 	)5 % 4..s334  ! sg   BGF
GF:?FFF!F:6BGF
F4F/*F:/F44F::
GGc                  #    U(       d  [        S5      eU(       d  [        S5      e/ nU Ha  n[        U[        5      (       a  UR                  U5        M+  [        U[        5      (       d  MB  UR                  UR                  5       5        Mc     [        R                  " SU5      n[        R                  R                  5       I S h  vN   U R                       U R                  R                  U/[        R                  [        R                  U4/5      I S h  vN    S S S 5        g  Nb N! [          a  nU R#                  U5         S nAOS nAff = fM~  ! , (       d  f       g = f7f)Nzmessage must not be emptyzfds must not be emptyrx  )ry  rP  r,  appendr   rE  rz  rf   r   r{  r`  r?  sendmsgrn  r  r  r  rS  )rh   r  r  filenosfdfdarrayr   s          r`   send_fdsUNIXSocketStream.send_fds  s.    899455B"c""r"B''ryy{+	  ++c7+mm&&(((4++33 	 !' 1 1 & 1 1 '	 	 	   	)	 % 4..s334  sn   A'E*-AE*D+	E*EA D/D-D/!E"
E*-D//
E9E
EEE
E'#E*re   N)r  r,  r  r,  r   ztuple[bytes, list[int]])r  r   r  zCollection[int | IOBase]r   r   )r   r   r   r   r  r  r   re   rb   r`   rv  rv    s    "B4rb   rv  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )TCPSocketListeneri  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g Nzaccepting connections fromr   ri   rf   rn  from_stdlib_socketr=   _accept_guardrh   
raw_socketr   s     r`   ri   TCPSocketListener.__init__  -    77
CD*+GHrb   c                h  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        WR                  [        R                  [        R                  S5        [        U5      $  NH! [         a  nU R	                  U5         S nANdS nAff = f! , (       d  f       Nr= f7fNr   )
r  r?  acceptr  rS  
setsockoptrn  IPPROTO_TCPTCP_NODELAYrY  rh   rA  _addrr   s       r`   r  TCPSocketListener.accept
  s     0+/+<+<+C+C+E%E"   	v1163E3EqIK(( &F  0**3//0  sO   B2B!A9A7A9AB27A99
BBB!BB!!
B/+B2r  r  rW  )r   rY  r   r   r   r   ri   r  r   r   r   s   @r`   r  r    s    I) )rb   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )UNIXSocketListeneri  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g r  r  r  s     r`   ri   UNIXSocketListener.__init__  r  rb   c                
  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        [        W5      $  N! [         a  nU R	                  U5         S nAN5S nAff = f! , (       d  f       NC= f7frY   )r  r?  r  r  rS  rv  r  s       r`   r  UNIXSocketListener.accept  sn     0+/+<+<+C+C+E%E"    ,,	 &F  0**3//0  sN   BA2A
AA
BA


A/A*%A2*A//A22
B <Br  r  )r   rv  r  r   s   @r`   r  r    s    I- -rb   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )		UDPSocketi$  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r[  r^  ra  s     r`   ri   UDPSocket.__init__%  rc  rb   c                &  #    U R                       U R                  R                  S5      I S h  vN u  pU[        U5      4sS S S 5        $  N! [         a  nU R                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fNrt  )r_  r?  recvfromr5   r  rS  rh   r   r  r   s       r`   r   UDPSocket.receive*  sv       0#'#4#4#=#=e#DD
2488 ! D  0**3//0/ !  sU   BB AAA
BA
A3A.)B .A33B 7	B 
B
Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frY   r`  r?  sendtor  rS  r   s      r`   r   UDPSocket.send2  a     0''..555 5  0**3//0 H   A6A%=;=	A6=
A"AA%A""A%%
A3/A6rs  rU  )r   ztuple[bytes, IPSockAddrType])r   rD   r   r   	r   r   r   r   ri   r   r   r   r   r   s   @r`   r  r  $      7
00 0rb   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUDPSocketi:  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r[  r^  ra  s     r`   ri   ConnectedUDPSocket.__init__;  rc  rb   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  r_  r?  re  r  rS  rR  s     r`   r   ConnectedUDPSocket.receive@  d       0!..33E:: ! :  0**3//0/	 !  N   BA1?=?
B?
A$	AA1A$$A1(	B1
A?;Bc                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frY   r`  r?  r   r  rS  r   s      r`   r   ConnectedUDPSocket.sendG  a     0'',,T222 2  0**3//0 H   A8A'?=?	A8?
A$	AA'A$$A''
A51A8rs  rU  r   r   r   r  r   s   @r`   r  r  :  s    7
00 0rb   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	UNIXDatagramSocketiO  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r[  r^  ra  s     r`   ri   UNIXDatagramSocket.__init__P  rc  rb   c                  #    U R                       U R                  R                  S5      I S h  vN u  pX4sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  )r_  r?  r  r  rS  r  s       r`   r   UNIXDatagramSocket.receiveU  sm       0#'#4#4#=#=e#DD
z ! D  0**3//0/ !  sT   BA6AAA
BA
A)A$A6$A))A6-	B6
B Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frY   r  r   s      r`   r   UNIXDatagramSocket.send]  r  r  rs  rU  )r   rE   )r   rE   r   r   r  r   s   @r`   r  r  O  r  rb   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUNIXDatagramSocketie  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r[  r^  ra  s     r`   ri   $ConnectedUNIXDatagramSocket.__init__h  rc  rb   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  r  rR  s     r`   r   #ConnectedUNIXDatagramSocket.receivem  r  r  c                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frY   r  r   s      r`   r    ConnectedUNIXDatagramSocket.sendt  r  r  rs  rU  r  r   r  r   s   @r`   r  r  e  s    7
00 0rb   r  c                  P    \ rS rSrS
S jrSS jrSS jrSS jrSS jrSS jr	Sr
g	)r:   i  c                ,    [         R                  U 5      $ rY   rZ   r   s    r`   r\   Event.__new__  r   rb   c                8    [         R                  " 5       U l        g rY   )rf   r:   _Event__originalrm   s    r`   ri   Event.__init__  s    **,rb   c                6    U R                   R                  5       $ rY   )r  is_setrm   s    r`   r  Event.is_set      %%''rb   c                R   #    U R                   R                  5       I S h  vN $  N7frY   )r  r  rm   s    r`   r  
Event.wait  s     __))++++r  c                \    U R                   R                  5       n[        UR                  S9$ )N)tasks_waiting)r  
statisticsr*   r  rh   orig_statisticss     r`   r  Event.statistics  s%    //446_-J-JKKrb   c                8    U R                   R                  5         g rY   )r  setrm   s    r`   r  	Event.set  s    rb   r   N)r   r:   r   r   )r   r*   )r   r   r   r   r\   ri   r  r  r  r  r   re   rb   r`   r:   r:     s!    #'(,Lrb   r:   c                  ~    \ rS rSrSS.SS jjrSS.SS jjr\SS j5       rSS jrSS jr	SS	 jr
SS
 jrSS jrSrg)r<   i  Ffast_acquirec               ,    [         R                  U 5      $ rY   rZ   r]   r  s     r`   r\   Lock.__new__  r   rb   c               D    Xl         [        R                  " 5       U l        g rY   )_fast_acquirerf   r<   _Lock__original)rh   r  s     r`   ri   Lock.__init__  s    )))+rb   c                4    U R                   S:X  a  SU l         g g )N)z*attempt to re-acquire an already held Lock)z)Attempted to acquire an already held Lock)r   )r   s    r`   _convert_runtime_error_msgLock._convert_runtime_error_msg  s    88FFECH Grb   c                  #    U R                   (       d$   U R                  R                  5       I S h  vN   g [
        R                  R                  5       I S h  vN    U R                  R                  5         g  NG! [         a  nU R	                  U5        e S nAff = f NF! [
        R                   a0    U R                  R                  R                  5       I S h  vN     g [         a  nU R	                  U5        e S nAff = f7frY   )r  r  acquirer   r  rf   r   checkpoint_if_cancelledacquire_nowaitr.   _lotparkrR  s     r`   r  Lock.acquire  s     !!oo--///
  mm33555	OO**, 0 //4 	6  	.//&&++--- 	++C0	s   DA< A:A< "DB DB" 9D:A< <
BBBD";DC D#D%	D.D  DDc                     U R                   R                  5         g ! [        R                   a    [        S e[         a  nU R                  U5        e S nAff = frY   )r  r
  rf   r.   r   r  rR  s     r`   r
  Lock.acquire_nowait  sL    	OO**, 	'$& 	++C0	s    $AAAc                6    U R                   R                  5       $ rY   )r  lockedrm   s    r`   r  Lock.locked  r  rb   c                8    U R                   R                  5         g rY   )r  releaserm   s    r`   r  Lock.release      !rb   c                    U R                   R                  5       nUR                  (       a  [        UR                  5      OS n[	        UR
                  X!R                  5      $ rY   )r  r  ownerTrioTaskInfor+   r  r  )rh   r  r  s      r`   r  Lock.statistics  sM    //4467F7L7L_223RV""E+H+H
 	
rb   )r   r  Nr  r   r   r<   )r  r   r   r   )r   r   r   r   r   r   )r   r+   )r   r   r   r   r\   ri   staticmethodr  r  r
  r  r  r  r   re   rb   r`   r<   r<     sC    -2 # 05 & F F(("
rb   r<   c                     ^  \ rS rSrSSS.       SS jjrSSS.       SU 4S jjjrSS jrSS jr\SS	 j5       r	\SS
 j5       r
SS jrSS jrSrU =r$ )r@   i  NF	max_valuer  c               ,    [         R                  U 5      $ rY   rZ   r]   initial_valuer  r  s       r`   r\   Semaphore.__new__  s     ~~c""rb   c               T   > [         TU ]  XUS9  [        R                  " XS9U l        g )Nr  )r  )r   ri   rf   r@   _Semaphore__original)rh   r"  r  r  r   s       r`   ri   Semaphore.__init__  s'     	,W..Lrb   c                  #    U R                   (       d#  U R                  R                  5       I S h  vN   g [        R                  R                  5       I S h  vN    U R                  R                  5         g  NG N"! [        R                   a0    U R                  R                  R                  5       I S h  vN     g f = f7frY   )
r  r%  r  rf   r   r	  r
  r.   r  r  rm   s    r`   r  Semaphore.acquire  s     !!//))+++ mm33555	.OO**, , 	6  	.//&&++---	.sQ   /CA9&CA;CA= 8C;C=;C8B;9C>C CCc                x     U R                   R                  5         g ! [        R                   a    [        S ef = frY   )r%  r
  rf   r.   rm   s    r`   r
  Semaphore.acquire_nowait  s2    	'OO**, 	'$&	's    9c                .    U R                   R                  $ rY   )r%  r  rm   s    r`   r  Semaphore.max_value  s    (((rb   c                .    U R                   R                  $ rY   )r%  r   rm   s    r`   r   Semaphore.value  s    $$$rb   c                8    U R                   R                  5         g rY   )r%  r  rm   s    r`   r  Semaphore.release  r  rb   c                `    U R                   R                  5       n[        UR                  5      $ rY   )r%  r  r>   r  r  s     r`   r  Semaphore.statistics  s%    //446"?#@#@AArb   r   )r"  r,  r  r   r  r   r   r@   )r"  r,  r  r   r  r   r   r   r   r-  r+  )r   r>   )r   r   r   r   r\   ri   r  r
  r   r  r   r  r  r   r   r   s   @r`   r@   r@     s    
 !%"## 	#
 # 
# !%"MM 	M
 M 
M M
.' ) ) % %"B Brb   r@   c                  &   \ rS rSr SSS.     SS jjjr SSS.     SS jjjrSS jr        SS jr\SS j5       r	\	R                  SS	 j5       r	\SS
 j5       r\SS j5       rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrg)r8   i  Nr^   c               ,    [         R                  U 5      $ rY   rZ   )r]   total_tokensr^   s      r`   r\   CapacityLimiter.__new__  s     ~~c""rb   c               X    Ub  X l         g Uc   e[        R                  " U5      U l         g rY   )_CapacityLimiter__originalrf   r8   )rh   r6  r^   s      r`   ri   CapacityLimiter.__init__  s-     &O+++"22<@DOrb   c                R   #    U R                   R                  5       I S h  vN $  N7frY   )r9  r   rm   s    r`   r   CapacityLimiter.__aenter__  s     __//1111r  c                X   #    U R                   R                  XU5      I S h  vN   g  N7frY   )r9  r   rq   s       r`   r   CapacityLimiter.__aexit__  s!      oo''6BBBs    *(*c                .    U R                   R                  $ rY   r9  r6  rm   s    r`   r6  CapacityLimiter.total_tokens$  s    +++rb   c                $    XR                   l        g rY   r@  r   s     r`   r6  rA  (  s    ',$rb   c                .    U R                   R                  $ rY   )r9  borrowed_tokensrm   s    r`   rD  CapacityLimiter.borrowed_tokens,  s    ...rb   c                .    U R                   R                  $ rY   )r9  available_tokensrm   s    r`   rG   CapacityLimiter.available_tokens0  r   rb   c                8    U R                   R                  5         g rY   )r9  r
  rm   s    r`   r
  CapacityLimiter.acquire_nowait4  s    &&(rb   c                :    U R                   R                  U5        g rY   )r9  acquire_on_behalf_of_nowaitrh   borrowers     r`   rL  +CapacityLimiter.acquire_on_behalf_of_nowait7  s    33H=rb   c                T   #    U R                   R                  5       I S h  vN   g  N7frY   )r9  r  rm   s    r`   r  CapacityLimiter.acquire:  s     oo%%'''r   c                V   #    U R                   R                  U5      I S h  vN   g  N7frY   )r9  acquire_on_behalf_ofrM  s     r`   rS  $CapacityLimiter.acquire_on_behalf_of=  s     oo228<<<s   )')c                6    U R                   R                  5       $ rY   )r9  r  rm   s    r`   r  CapacityLimiter.release@  s    &&((rb   c                8    U R                   R                  U5      $ rY   )r9  release_on_behalf_ofrM  s     r`   rX  $CapacityLimiter.release_on_behalf_ofC  s    33H==rb   c                    U R                   R                  5       n[        UR                  UR                  [        UR                  5      UR                  S9$ )N)rD  r6  	borrowersr  )r9  r  r)   rD  r6  tupler[  r  )rh   origs     r`   r  CapacityLimiter.statisticsF  sH    ))+( 00**DNN+,,	
 	
rb   r   rY   )r6  float | Noner^   trio.CapacityLimiter | Noner   r8   )r6  r_  r^   r`  r   r   r   )rr   r   rs   r   rt   r   r   r   r   r   r+  )rN  r[   r   r   )r   r)   )r   r   r   r   r\   ri   r   r   r   r6  r   rD  rG  r
  rL  r  rS  r  rX  r  r   re   rb   r`   r8   r8     s    &*# 15	#"# .	#
 
# &*
A 15	
A"
A .	
A
 

A2C,C &C %	C
 
C , , - - / / 0 0)>(=)>
rb   r8   _capacity_limiter_wrapperc                  b    \ rS rSr% S\S'   SS jrSS jr        SS jrSS jrSS jr	S	r
g
)_SignalReceiveriX  zAsyncIterator[int]	_iteratorc                    Xl         g rY   )_signals)rh   signalss     r`   ri   _SignalReceiver.__init__[  s    rb   c                    [         R                  " U R                  6 U l        U R                  R	                  5       U l        U $ rY   )rf   open_signal_receiverrf  _cmrl   rd  rm   s    r`   rl   _SignalReceiver.__enter__^  s1    ,,dmm<++-rb   c                :    U R                   R                  XU5      $ rY   )rk  rp   rq   s       r`   rp   _SignalReceiver.__exit__c  s     xx  F;;rb   c                    U $ rY   re   rm   s    r`   	__aiter___SignalReceiver.__aiter__k  s    rb   c                h   #    U R                   R                  5       I S h  vN n[        U5      $  N7frY   )rd  	__anext__r   )rh   signums     r`   rs  _SignalReceiver.__anext__n  s)     ~~//11v 2s   202)rk  rd  rf  N)rg  ztuple[Signals, ...])r   rc  )rr   r   rs   r   rt   r   r   zbool | None)r   r   )r   r   r   r   r   ri   rl   rp   rp  rs  r   re   rb   r`   rc  rc  X  sG    !! 
<,< &< %	<
 
<rb   rc  c                      \ rS rSrSS jr        SS jrSS jrSS jr        SS jr      SS jr	      SS jr
      SS	 jrS
rg)
TestRunnerix  c                B    SSK Jn  U" 5       U l        S U l        Xl        g )Nr   )Queue)queuery  _call_queue_send_stream_options)rh   optionsry  s      r`   ri   TestRunner.__init__y  s    8=;?rb   c                    U R                   (       aW  U R                   R                  5         U R                   b/  U R                  R                  5       " 5         U R                   b  M.  g g g rY   )r|  rM  r{  getrq   s       r`   rp   TestRunner.__exit__  sS     ##%##/  $$&( ##/ rb   c                @  #    [        S5      u  U l        nU   U  S h  vN u  p# UI S h  vN nUR                  [        U5      5        M2   N- N"! [         a%  nUR                  [        U5      5         S nAM`  S nAff = f
 S S S 5        g ! , (       d  f       g = f7fr  )r6   r|  r  r    r  r   )rh   receive_streamcorooutcome_holderretvalr   s         r`   _run_tests_and_fixtures"TestRunner._run_tests_and_fixtures  s     ,G,J)>.< 9*d9#'ZF #))%-89'$ 6"))%*556 /= ^^sn   BBBABBAAABBA
B A;5B;B  B	B
BBc                    S U l         g rY   )r|  )rh   outcomes     r`   _main_task_finishedTestRunner._main_task_finished  s
     rb   c                   U R                   c  [        R                  R                  " U R                  4U R
                  R                  U R                  S.U R                  D6  U R                   c.  U R
                  R                  5       " 5         U R                   c  M.  / nU R                   R                  U" U0 UD6U45        U(       d(  U R
                  R                  5       " 5         U(       d  M(  US   R                  5       $ )N)run_sync_soon_threadsafedone_callbackr   )r|  rf   r   start_guest_runr  r{  putr  r}  r  send_nowaitunwrap)rh   r   r   r_   r  s        r`   _call_in_runner_taskTestRunner._call_in_runner_task  s     $MM)),,)-)9)9)=)="66 --	 ##+  $$&( ##+ )+%%tT'<V'<n&MN   "$ !. a ''))rb   c              #     #    U" S0 UD6nU R                  UR                  S 5      nUv    U R                  UR                  S 5        U R                  UR                  5        [        S5      e! [         a     g f = f7f)Nz$Async generator fixture did not stopre   )r  asendr   r   StopAsyncIteration)rh   fixture_funcr_   asyncgenfixturevalues        r`   run_asyncgen_fixtureTestRunner.run_asyncgen_fixture  s}     
  )&)!%!:!:8>>4!P	G%%hnnd; %%hoo6EFF	 " 		s(   )A>A. &A>.
A;8A>:A;;A>c                (    U R                   " U40 UD6$ rY   r  )rh   r  r_   s      r`   run_fixtureTestRunner.run_fixture  s    
 ((@@@rb   c                *    U R                   " U40 UD6  g rY   r  )rh   	test_funcr_   s      r`   run_testTestRunner.run_test  s     	!!)6v6rb   )r{  r}  r|  N)r~  r   r   r   )rr   r   rs   r   rt   ztypes.TracebackType | Noner   r   r   )r  r[   r   r   )r   z Callable[P, Awaitable[T_Retval]]r   zP.argsr_   zP.kwargsr   rR   )r  z,Callable[..., AsyncGenerator[T_Retval, Any]]r_   r   r   zIterable[T_Retval])r  z,Callable[..., Coroutine[Any, Any, T_Retval]]r_   r   r   rR   )r  z'Callable[..., Coroutine[Any, Any, Any]]r_   r   r   r   )r   r   r   r   ri   rp   r  r  r  r  r  r  r   re   rb   r`   rw  rw  x  s     	),	) &	) +		)
 
	)	9!*.* * 	*
 
*.GBG G 
	G$ABA A 
	A7@7JX7	7rb   rw  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )r  i  c                2  > S nUR                   (       a:  UR                   R                  (       a  [        UR                   R                  5      n[        TU ]  [        U5      X!R
                  UR                  5        [        R                  " U5      U l	        g rY   )
parent_nurseryparent_taskidr   ri   r   r  weakrefproxy_task)rh   task	parent_idr   s      r`   ri   TrioTaskInfo.__init__  sb    	4#6#6#B#B4..::;ID9iiC]]4(
rb   c                d     U R                   R                  R                  $ ! [         a     gf = fr>  )r  _cancel_statuseffectively_cancelledReferenceErrorrm   s    r`   has_pending_cancellation%TrioTaskInfo.has_pending_cancellation  s1    	::,,BBB 	 	s   " 
//)r  )r  ztrio.lowlevel.Taskr   )r   r   r   r   ri   r  r   r   r   s   @r`   r  r    s    ) rb   r  c                  "   \ rS rSr\          S9S j5       r\S:S j5       r\S;S j5       r\S<S j5       r\S=S j5       r	\S=S j5       r
\S=S j5       r\S>S	 j5       r\\R                  S
S.     S?S jj5       r\S;S j5       r\S@S j5       r\SAS j5       r\SBS j5       r\SS
S.       SCS jj5       r\SDS j5       r\  SE         SFS jj5       r\S=S j5       r\        SGS j5       r\        SHS j5       r\SIS j5       r\            SJS j5       r\SKS j5       r\ SL       SMS jj5       r\SNS j5       r\SOS j5       r\SOS j5       r \          SPS  j5       r!\\"      SQS! j5       5       r#\\"      SRS" j5       5       r#\      SSS# j5       r#\S$S$S$S$S%.             STS& jj5       r$\ SU     SVS' jj5       r%\SWS( j5       r&\SWS) j5       r'\SWS* j5       r(\SOS+ j5       r)\SXS, j5       r*\SYS- j5       r+\SZS. j5       r,\S[S/ j5       r-\S\S0 j5       r.\    S]S1 j5       r/\S^S2 j5       r0\    S_S3 j5       r1\S`S4 j5       r2\SaS5 j5       r3\S=S6 j5       r4\SbS7 j5       r5S8r6g)cTrioBackendi  c                0    [         R                  " U/UQ76 $ rY   )rf   run)r]   r   r   r_   r~  s        r`   r  TrioBackend.run  s     xx$t$$rb   c                >    [         R                  R                  5       $ rY   )rf   r   r   r   s    r`   current_tokenTrioBackend.current_token  s    }}//11rb   c                ,    [         R                  " 5       $ rY   )rf   current_timer   s    r`   r  TrioBackend.current_time  s      ""rb   c                "    [         R                  $ rY   )rf   r   r   s    r`   cancelled_exception_class%TrioBackend.cancelled_exception_class  s    ~~rb   c                \   #    [         R                  R                  5       I S h  vN   g  N7frY   )rf   r   r{  r   s    r`   r{  TrioBackend.checkpoint  s     mm&&(((   ",*,c                \   #    [         R                  R                  5       I S h  vN   g  N7frY   )rf   r   r	  r   s    r`   r	  #TrioBackend.checkpoint_if_cancelled  s     mm33555r  c                \   #    [         R                  R                  5       I S h  vN   g  N7frY   )rf   r   cancel_shielded_checkpointr   s    r`   r  &TrioBackend.cancel_shielded_checkpoint   s     mm66888r  c                L   #    [         R                  " U5      I S h  vN   g  N7frY   )rf   r5  )r]   delays     r`   r5  TrioBackend.sleep  s     jjs   $"$Fr|   r   c                   [        XS9$ )Nr  rA   )r]   r|   r   s      r`   create_cancel_scopeTrioBackend.create_cancel_scope  s     H<<rb   c                ,    [         R                  " 5       $ rY   )rf   current_effective_deadliner   s    r`   r  &TrioBackend.current_effective_deadline  s    ..00rb   c                    [        5       $ rY   )r   r   s    r`   create_task_groupTrioBackend.create_task_group  s
    {rb   c                    [        5       $ rY   r9   r   s    r`   create_eventTrioBackend.create_event  s	    wrb   c                   [        US9$ )Nr  r;   r  s     r`   create_lockTrioBackend.create_lock  s    ..rb   Nr  c                   [        XUS9$ )Nr  r?   r!  s       r`   create_semaphoreTrioBackend.create_semaphore  s     ,WWrb   c                    [        U5      $ rY   r7   )r]   r6  s     r`   create_capacity_limiter#TrioBackend.create_capacity_limiter(  s    |,,rb   c                   ^^^#    SUUU4S jjn[         R                  5       m[        UU[        [        R
                  U5      S9I S h  vN $  N7f)Nc                 d   > [        [        T5         T" T 6 sS S S 5        $ ! , (       d  f       g = frY   )r0   r  )r   r   tokens   r`   wrapper6TrioBackend.run_sync_in_worker_thread.<locals>.wrapper4  s     $[%8T{ 988s   !
/)abandon_on_cancellimiter)r   rR   )r  r  r'   r   rf   r8   )r]   r   r   r  r  r  r  s    ``   @r`   run_sync_in_worker_thread%TrioBackend.run_sync_in_worker_thread,  sM     	# 	# ))+/--w7
 
 	
 
s   AA
AAc                @    [         R                  R                  5         g rY   )rf   r   check_cancelledr   s    r`   r  TrioBackend.check_cancelled?  s    ((*rb   c                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fNztrio.lowlevel.TrioToken | Noner   )r   rf   r   r  r,   r]   r   r   r  r   s        r`   run_async_from_thread!TrioBackend.run_async_from_threadC  sT     :EB
	-##''KtK
KK$$ 	-",	-	   #2 Ac                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fr  )r   rf   r   r'   r,   r  s        r`   run_sync_from_thread TrioBackend.run_sync_from_threadP  sT     :EB
	-##,,TPDPZPP$$ 	-",	-r  c                    [        5       $ rY   )r   r   s    r`   create_blocking_portal"TrioBackend.create_blocking_portal]  s    rb   c               `  #    SS jn[        U[        [        [        45      (       a5  [        R
                  R                  " U" U5      4UUUSS.UD6I S h  vN nOD[        R
                  R                  " U Vs/ s H
  o" U5      PM     sn4UUUSS.UD6I S h  vN nUR                  (       a  [        UR                  5      OS n	UR                  (       a  [        UR                  5      OS n
UR                  (       a  [        UR                  5      OS n[        XyX5      $  Ns  snf  N7f)Nc                    [         R                  " U 5      n[        U[        5      (       a  U$ [         R                  " U5      $ rY   )osfspathrP  strfsdecode)r   str_or_bytess     r`   convert_item.TrioBackend.open_process.<locals>.convert_itemk  s1    99T?L,,,##{{<00rb   T)r"  r%  r)  shellF)r   rG   r   r  )rP  r  r   r   rf   r   open_processr"  r   r%  r   r)  r  )r]   commandr"  r%  r)  r_   r  r9  r   stdin_streamstdout_streamstderr_streams               r`   r	  TrioBackend.open_processa  s    	1 gUH566 MM66W%  G !MM66078d#8  G <C==(7d@G,W^^<TX@G,W^^<TXwmKK+ 9s1   AD.D%#D.;D'D.D,B	D.'D.c                L    [         R                  R                  [        U5        g rY   )rf   r   spawn_system_taskr:  )r]   r8  s     r`   #setup_process_pool_exit_at_shutdown/TrioBackend.setup_process_pool_exit_at_shutdown  s    ''(>Hrb   c                  #    SU;   a  [         R                  O[         R                  n[        R                   R                  U5      nUR	                  [         R
                  [         R                  S5        U(       a  UR                  U5      I S h  vN    UR                  X45      I S h  vN   [        U5      $  N* N! [         a    UR                  5         e f = f7f)N:r   )rn  AF_INET6AF_INETrf   r  r  r  bindconnectr  rM  rY  )r]   hostportlocal_addressfamilyrA  s         r`   connect_tcpTrioBackend.connect_tcp  s      %(4KV^^kk((0v1163E3EqI""=111	%%tl333
 K(( 2 4 		s<   BC B=C C -B?.C 2C ?C CC c                   #    [         R                  R                  [        R                  5      n UR                  U5      I S h  vN   [        U5      $  N! [         a    UR                  5         e f = f7frY   )rf   rn  AF_UNIXr  r  rM  rv  )r]   pathrA  s      r`   connect_unixTrioBackend.connect_unix  se     kk((8	%%d+++
  ,, , 		s.   .A6A AA 
A6A A33A6c                    [        U5      $ rY   r  r]   socks     r`   create_tcp_listenerTrioBackend.create_tcp_listener  s     &&rb   c                    [        U5      $ rY   )r  r&  s     r`   create_unix_listener TrioBackend.create_unix_listener  s    !$''rb   c                  #    [         R                  R                  U[        R                  S9nU(       a/  UR                  [        R                  [        R
                  S5        U(       a  UR                  U5      I S h  vN   U(       a$  UR                  U5      I S h  vN   [        U5      $ [        U5      $  N: N7f)N)r  typer   )
rf   rn  
SOCK_DGRAMr  r  SO_REUSEPORTr  r  r  r  )r]   r  r  remote_address
reuse_portrA  s         r`   create_udp_socketTrioBackend.create_udp_socket  s      kk((V=N=N(O""6#4#4f6I6I1M""=111%%n555%k22[)) 2 6s$   A>B? B;B? B=!B?=B?c                   #    g 7frY   re   r]   r  remote_paths      r`   create_unix_datagram_socket'TrioBackend.create_unix_datagram_socket  s
      "%   c                   #    g 7frY   re   r6  s      r`   r8  r9    s
      +.r:  c                   #    [         R                  R                  U5      nU(       a$  UR                  U5      I S h  vN   [	        U5      $ [        U5      $  N7frY   )rf   rn  r  r  r  r  )r]   r  r7  rA  s       r`   r8  r9    sM      kk44Z@%%k222.{;;%k22 3s   ;AAAr   )r  r.  protor  c               `   #    [         R                  R                  XX4XV5      I S h  vN $  N7frY   )rf   rn  getaddrinfo)r]   r  r  r  r.  r=  r  s          r`   r?  TrioBackend.getaddrinfo  s&     & [[,,TuTTTTs   %.,.c                \   #    [         R                  R                  X5      I S h  vN $  N7frY   )rf   rn  getnameinfo)r]   sockaddrr  s      r`   rB  TrioBackend.getnameinfo  s"      [[,,X====s   #,*,c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nr\  )r$   rf   r3   with_traceback__traceback__r2   r]   objr   s      r`   r$   TrioBackend.wait_readable  se     	>$$$'' 	T%'66s7H7HItS%% 	>#N3=	>0   A9  A9 A6$A$A66A9c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nr]  )r%   rf   r3   rF  rG  r2   rH  s      r`   r%   TrioBackend.wait_writable  se     	<$$$'' 	T%'66s7H7HItS%% 	<#L1t;	<rK  c                    [        U5        g rY   )r#   )r]   rI  s     r`   r#   TrioBackend.notify_closing  s
    srb   c                    #    [        U5      $ 7frY   r%  r&  s     r`   wrap_listener_socket TrioBackend.wrap_listener_socket  s      &&s   c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  rY  r]   r'  	trio_socks      r`   wrap_stream_socketTrioBackend.wrap_stream_socket  s$     KK2248	I&&rr  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  rv  rT  s      r`   wrap_unix_stream_socket#TrioBackend.wrap_unix_stream_socket  s$     KK2248		**rr  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  r  rT  s      r`   wrap_udp_socketTrioBackend.wrap_udp_socket   s$     KK2248	##rr  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  r  rT  s      r`   wrap_connected_udp_socket%TrioBackend.wrap_connected_udp_socket%  $     KK2248	!),,rr  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  r  rT  s      r`   wrap_unix_datagram_socket%TrioBackend.wrap_unix_datagram_socket*  ra  rr  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frY   )rf   rn  r  r  rT  s      r`   #wrap_connected_unix_datagram_socket/TrioBackend.wrap_connected_unix_datagram_socket/  s&      KK2248	*955rr  c                     [         R                  5       $ ! [         a?    [        [        R
                  R                  5       S9n[         R                  U5        Us $ f = f)Nr4  )ra  r  LookupErrorr8   rf   	to_threadcurrent_default_thread_limiterr  )r]   r  s     r`   rk  *TrioBackend.current_default_thread_limiter6  sT    	,0022 	%FFHG &))'2N	s    AAAc                    [        U5      $ rY   )rc  )r]   rg  s     r`   rj   TrioBackend.open_signal_receiverA  s     w''rb   c                ,    [        5       n[        U5      $ rY   )r"   r  )r]   r  s     r`   get_current_taskTrioBackend.get_current_taskG  s    ~D!!rb   c                &   [        5       nU(       d   e[        U5      /nUR                  nU(       a^  / nU HK  nUR                   H8  nUR	                  [        U5      5        UR                  UR                  5        M:     MM     UnU(       a  M^  U$ rY   )r!   r  child_nurserieschild_tasksr  extend)r]   	root_task
task_infos	nurseriesnew_nurseriesnurseryr  s          r`   get_running_tasksTrioBackend.get_running_tasksL  s    %'	y"9-.
--	02M$#//D%%l4&89!(()=)=> 0 %
 &I i rb   c                :   #    SSK Jn  U" 5       I S h  vN   g  N7f)Nr   )wait_all_tasks_blocked)trio.testingr~  )r]   r~  s     r`   r~  "TrioBackend.wait_all_tasks_blocked]  s     7$&&&s   c                    [        S0 UD6$ rd   )rw  )r]   r~  s     r`   create_test_runnerTrioBackend.create_test_runnerc  s    $G$$rb   re   )
r   1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]r   r   r_   r   r~  r   r   rR   )r   r[   r   )r   ztype[BaseException]r   )r  r   r   r   )r|   r   r   r   r   zabc.CancelScope)r   zabc.TaskGroup)r   z	abc.Eventr  )r"  r,  r  r   r  r   r   zabc.Semaphore)r6  r   r   r8   )FN)
r   &Callable[[Unpack[PosArgsT]], T_Retval]r   r   r  r   r  zabc.CapacityLimiter | Noner   rR   )r   r  r   r   r  r[   r   rR   )r   r  r   r   r  r[   r   rR   )r   zabc.BlockingPortal)r
  z)StrOrBytesPath | Sequence[StrOrBytesPath]r"  int | IO[Any] | Noner%  r  r)  r  r_   r   r   r  r8  zset[abc.Process]r   r   rY   )r  r  r  r,  r  IPSockAddrType | Noner   rY  )r!  str | bytesr   zabc.UNIXSocketStream)r'  rW  r   zabc.SocketListener)
r  zsocket.AddressFamilyr  r  r1  r  r2  r   r   zUDPSocket | ConnectedUDPSocket)r  rW  r7  r   r   zabc.UNIXDatagramSocket)r  rW  r7  r  r   zabc.ConnectedUNIXDatagramSocket)r  rW  r7  zstr | bytes | Noner   z8abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket)r  zbytes | str | Noner  zstr | int | Noner  zint | AddressFamilyr.  zint | SocketKindr=  r,  r  r,  r   zuSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r   )rC  rC   r  r,  r   ztuple[str, str])rI  rI   r   r   )r'  rW  r   rY  )r'  rW  r   rv  )r'  rW  r   r  )r'  rW  r   r  )r'  rW  r   r  )r'  rW  r   r  )r   r8   )rg  r   r   z.AbstractContextManager[AsyncIterator[Signals]])r   r-   )r   zSequence[TaskInfo])r~  r   r   rw  )7r   r   r   r   classmethodr  r  r  r  r{  r	  r  r5  r6  r7  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r"  r(  r+  r3  r   r8  r?  rB  r$   r%   r#   rQ  rV  rY  r\  r_  rc  rf  rk  rj  rp  r{  r~  r  r   re   rb   r`   r  r    sO   %?% &% 	%
  % 
% % 2 2 # #   ) ) 6 6 9 9     "&((5==48=	= =
 1 1     / / 
 !%"XX 	X
 X 
X X - - 
 #(.2
4
 &
  	

 ,
 

 
$ + + 
-?
- &
- 	
-
 

- 
- 
-4
- &
- 	
-
 

- 
-     &L:&L $	&L
 %&L %&L &L 
&L &LP I I JN))!)2G)	) )" - - ' ' ( ( *$* -* .	*
 * 
(* ** %&%59%	%  % .&.5@.	(.  . 	3&	35G	3	A	3 	3  '(!"U U U
 $U U U U
U U( 45>%>.1>	> >
 > > < <   ' ' ' ' + + $ $ - - - - 6 6	$6 6   ((	7( (
 " "    ' '
 % %rb   r  r  )
__future__r   rz  r6  r  rn  systypesr  collections.abcr   r   r   r   r   r	   r
   r   concurrent.futuresr   
contextlibr   dataclassesr   	functoolsr   ior   r   r  r   r   r   r   typingr   r   r   r   r   r   r   r   trio.from_threadrf   trio.lowlevelr  r   r   r    r!   r"   r#   r$   r%   trio.socketr&   rV  trio.to_threadr'    r)   r*   r+   r,   r-   r.   r/   _core._eventloopr0   _core._exceptionsr1   r2   r3   r4   _core._socketsr5   _core._streamsr6   _core._synchronizationr8   BaseCapacityLimiterr:   	BaseEventr<   BaseLockr=   r>   r@   BaseSemaphore_core._tasksrB   BaseCancelScoperC   rD   rE   abc._eventlooprF   rG   streams.memoryrH   	_typeshedrI   version_inforL   typing_extensionsrN   rO   exceptiongrouprP   rQ   rR   r  rS   rT   rU   r   RunVarr   r   ByteReceiveStreamr   ByteSendStreamr   r  
Instrumentr/  r3  r   r:  r<  rY  rv  SocketListenerr  r  r  r  r  r  ra  rc  rw  r  r  backend_classre   rb   r`   <module>r     sr   "   	  
  	 	 	 & - !     , 	 	 	   ) )  5 #   3  3 8 8 5 @ 9 G G 9 3,w +w++16CL:\37

#cN 
		.'/ .'l3A 3Av
S'' 
@ e$300 $ $( e$** $ $ e5ckk 5 5pTXX%8%8 
 @F,@ &(< 

'$wz* >3#S%5%5 3B@4|S%9%9 @4F)(#*<*< ) -)3+=+= -0 0#-- 0,0).93;Q;Q 0*0)#.0F0F 0,0S3::08I *5
8 5
p3B 3BlI
) I
X 399T2U / U @T7 T7n8 $D%, D%N rb   