§
    ŠŠtjÍ�  ã                  óÀ  — d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	 ddl
mZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ e	rddlZddlmZmZ dd	lmZ dd
lm Z  dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-d>d„Z.d>d„Z/d?d!„Z0	 d@dAd(„Z1dBd+„Z2 ej3        d,¬-¦  «         G d.„ d/¦  «        ¦   «         Z4ej3         G d0„ d1¦  «        ¦   «         Z5dCd8„Z6dDd;„Z7 G d<„ d=¦  «        Z8dS )EaÐ  
This module provides functionality for resuming Python execution at specific points in code,
primarily used by PyTorch Dynamo for control flow handling and optimization. It implements
bytecode transformation and execution state management to enable:

- Resuming execution at arbitrary points in Python bytecode
- Managing context managers and their state across execution boundaries
- Transforming and generating new code objects with preserved execution state
- Supporting Python 3.11+ exception handling and block management
- Restoring torch function mode stacks and other execution context

The module is critical for PyTorch Dynamo's ability to optimize code while preserving
Python semantics and execution state.
é    )ÚannotationsN)ÚAnyÚcastÚTYPE_CHECKINGé   )Úadd_push_nullÚbytecode_from_templateÚcreate_binary_subscrÚcreate_call_functionÚcreate_call_function_exÚcreate_instructionÚcreate_jump_absoluteÚcreate_load_constÚInstructionÚoverwrite_instructionÚtransform_code_objectÚ	unique_id)ÚExactWeakKeyDictionary)ÚCallableÚIterable)ÚAbstractContextManager)ÚCodeOptionsé   é   é   é   é    é@   é€   é   i   Útorch_dynamo_resume_inÚ__is_tracing_resume_prologueÚ__resume_frame_valuesÚframe_values_nameÚstrÚindexÚintÚreturnúlist[Instruction]c                ó\   — t          d| ¬¦  «        t          |¦  «        t          ¦   «         gS )NÚ	LOAD_FAST©Úargval)r   r   r
   ©r$   r&   s     ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/resume_execution.pyÚcreate_load_frame_valuer0   B   s1   € å˜;Ð/@ÐAÑAÔAÝ˜%Ñ Ô ÝÑÔðð ó    c                óz   — t          d ¦  «        t          d| ¬¦  «        t          |¦  «        t          d¦  «        gS )Nr+   r,   ÚSTORE_SUBSCR©r   r   r.   s     r/   Úcreate_clear_frame_valuer5   J   s>   € å˜$ÑÔÝ˜;Ð/@ÐAÑAÔAÝ˜%Ñ Ô Ý˜>Ñ*Ô*ð	ð r1   ÚinstsÚNonec                óÚ   — t           j        dk    rX|                      t          d¦  «        ¦  «         t           j        dk     r(|                      t          dd¬¦  «        ¦  «         d S d S d S )N©é   é   Ú	PUSH_NULL)r:   é   ÚSWAPr   ©Úarg)ÚsysÚversion_infoÚappendr   )r6   s    r/   Ú_initial_push_nullrD   T   sm   € Ý
Ô˜7Ò"Ð"Ø�ŠÕ'¨Ñ4Ô4Ñ5Ô5Ð5ÝÔ˜gÒ%Ð%Ø�LŠLÕ+¨F¸Ð:Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;ð #Ð"à%Ð%r1   ÚtemplateúCallable[..., Any]Ústack_indexÚvarname_mapúdict[str, Any] | Noneú+tuple[list[Instruction], list[Instruction]]c                óh  — t          | |¬¦  «        }|                     t          d¦  «        ¦  «         |D ]}|j        r|j        xj        |z  c_        Œt          d„ t          |¦  «        D ¦   «         d¦  «        \  }}|€t          d¦  «        ‚|€t          d¦  «        ‚t          |t          d¦  «        g¦  «         ||dz            j	        dk    r t          d	||dz            j	        › �¦  «        ‚t          ||dz            t          d¦  «        g¦  «         |d |dz   …         ||dz   d …         fS )
N©rH   ÚPOP_TOPc              3  óL   K  — | ]\  }}|j         d v r|j        dk    ¯||fV — Œ dS )©r+   ÚLOAD_FAST_BORROWÚdummyN©Úopnamer-   )Ú.0ÚiÚinsts      r/   ú	<genexpr>z5_bytecode_from_template_with_split.<locals>.<genexpr>k   sS   è è € ð 	
ð 	
á��4ØŒ{Ð?Ð?Ð?Ø”˜wÒ&Ð&ð �ˆIð 'Ð&Ð&Ð&ð		
ð 	
r1   )NNz6LOAD_FAST dummy instruction not found in template codez,LOAD_FAST dummy instruction instance is NoneÚNOPr   z,Expected POP_TOP after LOAD_FAST dummy, got )
r	   rC   r   Úexn_tab_entryÚdepthÚnextÚ	enumerateÚAssertionErrorr   rS   )rE   rG   rH   Útemplate_coderV   Ú	dummy_idxÚ
dummy_insts          r/   Ú"_bytecode_from_template_with_splitra   \   s  € õ
 +¨8ÀÐMÑMÔM€MØ×ÒÕ+¨IÑ6Ô6Ñ7Ô7Ð7ð ð 4ð 4ˆØÔð 	4ØÔÐ$Ô$¨Ñ3Ð$Ô$øõ !ð	
