
    ^h6                     $    S SK r S SKrSS jrS rg)    Nc                 @    SS K n[        Ul        UR                  U S9  g )Nr   )loop)nest_asyncio_patched_patch_task_patch_taskapply)r   r   s     ]/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/kernel/patched_nest_asyncio.pyr   r      s"      3L D!    c                     ^^ SUU4S jjn [         R                  n[        US5      (       a  g[        R                  S:  aQ  U4S jnU4S jnU[         R
                  l        U[         R
                  l        [         R
                  R                  mOUR                  m UR                  mXl	        SUl        g! [         a9     UR                  mXl         N'! [         a    UR                  mXl          NFf = ff = f)	zCPatch the Task's step and enter/leave methods to make it reentrant.Nc                   > TR                  U R                  5      n T" X5        Uc  TR                  U R                  S 5        g UTU R                  '   g ! Uc  TR                  U R                  S 5        f UTU R                  '   f = fN)get_looppop)taskexc	curr_task
curr_tasks	step_origs      r	   step!_patched_patch_task.<locals>.step   sr    NN4::.		3d  tzz40)2
4::&  tzz40)2
4::&s   A 1B_nest_patched)      r   c                    > UTU '   g r    r   r   r   s     r	   
enter_task'_patched_patch_task.<locals>.enter_task!   s    #Jtr
   c                 *   > TR                  U S 5        g r   )r   r   s     r	   
leave_task'_patched_patch_task.<locals>.leave_task$   s    NN4&r
   Tr   )asyncioTaskhasattrsysversion_infotasks_enter_task_leave_task_current_tasks_Task__stepAttributeError__step_stepr   )r   r$   r   r!   r   r   s       @@r	   r   r      s    3 3 <<Dt_%%
9$	$	' %/!$.!]]11
((
	$$	 D  	IK 	

IJ		s*    B: :
C=CC95C=8C99C=r   )r#   r&   r   r   r   r
   r	   <module>r0      s     
"'r
   