
    9i                     p    S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	  S SK
Jr   " S S5      r " S S	5      rg)
    )LazyDict)abstractmethod)DictAnyOptional)defaultdictNc                       \ rS rSr% Sr\\S'   \S\S\S\	S\
\	\	4   S\	S	S
4S j5       r\S\S	S
4S j5       r\S\S	S
4S j5       r\SS j5       r\SS j5       rSrg
)Hook   r   prioritymodulefunctionnamemetadata_grouphashreturnNc                     [         eNNotImplementedError)selfr   r   r   r   r   s         Z/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/triton/profiler/hooks/hook.pyinit_handleHook.init_handle   s
     "!    metadatac                     [         er   r   r   r   s     r   enter
Hook.enter       !!r   c                     [         er   r   r   s     r   exit	Hook.exit   r!   r   c                     [         er   r   r   s    r   activateHook.activate   r!   r   c                     [         er   r   r&   s    r   
deactivateHook.deactivate   r!   r    )r   N)__name__
__module____qualname____firstlineno__r   int__annotations__r   r   strr   r   r   r   r#   r'   r*   __static_attributes__r,   r   r   r
   r
      s    Hc"# " "C "QUVY[^V^Q_ """&" " "h "4 " " "X "$ " " " " " "r   r
   c                   Z   \ rS rSr% / r\\   \S'   \" S 5      r	\
\\
\\4   4   \S'   \S\S\S\S\
\\4   S	\S
S4S j5       r\S\S
S4S j5       r\S\S
S4S j5       r\SS\\   S
S4S jj5       r\SS\\   S
S4S jj5       r\S\S\S
S4S j5       r\SS\\   S
S4S jj5       rSrg)HookManager!   active_hooksc                       [        [        5      $ r   )r   boolr,   r   r   <lambda>HookManager.<lambda>%   s
    [QUEVr   session_hooksr   r   r   r   r   r   Nc                 X    [         R                   H  nUR                  XX#U5        M     g r   )r6   r8   r   )r   r   r   r   r   hooks         r   r   HookManager.init_handle'   s$    ,,DVtTJ -r   r   c                 T    [         R                   H  nUR                  U 5        M     g r   )r6   r8   r   r   r?   s     r   r   HookManager.enter,   s    ,,DJJx  -r   c                 f    [        [        R                  5       H  nUR                  U 5        M     g r   )reversedr6   r8   r#   rB   s     r   r#   HookManager.exit1   s%     [556DIIh 7r   sessionc                    U c  [         R                  R                  5       nOU /nU Hv  n [         R                  U     H\  nU[         R                  ;  a/  UR	                  5         [         R                  R                  U5        S[         R                  U    U'   M^     Mx     [         R                  R                  S SS9  g )NTc                     U R                   $ r   r   xs    r   r;   &HookManager.activate.<locals>.<lambda>E       AJJr   keyreverse)r6   r=   keysr8   r'   appendsort)rG   sessionsr?   s      r   r'   HookManager.activate7   s    ?"00557HyHG#11':{777MMO,,33D9;?))'248	 ;   	  %%*>%Mr   c                    ^ U c  [         R                  R                  5       nOU /n[        5       nU HX  n [         R                  U     H>  mT[         R                  ;   a  UR                  T5        S[         R                  U    T'   M@     MZ     U Hj  m[        U4S j[         R                  R                  5        5       5      (       a  M;  TR                  5         [         R                  R                  T5        Ml     g )NFc              3   ,   >#    U  H	  oT   v   M     g 7fr   r,   .0r=   r?   s     r   	<genexpr>)HookManager.deactivate.<locals>.<genexpr>W   s     c@b}T*@b   )
r6   r=   rR   setr8   addanyvaluesr*   remove)rG   rU   deactivated_hooksr?   s      @r   r*   HookManager.deactivateG   s    ?"00557HyHEG#11':;333%))$/;@))'248 ;   &Dc@Y@Y@`@`@bccc!((//5 &r   r?   c                 >   S[         R                  U   U '   U [         R                  ;  a/  U R                  5         [         R                  R	                  U 5        [         R                  R                  S SS9  [        R                  R                  R                  [         R                  5        [        R                  R                  R                  [         R                  5        [        R                  R                  R                  [         R                  5        g )NTc                     U R                   $ r   rJ   rK   s    r   r;   &HookManager.register.<locals>.<lambda>b   rN   r   rO   )r6   r=   r8   r'   rS   rT   knobsruntimekernel_load_end_hookr_   r   launch_enter_hookr   launch_exit_hookr#   )r?   rG   s     r   registerHookManager.register[   s    37!!'*40{///MMO$$++D1  %%*>%M 	**..{/F/FG''++K,=,=>&&**;+;+;<r   c                   ^ U b  U [         R                  ;  a  g U cd  [         R                   H  mTR                  5         M     [         R                  R	                  5         [         R                  R	                  5         O[         R                  R                  U 5      nUR                  5        Hv  u  mnU(       d  M  [        U4S j[         R                  R                  5        5       5      (       a  MG  TR                  5         [         R                  R                  T5        Mx     [         R                  (       d  [        R                  R                  R                  [         R                  5        [        R                  R                  R                  [         R                  5        [        R                  R                   R                  [         R"                  5        g g )Nc              3   ,   >#    U  H	  oT   v   M     g 7fr   r,   rY   s     r   r[   )HookManager.unregister.<locals>.<genexpr>y   s     gDf=.Dfr]   )r6   r=   r8   r*   clearpopitemsr`   ra   rb   rh   ri   rj   r   rk   r   rl   r#   )rG   popped_hooksactiver?   s      @r   
unregisterHookManager.unregisteri   s7   7+2K2K#K?#00! 1$$**,%%++-&4488AL , 2 2 4fgKD]D]DdDdDfgggOO%,,33D9 !5 ''MM..55k6M6MNMM++22;3D3DEMM**11+2B2BC (r   r,   r   )r-   r.   r/   r0   r8   listr
   r2   r   r=   r   r1   r:   staticmethodr   r3   r   r   r   r#   r   r'   r*   rm   rw   r4   r,   r   r   r6   r6   !   sk   !L$t*!1<=V1WM4T$*--.WKC K3 Kc K4PSUXPX> Kad Kim K K ! !T ! !  x  D    
 N(3- N4 N N 6HSM 6T 6 6& =t =c =d = = DHSM DT D Dr   r6   )triton.compilerr   abcr   typingr   r   r   collectionsr   triton.knobsrh   r
   r6   r,   r   r   <module>r      s/    $  & & # " "2_D _Dr   