
    vh                        d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZmZ d dlZej                  dk\  rd dl
mZ nd dlmZ  ed      Z ed      Zdd	Zdd
Z G d de      ZddZ	 	 	 	 ddZy)    )annotationsN)AsyncIterator	CoroutineIterableIterator)CallableTypeVar)   
   )	ParamSpecPTc            
     :  K   t        j                  dt               t        j                         4 d {   dfd}| D ]+  \  }}j                  |t        j                  |fi |       - d d d       d {    y 7 K7 # 1 d {  7  sw Y   y xY ww)NzOrun_until_first_complete is deprecated and will be removed in a future version.c                d   K    |         d {    j                   j                          y 7 wN)cancel_scopecancel)func
task_groups    M/var/www/html/luna/venv/lib/python3.12/site-packages/starlette/concurrency.pyrunz%run_until_first_complete.<locals>.run   s'     &LL##**, s   0. 0)r   zCallable[[], Coroutine]returnNone)warningswarnDeprecationWarninganyiocreate_task_group
start_soon	functoolspartial)argsr   r   kwargsr   s       @r   run_until_first_completer$      s     MMY
 &&( J JJ	- ! 	JLD&!!#y'8'8'H'HI	JJ J J J J J JsD   3BBB7B1B<B=BBBBBBc                   K   t        j                  | g|i |} t        j                  j	                  |        d {   S 7 wr   )r    r!   r   	to_threadrun_sync)r   r"   r#   s      r   run_in_threadpoolr(   $   s;     T3D3F3D))$////s   <AAAc                      e Zd Zy)_StopIterationN)__name__
__module____qualname__     r   r*   r*   )   s    r/   r*   c                @    	 t        |       S # t        $ r t        w xY wr   )nextStopIterationr*   )iterators    r   _nextr4   -   s&    H~ s   
 c                  K   t        |       }	 	 t        j                  j                  t        |       d {    17 # t
        $ r Y y w xY wwr   )iterr   r&   r'   r4   r*   )r3   as_iterators     r   iterate_in_threadpoolr8   7   sL      x.K
	00DDD D 		s7   A'A A A A A 	AAAA)r"   ztuple[Callable, dict]r   r   )r   zCallable[P, T]r"   zP.argsr#   zP.kwargsr   r   )r3   zIterator[T]r   r   )r3   zIterable[T]r   zAsyncIterator[T])
__future__r   r    sysr   collections.abcr   r   r   r   typingr   r	   anyio.to_threadr   version_infor   typing_extensionsr   r   r$   r(   	Exceptionr*   r4   r8   r.   r/   r   <module>rA      st    "  
  H H $ w +cNCLJ 0
	Y 	r/   