Ë
    P/æj' ã                   óš  — U d dl Z d dlZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl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! d dl"Z"d dl#Z"d dl$m%Z%m&Z& ddl'm(Z(m)Z)mZ*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; dd	l<m<Z< dd
l=m>Z> ddl)m?Z?m@Z@mAZAmBZB ddlCmDZD ddlEmFZFmGZG ddlHmIZImJZJ ddlKmLZLmMZM ddlNmOZOmPZP ddlQmRZRmSZSmTZTmUZUmVZVmWZWmXZX ddl+mYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZc ddldmeZemfZfmgZgmhZh ddlimjZjmkZk ddllmmZm ddlnmoZo ddlpmqZqmrZrmsZs ddltmuZumvZv ddlwmxZxmyZymzZzm{Z{m|Z| ddl}m~Z~ ddlm€Z€m�Z�m‚Z‚mƒZƒm„Z„ ddl…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹ ddlŒm�Z�mŽZŽ ddl�m�Z�m‘Z‘m’Z’ erdd l“m”Z” dd!l•m–Z–m—Z—m˜Z˜  e�j2                  eš«      Z›e"�j8                  �j;                  ešd"«      Zže"�j8                  �j;                  ešd#«      ZŸe"�j8                  �j;                  ešd$«      Z e"�j8                  �j;                  ešd%«      Z¡ e�jD                  «       Z£ e��jH                  «       D � �ci c]  \  } }|  em|«      �jJ                  “Œ c}} Z¦ee§ef   e¨d&<    eme�jR                  «      �jJ                  Zª eme�jV                  «      �jJ                  Z¬d'„ e¦d(<   d)„ e¦d*<   d+Z­e�j\                   G d,„ d-«      «       Z¯e�j\                   G d.„ d/«      «       Z°e�j\                   G d0„ d1«      «       Z±e�j\                   G d2„ d3«      «       Z² e�jf                  d«      d4„ «       Z´e�j\                   G d5„ d6«      «       Zµ G d7„ d8e¶«      Z·d9ej*                  d:e¸f   fd;„Z¹d<d=d>ej*                  e¸geºf   d?eºfd@„Z»d>ej*                  e¸geºf   d?eºfdA„Z¼dBZ½dC„ Z¾ G dD„ dEe¿«      ZÀ G dF„ d=eÀ¬G«      ZÁ G dH„ dIeÁ«      ZÂe�j†                  dJk\  r6e�jˆ                  D ��cg c]  \  }} eÅeÂdK|v r|dLd ndM|dLd › �«      ‘Œ c}}ZÆ G dN„ dOeÁ«      ZÇ G dP„ dQeÇ«      ZÈyc c}} w c c}}w )Ré    N)ÚAnyÚCallableÚcastÚDequeÚDictÚListÚOptionalÚSetÚTupleÚTypeÚTYPE_CHECKINGÚUnion)Úpatch)ÚtracingÚTracingContexté   )ÚconfigÚexcÚloggingÚtrace_rulesÚ	variables)Úget_indexofÚJUMP_OPNAMESÚlivevars_analysisÚpropagate_line_nums)	Úcleaned_instructionsÚcreate_call_functionÚcreate_instructionÚcreate_jump_absoluteÚcreate_swapÚget_code_keysÚInstructionÚis_generatorÚ	unique_id)Úcode_context)Ú	PyCodegen)ÚArgsMismatchErrorÚBackendCompilerFailedÚunimplementedÚUnsupported)Úget_funcname)ÚGuardBuilderÚinstall_guard)ÚGraphCompileReasonÚOutputGraph)ÚDummyModuleÚExecutionRecorder)ÚContinueExecutionCacheÚReenterWith)Ú
AttrSourceÚGetItemSourceÚGlobalSourceÚGlobalWeakRefSourceÚLocalSourceÚSourceÚTorchFunctionModeStackSource)Úis_builtin_constantÚis_forbidden)ÚcountersÚget_fake_valueÚget_instruction_source_311Úget_torch_function_mode_stackÚgraph_break_dup_warning_checkerÚistypeÚ
LazyStringÚproxy_args_kwargs)Úis_side_effect_safeÚMutableLocalÚtypestrÚVariableTracker)ÚVariableBuilderÚwrap_fx_proxy)ÚBuiltinVariable)ÚConstantVariable)ÚContextWrappingVariableÚGenericContextWrappingVariableÚWithExitFunctionVariable)ÚConstDictVariableÚSetVariable)ÚBaseUserFunctionVariableÚNestedUserFunctionVariableÚSkipFunctionVariableÚUserFunctionVariableÚUserMethodVariable)ÚMAX_ITERATOR_LIMIT)ÚBaseListVariableÚListIteratorVariableÚListVariableÚSliceVariableÚTupleVariable)ÚClosureVariableÚGetAttrVariableÚInlinedClosureVariableÚNullVariableÚPythonModuleVariableÚUnknownVariable)ÚNNModuleVariableÚUnspecializedNNModuleVariable)Úsupported_comparison_opsÚSymNodeVariableÚTensorVariable)ÚTorchFunctionModeVariable)ÚRemovableHandleVariableÚUserDefinedClassVariableÚUserDefinedObjectVariableÚgraph_breaksÚ
trace_callÚtrace_sourceÚtrace_bytecodeÚcompare_op_handlersc                 ó2   — t        | g t        |«      ¢i «      S ©N)Úhandle_containsÚreversed©ÚtxÚargsÚ_s      úa/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_dynamo/symbolic_convert.pyú<lambda>rz   ’   s   € ´ØÐŒ(�4‹.Ð˜2ó1€ ó    Úinc           
      óJ   — t        | t        | g t        |«      ¢i «      gi «      S rr   )Ú
handle_notrs   rt   ru   s      ry   rz   rz   •   s(   € ´JØŒ˜Ð.œx¨›~Ð.°Ó	3Ð4°bó5€ r{   znot inzihttps://github.com/pytorch/pytorch/issues/new?&labels=oncall%3A+pt2&projects=&template=pt2-bug-report.ymlc                   ó^   — e Zd ZU eed<   eed<   eed<   eed<   dZeed<   dZ	e
e   ed<   d	„ Zy)
ÚSpeculationEntryÚfilenameÚlinenoÚinstruction_pointerÚinstFÚfailedNÚreasonc                 ó†   — d| _         | j                  �| j                  j                  }nd}t        j                  |¬«      ‚)z\
        Start tracing of the current frame over again, and don't take this branch.
        Tz!Unknown fail_and_restart_analysis)Úrestart_reason)r…   r†   r   ÚSpeculationRestartAnalysis)Úselfrˆ   s     ry   Úfail_and_restart_analysisz*SpeculationEntry.fail_and_restart_analysis¦   s:   € ð ˆŒØ�;‰;Ð"Ø!Ÿ[™[×/Ñ/‰Nà@ˆNÜ×,Ñ,¸NÔKÐKr{   )Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úintr"   r…   Úboolr†   r	   r.   r‹   © r{   ry   r€   r€   �   s8   … àƒMØƒKØÓØ
ÓØ€FˆDÓØ+/€FˆHÐ'Ñ(Ó/ó	Lr{   r€   c                   óv   — e Zd ZU dZ ej
                  e¬«      Zee	   e
d<   dZee
d<   d„ Zd„ Zded	ed
e	fd„Zy)ÚSpeculationLoga3  
    SpeculationLog replaces the prior copy_graphstate/restore_graphstate
    checkpointing.  Rather than saving/restoring state, we restart the
    dynamo conversion process over from the beginning -- but when we
    hit the start of the speculation that failed, we instead generate
    a graph break.
    ©Údefault_factoryÚentriesr   Úindexc                 ó   — d| _         y ©Nr   )r™   ©rŠ   s    ry   ÚrestartzSpeculationLog.restart¿   s	   € Øˆ�
r{   c                 óF   — | j                   j                  «        d| _        y r›   )r˜   Úclearr™   rœ   s    ry   rŸ   zSpeculationLog.clearÂ   s   € Ø�‰×ÑÔØˆ�
r{   r�   r‚   Úreturnc                 ó.  — t        | j                  «      | j                  k(  r'| j                  j                  t	        ||||«      «       | j                  | j                     }d}| j                  dk7  r]| j                  | j                  dz
     }d|j
                  › d|j                  › d|j                  j                  › d|j                  › d�	}|j                  |k(  r|j
                  |k(  r|j                  |k(  s‚J d	| j                  › d
t        | j                  «      › d|j
                  › d|j                  › d|j                  j                  › d|j                  › d|› d|› d|j                  › d|› d|› d�«       ‚| xj                  dz  c_        |S )z’
        Lookup or create a SpeculationEntry() that is shared across
        RestartAnalysis calls.  Args are used only for debug checks.
        Ú r   r   zPrevious instruction: ú:ú(z @ z)
z"
SpeculationLog diverged at index z
 (log had z entries):
- Expected: ú (z at ip=z)
- Actual: a’  
There are two usual reasons why this may have occured:
- When Dynamo analysis restarted, the second run took a different path than
  the first.  If this occurred, the previous instruction is the critical instruction that
  behaved differently.
- Speculation entries are only added under certain conditions (as seen in
  step()), e.g., there must exist operators in the graph; those conditions may
  have changed on restart.

If this divergence was intentional, clear the speculation log before restarting (do NOT
do this for graph breaks, you will infinite loop).

Otherwise, please submit a bug report, ideally including the contents of TORCH_LOGS=+dynamo
)
Úlenr˜   r™   Úappendr€   r�   r‚   r„   Úopnamerƒ   )rŠ   r�   r‚   rƒ   r„   ÚentryÚprev_entry_msgÚ
prev_entrys           ry   ÚnextzSpeculationLog.nextÆ   s–  € ô ˆt�|‰|Ó §
¡
Ò*Ø�L‰L×ÑÜ  ¨6Ð3FÈÓMôð —‘˜TŸZ™ZÑ(ˆØˆØ�:‰:˜Š?ØŸ™ d§j¡j°1¡nÑ5ˆJà(¨×)<Ñ)<Ð(=¸Q¸z×?PÑ?PÐ>QØ�J—O‘O×*Ñ*Ð+¨3¨z×/MÑ/MÐ.NÈcðSð ð
 ×%Ñ%Ð)<Ò<Ø—‘ (Ò*Ø—‘ Ò&ð	ð"Ø"&§*¡* ¨Z¼¸D¿L¹LÓ8IÐ7Jð KØ�^‰^Ð˜A˜eŸl™l˜^¨2¨e¯j©j×.?Ñ.?Ð-@ÀÈ×HaÑHaÐGbð cØˆ*�A�f�X˜R §¡˜}¨GÐ4GÐ3Hð IØÐ ð ð	ó		ð'ð* 	�
Š
�a‰�
Øˆr{   N)rŒ   r�   rŽ   Ú__doc__ÚdataclassesÚfieldÚlistr˜   r   r€   r�   r™   r‘   r�   rŸ   r�   r¬   r“   r{   ry   r•   r•   ²   sV   … ñð '8 k×&7Ñ&7ÈÔ&M€GˆTÐ"Ñ#ÓMØ€Eˆ3ƒNòòð*Øð*Ø%(ð*à	ô*r{   r•   c                   óŽ   — e Zd ZU  ej                  e¬«      Zeee	e
   f   ed<    ej                  e¬«      Zeee	e
   f   ed<   y)Ú
LocalStater–   Úinput_sizesÚinput_stridesN)rŒ   r�   rŽ   r®   r¯   Údictr³   r   r�   r   r‘   r�   r´   r“   r{   ry   r²   r²   ó   sJ   … à(9¨×(9Ñ(9È$Ô(O€K��c˜4 ™9�nÑ%ÓOØ*;¨+×*;Ñ*;ÈDÔ*Q€M�4˜˜T #™Y˜Ñ'ÔQr{   r²   c                   ó<   — e Zd ZU eed<   eed<   dZeee      ed<   y)ÚDistributedStateÚ
compile_pgÚlocal_stateNÚ
all_states)	rŒ   r�   rŽ   r   r�   r²   rº   r	   r   r“   r{   ry   r·   r·   ú   s!   … àƒOØÓØ-1€J�˜˜jÑ)Ñ*Ô1r{   r·   c                  ó4   — t        j                  t        «      S rr   )Útorchdynamo_loggingÚget_step_loggerÚlogr“   r{   ry   Ú_step_loggerr¿     s   € ä×.Ñ.¬sÓ3Ð3r{   c                   óf   — e Zd ZU eed<   eed<   dZee   ed<   dZee	e
ef      ed<   d„ Zd„ Zd„ Zy)	ÚBlockStackEntryr„   ÚtargetNÚstack_indexÚwith_contextc                 ó   — | j                   d uS rr   )rÄ   rœ   s    ry   Úcan_restorezBlockStackEntry.can_restore  s   € Ø× Ñ ¨Ð,Ð,r{   c                 ó  — | j                   €J ‚| j                  r_t        | j                  d«      rI| j                  j                  r3t	        | j                   t        | j                  j                  «      «      S t	        | j                   «      S )NÚtarget_values)rÃ   rÄ   ÚhasattrrÈ   r3   Útuplerœ   s    ry   Ú	resume_fnzBlockStackEntry.resume_fn  sq   € Ø×ÑÐ+Ð+Ð+à×ÒÜ˜×)Ñ)¨?Ô;Ø×!Ñ!×/Ò/ä˜t×/Ñ/´°t×7HÑ7H×7VÑ7VÓ1WÓXÐXä˜t×/Ñ/Ó0Ð0r{   c                 óT   — | j                   €J ‚| j                   j                  |«      S rr   )rÄ   Úexit)rŠ   rv   s     ry   rÍ   zBlockStackEntry.exit  s+   € Ø× Ñ Ð,Ð,Ð,Ø× Ñ ×%Ñ% bÓ)Ð)r{   )rŒ   r�   rŽ   r"   r�   rÃ   r	   r‘   rÄ   r   rM   rN   rÆ   rË   rÍ   r“   r{   ry   rÁ   rÁ     sR   … ð ÓØÓØ!%€K�˜#‘Ó%ð 	ð �(ØÐ%Ð'EÐEÑFñó ò-ò	1ó*r{   rÁ   c                   ó   — e Zd Zy)ÚReturnValueOpN)rŒ   r�   rŽ   r“   r{   ry   rÏ   rÏ   #  s   „ Ør{   rÏ   Úfn.c                 ó¾   ‡‡— t        t        j                  | «      j                  «      Št	        | «      Št        j                  | «      dddt        fˆˆfd„«       }|S )NrŠ   ÚInstructionTranslatorr„   c                 óh   •— | j                  ‰j                  | | j                  ‰«      i «      «       y rr   )ÚpushÚcall_functionÚpopn)rŠ   r„   Úfn_varÚnargss     €€ry   Úimplzstack_op.<locals>.impl+  s'   ø€ à�	‰	�&×&Ñ& t¨T¯Y©Y°uÓ-=¸rÓBÕCr{   )r¦   ÚinspectÚ	signatureÚ
parametersrK   Ú	functoolsÚwrapsr"   )rÐ   rÙ   r×   rØ   s     @@ry   Ústack_oprß   '  s]   ù€ Ü”×!Ñ! "Ó%×0Ñ0Ó1€EÜ˜RÓ €Fä‡_�_�RÓðDÐ*ð D´+õ Dó ðDð €Kr{   rŠ   ÚInstructionTranslatorBaseÚtruth_fnrÔ   c                 ó¶  — |t         j                  us|ryt        | j                  t        «      sJ ‚| j                  }| j
                  |   }t        j                  dk  r|j                  dk7  s|j                  dk7  ry|j                  dk7  ry|dz  }d}| j
                  |   }|j                  dk(  rrt        |j                  t        «      sy|j                  }|dz  }| j
                  |   }|j                  d	vry|dz  }|j                  d
k(  r|dz  }| j
                  |   }|j                  dk7  ry| j                  t        j                  |«      «       y)NF)é   é	   ÚLOAD_GLOBALÚAssertionErrorÚLOAD_ASSERTION_ERRORr   zassertion errorÚ
LOAD_CONST)ÚCALL_FUNCTIONÚPRECALLÚCALLrê   ÚRAISE_VARARGST)ÚoperatorÚtruthÚ
isinstancerƒ   r‘   ÚinstructionsÚsysÚversion_infor¨   Úargvalr�   rÔ   rL   Úcreate)rŠ   rá   rÔ   Úcurrent_instruction_pointerr„   Ú	error_msgs         ry   Ú&_detect_and_normalize_assert_statementr÷   2  sW  € ð, 	œŸ™Ñ&©4Øä�d×.Ñ.´Ô4Ð4Ð4Ø"&×":Ñ":ÐØ×ÑÐ8Ñ9€Dä
×Ñ˜&Ò Ø�;‰;˜-Ò'¨4¯;©;Ð:JÒ+JØà�;‰;Ð0Ò0Øà 1Ñ$Ðð "€Ià×ÑÐ8Ñ9€Dà‡{�{�lÒ"Ü˜$Ÿ+™+¤sÔ+ØØ—K‘Kˆ	ð 	$ qÑ(Ð#Ø× Ñ Ð!<Ñ=ˆØ�;‰;ÐBÑBØð 	$ qÑ(Ð#Ø�;‰;˜)Ò#Ø'¨1Ñ,Ð'Ø× Ñ Ð!<Ñ=ˆà‡{�{�oÒ%Øà‡I�IÔ×%Ñ% iÓ0Ô1àr{   c                 ó8   ‡ ‡‡— dˆfd„	Šdddt         fˆˆˆ fd„}|S )Nc           	      ó@  •— | j                  «       st        d«       | j                  «       r=d| j                  «       › �}t        j                  |«       t        j                  |«      ‚| j                  |«       t        j                  d«       | j                  j                  | t        dt        |«      › |› �| j                  «       g«      ¬«       | j                  «        | j                  | j                   «      }‰r| j                  |«       | j                  |j"                  «      }t$        j&                  dk\  r%| j                  j)                  t+        d«      g«       | j                  j)                  t+        |j,                  |d   ¬	«      g|z   |z   «       y )
Nú"should_compile_partial_graph=FalseúBSkipping frame because there is a graph break in a for/while loop
zgeneric_jump triggered compilezgeneric_jump ©r†   ©rã   é   ÚTO_BOOLr   )rÂ   )Úshould_compile_partial_graphr)   Úmaybe_has_backedgeÚframe_summaryr¾   Úinfor   Ú	SkipFramerÔ   ÚdebugÚoutputÚcompile_subgraphr.   rG   ÚpopÚcreate_call_resume_atÚnext_instructionrÂ   rñ   rò   Úadd_output_instructionsr   r¨   )rŠ   r„   ÚvalueÚ	extra_msgÚmsgÚif_nextÚif_jumprÔ   s          €ry   Újump_graph_breakz&generic_jump.<locals>.jump_graph_breaky  sV  ø€ Ø×0Ñ0Ô2ÜÐ>Ô?à×"Ñ"Ô$àUØ×%Ñ%Ó'Ð(ð*ð ô �H‰H�SŒMÜ—-‘- Ó$Ð$à�	‰	�%ÔÜ�	‰	Ð2Ô3Ø�‰×$Ñ$ØÜ%Ø¤¨£Ð/°	¨{Ð;¸d×>PÑ>PÓ>RÐ=Sóð 	%ô 	
ð 	�‰Œ
à×,Ñ,¨T×-BÑ-BÓCˆÙØ�I‰I�eÔØ×,Ñ,¨T¯[©[Ó9ˆä×Ñ˜wÒ&à�K‰K×/Ñ/Ô1CÀIÓ1NÐ0OÔPà�‰×+Ñ+Ü §¡°G¸A±JÔ?Ð@À7ÑJÈWÑTõ	
r{   rŠ   rà   r„   c                 óÎ  •— | j                  «       }t        j                  �rìt        | ‰‰«      �rÞ| j                  «       }|j	                  «       r4t        |j                  «       «      r| j                  |«      S  ‰| ||«       t        |t        «      rJ | j                  j                  dt        j                  gt        ||fi «      ¢­Ž  | j                  |«       y t        |t        «      r}|j                   }t        |t        j"                  «      s|dk7  }t        j$                  j&                  j(                  j+                  |«      }|st-        d«       | j                  |«       y  | j                  j                  dt        j.                  gt        |fi «      ¢­Ž }t1        | |t3        |j4                  | «      ¬«      } | j                  j                  dt        j                  gt        ||fi «      ¢­Ž  | j                  |«       y |j	                  «       r< ‰|j                  «       «      r%‰r| j7                  |«       | j                  |«       y y t        |t        «      r| j9                  «       r ‰| ||«       y t        |t:        «      rS| j                  j=                  |j>                  «      } ‰|«      r%‰r| j7                  |«       | j                  |«       y y t        |t@        «      r:|jB                  } ‰|«      r%‰r| j7                  |«       | j                  |«       y y t        |tD        «      rØ	 |jG                  | d«      }	t        |	tN        «      r†|	jQ                  | g i «      }t        |tR        «      rWt        |jB                  t
        tT        f«      r7 ‰|jB                  «      r_‰r| j7                  |«       | j                  |«       y t-        d«       y  ‰d«      r%‰r| j7                  |«       | j                  |«       y y y t        |t        «      sW|jW                  | «      rF ‰tY        |j[                  | «      «      «      r%‰r| j7                  |«       | j                  |«       y y t        |t        «      rJ	 |j]                  | j                  «      }
 ‰|
