
    7hl!                    `   S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
  S SKJrJr  S SKJr  S SKJr  S SKJr  \
(       a  S SKJr  \R,                   " S	 S
5      5       r " S S\5      r " S S\R2                  5      r\" 5       r " S S\\   5      rSr " S S\R<                  5      rg)    )annotationsN)AnyCallableOptionalTYPE_CHECKING)overrideSelf)patch)config)RemoteCacheBackend)TracebackTypec                  h    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SS jrSS jr	SS	 jr
SS
 jrSrg)Stats   r   intnum_putnum_get_hitnum_get_missc                    U =R                   UR                   -  sl         U =R                  UR                  -  sl        U =R                  UR                  -  sl        U $ Nr   r   r   selfothers     T/var/www/fran/franai/venv/lib/python3.13/site-packages/torch/_inductor/mock_cache.py__iadd__Stats.__iadd__   sG    %E---U///    c                .    SU l         SU l        SU l        g )Nr   r   r   s    r   resetStats.reset!   s    r   c                ~    SR                  SU R                   S3SU R                   S3SU R                   S345      $ )N zputs: z, zmisses: zhits: )joinr   r   r   r    s    r   __str__Stats.__str__&   sN    wwb)4,,-R0))*"-
 	
r   c                    [        U[        [        45      =(       aY    U R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R
                  UR
                  :H  $ r   )
isinstancer   _GlobalItemStatsr   r   r   r   s     r   __eq__Stats.__eq__/   sb     uu&678 8-8  E$5$558 !!U%7%77		
r   )r   r   r   N)r   r   returnr	   r-   None)r-   str)r   objectr-   bool)__name__
__module____qualname____firstlineno__r   __annotations__r   r   r   r!   r&   r+   __static_attributes__ r   r   r   r      s4    GSKL#


r   r   c                  H   ^  \ rS rSr% S\S'   SU 4S jjrSU 4S jjrSrU =r$ )r*   :   zdict[str, object]cachec                0   > [         TU ]  5         0 U l        g r   )super__init__r<   r   	__class__s    r   r?   _GlobalItemStats.__init__=   s    
r   c                0   > [         TU ]  5         0 U l        g r   )r>   r!   r<   r@   s    r   r!   _GlobalItemStats.resetA   s    
r   )r<   r.   )	r3   r4   r5   r6   r7   r?   r!   r8   __classcell__)rA   s   @r   r*   r*   :   s     r   r*   c                  8    \ rS rSrSS jrSS jrS	S jrS rSrg)
_GlobalStatsL   c                    [        5       U l        [        5       U l        [        5       U l        [        5       U l        [        5       U l        [        5       U l        [        5       U l        g r   )r*   autotune_localautotune_remotebundled_autotunefx_graphtritonaot_autograd
dynamo_pgor    s    r   r?   _GlobalStats.__init__M   sL    .0/1 0 2(*&(,.*,r   c                p   U R                   R                  5         U R                  R                  5         U R                  R                  5         U R                  R                  5         U R
                  R                  5         U R                  R                  5         U R                  R                  5         g r   )rJ   r!   rK   rL   rM   rN   rO   rP   r    s    r   r!   _GlobalStats.resetV   sz    !!#""$##%!r   c                    [        X5      $ r   )getattrr   names     r   get_stat_GlobalStats.get_stat_   s    t""r   c                   SU R                   4SU R                  4SU R                  4SU R                  4SU R                  4SU R
                  4SU R                  44n[        S[        R                  S	9  U H#  u  p#[        S
U SU 3[        R                  S	9  M%     [        S[        R                  S	9  U H  u  p#UR                  (       d  M  [        S
U S3[        R                  S	9  [        UR                  R                  5       5       HF  u  pE[        U5      n[        U5      S:  a  US S S-   n[        SU< SU 3[        R                  S	9  MH     M     g )NrJ   rK   rL   rM   rN   rO   rP   zCache Stats:)filez  z: zCache Entries::d   z...z    )rJ   rK   rL   rM   rN   rO   rP   printsysstderrr<   sorteditemsreprlen)r   subsrW   subkvs         r   report_GlobalStats.reportb   s2   t223 4 45!6!67't{{#T../4??+
 	n3::.IDBtfBse$3::6  	SZZ0IDyyy4&l4"399??#45DAQA1v|dsGeODRs+#**=	 6 r   )rO   rJ   rK   rL   rP   rM   rN   Nr.   )rW   r0   r-   r*   )	r3   r4   r5   r6   r?   r!   rX   ri   r8   r9   r   r   rG   rG   L   s    - #>r   rG   c                  Z    \ rS rSrSS jr\S	S j5       r\S
S j5       r\SS j5       r	Sr
g)MockBackend   c                    Xl         g r   _namerV   s     r   r?   MockBackend.__init__   s    
r   c                   ^  SU 4S jjnU$ )Nc                    > [        T 5      $ r   )rl   )rW   s   r   wrapper&MockBackend.with_name.<locals>.wrapper   s    t$$r   )r-   rl   r9   )rW   rt   s   ` r   	with_nameMockBackend.with_name   s    	% r   c                    [         R                  U R                  5      nXR                  ;   a'  U[	        SS9-  nUR                  R                  U5      $ U[	        SS9-  ng )N   )r   )r   )global_statsrX   rp   r<   r   get)r   keystats      r   _getMockBackend._get   sT    $$TZZ0**Ea((D::>>#&&Eq))Dr   c                v    [         R                  U R                  5      nU[        SS9-  nX#R                  U'   g )Nry   )r   )rz   rX   rp   r   r<   )r   r|   datar}   s       r   _putMockBackend._put   s0    $$TZZ0a  

