§
    �’j&  ã                  óX   — d dl mZ d dlZd dlmZmZ edef         Z G d„ d¦  «        ZdS )é    )ÚannotationsN)ÚAnyÚCallable.c                  ó^   — e Zd ZdZddœdd„Zdd	„Zdd
„Zddœdd„Zdd„Zdd„Z	dd„Z
dd„ZdS ) ÚEventHandlerRegistryz2Thread-safe (optional) registry of event handlers.F)Úuse_lockr   ÚboolÚreturnÚNonec               ór   — i | _         t          ¦   «         | _        |rt          j        ¦   «         nd | _        d S ©N)Ú	_handlersÚsetÚ	_once_idsÚ	threadingÚLockÚ_lock)Úselfr   s     úCC:\Projects\DSCons\.venv\Lib\site-packages\openai\_event_handler.pyÚ__init__zEventHandlerRegistry.__init__   s1   € Ø8:ˆŒÝ#&¡5¤5ˆŒØ@HÐ,R­I¬NÑ,<Ô,<Ð,<ÈdˆŒ
ˆ
ˆ
ó    c                óJ   — | j         �| j                              ¦   «          d S d S r   )r   Úacquire©r   s    r   Ú_acquirezEventHandlerRegistry._acquire   ó,   € ØŒ:Ð!ØŒJ×ÒÑ Ô Ð Ð Ð ð "Ð!r   c                óJ   — | j         �| j                              ¦   «          d S d S r   )r   Úreleaser   s    r   Ú_releasezEventHandlerRegistry._release   r   r   ©ÚonceÚ
event_typeÚstrÚhandlerÚEventHandlerr!   c               ó<  — |                       ¦   «          	 | j                             |g ¦  «        }|                     |¦  «         |r'| j                             t          |¦  «        ¦  «         |                      ¦   «          d S # |                      ¦   «          w xY wr   )r   r   Ú
setdefaultÚappendr   ÚaddÚidr   )r   r"   r$   r!   Úhandlerss        r   r)   zEventHandlerRegistry.add   s„   € Ø�Š‰Œˆð	Ø”~×0Ò0°¸RÑ@Ô@ˆHØ�OŠO˜GÑ$Ô$Ð$Øð 0Ø”×"Ò"¥2 g¡;¤;Ñ/Ô/Ð/à�MŠM‰OŒOˆOˆOˆOøˆD�MŠM‰OŒOˆOˆOøøøs   –AB ÂBc                ó^  — |                       ¦   «          	 | j                             |¦  «        }|�N	 |                     |¦  «         n# t          $ r Y nw xY w| j                             t          |¦  «        ¦  «         |                      ¦   «          d S # |                      ¦   «          w xY wr   )	r   r   ÚgetÚremoveÚ
ValueErrorr   Údiscardr*   r   )r   r"   r$   r+   s       r   r.   zEventHandlerRegistry.remove#   s¨   € Ø�Š‰Œˆð		Ø”~×)Ò)¨*Ñ5Ô5ˆHØÐ#ðØ—O’O GÑ,Ô,Ð,Ð,øÝ!ð ð ð Ø�Dðøøøà”×&Ò&¥r¨'¡{¤{Ñ3Ô3Ð3à�MŠM‰OŒOˆOˆOˆOøˆD�MŠM‰OŒOˆOˆOøøøs.   –B ³A	 ÁB Á	
AÁB ÁAÁ*B ÂB,úlist[EventHandler]c                ó¬  ‡ — ‰                       ¦   «          	 ‰ j                             |¦  «        }|sg ‰                      ¦   «          S t	          |¦  «        }ˆ fd„|D ¦   «         }|D ]>}|                     |¦  «         ‰ j                             t          |¦  «        ¦  «         Œ?|‰                      ¦   «          S # ‰                      ¦   «          w xY w)zOReturn a snapshot of handlers for the given event type, removing once-handlers.c                ó@   •— g | ]}t          |¦  «        ‰j        v ¯|‘ŒS © )r*   r   )Ú.0Úhr   s     €r   ú
<listcomp>z5EventHandlerRegistry.get_handlers.<locals>.<listcomp>8   s+   ø€ ÐFÐFÐF˜q­b°©e¬e°t´~Ð.EÐ.E˜Ð.EÐ.EÐ.Er   )	r   r   r-   r   Úlistr.   r   r0   r*   )r   r"   r+   ÚresultÚ	to_remover6   s   `     r   Úget_handlersz!EventHandlerRegistry.get_handlers0   sÐ   ø€ à�Š‰Œˆð	Ø”~×)Ò)¨*Ñ5Ô5ˆHØð Øð �MŠM‰OŒOˆOˆOõ ˜(‘^”^ˆFØFÐFÐFÐF FÐFÑFÔFˆIØð .ð .�Ø—’ Ñ"Ô"Ð"Ø”×&Ò&¥r¨!¡u¤uÑ-Ô-Ð-Ð-Øà�MŠM‰OŒOˆOˆOøˆD�MŠM‰OŒOˆOˆOøøøs   —B= Á	AB= Â=Cc                óØ   — |                       ¦   «          	 | j                             |¦  «        }t          |¦  «        |                      ¦   «          S # |                      ¦   «          w xY wr   )r   r   r-   r	   r   )r   r"   r+   s      r   Úhas_handlersz!EventHandlerRegistry.has_handlers@   sS   € Ø�Š‰Œˆð	Ø”~×)Ò)¨*Ñ5Ô5ˆHÝ˜‘>”>à�MŠM‰OŒOˆOˆOøˆD�MŠM‰OŒOˆOˆOøøøs   –(A ÁA)Útargetc                ó’  — |                       ¦   «          	 | j                             ¦   «         D ]8\  }}|D ]0}t          |¦  «        | j        v }|                     |||¬¦  «         Œ1Œ9| j                             ¦   «          | j                             ¦   «          |                      ¦   «          dS # |                      ¦   «          w xY w)zDMove all handlers from this registry into *target*, then clear self.r    N)r   r   Úitemsr*   r   r)   Úclearr   )r   r>   r"   r+   r$   r!   s         r   Ú
merge_intozEventHandlerRegistry.merge_intoH   sÄ   € à�Š‰Œˆð	Ø(,¬×(<Ò(<Ñ(>Ô(>ð ?ð ?Ñ$�
˜HØ'ð ?ð ?�GÝ˜g™;œ;¨$¬.Ð8�DØ—J’J˜z¨7¸�JÑ>Ô>Ð>Ð>ð?ð ŒN× Ò Ñ"Ô"Ð"ØŒN× Ò Ñ"Ô"Ð"à�MŠM‰OŒOˆOˆOˆOøˆD�MŠM‰OŒOˆOˆOøøøs   –BB0 Â0CN)r   r	   r
   r   )r
   r   )r"   r#   r$   r%   r!   r	   r
   r   )r"   r#   r$   r%   r
   r   )r"   r#   r
   r1   )r"   r#   r
   r	   )r>   r   r
   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r)   r.   r;   r=   rB   r4   r   r   r   r   	   sÞ   € € € € € Ø<Ð<à+0ð Sð Sð Sð Sð Sð Sð
!ð !ð !ð !ð!ð !ð !ð !ð KPð ð ð ð ð ð ðð ð ð ðð ð ð ð ð ð ð ðð ð ð ð ð r   r   )Ú
__future__r   r   Útypingr   r   r%   r   r4   r   r   ú<module>rI      s…   ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à˜˜S˜Ô!€ðJð Jð Jð Jð Jñ Jô Jð Jð Jð Jr   