«      r%‰r| j7                  |«       | j                  |«       y y t        |t`        jb                  «      r. ‰d«      r%‰r| j7                  |«       | j                  |«       y y ddl2m3} |jd                  �N ||jd                  «      r< ‰|ji                  «       «      r%‰r| j7                  |«       | j                  |«       y y tI        j^                  tH        jj                  jl                  dd¬«      ‚# tH        jJ                  $ r] tI        jL                  | «       	 |jG                  | d«      }	n0# tH        jJ                  $ r tI        jL                  | «       d }	Y nw xY wY �ŒÍw xY w# tH        j^                  $ r*}| j9                  «       r ‰| ||d	|› �¬
«      cY d }~S ‚ d }~ww xY w)NrÕ   r   zKAssertion failed on symbolic shapes. Did you make sure eager mode succeeds?)Úexample_valueÚ__bool__Ú__len__z@generic_jump on UserDefined with __bool__ returning non-constantTú
)r  r   )Úis_constant_sourcez�Dynamic control flow is not supported at the moment. Please use functorch.experimental.control_flow.cond to explicitly capture the control flow.Úcond_operands)Ú	case_name)7r  r   Ú rewrite_assert_with_torch_assertr÷   Úis_python_constantr’   Úas_python_constantÚjumprï   rg   r  Úcreate_proxyÚtorchÚ_assert_asyncrD   rf   Úsym_numÚSymBoolÚfxÚexperimentalÚsymbolic_shapesÚexpect_truer)   Úscalar_tensorrJ   r>   ÚnoderÔ   r   rc   Úget_submoduleÚ
module_keyrd   r  rk   Úvar_getattrr   ÚObservedAttributeErrorÚhandle_observed_exceptionrV   rÕ   rL   r‘   Úhas_unpack_var_sequencer¦   Úunpack_var_sequenceÚevaluate_exprÚ	UserErrorr   ÚBackwardHookVariableÚsourcer  Úget_real_valueÚUserErrorTypeÚDYNAMIC_CONTROL_FLOW)rŠ   r„   r  rö   Úsym_exprÚresultÚscalar_to_tensor_proxyÚscalar_to_tensorÚmodÚxÚeval_resultÚer  r  rÔ   rá   s                €€€ry   Úinnerzgeneric_jump.<locals>.innerœ  s\  ø€ Ø!%§¡£ˆä×3Ó3Ü6°t¸XÀtÕLà)-¯©«ˆIà×'Ñ'Ô)Ü˜×0Ñ0Ó2Ô3ØŸ9™9 T›?Ð*á$ T¨4°Ô7ô ˜%¤Ô0Ø(�—‘×(Ñ(Ø#Ü×'Ñ'ðô '¨¨yÐ'9¸2Ó>óð
 —	‘	˜$”Øä˜%¤Ô1ð !Ÿ=™=�Ü! (¬E¯M©MÔ:Ø'¨1™}�HäŸ™×.Ñ.×>Ñ>×JÑJÈ8ÓT�ÙÜ!Øeôð —	‘	˜$”Øà%= T§[¡[×%=Ñ%=Ø¤×!4Ñ!4ð&Ü7HÈ%ÈÐSUÓ7Vò&Ð"ô  -ØØ&Ü,Ð-C×-HÑ-HÈ$ÓOô Ðð %ˆD�K‰K×$Ñ$ØÜ×#Ñ#ðô #Ð$4°iÐ#@À"ÓEóð
 �I‰I�dŒOØà×#Ñ#Ô%Ù˜×0Ñ0Ó2Ô3ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð 4ô
 �uœ~Ô/°D×4UÑ4UÔ4Wá˜T 4¨Õ/Ü˜Ô/Ô0à—+‘+×+Ñ+¨E×,<Ñ,<Ó=ˆCÙ˜Œ}ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð ô ˜Ô<Ô=Ø—+‘+ˆCÙ˜Œ}ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð ô ˜Ô8Ô9ð	Ø×%Ñ% d¨JÓ7�ô ˜!Ô/Ô0ØŸ™¨¨r°2Ó6�Ü˜fÔ&6Ô7¼JØ—L‘L¤4¬ +ô=ñ   §¡Ô-ÙØ ŸI™I eÔ,ØŸ	™	 $�ä!ØZõñ
 ˜D”>ÙØŸ	™	 %Ô(Ø—I‘I˜d•Oð "ð .ô ˜E¤>Ô2°u×7TÑ7TØô8
ñ œ˜E×5Ñ5°dÓ;Ó<Ô=ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð >ô ˜œÔ/ðØ#×1Ñ1°$·+±+Ó>�ñ
 ˜Ô$ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð %ô ˜œy×=Ñ=Ô>Ù˜Œ~ÙØ—I‘I˜eÔ$Ø—	‘	˜$•ð õ
 3à�|‰|Ð'Ñ,>¸u¿|¹|Ô,LÙ˜E×0Ñ0Ó2Ô3ÙØŸ	™	 %Ô(Ø—I‘I˜d•Oð 4ô —m‘mÜ×%Ñ%×:Ñ:ðgà-ô	ð øô} ×-Ñ-ò Ü×-Ñ-¨dÔ3ðØ×)Ñ)¨$°	Ó:‘AøÜ×1Ñ1ò Ü×1Ñ1°$Ô7Ø’AðýðûôN —=‘=ò Ø×4Ñ4Ô6Ù+¨D°$¸È2ÈaÈSÈÔRÕRØûðúsZ   ÍV4 ÒX' Ö4(X$×W0×/X$×0*XØX$ØXØX$Ø#X$Ø'Y$Ø:YÙY$ÙYÙY$)r¢   )r"   )rá   rÔ   r?  r  s   `` @ry   Úgeneric_jumpr@  x  s(   ú€ õ!
ðFYÐ/ð Y´{÷ Yðv €Lr{   Fc                 ó   ‡ — ˆ fd„}|S )Nc                 ó‚   •‡ ‡— t        j                  ‰ «      dddt        fˆˆ fd„«       }dddt        dt        fˆfd„Š|S )NrŠ   rà   r„   c                 óh  •— | j                  «       }|j                  r"|j                  €J ‚ ‰	| ||j                  «      S 	  ‰
| |«      S # t        $ �rÌ}| j                  dkD  r|j                  «        t        d«       t        |t        j                  «      r‚ | j                  «       s‚ |j                  }	 |d   j                  |d   j                  f}n%# t        $ r | j                  }|d   |d   f}Y nw xY wt         j#                  t$        j&                  «      rXt(        sRt+        j,                  |«      r=dj/                  t1        j2                  |«      «      }t         j5                  d|d¬	«       nt7        j4                  d
g|¢­Ž  | j9                  «       r>d| j;                  «       › �}t6        j=                  |«       t        j>                  |«      |‚|j                  «        |jA                  d«       tC        |jD                  |«      |_        Y d }~nd }~ww xY w|jG                  «        y )Nr   z0Graph break under GenericContextWrappingVariableéÿÿÿÿÚco_filenameÚco_firstlinenor¢   z"Graph break: from user code at:
%sT©Úexc_infoz<Unsupported break in user code at %s:%s (details suppressed)rû   Úgraph_break)$Ú	speculater…   r†   r*   Úgeneric_context_manager_depthÚremove_from_statsr)   rï   r   ÚUncapturedHigherOrderOpErrorr   Ú
real_stackr�   r‚   Ú
IndexErrorÚcode_optionsÚgraph_break_logÚisEnabledForr   ÚDEBUGÚexplainrA   ÚaddÚjoinÚ	tracebackÚformat_listr  r¾   r  r  r  r  Úadd_to_statsr.   r  r‹   )rŠ   r„   ÚspeculationÚexcpÚ
user_stackÚ	frame_locrP  Úuser_stack_formattedr  Úhandle_graph_breakÚinner_fns            €€ry   Úwrapperz>break_graph_if_unsupported.<locals>.decorator.<locals>.wrapper?  s  ø€ àŸ.™.Ó*ˆKØ×!Ò!Ø"×)Ñ)Ð5Ð5Ð5Ù)¨$°°k×6HÑ6HÓIÐIð<NÙ  dÓ+Ð+øÜó :NØ×5Ñ5¸Ò9ð ×*Ñ*Ô,Ü!Ð"TÔUä˜d¤C×$DÑ$DÔEØà×8Ñ8Ô:Øà!Ÿ_™_�
ðØ!+¨B¡×!8Ñ!8¸*ÀR¹.×:OÑ:OÐ P‘IøÜ!ò à#'×#4Ñ#4�Là$ ]Ñ3Ø$Ð%5Ñ6ð!’Iðúô $×0Ñ0´·±Ô?Ý#Ü7×;Ñ;¸IÔFà+-¯7©7´9×3HÑ3HÈÓ3TÓ+UÐ(ô $×)Ñ)Ø=Ø,Ø!%ð *õ ô —I‘IØVðà"óð
 ×*Ñ*Ô,à]Ø×-Ñ-Ó/Ð0ð2ð ô —H‘H˜S”MÜŸ-™-¨Ó,°$Ð6à×&Ñ&Ô(Ø×!Ñ! -Ô0Ü%7¸¿¹À*Ó%M�×"Ñ"ûðu:Núðv ×1Ñ1Õ3s>   ÁA
 Á

H ÁA"HÂ7CÃHÃC8Ã5HÃ7C8Ã8DHÈH r†   c                 ó~  •— | j                   j                  | |¬«       t        | «      }g }| j                  D ]€  }|j                  €J ‚t        |j                  t        «      sJ ‚|j                  j                  |«       |j                  |j                  «       j                  |j                  |«      «       Œ‚ | j                   j                  |j                  «       «       ~t        j                  dk\  r±|j                   dk(  r¢| j"                  �| j"                  j%                  «       nd}t'        |«      dkD  r<t        j                  dk  sJ ‚| j                   j                  t)        d|¬«      g«       | j                   j                  t+        |j,                  d	«      «       nF|j.                  �J ‚t1        j0                  |«      }d |_        | j                   j                  |g«       | j                   j                  |«       t        j                  dk\  r†t        j                  d
k  rs|j                   dk(  rdt5        j6                  t4        j8                  d   |j,                  «      t5        j6                  t4        j8                  d   |j,                  «      z   }n*t5        j6                  |j:                  |j,                  «      }| j=                  ‰
|z
  «       t?        ‰
«      D ]  }	| jA                  tC        «       «       Œ | j                   j                  | jE                  | jF                  «      «       y )Nrü   ©rã   é   rë   r“   r   rý   ÚKW_NAMES©ró   F©rã   é   rê   )$r  r  r&   Úblock_stackrÄ   rï   rM   Úreconstruct_typeÚextend_outputrË   Ú
try_exceptrP  r  Úget_instructionsrñ   rò   r¨   Úkw_namesr  r¦   r   r   ÚargrÂ   ÚcopyÚexn_tab_entryÚdisÚstack_effectÚopmapÚopcoderÖ   ÚrangerÔ   rb   r	  r
  )rŠ   r„   r†   ÚcgÚcleanupÚbrn  Ú	inst_copyrs  rx   rÔ   s             €ry   r_  zIbreak_graph_if_unsupported.<locals>.decorator.<locals>.handle_graph_break„  s’  ø€ ð
 �K‰K×(Ñ(¨°fÐ(Ô=Ü˜4“ˆBØ)+ˆGà×%Ñ%ò U�Ø—~‘~Ð1Ð1Ð1Ü! !§.¡.Ô2IÔJÐJÐJØ—‘×/Ñ/°Ô3Ø× Ñ  §¡£×!9Ñ!9¸"¿/¹/È7Ó!SÕTð	Uð
 �K‰K×/Ñ/°×0CÑ0CÓ0EÔFØä×Ñ 7Ò*¨t¯{©{¸fÒ/Dð —}‘}Ð0ð —M‘M×4Ñ4Ô6àð ô
 �x“= 1Ò$ä×+Ñ+¨gÒ5Ð5Ð5Ø—K‘K×7Ñ7Ü+¨J¸xÔHÐIôð —‘×3Ñ3Ü(¨¯©°5Ó9õð
 —{‘{Ð*Ð*Ð*Ü ŸI™I d›O�	Ø*.�	Ô'Ø—‘×3Ñ3°Y°KÔ@à�K‰K×/Ñ/°Ô8ô × Ñ  GÒ+Ü×$Ñ$ wÒ.Ø—K‘K 6Ò)ô  #×/Ñ/Ü—I‘I˜iÑ(¨$¯(©(ó ä×$Ñ$¤S§Y¡Y¨vÑ%6¸¿¹ÓAñ B‘ô  #×/Ñ/°·±¸T¿X¹XÓF�Ø�I‰I�d˜\Ñ)Ô*ä˜4“[ò -�Ø—	‘	œ/Ó+Õ,ð-à�K‰K×/Ñ/Ø×*Ñ*¨4×+@Ñ+@ÓAõr{   )rÝ   rÞ   r"   r.   )r`  ra  r_  rÔ   s   ` @€ry   Ú	decoratorz-break_graph_if_unsupported.<locals>.decorator>  sY   ú€ Ü	�‰˜Ó	"ðB	4Ð5ð B	4¼[õ B	4ó 
#ðB	4ðH:	Ø-ð:	äð:	ô 'õ:	ðx ˆr{   r“   )rÔ   r{  s   ` ry   Úbreak_graph_if_unsupportedr|  =  s   ø€ ôBðH Ðr{   c                   ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚBytecodeDistpatchTableMetazTInstalls a `cls.dispatch_table` on every subclass to speed up calls to self.OPCODE()c                 ó>  •— t         ‰	| �  |||«       d„ }t        j                  j	                  «       D ��ci c]'  \  }}|t        | |t        j                  ||«      «      “Œ) }}}t        d«      D �cg c]  }|j                  |«      ‘Œ c}| _
        y c c}}w c c}w )Nc                 ó    — t        d| › �«       y )Nz	missing: ©r)   )r¨   rw   s     ry   Ú_missingz5BytecodeDistpatchTableMeta.__init__.<locals>._missingË  s   € Ü˜I f XÐ.Õ/r{   é   )ÚsuperÚ__init__rr  rt  ÚitemsÚgetattrrÝ   Úpartialrv  ÚgetÚdispatch_table)
ÚclsÚnameÚbasesÚdctr‚  r¨   ÚoprŠ  ÚiÚ	__class__s
            €ry   r…  z#BytecodeDistpatchTableMeta.__init__È  s’   ø€ Ü‰Ñ˜˜u cÔ*ò	0ô
 "Ÿi™iŸo™oÓ/÷
á�˜ð ”˜˜V¤Y×%6Ñ%6°xÀÓ%HÓIÑIð
ˆñ 
ô >CÀ4»[ÖI¸˜n×0Ñ0°Õ3ÒIˆÕùó	
ùò Js   ·,BÁ3B©r    N)rŒ   r�   rŽ   r­   r…  Ú__classcell__©r‘  s   @ry   r~  r~  Å  s   ø„ Ù^÷
Jñ 
Jr{   r~  c                   ó‚  ‡ — e Zd ZU eed<   eeef   ed<   eeef   ed<   ed   ed<   e	e   ed<   e
e   ed<   eed<   e	e   ed	<   eed
<   e
e   ed<   eed<   e	e   ed<   eed<   eed<   e
e   ed<   e	e   ed<   e	e   ed<   e
e   ed<   e
eegef      ed<   d„ Zd„ Zd„ Zd„ Zdede	e   deeef   fd„Zd„ ZdÉd„Zd „ Zd!„ Zd"„ Zej>                  d#k\  rd$„ Z nd%„ Z e!d&„ «       Z"d'„ Z#d(„ Z$d)„ Z%dÉd*e
e   d+efd,„Z&d-e	e   fd.„Z'd/efd0„Z(d1ed/e	e   fd2„Z)d3„ Z*d4„ Z+d5„ Z,d6„ Z-d7„ Z.d8„ Z/d9„ Z0e/Z1d:„ Z2d;„ Z3d<„ Z4d=„ Z5e6jn                  d>„ «       Z8d?„ Z9d@„ Z:dA„ Z;dB„ Z<dC„ Z=dD„ Z>dE„ Z?dF„ Z@dG„ ZAdH„ ZBeBZCeBZD eEeFjŽ                  dI«      ZH eEeFj’                  dI«      ZJ eEeFjŽ                  dJ«      ZK eEeFj’                  dJ«      ZLdK„ ZMdL„ ZNdM„ ZOdN„ ZPdO„ ZQdP„ ZRdQ„ ZSdR„ ZTdS„ ZUdT„ ZVdU„ ZWdV„ ZXdW„ ZYdX„ ZZdY„ Z[dZ„ Z\d[„ Z]d\„ Z^d]„ Z_d^„ Z`d_„ Zad`„ Zbda„ Zc eddb¬c«      dd„ «       Ze eddb¬c«      de„ «       Zf eddb¬c«      df„ «       Zgdg„ Zhdh„ Zidi„ Zjdj„ Zkdk„ Zldl„ Zmdm„ Zndn„ Zodo„ Zpdp„ Zqd/efdq„Zr eddr¬c«      ds„ «       Zsdt„ Ztdu„ Zudv„ Zvdw„ Zwdx„ Zxeyfdy„Zzdz„ Z{e{Z|d{„ Z}d|„ Z~e~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Š„ Z�d‹„ ZŽdŒ„ Z�d�„ Z�dŽ„ Z‘d�„ Z’d�„ Z“d‘„ Z”d’„ Z•e•Z–d“„ Z—d”„ Z˜d•„ Z™d–„ Zšd—„ Z›d˜„ Zœ e�eF�j<                  «      ZŸ e�eF�j@                  «      Z¡ e�eFjŽ                  «      Z¢ e�eF�jF                  «      Z¤ e�eF�jJ                  «      Z¦ e�eF�jN                  «      Z¨ e�eF�jR                  «      Zª e�eF�jV                  «      Z¬ e�eF�jZ                  «      Z® e�eF�j^                  «      Z° e�eF�j^                  «      Z± e�eF�jd                  «      Z³ e�eF�jh                  «      Zµ  eddb¬c«       e�eF�jl                  «      «      Z· e�eF�jp                  «      Z¹ e�eF�jt                  «      Z» e�eF�jx                  «      Z½ e�eF�j|                  «      Z¿ e�eF�j€                  «      ZÁ e�eF�j„                  «      ZÃ e�eF�jˆ                  «      ZÅ e�eF�jŒ                  «      ZÇ e�eF�j�                  «      ZÉ e�eF�j”                  «      ZË e�eF�j˜                  «      ZÍ e�eF�j˜                  «      ZÎ e�eF�jž                  «      ZÐ e�eF�j¢                  «      ZÒ e�eF�j¦                  «      ZÔ e�eF�jª                  «      ZÖ e�eF�j®                  «      ZØ e�eF�j²                  «      ZÚ e�eF�j¶                  «      ZÜd™„ ZÝej>                  d#k\  rdš„ ZÞd›„ Zßdœ„ Zàd�„ ZádÊdž„Zâ eddb¬c«      dŸ„ «       Zãd „ Zäd¡„ ZåeBZæeBZç eEeFj’                  dI«      Zè eEeFj’                  dI«      Zé eEeFjŽ                  dI«      Zê eEeFjŽ                  dI«      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ø eddb¬c«      d¯„ «       Zùd°„ Zúd±„ Zûd²„ Züd³„ Zýd´„ Zþdµ„ ZÿdÉd¶„�Z d·„ �Zd¸„ �Zd¹„ �Ze!dº„ «       �Zd»„ �Z�e�j                  d¼eegef   fd½„«       �Zd/efd¾„�Z	ded¿e	e   dÀeeef   dÁeeef   dÂeeef   dÃeeef   deeef   deeef   ded   dÄ�e
�j                  dÅededÆ�edÇe
�e   d/dfˆ fdÈ„�Zˆ x�ZS )Ërà   r  Úsymbolic_localsÚsymbolic_globalsrh   Ú"symbolic_torch_function_mode_stackÚstackrƒ   Úcurrent_instructionri  r‚   rn  Úaccept_prefix_instÚprefix_instsÚinline_depthÚinconsistent_side_effectsÚcurrent_speculationrŠ  Úexn_vt_stackÚexec_recorderÚstrict_checks_fnc                 ó   — d| _         y)zÒ
        InstructionTranslator has encountered instructions which may cause
        dynamo to see a different version of history from eager
        See: https://github.com/pytorch/pytorch/issues/110765
        TN)rž  rœ   s    ry   Úmark_inconsistent_side_effectsz8InstructionTranslatorBase.mark_inconsistent_side_effectsì  s   € ð *.ˆÕ&r{   c                 óô   — | j                   j                  }| j                  €J ‚| j                  | j                  d  D ]8  }|j                  dv r y|j                  t
        v sŒ&|j                  }||k  sŒ8 y y)N)ÚRETURN_VALUEÚRETURN_CONSTFT)rš  Úoffsetrƒ   rð   r¨   r   ró   )rŠ   Ú
cur_offsetr„   Újump_offsets       ry   r  z,InstructionTranslatorBase.maybe_has_backedgeô  s   € ð( ×-Ñ-×4Ñ4ˆ
Ø×'Ñ'Ð3Ð3Ð3Ø×%Ñ% d×&>Ñ&>Ð&@ÐAò 	 ˆDØ�{‰{Ð>Ñ>ÙØ�{‰{œlÒ*Ø"Ÿk™k�Ø Ó+Ùð	 ð r{   c                 ó(  — t        | d«      s{t        | j                  d   xs g «      t        | j                  d   xs g «      z   | _        t	        | t
        «      r-| xj                  | j                  j                  «       z  c_        | j                  S )NÚ_cell_and_freevarsÚco_cellvarsÚco_freevars)rÉ   rÊ   rP  r¬  rï   ÚInliningInstructionTranslatorÚparentÚcell_and_freevarsrœ   s    ry   r±  z+InstructionTranslatorBase.cell_and_freevars  s�   € Ü�tÐ1Ô2Ü&+Ø×!Ñ! -Ñ0Ò6°Bó'ä�d×'Ñ'¨Ñ6Ò<¸"Ó=ñ'>ˆDÔ#ô ˜$Ô =Ô>Ø×'Ò'¨4¯;©;×+HÑ+HÓ+JÑJÕ'Ø×&Ñ&Ð&r{   c                 óB  — t        | j                  | j                  «      }|t        | j	                  «       «      z  }| j
                  j                  «       D ��ci c]  \  }}||v sŒ||“Œ c}}| _        | j                  j                  j                  | «       y c c}}w rr   )