ð 	
å$ ]Ñ3Ô3ð	
ñ 	
ô 	
ð 	ñô Ñ€Iˆzð ÐÝÐUÑVÔVÐVØÐÝÐKÑLÔLÐLõ ˜*Õ'9¸%Ñ'@Ô'@Ð&AÑBÔBÐBð �Y ‘]Ô#Ô*¨iÒ7Ð7ÝØ`¸=ÈÐUVÉÔ;WÔ;^Ð`Ð`ñ
ô 
ð 	
õ ˜-¨	°A©Ô6Õ9KÈEÑ9RÔ9RÐ8SÑTÔTÐTà˜˜9 q™=˜Ô)¨=¸ÀQ¹¸¸Ô+IÐIÐIr1   rQ   r   c                óJ   — 	 |  d S #  t                                ¦   «          ‚ xY w©N)Ú$__import_torch_dot__dynamo_dot_utilsÚ_pop_torch_function_stack)rQ   s    r/   Ú_try_except_tf_mode_templaterf   …   s.   € ð
ØˆˆˆøðÝ,×FÒFÑHÔHÐHØøøøs   ‚ †"T)Úfrozenc                  ó@   — e Zd ZU ded<   dZded<   dd„Zdd„Zdd„ZdS )ÚReenterWithr'   rG   Nztuple[Any, ...] | NoneÚtarget_valuesÚcode_optionsr   Úcleanupr)   r(   c                óT   — t          t          | j        ¦  «        \  }}||z   |dd…<   |S )z´
        Codegen based off of:
        try:
            (rest)
        except:
            (pop the torch function mode that was pushed for this context)
            raise
        N)ra   rf   rG   )Úselfrk   rl   Úsetup_try_exceptÚepilogues        r/   Útry_except_torch_function_modez*ReenterWith.try_except_torch_function_mode–   s=   € õ &HÝ(ØÔñ&
ô &
Ñ"Ð˜(ð  Ñ'ˆ���‰
àÐr1   c                óä  — g }| j         rd„ | j         D ¦   «         }t          d| j        › �¦  «        }||d         vr|dxx         |fz  cc<   dD ]}||d         vr|dxx         |fz  cc<   Œg }t          |¦  «         |                     g |¢t          t          |¦  «        d¦  «        ¢t          d|¬¦  «        ‘¦  «         dd„}t          || j        d	|i¬¦  «        \  }}	|	|z   |dd…<   ||z   S )z™
        Codegen based off of:
        load args
        enter context
        try:
            (rest)
        finally:
            exit context
        c                ó,   — g | ]}t          |¦  «        ‘ŒS © ©r   ©rT   Úvals     r/   ú
<listcomp>z+ReenterWith.try_finally.<locals>.<listcomp>»   ó!   € ÐNÐNÐN°CÕ*¨3Ñ/Ô/ÐNÐNÐNr1   Ú___context_manager_Úco_varnames©Ú	__enter__Ú__exit__Úco_namesFÚ
STORE_FASTr,   ÚctxúAbstractContextManager[Any]rQ   r   r(   r7   c                óš   — |                       ¦   «          	 | |                      d d d ¦  «         d S # |                      d d d ¦  «         w xY wrc   r|   ©r�   rQ   s     r/   Ú	_templatez*ReenterWith.try_finally.<locals>._templateÍ   sQ   € Ø�MŠM‰OŒOˆOð/Ø�à—’˜T 4¨Ñ.Ô.Ð.Ð.Ð.ø�—’˜T 4¨Ñ.Ô.Ð.Ð.øøøs	   –1 ±A
rL   N©r�   r‚   rQ   r   r(   r7   )	rj   r   rG   rD   Úextendr   Úlenr   ra   )
rn   rk   rl   Ú	load_argsÚctx_nameÚnameÚ
create_ctxr…   Úsetup_try_finallyrp   s
             r/   Útry_finallyzReenterWith.try_finally«   sw  € ð ˆ	ØÔð 	OØNÐN¸4Ô;MÐNÑNÔNˆIÝÐE°4Ô3CÐEÐEÑFÔFˆØ˜<¨Ô6Ð6Ð6Ø˜Ð'Ð'Ô'¨H¨;Ñ6Ð'Ð'Ñ'Ø-ð 	4ð 	4ˆDØ˜<¨
Ô3Ð3Ð3Ø˜ZÐ(Ð(Ô(¨T¨GÑ3Ð(Ð(Ñ(øà(*ˆ
Ý˜:Ñ&Ô&Ð&Ø×ÒðØðå%¥c¨)¡n¤n°eÑ<Ô<ðõ # <¸ÐAÑAÔAðñ	
ô 	
ð 	
ð	/ð 	/ð 	/ð 	/õ 'IØ�tÔ'°e¸XÐ5Fð'
ñ '
ô '
Ñ#Ð˜8ð  Ñ'ˆ���‰
ØÐ-Ñ-Ð-r1   údict[str, Any]ú,tuple[list[Instruction], Instruction | None]c                óB  — g }| j         rd„ | j         D ¦   «         }g }t          j        dk     rt          |¦  «         |                     g |¢t          t          |¦  «        d¦  «        ¢¦  «         dd
„}t          || j        ¦  «        \  }}||z   |dd…<   t          d„ |D ¦   «         d¦  «        }|€t          d¦  «        ‚t          |t          d¦  «        g¦  «         d„ |D ¦   «         }	t          |	d¦  «        }
t          |	d¦  «        �t          d¦  «        ‚||z   |
fS )zR
        Codegen based off of:
        with ctx(args):
            (rest)
        c                ó,   — g | ]}t          |¦  «        ‘ŒS rt   ru   rv   s     r/   rx   z(ReenterWith.__call__.<locals>.<listcomp>æ   ry   r1   )r:   é   Fr�   r‚   rQ   r   r(   r7   c                ó@   — | 5  | d d d ¦  «         d S # 1 swxY w Y   d S rc   rt   r„   s     r/   r…   z'ReenterWith.__call__.<locals>._templateó   sq   € Øð ð Ø�ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ƒ“šNc              3  óB   K  — | ]}|j         d v r|j        dk    ¯|V — ŒdS )rO   r�   NrR   ©rT   rV   s     r/   rW   z'ReenterWith.__call__.<locals>.<genexpr>ý   sK   è è € ð ð àØ”;Ð"CÐCÐCØ”K 5Ò(Ð(ð ð )Ð(Ð(Ð(ð	ð r1   z1LOAD_FAST ctx instruction not found in setup_withrX   c              3  ó0   K  — | ]}|j         d k    ¯|V — ŒdS )ÚPUSH_EXC_INFON)rS   r–   s     r/   rW   z'ReenterWith.__call__.<locals>.<genexpr>  s7   è è € ð 
ð 
Ø¨¬¸Ò)GÐ)GˆDÐ)GÐ)GÐ)GÐ)Gð
ð 
r1   z)Expected only 1 PUSH_EXC_INFO in epiloguer†   )rj   rA   rB   rD   r‡   r   rˆ   ra   rG   r[   r]   r   r   )rn   rk   rl   r‰   rŒ   r…   Ú
setup_withrp   Úload_fast_ctx_instÚpush_exc_info_genÚpush_exc_info_insts              r/   Ú__call__zReenterWith.__call__Ú   s˜  € ð ˆ	ØÔð 	OØNÐN¸4Ô;MÐNÑNÔNˆIà(*ˆ
åÔ˜gÒ%Ð%Ý˜zÑ*Ô*Ð*Ø×ÒðØðå%¥c¨)¡n¤n°eÑ<Ô<ðñ	
ô 	
ð 	
ð	ð 	ð 	ð 	õ  BØ�tÔ'ñ 
ô  
Ñˆ
�Hð  Ñ'ˆ���‰
å!ðð à&ðñ ô ð ñ
ô 
Ðð Ð%Ý Ð!TÑUÔUÐUåÐ0Õ3EÀeÑ3LÔ3LÐ2MÑNÔNÐNð
ð 
Ø%ð
ñ 
ô 
Ðõ "Ð"3°TÑ:Ô:ÐåÐ! 4Ñ(Ô(Ð4Ý Ð!LÑMÔMÐMà˜JÑ&Ð(:Ð:Ð:r1   )rk   r   rl   r)   r(   r)   )rk   r�   rl   r)   r(   r�   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rj   rq   rŽ   r�   rt   r1   r/   ri   ri   ‘   sp   € € € € € € àÐÐÑØ,0€MÐ0Ð0Ð0Ñ0ð ð  ð  ð  ð*-.ð -.ð -.ð -.ð^9;ð 9;ð 9;ð 9;ð 9;ð 9;r1   ri   c                  ó¬   — e Zd ZU ded<    ej        e¬¦  «        Zded<   dZded<    ej        e¬¦  «        Z	d	ed
<    ej        e
¬¦  «        Zded<   dS )ÚResumeFunctionMetadataútypes.CodeTypeÚcode)Údefault_factoryr)   ÚinstructionsFÚboolÚ
boxed_callz	list[int]Ú prefix_block_target_offset_remapz%dict[tuple[int, int], dict[int, int]]Úblock_target_offset_remapN)rž   rŸ   r    r¡   ÚdataclassesÚfieldÚlistr§   r©   rª   Údictr«   rt   r1   r/   r£   r£     s¶   € € € € € € àÐÐÑØ&7 kÔ&7ÈÐ&MÑ&MÔ&M€LÐMÐMÐMÑMØ€JÐÐÐÑð 3D°+Ô2CØð3ñ 3ô 3Ð$ð ð ð ñ ð
 	ˆÔ¨$Ð/Ñ/Ô/ð ð ð ð ñ ð ð r1   r£   Úl1úIterable[Any]Úl2ÚcondúCallable[[Any, Any], bool]ú	list[Any]c                óÔ   — t          |¦  «        }g }	 t          |¦  «        }| D ]2} |||¦  «        r$|                     |¦  «         t          |¦  «        }Œ3n# t          $ r Y nw xY w|S )z®
    Two-pointer conditional filter.
    e.g. _filter_iter(insts, sorted_offsets, lambda i, o: i.offset == o)
    returns the instructions with offsets in sorted_offsets
    )Úiterr[   rC   ÚStopIteration)r°   r²   r³   ÚitÚresÚcurrw   s          r/   Ú_filter_iterr¼   )  sŒ   € õ 
