
    :Lj9                     ~    S SK r S SKrS SKrS SKJrJrJr  S SKrS SKJ	r	  S SK
JrJr   " S S\	5      r " S S5      rg)	    N)	AwaitableCallableDict)ChannelOwner)Erroris_target_closed_errorc            
       b   ^  \ rS rSrS\S\S\S\SS4
U 4S jjrSS	 jrSS
 jr	S\4S jr
SrU =r$ )
Disposable   parenttypeguidinitializerreturnNc                 &   > [         TU ]  XX45        g N)super__init__)selfr   r   r   r   	__class__s        Q/home/rurouni/.local/lib/python3.13/site-packages/playwright/_impl/_disposable.pyr   Disposable.__init__   s     	t9    c                    #     U R                   R                  SS 5      I S h  vN   g  N! [         a  n[        U5      (       d  Ue S nAg S nAff = f7f)Ndispose)_channelsend	Exceptionr   )r   es     r   r   Disposable.dispose    sR     	--$$    	)!,, -	s6   A+ )+ A+ 
AAAAAc                 @   #    U R                  5       I S h  vN   g  N7fr   r   r   s    r   closeDisposable.close*        lln   c                     gNz<Disposable> r#   s    r   __repr__Disposable.__repr__-       r   r*   r   N)__name__
__module____qualname____firstlineno__r   strr   r   r   r$   r+   __static_attributes____classcell__)r   s   @r   r
   r
      sK    :":*-:58:GK:	:
#  r   r
   c                       \ rS rSrS\/ \S   4   S\SS4S jrSS jrSS jr	S	\
SS4S
 jrSS jrS	\
SS4S jrS\
S\
4S jrSS jrS\4S jrSrg)DisposableStub1   
dispose_fnNr   r   c                 T    Xl         UR                  U l        UR                  U l        g r   )_dispose_fn_loop_dispatcher_fiber)r   r9   r   s      r   r   DisposableStub.__init__2   s#    
 &\\
!'!9!9r   c                 @   #    U R                  5       I S h  vN   g  N7fr   )r;   r#   s    r   r   DisposableStub.dispose;   s        r'   c                    #    U $ 7fr   r*   r#   s    r   
__aenter__DisposableStub.__aenter__>   s
     s   argsc                 @   #    U R                  5       I S h  vN   g  N7fr   r"   r   rD   s     r   	__aexit__DisposableStub.__aexit__A   r&   r'   c                     U $ r   r*   r#   s    r   	__enter__DisposableStub.__enter__D   s    r   c                 B    U R                  U R                  5       5        g r   )_syncr   rF   s     r   __exit__DisposableStub.__exit__G   s    

4<<>"r   coroc                 r  ^ SnU R                   R                  5       (       a  UR                  5         [        S5      e[        R
                  " 5       mU R                   R                  U5      n[        US[        R                  " S5      5        [        US[        R                  " SS95        UR                  U4S j5        UR                  5       (       d1  U R                  R                  5         UR                  5       (       d  M1  [         R"                  " U R                   5        UR%                  5       $ )	NTz4Event loop is closed! Is Playwright already stopped?__pw_stack__r   __pw_stack_trace__
   )limitc                 $   > TR                  5       $ r   )switch)_g_selfs    r   <lambda>&DisposableStub._sync.<locals>.<lambda>S   s    r   )r<   	is_closedr$   r   greenlet
getcurrentcreate_tasksetattrinspectstack	tracebackextract_stackadd_done_callbackdoner=   rW   asyncio_set_running_loopresult)r   rP   __tracebackhide__taskrY   s       @r   rM   DisposableStub._syncJ   s     ::!!JJLNOO$$&zz%%d+ngmmA&67*I,C,C",MN89))++""))+ ))++!!$**-{{}r   c                 @   #    U R                  5       I S h  vN   g  N7fr   r"   r#   s    r   r$   DisposableStub.closeY   r&   r'   c                     gr)   r*   r#   s    r   r+   DisposableStub.__repr__\   r-   r   )r=   r;   r<   r.   )r   r7   )r/   r0   r1   r2   r   r   r   r   r   rB   objectrG   rJ   rN   rM   r$   r3   r+   r4   r*   r   r   r7   r7   1   s    :R401: : 
	:!V  #f # #& V # r   r7   )rg   ra   rc   typingr   r   r   r]   playwright._impl._connectionr   playwright._impl._errorsr   r   r
   r7   r*   r   r   <module>ru      s5       , ,  5 B ., ,r   