ó
    ûÞ jÓ
  ã                  óJ   • S SK Jr  S SKrS SKJrJr  \S\4   r " S S5      rg)é    )ÚannotationsN)ÚAnyÚCallable.c                  óx   • \ rS rSrSrSS.SS jjrSS jrSS jrSS.SS	 jjrSS
 jr	SS jr
SS jrSS jrSrg)ÚEventHandlerRegistryé	   z2Thread-safe (optional) registry of event handlers.F)Úuse_lockc               ó‚   • 0 U l         [        5       U l        U(       a  [        R                  " 5       U l        g S U l        g ©N)Ú	_handlersÚsetÚ	_once_idsÚ	threadingÚLockÚ_lock)Úselfr	   s     ÚO/var/www/html/gaurav/venv/lib/python3.13/site-packages/openai/_event_handler.pyÚ__init__ÚEventHandlerRegistry.__init__   s(   € Ø8:ˆŒÜ#&£5ˆŒÞ@H¬I¯NªNÓ,<ˆ�
Èdˆ�
ó    c                óT   • U R                   b  U R                   R                  5         g g r   )r   Úacquire©r   s    r   Ú_acquireÚEventHandlerRegistry._acquire   ó!   € Ø�:‰:Ñ!Ø�J‰J×ÑÕ ð "r   c                óT   • U R                   b  U R                   R                  5         g g r   )r   Úreleaser   s    r   Ú_releaseÚEventHandlerRegistry._release   r   r   ©Úoncec               ó   • U R                  5          U R                  R                  U/ 5      nUR                  U5        U(       a$  U R                  R                  [        U5      5        U R                  5         g ! U R                  5         f = fr   )r   r   Ú
setdefaultÚappendr   ÚaddÚidr   )r   Ú
event_typeÚhandlerr"   Úhandlerss        r   r&   ÚEventHandlerRegistry.add   s^   € Ø�‰Œð	Ø—~‘~×0Ñ0°¸RÓ@ˆHØ�O‰O˜GÔ$ÞØ—‘×"Ñ"¤2 g£;Ô/à�M‰M�OøˆD�M‰M�Oús   ’AA; Á;Bc                ó8  • U R                  5          U R                  R                  U5      nUb6   UR                  U5        U R
                  R                  [        U5      5        U R                  5         g ! [         a     NAf = f! U R                  5         f = fr   )	r   r   ÚgetÚremoveÚ
ValueErrorr   Údiscardr'   r   )r   r(   r)   r*   s       r   r.   ÚEventHandlerRegistry.remove#   s|   € Ø�‰Œð		Ø—~‘~×)Ñ)¨*Ó5ˆHØÑ#ðØ—O‘O GÔ,ð —‘×&Ñ&¤r¨'£{Ô3à�M‰M�Oøô	 "ó Ùðûð �M‰M�Oús.   ’B ±A7 Á$B Á7
BÂB ÂBÂB ÂBc                óÎ  • U R                  5          U R                  R                  U5      nU(       d  / U R                  5         $ [	        U5      nU Vs/ sH   n[        U5      U R                  ;   d  M  UPM"     nnU H8  nUR                  U5        U R                  R                  [        U5      5        M:     UU R                  5         $ s  snf ! U R                  5         f = f)zOReturn a snapshot of handlers for the given event type, removing once-handlers.)	r   r   r-   r   Úlistr'   r   r.   r0   )r   r(   r*   ÚresultÚhÚ	to_removes         r   Úget_handlersÚ!EventHandlerRegistry.get_handlers0   s°   € à�‰Œð	Ø—~‘~×)Ñ)¨*Ó5ˆHÞØð �M‰M�Oô ˜(“^ˆFÙ$*ÓF¡F˜q¬b°«e°t·~±~Ñ.EŸ¡FˆIÐFÛ�Ø—‘ Ô"Ø—‘×&Ñ&¤r¨!£uÖ-ñ ð à�M‰M�Oùò Gøð �M‰M�Oús*   ’#C ÁC ÁCÁ5CÁ;AC ÃC ÃC$c                óº   • U R                  5          U R                  R                  U5      n[        U5      U R	                  5         $ ! U R	                  5         f = fr   )r   r   r-   Úboolr   )r   r(   r*   s      r   Úhas_handlersÚ!EventHandlerRegistry.has_handlers@   s>   € Ø�‰Œð	Ø—~‘~×)Ñ)¨*Ó5ˆHÜ˜“>à�M‰M�OøˆD�M‰M�Oús   ’%A ÁAc                ó€  • U R                  5          U R                  R                  5        H6  u  p#U H+  n[        U5      U R                  ;   nUR                  X$US9  M-     M8     U R                  R                  5         U R                  R                  5         U R                  5         g! U R                  5         f = f)zDMove all handlers from this registry into *target*, then clear self.r!   N)r   r   Úitemsr'   r   r&   Úclearr   )r   Útargetr(   r*   r)   r"   s         r   Ú
merge_intoÚEventHandlerRegistry.merge_intoH   s‹   € à�‰Œð	Ø(,¯©×(<Ñ(<Ö(>Ñ$�
Û'�GÜ˜g›;¨$¯.©.Ñ8�DØ—J‘J˜z¸�JÓ>ó  (ñ )?ð �N‰N× Ñ Ô"Ø�N‰N× Ñ Ô"à�M‰M�OøˆD�M‰M�Oús   ’BB+ Â+B=)r   r   r   N)r	   r:   ÚreturnÚNone)rC   rD   )r(   Ústrr)   ÚEventHandlerr"   r:   rC   rD   )r(   rE   r)   rF   rC   rD   )r(   rE   rC   zlist[EventHandler])r(   rE   rC   r:   )r@   r   rC   rD   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r&   r.   r7   r;   rA   Ú__static_attributes__© r   r   r   r   	   s8   † Ù<à+0÷ Sô
!ô!ð KP÷ ôôô ÷r   r   )Ú
__future__r   r   Útypingr   r   rF   r   rM   r   r   Ú<module>rP      s(   ðÝ "ã ß  à˜˜S˜Ñ!€÷Jò Jr   