ˆb‰Œ€BØ€CðÝ�2‰hŒhˆØð 	ð 	ˆCØˆt�C˜‰~Œ~ð Ø—
’
˜3‘”�Ý˜2‘h”h�øð	øõ ð ð ð Øˆðøøøà€Js   “AA Á
A%Á$A%Útupútuple[Any, ...]c                óÆ   — g }t          |¦  «         |                     d„ | D ¦   «         ¦  «         |                     t          t          | ¦  «        d¦  «        ¦  «         |S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S rc   ru   rv   s     r/   rW   z'_load_tuple_and_call.<locals>.<genexpr>C  s+   è è € Ð7Ð7¨CÕ" 3Ñ'Ô'Ð7Ð7Ð7Ð7Ð7Ð7r1   F)rD   r‡   r   rˆ   )r½   r6   s     r/   Ú_load_tuple_and_callrÁ   @  s^   € Ø!€EÝ�uÑÔÐØ	‡L‚LÐ7Ð7°3Ð7Ñ7Ô7Ñ7Ô7Ð7Ø	‡L‚LÕ%¥c¨#¡h¤h°Ñ6Ô6Ñ7Ô7Ð7Ø€Lr1   c                  ó®   — e Zd Z e¦   «         Z e¦   «         Zed&d	„¦   «         Zed'd„¦   «         Zed(d„¦   «         Z	e
d)d"„¦   «         Zed*d$„¦   «         Zd%S )+ÚContinueExecutionCacher¥   r¤   Úlinenor'   Úinit_offsetÚkeyr   r(   c                óÆ   — || j         vr
i | j         |<   t          |¦  «        }|| j         |         vr | j        |||g|¢R Ž | j         |         |<   | j         |         |         S rc   )ÚcacheÚtupleÚgenerate)Úclsr¥   rÄ   rÅ   rÆ   s        r/   ÚlookupzContinueExecutionCache.lookupL  sq   € ð �s”yÐ Ð Ø ˆCŒI�d‰OÝ�C‰jŒjˆØ�c”i ”oÐ%Ð%Ø#/ 3¤<°°f¸kÐ#PÈCÐ#PÐ#PÐ#PˆCŒI�dŒO˜CÑ ØŒy˜Œ˜sÔ#Ð#r1   Úresume_offsetÚsetup_fn_target_offsetsútuple[int, ...]ÚnstackÚargnamesútuple[str, ...]Úargnames_nullÚ	setup_fnsútuple[ReenterWith, ...]Úhandle_inactive_ctxr¨   Ústack_ctx_varsú'tuple[tuple[int, tuple[Any, ...]], ...]Úargnames_ctx_varsú'tuple[tuple[str, tuple[Any, ...]], ...]Ú
null_idxesÚnested_code_objsútuple[types.CodeType]Úpop_nested_resume_resultc                óþ  ‡ ‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡‡— ‰€t          d¦  «        ‚|j        t          t          z  t          z  t
          z  z  rt          d¦  «        ‚|j        t          z  st          d¦  «        ‚|t          j        v r#‰  	                    |‰|‰‰‰‰‰‰	‰
