o
    OÊÆhÍ  ã                   @   sî   d dl Z d dlZd dlZd dl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ejejef ddfdd	„Zd
eje
e	f de
jde
jde	fdd„ZG dd„ deƒZdeje	 de	fdd„Zdeje	 deje	 fdd„ZdS )é    N)é   é
   )Ú	ParamSpecÚTÚPÚargsÚreturnc               	   ‡   sš   �t  dt¡ t ¡ 4 I d H š1‰ dtjg tjf dd f‡ fdd„}| D ]\}}ˆ  |t	j
|fi |¤Ž¡ q#W d   ƒI d H  d S 1 I d H sFw   Y  d S )NzOrun_until_first_complete is deprecated and will be removed in a future version.Úfuncr   c                 “   s   �| ƒ I d H  ˆ j  ¡  d S ©N)Úcancel_scopeÚcancel)r	   ©Ú
task_group© úb/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/starlette/concurrency.pyÚrun   s   €z%run_until_first_complete.<locals>.run)ÚwarningsÚwarnÚDeprecationWarningÚanyioÚcreate_task_groupÚtypingÚCallableÚ	CoroutineÚ
start_soonÚ	functoolsÚpartial)r   r   r	   Úkwargsr   r   r   Úrun_until_first_complete   s   €ý"ÿ.úr   r	   r   c                 Ï   s2   �|rt j| fi |¤Ž} tjj| g|¢R Ž I d H S r
   )r   r   r   Ú	to_threadÚrun_sync)r	   r   r   r   r   r   Úrun_in_threadpool#   s   €r!   c                   @   s   e Zd ZdS )Ú_StopIterationN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r"   ,   s    r"   Úiteratorc                 C   s   zt | ƒW S  ty   t‚w r
   )ÚnextÚStopIterationr"   ©r&   r   r   r   Ú_next0   s
   
ÿr*   c                 C  s6   �	 zt j t| ¡I d H V  W n
 ty   Y d S w qr
   )r   r   r    r*   r"   r)   r   r   r   Úiterate_in_threadpool:   s   €ÿýr+   )r   Úsysr   r   r   Úversion_infor   Útyping_extensionsÚTypeVarr   r   ÚTupler   Údictr   r   r   r!   Ú	Exceptionr"   ÚIteratorr*   ÚAsyncIteratorr+   r   r   r   r   Ú<module>   s6    

ÿÿÿ
þ	
ÿþ