r   rð   rš  Úsetr±  r–  r†  r  Úside_effectsÚprune_dead_object_new)rŠ   ÚreadsÚkÚvs       ry   Úprune_dead_localsz+InstructionTranslatorBase.prune_dead_locals  sˆ   € Ü! $×"3Ñ"3°T×5MÑ5MÓNˆð œ˜D×2Ñ2Ó4Ó5Ñ5ˆà!×1Ñ1×7Ñ7Ó9÷ 
Ù�Q˜¸QÀ%ºZˆAˆq‰Dó 
ˆÔð 	�‰× Ñ ×6Ñ6°tÕ<ùó 
s   ÁBÁ'BrÐ   rw   Úkwargsc                 óÐ  — t        |t        «      sJ ‚t        |t        «      sJ ‚t        |t        «      sJ ‚t	        d„ t        j                  ||j                  «       «      D «       «      sJ ‚d }t        |d«      r|j                  }t        |d«      r|j                  }|r$t        |«      rt        |«      rt        d|› �«      ‚| j                  |j                  | ||«      «       y )Nc              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrr   )rï   rH   )Ú.0r<  s     ry   ú	<genexpr>z:InstructionTranslatorBase.call_function.<locals>.<genexpr>3  s   è ø€ ò 
àô �qœ/×*ñ
ùó   ‚r  rÐ   z$Attempt to trace forbidden callable )rï   rH   r°   rµ   ÚallÚ	itertoolsÚchainÚvaluesrÉ   r  rÐ   Úcallabler<   ræ   rÔ   rÕ   )rŠ   rÐ   rw   rº  r`  s        ry   rÕ   z'InstructionTranslatorBase.call_function*  sÐ   € ô ˜"œoÔ.Ð.Ð.Ü˜$¤Ô%Ð%Ð%Ü˜&¤$Ô'Ð'Ð'Üñ 
ä—_‘_ T¨6¯=©=«?Ó;ô
ô 
ð 	
ð 
ð ˆÜ�2�wÔØ—x‘xˆHÜ�2�tÔØ—u‘uˆHÙœ Ô*¬|¸HÔ/EÜ Ð#GÈÀzÐ!RÓSÐSØ�	‰	�"×"Ñ" 4¨¨vÓ6Õ7r{   c                 ó2   — t         j                  | |||«      S )zF
        A call to some user defined function by inlining it.
        )r¯  Úinline_call)rŠ   rÐ   rw   rº  s       ry   Úinline_user_function_returnz5InstructionTranslatorBase.inline_user_function_return@  s   € ô -×8Ñ8¸¸rÀ4ÈÓPÐPr{   Nc                 ó   — |€| j                   }| j                  dkD  rd| j                  › d�nd}t        | j                  j                  |«      }|€dnd|› d�}| j                  j                  › d|› d| j                  j
                  › |› |› �S )Nr   z (inline depth: ú)r¢   r¥   r£   z in )r‚   r�  r+   Úf_coderE  Úco_name)rŠ   r‚   Úinline_depth_strÚfuncnameÚfuncname_strs        ry   Úget_line_of_code_headerz1InstructionTranslatorBase.get_line_of_code_headerF  s�   € Øˆ>Ø—[‘[ˆFà7;×7HÑ7HÈ1Ò7LÐ˜t×0Ñ0Ð1°Ñ3ÐRTð 	ô   §¡× 7Ñ 7¸Ó@ˆØ%Ð-‘r°R¸°zÀÐ3CˆØ—+‘+×)Ñ)Ð*¨!¨F¨8°4¸¿¹×8KÑ8KÐ7LÈ\ÈNÐ[kÐZlÐmÐmr{   c                 óÂ   — d| j                  «       › d�}t        j                  | j                  j                  | j
                  «      j                  «       }|d|› �z  }|S )NzTRACE starts_line r  z    )rÏ  Ú	linecacheÚgetlinerÊ  rE  r‚   Úrstrip)rŠ   Úlog_strÚlines      ry   Úget_log_starts_line_log_strz5InstructionTranslatorBase.get_log_starts_line_log_strP  sX   € Ø& t×'CÑ'CÓ'EÐ&FÀbÐIˆÜ× Ñ  §¡×!8Ñ!8¸$¿+¹+ÓF×MÑMÓOˆØ�T˜$˜�=Ñ ˆØˆr{   c                 óŽ  — | j                   |k(  ry || _         t        j                  | j                  j                  || j                  j
                  «       ddlm}  || j                  j                  «       t        j                  t        j                  «      r*t        j                  dt        | j                  «      «       y y )Nr   )Ú	dump_fileú%s)r‚   r   Úset_current_locrÊ  rE  rË  Útorch._logging.structuredrØ  Útrace_source_logrR  r   rS  r  rC   rÖ  )rŠ   r‚   rØ  s      ry   Ústarts_linez%InstructionTranslatorBase.starts_lineV  sŠ   € Ø�;‰;˜&Ò ØØˆŒÜ×&Ñ&Ø�K‰K×#Ñ# V¨T¯[©[×-@Ñ-@ô	
õ 	8á�$—+‘+×)Ñ)Ô*Ü×(Ñ(¬¯©Ô7Ü×"Ñ" 4¬°D×4TÑ4TÓ)UÕVð 8r{   c                 óô  — | j                   }|€y| j                  |   x| _        }|dz   | _         |j                  r| j                  |j                  «       | j                  s\| j                  «       rL| j                  «       r<| j                  «       | _        | j                  j                  r| j                  |«      S t        j                  t        j                  «      r6t        j                  d|j                   |j"                  | j                  «       | j%                  |«       	  | j&                  |j(                     | |«       | j*                  j,                   S # t.        j0                  $ r}| j3                  |«       Y d}~yd}~wt4        $ r Y yt6        $ r< | j                  €t8        j                  d«       ‚ t8        j                  dd¬«       Y nw xY w| j                  j;                  «        y)	z<Process exactly one instruction, return False we should exitNFr   zTRACE %s %s %sTzempty checkpointzstep triggered compilerG  )rƒ   rð   rš  rÝ  r™  r   Úis_non_empty_graphrJ  rŸ  r…   Ústep_graph_breakÚtrace_bytecode_logrR  r   rS  r  r¨   ró   Úupdate_block_stackrŠ  ru  r  Úshould_exitr   ÚObservedExceptionÚexception_handlerrÏ   r*   r¾   r‹   )rŠ   Úipr„   r>  s       ry   ÚstepzInstructionTranslatorBase.stepc  s™  € à×%Ñ%ˆØˆ:ØØ*.×*;Ñ*;¸BÑ*?Ð?ˆÔ  4Ø#%¨¡6ˆÔ à×ÒØ×Ñ˜T×-Ñ-Ô.ð —
’
Ø×1Ñ1Ô3Ø×'Ñ'Ô)à'+§~¡~Ó'7ˆDÔ$Ø×'Ñ'×.Ò.Ø×,Ñ,¨TÓ2Ð2ä×*Ñ*¬7¯=©=Ô9Ü×$Ñ$Ø  $§+¡+¨t¯{©{¸D¿J¹Jôð 	×Ñ Ô%ð	?Ø,ˆD×Ñ §¡Ñ,¨T°4Ô8Ø—{‘{×.Ñ.Ð.Ð.øÜ×$Ñ$ò 	Ø×"Ñ" 1Ô%ÜûÜò 	ÙÜò 	?Ø×'Ñ'Ð/Ü—	‘	Ð,Ô-ØÜ�I‰IÐ.¸ˆIÖ>ð		?úð 	× Ñ ×:Ñ:Õ<s%   Ä*6E! Å!GÅ4F
Æ
GÆAGÇGrc  c                 óÀ  — |j                   }|r€t        | j                  «      dk\  rg|j                  | j                  d   j                  urA|j                  | j                  d   j                  u r| j                  j	                  «        y y y y | j                  rD|j
                  dvr5t        | j                  «      dk(  sJ ‚| j                  j	                  «        y y y )Né   rD  éþÿÿÿ)ÚNOPÚJUMP_BACKWARDr   )rq  r¦   ri  rÂ   r  r¨   )rŠ   r„   r©   s      ry   râ  z,InstructionTranslatorBase.update_block_stack�  sÓ   € ð ×&Ñ&ˆEÙô ˜×(Ñ(Ó)¨QÒ.ØŸ™¨D×,<Ñ,<¸RÑ,@×,GÑ,GÑGØŸ™¨×(8Ñ(8¸Ñ(<×(CÑ(CÑCð ×$Ñ$×(Ñ(Õ*ð Dð Hð /ð  ×#Ò#¨¯©Ð;SÑ(Sô ˜t×/Ñ/Ó0°AÒ5Ð5Ð5Ø×$Ñ$×(Ñ(Õ*ð )TÐ#r{   c                  ó   — y rr   r“   ©rŠ   r„   s     ry   râ  z,InstructionTranslatorBase.update_block_stack¹  s   € Ør{   c                 ó4   — | j                   | j                     S rr   )rð   rƒ   rœ   s    ry   r
  z*InstructionTranslatorBase.next_instruction¼  s   € à× Ñ  ×!9Ñ!9Ñ:Ð:r{   c           	      ó"  — | j                   j                  rJ ‚| j                  €J ‚| j                   j                  | dt	        d| j                  «       g«      ¬«       | j                   j                  t        |«      g| j                  z   «       y )NTÚstep_unsupported)Úpartial_convertr†   )	r  Úoutput_instructionsrŸ  r  r.   r  r  r   rð   )rŠ   Úcontinue_insts     ry   rà  z*InstructionTranslatorBase.step_graph_breakÀ  s…   € à—;‘;×2Ò2Ð2Ð2Ø×'Ñ'Ð3Ð3Ð3Ø�‰×$Ñ$ØØ Ü%Ð&8¸4×;MÑ;MÓ;OÐ:PÓQð 	%ô 	
ð
 	�‰×+Ñ+Ü! -Ó0Ð1°D×4EÑ4EÑEõ	
r{   c                 ó,   — t        j                  d «      S rr   )r   Úcurrent_framerœ   s    ry   Úrun_ctx_mgrz%InstructionTranslatorBase.run_ctx_mgrÍ  s   € ô ×+Ñ+¨DÓ1Ð1r{   c                 ót  — | j                  «       5  	 | j                  j                  | «       | j                  «       r	 | j                  «       rŒ| j                  j                  «        t        | t        «      r| j                  j                  «        	 d d d «       y # t        $ r ‚ t
        $ r1}| j                  r| j                  j                  «       |_        ‚ d }~ww xY w# | j                  j                  «        t        | t        «      r| j                  j                  «        w w xY w# 1 sw Y   y xY wrr   )r÷  r  Úpush_txrç  r(   Ú	Exceptionr¡  Ú
get_recordÚexec_recordÚpop_txrï   rÒ   rx  )rŠ   r>  s     ry   ÚrunzInstructionTranslatorBase.runÓ  sù   € Ø×ÑÓñ 	*ð*Ø—‘×#Ñ# DÔ)Ø—i‘i”kØð —i‘i•kð —‘×"Ñ"Ô$ô ˜dÔ$9Ô:Ø—K‘K×'Ñ'Õ)÷'	*ð 	*øô
 )ò ØÜò Ø×%Ò%Ø$(×$6Ñ$6×$AÑ$AÓ$C�A”MØûðûð
 —‘×"Ñ"Ô$ô ˜dÔ$9Ô:Ø—K‘K×'Ñ'Õ)ð ;ú÷%	*ð 	*ús<   ‘D.“<BÁAD.ÂC!Â0,CÃC!Ã!C$Ã$AD+Ä+D.Ä.D7ÚvalrŒ  c                 ó<  — |�#t        |t        «      sJ dt        |«      › �«       ‚| j                  j	                  |«       t
        j                  dk\  rI| j                  j	                  |«       t        | j                  «      t        | j                  «      k(  sJ ‚y y )Nz"push expects VariableTracker, got rý   )	rï   rH   rG   r™  r§   rñ   rò   Ú
name_stackr¦   )rŠ   rÿ  rŒ  s      ry   rÔ   zInstructionTranslatorBase.pushé  sˆ   € Øˆ{œjØ”ô
ð 	?à/´¸³¨~Ð>ó	?ð 
ð 	�
‰
×Ñ˜#ÔÜ×Ñ˜wÒ&Ø�O‰O×"Ñ" 4Ô(Ü�t—z‘z“?¤c¨$¯/©/Ó&:Ò:Ð:Ñ:ð 'r{   Úvalsc                 ó4   — |D ]  }| j                  |«       Œ y rr   ©rÔ   )rŠ   r  rÿ  s      ry   Ú	push_manyz#InstructionTranslatorBase.push_manyò  s   € Øò 	ˆCØ�I‰I�c�Nñ	r{   r    c                 óê   — t         j                  dk\  rGt        | j                  «      t        | j                  «      k(  sJ ‚| j                  j                  «        | j                  j                  «       S )Nrý   )rñ   rò   r¦   r™  r  r  rœ   s    ry   r  zInstructionTranslatorBase.popö  sP   € Ü×Ñ˜wÒ&Ü�t—z‘z“?¤c¨$¯/©/Ó&:Ò:Ð:Ð:Ø�O‰O×ÑÔ!Ø�z‰z�~‰~ÓÐr{   Únc                 óp   — g t        t        |«      D �cg c]  }| j                  «       ‘Œ c}«      ¢S c c}w rr   )rt   rv  r  )rŠ   r  rx   s      ry   rÖ   zInstructionTranslatorBase.popnü  s*   € Ø:”¬u°Q«xÖ8¨!˜4Ÿ8™8�:Ò8Ó9Ð:Ð:ùÒ8s   ”3
c                 ó   — t        |¬«      S ©N©rŒ  )r]   ©rŠ   rŒ  s     ry   Ú_load_closurez'InstructionTranslatorBase._load_closureÿ  s   € Ü DÔ)Ð)r{   c                 óÄ  — | j                   r7|| j                  v r)| j                   j                  || j                  |   «       	 | j                  | j                  |   j                  «       |¬«       |j                  d«      r| j                  j                  |«       y y # t        $ rµ t        j                  dk\  r5|| j                  «       v r#| j                  | j                  |«      |¬«       nj|j                  d«      rN	 |j                  dd«      }| j                  | j                  |   |¬«       n%# t        $ r t        d«       Y nw xY wt        d«       Y Œëw xY w)Nr  rý   ú.Úimplicitzundefined LOAD_FAST (implicit)zundefined LOAD_FASTÚ___stack)r¡  Úf_localsÚadd_local_varrÔ   r–  ÚunwrapÚKeyErrorrñ   rò   r±  r  Ú
startswithÚreplacer)   r  )rŠ   rŒ  Únew_names      ry   Ú
_load_fastz$InstructionTranslatorBase._load_fast  s4  € Ø×Ò $¨$¯-©-Ñ"7Ø×Ñ×,Ñ,¨T°4·=±=ÀÑ3FÔGð	5Ø�I‰I�d×*Ñ*¨4Ñ0×7Ñ7Ó9ÀˆIÔEð( �?‰?˜:Ô&Ø× Ñ ×$Ñ$ TÕ*ð 'øô' ò 	5Ü×Ñ 7Ò*¨t°t×7MÑ7MÓ7OÑ/Oð —	‘	˜$×,Ñ,¨TÓ2¸�	Õ>Ø—‘ Ô%ðDà#Ÿ|™|¨C°Ó<�HØ—I‘I˜d×2Ñ2°8Ñ<À8�IÕLøÜò DÜ!Ð"BÖCðDúô Ð3Ô4ùð!	5ús7   Á.B! Â!A"EÄ2D7Ä6EÄ7EÅEÅEÅEÅEc                 ó:   — | j                  |j                  «       y rr   )r  ró   rî  s     ry   Ú	LOAD_FASTz#InstructionTranslatorBase.LOAD_FAST  s   € Ø�‰˜Ÿ™Õ$r{   c                 ó²  — |j                   | j                  «       v sJ ‚| j                  rU|j                   | j                  v r=| j                  j	                  |j                   | j                  |j                      «       |j                   | j
                  vrt        d|j                   › �«       | j                  | j
                  |j                      «       y )Nzundefined LOAD_DEREF )ró   r±  r¡  r  r  r–  r)   rÔ   rî  s     ry   Ú
LOAD_DEREFz$InstructionTranslatorBase.LOAD_DEREF!  s�   € Ø�{‰{˜d×4Ñ4Ó6Ñ6Ð6Ð6à×Ò $§+¡+°·±Ñ">Ø×Ñ×,Ñ,¨T¯[©[¸$¿-¹-ÈÏÉÑ:TÔUà�;‰;˜d×2Ñ2Ñ2ÜÐ1°$·+±+°Ð?Ô@Ø�	‰	�$×&Ñ& t§{¡{Ñ3Õ4r{   c                 ód   — | j                  «       }|j                  |«       || j                  |<   y rr   )r  Úset_name_hintr–  )rŠ   rŒ  Ú	loaded_vts      ry   Ú_store_fastz%InstructionTranslatorBase._store_fast+  s+   € Ø—H‘H“Jˆ	Ø×Ñ Ô%Ø%.ˆ×Ñ˜TÒ"r{   c                 ó:   — | j                  |j                  «       y rr   )r!  ró   rî  s     ry   Ú
STORE_FASTz$InstructionTranslatorBase.STORE_FAST0  s   € Ø×Ñ˜Ÿ™Õ%r{   c                 ó2   — | j                   |j                  = y rr   )r–  ró   rî  s     ry   ÚDELETE_FASTz%InstructionTranslatorBase.DELETE_FAST3  s   € Ø× Ñ  §¡Ñ-r{   c                 óX   — | j                  | j                  |j                  «      «       y rr   )rÔ   r  ró   rî  s     ry   ÚLOAD_CLOSUREz&InstructionTranslatorBase.LOAD_CLOSURE8  s   € Ø�	‰	�$×$Ñ$ T§[¡[Ó1Õ2r{   c                 óâ   — |j                   }|€ t        j                  |j                  ¬«      S | j                  |   }|s/t        j                  |j                  ¬«      x| j                  |<   }|S )N©r  )ro  rL   rô   ró   Ú_constants_cache)rŠ   r„   r�  rÿ  s       ry   Ú_load_constz%InstructionTranslatorBase._load_const;  sa   € Ø�H‰HˆØˆ9Ü#×*Ñ*°·±Ô=Ð=Ø×#Ñ# AÑ&ˆÙÜ-=×-DÑ-DÈ4Ï;É;Ô-WÐWˆD×!Ñ! !Ñ$ sØˆ
r{   c                 óD   — | j                  | j                  |«      «       y rr   )rÔ   r+  rî  s     ry   rè   z$InstructionTranslatorBase.LOAD_CONSTD  s   € Ø�	‰	�$×"Ñ" 4Ó(Õ)r{   c                 óœ  — |j                   }| j                  rn|| j                  v r*| j                  j                  || j                  |   «       n6|| j                  v sJ ‚| j                  |   | j                  j
                  |<   || j                  v r\| j                  j                  | j                  |      }| j                  | j                  j                  j                  ||«      «       y 	 | j                  |   }t        |«      }| j                   t        | |«      |«      «       y # t        $ r | j                  |«      cY S w xY wrr   )ró   r¡  Ú	f_globalsÚadd_global_varÚ
f_builtinsÚbuiltinsr—  r  r´  rÔ   Úload_globalr  Úload_builtinr6   rI   )rŠ   r„   rŒ  Úvariabler  r3  s         ry   Ú_load_globalz&InstructionTranslatorBase._load_globalG  s  € Ø�{‰{ˆà×ÒØ�t—~‘~Ñ%Ø×"Ñ"×1Ñ1°$¸¿¹ÀtÑ8LÕMà˜tŸ™Ñ.Ð.Ð.Ø48·O±OÀDÑ4I�×"Ñ"×+Ñ+¨DÑ1à�4×(Ñ(Ñ(Ø—{‘{×/Ñ/°×0EÑ0EÀdÑ0KÑLˆHØ�I‰I�d—k‘k×.Ñ.×:Ñ:¸8ÀTÓJÔKØð	+Ø—N‘N 4Ñ(ˆEô ˜dÓ#ˆØ�	‰	Ð/”/ $¨Ó/°Ó6Õ7øô	 ò 	+Ø×$Ñ$ TÓ*Ò*ð	+ús   Ã2D. Ä.EÅ
Ec                 óv   — d}| j                  |«      }t        j                  |«      } t        | |«      |«      S )Nztorch.nn.modules.module)Úimport_sourceÚ	importlibÚimport_modulerI   )rŠ   Úmodule_nameÚmodule_sourceÚfglobals_values       ry   Únn_modules_globals_vtz/InstructionTranslatorBase.nn_modules_globals_vt^  s;   € à/ˆØ×*Ñ*¨;Ó7ˆÜ"×0Ñ0°Ó=ˆØ3Œ˜t ]Ó3°NÓCÐCr{   c                 ó  — t         j                  dk\  r3t         j                  dk  r |j                  dz  r| j                  |«       | j	                  |«       t         j                  dk\  r"|j                  dz  r| j                  |«       y y y )Nrc  rý   ré  )rñ   rò   ro  Ú	PUSH_NULLr5  rî  s     ry   rå   z%InstructionTranslatorBase.LOAD_GLOBALe  sn   € Ü×Ñ˜wÒ&¬3×+;Ñ+;¸gÒ+EÈ$Ï(É(ÐUVÊ,Ø�N‰N˜4Ô Ø×Ñ˜$ÔÜ×Ñ˜wÒ&¨4¯8©8°aª<Ø�N‰N˜4Õ ð ,8Ð&r{   c                 ó†  — | j                  «       }|j                  }t        |«      }|| j                  vrt	        «       | j                  |<   | j
                  j                  j                  || j                  |   «      }t        |t        «      rt        d«       | j
                  j                  j                  |||«       y ©Nz Storing handles in globals - NYI)r  ró   r6   r—  Úobjectr  r´  Útrack_global_existingrï   ri   r)   Ústore_global)rŠ   r„   r  rŒ  r3  r4  s         ry   ÚSTORE_GLOBALz&InstructionTranslatorBase.STORE_GLOBALl  sœ   € Ø—‘“
ˆØ�{‰{ˆÜ˜dÓ#ˆØ�t×,Ñ,Ñ,Ü*0«(ˆD×!Ñ! $Ñ'Ø—;‘;×+Ñ+×AÑAØ�D×)Ñ)¨$Ñ/ó
ˆô �eÔ4Ô5ÜÐ<Ô=Ø�‰× Ñ ×-Ñ-¨h¸¸eÕDr{   c                 ó®  — d|v rZt         j                  j                  j                  |   }|j	                  dd«      j	                  dd«      j	                  dd«      }n*t        j                  |«      }d|j	                  dd«      › �}| j                  j                  }||vs	||   |u sJ ‚|||<   | j                  j                  |«       t        |«      S )z-Create an alias to a module for use in guardsÚtorch_packageú>rx   ú<r  Ú_dot_Ú	__import_)r  ÚpackageÚpackage_importerÚ_package_imported_modulesr  r8  r9  r  Úglobal_scopeÚupdate_co_namesr6   )rŠ   r:  r  Úaliasr.  s        ry   r7  z'InstructionTranslatorBase.import_sourcey  sÔ   € à˜kÑ)Ü—M‘M×2Ñ2×LÑLØñˆEð ×#Ñ# C¨Ó-×5Ñ5°c¸3Ó?×GÑGÈÈWÓUñ ô ×+Ñ+¨KÓ8ˆEØ × 3Ñ 3°C¸Ó AÐBÐCˆEØ—K‘K×,Ñ,ˆ	Ø˜IÑ%¨°5Ñ)9¸UÑ)BÐBÐBØ ˆ	�%ÑØ�‰×#Ñ# EÔ*Ü˜EÓ"Ð"r{   c                 ó~   — |j                  d|dz
  «      }t        |«      |k  rt        d«      ‚|d   }|r|› d|› �S |S )zú
        Copied from the Cpython implementation of __import__
        Resolve a relative module name to an absolute one.
        https://github.com/python/cpython/blob/5a094f0255eea1db58fb2cf14c200971e64ec36e/Lib/importlib/_bootstrap.py#L902
        r  r   z2attempted relative import beyond top-level packager   )Úrsplitr¦   ÚImportError)rŠ   rŒ  rL  ÚlevelÚbitsÚbases         ry   Úresolve_namez&InstructionTranslatorBase.resolve_name‹  sQ   € ð �~‰~˜c 5¨1¡9Ó-ˆÜˆt‹9�uÒÜÐRÓSÐSØ�A‰wˆÙ#'�$��q˜˜ÐÐ1¨TÐ1r{   c                 óŽ  — | j                   j                  d«      }| j                   j                  d«      }|�6|�2||j                  k7  r#t        j	                  d||j                  d¬«       |S |�|j                  S t        j	                  dd¬«       | j                   d   }d| j                   vr|j                  d	«      d
   }|S )zÀ
        Copied from the Cpython implementation of __import__
        https://github.com/python/cpython/blob/5a094f0255eea1db58fb2cf14c200971e64ec36e/Lib/importlib/_bootstrap.py#L1090
        Ú__package__Ú__spec__z)__package__ != __spec__.parent (%r != %r)rã   )Ú
stacklevelzYcan't resolve package from __spec__ or __package__, falling back on __name__ and __path__rŒ   Ú__path__r  r   )r.  r‰  r°  r¾   ÚwarningÚ
rpartition)rŠ   rL  Úspecs      ry   Úcalc_packagez&InstructionTranslatorBase.calc_package—  sÊ   € ð
 —.‘.×$Ñ$ ]Ó3ˆØ�~‰~×!Ñ! *Ó-ˆØÐØÐ G¨t¯{©{Ò$:Ü—‘Ø?ØØ—K‘KØ ð	 ô ð ˆNØÐØ—;‘;Ðä�K‰Kð8àð ô ð
 —n‘n ZÑ0ˆGØ §¡Ñ/Ø!×,Ñ,¨SÓ1°!Ñ4�Øˆr{   c                 ó.  — | j                  d«      \  }}|j                  «       }|j                  «       }|j                  }t        j                  › d|› d|› d|› �}|| j
                  v r| j
                  |   }t        |«      }n{	 t        |||| j
                  ¬«      }|dk7  r#| j                  «       }| j                  |||«      }|s&|j                  d«      d   }	| j                  |	«      }n| j                  |«      }| j                  r| j                  j                  |«       t!        t"        j$                  t&        f«      r| j)                  t+        ||¬«      «       y t        dt-        |«      › �«       y # t        $ r t        d«       Y Œôw xY w)	Nré  rx   )ÚfromlistrU  Úglobalsz#import a module that does not existr   r  ©r3  zIMPORT_NAME )rÖ   r  ró   r1   ÚLOCAL_MOD_PREFIXr.  r6   Ú
__import__rT  r)   ra  rX  Ú	partitionr7  r¡  Úadd_local_modrB   ÚtypesÚ
ModuleTyper0   rÔ   ra   rG   )
rŠ   r„   rU  rc  r:  Úrecorded_namer  r3  ÚpkgÚtop_level_module_names
             ry   ÚIMPORT_NAMEz%InstructionTranslatorBase.IMPORT_NAME´  s…  € ØŸ)™) A›,‰ˆˆxØ×(Ñ(Ó*ˆØ×.Ñ.Ó0ˆØ—k‘kˆô !×1Ñ1Ð2°!°E°7¸!¸H¸:ÀQÀ{ÀmÐTð 	ð ˜DŸN™NÑ*Ø—N‘N =Ñ1ˆEÜ! -Ó0‰FðEÜ"ØØ%ØØ ŸN™Nô	�ð ˜ŠzØ×'Ñ'Ó)�Ø"×/Ñ/°¸SÀ%ÓH�ñ Ø(3×(=Ñ(=¸cÓ(BÀ1Ñ(EÐ%Ø×+Ñ+Ð,AÓB‘à×+Ñ+¨KÓ8�à×ÒØ×Ñ×,Ñ,¨]¸EÔBä�%œ%×*Ñ*¬KÐ8Ô9Ø�I‰IÔ*¨5¸Ô@ÕAä˜L¬°«Ð(8Ð9Õ:øô1 ò EÜÐCÖDðEús   ÂE= Å=FÆFc                 óH   — | j                  |«       | j                  |«       y rr   )ÚDUP_TOPÚ
_load_attrrî  s     ry   ÚIMPORT_FROMz%InstructionTranslatorBase.IMPORT_FROMã  s   € Ø�‰�TÔØ�‰˜Õr{   c                 óp  — || j                   vrt        d|› d�«      ‚| j                   |   }t        |«      rMt        | j                  j
                  «      }t        ||«      }| j                   t        | |«      |«      «       y t        |«      sJ ‚| j                  t        j                  |¬«      «       y )Nzname 'z' is not definedr)  )r0  Ú	NameErrorrÄ  r6   r  Ú%name_of_builtins_dict_key_in_fglobalsr5   rÔ   rI   r;   rL   rô   )rŠ   ró   rÿ  Úbuiltins_sourceÚ
var_sources        ry   Úload_builtin_from_argvalz2InstructionTranslatorBase.load_builtin_from_argvalç  sž   € Ø˜Ÿ™Ñ(Ü˜f V HÐ,<Ð=Ó>Ð>Ø�o‰o˜fÑ%ˆä�CŒ=Ü*Ø—‘×AÑAóˆOô ' ¸Ó?ˆJØ�I‰IÐ7”o d¨JÓ7¸Ó<Õ=ä& sÔ+Ð+Ð+Ø�I‰IÔ&×-Ñ-°CÔ8Õ9r{   c                 ó:   — | j                  |j                  «       y rr   )ry  ró   rî  s     ry   r3  z&InstructionTranslatorBase.load_builtinö  s   € Ø×%Ñ% d§k¡kÕ2r{   c                 ó@   — | j                   |j                     | _        y rr   )ÚindexofrÂ   rƒ   rî  s     ry   r  zInstructionTranslatorBase.jumpù  s   € Ø#'§<¡<°·±Ñ#<ˆÕ r{   FTc                 ób   — | j                   j                  t        ||j                  «      «       y rr   ©ri  r§   rÁ   rÂ   rî  s     ry   Ú
SETUP_LOOPz$InstructionTranslatorBase.SETUP_LOOP  ó!   € à×Ñ×Ñ¤°°d·k±kÓ BÕCr{   c                 ób   — | j                   j                  t        ||j                  «      «       y rr   r~  rî  s     ry   ÚSETUP_EXCEPTz&InstructionTranslatorBase.SETUP_EXCEPT  r€  r{   c                 ó8   — | j                   j                  «        y rr   )ri  r  rî  s     ry   Ú	POP_BLOCKz#InstructionTranslatorBase.POP_BLOCK  s   € Ø×Ñ×ÑÕr{   c                 ó&   — | j                  |«       y rr   ©Úsetup_or_before_withrî  s     ry   Ú
SETUP_WITHz$InstructionTranslatorBase.SETUP_WITH  ó   € Ø×!Ñ! $Õ'r{   c                 ób   — | j                   j                  t        ||j                  «      «       y rr   r~  rî  s     ry   ÚSETUP_FINALLYz'InstructionTranslatorBase.SETUP_FINALLY  s!   € Ø×Ñ×Ñ¤°°d·k±kÓ BÕCr{   c                 ó&   — | j                  d «       y rr   r  rî  s     ry   ÚBEGIN_FINALLYz'InstructionTranslatorBase.BEGIN_FINALLY  s   € Ø�	‰	�$�r{   c                 óÈ   — | j                  d«      \  }}|�J ‚| j                  |«       | j                  |j                  | t        j                  d «      gdz  i «      «       y )Nré  rã   )rÖ   rÔ   rÕ   rL   rô   )rŠ   r„   rÍ   r   s       ry   ÚWITH_CLEANUP_STARTz,InstructionTranslatorBase.WITH_CLEANUP_START  sX   € Ø—I‘I˜a“L‰	ˆˆcØˆ{Ðˆ{Ø�	‰	�#ŒØ�	‰	�$×$Ñ$ TÔ,<×,CÑ,CÀDÓ,IÐ+JÈQÑ+NÐPRÓSÕTr{   c                 óH   — | j                  d«       | j                  d «       y )Nré  )rÖ   rÔ   rî  s     ry   ÚWITH_CLEANUP_FINISHz-InstructionTranslatorBase.WITH_CLEANUP_FINISH  s   € Ø�	‰	�!ŒØ�	‰	�$�r{   c                 ó    — | j                   | j                     }| j                  t        j                  |«      «       | j                  |«       y)z|
        pushes the address of the next instruction onto the stack and increments
        bytecode counter by delta
        N)r|  r
  rÔ   rL   rô   r  )rŠ   r„   Úaddrs      ry   ÚCALL_FINALLYz&InstructionTranslatorBase.CALL_FINALLY"  s;   € ð �|‰|˜D×1Ñ1Ñ2ˆØ�	‰	Ô"×)Ñ)¨$Ó/Ô0Ø�	‰	�$�r{   c                 óp   — | j                  «       }t        |t        «      r|j                  «       | _        y y rr   )r  rï   rL   r  rƒ   ©rŠ   r„   Útoss      ry   ÚEND_FINALLYz%InstructionTranslatorBase.END_FINALLY,  s.   € ð �h‰h‹jˆÜ�cÔ+Ô,Ø'*×'=Ñ'=Ó'?ˆDÕ$àr{   c                 óˆ   — |j                   }|r| j                  «       }| j                  «       }|r| j                  «       y y rr   )ró   r  rÔ   )rŠ   r„   Úpreserve_tosr—  rx   s        ry   ÚPOP_FINALLYz%InstructionTranslatorBase.POP_FINALLY5  s7   € à—{‘{ˆÙØ—(‘(“*ˆCØ�H‰H‹JˆÙØ�I‰I�c�Nð r{   c                 ó  — | j                  «       j                  «       }	 |j                  | «      }| j                  |«       | j                  |«       y # t        t
        j                  f$ r’}t        |t
        j                  «      rt        j                  | «       t        j                  dk\  r5| j                  |«       | j                  t        j                  d «      «       | j                  |«       Y d }~y d }~ww xY w©Nrg  )r  ÚrealizeÚnext_variablerÔ   ÚStopIterationr   ÚObservedUserStopIterationrï   r-  rñ   rò   rL   rô   r  )rŠ   r„   Úitrÿ  r>  s        ry   ÚFOR_ITERz"InstructionTranslatorBase.FOR_ITER>  s¼   € Ø�X‰X‹Z×ÑÓ!ˆð	Ø×"Ñ" 4Ó(ˆCØ�I‰I�bŒMØ�I‰I�c�NøÜœs×<Ñ<Ð=ò 	Ü˜!œS×:Ñ:Ô;Ü×-Ñ-¨dÔ3ô ×Ñ 7Ò*ð
 —	‘	˜"”Ø—	‘	Ô*×1Ñ1°$Ó7Ô8Ø�I‰I�d�O‰Oûð	ús    3A ÁC?Á-BC:Ã:C?c                 ó¨  — | j                  «       }t        |t        j                  «      r|j	                  | g i «      }| j
                  j                  |«       t        |t        j                  «      rNt        j                  j                  |j                  «      x}r |d|› �«      ‚t        j                  d|› �«      ‚t        dt        › �«       y )Nzraised exception zraise )r  rï   r   rK   rÕ   r   r§   ÚExceptionVariabler   Úobserved_exception_mapr‰  Úexc_typerä  r)   )rŠ   r„   rÿ  Úobserved_exception_types       ry   Ú_raise_exception_variablez3InstructionTranslatorBase._raise_exception_variableR  s¸   € Ø�h‰h‹jˆô �cœ9×4Ñ4Ô5ð ×#Ñ# D¨"¨bÓ1ˆCð 	×Ñ× Ñ  Ô%ô �cœ9×6Ñ6Ô7Ü*-×*DÑ*D×*HÑ*HÈÏÉÓ*VÐVÐ&ÐVÙ-Ð0AÀ#ÀÐ.GÓHÐHÜ×'Ñ'Ð*;¸C¸5Ð(AÓBÐBÜ˜œs˜e�nÕ%r{   c                 ó  — |j                   dk(  rt        d«       y |j                   dk(  r| j                  |«       y | j                  «       }t	        |t
        «      r|j                  €| j                  |«       t        d«       y )Nr   zre-raiser   zraise ... from ...)ro  r)   r©  r  rï   rL   r  )rŠ   r„   Úfrom_vts      ry   rì   z'InstructionTranslatorBase.RAISE_VARARGSh  sf   € Ø�8‰8�qŠ=Ü˜*Õ%Ø�X‰X˜Š]Ø×*Ñ*¨4Õ0ð —h‘h“jˆGÜ˜'Ô#3Ô4¸¿¹Ð9NØ×.Ñ.¨tÔ4ÜÐ.Õ/r{   c                 ób   — t         j                  dk\  r| j                  |«       t        d«       y )Nrc  ÚRERAISE)rñ   rò   r©  r)   rî  s     ry   r­  z!InstructionTranslatorBase.RERAISEu  s&   € Ü×Ñ˜wÒ&à×*Ñ*¨4Ô0Ü�iÕ r{   c                 óž  — t         j                  dk\  �r0| j                  j                  }|ràt	        | j
                  «      |j                  kD  r3| j                  «        t	        | j
                  «      |j                  kD  rŒ3|j                  r8| j                  t        j                  | j                  j                  «      «       t	        | j                  «      sJ ‚| j                  | j                  d   «       | j                  |«       y | j
                  j                  «        t!        | «      t"        u rt%        d«      ‚|‚t	        | j&                  «      �r¼t	        | j                  «      sJ ‚| j                  d   }| j&                  j                  «       }|j(                  j*                  dk(  r•| j-                  d«       t	        | j&                  «      dk(  r8| j
                  j                  «        t!        | «      t"        u rt%        d«      ‚|‚| j&                  j                  «       }|j(                  j*                  dk(  rŒ•|j(                  j*                  dk7  rt/        d|j(                  › �«       t1        d	dd d«      }| j&                  j3                  t5        |d «      «       t	        | j                  «      d
k\  rr| j                  d   }| j                  t        j6                  «       «       | j                  |«       | j                  t        j8                  |j:                  «      «       nl| j                  t        j                  d «      «       | j                  t        j                  d «      «       | j                  t        j                  d «      «       | j                  t        j6                  «       «       | j                  |«       | j                  t        j8                  |j:                  «      «       | j                  |«       y | j
                  j                  «        t!        | «      t"        u rt%        d«      ‚|‚)Nrc  rD  zObserved exceptionÚEXCEPT_HANDLERrã   r   r‹  zvexception is raised when top of the block stack is not exception handler (e.g. try .. with .. except). Current TOS is g    €„.Aré  rê  )rñ   rò   rš  rq  r¦   r™  Údepthr  ÚlastirÔ   r   rL   r¨  r   r  rŸ   ÚtyperÒ   r*   ri  r„   r¨   rÖ   r)   r"   r§   rÁ   rb   rK   r§  )rŠ   Úraised_exceptionrq  Úexception_varÚblock_stack_entryÚexcept_handler_instÚold_exceptions          ry   rå  z+InstructionTranslatorBase.exception_handler{  sf  € Ü×Ñ˜wÓ&Ø ×4Ñ4×BÑBˆMÙô
 ˜$Ÿ*™*“o¨×(;Ñ(;Ò;Ø—H‘H”Jô ˜$Ÿ*™*“o¨×(;Ñ(;Ó;ð !×&Ò&Ø—I‘IÜ!×2Ñ2°4×3KÑ3K×3RÑ3RÓSôô
 ˜4×,Ñ,Ô-Ð-Ð-Ø—	‘	˜$×+Ñ+¨BÑ/Ô0ð —	‘	˜-Õ(ð —
‘
× Ñ Ô"Ü˜“:Ô!6Ñ6Ü%Ð&:Ó;Ð;Ø&Ð&ä�4×#Ñ#Õ$ô ˜4×,Ñ,Ô-Ð-Ð-Ø $× 1Ñ 1°"Ñ 5�à$(×$4Ñ$4×$8Ñ$8Ó$:Ð!à'×,Ñ,×3Ñ3Ð7GÒGð —I‘I˜a”LÜ˜4×+Ñ+Ó,°Ò1ð Ÿ
™
×(Ñ(Ô*Ü ›:Ô)>Ñ>Ü"-Ð.BÓ"CÐCØ.Ð.Ø(,×(8Ñ(8×(<Ñ(<Ó(>Ð%ð (×,Ñ,×3Ñ3Ð7GÓGð %×)Ñ)×0Ñ0°OÒCÜ!ð*à*;×*@Ñ*@Ð)AðCôô '2°#Ð7GÈÈqÓ&QÐ#Ø× Ñ ×'Ñ'¬Ð8KÈTÓ(RÔSô �t×(Ñ(Ó)¨QÒ.Ø$(×$5Ñ$5°bÑ$9�Mð —I‘Iœi×7Ñ7Ó9Ô:Ø—I‘I˜mÔ,Ø—I‘Iœi×7Ñ7¸×8NÑ8NÓOÕPð —I‘Iœi×8Ñ8¸Ó>Ô?Ø—I‘Iœi×8Ñ8¸Ó>Ô?Ø—I‘Iœi×8Ñ8¸Ó>Ô?ð —	‘	œ)×3Ñ3Ó5Ô6Ø—	‘	˜-Ô(Ø—	‘	œ)×3Ñ3°M×4JÑ4JÓKÔLð —	‘	Ð+Õ,ð —
‘
× Ñ Ô"Ü˜“:Ô!6Ñ6Ü%Ð&:Ó;Ð;Ø&Ð&r{   c                 ó°   — | j                  «       }t        | j                  «      sJ ‚| j                  | j                  d   «       | j                  |«       y ©NrD  )r  r¦   r   rÔ   ©rŠ   r„   rÿ  s      ry   ÚPUSH_EXC_INFOz'InstructionTranslatorBase.PUSH_EXC_INFOÚ  sC   € Ø�h‰h‹jˆÜ�4×$Ñ$Ô%Ð%Ð%Ø�	‰	�$×#Ñ# BÑ'Ô(Ø�	‰	�#�r{   c                 ó4  — t         j                  dk\  r^| j                  «       }t        |t        j
                  «      sJ ‚t        | j                  «      sJ ‚| j                  j                  «        y t        | j                  «      dkD  sJ ‚| j                  d   j                  j                  dk7  rt        d«      ‚| j                  j                  «        | j                  d«       t        | j                  «      sJ ‚| j                  j                  «        y )Nrc  r   rD  r¯  zYBug in Dynamo tracing of exception handling.Top of the block stack is not EXCEPT_HANDLER.rã   )rñ   rò   r  rï   r   r¥  r¦   r   ri  r„   r¨   ræ   rÖ   rº  s      ry   Ú
POP_EXCEPTz$InstructionTranslatorBase.POP_EXCEPTà  sì   € Ü×Ñ˜wÒ&Ø—(‘(“*ˆCÜ˜c¤9×#>Ñ#>Ô?Ð?Ð?ô �t×(Ñ(Ô)Ð)Ð)Ø×Ñ×!Ñ!Õ#ä�t×'Ñ'Ó(¨1Ò,Ð,Ð,Ø×Ñ Ñ#×(Ñ(×/Ñ/Ð3CÒCÜ$ðDóð ð ×Ñ× Ñ Ô"à�I‰I�aŒLô �t×(Ñ(Ô)Ð)Ð)Ø×Ñ×!Ñ!Õ#r{   c                 ó  — t        | j                  «      dk\  sJ ‚| j                  «       }t        j                  dk\  r| j                  d   }n| j                  j                  «       }t        |t        t        f«      st        d|› �«       t        j                  dk\  r(t        |t        j                  «      st        d|› �«       t        |t        «      r|j                  }n|g}|D ]™  }t        |t        «      st        d|› �«       t        |t        j                  «      r"t        |j                  |j                  «      r yt        |t        j                  «      sŒxt        |j                  |j                  «      sŒ™ y y)	Nré  rc  rD  z+except has an unsupported types of objects zCexcept expects to recieve an object of exception type but received z*except has an unsupported types of object TF)r¦   r™  r  rñ   rò   rï   rK   r\   r)   r   r¥  r†  Ú
issubclassr§  rÐ   )rŠ   Úexpected_exc_typesÚexc_instanceÚexpected_typesÚexpected_types        ry   Úcheck_if_exc_matchesz.InstructionTranslatorBase.check_if_exc_matches÷  s_  € Ü�4—:‘:‹ !Ò#Ð#Ð#Ø!ŸX™X›ZÐÜ×Ñ˜wÒ&ð  Ÿ:™: b™>‰Lð
  Ÿ:™:Ÿ>™>Ó+ˆLô Ð,¬ÄÐ.NÔOÜØ=Ð>PÐ=QÐRôô ×Ñ˜wÒ&Ü˜l¬I×,GÑ,GÔHÜØYÐZfÐYgÐhôô Ð(¬-Ô8Ø/×5Ñ5‰Nð #ðˆNð ,ò 	ˆMÜ˜m¬_Ô=ÜØ@ÀÀÐPôô ˜,¬	×(CÑ(CÔDÌØ×%Ñ% }×'7Ñ'7ôJñ Ü˜L¬)×*CÑ*CÕDÌØ—‘ ×!1Ñ!1õJñ ð	ð r{   c                 óh   — | j                  t        j                  | j                  «       «      «       y rr   )rÔ   r   rL   rÄ  rî  s     ry   ÚCHECK_EXC_MATCHz)InstructionTranslatorBase.CHECK_EXC_MATCH.  s"   € Ø�	‰	”)×,Ñ,¨T×-FÑ-FÓ-HÓIÕJr{   c                 óH   — | j                  «       s| j                  |«       y y rr   )rÄ  r  rî  s     ry   ÚJUMP_IF_NOT_EXC_MATCHz/InstructionTranslatorBase.JUMP_IF_NOT_EXC_MATCH1  s   € Ø×(Ñ(Ô*Ø�I‰I�d�Oð +r{   c                 ó¶   — |j                   dk(  r| j                  |«       y | j                  t        |j                      | | j	                  d«      i «      «       y )Nzexception matchré  )ró   rÆ  rÔ   rp   rÖ   rî  s     ry   Ú
COMPARE_OPz$InstructionTranslatorBase.COMPARE_OP5  sD   € Ø�;‰;Ð+Ò+Ø× Ñ  Õ&à�I‰IÔ)¨$¯+©+Ñ6°t¸T¿Y¹YÀq»\È2ÓNÕOr{   c                 ób   — | j                  t        t        «      | j                  «       gi «       y rr   )rÕ   rK   Úiterr  rî  s     ry   ÚGET_ITERz"InstructionTranslatorBase.GET_ITER;  s!   € Ø×Ñœ?¬4Ó0°4·8±8³:°,ÀÕCr{   r   r  c                 ó€   — | j                  |j                  «      }| j                  «       }| j                  ||i «       y rr   ©rÖ   ró   r  rÕ   )rŠ   r„   rw   rÐ   s       ry   ré   z'InstructionTranslatorBase.CALL_FUNCTION>  s1   € à�y‰y˜Ÿ™Ó%ˆØ�X‰X‹ZˆØ×Ñ˜2˜t RÕ(r{   c                 ó  — |j                   dk(  rt        i «      }| j                  «       }n;|j                   dk(  r!| j                  «       }| j                  «       }nt        d«       t        j
                  dk\  r"| j                  «       }t        |t        «      sJ ‚| j                  «       }t        j
                  dk\  r5t        j
                  dk  r"| j                  «       }t        |t        «      sJ ‚t        |t        «      �r0t        |j                  t        «      �rj                  «       }|j                  dk(  r#t        t        t        f«      rt        |g«      }nÓ|j                  dk(  r[t        t        «      rKt        |j                   «      dk(  r3t        |t        «      r#t        j"                  d«      |v rt        d	«       ni|j                  d
k(  rZt        t        «      rJt        |j                   «      dk(  r2t        |t        «      r"t        j"                  d«      |v rt        d«       t        t$        «      s+|j'                  | «      rt        |j)                  | «      «      }t        t*        «      rt-        j.                  | t0        |«      }t        |t$        «      rt        |t        «      s#t        dt3        |«      › dt3        |«      › �«       |j5                  «       }| j7                  ||j                   |«       y )Nr   r   ÚCALL_FUNCTION_EXrý   rc  ÚviewÚrandom_Úfromz&random_ op is called with from keywordÚuniform_z'uniform_ op is called with from keywordznon-static call ú )ró   rP   r  r)   rñ   rò   rï   r`   r^   Úobjrg   rž  rŒ  rL   r\   r¦   r†  rô   rX   Úhas_force_unpack_var_sequenceÚforce_unpack_var_sequencerk   rK   Úcall_custom_dictrµ   rG   Úkeys_as_python_constantrÕ   )rŠ   r„   Ú
kwargsvarsÚargsvarsÚnullrÐ   s         ry   rÑ  z*InstructionTranslatorBase.CALL_FUNCTION_EXD  s_  € ð �;‰;˜!ÒÜ*¨2Ó.ˆJØ—x‘x“z‰HØ�[‰[˜AÒØŸ™›ˆJØ—x‘x“z‰HäÐ,Ô-ä×Ñ˜wÒ&à—8‘8“:ˆDÜ˜d¤LÔ1Ð1Ð1à�X‰X‹Zˆä×Ñ˜wÒ&¬3×+;Ñ+;¸gÒ+EØ—8‘8“:ˆDÜ˜d¤LÔ1Ð1Ð1ä�bœ/Õ*¬z¸"¿&¹&Ä.Õ/Qà#×+Ñ+Ó-ˆJØ�w‰w˜&Ò ¤ZØÔ+¬^Ð<ô&ô )¨(¨Ó4‘à—‘˜9Ò$Ü˜x¬Ô7Ü˜Ÿ™Ó'¨1Ò,Ü˜zÔ+<Ô=Ü$×+Ñ+¨FÓ3°zÑAô ÐFÕGà—‘˜:Ò%Ü˜x¬Ô7Ü˜Ÿ™Ó'¨1Ò,Ü˜zÔ+<Ô=Ü$×+Ñ+¨FÓ3°zÑAô ÐGÔHäØÔ&ô
à×4Ñ4°TÔ:Ü$ X×%GÑ%GÈÓ%MÓNˆHô �jÔ";Ô<Ü(×9Ñ9¸$ÄÀjÓQˆJä˜(Ô$4Ô5¼ZØÔ)ô>
ô Ð,¬W°XÓ->Ð,?¸qÄÈÓATÐ@UÐVÔWð  ×7Ñ7Ó9ˆ
Ø×Ñ˜2˜xŸ~™~¨zÕ:r{   c                 óœ  — | j                  «       }| j                  |j                  «      }| j                  «       }t        |t        «      r|j                  «       sJ ‚|j                  «       }|d t        |«        |t        |«       d  }}t        t        ||«      «      }t        |«      t        |«      k(  sJ ‚| j                  |||«       y rr   )r  rÖ   ró   rï   r\   r  r  r¦   rµ   ÚziprÕ   )rŠ   r„   Úargnamesrw   rÐ   Úkwargs_listrº  s          ry   ÚCALL_FUNCTION_KWz*InstructionTranslatorBase.CALL_FUNCTION_KW’  s±   € à—8‘8“:ˆØ�y‰y˜Ÿ™Ó%ˆØ�X‰X‹ZˆÜ˜(¤MÔ2°x×7RÑ7RÔ7TÐTÐTØ×.Ñ.Ó0ˆØ Ð!1¤C¨£M >Ð2°D¼#¸h»-¸Ð9IÐ4JˆkˆÜ”c˜( KÓ0Ó1ˆÜ�6‹{œc (›mÒ+Ð+Ð+Ø×Ñ˜2˜t VÕ,r{   c                 óR  — | j                  t        j                  |d¬«      «       |j                  d   }| j                  d   |   }t
        j                  dk  r'| j                  t        j                  ||¬«      «       y | j                  t        j                  ||¬«      «       y )Nré  rf  r   Úco_namesrc  )	ré   r®   r  ró   rP  rñ   rò   rr  ÚLOAD_METHOD©rŠ   r„   ro  ró   s       ry   ÚLOAD_METHOD_SUPERz+InstructionTranslatorBase.LOAD_METHOD_SUPERž  s�   € Ø×Ñœ;×.Ñ.¨t¸AÔ>Ô?Ø�k‰k˜!‰nˆØ×"Ñ" :Ñ.¨sÑ3ˆÜ×Ñ˜gÒ%Ø�O‰OœK×/Ñ/°¸VÔDÕEà×Ñœ[×0Ñ0°¸fÔEÕFr{   c                 óÞ   — | j                  t        j                  |d¬«      «       |j                  d   }| j                  d   |   }| j                  t        j                  ||¬«      «       y )Nré  rf  r   rå  )ré   r®   r  ró   rP  rr  rç  s       ry   ÚLOAD_ATTR_SUPERz)InstructionTranslatorBase.LOAD_ATTR_SUPER§  sX   € Ø×Ñœ;×.Ñ.¨t¸AÔ>Ô?Ø�k‰k˜!‰nˆØ×"Ñ" :Ñ.¨sÑ3ˆØ�‰œ×+Ñ+¨D¸Ô@ÕAr{   c                 ób  — | j                  |«       | j                  «       }t        j                  dk\  r#| j	                  |«       | j                  |«       y t        j                  dk\  r#| j                  |«       | j	                  |«       y | j	                  |«       | j	                  d «       y )Nrý   rc  )rr  r  rñ   rò   rÔ   r?  ©rŠ   r„   r×  s      ry   ræ  z%InstructionTranslatorBase.LOAD_METHOD­  s{   € Ø�‰˜ÔØ�h‰h‹jˆÜ×Ñ˜wÒ&Ø�I‰I�cŒNØ�N‰N˜4Õ Ü×Ñ Ò(ð �N‰N˜4Ô Ø�I‰I�c�Nà�I‰I�cŒNØ�I‰I�d�Or{   c                 ó¨   — | j                  |j                  «      }| j                  «       }|�J ‚| j                  «       }| j                  ||i «       y rr   rÏ  )rŠ   r„   rw   ÚdummyrÐ   s        ry   ÚCALL_METHODz%InstructionTranslatorBase.CALL_METHOD½  sF   € Ø�y‰y˜Ÿ™Ó%ˆØ—‘“
ˆØˆ}Ðˆ}Ø�X‰X‹ZˆØ×Ñ˜2˜t RÕ(r{   c                 óÄ   — | j                  «       }t        t        «      j                  | |t	        j
                  |j                  «      gi «      }| j                  |«       y rr   )r  rK   r‡  rÕ   rL   rô   ró   rÔ   )rŠ   r„   r×  r8  s       ry   rr  z$InstructionTranslatorBase._load_attrÄ  sL   € Ø�h‰h‹jˆÜ ¤Ó)×7Ñ7Ø�3Ô(×/Ñ/°·±Ó<Ð=¸ró
ˆð 	�	‰	�&Õr{   c                 óŽ   — t         j                  dk\  r!|j                  dz  r| j                  |«       y | j	                  |«       y )Nrg  ré  )rñ   rò   ro  ræ  rr  rî  s     ry   Ú	LOAD_ATTRz#InstructionTranslatorBase.LOAD_ATTRË  s8   € Ü×Ñ˜wÒ&Ø�x‰x˜!Š|Ø× Ñ  Ô&ØØ�‰˜Õr{   c                 ój  — | j                  «       }|j                  r| j                  |«      S | j                  d«      \  }}t	        |t
        «      r1t	        |t        «      s!| j                  rJ d|j                  › d�«       ‚	 t        t        «      j                  | |t        j                  |j                  «      |gi «       y # t        $ rS}| j                  «       s‚ t        j!                  dd¬«       |j#                  «        |j%                  d«       Y d }~nd }~ww xY w|j'                  «        y )Nré  zMutating module attribute z during export.zSTORE_ATTR triggered compileTrG  rI  )rJ  r…   Ústore_attr_graph_breakrÖ   rï   rc   rL   Úexportró   rK   ÚsetattrrÕ   rô   r*   r   r¾   r  rL  rY  r‹   )rŠ   r„   rZ  rÿ  r×  r>  s         ry   Ú