‰‰‰‰‰¦  «        S t          j        dk    Št          |¦  «        Šdˆˆˆˆ ˆ
ˆˆˆˆˆˆˆˆˆˆ	ˆfd„}t          ||¦  «        \  }}‰t          j        |<   |S )Nzresume_offset must not be NonezLCannot generate resume function for generator, coroutine, or async generatorz+Code object must have CO_OPTIMIZED flag setr9   r§   r)   rk   r�   r(   r7   c                ó.  •‡‡‡‡— t          j        | ¦  «        ‰'_        t          ˆ,fd„| D ¦   «         ¦  «        }t	          ‰ ¦  «        Š‰                     d„ t          ‰)¦  «        D ¦   «         ¦  «         t          ˆˆ,fd„| D ¦   «         ¦  «        ‰'_        ddgŠ‰'j        r‰ 	                    t          ¦  «         n=‰d„ t          ‰)¦  «        D ¦   «         z  Š‰                     ˆfd„‰ D ¦   «         ¦  «         t          |d         pg ¦  «        t          |d	         pg ¦  «        z   }t          t          |¦  «        ¦  «        }t          › d
|d         › d‰&› �|d<   ‰%rˆ|d                              dd¬¦  «        }t!          |¦  «        dk    r|d         |d<   nLt!          |¦  «        dk    rt#          dt!          |¦  «        › �¦  «        ‚|\  }}|› dt          › d
|› d‰&› �|d<   ‰&|d<   d|d<   ||d	<   t!          ‰¦  «        |d<   d|d<   d|d<   ˆfd„‰ D ¦   «         Šˆˆfd„‰"D ¦   «         Št          ‰‰z   ‰z   ˆˆˆfd„|d         D ¦   «         z   t$          gz   ¦  «        |d<   |d         t&          t(          z   z  |d<   g }‰%rW|r1| 	                    t+          dt!          |¦  «        ¬¦  «        ¦  «         | 	                    t+          d d¬¦  «        ¦  «         |                     t+          d!d"¬#¦  «        t+          d$t$          ¬#¦  «        g¦  «         g }d%„ ‰.D ¦   «         }	ˆ-fd&„t-          ‰.¦  «        D ¦   «         }
d'„ | D ¦   «         }i }d}d}t/          ‰/¦  «        }t          ‰)t!          ‰*¦  «        z   ¦  «        D �]w}|t!          ‰*¦  «        k     r4‰*|         |k    r(| 	                    t+          d(¦  «        ¦  «         |dz  }n²‰'j        rQ|                     t1          t          |¦  «        ¦  «         |                     t3          t          |¦  «        ¦  «         n'| 	                    t+          d)d*|› �¬#¦  «        ¦  «         ‰$r,||v r(|                     t5          ||         ¦  «        ¦  «         |dz  }||	v rw|	                     |¦  «        } |||¦  «        \  }}|                     |¦  «         ‰%r<|
                     |¦  «        }||         }‰'j         	                    |¦  «         |||<   �Œy‰%r&t;          t=          ‰'j        ¦  «        ¦  «        ‰'_        |	rt#          d+|	› �¦  «        ‚‰'j        rŽt-          ‰ ¦  «        D ]~\  }}‰)|z   }|                     t1          t          |¦  «        ¦  «         | 	                    t+          d$|¬#¦  «        ¦  «         |                     t3          t          |¦  «        ¦  «         Œ‰$rr‰!D ]o\  }}| 	                    t+          d)|¬#¦  «        ¦  «         |                     t5          |¦  «        ¦  «         | 	                    t+          d$|¬#¦  «        ¦  «         Œp‰"r{t>          j         d,k     rt#          d-t>          j         › �¦  «        ‚‰"D ]L}|‰v rt#          d.|›d/�¦  «        ‚|                     t+          d(¦  «        t+          d$|¬#¦  «        g¦  «         ŒM‰(�r4‰# !                    ‰(d0         ¦  «        }|                     g tE          t+          d)d¬#¦  «        t+          d!d0¬#¦  «        tG          ¦   «         g¦  «        ¢t+          d)d¬#¦  «        ‘t+          d!d0¬#¦  «        ‘t+          d1¦  «        ‘t+          d)d¬#¦  «        ‘t+          d)d¬#¦  «        ‘t+          d2d¬¦  «        ‘¦  «         |rS|                     t+          d)d¬#¦  «        t+          d!d0¬#¦  «        tG          ¦   «         t+          d3d¬¦  «        g¦  «         nR|                     t+          d)d¬#¦  «        t+          d!d0¬#¦  «        tG          ¦   «         t+          d4d¬¦  «        g¦  «         |                     t+          d)d¬#¦  «        t+          d!d0¬#¦  «        t+          d1¦  «        t+          d5d¬#¦  «        t+          d5d¬#¦  «        t+          d!d6¬#¦  «        t+          d$t$          ¬#¦  «        gtI          d6d6¦  «        ¢¦  «         ‰+r"| 	                    t+          d7¦  «        ¦  «         n:|                     t+          d!d6¬#¦  «        t+          d$t$          ¬#¦  «        g¦  «         | 	                    tK          |¦  «        ¦  «         | D ]2}|j&        |j&        k    r nd |_'        t>          j         d8k    rd |_(        Œ3|r=|                     |¦  «         |                     ‰# )                    |¦  «        ¦  «         |rG‰%st#          d9¦  «        ‚| D ]3}|j*        r*|j*        j+        |v r||j*        j+                 |j*        _+        Œ4|| z   | d d …<   d S ):Nc              3  ó2   •K  — | ]}|j         ‰k    ¯|V — Œd S rc   ©Úoffset)rT   rU   rÍ   s     €r/   rW   zBContinueExecutionCache.generate.<locals>.update.<locals>.<genexpr>”  s/   øè è € ÐOÐO °Q´XÀÒ5NÐ5N˜!Ð5NÐ5NÐ5NÐ5NÐOÐOr1   c              3  ó    K  — | ]	}d |› �V — Œ
