Ë
    °È„j™  ã                   óf   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  G d„ de«      Z G d„ d	«      Zy)
é    N)ÚAny)ÚCallable)Ú
NamedTuple)ÚOptionalc                   ó(   — e Zd ZU eed<   ee   ed<   y)ÚCallbackÚfuncÚfiltersN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   © ó    úY/var/www/html/GAP/venv/lib/python3.12/site-packages/pytgcalls/handlers/handlers_holder.pyr   r      s   … Ø
ƒNØ�c‰]Ôr   r   c                   ó<   — e Zd Zd„ Z	 dd„Z	 ddedefd„Zdefd„Zy)	ÚHandlersHolderc                 ó   — g | _         y ©N)Ú
_callbacks)Úselfs    r   Ú__init__zHandlersHolder.__init__   s	   € Øˆ�r   Nc              ƒ   ó”  K  — |rvg }| j                   D ]J  }|j                  r|j                  ||«      ƒ d {  –—† sŒ*|j                  |j                  ||«      «       ŒL t	        j
                  |Ž ƒ d {  –—†  y t	        j
                  | j                   D �cg c]  }|j                  |«      ‘Œ c}Ž ƒ d {  –—†  y 7 Œ…7 ŒIc c}w 7 Œ­wr   )r   r
   Úappendr	   ÚasyncioÚgather)r   ÚupdateÚclientÚtasksÚcallbacks        r   Ú
_propagatezHandlersHolder._propagate   s½   è ø€ ñ
 ØˆEØ ŸO™Oò @�Ø×'Ò'Ø&×.Ñ.¨v°vÓ>×>Ñ>Ø—L‘L §¡¨v°vÓ!>Õ?ð@ô —.‘. %Ð(×(Ñ(ä—.‘.ð %)§O¡Oöà ð —M‘M &Õ)òð÷ ñ ð	 ?øà(úòðúsD   ‚5C·B=¸C½8CÁ5B?Á6"CÂCÂ0CÂ7CÂ8CÂ?CÃCr	   Úreturnc                 óP   — | j                   j                  t        ||«      «       |S r   )r   r   r   )r   r	   r
   s      r   Úadd_handlerzHandlersHolder.add_handler%   s"   € ð
 	�‰×Ñœx¨¨gÓ6Ô7Øˆr   c                 ól   — | j                   D �cg c]  }|j                  |k7  sŒ|‘Œ c}| _         y c c}w r   )r   r	   )r   r	   Úxs      r   Úremove_handlerzHandlersHolder.remove_handler-   s'   € ð '+§o¡oÖH ¸¿¹À4»š1ÒHˆ�ùÒHs   �1¤1r   )r   r   r   r   r!   r   r$   r'   r   r   r   r   r      s<   „ òð óð. ñàðð 
ó	ðIàôIr   r   )r   Útypingr   r   r   r   r   r   r   r   r   ú<module>r)      s,   ðÛ Ý Ý Ý Ý ôˆzô ÷
$Iò $Ir   