STORE_ATTRz$InstructionTranslatorBase.STORE_ATTRÒ  s
  € Ø—n‘nÓ&ˆØ×ÒØ×.Ñ.¨tÓ4Ð4Ø—9‘9˜Q“<‰ˆˆSä�cÔ+Ô,´ZÀÔEUÔ5Vð —K’KðIà+¨D¯K©K¨=¸ÐHóIØð
	*ÜœGÓ$×2Ñ2Ø�sÔ,×3Ñ3°D·K±KÓ@À#ÐFÈôð øÜò 	*Ø×4Ñ4Ô6ØÜ�I‰IÐ4¸tˆIÔDØ×ÑÔ!Ø�N‰N˜=×)Ñ)ûð	*úð 	×-Ñ-Õ/s   ÂA C Ã	D!ÃA	DÄD!c                 óŽ  — | j                  «       st        d«       | j                  j                  | t	        d| j                  «       g«      ¬«       | j                  j                  t        j                  |«      g«       | j                  d«       | j                  j                  | j                  | j                  «      «       y )Nrú   Ú
store_attrrü   ré  )r   r)   r  r  r.   r  r  rp  rÖ   r	  r
  rî  s     ry   rô  z0InstructionTranslatorBase.store_attr_graph_breakì  s—   € Ø×0Ñ0Ô2ÜÐ>Ô?Ø�‰×$Ñ$ØÔ+¨L¸4×;MÑ;MÓ;OÐ:PÓQð 	%ô 	
ð 	�‰×+Ñ+¬T¯Y©Y°t«_Ð,=Ô>Ø�	‰	�!ŒØ�‰×+Ñ+Ø×&Ñ& t×'<Ñ'<Ó=õ	
r{   c                 ó¢   — | j                  «       }t        t        «      j                  | |t	        j
                  |j                  «      gi «       y rr   )r  rK   ÚdelattrrÕ   rL   rô   ró   rì  s      ry   ÚDELETE_ATTRz%InstructionTranslatorBase.DELETE_ATTRø  s<   € Ø�h‰h‹jˆÜœÓ ×.Ñ.Ø�3Ô(×/Ñ/°·±Ó<Ð=¸rõ	
r{   c                 ó0   — t        dt        | «      › �«      ‚)Nz1create_call_resume_at not overridden by subclass ©ræ   r²  ©rŠ   r¨  s     ry   r	  z/InstructionTranslatorBase.create_call_resume_atþ  s   € ÜØ?ÄÀTÃ
¸|ÐLó
ð 	
r{   c                 ó0   — t        dt        | «      › �«      ‚)Nz8should_compile_partial_graph not overridden by subclass rþ  rœ   s    ry   r   z6InstructionTranslatorBase.should_compile_partial_graph  s   € ÜØFÄtÈDÃzÀlÐSó
ð 	
r{   r   c                 óZ   — | j                  d«      \  }}}|j                  | d||gi «      }y )Nrã   Ú__setitem__©rÖ   Úcall_method)rŠ   r„   rÿ  r×  Úkeyr8  s         ry   ÚSTORE_SUBSCRz&InstructionTranslatorBase.STORE_SUBSCR  s-   € àŸ	™	 !›‰ˆˆS�#Ø—‘  }°s¸C°jÀ"ÓE‰r{   c                 óV   — | j                  d«      \  }}|j                  | d|gi «       y )Nré  Ú__delitem__r  )rŠ   r„   r×  r  s       ry   ÚDELETE_SUBSCRz'InstructionTranslatorBase.DELETE_SUBSCR  s'   € Ø—9‘9˜Q“<‰ˆˆSØ�‰˜˜m¨c¨U°BÕ7r{   c                 óâ   — d }t         j                  dk\  r#t        | j                  |j                   d  «      }| j                  |j                  «      }| j                  t        |«      |¬«       y )Nrý   r  )rñ   rò   rÊ   r  ró   rÖ   rÔ   r\   )rŠ   r„   Ú
name_tupler†  s       ry   ÚBUILD_TUPLEz%InstructionTranslatorBase.BUILD_TUPLE  sW   € Øˆ
Ü×Ñ˜wÒ&Ü˜tŸ™°·±¨|¨~Ð>Ó?ˆJØ—	‘	˜$Ÿ+™+Ó&ˆØ�	‰	”- Ó&¨Zˆ	Õ8r{   c                 ón   — | j                  |j                  «      }| j                  t        |«      «       y rr   )rÖ   ró   rÔ   r[   ©rŠ   r„   r†  s      ry   ÚBUILD_SLICEz%InstructionTranslatorBase.BUILD_SLICE  s%   € Ø—	‘	˜$Ÿ+™+Ó&ˆØ�	‰	”- Ó&Õ'r{   c                 ó‚   — | j                  |j                  «      }| j                  t        |t	        «       ¬«      «       y ©N©Úmutable_local)rÖ   ró   rÔ   rZ   rF   r  s      ry   Ú
BUILD_LISTz$InstructionTranslatorBase.BUILD_LIST  s)   € Ø—	‘	˜$Ÿ+™+Ó&ˆØ�	‰	”,˜u´L³NÔCÕDr{   c                 ó¼   — t         j                  rt        d«       | j                  |j                  «      }t        |t        «       ¬«      }| j                  |«       y )Nzmissing: BUILD_SETr  )r   Ú+inject_BUILD_SET_unimplemented_TESTING_ONLYr)   rÖ   ró   rQ   rF   rÔ   )rŠ   r„   r†  Únew_sets       ry   Ú	BUILD_SETz#InstructionTranslatorBase.BUILD_SET   s@   € Ü×=Ò=ÜÐ.Ô/Ø—	‘	˜$Ÿ+™+Ó&ˆÜ˜e´<³>ÔBˆØ�	‰	�'Õr{   c                 ó
  — | j                  |j                  «      }g }|D ]#  }	 |j                  |j                  | «      «       Œ% | j                   ||t        «       ¬«      «       y # t        $ r t        d|› �«       Y Œaw xY w)NzBUILD_LIST_UNPACK r  )rÖ   ró   ÚextendrÙ  ÚNotImplementedErrorr)   rÔ   rF   )rŠ   r„   r‹  Úseqsr†  Úseqs         ry   ÚBUILD_LIST_UNPACKz+InstructionTranslatorBase.BUILD_LIST_UNPACK'  s|   € Ø�y‰y˜Ÿ™Ó%ˆØˆØò 	:ˆCð:Ø—‘˜S×:Ñ:¸4Ó@ÕAð	:ð
 	�	‰	‘#�e¬<«>Ô:Õ;øô 'ò :ÜÐ 2°3°%Ð8Ö9ð:ús   ¤ A(Á(BÂBc                 ó2   — | j                  |t        ¬«       y )N)r‹  )r  r\   rî  s     ry   ÚBUILD_TUPLE_UNPACKz,InstructionTranslatorBase.BUILD_TUPLE_UNPACK1  s   € Ø×Ñ˜t¬ÐÕ7r{   c           	      óÊ   — | j                  |j                  dz  «      }t        t        |d d d…   |dd d…   «      «      }| j	                  t        |t        «       ¬«      «       y )Nré  r   r  )rÖ   ró   rµ   rà  rÔ   rP   rF   )rŠ   r„   r†  Úds       ry   Ú	BUILD_MAPz#InstructionTranslatorBase.BUILD_MAP6  sQ   € Ø—	‘	˜$Ÿ+™+¨™/Ó*ˆÜ”�U™3˜Q˜3‘Z  q t¨! t¡Ó-Ó.ˆØ�	‰	Ô# A´\³^ÔDÕEr{   c                 óT  — | j                  |j                  «      }|D �cg c]#  }t        t        «      j	                  | |gi «      ‘Œ% }}i }|D ]/  }t        |t        «      sJ ‚|j                  |j                  «       Œ1 | j                  t        |t        «       ¬«      «       y c c}w r  )rÖ   ró   rK   rµ   rÕ   rï   rP   Úupdater†  rÔ   rF   )rŠ   r„   r†  r<  r8  s        ry   ÚBUILD_MAP_UNPACKz*InstructionTranslatorBase.BUILD_MAP_UNPACK;  s–   € Ø—	‘	˜$Ÿ+™+Ó&ˆàMRÖSÈ”¤Ó&×4Ñ4°T¸A¸3ÀÕCÐSˆÐSØˆØò 	#ˆAÜ˜aÔ!2Ô3Ð3Ð3Ø�M‰M˜!Ÿ'™'Õ"ð	#ð 	�	‰	ÜØÜ*›nôõ	