dS )Ú___stackNrt   ©rT   rU   s     r/   rW   zBContinueExecutionCache.generate.<locals>.update.<locals>.<genexpr>™  s(   è è € Ð$KÐ$K¸ ^° ^ ^Ð$KÐ$KÐ$KÐ$KÐ$KÐ$Kr1   c              3  óh   •K  — | ],}|j         d k    o|j        ‰v o|j        duo
|j        ‰k    V — Œ-dS )ÚDELETE_FASTN)rS   r-   rã   )rT   rV   Úframe_value_namesrÍ   s     €€r/   rW   zBContinueExecutionCache.generate.<locals>.update.<locals>.<genexpr>š  sp   øè è € ð "ð "ð
 ð	 ”˜}Ò,ð 1Ø”KÐ#4Ð4ð1à”K tÐ+ð1ð ”K =Ò0ð	"ð "ð "ð "ð "ð "r1   Ú__nested_resume_fnsÚ__nested_frame_valuesc                ó   — g | ]}d |› �‘ŒS )rå   rt   ræ   s     r/   rx   zCContinueExecutionCache.generate.<locals>.update.<locals>.<listcomp>¦  s   € Ð?Ð?Ð?¨A˜ A˜˜Ð?Ð?Ð?r1   c              3  ó$   •K  — | ]
}|‰v¯|V — Œd S rc   rt   ©rT   ÚvÚargss     €r/   rW   zBContinueExecutionCache.generate.<locals>.update.<locals>.<genexpr>§  s'   øè è € ÐAÐA !°1¸D°=°=˜A°=°=°=°=ÐAÐAr1   Úco_cellvarsÚco_freevarsÚ_Úco_nameÚ_at_Úco_qualnameú.r   )Úmaxsplitr   z-Expected qualified path to have 2 parts, got Úco_firstlinenort   Úco_argcountr   Úco_posonlyargcountÚco_kwonlyargcountc                ó   •— g | ]}|‰v¯|‘Œ	S rt   rt   rî   s     €r/   rx   zCContinueExecutionCache.generate.<locals>.update.<locals>.<listcomp>Â  s   ø€ ÐCÐCÐC A°Q¸d°]°]˜a°]°]°]r1   c                ó$   •— g | ]}|‰v¯|‰v¯
|‘ŒS rt   rt   )rT   rï   rð   Úlocal_argnamess     €€r/   rx   zCContinueExecutionCache.generate.<locals>.update.<locals>.<listcomp>Ã  s2   ø€ ð #ð #ð #Ø¨A°T¨M¨M¸aÀ~Ð>UÐ>U�Ð>UÐ>UÐ>Ur1   c                ó,   •— g | ]}|‰vr
|‰vr|‰v¯|‘ŒS rt   rt   )rT   rï   rð   rÿ   Únull_local_argnamess     €€€r/   rx   zCContinueExecutionCache.generate.<locals>.update.<locals>.<listcomp>Ê  sE   ø€ ð ð ð àØ �}�}Ø Ð/Ð/ØÐ!4Ð4Ð4ð	 ð 5Ð4Ð4r1   r{   Úco_flagsÚCOPY_FREE_VARSr?   ÚRESUMEÚ
LOAD_CONSTTr,   r€   c                ó   — i | ]
}|j         |“ŒS rt   ©rG   )rT   Úfns     r/   ú
<dictcomp>zCContinueExecutionCache.generate.<locals>.update.<locals>.<dictcomp>ì  s   € Ð<Ð<Ð<¨B�R”^ RÐ<Ð<Ð<r1   c                ó2   •— i | ]\  }}|j         ‰|         “ŒS rt   r  )rT   rU   r  rÎ   s      €r/   r	  zCContinueExecutionCache.generate.<locals>.update.<locals>.<dictcomp>í  s7   ø€ ð #ð #ð #á�A�rð ”Ð 7¸Ô :ð#ð #ð #r1   c                ó   — i | ]
}|j         |“ŒS rt   râ   r–   s     r/   r	  zCContinueExecutionCache.generate.<locals>.update.<locals>.<dictcomp>ñ  s   € ÐIÐIÐI°D˜dœk¨4ÐIÐIÐIr1   r<   r+   rå   zUnprocessed hooks remaining: )r:   é   z)argnames_null requires Python 3.12+, got zargnames_null variable z should not be in argséÿÿÿÿÚDELETE_SUBSCRÚ
BUILD_LISTÚLIST_APPENDÚLIST_EXTENDrè   FrM   r9   z+old_hook_target_remap requires Python 3.11+),ÚcopyÚdeepcopyr§   r[   ÚsetÚupdateÚrangeÚanyr©   rC   ÚRESUME_FRAME_VALUES_VARNAMEr‡   rÉ   ÚsortedÚTORCH_DYNAMO_RESUME_IN_PREFIXÚrsplitrˆ   r]   Ú"IS_TRACING_RESUME_PROLOGUE_VARNAMEÚ
CO_VARARGSÚCO_VARKEYWORDSr   r\   r¯   r0   r5   rÁ   Úpoprª   r®   ÚreversedrA   rB   Úuses_boxed_callr   r
   r   r   rã   Ústarts_lineÚ	positionsÚunreachable_codesrY   Útarget)0r§   rk   r%  ÚfreevarsÚqualified_pathÚmodule_namerô   Úprefixrl   ÚhooksÚhook_target_offsetsÚoffset_to_instÚold_hook_target_remapÚstack_iÚnull_iÚstack_ctx_vars_drU   ÚhookÚ
hook_instsÚ
exn_targetÚhook_target_offsetÚold_hook_targetr‹   Úframe_value_indexÚvalsrï   Únested_uses_boxed_callrV   rð   ré   rÿ   r  rÑ   rÙ   rÓ   rË   rÖ   Úis_py311_plusrÄ   ÚmetarÜ   rÐ   rÛ   rÞ   rÍ   rÎ   rÔ   r×   s0                               @@@@€€€€€€€€€€€€€€€€r/   r  z/ContinueExecutionCache.generate.<locals>.update�  s´  øøøøø€ õ !%¤¨lÑ ;Ô ;ˆDÔåÐOÐOÐOÐO \ÐOÑOÔOÑOÔOˆFõ !$ H¡¤ÐØ×$Ò$Ð$KÐ$K½UÀ6¹]¼]Ð$KÑ$KÔ$KÑKÔKÐKÝ!ð "ð "ð "ð "ð "ð
 )ð"ñ "ô "ñ ô ˆDŒOð *Ð+BÐCˆDØŒð BØ—’Õ7Ñ8Ô8Ð8Ð8àÐ?Ð?µ°v±´Ð?Ñ?Ô?Ñ?�Ø—’ÐAÐAÐAÐA xÐAÑAÔAÑAÔAÐAÝ˜\¨-Ô8Ð>¸BÑ?Ô?Å%Ø˜]Ô+Ð1¨rñCô Cñ ˆHõ �V HÑ-Ô-Ñ.Ô.ˆHå0ÐXÐX°<À	Ô3JÐXÐXÐPVÐXÐXð ˜Ñ#ð ð Ø!-¨mÔ!<×!CÒ!CÀCÐRSÐ!CÑ!TÔ!T�Ý�~Ñ&Ô&¨!Ò+Ð+Ø2>¸yÔ2I�L Ñ/Ð/å˜>Ñ*Ô*¨aÒ/Ð/Ý,ØaÍCÐP^ÑL_ÔL_ÐaÐañô ð ð ,:Ñ(�K à&Ð^Ð^Õ)FÐ^Ð^ÈÐ^Ð^ÐV\Ð^Ð^ð ! Ñ/ð .4ˆLÐ)Ñ*Ø*,ˆL˜Ñ'Ø*2ˆL˜Ñ'Ý*-¨d©)¬)ˆL˜Ñ'Ø12ˆLÐ-Ñ.Ø01ˆLÐ,Ñ-ØCÐCÐCÐC¨ÐCÑCÔCˆNð#ð #ð #ð #ð #Ø(ð#ñ #ô #Ðõ +0ØØ ñ!à%ñ&ðð ð ð ð ð à)¨-Ô8ðñ ô ñ	õ 6Ð6ñ