3r   ro   N)rW   r0   r-   r/   )rW   r0   r-   zCallable[[], MockBackend])r|   r0   r-   zOptional[Any])r|   r0   r   r   r-   r/   )r3   r4   r5   r6   r?   staticmethodrv   r   r~   r   r8   r9   r   r   rl   rl      sC          r   rl   )fx_graph_cachefx_graph_remote_cacheautotune_local_cacheautotune_remote_cachebundled_autotune_remote_cachec                  b    \ rS rSr\S 5       r\S 5       rS	S jrS
S jr        SS jr	Sr
g)PatchCaches   c                    0 U l         [         HF  n[        [        U5      (       a  [	        [        U5      U R                   U'   [        [        US5        MH     g )NF)_savedCacheState_CACHE_CONFIG_ENhasattrr   rU   setattrclsrW   s     r   setUpPatchCaches.setUp   sF    
  "$Dvt$$-4VT-B$$T*FD%( %r   c                    [          HA  n[        [        U5        XR                  ;   d  M$  [	        [        XR                  U   5        MC     g r   )r   delattrr   r   r   r   s     r   tearDownPatchCaches.tearDown   s9     %DFD!+++&:&:4&@A %r   c                8    [         R                  " 5       U l        g r   )
contextlib	ExitStack_stackr    s    r   r?   PatchCaches.__init__   s     **,r   c                   [         R                  5         U R                  R                  5         [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S	[
        R                  S
5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [        R                  " 5       (       Ga\  [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        [	        S[
        R                  S
5      5      nU R                  R                  U5        [	        S[
        R                  S5      5      nU R                  R                  U5        U $ )NzNtorch._inductor.runtime.autotune_cache.LocalAutotuneCache.backend_override_clsrJ   zEtorch._inductor.remote_cache.RemoteAutotuneCache.backend_override_clsrK   zLtorch._inductor.remote_cache.RemoteBundledAutotuneCache.backend_override_clsrL   zDtorch._inductor.remote_cache.RemoteFxGraphCache.backend_override_clsrM   zHtorch._inductor.remote_cache.RemoteAOTAutogradCache.backend_override_clsrO   zFtorch._inductor.remote_cache.RemoteDynamoPGOCache.backend_override_clsrP   zJtorch._inductor.fb.remote_cache.FbRemoteAutotuneCache.backend_override_clszQtorch._inductor.fb.remote_cache.FbRemoteBundledAutotuneCache.backend_override_clszItorch._inductor.fb.remote_cache.FbRemoteFxGraphCache.backend_override_clszFtriton.fb.fb_memcache.FbMemcacheRemoteKernelCache.backend_override_clsrN   zMtorch._inductor.fb.remote_cache.FbRemoteAOTAutogradCache.backend_override_clszKtorch._inductor.fb.remote_cache.FbRemoteDynamoPGOCache.backend_override_cls)
rz   r!   r   	__enter__r
   rl   rv   enter_contextr   	is_fbcode)r   ctxs     r   r   PatchCaches.__enter__   sk   \!!"23
 	!!#&S!!"34
 	!!#&Z!!"45
 	!!#&R!!*-
 	!!#&V!!.1
 	!!#&T!!,/
 	!!#&\%%&78C KK%%c*c%%&89C KK%%c*[%%j1C KK%%c*X%%h/C KK%%c*_%%n5C KK%%c*]%%l3C KK%%c*r   c                <    U R                   R                  XU5        g r   )r   __exit__)r   exc_type	exc_value	tracebacks       r   r   PatchCaches.__exit__  s     	X)<r   )r   Nr.   )r-   r	   )r   zOptional[type[BaseException]]r   zOptional[BaseException]r   zOptional[TracebackType]r-   r/   )r3   r4   r5   r6   classmethodr   r   r?   r   r   r8   r9   r   r   r   r      sa    ) ) B B-M^=/= += +	=
 
=r   r   ) 
__future__r   r   dataclassesr_   	threadingtypingr   r   r   r   typing_extensionsr   r	   unittest.mockr
   torch._inductorr   torch._inductor.remote_cacher   typesr   	dataclassr   r*   localrG   rz   rl   r   AbstractContextManagerr   r9   r   r   <module>r      s    #   
  9 9 ,  " ; # !
 !
 !
H	u 	$->9?? ->` ~$S) : l=*33 l=r   