ùò Ts    (B%c           
      ód  — | j                  «       }| j                  |j                  «      }t        |t        «      sJ ‚|j                  «       sJ ‚|j                  | «      }t        |«      t        |«      k(  sJ ‚| j                  t        t        t        ||«      «      t        «       ¬«      «       y r  )r  rÖ   ró   rï   r\   r  rÙ  r¦   rÔ   rP   rµ   rà  rF   )rŠ   r„   ÚkeysrÃ  s       ry   ÚBUILD_CONST_KEY_MAPz-InstructionTranslatorBase.BUILD_CONST_KEY_MAPL  s�   € Ø�x‰x‹zˆØ—‘˜4Ÿ;™;Ó'ˆÜ˜$¤Ô.Ð.Ð.Ø×&Ñ&Ô(Ð(Ð(à×-Ñ-¨dÓ3ˆÜ�4‹yœC ›KÒ'Ð'Ð'à�	‰	ÜÜ”S˜˜vÓ&Ó'Ü*›nôõ	
r{   c                 óî   — | j                  d«      \  }}|j                  dkD  sJ ‚| j                  |j                      j	                  «       }t        |t        «      sJ ‚|j                  | d||fi «       y )Nré  r   r  )rÖ   ró   r™  ro  rž  rï   rP   r  )rŠ   r„   r·  r¸  r×  s        ry   ÚMAP_ADDz!InstructionTranslatorBase.MAP_ADD\  sg   € Ø�y‰y˜‹|‰ˆˆ1Ø�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#×+Ñ+Ó-ˆÜ˜#Ô0Ô1Ð1Ð1Ø�‰˜˜m¨a°¨V°RÕ8r{   c                 óâ   — | j                  «       }|j                  dkD  sJ ‚| j                  |j                      }t	        |t
        «      sJ ‚|j                  sJ ‚|j                  | d|gi «      S )Nr   rU  ©r  ró   r™  ro  rï   rQ   r  r  ©rŠ   r„   r¸  r×  s       ry   ÚSET_ADDz!InstructionTranslatorBase.SET_ADDc  sg   € Ø�H‰H‹JˆØ�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#ˆÜ˜#œ{Ô+Ð+Ð+Ø× Ò Ð Ð Ø�‰˜t U¨Q¨C°Ó4Ð4r{   c                 óä   — | j                  «       }|j                  dkD  sJ ‚| j                  |j                      }t	        |t
        «      sJ ‚|j                  sJ ‚|j                  | d|gi «       y ©Nr   r%  r-  r.  s       ry   Ú
SET_UPDATEz$InstructionTranslatorBase.SET_UPDATEk  sd   € Ø�H‰H‹JˆØ�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#ˆÜ˜#œ{Ô+Ð+Ð+Ø× Ò Ð Ð Ø�‰˜˜h¨¨¨RÕ0r{   c                 óV  — | j                  «       }|j                  dkD  sJ ‚| j                  |j                      j	                  «       }t        |t        «      sJ ‚|j                  sJ ‚| j                  j                  j                  |«       |j                  j                  |«       y r›   )r  ró   r™  ro  rž  rï   rZ   r  r  r´  Úmutationr†  r§   r.  s       ry   ÚLIST_APPENDz%InstructionTranslatorBase.LIST_APPENDs  sƒ   € Ø�H‰H‹JˆØ�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#×+Ñ+Ó-ˆÜ˜#œ|Ô,Ð,Ð,Ø× Ò Ð Ð Ø�‰× Ñ ×)Ñ)¨#Ô.Ø�	‰	×Ñ˜Õr{   c                 óŒ  — |j                   }t        | j                  «      }t        j                  dk  r| j                  «       }| j                  «       }t        j                  dk\  rBt        |j                  d«      sJ ‚t        j                  |j                  j                  ¬«      }d }d }d }d }	t        j                  dk  rT|dz  r| j                  «       }|dz  r| j                  «       }|dz  r| j                  «       }	|dz  r| j                  «       }| j                  t        || j                  ||	||| ¬	«      «       y )
Nrc  Úco_qualnamer)  rý   é   é   ré  r   )Úclosure_scope)ro  r°   r™  rñ   rò   r  rÉ   r  rL   rô   r7  rÔ   rS   r.  )
rŠ   r„   ÚflagsÚ	old_stackÚfn_nameÚcodeÚdefaultsÚclosureÚannotationsÚ
kwdefaultss
             ry   ÚMAKE_FUNCTIONz'InstructionTranslatorBase.MAKE_FUNCTION|  s  € Ø—‘ˆÜ˜Ÿ™Ó$ˆ	Ü×Ñ˜gÒ%Ø—h‘h“jˆGØ�x‰x‹zˆÜ×Ñ˜wÒ&ô ˜4Ÿ:™: }Ô5Ð5Ð5Ü&×-Ñ-°D·J±J×4JÑ4JÔKˆGØˆØˆØˆØˆ
ä×Ñ˜gÒ%à�tŠ|ØŸ(™(›*�Ø�tŠ|Ø"Ÿh™h›j�Ø�tŠ|Ø!ŸX™X›Z�
Ø�tŠ|ØŸ8™8›:�à�	‰	Ü&ØØØ—‘ØØØØØ"ô	õ	
r{   c                 ó–  — | j                  «       }t        |t        «      r'|j                  | t	        |j
                  «      ¬«      }n¹t        |t        «      rxt        |j                  t        «      r^t        |j                  j                  «       |j                  «      }t	        |j
                  «      D �cg c]  }t        | ||   «      ‘Œ }}n1|j                  | «      r|j                  | «      }nt        d|› �«       t        «      |j
                  k7  rt        d«       t!        |«      D ]  }| j#                  |«       Œ y c c}w )N)ÚidxeszUNPACK_SEQUENCE zUNPACK_SEQUENCE length mismatch)r  rï   rg   r/  rv  ró   r^   r×  r‡  Úas_proxyrŒ  rJ   rØ  rÙ  r)   r¦   rt   rÔ   )rŠ   r„   r  rÿ  Úproxyr�  s         ry   ÚUNPACK_SEQUENCEz)InstructionTranslatorBase.UNPACK_SEQUENCE¤  sû   € Ø�h‰h‹jˆÜ�cœ>Ô*Ø×)Ñ)¨$´e¸D¿K¹KÓ6HÐ)ÓI‰CÜ˜œ_Ô-´*¸S¿W¹WÄnÔ2Uä˜CŸG™G×,Ñ,Ó.°·±Ó9ˆEÜ:?ÀÇÁÓ:LÖM°Q”=  u¨Q¡xÕ0ÐMˆCÑMØ×.Ñ.¨tÔ4Ø×/Ñ/°Ó5‰CäÐ,¨S¨EÐ2Ô3Üˆs‹8�t—{‘{Ò"ÜÐ;Ô<Ü˜#“ò 	ˆAØ�I‰I�a�Lñ	ùò Ns   Â7Ec                 ó4  — d|j                   cxk  rdk  sJ ‚ J ‚|j                   dz  }|j                   dz	  }| j                  «       }|j                  | «      r±t        |j	                  | «      «      }t        |«      ||z   k\  sJ ‚|d | }||t        |«      |z
   }|t        |«      |z
  d  }t        |«      D ]  }	| j                  |	«       Œ | j                  t        |«      «       t        |«      D ]  }	| j                  |	«       Œ y t        d|› �«       y )Nr   iÿÿ  éÿ   r8  z
UNPACK_EX )
ró   r  rØ  r°   rÙ  r¦   rt   rÔ   r\   r)   )
rŠ   r„   ÚprefixÚsuffixr  r  Úvals_prefixÚ	vals_listÚvals_suffixÚitems
             ry   Ú	UNPACK_EXz#InstructionTranslatorBase.UNPACK_EXµ  s  € Ø�D—K‘KÔ) 6Ò)Ð)Ñ)Ð)Ð)Ø—‘˜tÑ#ˆØ—‘ Ñ!ˆØ�h‰h‹jˆØ×,Ñ,¨TÔ2Ü˜×5Ñ5°dÓ;Ó<ˆDÜ�t“9 ¨¡Ò/Ð/Ð/Ø˜w ˜-ˆKØ˜V¤c¨$£i°&Ñ&8Ð9ˆIØœs 4›y¨6Ñ1Ð3Ð4ˆKÜ  Ó-ò  �Ø—	‘	˜$•ð à�I‰I”m IÓ.Ô/Ü  Ó-ò  �Ø—	‘	˜$•ñ ô ˜J s eÐ,Õ-r{   c                  ó   — y rr   r“   rî  s     ry   rë  zInstructionTranslatorBase.NOPÈ  ó   € Ør{   c                 ó$   — | j                  «        y rr   ©r  rî  s     ry   ÚPOP_TOPz!InstructionTranslatorBase.POP_TOPË  ó   € Ø�‰�
r{   c                 óˆ   — | j                  «       }| j                  «       }| j                  |«       | j                  |«       y rr   ©r  rÔ   ©rŠ   r„   Úary  s       ry   ÚROT_TWOz!InstructionTranslatorBase.ROT_TWOÎ  s.   € Ø�H‰H‹JˆØ�H‰H‹JˆØ�	‰	�!ŒØ�	‰	�!�r{   c                 óÊ   — | j                  «       }| j                  «       }| j                  «       }| j                  |«       | j                  |«       | j                  |«       y rr   rY  )rŠ   r„   r[  ry  Úcs        ry   Ú	ROT_THREEz#InstructionTranslatorBase.ROT_THREEÔ  sD   € Ø�H‰H‹JˆØ�H‰H‹JˆØ�H‰H‹JˆØ�	‰	�!ŒØ�	‰	�!ŒØ�	‰	�!�r{   c                 ó  — | j                  «       }| j                  «       }| j                  «       }| j                  «       }| j                  |«       | j                  |«       | j                  |«       | j                  |«       y rr   rY  )rŠ   r„   r[  ry  r^  r"  s         ry   ÚROT_FOURz"InstructionTranslatorBase.ROT_FOURÜ  sZ   € Ø�H‰H‹JˆØ�H‰H‹JˆØ�H‰H‹JˆØ�H‰H‹JˆØ�	‰	�!ŒØ�	‰	�!ŒØ�	‰	�!ŒØ�	‰	�!�r{   c                 óh   — | j                  «       }| j                  |«       | j                  |«       y rr   rY  )rŠ   r„   r[  s      ry   rq  z!InstructionTranslatorBase.DUP_TOPæ  s#   € Ø�H‰H‹JˆØ�	‰	�!ŒØ�	‰	�!�r{   c                 óÌ   — | j                  «       }| j                  «       }| j                  |«       | j                  |«       | j                  |«       | j                  |«       y rr   rY  rZ  s       ry   ÚDUP_TOP_TWOz%InstructionTranslatorBase.DUP_TOP_TWOë  sD   € Ø�H‰H‹JˆØ�H‰H‹JˆØ�	‰	�!ŒØ�	‰	�!ŒØ�	‰	�!ŒØ�	‰	�!�r{   c                 óØ  — |j                   }|dz  dk(  r| j                  «       }nt        j                  d«      }| j                  «       }t	        |t
        «      r>ddlm}m} |j                   |||«      |j                  ¬«      }| j                  |«       y |dz  dk(  r"t        t        «      j                  | |gi «      }nS|dz  dk(  r"t        t        «      j                  | |gi «      }n)|dz  dk(  r!t        t        «      j                  | |gi «      }t        j                  d	|j!                  «       z   d
z   «      }| j                  t        t        j"                  «      ||gi «       y )Nr9  r¢   r   )ÚLazySymNodeFormatStringÚLazyVariableTrackerre  rã   r   ré  ú{:ú})ro  r  rL   rô   rï   rf   Útorch._dynamo.variables.lazyrf  rg  r3  rÔ   rK   r�   rÕ   ÚreprÚasciir  Úformat)rŠ   r„   r;  Úfmt_specr  rf  rg  Úfmt_vars           ry   ÚFORMAT_VALUEz&InstructionTranslatorBase.FORMAT_VALUEó  s=  € Ø—‘ˆØ�D‰L˜TÒ!Ø—x‘x“z‰Hä'×.Ñ.¨rÓ2ˆHà—‘“
ˆÜ�eœ_Ô-÷ð
 (×.Ñ.Ù'¨¨xÓ8ÀÇÁð /ó ˆEð �I‰I�eÔØØ�D‰L˜TÒ!Ü#¤CÓ(×6Ñ6°t¸e¸WÀbÓI‰EØ�d‰l˜tÒ#Ü#¤DÓ)×7Ñ7¸¸u¸gÀrÓJ‰EØ�d‰l˜tÒ#Ü#¤EÓ*×8Ñ8¸À¸wÈÓKˆEä"×)Ñ)¨$°×1LÑ1LÓ1NÑ*NÐQTÑ*TÓUˆà×Ñœ?¬3¯:©:Ó6¸À%Ð8HÈ"ÕMr{   c                 óÜ  — g }g }i }| j                  |j                  «      D �]  }t        |t        «      r#|j	                  d«       |j	                  |«       Œ7t        |t
        j                  «      rª|j	                  |j                  «       |j                  |j                  «       t        |j                  «       «      t        |j                  j                  «       «      z  rt        d|› d|j                  › �«       |j                  |j                  «       Œût        d|› �«       �Œ | j                  t
        j                  j!                  dj#                  |«      ||«      «       y )Nz{}zBUILD_STRING key conflict z & zBUILD_STRING r¢   )rÖ   ro  rï   rL   r§   r   ÚStringFormatVariableÚformat_stringr  Úsym_argsr³  r(  Ú
sym_kwargsr)   r%  rÔ   rô   rV  )rŠ   r„   Úformat_string_partsrw   rº  Úparts         ry   ÚBUILD_STRINGz&InstructionTranslatorBase.BUILD_STRING  s  € Ø)+ÐØ&(ˆØ-/ˆØ—I‘I˜dŸh™hÓ'ó 	6ˆDÜ˜$Ô 0Ô1Ø#×*Ñ*¨4Ô0Ø—‘˜DÕ!Ü˜D¤)×"@Ñ"@ÔAØ#×*Ñ*¨4×+=Ñ+=Ô>Ø—‘˜DŸM™MÔ*Ü�v—{‘{“}Ó%¬¨D¯O©O×,@Ñ,@Ó,BÓ(CÒCÜ!Ø4°V°H¸CÀÇÁÐ?PÐQôð —‘˜dŸo™oÕ.ä ¨d¨VÐ4Ö5ð	6ð 	�	‰	Ü×*Ñ*×1Ñ1Ø—‘Ð+Ó,¨d°Fóõ	
r{   c                 ó¨   — |j                   dk(  s|j                   dk(  sJ ‚|j                   dk(  rd}nd}t        d|¬«      }| j                  |«       y )Nr   r   Úiszis notrÊ  rf  )ró   r   rÊ  )rŠ   r„   Ú
new_argvalÚnew_insts       ry   ÚIS_OPzInstructionTranslatorBase.IS_OP)  sM   € Ø�{‰{˜aÒ 4§;¡;°!Ò#3Ð3Ð3Ø�;‰;˜!ÒØ‰Jà!ˆJÜ% l¸:ÔFˆØ�‰˜Õ!r{   c                 óú   — |j                   dk(  s|j                   dk(  sJ ‚| j                  d«      \  }}|j                   }| j                  |j                  | d|gi «      «       |dk(  r| j	                  |«       y y )Nr   r   ré  Ú__contains__)ró   rÖ   rÔ   r  Ú	UNARY_NOT)rŠ   r„   ÚleftÚrightr�  s        ry   ÚCONTAINS_OPz%InstructionTranslatorBase.CONTAINS_OP2  sp   € Ø�{‰{˜aÒ 4§;¡;°!Ò#3Ð3Ð3Ø—i‘i “l‰ˆˆeØ�[‰[ˆØ�	‰	�%×#Ñ# D¨.¸4¸&À"ÓEÔFØ�Š7Ø�N‰N˜4Õ ð r{   c                 óä   — | j                  «       }|j                  dkD  sJ ‚| j                  |j                      }t	        |t
        «      sJ ‚|j                  sJ ‚|j                  | d|gi «       y )Nr   r  )r  ró   r™  ro  rï   rZ   r  r  r.  s       ry   ÚLIST_EXTENDz%InstructionTranslatorBase.LIST_EXTEND:  sd   € Ø�H‰H‹JˆØ�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#ˆÜ˜#œ|Ô,Ð,Ð,Ø× Ò Ð Ð Ø�‰˜˜h¨¨¨RÕ0r{   c                 ó€   — | j                  t        t        «      j                  | | j	                  «       gi «      «       y rr   )rÔ   rK   rÊ   rÕ   r  rî  s     ry   ÚLIST_TO_TUPLEz'InstructionTranslatorBase.LIST_TO_TUPLEB  s*   € Ø�	‰	”/¤%Ó(×6Ñ6°t¸d¿h¹h»j¸\È2ÓNÕOr{   c                 ó   — | j                  «       }|j                  dkD  sJ ‚| j                  |j                      j	                  «       }t        |t        «      sJ ‚|j                  sJ ‚|j                  | d|gi «       y r1  )	r  ró   r™  ro  rž  rï   rP   r  r  r.  s       ry   Ú
DICT_MERGEz$InstructionTranslatorBase.DICT_MERGEE  sn   € Ø�H‰H‹JˆØ�{‰{˜QŠÐˆØ�j‰j˜$Ÿ(™(˜Ñ#×+Ñ+Ó-ˆÜ˜#Ô0Ô1Ð1Ð1Ø× Ò Ð Ð Ø�‰˜˜h¨¨¨RÕ0r{   c                 ó$   — | j                  «        y rr   rU  rî  s     ry   Ú	GEN_STARTz#InstructionTranslatorBase.GEN_STARTO  rW  r{   c                 ó   — | j                   d   }|j                  «       r<| j                  t        j                  t        |j                  «       «      «      «       y | j                  |j                  | dg i «      «       y )NrD  r  )r™  r  rÔ   rL   rô   r¦   r  r  r–  s      ry   ÚGET_LENz!InstructionTranslatorBase.GET_LENR  s\   € Ø�j‰j˜‰nˆØ×!Ñ!Ô#Ø�I‰IÔ&×-Ñ-¬c°#×2HÑ2HÓ2JÓ.KÓLÕMà�I‰I�c—o‘o d¨I°r¸2Ó>Õ?r{   c                 ó4  — | j                   d   }t        |t        «      sJ ‚t        |j                  t        j
                  j                  «      r%| j                  t        j                  d«      «       y | j                  t        j                  d«      «       y ©NrD  TF)
r™  rï   rP   r†  ÚcollectionsÚabcÚMappingrÔ   rL   rô   r–  s      ry   ÚMATCH_MAPPINGz'InstructionTranslatorBase.MATCH_MAPPINGY  sh   € Ø�j‰j˜‰nˆÜ˜#Ô0Ô1Ð1Ð1Ü�c—i‘i¤§¡×!8Ñ!8Ô9Ø�I‰IÔ&×-Ñ-¨dÓ3Õ4à�I‰IÔ&×-Ñ-¨eÓ4Õ5r{   c                 óv  — | j                   d   }|j                  «       sJ ‚|j                  «       }t        |t        j
                  j                  «      r@t        |t        t        t        f«      s%| j                  t        j                  d«      «       y | j                  t        j                  d«      «       y r�  )r™  r  r  rï   r�  r‘  ÚSequencer�   ÚbytesÚ	bytearrayrÔ   rL   rô   )rŠ   r„   r—  Ú	tos_values       ry   ÚMATCH_SEQUENCEz(InstructionTranslatorBase.MATCH_SEQUENCEa  s‰   € Ø�j‰j˜‰nˆØ×%Ñ%Ô'Ð'Ð'Ø×*Ñ*Ó,ˆ	Ü�i¤§¡×!9Ñ!9Ô:Ä:ØœœU¤IÐ.ôD
ð �I‰IÔ&×-Ñ-¨dÓ3Õ4à�I‰IÔ&×-Ñ-¨eÓ4Õ5r{   c                 ó2  ‡— | j                   d   }| j                   d   Št        ‰t        «      sJ ‚t        ˆfd„|D «       «      rq| j	                  t        |D �cg c]  }‰j                  | |«      ‘Œ c}«      «       t        j                  dk  r%| j	                  t        j                  d«      «       y y | j	                  t        j                  d «      «       t        j                  dk  r%| j	                  t        j                  d«      «       y y c c}w )NrD  rê  c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wrr   r“   )r½  r·  Útos1s     €ry   r¾  z7InstructionTranslatorBase.MATCH_KEYS.<locals>.<genexpr>q  s   øè ø€ Ò&˜Qˆq�DŒyÑ&ùs   ƒrc  TF)r™  rï   rP   rÀ  rÔ   r\   Úgetitem_constrñ   rò   rL   rô   )rŠ   r„   r—  r·  rœ  s       @ry   Ú
MATCH_KEYSz$InstructionTranslatorBase.MATCH_KEYSl  sÛ   ø€ Ø�j‰j˜‰nˆØ�z‰z˜"‰~ˆÜ˜$Ô 1Ô2Ð2Ð2äÓ& #Ô&Ô&Ø�I‰I”mÈ#Ö$NÀQ T×%7Ñ%7¸¸aÕ%@Ò$NÓOÔPÜ×Ñ 'Ò)Ø—	‘	Ô*×1Ñ1°$Ó7Õ8ð *ð �I‰IÔ&×-Ñ-¨dÓ3Ô4Ü×Ñ 'Ò)Ø—	‘	Ô*×1Ñ1°%Ó8Õ9ð *ùò %Os   ÁDc                 ó&   — | j                  d«       y )Nræ   )ry  rî  s     ry   rç   z.InstructionTranslatorBase.LOAD_ASSERTION_ERRORz  s   € Ø×%Ñ%Ð&6Õ7r{   c                 óp   — |j                   dk(  r| j                  |«       d| _        y | j                  rJ ‚y )Nr   F)ro  Úappend_prefix_instr›  rî  s     ry   ÚRESUMEz InstructionTranslatorBase.RESUME¢  s5   € Ø�8‰8�qŠ=Ø×#Ñ# DÔ)Ø&+ˆDÕ#à×.Ò.Ð.Ð.Ð.r{   c                 ó4   — t        |j                     | |«      S rr   )Ú_binary_op_lookupro  rî  s     ry   Ú	BINARY_OPz#InstructionTranslatorBase.BINARY_OP«  s   € Ü$ T§X¡XÑ.¨t°TÓ:Ð:r{   c                  ó   — y rr   r“   rî  s     ry   rê   z!InstructionTranslatorBase.PRECALL®  rS  r{   c                 óä   — | j                   d   |j                     }t        |t        «      sJ ‚|D ]  }t        |t        «      rŒJ ‚ | j
                  �J ‚t        j                  |¬«      | _        y )NÚ	co_constsr)  )rP  ro  rï   rÊ   r�   rn  rL   rô   )rŠ   r„   rn  rŒ  s       ry   re  z"InstructionTranslatorBase.KW_NAMES±  sl   € Ø×$Ñ$ [Ñ1°$·(±(Ñ;ˆÜ˜(¤EÔ*Ð*Ð*Øò 	)ˆDÜ˜d¤CÕ(Ð(Ð(ð	)à�}‰}Ð$Ð$Ð$Ü(×/Ñ/°hÔ?ˆ�r{   c                 ó6   — | j                  t        «       «       y rr   )rÔ   r`   rî  s     ry   r?  z#InstructionTranslatorBase.PUSH_NULL¹  s   € Ø�	‰	”,“.Õ!r{   c                 óô  — |rXt         j                  dk\  sJ ‚| j                  «       }t        |t        «      r|j                  «       sJ ‚|j                  «       }n$| j                  r| j                  j                  nd}| j                  |j                  dz   «      }t         j                  dk\  r!|d   }t        |d   t        «      rg n|d   g}n&t        |d   t        «      r|d   }g }n|d   }|d   g}|rO||dt        |«        z   }|t        |«       d  }t        t        ||«      «      }t        |«      t        |«      k(  sJ ‚||dd  z   }i }	 | j                  |||«       d | _        y # d | _        w xY w)Nrý   r“   ré  r   r   )rñ   rò   r  rï   r\   r  r  rn  r  rÖ   ro  r`   r¦   rµ   rà  rÕ   )	rŠ   r„   Úcall_kwrn  ÚcontentsrÐ   rw   râ  rº  s	            ry   Ú_callzInstructionTranslatorBase._call¼  sn  € ñ ä×#Ñ# wÒ.Ð.Ð.Ø—x‘x“zˆHÜ˜h¬Ô6¸8×;VÑ;VÔ;XÐXÐXØ×2Ñ2Ó4‰Hà.2¯mªm�t—}‘}×*Ò*ÀˆHà—9‘9˜TŸX™X¨™\Ó*ˆÜ×Ñ˜wÒ&à˜!‘ˆBÜ# H¨Q¡K´Ô>‘2ÀXÈaÁ[ÀM‰Dä˜( 1™+¤|Ô4Ø˜a‘[�Ø‘à˜a‘[�Ø  ™�}�áØ˜( 1¬¨H« ~Ð6Ñ6ˆDØ"¤C¨£M >Ð#3Ð4ˆKÜœ#˜h¨Ó4Ó5ˆFÜ�v“;¤# h£-Ò/Ð/Ð/à˜( 1 2˜,Ñ&ˆDØˆFð	!ð ×Ñ˜r 4¨Ô0à ˆD�Mø˜DˆD�Mús   ÅE. Å.	E7c                 ó&   — | j                  |«       y rr   ©r­  rî  s     ry   rë   zInstructionTranslatorBase.CALLå  s   € à�
‰
�4Õr{   c                 óV   — | j                  | j                  |j                      «       y rr   )rÔ   r™  ro  rî  s     ry   ÚCOPYzInstructionTranslatorBase.COPYé  s   € Ø�	‰	�$—*‘*˜dŸh™h˜YÑ'Õ(r{   c                 ó¢   — | j                   |j                      | j                   d   c| j                   d<   | j                   |j                   <   y r¹  )r™  ro  rî  s     ry   ÚSWAPzInstructionTranslatorBase.SWAPì  s=   € Ø04·
±
¸D¿H¹H¸9Ñ0EÀtÇzÁzÐRTÁ~Ð-ˆ�
‰
�2‰˜Ÿ
™
 D§H¡H 9Ò-r{   c                  ó   — y rr   r“   rî  s     ry   ÚCACHEzInstructionTranslatorBase.CACHE÷  rS  r{   c                 ó&   — | j                  |«       y rr   r†  rî  s     ry   ÚBEFORE_WITHz%InstructionTranslatorBase.BEFORE_WITHú  r‰  r{   c           	      ó„  — | j                  «       }t        |t        t        f«      st	        |j
                  › d|› �«       t        |t        «      r| xj                  dz  c_        t        |t        t        f«      sJ ‚t        ||j                  «      }t        j                  dk\  rk|j                  r>| j                  r/|j                  j                  | j                  d   j                  urd }n-| j                  j                  j                  }n|j                  }|rpt        | t        «      r;| j                  j                  t!        ||t#        | j$                  «      |«      «       n%| j                  j                  t!        ||«      «       | j'                  |«       | j'                  |j)                  | «      «       y )NrÖ  r   rc  rD  )r  rï   rM   rN   r)   r¨   rK  rO   rÂ   rñ   rò   rq  ri  r
  rÒ   r§   rÁ   r¦   r™  rÔ   Úenter)rŠ   r„   ÚctxrÍ   rÂ   s        ry   r‡  z.InstructionTranslatorBase.setup_or_before_withý  sn  € Ø�h‰h‹jˆÜØÔ)Ô+IÐJô