7ñ+ô +ˆL˜Ñ'ð (4°JÔ'?Ý�^Ñ+ðCñ (ˆL˜Ñ$ð ˆFØð CØð Ø—M’MÝ*Ð+;ÅÀXÁÄÐOÑOÔOñô ð ð —’Õ0°¸qÐAÑAÔAÑBÔBÐBð
 �MŠMå& |¸DÐAÑAÔAÝ&Ø$Õ-Oðñ ô ðñô ð ð *,ˆGØ<Ð<°)Ð<Ñ<Ô<ˆEð#ð #ð #ð #å& yÑ1Ô1ð#ñ #ô #Ðð JÐI¸LÐIÑIÔIˆNð %'Ð!ØˆGØˆFÝ# NÑ3Ô3ÐÝ˜6¥C¨
¡O¤OÑ3Ñ4Ô4ð "Lñ "L�Ø�C 
™OœOÒ+Ð+°
¸6Ô0BÀaÒ0GÐ0GØ—M’MÕ"4°[Ñ"AÔ"AÑBÔBÐBØ˜a‘K�F�Fà”ð ØŸšÝ3Ý ;¸Wñô ñô ð ð
 ŸšÝ4Ý ;¸Wñô ñô ð ð ð ŸšÝ.¨{ÐCWÈgÐCWÐCWÐXÑXÔXñô ð ð +ð W¨wÐ:JÐ/JÐ/Jð ŸšÕ&:Ð;KÈGÔ;TÑ&UÔ&UÑVÔVÐVØ˜q‘L�Gà˜�:�:Ø Ÿ9š9 Q™<œ<�DØ-1¨T°,ÀÑ-HÔ-HÑ*�J 
Ø—M’M *Ñ-Ô-Ð-Ø$ð LØ-@×-DÒ-DÀQÑ-GÔ-GÐ*Ø*8Ð9KÔ*L˜ØÔ=×DÒDÐEWÑXÔXÐXØAKÐ-¨oÑ>ùàð õ 9=Ý˜TÔBÑCÔCñ9ô 9�Ô5ð ð NÝ$Ð%LÀUÐ%LÐ%LÑMÔMÐMàŒð Ý(¨Ñ2Ô2ð ð ‘G�A�tØ(.°©
Ð%Ø—M’MÝ/Ý7Ð9Jñô ñô ð ð
 —M’MÕ"4°\È$Ð"OÑ"OÔ"OÑPÔPÐPØ—M’MÝ0Ý7Ð9Jñô ñô ð ð ð #ð QØ"3ð Qð Q‘J�D˜$Ø—M’MÕ"4°[ÈÐ"NÑ"NÔ"NÑOÔOÐOØ—M’MÕ"6°tÑ"<Ô"<Ñ=Ô=Ð=Ø—M’MÕ"4°\È$Ð"OÑ"OÔ"OÑPÔPÐPÐPð ð ÝÔ# gÒ-Ð-Ý(ØVÅCÔDTÐVÐVñô ð ð 'ð 
ð 
�AØ˜D�y�yÝ,ØQ°aÐQÐQÐQñô ð ð —M’Må.¨{Ñ;Ô;Ý.¨|ÀAÐFÑFÔFðñô ð ð ð  ñ VØ),×)<Ò)<Ð=MÈbÔ=QÑ)RÔ)RÐ&Ø—’ðå&å 2Ø$/Ð8Mð!"ñ !"ô !"õ !3°<ÈÐ KÑ KÔ KÝ 4Ñ 6Ô 6ðñô ðõ +¨;Ð?TÐUÑUÔUðõ +¨<ÀÐCÑCÔCðõ +¨?Ñ;Ô;ðõ  +¨;Ð?TÐUÑUÔUð!õ" +¨;Ð?VÐWÑWÔWð#õ$ +¨<¸QÐ?Ñ?Ô?ð%ñô ð ð, *ð Ø—M’Mõ /Ø +Ð4Kðñ ô õ /¨|ÀBÐGÑGÔGÝ0Ñ2Ô2Ý.¨}À!ÐDÑDÔDðñ
ô 
ð 
ð 
ð —M’Mõ /Ø +Ð4Kðñ ô õ /¨|ÀBÐGÑGÔGÝ0Ñ2Ô2õ /¨}À!ÐDÑDÔDðñô ð ð  —’õ +¨;Ð?VÐWÑWÔWÝ*¨<ÀÐCÑCÔCÝ*¨?Ñ;Ô;å*¨=ÐAVÐWÑWÔWÝ*Ø)Ð2Iðñ ô õ
 +¨<ÀÐFÑFÔFÝ*Ø(Õ1Sðñ ô ðõ" 1°¸Ñ>Ô>ð#ñô ð ð* ,ð Aà—M’MÕ"4°YÑ"?Ô"?Ñ@Ô@Ð@øð —’å*¨<ÀÐFÑFÔFÝ*Ø(Õ1Sðñ ô ðñô ð ð �MŠMÕ.¨vÑ6Ô6Ñ7Ô7Ð7ð
 %ð *ð *�Ø”; &¤-Ò/Ð/Ø�EØ#'�Ô ÝÔ# wÒ.Ð.Ø%)�D”Nøàð CØ—’˜gÑ&Ô&Ð&Ø—’˜c×3Ò3°LÑAÔAÑBÔBÐBð %ð à$ð XÝ(Ð)VÑWÔWÐWØ(ð ð �DàÔ*ðà Ô.Ô5Ð9NÐNÐNà4IØ Ô.Ô5ô5˜Ô*Ô1øð
 % |Ñ3ˆL˜˜˜‰OˆOˆOr1   ©r§   r)   rk   r�   r(   r7   )r]   r  ÚCO_GENERATORÚCO_COROUTINEÚCO_ITERABLE_COROUTINEÚCO_ASYNC_GENERATORÚCO_OPTIMIZEDrÃ   Úgenerated_code_metadataÚ&generate_based_on_original_code_objectrA   rB   r£   r   )rË   r¥   rÄ   rÅ   rÍ   rÎ   rÐ   rÑ   rÓ   rÔ   rÖ   r×   rÙ   rÛ   rÜ   rÞ   r  Únew_coderó   r9  r:  s   ` ` ````````````   @@r/   rÊ   zContinueExecutionCache.generateW  s›  øøøøøøøøøøøøøøøø€ ð0 Ð Ý Ð!AÑBÔBÐBØŒ=Ý�<Ñ'Õ*?Ñ?ÕBTÑTñ
