Ë
    É¯wgŸ  ã                   ó2   —  G d „ d«      Z  e «       Zd„ Zd„ Zy)c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚCompilationCallbackHandlerc                 ó    — g | _         g | _        y )N)Ústart_callbacksÚend_callbacks©Úselfs    ú[/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/torch/_dynamo/callback.pyÚ__init__z#CompilationCallbackHandler.__init__   s   € Ø!ˆÔØˆÕó    c                 ó<   — | j                   j                  |«       |S )z©
        Register a callback function to be called when the compilation starts.

        Args:
        - callback (callable): The callback function to register.
        )r   Úappend©r   Úcallbacks     r	   Úregister_start_callbackz2CompilationCallbackHandler.register_start_callback   s   € ð 	×Ñ×#Ñ# HÔ-Øˆr   c                 ó<   — | j                   j                  |«       |S )z§
        Register a callback function to be called when the compilation ends.

        Args:
        - callback (callable): The callback function to register.
        )r   r   r   s     r	   Úregister_end_callbackz0CompilationCallbackHandler.register_end_callback   s   € ð 	×Ñ×!Ñ! (Ô+Øˆr   c                 ó:   — | j                   j                  |«       y)z
        Remove a registered start callback function.

        Args:
        - callback (callable): The callback function to remove.
        N)r   Úremover   s     r	   Úremove_start_callbackz0CompilationCallbackHandler.remove_start_callback   s   € ð 	×Ñ×#Ñ# HÕ-r   c                 ó:   — | j                   j                  |«       y)z‹
        Remove a registered end callback function.

        Args:
        - callback (callable): The callback function to remove.
        N)r   r   r   s     r	   Úremove_end_callbackz.CompilationCallbackHandler.remove_end_callback$   s   € ð 	×Ñ×!Ñ! (Õ+r   c                 ó4   — | j                   D ]	  } |«        Œ y)z9
        Execute all registered start callbacks.
        N)r   r   s     r	   Úrun_start_callbacksz.CompilationCallbackHandler.run_start_callbacks-   s   € ð ×,Ñ,ò 	ˆHÙJñ	r   c                 ó4   — | j                   D ]	  } |«        Œ y)z7
        Execute all registered end callbacks.
        N)r   r   s     r	   Úrun_end_callbacksz,CompilationCallbackHandler.run_end_callbacks4   s   € ð ×*Ñ*ò 	ˆHÙJñ	r   c                 ól   — | j                   j                  «        | j                  j                  «        y)z1
        Clear all registered callbacks.
        N)r   Úclearr   r   s    r	   r   z CompilationCallbackHandler.clear;   s(   € ð 	×Ñ×"Ñ"Ô$Ø×Ñ× Ñ Õ"r   N)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r   © r   r	   r   r      s*   „ ò òòò.ò,òòó#r   r   c                 ó0   — t         j                  | «       | S )zU
    Decorator to register a callback function for the start of the compilation.
    )Úcallback_handlerr   ©r   s    r	   Úon_compile_startr%   F   s   € ô ×,Ñ,¨XÔ6Ø€Or   c                 ó0   — t         j                  | «       | S )zS
    Decorator to register a callback function for the end of the compilation.
    )r#   r   r$   s    r	   Úon_compile_endr'   N   s   € ô ×*Ñ*¨8Ô4Ø€Or   N)r   r#   r%   r'   r!   r   r	   ú<module>r(      s%   ð÷>#ñ >#ñB .Ó/Ð òór   