ô ˜TŸ[™[˜M¨¨3¨%Ð0Ô1ä�cÔ9Ô:Ø×.Ò.°!Ñ3Õ.ô ØÔ)Ô+IÐJô
ð 	
ð 
ô (ØØ�K‰Kó
ˆô
 ×Ñ˜wÒ&ð
 ×!Ò!Ø×$Ò$Ø×%Ñ%×,Ñ,°D×4DÑ4DÀRÑ4H×4OÑ4OÑOà‘à×.Ñ.×<Ñ<×CÑC‘à—[‘[ˆFáÜ˜$Ô 5Ô6Ø× Ñ ×'Ñ'Ü# D¨&´#°d·j±j³/À3ÓGõð × Ñ ×'Ñ'¬¸¸fÓ(EÔFà�	‰	�$ŒØ�	‰	�#—)‘)˜D“/Õ"r{   c                 óV   — | j                   sJ ‚| j                  j                  |«       y rr   )r›  rœ  r§   rî  s     ry   r¡  z,InstructionTranslatorBase.append_prefix_inst+	  s%   € Ø×&Ò&Ð&Ð&Ø×Ñ× Ñ  Õ&r{   c                 ó.  — t         j                  dk\  rq| j                  set        | j                  |j
                     t        «      sJ ‚| j                  j                  j                  «       | j                  |j
                  <   y | j                  |«       y r�  )rñ   rò   r›  rï   r–  ró   r`   r  r´  Útrack_cell_newr¡  rî  s     ry   Ú	MAKE_CELLz#InstructionTranslatorBase.MAKE_CELL/	  sx   € Ü×Ñ˜wÒ&¨t×/FÒ/Fô ˜d×2Ñ2°4·;±;Ñ?ÄÔNÐNÐNð —‘×(Ñ(×7Ñ7Ó9ð × Ñ Ø—‘òð ×#Ñ# DÕ)r{   c                 ó&   — | j                  |«       y rr   ©r¡  rî  s     ry   ÚCOPY_FREE_VARSz(InstructionTranslatorBase.COPY_FREE_VARS:	  ó   € Ø×Ñ Õ%r{   c                 ó&   — | j                  |«       y rr   rÀ  rî  s     ry   ÚRETURN_GENERATORz*InstructionTranslatorBase.RETURN_GENERATOR=	  rÂ  r{   c                 ón   — t         j                  dk\  r| j                  «        y | j                  d«       y )Nrý   ré  )rñ   rò   r  rÖ   rî  s     ry   ÚEND_FORz!InstructionTranslatorBase.END_FORD	  s$   € Ü×Ñ˜wÒ&Ø�H‰H�Jà�I‰I�a�Lr{   c                 óŠ   — t        | j                  |j                     t        «      rt	        d«       | j                  |«       y )Nz)LOAD_FAST_CHECK on uninitialized variable)rï   r–  ró   r`   r)   r  rî  s     ry   ÚLOAD_FAST_CHECKz)InstructionTranslatorBase.LOAD_FAST_CHECKJ	  s0   € Ü�d×*Ñ*¨4¯;©;Ñ7¼ÔFÜÐEÔFØ�‰�tÕr{   c                 óÌ   — |j                   | j                  vr| j                  t        «       «       n| j	                  |«       t        «       | j                  |j                   <   y rr   )ró   r–  rÔ   r`   r  rî  s     ry   ÚLOAD_FAST_AND_CLEARz-InstructionTranslatorBase.LOAD_FAST_AND_CLEARO	  sD   € Ø�;‰;˜d×2Ñ2Ñ2Ø�I‰I”l“nÕ%à�N‰N˜4Ô Ü,8«Nˆ×Ñ˜TŸ[™[Ò)r{   c                 ó´   — | j                  t        j                  |d¬«      «       |j                  dz  r| j	                  |«       y | j                  |«       y )Nré  rf  r   )ré   r®   r  ro  ræ  rr  rî  s     ry   ÚLOAD_SUPER_ATTRz)InstructionTranslatorBase.LOAD_SUPER_ATTRV	  sB   € Ø×Ñœ;×.Ñ.¨t¸AÔ>Ô?Ø�8‰8�aŠ<Ø×Ñ˜TÕ"à�O‰O˜DÕ!r{   c                 ó  — |j                   dk(  r| j                  |«       y |j                   dk(  r8| j                  t        | j	                  «       j                  | «      «      «       y t        d|j                   › �«       y )Né   é   z!missing CALL_INTRINSIC_1 operand )ró   ÚUNARY_POSITIVErÔ   r\   r  rÙ  r)   rî  s     ry   ÚCALL_INTRINSIC_1z*InstructionTranslatorBase.CALL_INTRINSIC_1]	  s^   € Ø�;‰;˜!Òà×Ñ Õ%Ø�[‰[˜AÒà�I‰I”m D§H¡H£J×$HÑ$HÈÓ$NÓOÕPäÐ=¸d¿k¹k¸]ÐKÕLr{   c                 óf   — | j                  «       }| j                  «        | j                  |«       y rr   rY  r–  s      ry   ÚEND_SENDz"InstructionTranslatorBase.END_SENDg	  s!   € Ø�h‰h‹jˆØ�‰Œ
Ø�	‰	�#�r{   c                 ó*   — | j                  |d¬«       y )NT)r«  r¯  rî  s     ry   ÚCALL_KWz!InstructionTranslatorBase.CALL_KWo	  s   € à�
‰
�4 ˆ
Õ&r{   c                 ó8   — | j                   j                  dv sJ ‚y )N)ÚPOP_JUMP_IF_TRUEÚPOP_JUMP_IF_FALSEr€  )r
  r¨   rî  s     ry   rÿ   z!InstructionTranslatorBase.TO_BOOLs	  s'   € ð ×$Ñ$×+Ñ+ð 0
ñ 
ð 	
ñ 
r{   c                 óÒ  — |j                   }| j                  «       }t        |t        «      sJ ‚| j                  d   }| j                  «       }|dz  rYt        |t
        «      rt        d„ |D «       «      sJ ‚t        |D �cg c]  }| j                  |«      ‘Œ c}«      |_	        | |_
        n&|dz  r||_        n|dz  r||_        n|dz  r||_        | j                  |«       y c c}w )NrD  r8  c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrr   )rï   r�   )r½  rŒ  s     ry   r¾  zCInstructionTranslatorBase.SET_FUNCTION_ATTRIBUTE.<locals>.<genexpr>Š	  s   è ø€ ò 9Ø*.”
˜4¤×%ñ9ùr¿  r9  ré  r   )ro  r  rï   rS   r  rÊ   rÀ  r\   r  r@  r:  rA  rB  r?  rÔ   )rŠ   r„   r;  rÐ   Ú
attr_namesÚattrrŒ  s          ry   ÚSET_FUNCTION_ATTRIBUTEz0InstructionTranslatorBase.SET_FUNCTION_ATTRIBUTE}	  sÝ   € Ø—‘ˆØ�X‰X‹ZˆÜ˜"Ô8Ô9Ð9Ð9Ø—_‘_ RÑ(ˆ
Ø�x‰x‹zˆà�4Š<ô ˜j¬%Ô0´Sñ 9Ø2<ô9ô 6ð ð ô 'Ø6@ÖA¨d�×#Ñ# DÕ)ÒAóˆBŒJð  $ˆBÕØ�TŠ\Ø!ˆB�NØ�TŠ\Ø ˆB�MØ�TŠ\ØˆBŒKà�	‰	�"�ùò Bs   Â C$c                 ó>  — | j                  «       }t        |t        «      r(t        j                  t        |j                  «      «      }t        j                  d|j                  «       z   dz   «      }| j                  t        t
        j                  «      ||gi «       y )Nrh  ri  )r  rï   rf   rL   rô   r�   r!  r  rÕ   rK   rm  )rŠ   rn  r  ro  s       ry   Ú_format_value_313z+InstructionTranslatorBase._format_value_313š	  st   € Ø—‘“
ˆÜ�eœ_Ô-Ü$×+Ñ+¬C°·±Ó,>Ó?ˆEä"×)Ñ)¨$°×1LÑ1LÓ1NÑ*NÐQTÑ*TÓUˆà×Ñœ?¬3¯:©:Ó6¸À%Ð8HÈ"ÕMr{   c                 óL   — | j                  t        j                  d«      «       y ©Nr¢   )rß  rL   rô   rî  s     ry   ÚFORMAT_SIMPLEz'InstructionTranslatorBase.FORMAT_SIMPLE£	  s   € Ø×ÑÔ/×6Ñ6°rÓ:Õ;r{   c                 óB   — | j                  | j                  «       «       y rr   )rß  r  rî  s     ry   ÚFORMAT_WITH_SPECz*InstructionTranslatorBase.FORMAT_WITH_SPEC¦	  s   € Ø×Ñ˜tŸx™x›zÕ*r{   c                 óP   — | j                   j                  «       dkD  r	d„ | _        yy)Nr   c                   ó   — y)NTr“   r“   r{   ry   rz   z>InstructionTranslatorBase.is_non_empty_graph.<locals>.<lambda>¬	  ó   � r{   TF)r  Úcount_callsrß  rœ   s    ry   rß  z,InstructionTranslatorBase.is_non_empty_graph©	  s%   € Ø�;‰;×"Ñ"Ó$ qÒ(á&2ˆDÔ#ØØr{   c           
      óš   — |€g }dj                  t        j                  | j                  «       gt	        t        |«      «      z   «      «      S rá  )rV  rW  rX  r  r°   rt   )rŠ   Úadditional_stack_framess     ry   Úformat_frame_summaryz.InstructionTranslatorBase.format_frame_summary°	  sL   € Ø"Ð*Ø&(Ð#Ø�w‰wÜ×!Ñ!Ø×#Ñ#Ó%Ð&¬¬hÐ7NÓ.OÓ)PÑPóó
ð 	
r{   c           	      óœ   — t        j                  t        | j                  dd«      | j                  t        | j                  dd«      d¬«      S )NrE  ú	<unknown>rË  F)Úlookup_line)rW  ÚFrameSummaryr‡  rÊ  r‚   rœ   s    ry   r  z'InstructionTranslatorBase.frame_summary¹	  s?   € Ü×%Ñ%Ü�D—K‘K °Ó<Ø�K‰KÜ�D—K‘K ¨KÓ8Øô	
ð 	
r{   c                 ó€   — t        | j                  dd«      }t        j                  d«      }|j	                  |«      d uS )NrE  rí  z.*torch/nn/modules.*)r‡  rÊ  ÚreÚcompileÚmatch)rŠ   r�   Únn_modules_patterns      ry   Úis_co_filename_from_nn_modulesz8InstructionTranslatorBase.is_co_filename_from_nn_modulesÁ	  s:   € Ü˜4Ÿ;™;¨°{ÓCˆÜŸZ™ZÐ(?Ó@ÐØ!×'Ñ'¨Ó1¸Ð=Ð=r{   c                 óÆ   — | j                   j                  |t        j                  |«      «      }t	        t        |«      j                  t        j                  «      «       |S rr   )	r  Úinstall_global_by_idÚweakrefÚrefr-   r7   Ú
make_guardr,   ÚWEAKREF_ALIVE)rŠ   rK  r  Úglobal_names       ry   Ústore_global_weakref_by_idz4InstructionTranslatorBase.store_global_weakref_by_idÆ	  sJ   € Ø—k‘k×6Ñ6°v¼w¿{¹{È5Ó?QÓRˆÜÜ Ó,×7Ñ7¼×8RÑ8RÓSô	
ð Ðr{   c                 óB   — | j                   j                  j                  S rr   )r  Útracing_contextÚ	fake_moderœ   s    ry   r   z#InstructionTranslatorBase.fake_modeÍ	  s   € à�{‰{×*Ñ*×4Ñ4Ð4r{   c                 óX   — | j                   j                  «       D ]  \  }}||u sŒ|c S  y rr   )r–  r†  )rŠ   Útensor_variabler  r  s       ry   Úfind_symbolic_locals_namez3InstructionTranslatorBase.find_symbolic_locals_nameÑ	  s6   € Ø×.Ñ.×4Ñ4Ó6ò 	‰JˆC�Ø˜Ò'Ø’
ð	ð r{   Úcheck_fnc              #   ób   K  — | j                   }|| _         	 d–— || _         y# || _         w xY w­w)zx
        Strict mode is enabled on a per-VariableTracker level depending on the return value of check_fn(node).
        N)r¢  )rŠ   r  Úpriors      ry   Ústrict_translation_modez1InstructionTranslatorBase.strict_translation_mode×	  s3   è ø€ ð
 ×%Ñ%ˆØ (ˆÔð	*Ûà$)ˆDÕ!ø EˆDÕ!üs   ‚/—# ›/£	,¬/c                 ó  — | j                   €J ‚| j                   dkD  sJ ‚| j                  j                  | j                  j                  | j
                  | j                   dz
  | j                  | j                   dz
     «      S )Nr   r   )rƒ   Úspeculation_logr¬   rÊ  rE  r‚   rð   rœ   s    ry   rJ  z#InstructionTranslatorBase.speculateã	  s|   € Ø×'Ñ'Ð3Ð3Ð3Ø×'Ñ'¨!Ò+Ð+Ð+Ø×#Ñ#×(Ñ(Ø�K‰K×#Ñ#Ø�K‰KØ×$Ñ$ qÑ(Ø×Ñ˜d×6Ñ6¸Ñ:Ñ;ó	
ð 	
r{   rð   r  r.  r0  rP  rÊ  rõ  r	  Údistributed_statec                 ó~  •— t         ‰| �  «        || _        || _        || _        || _        || _        |	| _        g | _        g | _	        d| _
        t        d«      | _        g | _        d| _        d| _        d | _        d| _        g | _        g | _        || _        t+        | j(                  «      | _        || _        || _        || _        || _        |
| _        t8        j:                  rt=        |
|¬«      | _        nd | _        i | _         || _!        d| _"        d | _#        d | _$        tJ        jL                  dk\  r>dd	l'm(}m)}m*}m+} |
jX                  ||z  |z  |z  z  r| j[                  t]        d «      «       || _/        d| _0        d gtc        |
jd                  «      z  | _3        ti        jj                  |
jl                  |«       y )
Nr   rë  rD  T)r>  rP  F)rã   é
   r   )ÚCO_ASYNC_GENERATORÚCO_COROUTINEÚCO_GENERATORÚCO_ITERABLE_COROUTINE)7r„  r…  r	  r
  r  r–  r—  r˜  r™  r  rƒ   r   rš  ri  rK  r‚   rn  r›  rœ  r   rð   r   r|  r  r.  r0  rP  rÊ  r   Úreplay_record_enabledr1   r¡  Únn_module_stackrõ  Ú	one_graphrŸ  r¢  rñ   rò   Úresume_executionr  r  r  r  Úco_flagsrÔ   rK   r�  rž  r¦   r¨  r*  rÑ  Ú	lazycacherE  )rŠ   r  rð   r  r.  r0  rP  r–  r—  r˜  rÊ  rõ  r�  r	  r
  r  r  r  r  r‘  s                      €ry   r…  z"InstructionTranslatorBase.__init__í	  sÈ  ø€ ô" 	‰ÑÔØ.ˆÔØ!2ˆÔð ˆŒØ.ˆÔØ 0ˆÔØ2TˆÔ/ØˆŒ
à%'ˆŒØ#$ˆÔ Ü#5°eÓ#<ˆÔ ØˆÔà-.ˆÔ*ØˆŒØˆŒØ"&ˆÔØˆÔØˆÔð 0<ˆÔÜ/:¸4×;LÑ;LÓ/MˆŒð ð 	Œð *3ˆŒØ*4ˆŒØ,8ˆÔØ&,ˆŒô ×'Ò'Ü!2Ø¨,ô"ˆDÕð "&ˆDÔð BDˆÔàˆŒØˆŒà#'ˆÔ à $ˆÔä×Ñ˜wÒ&÷ó ð �‰Ø˜|Ñ+Ð.CÑCÐFXÑXòð —	‘	œ/¨$Ó/Ô0à(ˆÔØ).ˆÔ&ØBFÀÌ#Ø×ÑóK
ñ B
ˆÔô 	×Ñ˜F×.Ñ.°	Õ:r{   rr   )F(  rŒ   r�   rŽ   r/   r�   r   r�   rH   r   r   r	   r‘   r"   rÁ   rL   r’   r€   r   r1   r   r¤  r  r±  r¹  rÕ   rÇ  rÏ  rÖ  rÝ  rç  rñ   rò   râ  Úpropertyr
  rà  r÷  rþ  rÔ   r  r  rÖ   r  r  r  r  r!  r#  r%  ÚSTORE_DEREFr'  r+  rè   r5  rÝ   Úcached_propertyr=  rå   rE  r7  rX  ra  ro  rs  ry  r3  r  ÚJUMP_FORWARDÚJUMP_ABSOLUTEr@  rí   Únot_rØ  rî   r×  ÚJUMP_IF_FALSE_OR_POPÚJUMP_IF_TRUE_OR_POPr  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ï  rr  rò  r÷  rô  rü  r	  r   r  r	  r  r  r  r  rZ   r  r   ÚBUILD_TUPLE_UNPACK_WITH_CALLr#  r&  ÚBUILD_MAP_UNPACK_WITH_CALLr)  r+  r/  r2  r5  rC  rH  rQ  rë  rV  r\  r_  ra  rq  rd  rp  rx  r}  rƒ  r…  r‡  r‰  ÚDICT_UPDATEr‹  r�  r“  r™  rž  rç   rß   ÚposrÐ  ÚnegÚUNARY_NEGATIVEr€  ÚinvertÚUNARY_INVERTÚpowÚBINARY_POWERÚmulÚBINARY_MULTIPLYÚmatmulÚBINARY_MATRIX_MULTIPLYÚfloordivÚBINARY_FLOOR_DIVIDEÚtruedivÚBINARY_TRUE_DIVIDEr;  ÚBINARY_MODULOÚBINARY_REMAINDERrU  Ú
BINARY_ADDÚsubÚBINARY_SUBTRACTÚgetitemÚBINARY_SUBSCRÚlshiftÚBINARY_LSHIFTÚrshiftÚBINARY_RSHIFTÚand_Ú
BINARY_ANDÚor_Ú	BINARY_ORÚxorÚ
BINARY_XORÚipowÚINPLACE_POWERÚimulÚINPLACE_MULTIPLYÚimatmulÚINPLACE_MATRIX_MULTIPLYÚ	ifloordivÚINPLACE_FLOOR_DIVIDEÚitruedivÚINPLACE_TRUE_DIVIDEÚimodÚINPLACE_MODULOÚINPLACE_REMAINDERÚiaddÚINPLACE_ADDÚisubÚINPLACE_SUBTRACTÚilshiftÚINPLACE_LSHIFTÚirshiftÚINPLACE_RSHIFTÚiandÚINPLACE_ANDÚixorÚINPLACE_XORÚiorÚ
INPLACE_ORr¢  r¥  rê   re  r?  r­  rë   r±  r³  rì  ÚJUMP_BACKWARD_NO_INTERRUPTÚPOP_JUMP_FORWARD_IF_TRUEÚPOP_JUMP_BACKWARD_IF_TRUEÚPOP_JUMP_FORWARD_IF_FALSEÚPOP_JUMP_BACKWARD_IF_FALSErµ  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  Ú
contextlibÚcontextmanagerr  rJ  rj  ÚCodeTyper•   r·   r…  r“  r”  s   @ry   rà   rà   Õ  s	  ø… ð ÓØ˜#˜Ð.Ñ/Ó/Ø˜3 Ð/Ñ0Ó0Ø(-Ð.IÑ(JÓJØ�Ñ Ó Ø! #™Ó&Ø$Ó$Ø�oÑ&Ó&ØƒKØÐ'Ñ(Ó(ØÓØ�{Ñ#Ó#ØÓØ#Ó#Ø!Ð"2Ñ3Ó3Ø˜‘IÓØ�Ñ'Ó'ØÐ-Ñ.Ó.Ø˜x¨Ð(9¸4Ð(?Ñ@ÑAÓAò.òò>
'ò	=ð8àð8ð �?Ñ#ð8ð �S˜/Ð)Ñ*ó	8ò,QónòòWò)=ðV ×Ñ˜7Ò"ó%	+òR	ð ñ;ó ð;ò
ò2ò*ñ,;˜ Ñ1ð ;¸ó ;ð˜d ?Ñ3ó ð �_ó  ð;�cð ;˜d ?Ñ3ó ;ò*ò+ò8%ò5ò/ò
&ò.ð €Kò3òò*ò8ð. ×ÑñDó ðDò!òEò#ò$
2òò:-;ò^ò:ò3ò=ð €LØ€Má$ X§]¡]°EÓ:ÐÙ# H§N¡N°EÓ:ÐÙ'¨¯©°tÓ<ÐÙ& x§~¡~°tÓ<ÐòDòDòò(òDòòUòòòòòò(&ò,0ò!ò]'ò~ò$ò.5ònKòòPòDñ   QÔ'ñ)ó (ð)ñ
   QÔ'ñK;ó (ðK;ñZ   QÔ'ñ	-ó (ð	-òGòBòò )òòò0ò4

ò
ò
ð

¨dó 
ñ
   QÔ'ñFó (ðFò8ò9ò(òEòð +7ó <ò8ð $6Ð òFò

ð "2Ðò
ò 9ò5ò1òò&
òPò".ò&òòòòòò
òNò<
ò0"ò!ò1òPò1ð €Kòò@ò6ò	6ò:ò8ñ ˜hŸlšlÓ+€NÙ˜hŸlšlÓ+€NÙ˜Ÿ™Ó'€IÙ˜HŸOšOÓ,€Lá˜HŸLšLÓ)€LÙ˜xŸ|š|Ó,€OÙ% h§o¢oÓ6ÐÙ" 8×#4Ò#4Ó5ÐÙ! (×"2Ò"2Ó3ÐÙ˜XŸ\š\Ó*€MÙ §¢Ó-ÐÙ˜(Ÿ,š,Ó'€JÙ˜xŸ|š|Ó,€OØ6Ñ.°AÔ6±xÀ×@PÒ@PÓ7QÓR€MÙ˜XŸ_š_Ó-€MÙ˜XŸ_š_Ó-€MÙ˜(Ÿ-š-Ó(€JÙ˜ŸšÓ&€IÙ˜(Ÿ,š,Ó'€Já˜XŸ]š]Ó+€MÙ §¢Ó.ÐÙ& x×'7Ò'7Ó8ÐÙ# H×$6Ò$6Ó7ÐÙ" 8×#4Ò#4Ó5ÐÙ˜hŸmšmÓ,€NÙ  §¢Ó/ÐÙ˜8Ÿ=š=Ó)€KÙ §¢Ó.ÐÙ˜h×.Ò.Ó/€NÙ˜h×.Ò.Ó/€NÙ˜8Ÿ=š=Ó)€KÙ˜8Ÿ=š=Ó)€KÙ˜(Ÿ,š,Ó'€Jò/ð ×Ñ˜7Ò"ò	;òò@ò"ó'!ñR   QÔ'ñó (ðò)òVð €MØ!%Ðá+¨H¯N©N¸EÓBÐÙ ,¨X¯^©^¸UÓ CÐÙ ,¨X¯]©]¸EÓ BÐÙ!-¨h¯m©m¸UÓ!CÐòò(ò,#ò\'ò	*ò&ò&òòò
;ò"òMòñ   QÔ'ñ'ó (ð'ò
òò:Nò<ò+òô
ó
ó>ó
ð ñ5ó ñ5óñ ×Òð	*°¸/Ð9JÈDÐ9PÑ0Qò 	*ó ñ	*ð
Ð+ô 
ðX;àðX;ð ˜;Ñ'ðX;ð �s˜C�x‘.ð	X;ð
 ˜˜S˜‘>ðX;ð ˜˜c˜‘NðX;ð ˜3 ˜8‘nðX;ð ˜c ?Ð2Ñ3ðX;ð ˜s OÐ3Ñ4ðX;ð -2Ð2MÑ,NðX;ñ —’ðX;ð ðX;ð ðX;ñ (ðX;ð $Ñ$4Ñ5ðX;ð  
÷!X;ó X;r{   )Ú	metaclassc            
       óÚ   ‡ — e Zd ZU ee   ed<   edd„«       Zej                  d„ «       Z
dee   dee   dedee   ddf
ˆ fd	„Zd
„ Zd„ Zdefd„Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )rÒ   Úmutated_closure_cell_contentsr    c                  ó"   — t         j                  S rr   )ÚtlsÚ
current_txr“   r{   ry   rj  z InstructionTranslator.current_txK
  s   € ä�~‰~Ðr{   c              #   ó„   K  — t        t        dd «      }| t        _        	 d –— |t        _        y # |t        _        w xY w­w)Nrj  )r‡  ri  rj  )rŠ   r  s     ry   Úset_current_txz$InstructionTranslator.set_current_txO
  s1   è ø€ äœ˜\¨4Ó0ˆØŒŒð	#Ûà"ŒC�Nø˜UŒC�Nüs   ‚A  0 ¤A °=½A rð   r	  r
  Nc                 óv  •—  t        «       t        j                  d|j                  › d|d   › d|d   › �«       t        ‰| �  t        ||| |	|
||||¬«	      |||||i i t        j                  «       ||	d||¬«       | j                  «        t        | j                  j                  «      5  | j                  «       5  || _        |	| _        || _        | j                  r| j                  sJ d	«       ‚t#        |d
   «      }| j%                  «       D �cg c]	  }||vsŒ|‘Œ }}|j'                  |«       t)        |«      }|D �ci c]8  }||v r2|t*        j,                  j/                  ||   t1        |||v ¬«      ¬«      “Œ: c}| _        | j5                  «        g | _        |	r.t*        j,                  j9                  | j2                  «      | _        i | _        | j<                  d   D ]"  }||v sŒt?        ||   «      | j:                  |<   Œ$ 	 d d d «       d d d «       y c c}w c c}w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nztorchdynamo start tracing rÖ  rE  r£   rF  )Úlocal_scoperO  rÊ  r   )r  rð   r  r.  r0  rP  r–  r—  r˜  rÊ  rõ  r�  r	  r
  z4Export without one graph - something has gone wrong.Úco_varnames)Úcell_or_freevarre  r®  ) r¿   r   ÚINFOrË  r„  r…  r/   r�  ÚdequeÚ_throw_if_in_functorchr   r  rÿ  rl  r  rõ  rg  r°   r±  r  r³  r   rg  rô   r8   r–  Ú_init_torch_function_mode_stackÚdebug_localsÚrealize_allÚ_freevars_idsrP  Úid)rŠ   rð   rÊ  r  r.  r0  rP  Úcompiler_fnr  rõ  Úexport_constraintsrg  Úframe_stater	  r
  Úvarsr<  Úcells_and_freevarsÚcells_and_freevars_setr·  rŒ  r‘  s                        €ry   r…  zInstructionTranslator.__init__X
  s~  ø€ ð" 	Œ‹Ü�L‰LØ(¨¯©Ð(8¸¸,À}Ñ:UÐ9VÐVWÐXdÐeuÑXvÐWwÐxô	
ô 	‰ÑÜØØØØØ"ØØ$Ø&Øô
ð &ØØØ!Ø%ØàÜ/:×/@Ñ/@Ó/BØØØØ+Ø/ð3 	ô 	
ð8 	×#Ñ#Ô%ô �T—[‘[×0Ñ0Ó1ñ $	B°4×3FÑ3FÓ3Hñ $	BØ#,ˆDŒNØ ˆDŒKØ1NˆDÔ.Ø�{Š{à—N’NðJàIóJØ"ô ˜ ]Ñ3Ó4ˆDØ-1×-CÑ-CÓ-EÖ!W¨ÈÐRVÊ¢!Ð!WÐÐ!WØ�K‰KÐ*Ô+Ü%(Ð);Ó%<Ð"ð ö$ð
 Ø˜‘=ð ”9×0Ñ0×7Ñ7Ø˜Q‘KÜ& q¸!Ð?UÐ:UÔVð 8ó ñ ò$ˆDÔ ð ×0Ñ0Ô2àUWˆDÔÙô (1×'DÑ'D×'PÑ'PØ×(Ñ(ó(�Ô$ð "$ˆDÔØ×)Ñ)¨-Ñ8ò B�Ø˜8Ò#Ü/1°(¸4±.Ó/A�D×&Ñ& tÒ,ñB÷E$	B÷ $	Bð $	Bùò "Xùò$÷$	Bð $	Bú÷ $	Bð $	BúsP   Â*H/Â;AH#Ä	HÄHÄ"H#Å =HÅ=A,H#Ç*H#ÈH/È
H#È#H,	È(H/È/H8c                 óÖ  — t         j                  j                  d«      }t        j                  | j
                  j                  d| j
                  j                  «      }t         j                  j                  j                  «       }t         j                  j                  j                  j                  t         j                  j                  j                  j                  t         j                  j                  j                  j                  f}|�X|j                  «       |v rE||ur@|j                  «       j                  j!                  «       }d|› d|› d|› d�}t#        |«       y y y y )NÚeagerry  zhIf you are reaching here, it means dynamo failed for one of the following reasons:
- Calling torch.func.zP(compiled_fn) function from eager mode is not supported. Ensure that torch.func.zp is also wrapped within a torch.compile function. For more information, see PyTorch issue #128711.
- torch.func.z2(fn) requires the function to be inlined by dynamo)r  Ú_dynamoÚlookup_backendrÚ   Úgetattr_staticr  ry  Ú_CÚ
_functorchÚpeek_interpreter_stackÚTransformTypeÚVmapÚGradÚJvpr  rŒ  Úlowerr)   )rŠ   r€  ry  ÚciÚforbidden_keysrŒ  r  s          ry   rs  z,InstructionTranslator._throw_if_in_functorch³
  s$  € ä—‘×,Ñ,¨WÓ5ˆÜ×,Ñ,Ø�K‰K×#Ñ# ]°D·K±K×4KÑ4Kó
ˆô �X‰X× Ñ ×7Ñ7Ó9ˆä�H‰H×Ñ×-Ñ-×2Ñ2Ü�H‰H×Ñ×-Ñ-×2Ñ2Ü�H‰H×Ñ×-Ñ-×1Ñ1ð
ˆð ˆ>˜bŸf™f›h¨.Ñ8¸[ÐPUÑ=UØ—6‘6“8—=‘=×&Ñ&Ó(ˆDð(à(, vð .*Ø*.¨ð 0 ð !%˜vÐ%WðYð ô ˜#Õð >VÐ8ˆ>r{   c           	      óŒ  — ddl m} |j                  «        t        j                  «       | _        t        d¬«      }|r1t        |d   t        j                  j                  j                  «      }t        |«      D ]H  \  }}| j
                  j                  t        j                  j!                  |t#        |«      ¬«      «       ŒJ y )Nr   )ÚTorchFunctionModeStackVariableF)Úfilter_ignoredr   re  )Úvariables.torch_functionr�  Úresetr�  rr  r˜  r@   rï   r  ÚutilsÚ_deviceÚDeviceContextÚ	enumerater§   r   rg  rô   r:   )rŠ   r�  Úpy_stackÚhas_device_contextr�  rÿ  s         ry   rt  z5InstructionTranslator._init_torch_function_mode_stackÍ
  s¬   € ÝLà&×,Ñ,Ô.ô ×ÑÓð 	Ô/ô 1ÀÔFˆáÜ!+Ø˜‘œUŸ[™[×0Ñ0×>Ñ>ó"Ðô   Ó)ò 	‰FˆAˆsØ×3Ñ3×:Ñ:Ü×-Ñ-×4Ñ4ØÔ <¸QÓ ?ð 5ó õñ	r{   r3  c                 ó²   — t        |t        «      r| j                  |j                     S t        |t        «      r| j
                  |j                     S t        ‚rr   )rï   r8   r  Ú
local_namer6   r.  rü  r  )rŠ   r3  s     ry   Úget_example_valuez'InstructionTranslator.get_example_valueä
  sE   € Ü�fœkÔ*Ø—=‘= ×!2Ñ!2Ñ3Ð3Ü�fœlÔ+Ø—>‘> &×"4Ñ"4Ñ5Ð5Üˆr{   c                 ó"   •— t         ‰| �  «        y rr   )r„  rþ  )rŠ   r‘  s    €ry   rþ  zInstructionTranslator.runë
  s   ø€ Ü‰‰�r{   c                 ó¨   — 	 |j                   }t        |«      | j                  j	                  |«      k7  ry| j
                  |   S # t        $ r Y yw xY w)z@Match a cell in this method to one in a function we are inliningN)Úcell_contentsÚ
ValueErrorrx  rw  r‰  r–  )rŠ   rŒ  Úcellr  s       ry   Úmatch_nested_cellz'InstructionTranslator.match_nested_cellî
  sY   € ð	Ø×&Ñ&ˆEô ˆe‹9˜×*Ñ*×.Ñ.¨tÓ4Ò4ØØ×#Ñ# DÑ)Ð)øô ò 	Ùð	ús   ‚A Á	AÁAc                 ó4  — t         j                  dk\  rJ| j                  j                  }|r2| j                  r%|j
                  | j                  d   j
                  uryt        d„ | j                  D «       «      xr | j                   xr | j                  dk(  S )Nrc  rD  Fc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wrr   )rÆ   ©r½  ry  s     ry   r¾  zEInstructionTranslator.should_compile_partial_graph.<locals>.<genexpr>  s   è ø€ Ò: A�—‘—Ñ:ùr¿  r   )	rñ   rò   rš  rq  ri  rÂ   rÀ  r  rK  )rŠ   r©   s     ry   r   z2InstructionTranslator.should_compile_partial_graphù
  s‡   € Ü×Ñ˜wÒ&à×,Ñ,×:Ñ:ˆEÙØ×$Ò$¨¯©¸D×<LÑ<LÈRÑ<P×<WÑ<WÑ(WàäÑ:¨×)9Ñ)9Ô:Ó:ò 8Ø—N‘NÐ"ò8à×2Ñ2°aÑ7ð	
r{   c                 óZ  ‡ ‡— d ‰ _         |j                  dk(  rt        d«      gS |j                  dk(  rt        d|j                  ¬«      gS t	        ‰ j
                  |«      Št        ˆˆ fd„‰ j                  j                  «       D «       «      }t        ˆ fd„|D «       «      }t        ˆ fd„|D «       «      }t        j                  dk  rt        |«      dk(  sJ d	«       ‚t        ‰ «      }g }t        ‰ j                  «      D ]Ä  \  }}t        j!                  t"        |«      sŒ!t%        t"        |«      }	|	j&                  €d
nt        |	j&                  «      }
|j)                  ||
f«       |	j+                  |«       |j-                  t/        t        ‰ j                  «      |z
  dz   «      «       |j1                  t        d«      «       ŒÆ g }|D ]Ÿ  }t        j!                  t"        ‰ j                  |   x}«      sŒ-t%        t"        |«      }	|	j&                  €d
nt        |	j&                  «      }
|j)                  ||
f«       |	j+                  |«       |j1                  t        d|¬«      «       Œ¡ g }t        j                  dk\  rãt        ‰ j                  «      D ]1  \  }}t        j!                  t2        |«      sŒ!|j)                  |«       Œ3 d}t        t5        ‰ j                  «      «      D ]w  \  }}t        j!                  t2        |«      sŒ!t7        d|dz   |z
  «      D ]  }|j1                  t        d|¬«      «       Œ  |j-                  |j9                  «       «       |dz  }Œy t        ‰ j                  «      t        |«      z
  }|t        |«      z   }t;        d|j<                  › �«      }t?        j@                  ‰ jB                  ‰ jD                  |j<                  t        d„ ‰ jF                  D «       «      |||t        d„ ‰ jF                  D «       «      t        |«      t        |«      t        |«      «      } tI        jJ                  ‰ jB                  «      jM                  dd„ «      «       }|�+tO        jP                  |«      tI        jJ                  |«      d<   |jR                  r1‰ jT                  jW                  ||«       |jY                  ||d|«       n]‰ jT                  jW                  |t[        j\                  |‰ j^                  |«      «       |j-                  |ja                  |d|«      «       |j-                  |D �cg c]  }|jc                  |«      ‘Œ c}«       |j-                  te        |d«      «       |j1                  t        d«      «       |jg                  «       S c c}w )Nr¦  r§  rf  c              3   óN   •K  — | ]  }|‰v r|‰j                  «       vr|–— Œ y ­wrr   )r±  )r½  r·  r¶  rŠ   s     €€ry   r¾  z>InstructionTranslator.create_call_resume_at.<locals>.<genexpr>  s0   øè ø€ ò 
àØ�E‰z˜a t×'=Ñ'=Ó'?Ñ?ô ñ
ùs   ƒ"%c              3   óp   •K  — | ]-  }t         j                  t        ‰j                  |   «      s|–— Œ/ y ­wrr   ©r²  Ú__instancecheck__r`   r–  ©r½  r·  rŠ   s     €ry   r¾  z>InstructionTranslator.create_call_resume_at.<locals>.<genexpr>  s4   øè ø€ ò 
àÜ×)Ñ)¬,¸×8LÑ8LÈQÑ8OÔPô ñ
ùó   ƒ36c              3   óp   •K  — | ]-  }t         j                  t        ‰j                  |   «      r|–— Œ/ y ­wrr   r¨  rª  s     €ry   r¾  z>InstructionTranslator.create_call_resume_at.<locals>.<genexpr>  s4   øè ø€ ò 
àÜ×%Ñ%¤l°D×4HÑ4HÈÑ4KÔLô ñ
ùr«  rg  r   z&variables should not be NULL in < 3.12r“   r   rV  r#  rc  ré  r³  )ro  Ú__resume_at_c              3   óH   K  — | ]  }|j                   j                  –— Œ y ­wrr   )rÂ   r¨  r¤  s     ry   r¾  z>InstructionTranslator.create_call_resume_at.<locals>.<genexpr>b  s   è ø€ Ò< a�!—(‘(—/•/Ñ<ùs   ‚ "c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wrr   )rË   r¤  s     ry   r¾  z>InstructionTranslator.create_call_resume_at.<locals>.<genexpr>f  s   è ø€ Ò: A�!—+‘+—-Ñ:ùr¿  Úorig_graphmodulec                   ó   — y rr   r“   r“   r{   ry   rz   z=InstructionTranslator.create_call_resume_at.<locals>.<lambda>o  rç  r{   TF)4rƒ   r¨   r   ró   r   rð   rÊ   r–  r(  rñ   rò   r¦   r&   r–  r™  r²  r©  rM   r   rÈ   r§   rj  rk  r    Úappend_outputr`   rt   rv  Úpop_nullr$   r¨  r2   ÚlookuprÊ  r‚   ri  r%   Úget_contextr‰  rø  rù  r®  r  Úinstall_global_unsafeÚmake_function_with_closurerj  ÚFunctionTyper.  Úload_function_nameÚcreate_loadr   rm  )rŠ   r„   Úall_argnamesrá  Úargnames_nullrw  Ústack_ctx_varsr�  Úvarrº  rÈ   Úargnames_ctx_varsrŒ  Ú
null_idxesÚnull_cntÚjÚ	stack_lenrØ   Únew_codeÚorig_graphmodule_mayber·  r¶  s   `                    @ry   r	  z+InstructionTranslator.create_call_resume_at  s   ù€ Ø#'ˆÔ à�;‰;˜.Ò(Ü& ~Ó6Ð7Ð7Ø�[‰[˜NÒ*Ü& ~¸d¿k¹kÔJÐKÐKä! $×"3Ñ"3°TÓ:ˆÜô 
à×)Ñ)×.Ñ.Ó0ô
ó 
ˆô ó 
à!ô
ó 
ˆô
 ó 
à!ô
ó 
ˆô
 ×Ñ˜gÒ%Ü�}Ó%¨Ò*ÐTÐ,TÓTÐ*ä�t‹_ˆð
 ˆÜ §
¡
Ó+ò 
	@‰FˆAˆsÜ×%Ñ%Ô&=¸sÕCÜÔ2°CÓ8�à×+Ñ+Ð3‘B¼¸s×?PÑ?PÓ9Qð ð ×%Ñ% q¨-Ð&8Ô9à×$Ñ$ RÔ(Ø× Ñ ¤¬S°·±«_¸qÑ-@À1Ñ-DÓ!EÔFØ× Ñ Ô!3°IÓ!>Õ?ð
	@ð ÐØò 	PˆDÜ×%Ñ%Ü'°×0DÑ0DÀTÑ0JÐ)J¨õô Ô2°CÓ8�à×+Ñ+Ð3‘B¼¸s×?PÑ?PÓ9Qð ð "×(Ñ(¨$°Ð)>Ô?à×$Ñ$ RÔ(Ø× Ñ Ô!3°LÈÔ!NÕOð	Pð$ !#ˆ
Ü×Ñ˜wÒ&ä# D§J¡JÓ/ò )‘��3Ü×)Ñ)¬,¸Õ<Ø×%Ñ% aÕ(ð)ð ˆHÜ#¤H¨T¯Z©ZÓ$8Ó9ò "‘��3Ü×)Ñ)¬,¸Õ<Ü" 1 a¨!¡e¨hÑ&6Ó7ò L˜Ø×(Ñ(Ô);¸FÈÔ)JÕKðLà×$Ñ$ R§[¡[£]Ô3Ø ‘M‘Hð"ô ˜Ÿ
™
“O¤c¨*£oÑ5ˆ	ØœC ›MÑ)ˆä˜<¨¯© }Ð5Ó6ˆä#9×#@Ñ#@Ø�K‰KØ�K‰KØ�K‰KÜÑ<¨4×+;Ñ+;Ô<Ó<ØØØÜÑ:¨×)9Ñ)9Ô:Ó:Ü�.Ó!ÜÐ#Ó$Ü�*Óó$
ˆð "
¤×!9Ñ!9¸$¿+¹+Ó!F×!JÑ!JØ¡ó"
ó "Ðð "Ð-ÜELÇ[Á[Ø&óFŒL×$Ñ$ XÓ.Ð/AÑBð ×Òà�K‰K×-Ñ-¨d°HÔ=Ø×)Ñ)¨$°¸$À	ÕJð �K‰K×-Ñ-Ø”e×(Ñ(¨°4·>±>À4ÓHôð ×Ñ˜R×2Ñ2°4¸¸yÓIÔJà
×Ñ°XÖ>°˜"Ÿ.™.¨Õ+Ò>Ô?Ø
×ÑÔ-¨e°UÓ;Ô<Ø
×ÑÔ+¨NÓ;Ô<Ø×"Ñ"Ó$Ð$ùò ?s   ÕV(c                 óÌ   — | j                   j                  «       D ]G  }t        |t        «      sŒt	        |j                  «       t        j                  j                  «      sŒG y y)NTF)	r–  rÃ  rï   rj   r¿  r  r  ÚnnÚModule)rŠ   r¸  s     ry   Ú$symbolic_locals_contain_module_classz:InstructionTranslator.symbolic_locals_contain_module_class†  sR   € Ø×%Ñ%×,Ñ,Ó.ò 	ˆAÜ˜!Ô5Õ6¼:Ø×$Ñ$Ó&¬¯©¯©õ<ñ ð		ð
 r{   c                 ó¢  — | j                   j                  «       dk(  r=| j                  s1| j                  «       s!| j                  st        j                  d«      ‚d | _         t        «       t        j                  d| j                  j                  › d|j                  › d�«       t        j                  d|j                  «       | j                   j!                  | t#        d| j%                  «       gd¬	«      ¬
«       |j                  dk(  rt'        d«      nt'        d|j(                  ¬«      }| j                   j+                  |g«       t,        ‚)Nr   z#because no content in function callztorchdynamo done tracing r¥   rÉ  z%s triggered compileÚreturn_valueF)rI  rü   r¦  r§  rf  )r  rè  rž  rÉ  rõ  r   r  rƒ   r¿   r   rq  rÊ  rË  r¨   r¾   r  r  r.   r  r   ró   r  rÏ   )rŠ   r„   Úreturn_insts      ry   Ú_returnzInstructionTranslator._returnŽ  s  € à�K‰K×#Ñ#Ó%¨Ò*Ø×2Ò2Ø×=Ñ=Ô?Ø—K’Kä—-‘-Ð EÓFÐFØ#'ˆÔ ØŒ‹Ü�L‰LØ'¨¯©×(;Ñ(;Ð'<¸B¸t¿{¹{¸mÈ1ÐMô	
ô 	�	‰	Ð(¨$¯+©+Ô6Ø�‰×$Ñ$ØÜ%Ø ×!3Ñ!3Ó!5Ð 6ÀEôð 	%ô 	
ð �{‰{˜nÒ,ô ˜~Ô.ä# N¸4¿;¹;ÔGð 	ð
 	�‰×+Ñ+¨[¨MÔ:ÜÐr{   c                 ó&   — | j                  |«       y rr   ©rÍ  rî  s     ry   r¦  z"InstructionTranslator.RETURN_VALUEª  ó   € Ø�‰�TÕr{   c                 ó&   — | j                  |«       y rr   rÏ  rî  s     ry   r§  z"InstructionTranslator.RETURN_CONST­  rÐ  r{   )r    rÒ   )rŒ   r�   rŽ   r
   r�   r�   Ústaticmethodrj  rb  rc  rl  r   r"   r•   r	   r·   r…  rs  rt  r9   r›  rþ  r¡  r   r	  rÉ  rÍ  r¦  r§  r“  r”  s   @ry   rÒ   rÒ   H
  sÊ   ø… Ø#& s¡8Ó+àòó ðð ×Ññ#ó ð#ðYBà˜;Ñ'ðYBð (+¨3¡xðYBð (ðYBð $Ð$4Ñ5ðYBð  
õ!YBòvò4ð.¨ó ôò	*ò
ò}%ò~òò8ör{   rÒ   rc  ÚINPLACErã   ÚBINARY_c                   ó2  ‡ — e Zd ZU dZee   ed<   ed„ «       Ze	d„ «       Z
e	dedee   fd„«       Zded	ej                   d
eeef   deeef   ded   deeef   deddfˆ fd„Zed„ «       Zd„ Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!ˆ fd„Z"ˆ fd„Z#ˆ xZ$S ) r¯  z Trace and inline a called methodÚsymbolic_resultc                 óœ   — t        j                  t        dt        d   i«      5  | j                  ||||«      cd d d «       S # 1 sw Y   y xY w)Nr)   rÆ  )r   rµ   r=   Úinline_call_)r‹  r°  Úfuncrw   rº  s        ry   rÆ  z)InliningInstructionTranslator.inline_callÀ  sG   € ä�Z‰Zœ ?´H¸]Ñ4KÐ"LÓMñ 	@Ø×#Ñ# F¨D°$¸Ó?÷	@÷ 	@ò 	@ús   ¤AÁAc                 ó‚  — | j                  «       rt        d«       t        j                  | d¬«      }|j                  r®ddlm} t        t        | dd «      d«      r/| j                  j                  |fv rt        j                  dd	«      S t        | d«      r| j                  j                  nd
}t        d|› d| j                  «       › d| j                  «       › d|j                  › d�	«       t!        | t"        «      rBt%        j&                  | j)                  «       dd«      rt        d| j)                  «       › �«       y |S )Nzinline with __self__T)Úis_inlined_callr   )Ú!produce_trampoline_autograd_applyrÐ   Ú_originFz"allowlist in dynamo known functionr¢   z'inline in skipfiles: z | rÖ  z, ú'Ú_torchdynamo_disablez.call torch._dynamo.disable() wrapped function )Úhas_selfr)   r   Úcheck_verboseÚskippedÚtorch._dynamo.variables.miscrÜ  rÉ   r‡  rÐ   rÝ  Ú
SkipResultrŽ   Úget_nameÚget_filenamer†   rï   rU   rÚ   rƒ  Úget_function)rÙ  r8  rÜ  Úfn_qualnames       ry   Úcheck_inlineablez.InliningInstructionTranslator.check_inlineableÅ  s&  € à�=‰=Œ?ÜÐ0Ô1ä×*Ñ*¨4ÀÔFˆØ�>Š>ÝVô ”w˜t T¨4Ó0°)Ô<ÀÇÁÇÁØ1ðUñ Bô #×-Ñ-ØÐ?óð ô 3:¸$ÀÔ2E˜$Ÿ'™'×.Ò.È2ˆKÜØ(¨¨°S¸¿¹»Ð8IÈÈ4×K\ÑK\ÓK^ÐJ_Ð_aÐbh×boÑboÐapÐpqÐrôô �dÔ0Ô1´g×6LÑ6LØ×ÑÓÐ!7¸ô7
ô Ø@À×ARÑARÓATÐ@UÐVõð ˆMr{   rÙ  rw   c                 ó–  ‡‡‡‡— t        |t        «      rt        d«       t        |t        t        f«      sJ ‚t
        j                  |«      }|j                  du sJ ‚	 |j                  | ||«      \  }}t%        j&                  |j)                  «       |j)                  «       «      D ]!  }	t        |	t*        «      rŒt        d|	› �«       Œ# |j                  «       Š‰j,                  d	v rG|r-t        |d
   t.        j0                  t.        j2                  f«      st        d‰j,                  › �«       d}
t4        j6                  j8                  j:                  j=                  d«      r&dt?        j@                  ‰«      j?                  «       › �}
tB        jD                  dk\  re| jF                  Š| jH                  Š| jK                  ‰jL                  jN                  ¬«      Šˆˆˆˆfd„}tP        jS                  dtU        |«      «       tV        jS                  d‰|
|jX                  «       |ržt        |d
   tZ        «      r‹| j\                  j_                  |d
   j`                  «      }t        |t4        jb                  jd                  «      r?tg        jh                  |«      tk        jl                  |jn                  jp                  «      d<   ts        ‰«      r&tu        | ‰|| jv                  | jx                  ||«      }n%t        | ‰|| jv                  | jx                  ||«      }t{        j|                  «       }| j~                  r|j�                  | j~                  «      }	 |5  |jƒ                  «        d d d «       |j’                  €J ‚|j•                  | |«       |j–                  | j–                  u r%| jv                  j™                  |jv                  «       | xjš                  |jš                  z  c_M        tV        jS                  d‰«       ts        ‰«      rMt        |tt        «      sJ ‚|j’                  j�                  «       �J ‚tŸ        |j                   t£        «       ¬«      S |j’                  S # t        $ r‹}t        dj                  t        |«      d|j                  «       › d|j                  «       › d|j                  «       j                   › �|D �cg c]  }|j#                  «       ‘Œ nc c}w c}|¬«      «      ‚d }~ww xY w# 1 sw Y   �Œ—xY w# t„        j†                  $ rH}d‰› d|› �}| jˆ                  j‹                  |jˆ                  «       tV        jS                  |«       ‚ d }~wt„        jŒ                  $ r.}d‰› d|› �}tV        jS                  |«       t�        |«      |‚d }~wt�        $ r}tV        jS                  d‰«       ‚ d }~ww xY w)Nz#inline with functions in skip filesFz;{reason}.
  func = {func}, args = {args}, kwargs = {kwargs}rÞ  z' r£   )r†   rÙ  rw   rº  zunconverted arg )r  Ú__setattr__r   zinline r¢   Úbytecoder  rc  )r‚   c                  ób   •— t        ‰‰«      j                  «       } d‰j                  › d‰› d| › �S )NzTRACE inlined call z from r  )r?   rÓ  rË  )rÕ  r>  Úcur_instÚheaderÚparent_codes    €€€€ry   Úget_trace_call_log_strzJInliningInstructionTranslator.inline_call_.<locals>.get_trace_call_log_str  s5   ø€ Ü1°+¸xÓH×OÑOÓQ�Ø,¨T¯\©\¨N¸&ÀÀÈÈ4È&ÐQÐQr{   rÙ  zINLINING %s%s, %sr°  z!Observed exception DURING INLING z : zSKIPPED INLINING z: zFAILED INLINING %szDONE INLINING %sr  )Rrï   rT   r)   rU   rS   r¯  ré  râ  Ú	bind_argsÚ	TypeErrorr'   rm  r�   rå  ræ  Úget_coderF  Úpython_typerÁ  rÂ  rÃ  rH   rË  r   ÚCustomizedDictVariablerk   r  Ú_loggingÚ	_internalÚ	log_stateÚis_artifact_enabledrr  ÚBytecoderñ   rò   rš  rÊ  rÏ  Ú	positionsr‚   Útrace_call_logr  rC   r¾   r†   rc   r  r)  r*  r#  ÚGraphModulerø  rù  r%   rµ  ÚforwardÚ__code__r#   Ú&InliningGeneratorInstructionTranslatorr—  r˜  rb  Únullcontextr¢  r  rþ  r   rä  r   r  r  r*   rú  rÖ  Úexport_freevarsr.  r%  rž  r  rY   Úgenerated_itemsrF   )r°  rÙ  rw   rº  r8  Ú