ð 	õ !Ø^ñô ð ð ”¥Ñ,ð 	PÝ Ð!NÑOÔOÐOØÕ)ÔAÐAÐAØ×=Ò=ØØØØØ'ØØØØØ#ØØ!ØØ Ø(ñô ð õ$ Ô(¨GÒ3ˆÝ% dÑ+Ô+ˆðx	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4ð x	4õt	 ,¨D°&Ñ9Ô9‰ˆ�!ØCGÕÔ6°xÑ@Øˆr1   c                ób   — | j                              |¦  «        }t          |o|j        ¦  «        S rc   )rA  Úgetr¨   r©   )rË   r¥   r:  s      r/   r!  z&ContinueExecutionCache.uses_boxed_callÍ  s-   € àÔ*×.Ò.¨tÑ4Ô4ˆÝ�DÐ,˜Tœ_Ñ-Ô-Ð-r1   rk   r�   r)   c                óB   — t          d¦  «        t          dd¬¦  «        gS )zACodegen a `raise None` to make analysis work for unreachable codeNÚRAISE_VARARGSr   r?   r4   )rk   s    r/   r$  z(ContinueExecutionCache.unreachable_codesÒ  s)   € õ ˜dÑ#Ô#Ý˜°AÐ6Ñ6Ô6ð
ð 	
r1   rð   c                ó„  ‡‡‡‡‡— t           j        ‰         Šdˆˆfd„} ||¦  «        } ||¦  «        }	|	dk    rt          d¦  «        ‚t          j        dk    rM||	fŠ‰‰j        vr$i xŠ‰j        ‰<   dˆˆˆfd„}
t          ‰|
¦  «         t          ˆˆfd„‰D ¦   «         ¦  «        Št          j        ‰j	        |||	‰g|¢R Ž S )a>  
        This handles the case of generating a resume into code generated
        to resume something else.  We want to always generate starting
        from the original code object so that if control flow paths
        converge we only generated 1 resume function (rather than 2^n
        resume functions).
        Ú