sub_localsÚclosure_cellsr>  ro  r¸  rL  rñ  ÚmoduleÚtracerÚ
strict_ctxr  r>  rî  rï  rð  s                   @@@@ry   rØ  z*InliningInstructionTranslator.inline_call_å  sý  û€ ô �dÔ0Ô1ÜÐ?Ô@ÜØÜ!Ô#=Ð>ô
ð 	
ð 
ô /×?Ñ?ÀÓEˆØ�~‰~ Ñ&Ð&Ð&ð	Ø(,¯©°v¸tÀVÓ(LÑ%ˆJ˜ô —‘ ×!2Ñ!2Ó!4°m×6JÑ6JÓ6LÓMò 	6ˆAÜ˜a¤Õ1ÜÐ 0°°Ð4Õ5ð	6ð  $Ÿ}™}›ˆØ�<‰<Ð9Ñ9ÙÜØ�Q‘Ü×1Ñ1´9×3VÑ3VÐWôô
 ˜G D§L¡L >Ð2Ô3àˆô �>‰>×#Ñ#×-Ñ-×AÑAÀ*ÔMØœ#Ÿ,™, tÓ,×0Ñ0Ó2Ð3Ð4ˆFÜ×Ñ˜wÒ&Ø×1Ñ1ˆHØ Ÿ-™-ˆKØ×3Ñ3¸8×;MÑ;M×;TÑ;TÐ3ÓUˆF÷Rô × Ñ  ¤zÐ2HÓ'IÔJÜ�	‰	Ð% t¨V°V·]±]ÔCñ ”J˜t A™wÔ(8Ô9Ø—]‘]×0Ñ0°°a±×1CÑ1CÓDˆFÜ˜&¤%§(¡(×"6Ñ"6Ô7ô
 —K‘K Ó'ô ×(Ñ(¨¯©×)@Ñ)@ÓAØ&ñô
 ˜ÔÜ;ØØØØ×'Ñ'Ø×9Ñ9ØØó‰Fô 3ØØØØ×'Ñ'Ø×9Ñ9ØØóˆFô %×0Ñ0Ó2ˆ
Ø×"Ò"Ø×7Ñ7¸×8OÑ8OÓPˆJð	Øñ Ø—
‘
”÷ð" ×%Ñ%Ð1Ð1Ð1Ø×Ñ˜V VÔ,à×Ñ˜v×/Ñ/Ñ/à×#Ñ#×*Ñ*¨6×+BÑ+BÔCà×(Ò(¨F×,LÑ,LÑLÕ(ä�	‰	Ð$ dÔ+ä˜ÔÜ˜fÔ&LÔMÐMÐMØ×)Ñ)×<Ñ<Ó>ÐFÐFÐFÜ'Ø×&Ñ&Ü*›nôð ð
 ×)Ñ)Ð)øôg ò 		ä#ØN×UÑUÜ˜q›6Ø˜TŸ]™]›_Ð-¨R°×0AÑ0AÓ0CÐ/DÀAÀdÇmÁmÃo×FdÑFdÐEeÐfØ7;Ö<°˜#Ÿ/™/Õ+Ñ<ùÔ<Ø!ð	 Vó óð ûð		ú÷^ñ ûä×$Ñ$ò 	Ø5°d°V¸3¸q¸cÐBˆCð ×Ñ×&Ñ& v×':Ñ':Ô;Ü�I‰I�cŒNàûÜ�}‰}ò 	*Ø% d V¨2¨a¨SÐ1ˆCÜ�I‰I�cŒNÜ˜cÓ"¨Ð)ûÜò 	Ü�I‰IÐ*¨DÔ1Øûð	úsn   ÁQ' ÍT ÍS>Í)T Ñ'	S;Ñ0AS6ÓS$Ó#S6Ó6S;Ó>TÔT ÔWÔAU!Õ!WÕ7)V Ö WÖ,W×Wr°  r>  r–  r—  r˜  rh   r  Úfuncvarr    Nc                 ó  •— |j                  «       }|d   }	t        |	t        «      s|	j                  }	t	        |«      }
t        |
«       t        ‰| �  |j                  i ||	||||
t        «       D �ci c]  }|t        ||«      “Œ c}||j                  |j                  dz   |j                  |j                  ¬«       || _        d | _        || _        |j$                  j'                  «       | _        |j(                  | _        y c c}w )NÚ__builtins__r   )r  r  r.  r0  r–  r—  r˜  rð   rP  rÊ  rõ  r�  r	  r
  )Úget_globalsrï   rµ   Ú__dict__r   r   r„  r…  r  r!   r‡  rõ  r�  r	  r
  r°  rÖ  r  r  rp  r  )rŠ   r°  r>  r–  r—  r˜  r  r
  r.  r0  rð   r·  r‘  s               €ry   r…  z&InliningInstructionTranslator.__init__h  sû   ø€ ð ×'Ñ'Ó)ˆ	Ø˜~Ñ.ˆ
Ü˜*¤dÔ+Ø#×,Ñ,ˆJÜ+¨DÓ1ˆÜ˜LÔ)Ü‰ÑØ—=‘=ØØØ!Ø+Ø-Ø/QØ%Ü7D³ÖG°!˜!œW T¨1Ó-Ñ-ÒGØØ—=‘=Ø×,Ñ,¨qÑ0Ø"×2Ñ2Ø$×6Ñ6ð 	ô 	
ð  ˆŒØ#ˆÔØ*ˆÔØ%×5Ñ5×:Ñ:Ó<ˆÔØ×)Ñ)ˆ�ùò Hs   Á0Dc                 ó.   — | j                   j                  S rr   )r°  r   rœ   s    ry   r   z'InliningInstructionTranslator.fake_modeŽ  s   € à�{‰{×$Ñ$Ð$r{   c                 ó\   — t        j                  | j                  j                  «       «      S rr   )r   rö  r°  r  rœ   s    ry   r÷  z)InliningInstructionTranslator.run_ctx_mgr’  s    € Ü×+Ñ+¨D¯K©K×,EÑ,EÓ,GÓHÐHr{   c                 óì  — |j                   | j                  v r³| j                  |j                      }| j                  «       }t        |t        «      rS| j
                  j                  «       st        d«       || j
                  j                  j                  |j                  <   y | j
                  j                  j                  ||«       y | j                  j                  |j                   «      }t        |t        j                  «      rL| j
                  j                  j                  | j                  |j                      | j                  «       «       y |�‘|j                   j                  «       | j
                  j                  j"                  vrW| j
                  j                  j"                  j%                  |j                   j                  «       «       t&        j(                  ‚t        d«       y )NzSHigherOrderOperator: Mutating a variable not in the current scope (ClosureVariable)z#write to __closure__ while inlining)ró   r  r  rï   r]   r  Úis_root_tracerr)   Úroot_txr–  rŒ  r´  Ú
store_cellr‰  r   ÚNewCellVariabler3  rg  rU  r   ÚUnspecializeRestartAnalysis)rŠ   r„   r   rÿ  Ú
maybe_cells        ry   r  z)InliningInstructionTranslator.STORE_DEREF•  sr  € Ø�;‰;˜$×,Ñ,Ñ,Ø×%Ñ% d§k¡kÑ2ˆDØ—(‘(“*ˆCÜ˜$¤Ô0Ø—{‘{×1Ñ1Ô3Ü!Ømôð BE�—‘×#Ñ#×3Ñ3°D·I±IÒ>à—‘×(Ñ(×3Ñ3°D¸#Õ>à×-Ñ-×1Ñ1°$·+±+Ó>ˆJÜØÜ×)Ñ)ôð —‘×(Ñ(×3Ñ3Ø×(Ñ(¨¯©Ñ5°t·x±x³zõð
 Ð*Ø"×)Ñ)×.Ñ.Ó0ØŸ;™;×.Ñ.×LÑLñMð —K‘K×'Ñ'×EÑE×IÑIØ"×)Ñ)×.Ñ.Ó0ôô ×9Ñ9Ð9ÜÐCÕDr{   c                 ót  •— |j                   | j                  v r›| j                  |j                      }t        |t        «      r=| j	                  | j
                  j                  j                  |j                     «       y | j	                  | j
                  j                  j                  |«      «       y | j                  j                  |j                   d «      }t        |t        j                  «      r5| j	                  | j
                  j                  j                  |«      «       y t        ‰| �=  |«       y rr   )ró   r  rï   r]   rÔ   r  r  r–  rŒ  r´  Ú	load_cellr‰  r   r  r„  r  )rŠ   r„   r   Úmaybe_sym_localr‘  s       €ry   r  z(InliningInstructionTranslator.LOAD_DEREF¼  sÓ   ø€ Ø�;‰;˜$×,Ñ,Ñ,Ø×%Ñ% d§k¡kÑ2ˆDÜ˜$¤Ô0Ø—	‘	˜$Ÿ+™+×-Ñ-×=Ñ=¸d¿i¹iÑHÕIà—	‘	˜$Ÿ+™+×2Ñ2×<Ñ<¸TÓBÕCà"×2Ñ2×6Ñ6°t·{±{ÀDÓIˆOÜ˜/¬9×+DÑ+DÔEØ—	‘	˜$Ÿ+™+×2Ñ2×<Ñ<¸_ÓMÕNä‘Ñ" 4Õ(r{   c                 ó|   — || j                  «       v sJ ‚|| j                  v r| j                  |   S t        |¬«      S r
  )r±  r  r_   r  s     ry   r  z+InliningInstructionTranslator._load_closureÊ  sC   € Ø�t×-Ñ-Ó/Ñ/Ð/Ð/Ø�4×%Ñ%Ñ%Ø×%Ñ% dÑ+Ð+ä)¨tÔ4Ð4r{   c                 óF   — t        |j                  «      st        d«       y y )NzOHigherOrderOperator: Mutating a variable not in the current scope (replace_all))rE   r  r)   )rŠ   Úoldvars     ry   Úcheck_replace_is_safez3InliningInstructionTranslator.check_replace_is_safeÑ  s    € Ü" 6×#7Ñ#7Ô8ÜØaõð 9r{   c                  ó   — y)NFr“   rœ   s    ry   r   z:InliningInstructionTranslator.should_compile_partial_graph×  s   € Ør{   c                 ó   — t        d«       y )Nzcant resume while inliningr�  rÿ  s     ry   r	  z3InliningInstructionTranslator.create_call_resume_atÚ  s   € ÜÐ2Õ3r{   c                 óF   — | j                  «       | _        d | _        t        ‚rr   )r  rÖ  rƒ   rÏ   rî  s     ry   r¦  z*InliningInstructionTranslator.RETURN_VALUEÝ  s   € Ø#Ÿx™x›zˆÔØ#'ˆÔ ÜÐr{   c                 óH   — | j                  |«      | _        d | _        t        ‚rr   )r+  rÖ  rƒ   rÏ   rî  s     ry   r§  z*InliningInstructionTranslator.RETURN_CONSTâ  s#   € Ø#×/Ñ/°Ó5ˆÔØ#'ˆÔ ÜÐr{   c                 óÞ  — d| j                   v r€| j                   d   }| j                  |«      }d|v r(t        j                  j                  j
                  |   }nt        j                  |«      } t        | |«      |«      }t        ||«      }n[| j                  j                  d| j                   «      }t        |«      }| j                   } t        | |«      |«      }t        ||«      }|||fS )NrŒ   rG  Ú___unnamed_scope)r.  r7  r  rL  rM  rN  r8  r9  rI   r4   r  r÷  r6   r5   )	rŠ   rŒ  r:  r;  r<  Úfglobals_vtÚglobal_sourceÚglobals_nameÚglobals_sources	            ry   Úget_globals_source_and_valuez:InliningInstructionTranslator.get_globals_source_and_valueç  sÜ   € Ø˜Ÿ™Ñ'ØŸ.™.¨Ñ4ˆKØ ×.Ñ.¨{Ó;ˆMØ +Ñ-Ü!&§¡×!?Ñ!?×!YÑ!YÐZeÑ!f‘ä!*×!8Ñ!8¸Ó!E�Ø>œ/¨$°Ó>¸~ÓNˆKÜ& }°dÓ;‰MàŸ;™;×;Ñ;Ø" D§N¡NóˆLô *¨,Ó7ˆNØ!Ÿ^™^ˆNØ?œ/¨$°Ó?ÀÓOˆKÜ)¨.¸$Ó?ˆMØ˜{¨MÐ9Ð9r{   c                 ó  •— | j                   j                  | j                  u rt        ‰| �  |«       y |j
                  }| j                  |«      \  }}}| j                   j                  j                  ||«      r6| j                  | j                   j                  j                  ||«      «       y 	 | j                  |   }| j                   t        | |«      |«      «       y # t        $ r | j                  |«      cY S w xY wrr   )r  rO  r.  r„  r5  ró   r)  r´  Úhas_pending_mutation_of_attrrÔ   Ú	load_attrr  r3  rI   )rŠ   r„   rŒ  rx   r%  r&  r  r‘  s          €ry   r5  z*InliningInstructionTranslator._load_globalû  sÖ   ø€ Ø�;‰;×#Ñ# t§~¡~Ñ5Ü‰GÑ  Õ&à—;‘;ˆDà,0×,MÑ,MÈdÓ,SÑ)ˆAˆ{˜MØ�{‰{×'Ñ'×DÑDÀ[ÐRVÔWØ—	‘	˜$Ÿ+™+×2Ñ2×<Ñ<¸[È$ÓOÕPð3Ø ŸN™N¨4Ñ0�Eð —	‘	Ð>œ/¨$°Ó>¸uÓEÕFøô  ò 3Ø×,Ñ,¨TÓ2Ò2ð3ús   Â2C# Ã#D Ã?D c                 óP  •— | j                   | j                  j                   u rt        ‰| �  |«       y | j	                  «       }t        |t        «      rt        d«       |j                  }| j                  |«      \  }}}| j                  j                  j                  |||«       y rA  )r.  r°  r„  rE  r  rï   ri   r)   ró   r)  r  r´  rù  )rŠ   r„   r  rŒ  r<  r%  rx   r‘  s          €ry   rE  z*InliningInstructionTranslator.STORE_GLOBAL  s�   ø€ Ø�>‰>˜TŸ[™[×2Ñ2Ñ2Ü‰GÑ  Õ&à—H‘H“JˆEÜ˜%Ô!8Ô9ÜÐ@ÔAØ—;‘;ˆDØ-1×-NÑ-NÈtÓ-TÑ*ˆN˜K¨Ø�K‰K×$Ñ$×/Ñ/°¸TÀ5ÕIr{   )%rŒ   r�   rŽ   r­   r	   rg   r�   ÚclassmethodrÆ  rÒ  ré  rH   r   rØ  rà   rj  rd  r   r�   r   rR   r…  r  r   r÷  r  r  r  r  r   r	  r¦  r§  r)  r5  rE  r“  r”  s   @ry   r¯  r¯  »  s>  ø… Ù*à˜nÑ-Ó-àñ@ó ð@ð ñó ðð> ð@*Ø%ð@*Ø-1°/Ñ-Bò@*ó ð@*ðD$*à)ð$*ð �n‰nð$*ð ˜c ?Ð2Ñ3ð	$*ð
 ˜s OÐ3Ñ4ð$*ð -2Ð2MÑ,Nð$*ð ˜C Ð0Ñ1ð$*ð *ð$*ð 
õ$*ðL ñ%ó ð%òIò%EôN)ò5òòò4òò
ò
:ô(G÷"	Jð 	Jr{   r¯  c                   óP   ‡ — e Zd ZU ee   ed<   dˆ fd„Zdefd„Zd„ Z	d„ Z
d„ Zˆ xZS )	r  r  c                 ó2   •— t        ‰| �  |i |¤Ž g | _        y rr   )r„  r…  r  )rŠ   rw   rº  r‘  s      €ry   r…  z/InliningGeneratorInstructionTranslator.__init__  s   ø€ Ü‰Ñ˜$Ð) &Ò)Ø!ˆÕr{   r„   c                 óú   — | j                   j                  | j                  «       «       t        | j                   «      t        kD  rt        dt        › �«       | j                  t        j                  d «      «       y )NzqToo many yield values in generator. Maybe you are inlining an infinite generator. If not, please report a bug at )
r  r§   r  r¦   rW   r)   ÚPT2_ISSUE_TRACKER_URLrÔ   rL   rô   rî  s     ry   ÚYIELD_VALUEz2InliningGeneratorInstructionTranslator.YIELD_VALUE  sc   € Ø×Ñ×#Ñ# D§H¡H£JÔ/Üˆt×#Ñ#Ó$Ô'9Ò9Üð2Ü2GÐ1HðJôð 	�	‰	Ô"×)Ñ)¨$Ó/Õ0r{   c                 óÈ   — | j                   d   }t        |t        «      sC| j                  «        t	        t
        «      j                  | |gi «      }| j                  |«       y y r¹  )r™  rï   rY   r  rK   rÌ  rÕ   rÔ   )rŠ   r„   r—  Úress       ry   ÚGET_YIELD_FROM_ITERz:InliningGeneratorInstructionTranslator.GET_YIELD_FROM_ITER(  sN   € Ø�j‰j˜‰nˆÜ˜#Ô3Ô4Ø�H‰HŒJÜ!¤$Ó'×5Ñ5°d¸S¸EÀ2ÓFˆCØ�I‰I�c�Nð 5r{   c                 óÒ  — t        | j                  «      dk\  sJ ‚| j                  «       }| j                  d   }t        |t        «      r|j
                  �t        d«       	 |j                  | «      }| j                  |«       | j                  |«       t        | j                  t        «      r| j                  dkD  sJ ‚| xj                  dz  c_
        y # t        t        j                  f$ rw}t        |t        j                  «      rt        j                  | «       | j                  «        | j                  t	        j                   |j
                  «      «       Y d }~y d }~ww xY w)Nré  rD  úUnreachable sub-generator coder   r   )r¦   r™  r  rï   rL   r  r)   rŸ  rÔ   r3  rƒ   r‘   r   r   r¡  r-  rô   ©rŠ   r„   rÿ  r—  Úexs        ry   Ú
YIELD_FROMz1InliningGeneratorInstructionTranslator.YIELD_FROM/  s!  € Ü�4—:‘:‹ !Ò#Ð#Ð#Ø�h‰h‹jˆØ�j‰j˜‰nˆÜ˜3Ô 0Ô1°c·i±iÐ6Gô Ð:Ô;ð	*Ø×#Ñ# DÓ)ˆCð �I‰I�cŒNà×Ñ˜TÔ"ô ˜4×3Ñ3´SÔ9Ø×,Ñ,¨qÒ0ðð1ð ×$Ò$¨Ñ)Ö$øô# œs×<Ñ<Ð=ò 	9Ü˜"œc×;Ñ;Ô<Ü×-Ñ-¨dÔ3ð �H‰HŒJØ�I‰IÔ&×-Ñ-¨b¯h©hÓ7×8Ñ8ûð	9ús   Á"C ÃE&Ã/A-E!Å!E&c                 óè  — t        | j                  «      dk\  sJ ‚| j                  «       }| j                  d   }t        |t        «      s>t        |t
        «      rzt        |j                  t        j                  j                  «      rLt        |t        «      r0|j                  €$	 |j                  | «      }| j                  |«       y t)        d«       y t)        dt+        |«      › �«       y # t        t        j                  f$ rl}t         j"                  dk  r| j                  «        | j                  t        j$                  |j                  «      «       | j'                  |«       Y d }~y d }~ww xY w)Nré  rD  rg  r8  zSEND )r¦   r™  r  rï   rY   rk   r  r�  r‘  ÚIteratorrL   rŸ  rÔ   r   r   r¡  rñ   rò   rô   r  r)   rG   r9  s        ry   ÚSENDz+InliningGeneratorInstructionTranslator.SENDP  s  € Ü�4—:‘:‹ !Ò#Ð#Ð#Ø�h‰h‹jˆØ�j‰j˜‰nˆÜ�cÔ/Ô0Ü�sÔ5Ô6Ü˜3Ÿ9™9¤k§o¡o×&>Ñ&>Ô?ä˜#Ô/Ô0°S·Y±YÐ5Fð#Ø×+Ñ+¨DÓ1�Cð —I‘I˜c•Nô Ð>Õ?ä˜E¤'¨#£, Ð0Õ1øô+ &¤s×'DÑ'DÐEò 
$ô ×'Ñ'¨'Ò1ØŸ™œ
Ø—I‘IÔ.×5Ñ5°b·h±hÓ?Ô@Ø—I‘I˜d—O‘Oûð
$ús   Â%C, Ã,E1ÄA"E,Å,E1r’  )rŒ   r�   rŽ   r   rH   r�   r…  r"   r3  r6  r;  r>  r“  r”  s   @ry   r  r    s/   ø… Ø˜/Ñ*Ó*õ"ð1 ó 1òò*öB 2r{   r  )Ér�  Úcollections.abcrb  rp  r®   rr  rÝ   r8  rÚ   rÁ  rÑ  r   rí   rñ  rñ   Ú	threadingrW  rj  Útypingrø  r   r   r   r   r   r   r	   r
   r   r   r   r   Úunittest.mockr   r  Útorch._loggingÚtorch._guardsr   r   r¢   r   r   r¼   r   r   Úbytecode_analysisr   r   r   r   Úbytecode_transformationr   r   r   r   r    r!   r"   r#   r$   r%   Úcodegenr&   r'   r(   r)   r*   Úfuncname_cacher+   Úguardsr,   r-   Úoutput_graphr.   r/   Úreplay_recordr0   r1   r  r2   r3   r3  r4   r5   r6   r7   r8   r9   r:   r;   r<   r“  r=   r>   r?   r@   rA   rB   rC   rD   Úvariables.baserE   rF   rG   rH   Úvariables.builderrI   rJ   Úvariables.builtinrK   Úvariables.constantrL   Úvariables.ctx_managerrM   rN   rO   Úvariables.dictsrP   rQ   Úvariables.functionsrR   rS   rT   rU   rV   Úvariables.iterrW   Úvariables.listsrX   rY   rZ   r[   r\   Úvariables.miscr]   r^   r_   r`   ra   rb   Úvariables.nn_modulerc   rd   Úvariables.tensorre   rf   rg   r‘  rh   Úvariables.user_definedri   rj   rk   Ú	getLoggerrŒ   r¾   r÷  ÚgetArtifactLoggerrQ  rý  rÜ  rá  Úlocalri  r†  rÕ   rp   r�   r�   Úcontainsrs   r  r~   r2  Ú	dataclassr€   r•   r²   r·   Ú	lru_cacher¿   rÁ   rú  rÏ   rB  rß   r’   r÷   r@  rT  r|  r²  r~  rà   rÒ   rò   Ú_nb_opsr‡  r¤  r¯  r  )r·  r¸  r¨   rx   s   0000ry   ú<module>r`     s=  ðä Û Û Û Û Û 
Û Û Û Û Û Û Û Û 	Û 
Û Û Û Û Û ÷÷ ÷ ó õ  ã Û ß 1ç QÕ Q÷ó ÷
÷ 
õ 
õ 'Ý ß UÓ UÝ (ß /ß 9ß 9ß A÷÷ ñ ÷ ;÷	÷ 	ó 	÷ XÓ Wß =Ý .Ý 0÷ñ ÷
 <÷õ õ /÷õ ÷÷ ÷ Qß WÑ Wñ ÝC÷ñ ð €g×Ò˜Ó!€Ø—.’.×2Ò2°8¸^ÓL€Ø—’×1Ò1°(¸LÓI€Ø—>’>×3Ò3°H¸nÓMÐ Ø—^’^×5Ò5°hÐ@PÓQÐ Ø€i‡o‚oÓ€à4RÐ4L×4RÒ4RÓ4T÷'Ù,0¨A¨q€A��qÓ×'Ò'Ñ'ó'Ð �T˜#˜s˜(‘^ó ñ " (×"3Ò"3Ó4×BÒB€Ù˜XŸ]š]Ó+×9Ò9€
ñÐ �DÑ ñ!Ð �HÑ ð
 DÐ ð ×Ò÷Lð Ló ðLð( ×Ò÷=ð =ó ð=ð@ ×Ò÷Rð Ró ðRð ×Ò÷2ð 2ó ð2ð €×Ò�TÓñ4ó ð4ð ×Ò÷*ð *ó ð*ô8	�Iô 	ð�—‘  f Ñ-ó ðCØ
%ðCà�o‰o˜v˜h¨˜nÑ-ðCð óCðL˜6Ÿ?™?¨F¨8°T¨>Ñ:ð À$ó ðD €òEôPJ ô Jô p;Ø(õp;ôf;fÐ5ô fðR ×Ò�wÒð Ÿš÷ñ
 ˆF�Añ	 	Ø!Ø# vÑ-ˆF�1�2‰J°W¸VÀAÀB¸Z¸LÐ3Iõ	
óÐôZJÐ$=ô ZJôz
X2Ð-Jõ X2ùóWd'ùóJYs   ÉQÐ"Q