cur_offsetr'   r(   c                ó@   •‡ ‡— dŠd	ˆ ˆˆfd„}t          ‰|¦  «         ‰S )
Nr  r§   r)   rk   r�   r(   r7   c           	     óÎ  •‡— ˆfd„| D ¦   «         \  Št          ˆfd„t          t          | ¦  «        t          ‰j        ¦  «        ¦  «        D ¦   «         ¦  «        }|sd S t	          |¦  «        dk    rt          dt	          |¦  «        › �¦  «        ‚|d         }‰j        |j        k    rt          d‰j        › d|j        › �¦  «        ‚|j        €t          d¦  «        ‚|j        Šd S )	Nc              3  ó2   •K  — | ]}|j         ‰k    ¯|V — Œd S rc   râ   )rT   rU   rI  s     €r/   rW   zŽContinueExecutionCache.generate_based_on_original_code_object.<locals>.find_orig_offset.<locals>.find_orig_offset_transform.<locals>.<genexpr>÷  s/   øè è € ÐOÐO 1¸¼ÀJÒ8NÐ8N˜QÐ8NÐ8NÐ8NÐ8NÐOÐOr1   c              3  ó*   •K  — | ]\  }}|‰u ¯	|V — Œd S rc   rt   )rT   Úi1Úi2r%  s      €r/   rW   zŽContinueExecutionCache.generate_based_on_original_code_object.<locals>.find_orig_offset.<locals>.find_orig_offset_transform.<locals>.<genexpr>ù  s=   øè è € ð )ð )á˜˜Bð ˜V�|�|ð	 ð $�|�|�|ð)ð )r1   r   z(Expected exactly 1 matching target, got r   zOpcode mismatch: target has z, new_target has z"new_target.offset must not be None)rÉ   Úzipr   r§   rˆ   r]   Úopcoderã   )r§   rk   Únew_target_tupleÚ
new_targetr%  rI  r:  Úorig_offsets       @€€€r/   Úfind_orig_offset_transformz{ContinueExecutionCache.generate_based_on_original_code_object.<locals>.find_orig_offset.<locals>.find_orig_offset_transformó  s<  øø€ ð PÐOÐOÐO¨ÐOÑOÔO‘	�å#(ð )ð )ð )ð )å"%Ý  Ñ.Ô.µ¸Ô9JÑ0KÔ0Kñ#ô #ð)ñ )ô )ñ $ô $Ð ð (ð ð �FåÐ'Ñ(Ô(¨AÒ-Ð-Ý(ØZÅ3ÐGWÑCXÔCXÐZÐZñô ð ð .¨aÔ0�
à”= JÔ$5Ò5Ð5Ý(ð>°v´}ð >ð >Ø*4Ô*;ð>ð >ñô ð ð Ô$Ð,Ý(Ð)MÑNÔNÐNØ(Ô/���r1   r;  )r   )rI  rU  rT  r¥   r:  s   ` @€€r/   Úfind_orig_offsetzWContinueExecutionCache.generate_based_on_original_code_object.<locals>.find_orig_offsetð  sL   øøø€ ØˆKð!0ð !0ð !0ð !0ð !0ð !0ð !0ð !0õF " $Ð(BÑCÔCÐCØÐr1   r  z>resume instruction not found in original code - this is a bug.r9   r§   r)   rk   r�   r7   c           
     óÀ  •‡
— g }| D ]I}t          |¦  «        t          ‰j        ¦  «        k    r n!|j        dk    r|                     |¦  «         ŒJt	          |‰j        ¦  «        D ]"\  }}|‰t          t          |j        ¦  «        <   Œ#|r t          t          |d         j        ¦  «        ndŠ
t          ˆ
fd„‰D ¦   «         ¦  «        }t          | |d„ ¦  «        }t          t          t	          t          | ¦  «        t          ‰j        ¦  «        ¦  «        t          |¦  «        d„ ¦  «        ¦  «        }t	          ||¦  «        D ]\  }}	|d         j        ‰|	j        <   Œd S )Nr˜   r  c              3  ó(   •K  — | ]}|‰k    ¯|V — Œd S rc   rt   )rT   ÚnÚcur_start_offsets     €r/   rW   zmContinueExecutionCache.generate_based_on_original_code_object.<locals>.remap_block_offsets.<locals>.<genexpr>T  s7   øè è € ð .ð .Ø¸aÐBRÒ>RÐ>R˜Ð>RÐ>RÐ>RÐ>Rð.ð .r1   c                ó   — | j         |k    S rc   râ   )rV   Úos     r/   ú<lambda>zlContinueExecutionCache.generate_based_on_original_code_object.<locals>.remap_block_offsets.<locals>.<lambda>X  s   € ÈÌÐWXÒHX€ r1   c                ó   — | d         |u S )Nr   rt   )Úv1Úv2s     r/   r]  zlContinueExecutionCache.generate_based_on_original_code_object.<locals>.remap_block_offsets.<locals>.<lambda>a  s   € ¨2¨a¬5°B¨;€ r1   r   )rˆ   rª   rS   rC   rP  r   r'   rã   r  r¼   r   r§   )r§   rk   Úprefix_blocksrV   r\  Úcur_inst_offsetsÚtargetsÚorig_targetsÚorigr»   rZ  r«   r:  rÎ   s             @€€€r/   Úremap_block_offsetszZContinueExecutionCache.generate_based_on_original_code_object.<locals>.remap_block_offsets4  sÃ  øø€ ð 8:�MØ ,ð 
7ð 
7˜õ
 ˜}Ñ-Ô-µØ ÔAñ2ô 2ò ð ð "˜EØœ;¨/Ò9Ð9Ø)×0Ò0°Ñ6Ô6Ð6øõ $'Ø% tÔ'Lñ$ô $ð Nð N™˜˜að MNÐ1µ$µs¸D¼KÑ2HÔ2HÑIÐIð @MÐT��S -°Ô"3Ô":Ñ;Ô;Ð;ÐRTð %õ (.ð .ð .ð .ð .Ø#:ð.ñ .ô .ñ (ô (Ð$õ +Ø$Ð&6Ð8XÐ8Xñô �Gõ $,Ý$Ý¥¨Ñ 6Ô 6½ÀÔARÑ8SÔ8SÑTÔTÝ$ WÑ-Ô-Ø6Ð6ñô ñ$ô $�Lõ &)¨°wÑ%?Ô%?ð Oð O™	˜˜cØ@DÀQÄÄÐ1°#´*Ñ=Ð=ðOð Or1   c              3  ó>   •K  — | ]}‰j         ‰         |         V — Œd S rc   )r«   )rT   rY  r:  Ú
offset_keys     €€r/   rW   zPContinueExecutionCache.generate_based_on_original_code_object.<locals>.<genexpr>k  sD   øè è € ð ,ð ,àð Ô.¨zÔ:¸1Ô=ð,ð ,ð ,ð ,ð ,ð ,r1   )rI  r'   r(   r'   r;  )
rÃ   rA  r]   rA   rB   r«   r   rÉ   rÌ   r¥   )rË   r¥   rÄ   rÅ   rÍ   rÎ   rð   rV  Úorig_init_offsetÚorig_resume_offsetrf  r«   r:  rh  s    `   `     @@@r/   rB  z=ContinueExecutionCache.generate_based_on_original_code_objectÚ  s‚  øøøøø€ õ$ (>Ô'UØô(
ˆð'	ð '	ð '	ð '	ð '	ð '	ð '	ðR ,Ð+¨KÑ8Ô8Ðð .Ð-¨mÑ<Ô<ÐØ Ò#Ð#Ý ØPñô ð õ Ô˜wÒ&Ð&ð
 +Ð,>Ð?ˆJð  Ô!?Ð?Ð?ð ðÐ)¨DÔ,JØñ-ð
1Oð 1Oð 1Oð 1Oð 1Oð 1Oð 1Oð 1Oõf & dÐ,?Ñ@Ô@Ð@õ ',ð ,ð ,ð ,ð ,ð ,à0ð,ñ ,ô ,ñ 'ô 'Ð#õ &Ô,ØŒIØØØØ#ð
ð ð
ð 
ð 
ð 	
r1   N)
r¥   r¤   rÄ   r'   rÅ   r'   rÆ   r   r(   r¤   ) r¥   r¤   rÄ   r'   rÅ   r'   rÍ   r'   rÎ   rÏ   rÐ   r'   rÑ   rÒ   rÓ   rÒ   rÔ   rÕ   rÖ   r¨   r×   rØ   rÙ   rÚ   rÛ   rÏ   rÜ   rÝ   rÞ   r¨   r(   r¤   )r¥   r¤   r(   r¨   )rk   r�   r(   r)   )r¥   r¤   rÄ   r'   rÅ   r'   rÍ   r'   rÎ   rÏ   rð   r   r(   r¤   )rž   rŸ   r    r   rÈ   rA  ÚclassmethodrÌ   rÊ   r!  Ústaticmethodr$  rB  rt   r1   r/   rÃ   rÃ   H  sÚ   € € € € € Ø"Ð"Ñ$Ô$€EØ4Ð4Ñ6Ô6Ðàð$ð $ð $ñ „[ð$ð ðsð sð sñ „[ðsðj ð.ð .ð .ñ „[ð.ð ð
ð 
ð 
ñ „\ð
ð ð[
ð [
ð [
ñ „[ð[
ð [
ð [
r1   rÃ   )r$   r%   r&   r'   r(   r)   )r6   r)   r(   r7   rc   )rE   rF   rG   r'   rH   rI   r(   rJ   )rQ   r   r(   r7   )r°   r±   r²   r±   r³   r´   r(   rµ   )r½   r¾   r(   r)   )9Ú__doc__Ú
__future__r   r  r¬   rA   Útypingr   r   r   Úbytecode_transformationr   r	   r
   r   r   r   r   r   r   r   r   r   Úutilsr   ÚtypesÚcollections.abcr   r   Ú
contextlibr   Úoutput_graphr   r@  ÚCO_NEWLOCALSr  r  Ú	CO_NESTEDr<  Ú	CO_NOFREEr=  r>  r?  r  r  r  r0   r5   rD   ra   rf   Ú	dataclassri   r£   r¼   rÁ   rÃ   rt   r1   r/   ú<module>rz     sö  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø 
€
€
€
Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )ð ð *Ø€L€L€LØ2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø1Ð1Ð1Ð1Ð1Ð1à)Ð)Ð)Ð)Ð)Ð)ð €Ø€Ø€
Ø€Ø€	Ø€Ø€	Ø€ØÐ ØÐ ð !9Ð Ø%CÐ "Ø5Ð ðð ð ð ðð ð ð ð<ð <ð <ð <ð *.ð&Jð &Jð &Jð &Jð &JðR	ð 	ð 	ð 	ð €Ô˜dÐ#Ñ#Ô#ðA;ð A;ð A;ð A;ð A;ñ A;ô A;ñ $Ô#ðA;ðH Ôðð ð ð ð ñ ô ñ Ôðð$ð ð ð ð.ð ð ð ðn
ð n
ð n
ð n
ð n
ñ n
ô n
ð n
ð n
ð n
r1   