Ë
    L²j¾ì ã                   ó  — U d 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 ddlmZ ddlmZmZmZmZmZmZ ddlZddlZddlm Z  ddl!m"Z" ddl#m$Z$m%Z%m&Z& dd	l'm(Z(m)Z)m*Z*m+Z+m,Z, dd
l-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z;m<Z<m=Z= ddl>m?Z?m@Z@mAZAmBZB ddlCmDZDmEZE ddlFmGZG ddlHmIZI ddlJmKZK ddlLmMZMmNZN ddlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZX ddlYmZZZm[Z[ ddl\m]Z] ddl^m_Z_ ddl`maZambZb ddlcmdZd ddlemfZf ddlgmhZhmiZimjZjmkZkmlZl ddlmmnZn dd lompZpmqZqmrZr dd!lsmtZtmuZumvZv dd"lwmxZxmyZymzZzm{Z{m|Z| dd#l}m~Z~ dd$lm€Z€m�Z�m‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’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 m¡Z¡m¢Z¢m£Z£m¤Z¤m¥Z¥m¦Z¦m§Z§m¨Z¨m©Z©mªZªm«Z«m¬Z¬m­Z­m®Z®m¯Z¯m°Z°m±Z±m²Z²m³Z³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ÁmÂZÂmÃZÃmÄZÄmÅZÅmÆZÆmÇZÇ d&d(lÈmÉZÉ d&d)lÊmËZË d&d*lÌmÍZÍmÎZÎmÏZÏmÐZÐmÑZÑmÒZÒ d&d+lÓmÔZÔmÕZÕmÖZÖm×Z× d&d,lØmÙZÙ d&d-lÚmÛZÛmÜZÜmÝZÝmÞZÞmßZßmàZàmáZámâZâmãZãmäZämåZå d&d.læmçZçmèZè d&d/lémêZêmëZë d&d0lìmíZímîZî d&d1lïmðZðmñZñmòZòmóZómôZômõZõmöZöm÷Z÷ d&d2lømùZùmúZúmûZûmüZümýZýmþZþmÿZÿ�m �Z �m�Z�m�Z�m�Z�m�Z�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&d3�l�m�Z�m�Z�m�Z d&d4�l�m�Z d&d5�l�m�Z�m�Z d&d6�l�m�Z d&d7�l�m�Z�m�Z�m�Z�m �Z  d&d8�l!�m"�Z"�m#�Z#�m$�Z$ d&d9�l%�m&�Z&�m'�Z'�m(�Z(�m)�Z)�m*�Z*�m+�Z+ d&d:l�m,�Z,�m-�Z-�m.�Z.�m/�Z/ d&d;�l0�m1�Z1�m2�Z2�m3�Z3 d&d<�l4�m5�Z5�m6�Z6�m7�Z7�m8�Z8�m9�Z9�m:�Z:�m;�Z;�m<�Z<�m=�Z=�m>�Z>�m?�Z?�m@�Z@�mA�ZA�mB�ZB 	 dd�lC�ZDerdd>�lG�mH�ZH dd?�lI�mJ�ZJ�mK�ZK  e
�j˜                  �eM«      �ZNe�jž                  �j¡                  �eMd@«      �ZQddAl�mR�ZR  �eRdB«      �ZS �eRdC«      �ZT�eU�ZVdD�eWdE�eXfdF„�ZY G dG„ dH«      �ZZe�j¶                   G dI„ dJ«      «       �Z\ G dK„ dL�e\«      �Z] �e^dM„  �e_e	«      �jÁ                  «       D «       «      �Za�e^�eb   �eFdN<    �ec«       �Zd�ec�eb   �eFdO<   e�jÊ                  �jÌ                  �jÎ                  �Zhe�jÊ                  �jÌ                  �jÒ                  �Zj G dP„ dQ«      �ZkdReÆdEe÷fdS„�ZldTedUe@dz  dEefdV„�Zm	 	 d‚dWdXdYedZedz  d[�endz  d\edEeÆfd]„�ZodWdXdYedZedEdfd^„�Zp	 	 d‚d_�en�eS   dWdXdYedZedz  d[�endz  d\edE�eSfd`„�Zq	 dƒd_�en�eS   dWdXdYe�jä                  �jæ                  dae�jè                  d[�endz  d\edE�eSfdb„�Zu	 	 d‚d_�en�eS   dWdXdYe�jä                  �jæ                  dZedz  d[�endz  d\edE�eSfdc„�ZvdZedWdXdYe�jä                  �jæ                  d\�ew�exef   d[�endz  d_�en�eS   dEeÆfdd„�ZydT�eTdE�en�eT   dz  fde„�Zzd_edWdXdZed[�endz  dE�ew�exef   f
df„�Z{d_�en�eS   dWdXdYe�jä                  �jæ                  dZed[�endz  d\�ew�exef   dE�eSfdg„�Z|dEeRfdh„�Z}d�a~�ec�ex   dz  �eFdi<   d�a�ebdz  �eFdj<   dE�ec�ex   fdk„�Z€dl�exdE�eXfdm„�Z�dWdXdn�exdoe�jè                  dEezfdp„�Z‚d�aƒ�ec�ex   dz  �eFdq<   d�a„�ebdz  �eFdr<   dE�ec�ex   fds„�Z…dl�exdE�eXfdt„�Z†	 d„doedWdXduešdv�eXdw�eXdEeVfdx„�Z‡ddyœdoedWdXduešdz  dz�eXd{edz  dEefd|„�ZˆddyœdoedWdXduešdz  dz�eXd{edz  dEefd}„�Z‰ G d~„ d«      �ZŠ�eŠ�j                  «       �eŠ�_Œ         G d€„ d�«      �Z�y# �eE$ r d�ZDe�eFd=<   Y �ŒÕw xY w)…aq  
This module contains classes and utilities for building variable trackers in Dynamo.
Variable trackers are used to convert Python values into symbolic representations
that can be traced and transformed during graph capture.

The key classes are:

- VariableBuilder: Handles source-tracked objects that need guards and proper
  reconstruction in the output graph. Used for inputs, module attributes, etc.

- SourcelessBuilder: Handles ephemeral objects created during tracing that don't
  need source tracking or guards. Used for temporary lists, intermediate values, etc.

Variable trackers enable Dynamo to track the flow of values through the program,
maintain guards for dynamic properties, and reconstruct values in the output graph.
The builders in this module handle converting Python values into appropriate
VariableTracker instances based on their type and usage context.
é    N)ÚCallableÚMutableMapping)Ú
ModuleType)ÚAnyÚ
NamedTupleÚNoReturnÚoverloadÚTYPE_CHECKINGÚUnion)ÚSymInt)Úenable_python_dispatcher)ÚCURRENT_STREAM_INDEXÚget_external_object_by_indexÚregister_user_object)Úget_metrics_contextÚis_int_specialization_caseÚis_torch_symÚnormalize_count_iterÚset_feature_use)ÚTracingContext)Ú
flat_apply)Úcall_torchbind)Úis_opaque_reference_typeÚis_opaque_typeÚis_opaque_value_typeÚshould_hoist)Ú
OpaqueBase)ÚHigherOrderOperatorÚ
OpOverloadÚOpOverloadPacket)Ú
FakeTensorÚFakeTensorModeÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Únormalize_source_name)Ú_DynamicScalarÚ
DynamicInt)	Ú_constrain_range_for_sizeÚ_nested_int_aware_sortÚ
DimDynamicÚRelaxedUnspecConstraintÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContextÚSymIntSymbolicContextÚTrackedFake)Úimmutable_dictÚimmutable_list)ÚExpandedWeight)Ú
OrderedSet)Úis_traceable_wrapper_subclassÚ"is_traceable_wrapper_subclass_type)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚgraph_break_hintsÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚraise_observed_exceptionÚunimplemented)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)Úauto_dynamicÚ
auto_unsetÚFrameStateSizeEntryÚInferStrideÚprocess_automatic_dynamic)ÚSideEffects)ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚChainedSourceÚConstDictKeySourceÚConvertIntSourceÚCurrentStreamSourceÚDictGetItemSourceÚDictSubclassGetItemSourceÚDynamicScalarSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_constant_sourceÚis_from_closure_sourceÚis_from_global_sourceÚis_from_nonlocal_sourceÚis_from_optimizer_sourceÚ&is_from_unspecialized_nn_module_sourceÚListGetItemSourceÚLocalSourceÚNonSerializableSetGetItemSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSkipGuardSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSourceÚ"UnspecializedBuiltinNNModuleSourceÚUnspecializedNNModuleSource) Ú_extract_tensor_dictÚbuild_checkpoint_variableÚbuild_invoke_subgraph_variableÚclone_inputÚcommon_constant_typesÚ	dict_keysÚ"enumerate_items_with_dict_positionÚget_fake_valueÚget_locals_to_stealÚget_static_address_typeÚis_frozen_dataclassÚis_functionÚis_function_or_wrapperÚis_invoke_subgraphÚis_lru_cache_wrapped_functionÚis_namedtupleÚis_parameter_freezingÚ	is_typingÚis_utils_checkpointÚis_wrapper_or_member_descriptorÚistypeÚnamedtuple_fieldsÚodict_valuesÚproxy_args_kwargsÚrange_iteratorÚset_example_valueÚtensor_always_has_static_shapeÚtuple_iteratorÚtuple_iterator_getitemÚtuple_iterator_lenÚ unwrap_with_attr_name_if_wrapperÚwrap_fake_exceptioné   )ÚAttributeMutationExistingÚAttributeMutationNewÚtypestrÚValueMutationExistingÚValueMutationNewÚVariableTrackerÚVariableTrackerMeta)ÚBuiltinVariable©ÚConstantVariable)ÚAutocastModeVariableÚCudagraphOverrideVariableÚDynamoConfigPatchVariableÚErrorOnGraphBreakVariableÚNullContextVariableÚPreserveVersionContextVariable)ÚConstDictVariableÚDefaultDictVariableÚMappingProxyVariableÚSetVariable)ÚWorldMetaClassVariable)ÚBuiltinMethodVariableÚCollectionsNamedTupleFunctionÚ!CollectiveFunctionRewriteVariableÚ'CreateTMADescriptorExperimentalVariableÚ!CreateTMADescriptorStableVariableÚFunctoolsPartialVariableÚSysFunctionVariableÚTritonKernelVariableÚTritonSetAllocatorVariableÚUserFunctionVariableÚWrapperUserFunctionVariable)Ú"LocalMapWrappedHigherOrderVariableÚ TorchHigherOrderOperatorVariable)ÚCountIteratorVariableÚItertoolsVariable)ÚLazyConstantVariableÚLazyVariableTracker)ÚBaseListVariableÚListIteratorVariableÚListVariableÚRangeVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚConstantLikeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚGetSetDescriptorVariableÚIgnoredFunctionVariableÚLambdaVariableÚLoggingLoggerVariableÚMethodWrapperVariableÚNumpyDTypeVariableÚNumpyVariableÚObjectVariableÚPythonModuleVariableÚRandomClassVariableÚRandomVariableÚSavedTensorBoxÚStringFormatVariableÚTorchVersionVariableÚTypingVariableÚWeakRefVariable)ÚFSDPManagedNNModuleVariableÚ$UnspecializedBuiltinNNModuleVariableÚUnspecializedNNModuleVariable)ÚOptimizerVariable)ÚOpaqueObjectClassVariableÚTorchScriptObjectVariable©ÚSDPAParamsVariable)ÚDictKeySetVariableÚFrozensetVariableÚOrderedSetClassVariableÚOrderedSetVariable)ÚEventVariableÚStreamContextVariableÚStreamVariable)ÚNumpyNdarrayVariableÚ$supported_const_comparison_op_valuesÚSymNodeVariableÚTensorSubclassVariableÚTensorVariableÚUnspecializedPythonVariable)ÚDispatchKeySetVariableÚFuncTorchInterpreterVariableÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)ÚTensorWithTFOverrideVariableÚ#torch_function_mode_stack_state_mgrÚTorchFunctionModeVariable)ÚFrozenDataClassVariableÚInspectVariableÚIntWrapperVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedConstantVariableÚUserDefinedDictVariableÚ!UserDefinedExceptionClassVariableÚUserDefinedListVariableÚUserDefinedObjectVariableÚUserDefinedSetVariableÚUserDefinedTupleVariableÚnp)Ú	PyCodegen)ÚInstructionTranslatorÚInstructionTranslatorBaseÚcudagraph_static_inputs)ÚTypeVarÚVTTypeAliasÚTÚtÚreturnc                 óÈ   — t         j                  j                  t         j                  j                  j                  «      5  t        | d«      cd d d «       S # 1 sw Y   y xY w)NÚgrad)ÚtorchÚ_loggingÚhide_warningsÚ	_internalÚsafe_grad_filterÚhasattr)r  s    ú^/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_dynamo/variables/builder.pyÚsafe_has_gradr  W  sC   € Ü	�‰×	%Ñ	%¤e§n¡n×&>Ñ&>×&OÑ&OÓ	Pñ "Ü�q˜&Ó!÷"÷ "ò "ús   ÁAÁA!c                   ó   — e Zd Zy)Ú_missingN©Ú__name__Ú
__module__Ú__qualname__© ó    r  r  r  \  s   „ Ør  r  c                   óZ  — e Zd ZU edz  ed<   eed<   eed<   ej                  j                  j                  dz  ed<   dZeed<   dZej                  ej                  z  dz  ed<   d	ed
eddfd„Zedej                  ej                  z  ez  dz  fd„«       Zdd„Zdd„Zdd„Zdedefd„Zy)ÚGraphArgNÚsourceÚ_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorÚexample_strong_refÚnameÚvaluer	  c                 ó2   — t         j                  | ||«       y ©N)ÚobjectÚ__setattr__)Úselfr$  r%  s      r  r)  zGraphArg.__setattr__„  s   € ô
 	×Ñ˜4  uÕ-r  c                 óz   — t        | j                  t        «      r| j                  «       }|€J ‚|S | j                  S r'  )Ú
isinstancer  r<   )r*  Úrs     r  ÚexamplezGraphArg.example‹  s4   € ä�d—m‘m¤]Ô3Ø—‘“ˆAØ�=Ð �=ØˆHà—=‘=Ð r  c                 ó°   — t        | j                  t        j                  «      r2t	        | j                  «      | _        t        | j                  «      sJ ‚y y r'  )r,  r  r  ÚTensorr<   r#   r!  ©r*  s    r  Ú__post_init__zGraphArg.__post_init__”  s=   € Ü�d—m‘m¤U§\¡\Ô2Ü)¨$¯-©-Ó8ˆDŒMÜ˜4×+Ñ+Ô,Ð,Ñ,ð 3r  c                 ó(   —  || j                   «       y r'  ©r  ©r*  Úcodegens     r  ÚreconstructzGraphArg.reconstruct™  s   € Ù�—‘Õr  c                 ó    — d | _         d | _        y r'  )r  r#  r1  s    r  ÚerasezGraphArg.eraseœ  s   € ØˆŒØ"&ˆÕr  Úotherc                 óÌ   — t        |t        «      sy| j                  €|j                  d u S |j                  €y| j                  j                  |j                  j                  k(  S )NF)r,  r  r  r$  )r*  r:  s     r  Ú__eq__zGraphArg.__eq__   sT   € Ü˜%¤Ô*ØØ�;‰;ÐØ—<‘< 4Ð'Ð'à�|‰|Ð#ØØ—;‘;×#Ñ# u§|¡|×'8Ñ'8Ñ8Ð8r  ©r	  N©r6  r  r	  N)r  r  r  rj   Ú__annotations__r   Úboolr  Ú_subclassesr!  r!   r"  r#  r0  r   Ústrr)  Úpropertyr(   r.  r2  r7  r9  r(  r<  r  r  r  r  r  `  sÒ   … à�T‰MÓð ƒMð" ÓØ×"Ñ"×.Ñ.×9Ñ9¸DÑ@Ó@ð €IˆtÓð >BÐ˜Ÿ™ u§|¡|Ñ3°dÑ:ÓAð. ð .¨Cð .°Dó .ð ð!˜Ÿ™¨¯©Ñ4°}ÑDÀtÑKò !ó ð!ó-ó
ó'ð9˜Fð 9 tô 9r  r  c                   ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )ÚBackwardStateGraphArgc                 ó>   •— t         ‰| �  d t        «       dd d¬«       y )NF)r  r  r   r!  r"  )ÚsuperÚ__init__r(   )r*  Ú	__class__s    €r  rH  zBackwardStateGraphArg.__init__¬  s&   ø€ Ü‰ÑØÜ"“_Ø$ØØð 	õ 	
r  c                 ó  ‡— ‰j                   j                  j                  sJ ‚‰j                  ˆfd„«       ‰j	                  dd«       ‰j                  «        ‰j                  ‰j                   j                  j                  «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )Nr(   )Úload_import_fromr(   r  )r6  s   €r  ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>¸  s   ø€ �G×,Ñ,¬]×-EÑ-EÀÓW€ r  r   F)ÚtxÚoutputÚbackward_state_varÚadd_push_nullÚcall_functionÚdup_topÚstorer5  s    `r  r7  z!BackwardStateGraphArg.reconstructµ  se   ø€ Ø�z‰z× Ñ ×3Ò3Ð3Ð3Ø×ÑÛWô	
ð 	×Ñ˜a Ô'Ø�‰ÔØ�‰�g—j‘j×'Ñ'×:Ñ:Õ;r  r=  r>  )r  r  r  rH  r7  Ú__classcell__©rI  s   @r  rE  rE  «  s   ø„ õ
÷<r  rE  c              #   ó„   K  — | ]8  \  }}|j                  d «      s"t        j                  |«      rt        |«      –— Œ: y­w)Ú_N)Ú
startswithÚinspectÚisclassÚid)Ú.0r$  Úmembers      r  ú	<genexpr>r_  Á  s7   è ø€ ò /áˆˆfØ�?‰?˜3Ô¤G§O¡O°FÔ$;ô €v‡Jñ/ùs   ‚>A ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc            
       ó°  ‡ — e Zd ZdZ	 d5dddededdfˆ fd„Zd	edefd
„Z	d	edefd„Z
dedefd„Zdefd„Zdedef   deeef   dz  fd„Zedeeedef   f   fd„«       Zeej*                  dedeeedef   f   fd„«       «       Zd	ej0                  e   defd„Zd	ej8                  e   defd„Zd	ej@                  jB                  jD                  de#fd„Z$d	ede%fd„Z&d	edefd„Z'eej*                  dee(ed egef   f   fd„«       «       Z)d	edefd„Z*d	edefd„Z+d	e,e-edf   e.e   e/e0f   defd„Z1d	e2defd„Z3d	e4defd„Z5d	edefd „Z6d	e7e8z  de9e:z  fd!„Z;d	ejx                  d"eddfd#„Z=d	ej|                  j~                  defd$„Z@d	edefd%„ZAd	e(defd&„ZBd	eCdefd'„ZDeEd	e(d(ee(gef   defd)„«       ZFeEd	eCd(eeCgef   defd*„«       ZFeE	 d6d	e(eCz  ez  ez  d(ddefd+„«       ZF	 d6d	e(eCz  ez  ez  d(eegef   dz  defd,„ZFd	ejx                  ddfd-„ZGd	ejx                  defd.„ZHd	edefd/„ZI	 	 d7d	e(d0eJdz  d1eKdz  defd2„ZLd	eCdefd3„ZMd	edefd4„ZNˆ xZOS )8ÚVariableBuilderz3Wrap a python value in a VariableTracker() instancerN  r  r  Úallow_lazy_constantr	  Nc                 ó¶   •— |€J d«       ‚t        j                  «       €J d«       ‚t        ‰| �  «        || _        || _        |j                  | _        || _        y )NzRConsider SourcelessBuilder for ephemeral objects, usually objects created locally.zExpected active TracingContext)r   Útry_getrG  rH  rN  r  r$  rd  )r*  rN  r  rd  rI  s       €r  rH  zVariableBuilder.__init__Ó  sf   ø€ ð Ð!ð 	
Ø`ó	
Ð!ô ×%Ñ%Ó'Ð3ÐUÐ5UÓUÐ3Ü‰ÑÔØˆŒØˆŒØ—K‘KˆŒ	ð $7ˆÕ r  r%  c                 óx  — t        j                  «       }	 | j                  |«      | j                  j                  j
                  xj                  t        j                  «       |z
  z  c_        S # | j                  j                  j
                  xj                  t        j                  «       |z
  z  c_        w xY wr'  )ÚtimeÚtime_nsÚ
_call_implrN  rO  Úbytecode_tracing_timingsÚvariable_builder_call_ns)r*  r%  Ú_t0s      r  Ú__call__zVariableBuilder.__call__æ  sy   € Ü�l‰l‹nˆð	Ø—?‘? 5Ó)à�G‰G�N‰N×3Ñ3×LÒLÜ—‘“ Ñ$ñÖLøˆD�G‰G�N‰N×3Ñ3×LÒLÜ—‘“ Ñ$ñÖLús   –A/ Á/A
B9c                 óÐ  — | j                   j                  j                  j                  j	                  | j
                  «       || j                   j                  j                  v r§| j                   j                  j                  |   }t        | j
                  |j
                  «      }|r| j                  |«       t        |t        j                  j                  «      r+t        |t        «      r|j                  | j
                  «       |S | j                   j                  j                  j!                  | j
                  «      }|r| j"                  st        |t$        «      s|S | j'                  |«      }|j
                  €| j
                  |_        dt(        dt*        dt,        fd„}| j/                  |«      s	 |||«      r]|| j                   j                  j                  vr;t1        |«      s0| j                   j                  j                  j3                  ||«      }d| j
                  j4                  vr-|| j                   j                  j                  | j
                  <   |S )Nr%  Úvtr	  c                 ó`   — t        | «      xs t        | t        «      xr t        |t        «      S r'  )r   r,  r*   rç   )r%  rp  s     r  Ú_is_deduplicable_sym_variablezAVariableBuilder._call_impl.<locals>._is_deduplicable_sym_variable  s,   € ô ˜UÓ#ÒH¤z°%¼Ó'Hò2ä˜R¤Ó1ð2r  ÚJVP_NESTING)rN  rO  Úcurrent_tracerÚtraced_sourcesÚaddr  Úside_effectsrI   Úinstall_guardsr,  r  ÚnnÚModulerØ   Úset_nn_module_stack_sourceÚvariable_tracker_cacheÚgetrd  rµ   Ú_wrapr   r•   r@  Ú_can_lift_attrs_to_inputsr‚   Útrack_object_existingr$  )r*  r%  Úside_effect_resultÚ	dup_guardÚ	cached_vtrp  rr  s          r  rj  zVariableBuilder._call_implï  sÇ  € Ø�‰�‰×%Ñ%×4Ñ4×8Ñ8¸¿¹ÔEØ�D—G‘G—N‘N×/Ñ/Ñ/Ø!%§¡§¡×!<Ñ!<¸UÑ!CÐÜ'¨¯©Ð5G×5NÑ5NÓOˆIÙØ×#Ñ# IÔ.ä˜%¤§¡§¡Ô1´jØ"Ô$Aô7ð #×=Ñ=¸d¿k¹kÔJØ%Ð%à—G‘G—N‘N×9Ñ9×=Ñ=¸d¿k¹kÓJˆ	Ùð ×'Ò'¬zØÔ.ô0ð !Ð à�Z‰Z˜Óˆà�9‰9ÐØŸ™ˆBŒIð	2´ð 	2¼/ð 	2Ìdó 	2ð ×.Ñ.¨rÔ2Ù0°¸Ô;à˜TŸW™WŸ^™^×8Ñ8Ñ8Ü3°EÔ:à—‘—‘×,Ñ,×BÑBÀ5È"ÓMˆBð  §¡× 0Ñ 0Ñ0ØACˆD�G‰G�N‰N×1Ñ1°$·+±+Ñ>Øˆ	r  rp  c                 óN   — t        |«      t        t        t        t        t
        hv S r'  )Útyperé   rï   rý   rå   rÛ   )r*  rp  s     r  r  z)VariableBuilder._can_lift_attrs_to_inputs/  s'   € Ü�B‹xÜÜ(Ü%Ü Ü%ð
ð 
ð 	
r  c                 ó   — | j                   S r'  r4  r1  s    r  Ú
get_sourcezVariableBuilder.get_source8  s   € Ø�{‰{Ðr  Úguards.c                 ó¢   — | j                  «       }	 |D �cg c]  }|j                  |«      ‘Œ }}t        |ddiŽ i S c c}w # t        $ r Y y w xY w)NÚskipr�   )r‡  Ú
make_guardÚNotImplementedErrorrH   )r*  rˆ  r  ÚguardÚtmps        r  rx  zVariableBuilder.install_guards;  s]   € Ø—‘Ó"ˆð	Ø9?Ö@°�6×$Ñ$ UÕ+Ð@ˆCÐ@ô 	�sÐ# Ò#Øˆ	ùò	 AøÜ"ò 	Ùð	ús   ’A –=®A ½A Á	AÁAc                 ó@   — | j                  t        j                  «      S r'  )Ú_type_dispatch_implr>   Útrace_numpy)Úclss    r  Ú_type_dispatchzVariableBuilder._type_dispatchD  s   € à×&Ñ&¤v×'9Ñ'9Ó:Ð:r  r‘  c                 óN  — t         j                  t         j                  j                  t         j                  j
                  t         j                  j                  j                  f| j                  ft        t        t        t        j                  t         j                  f| j                  ft         j"                  | j$                  ft&        | j(                  ft*        | j,                  ft.        t0        f| j2                  ft        t4        «      | j6                  ft8        j:                  | j<                  ft>        j@                  | jB                  ft         jD                  jF                  jH                  | jJ                  ft         jL                  jN                  | jP                  ftR        jT                  | jV                  fg}|r1tX        r+|j[                  tX        j\                  | j^                  f«       i }|D ]*  \  }}ta        |t        «      r|n|fD ]  }||vsJ ‚|||<   Œ Œ, |S r'  )1r  r0  ry  Ú	ParameterrA  r!   Úfunctional_tensorÚFunctionalTensorÚwrap_tensorÚtupleÚlistr…   ÚcollectionsÚdequeÚSizeÚwrap_listlikeÚ	itertoolsÚcountÚwrap_itertools_countrŠ   Úwrap_tuple_iteratorr‡   Úwrap_range_iteratorÚsliceÚrangeÚwrap_slice_rangers   Úwrap_literalÚreÚPatternÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionÚtypesÚMappingProxyTypeÚwrap_mapping_proxyr   ÚappendÚndarrayÚwrap_numpy_ndarrayr,  )r’  r‘  ÚentriesÚresultÚtsÚfnr  s          r  r�  z#VariableBuilder._type_dispatch_implH  s¸  € ô —L‘LÜ—H‘H×&Ñ&Ü×%Ñ%×0Ñ0Ü×%Ñ%×7Ñ7×HÑHð	ð —‘ðô œœl¬K×,=Ñ,=¼u¿z¹zÐJØ×!Ñ!ðô �_‰_˜c×6Ñ6Ð7Ü˜S×4Ñ4Ð5Ü˜S×4Ñ4Ð5Ü”Uˆ^˜S×1Ñ1Ð2ÜÔ(Ó)¨3×+;Ñ+;Ð<Ü�Z‰Z˜×/Ñ/Ð0Ü×"Ñ" C×$4Ñ$4Ð5Ü�[‰[×Ñ×.Ñ.°×0IÑ0IÐJÜ�Y‰Y×%Ñ% s×'<Ñ'<Ð=Ü×#Ñ# S×%;Ñ%;Ð<ð/
ˆñ4 �2à�N‰NœBŸJ™J¨×(>Ñ(>Ð?Ô@ð ˆØò 	‰FˆB�Ü% b¬%Ô0‘R°r°eò �Ø ‘Ð&�Ø��q’	ñð	ð
 ˆr  c                 óV   — | j                  t        j                  «       t        |«      S r'  )rx  rG   ÚID_MATCHrÂ   ©r*  r%  s     r  rª  z"VariableBuilder.wrap_regex_patterns  s!   € à×ÑœL×1Ñ1Ô2Ü# EÓ*Ð*r  c                 ó˜   — | j                  t        j                  «       t        j                  | j
                  || j                  ¬«      S ©Nr4  )rx  rG   Ú
TYPE_MATCHrÕ   ÚbuildrN  r  rÁ  s     r  r­  zVariableBuilder.wrap_weakrefx  s3   € Ø×ÑœL×3Ñ3Ô4Ü×$Ñ$ T§W¡W¨e¸D¿K¹KÔHÐHr  c                 ó"   — t        dddg ¬«       y )Nz3Attempted to represent unregistered RemovableHandleÚ z±Dynamo attempted to build a representation of a torch.utils.hooks.RemovableHandle, which is not supported. This happens because the RemovableHandle was created in another frame.©Úgb_typeÚcontextÚexplanationÚhints)rF   rÁ  s     r  r±  z%VariableBuilder.wrap_removable_handle|  s   € ô 	ØIØðmàö	
r  c                 ó  — t        |d«      s5t        ddt        |«      j                  › �dg t        j
                  ¢¬«       | j                  t        j                  «       t        |d| j                  t        «       ¬«      S )NÚ_torchdynamo_inlinez.wrap_jit_function: missing _torchdynamo_inlineztype: zfDynamo expected a JIT function with a _torchdynamo_inline attribute, but the object does not have one.rÈ  ©r  Úmutation_type)r  rF   r…  r  r?   ÚSUPPORTABLErx  rG   rÄ  r¯   r  r�   rÁ  s     r  r´  z!VariableBuilder.wrap_jit_function‹  sw   € Ü�uÐ3Ô4ÜØHØ ¤ e£×!5Ñ!5Ð 6Ð7ð4à6Ô)×5Ñ5Ð6õð 	×ÑœL×3Ñ3Ô4Ü*ØØ!Ø—;‘;Ü3Ó5ô	
ð 	
r  c           
      ót  ‡ ‡— ‰ j                  t        j                  «       ‰ j                  t        j                  «       t	        d„ |D «       «      }|sEt        dd|j                  «       D �cg c]  }t        j                  |«      rŒ|‘Œ c}› �ddg¬«       dt        dt        d	t        t        t        f   fˆ fd
„Št        ˆfd„|j                  «       D «       «      }t        |d ¬«      }t        |‰ j                   ¬«      }‰ j"                  j$                  j&                  j)                  ||«      S c c}w )Nc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr'  ©r™   Ú
is_literal©r]  Úks     r  r_  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>¡  s   è ø€ ÒF¸1Ô(×3Ñ3°A×6ÑFùó   ‚!znon-const keys in mappingproxyúnon-const keys: z1Dynamo expects mappingproxy keys to be constants.zFEnsure your mappingproxy keys are constants (e.g. int, float, strings)rÈ  r×  Úvr	  c                 óš   •— t        j                  | «      }| }t        ‰j                  «       |«      }t	        j                  ||«      }||fS r'  )r™   Úcreater[   r‡  rµ   )r×  rÚ  ÚkeyÚ
source_keyÚsource_valueÚ	res_valuer*  s         €r  Úbuild_key_valuez;VariableBuilder.wrap_mapping_proxy.<locals>.build_key_value­  sG   ø€ Ü"×)Ñ)¨!Ó,ˆCØˆJä(¨¯©Ó):¸JÓGˆLÜ+×2Ñ2°1°lÓCˆIà˜	�>Ð!r  c              3   ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wr'  r  )r]  r×  rÚ  rá  s      €r  r_  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>¶  s   øè ø€ ÒE©t¨q°!‘_ Q¨×*ÑEùs   ƒr4  )rx  rG   rÄ  ÚMAPPING_KEYS_CHECKÚallrF   Úkeysr™   rÕ  r   r™  r•   ÚdictÚitemsr    r¢   r  rN  rO  rw  Útrack_mutable)r*  r%  Ú	all_constr×  rç  Údict_vtr¼  rá  s   `      @r  r·  z"VariableBuilder.wrap_mapping_proxyœ  s  ù€ Ø×ÑœL×3Ñ3Ô4ð 	×ÑœL×;Ñ;Ô<ÜÑFÀÔFÓFˆ	áÜØ8Ø*°u·z±z³|Ö+j°!ÔK[×KfÑKfÐghÕKiªAÒ+jÐ*kÐlØOà\ðõ	ð	"œsð 	"¤sð 	"¬u´_ÄoÐ5UÑ/Võ 	"ô ÓE°u·{±{³}ÔEÓEˆô $ E°$Ô7ˆÜ% g°d·k±kÔBˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò+ ,ks   Á.D5Â	D5c                 óæ   — ddl m } |d„ ft        j                  d„ ft        j                  d„ fg}i }|D ]9  \  }}t        |t        t        f«      r|n|fD ]  }||vsJ ‚||t        |«      <   Œ Œ; |S )Nr=   )Úcomptimec                 ó   — t        «       S r'  )rÁ   rÁ  s     r  rM  z.VariableBuilder._id_dispatch.<locals>.<lambda>Å  s
   € Ô+;Ó+=€ r  c                 ót   — t        t        fd| j                  i| j                  t        j
                  «      ¤ŽS )Nr  )rÈ   Ú_dataclasses_fields_lambdar  rx  rG   ÚCLOSURE_MATCHrÁ  s     r  rM  z.VariableBuilder._id_dispatch.<locals>.<lambda>È  s5   € ¤NÜ.ñ%àŸ;™;ð%ð ×)Ñ)¬,×*DÑ*DÓEñ%€ r  c                 ó   — t        «       S r'  )rÓ   rÁ  s     r  rM  z.VariableBuilder._id_dispatch.<locals>.<lambda>Î  s
   € Ô4HÓ4J€ r  )	rì  ÚdataclassesÚfieldsr  Ú__version__r,  r™  rš  r\  )r’  rì  r»  r¼  r½  r¾  r  s          r  Ú_id_dispatchzVariableBuilder._id_dispatch½  s—   € õ
 	(ð Ñ=Ð>ä×"Ñ"ñðô ×ÑÑ JÐKð
ˆð ˆØò 	#‰FˆB�Ü% b¬5´$¨-Ô8‘R¸r¸eò #�Ø ‘Ð&�Ø "�”r˜!“u’ñ#ð	#ð
 ˆr  c                 óHm  ‡ ‡‡B‡C— ddl m}m}m} ddlm}m}m}  |«       rddlm	} ddl
m}	 n G d„ d«      }	 G d	„ d
«      }dld„}
dld„} G d„ d«      }dld„} |«       rddlm}
m}  |«       rddlm}  |«       rdd l}t%        |d«      r|j&                  }‰ j)                  «       j+                  t-        ‰«      «      }|�	 |‰ ‰«      S ‰ j/                  «       j+                  t1        ‰«      «      }|�	 |‰ ‰«      S t3        ‰t4        j6                  «      r¾t-        ‰«      t4        j8                  j:                  j<                  t4        j8                  j:                  j>                  t@        fvrft-        ‰«      tB        jD                  vrKt-        ‰«      jF                  t4        j6                  jF                  u stI        ‰«      r‰ jK                  ‰«      S tM        ‰«      rô‰ jO                  tP        jR                  «       tU        t-        ‰«      «      D �cg c]7  }tW        jX                  t[        ‰|«      t]        ‰ j^                  |«      ¬«      ‘Œ9 }}ta        |‰ j^                  tc        «       ¬«      } te        jf                  t-        ‰«      «      ‰‰ j^                  |¬«      }‰ jh                  jj                  jl                  jo                  ‰|«      S tq        ‰tr        tt        jv                  tt        jx                  f«      �r}‰ jO                  tP        jz                  «       t}        d„ ‰D «       «      ŠB‰Bs9‰ jh                  jj                  j~                  j�                  ‰ j^                  «       dt‚        dt‚        dt‚        dt„        t†        t†        f   fˆBˆ fd„ŠCts        ˆCfd„t‰        ‰«      D «       «      }tq        ‰tt        jv                  «      r]t]        ‰ j^                  d«      }t‹        |t-        ‰«       t�        ‰ jh                  |«      ‰jŽ                  «      ‰ j^                  ¬«      }n!t‘        |t-        ‰«      ‰ j^                  ¬«      }‰ jh                  jj                  jl                  j“                  ‰|«      S t3        ‰t4        j8                  j”                  «      r‰ j—                  ‰«      S t™        jš                  ‰«      r‰ j�                  ‰«      S t3        ‰t4        jž                  j                   «      rIt£        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«       |S tq        ‰t¤        t¦        f«      �rŽt©        d „ ‰D «       «      r t«        d!d"d#d$gt¬        j®                  ¢¬%«       ‰ jO                  tP        jz                  «       ‰ jO                  tP        jR                  «       t°        }tq        ‰t¦        «      rst]        ‰ j^                  d&«      }t³        |jµ                  tP        j¶                  «      «       ‰ jh                  jj                  j~                  j�                  |«       t¸        }t»        ‰«      }t½        |«      D ��cg c]0  \  }}tW        jX                  |t¿        ‰ j^                  |«      ¬«      ‘Œ2 }}} ||‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«      S tq        ‰tÀ        «      rut}        d'„ ‰D «       «      rc‰D �cg c]"  }tÂ        jY                  ‰ jh                  |«      ‘Œ$ }}‰ jO                  tP        jÄ                  «       tÇ        |‰ j^                  ¬«      S t3        ‰tÈ        jÊ                  t4        jÌ                  t4        jÎ                  jÐ                  jÒ                  f«      r6‰ jO                  tP        jÔ                  «       t×        ‰‰ j^                  ¬«      S tÙ        jÚ                  ‰«      r6‰ jO                  tP        jÜ                  «       tÙ        ‰‰ j^                  ¬«      S tß        ‰«      rlt©        ˆfd(„t4        jà                  jB                  jâ                  D «       «      r6‰ jO                  tP        jÔ                  «       tå        ‰‰ j^                  ¬«      S t3        ‰tæ        jè                  «      r6‰ jO                  tP        jz                  «       të        ‰‰ j^                  ¬«      S tí        ‰«      rtï        ‰ j^                  ¬«      S tñ        ‰«      rtó        ‰ j^                  ¬«      S tõ        jö                  ‰«      r tõ        jø                  ‰ j^                  ¬«      S t3        ‰tú        jü                  «      �rãt]        ‰ jÿ                  «       d)«      } t�        ‰ jh                  |«      ‰�j                   «      }g }t]        ‰ jÿ                  «       d*«      } t½        ‰�j                  «      D ]<  \  }}!|�j                   t�        ‰ jh                  �t        | |«      «      |!«      «       Œ> i }"t]        ‰ jÿ                  «       d+«      }#‰�j                  �j                  «       D ]g  \  }$}t™        jš                  |$«      s#t«        d,d-|$› �d.g t¬        �j                  ¢¬%«        t�        ‰ jh                  �t        |#|$«      «      |«      |"|$<   Œi t³        ‰ jÿ                  «       jµ                  tP        jz                  «      |#jµ                  tP        j¶                  «      | jµ                  tP        jR                  «      «       t[        ‰d/d «      }%�t        |||"|%¬0«      S �t        ‰«      r7‰ jO                  tP        jÔ                  «       �t        ‰‰ j^                  ¬«      S �t        �Ct3        ‰�t        �j                  «      r'‰ �j                  �t        �j                  ‰«      «      S �t        �j                   ‰«      �rW�t        sJ ‚tq        ‰�t"        �j$                  «      r`�t'        �j(                  ‰�j*                  «      røt³        t]        ‰ j^                  d1«      jµ                  tP        �j,                  «      «       nº�t'        �j.                  ‰«      r!‰ jO                  tP        �j0                  «       n‚�t'        �j(                  ‰«      r!‰ jO                  tP        �j,                  «       nJtß        ‰«      r ‰ jO                  tP        jÔ                  «       n‰ jO                  tP        jz                  «       �t3        ‰‰ j^                  ¬«      S �t        �j4                  ‰«      r7‰ jO                  tP        jÔ                  «       �t7        ‰‰ j^                  ¬«      S �t        �j8                  ‰«      r±t3        ‰�t        �j:                  «      r^‰ jO                  tP        jz                  «       t]        ‰ j^                  d2«      }&t³        |&jµ                  tP        jÔ                  «      «       n‰ jO                  tP        jÔ                  «       �t=        ‰‰ j^                  ¬«      S �t?        �j@                  ‰«      rM‰ jO                  tP        �j,                  «       �t?        jX                  ‰ jh                  ‰‰ j^                  ¬«      S tq        ‰t4        �jB                  �jD                  �jF                  «      r8‰ jO                  tP        �j0                  «       �tI        ‰‰ j^                  ¬«      S t3        ‰t4        �jB                  �jD                  �jJ                  «      �r4d }'	 ‰�jL                  }'g }(‰ j^                  jµ                  tP        jz                  «      g})t3        |'t„        «      r�t]        ‰ j^                  d3«      }*|)�j                  |*jµ                  tP        jR                  «      «       t½        |'«      D ]<  \  }}|(�j                   t�        ‰ jh                  �t        |*|«      «      |«      «       Œ> t³        |)Ž  ‰ jh                  jj                  jl                  jo                  ‰�tQ        ‰‰ j^                  �tS        |(«      ¬4«      «      S t3        ‰�t"        �j$                  «      rìtq        t[        ‰d5d «      t4        �jB                  �jD                  �jF                  «      r°t[        ‰d6d7«      d8k(  r ‰t[        ‰�jT                  d8d «      k(  r…t³        t]        ‰ jÿ                  «       d1«      jµ                  tP        �j,                  «      «       �tW        �tI        ‰�jT                  t]        ‰ j^                  d5¬9«      ¬«      d8t-        ‰«      ¬:«      S t3        ‰t4        jÎ                  �jX                  «      r7‰ jO                  tP        jÔ                  «       �t[        ‰‰ j^                  ¬«      S ‰t4        jà                  �j\                  �j^                  �j`                  u r/‰ jO                  tP        �j,                  «       �tc        ˆ fd;„«      S t3        ‰|«      r�te        ‰�jf                  «      S t3        ‰|«      r�ti        ‰�jj                  «      S t3        ‰|«      r#�tm        ‰�jn                  ‰�jp                  «      S tß        ‰«      r|�t        �jr                  ‰«      �e�t        �jt                  ‰«      rd<‰ jh                  jj                  _»        �t        �jr                  ‰«      �jy                  ‰‰ j^                  ¬«      S �t        r.t3        ‰�t        �jz                  «      r‰ �j}                  ‰«      S t3        ‰�t~        «      ro‰t4        �j€                  �j‚                  u rt«        d=d7d>g ¬%«       ‰ jO                  tP        jz                  «       �t…        �j†                  ‰‰ j^                  ¬«      S t3        ‰t4        �jˆ                  �jŠ                  «      r}‰ jO                  tP        jÔ                  «       t]        ‰ j^                  d?«      }+ t�        ‰ jh                  |+«      ‰�jŒ                  «      },�t�        jX                  ‰ jh                  |,«      S t3        ‰t4        �j�                  «      rê‰ jO                  tP        jz                  «       t3        ‰ j^                  �t’        «      r�t”        }-n�t—        ‰‰ j^                  «      }-‰ jh                  jj                  �j™                  d@�tš        |-fi «      }.�t�        |.�jž                  ‰«       �t¡        |.‰‰ j^                  |-¬A«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰t4        jÎ                  �j¢                  «      rK‰ jO                  tP        jz                  «       �t¥        jX                  ‰ jh                  ‰‰ j^                  «      S t3        ‰t4        jÐ                  �j¦                  �j¨                  «      r+‰ jO                  tP        jÔ                  «       �t«        ‰«      S t3        ‰t4        �j¬                  «      r—‰ jO                  tP        jz                  «       �t—        ‰‰ j^                  «      }-‰ jh                  jj                  �j™                  d@�tš        |-fi «      }/�t�        |/�jž                  ‰«       �t¯        |/‰|-‰ j^                  ¬«      S tq        ‰�t°        �j²                  «      rO�t'        �j´                  ‰dBd «      €6‰ jO                  tP        jz                  «       �t·        ‰ j^                  ¬«      S �t¹        �jº                  ‰«      rg‰ jO                  tP        jz                  «       �t¹        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰t4        �j¼                  �j¾                  «      r\‰ jO                  tP        jÔ                  «       �tÁ        ‰ j^                  «      ‰ _/        �tÃ        ‰‰ j^                  �tÅ        «       ¬«      S t3        ‰t4        �jÆ                  «      r,‰ jO                  tP        �jÈ                  «       �tË        ‰«      S �tÍ        �jÎ                  ‰«      r�tÍ        ‰‰ j^                  ¬«      S ‰t¦        u r*‰ jO                  tP        jÔ                  «       �tÑ        «       S t1        ‰«      �tÒ        v rJt1        ‰«      �tÔ        vr8‰ jO                  tP        �j0                  «       �t×        ‰‰ j^                  ¬«      S t3        ‰�tØ        «      �rwt3        ‰�tÚ        «      }0�tÝ        ‰ j^                  |0«      }1t1        ‰«      ‰ jh                  jj                  �jÞ                  �jà                  v r9‰ jh                  jj                  �jÞ                  �jà                  t1        ‰«         }2n·‰ jh                  jj                  �jâ                  �jå                  ‰�jæ                  |1�tè        �jê                  ¬C«      }3‰ jh                  jj                  �jâ                  �jí                  |3‰�jæ                  |1¬D«      }2t3        |2�tî        «      s�tñ        dEt-        |2«      › �«      ‚‰ jh                  jj                  �jÞ                  �jó                  �tõ        �jö                  dFdG‰ �jø                  «      t-        |2«      |2|1¬«      }4�tû        |1|2dHd dH|2¬I«      |4�jž                  �jü                  dJ<   |2�jž                  �jþ                  }5t3        |5�t         �j                  «      s
J |5› dK�«       ‚‰ jh                  jj                  �j                  �j                  �t        |2|1d «      «       �t	        jX                  ‰ jh                  |4|2«      S �t        ‰«      �r�t3        ‰t4        �jî                  «      r‰ j^                  n�t        ‰ j^                  «      }1d }6‰�jž                  �j                  «       re‰ jh                  jj                  �jâ                  �j                  �t        ‰�jž                  �j                  «      |1�tè        �jê                  ¬L«      }6nkt3        ‰t4        �j                  «      r1‰ jh                  jj                  �jâ                  �j                  «       }6nt«        dMd7dNg t¬        j®                  ¢¬%«       |6€J ‚t3        |6�tî        «      s�tñ        dEt-        |6«      › �«      ‚‰ jh                  jj                  �jÞ                  �jó                  �tõ        �jö                  dFdG‰ �jø                  «      t-        |6«      |6|1¬«      }4�tû        |1|6dHd dH|6¬I«      |4�jž                  �jü                  dJ<   |6�jž                  �jþ                  }5t3        |5�t         �j                  «      s
J |5› dK�«       ‚‰ jh                  jj                  �j                  �j                  �t        |6|1d «      «       t3        ‰t4        �jî                  «      r|6n|6dOk(  }7�t	        |4|7«      S t3        ‰|	|f«      r9‰ jO                  tP        jÔ                  «       �t        ‰d d ‰ j^                  ¬«      S ‰|
u r�t        dO¬P«      S ‰|u r�t        d¬P«      S ‰|�j                  u r�t!        «       S ‰|u r�t#        ‰«      S t3        ‰t4        �j$                  �j&                  �j(                  «      rªt3        ‰t4        �j$                  �j&                  �j*                  «      r‰ �j-                  ‰«      S ‰ jO                  tP        jÔ                  «       �t/        ‰�j0                  ‰�j2                  ‰�j4                  ‰�j6                  g‰ j^                  ¬Q«      S �t9        �j:                  ‰«      r‡�t'        �j.                  ‰«      r!‰ jO                  tP        �j0                  «       n7�t'        �j(                  ‰«      r ‰ jO                  tP        �j,                  «       �t9        ‰‰ j^                  ¬«      S �t'        �j´                  ‰dRdH«      rB‰ jO                  tP        jz                  «       �t=        ‰dS‰ j^                  �tÅ        «       ¬«      S �t?        ‰«      rB‰ jO                  tP        jz                  «       �t=        ‰dT‰ j^                  �tÅ        «       ¬«      S ‰�t@        �jB                  u s)�t@        �jD                  dUk\  r,‰�t@        �jF                  u r�tI        ‰‰ j^                  ¬«      S �tK        ‰«      r[�t'        �j´                  ‰dVdH«      rB‰ jO                  tP        jz                  «       �t=        ‰dV‰ j^                  �tÅ        «       ¬«      S ‰tt        �jL                  u r7‰ jO                  tP        jÔ                  «       �tO        ‰‰ j^                  ¬«      S t3        ‰�t"        �jP                  «      rN�tS        �jT                  ‰«      r7‰ jO                  tP        jÔ                  «       �tS        ‰‰ j^                  ¬«      S �tW        ‰«      rƒ‰�tX        �jZ                  �tX        �j\                  fv r]‰ jO                  tP        jÔ                  «       �tW        �t_        �tX        ‰ j^                  ¬«      ‰�j`                  t-        ‰«      ¬:«      S �tK        ‰«      r_�tc        ‰«      \  Š}8|8�t]        ‰ j^                  |8«      ‰ _/        �t        �jd                  ‰«      �jy                  ‰‰ j^                  ¬«      S ‰�tf        �jh                  u r6‰ jO                  tP        jÔ                  «       �tk        ‰ j^                  ¬«      S tq        ‰�tf        �jh                  «      r€�tm        �jn                  ‰«      ri‰ jO                  tP        jz                  «       �tm        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  j“                  ‰|«       |S t3        ‰�t"        �jp                  �tr        �jt                  f«      rj‰ jO                  tP        �jv                  «       �ty        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«       |S t3        ‰�t"        �jz                  «      r�t}        ‰«      S t3        ‰�t"        �j~                  «      r�t�        ‰«      S �tƒ        t-        ‰«      t,        «      r=�tƒ        ‰�t„        «      r+‰ jO                  tP        jÔ                  «       �t‡        ‰«      S �tƒ        t-        ‰«      t,        «      �r‰t4        �jˆ                  �jŠ                  �jŒ                  t4        j8                  �jŽ                  t4        j8                  �j�                  fv r3�t        �jd                  ‰«      �jy                  ‰‰ j^                  ¬«      S ‰t4        �jB                  �j’                  u rA‰ jO                  tP        �j0                  «       �t•        �j–                  ‰ jh                  «      S �tƒ        ‰t4        j6                  «      r\‰t4        j6                  urJ‰jF                  t4        j6                  jF                  u r$�t™        ‰«      s�t›        ‰‰ j^                  ¬«      S �t�        ‰ j^                  «      s ‰ jO                  tP        �j0                  «       t3        ‰t,        «      r3�tƒ        ‰tÈ        jÊ                  «      r�tŸ        ‰‰ j^                  ¬«      S �t¡        ‰«      r�t£        ‰‰ j^                  ¬«      S �tŸ        ‰‰ j^                  ¬«      S �t¥        �j:                  t-        ‰«      «      �rZddWl/�mS}9�mT}: t3        ‰t4        �jª                  �j¬                  �j®                  «      r‰�j°                  Št4        �jª                  �j¬                  �j³                  ‰«      rÁ‰ jh                  jj                  �jÞ                  �jó                  �tõ        �jö                  dFdG‰ �jø                  «      t-        ‰«      ‰‰ j^                  ¬«      };�tû        ‰ j^                  ‰dHd dH‰«      |;�jž                  �jü                  dJ<   �t¥        jX                  |;‰‰ j^                  ¬«      S �tµ        t-        ‰«      «      r"‰ jO                  tP        �j¶                  «       �n �t¹        t-        ‰«      «      r@‰ jO                  tP        jz                  «       ‰ jO                  tP        �jº                  «       nËt%        ‰dX«      s‰ �j-                  ‰«      S tW        �j¼                   t�        ‰ jh                   |:‰ j^                  «      «      ‰�j¿                  «       �jÁ                  «       «      «       tW        �j¼                   t�        ‰ jh                   |9‰ j^                  «      «      ‰�jÃ                  «       «      «       t4        �jª                  �j¬                  �jÅ                  ‰ jh                  jj                  �jÆ                  ‰«      }<�tµ        t-        ‰«      «      r�tÉ        t-        ‰«      «      s‰}<‰};�n/tB        �jÊ                  r€�tÍ        ‰ j^                  «      s,�tÏ        ‰ j^                  «      s�tÑ        ‰ j^                  «      r>‰ jh                  jj                  �jÓ                  ‰‰ �jø                  ‰ j^                  ¬«      S ‰ jh                  jj                  �jÞ                  �jó                  �tõ        �jö                  dFdG‰ �jø                  «      t-        ‰«      |<‰ j^                  ¬«      };�tû        ‰ j^                  ‰dHd dH|<«      |;�jž                  �jü                  dJ<   �t¥        jX                  |;|<‰ j^                  ¬«      S t3        ‰tr        tt        jx                  f«      �r‡t-        ‰«      �jÔ                  tr        �jÔ                  u �r_‰ jO                  tP        jz                  «       ‰ jO                  tP        jR                  «       ‰ jh                  jj                  j~                  j�                  ‰ j^                  «       dt‚        dt‚        dt‚        dt„        t†        t†        f   fˆ fdY„ŠCts        ˆCfdZ„t‰        ‰«      D «       «      }t‘        |t3        ‰tt        jx                  «      rtt        jx                  ntr        tc        «       ‰ j^                  ¬[«      }=d<|=�_k        �tÙ        ‰|=‰ j^                  ¬\«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰t„        «      �r‰ jO                  tP        jz                  «       ‰ jO                  tP        jR                  «       �tÛ        t„        �jÝ                  ‰«      «      D �cg c]G  }tW        jX                  t„        �jß                  ‰|«      �t        ‰ jÿ                  «       |«      ¬«      ‘ŒI }}ta        |‰ j^                  tc        «       ¬«      }te        ‰|‰ j^                  ¬]«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰tº        «      �r‰ jO                  tP        jz                  «       ‰ jO                  tP        jR                  «       �tÛ        tº        �jÝ                  ‰«      «      D �cg c]G  }tW        jX                  tº        �jß                  ‰|«      �tá        ‰ jÿ                  «       |«      ¬«      ‘ŒI }}�tã        |‰ j^                  tc        «       ¬«      }>�tå        ‰|>‰ j^                  ¬^«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰t¤        tÀ        f«      �ra‰ jO                  tP        jz                  «       ‰ jO                  tP        jR                  «       t»        tr        �jç                  ‰«      «      }�tÛ        tº        �jÝ                  |«      «      D �cg c]F  }tW        jX                  tº        �jß                  ||«      t¿        ‰ jÿ                  «       |«      ¬«      ‘ŒH }}t3        ‰t¤        «      rt°        }?nt3        ‰tÀ        «      sJ ‚tÆ        }? |?|‰ j^                  tc        «       ¬«      }@�té        ‰|@‰ j^                  ¬_«      }‰ jh                  jj                  jl                  jo                  ‰|«      S �tƒ        t-        ‰«      �tê        «      rg‰ jO                  tP        jz                  «       �tí        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«      S �tï        ‰«      rg‰ jO                  tP        jz                  «       �tñ        ‰‰ j^                  ¬«      }‰ jh                  jj                  jl                  jo                  ‰|«      S t3        ‰�tò        «      rñt}        d`„ ‰D «       «      r§‰D �cg c]"  }tÂ        jY                  ‰ jh                  |«      ‘Œ$ }}t³        ‰ jÿ                  «       jµ                  tP        jR                  «      ‰ jÿ                  «       jµ                  tP        jÄ                  «      «       �tõ        |‰ j^                  ¬«      S t«        dadb‰D �$cg c]  }$t™        jš                  |$«      rŒ|$‘Œ c}$› �dcddg¬%«       y �t÷        �jº                  ‰«      �r¬dde�l|�m}}A ‰�jü                  �%‰�jü                  j,                  A�jþ                  k(  r‰ �j                  ‰�j                  «      S ‰�jü                  j,                  A�jê                  k(  r„�t        �j                  df‰ j^                  �jø                  �tè        �jê                  «       ‰ �j                  ‰�j                  �tè        �jê                  �t	        �t        dH¬g«      ¬h«      ¬i«      S ‰�jü                  j,                  A�j                  k(  rm�t        �j                  df‰ j^                  �jø                  �tè        �jê                  «       ‰ �j                  ‰�j                  �tè        �jê                  ¬j«      S �tO        dk‰�jü                  › �«      ‚tq        ‰�t        «      r7‰ jO                  tP        jz                  «       �t        ‰‰ j^                  ¬«      S ‰ �j-                  ‰«      S c c}w c c}}w c c}w # �tN        $ r Y �&Œêw xY wc c}w c c}w c c}w c c}w c c}$w )mNr   )Ú
has_tritonÚ has_triton_experimental_host_tmaÚ%has_triton_tensor_descriptor_host_tmar=   )ÚCudagraphOverrideContextManagerÚDynamoConfigPatchProxyÚ(ErrorOnGraphBreakDecoratorContextManager)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd Zy)ú*VariableBuilder._wrap.<locals>.JITFunctionNr  r  r  r  rþ  r   í  ó   „ Ør  rþ  c                   ó   — e Zd Zy)ú(VariableBuilder._wrap.<locals>.AutotunerNr  r  r  r  rý  r  ð  r  r  rý  r	  c                   ó   — y r'  r  r  r  r  Úcreate_1d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_1d_tma_descriptorô  ó   € Ør  c                   ó   — y r'  r  r  r  r  Úcreate_2d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_2d_tma_descriptor÷  r  r  c                   ó   — e Zd Zedd„«       Zy)ú/VariableBuilder._wrap.<locals>.TensorDescriptorNc                   ó   — y r'  r  r  r  r  Úfrom_tensorz;VariableBuilder._wrap.<locals>.TensorDescriptor.from_tensorû  s   € àr  r=  )r  r  r  Ústaticmethodr  r  r  r  ÚTensorDescriptorr
  ú  s   „ Øòó ñr  r  c                   ó   — y r'  r  r  r  r  Úset_allocatorz,VariableBuilder._wrap.<locals>.set_allocatorÿ  r  r  )r  r  )r  r  r4  rÏ  )r  Útuple_vtc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr'  rÔ  rÖ  s     r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>E  s   è ø€ ÒJ¸qÔ,×7Ñ7¸×:ÑJùrØ  Úir×  rÚ  c                 óè   •— ‰	j                  «       }‰rt        j                  |«      }|}n"t        || «      }t	        j                  ||«      }t        ||«      }t	        j                  ||«      }||fS r'  )r‡  r™   rÜ  rT   rµ   rW   )
r  r×  rÚ  ÚbaserÝ  rÞ  rß  rà  ré  r*  s
           €€r  rá  z.VariableBuilder._wrap.<locals>.build_key_value`  so   ø€ ð —‘Ó(�ÙÜ*×1Ñ1°!Ó4�CØ!"‘Jä!3°D¸!Ó!<�JÜ-×4Ñ4°Q¸
ÓC�CÜ0°°zÓB�Ü/×6Ñ6°q¸,ÓG�	à˜I�~Ð%r  c              3   ó:   •K  — | ]  \  }}} ‰|||«      –— Œ y ­wr'  r  ©r]  r  r×  rÚ  rá  s       €r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>o  ó(   øè ø€ ò á�A�q˜!ñ    1 a×(ñùó   ƒÚdefault_factory)r  r  )Úuser_clsr  c              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wr'  )r,  r  r0  ©r]  Úxs     r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>�  s   è ø€ Ò>°1”:˜a¤§¡×.Ñ>ùs   ‚$&z$Attempted to wrap a set with tensorsz+Python set containing torch.Tensor elementsz©Dynamo cannot trace sets of tensors. To get a stable ordering, Dynamo needs to convert the set into a list and the order might not be stable if the set contains tensors.z,Use a dictionary where the keys are tensors.rÈ  Ú_dictc              3   óô   K  — | ]p  }t        |«      t        j                  u xr |j                  d k(  xs> |t        j
                  j                  j                  v xs t        |t        t        f«      –— Œr y­w)r  N)r…  rµ  ÚBuiltinMethodTyper  r  r®  Ú_pytreeÚBUILTIN_TYPESr,  r   r    r  s     r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>¸  sr   è ø€ ò .
ð ô �a“œE×3Ñ3Ð3ÒO¸¿¹ÈÑ8Oò >ð ”U—[‘[×(Ñ(×6Ñ6Ð6ò>ô ˜1œzÔ+;Ð<Ó=ó>ñ.
ùs   ‚A6A8c              3   ó&   •K  — | ]  }‰|u –— Œ
 y ­wr'  r  )r]  r¾  r%  s     €r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>×  s   øè ø€ ò %
ØˆE�RŒKñ%
ùs   ƒÚfuncÚargsÚkeywordsz,functools.partial() with non-literal keywordznon-literal keyword: z3functools.partial() expects literal/string keywordsÚ
cache_hash)Úoriginal_cache_hashÚ__func__ÚdtypeÚsaved_tensors)r  r,  Ú__self__r  rÇ  Úapply)r^  ©Úpy_typec                  ó  •— t        t        j                  j                  j                  j
                  «      j                  ‰ j                  ‰ j                  j                  j                  j                  «       fi «      S r'  )r®   r  Ú_dynamoÚexternal_utilsÚFakeCompiledAutogradEngineÚexec_final_callbacksrR  rN  rO  rw  Úget_ca_final_callbacks_varr1  s   €r  rM  z'VariableBuilder._wrap.<locals>.<lambda>}  sZ   ø€ Ô,Ü—M‘M×0Ñ0×KÑK×`Ñ`óç‘-Ø—G‘GØ—W‘W—^‘^×0Ñ0×KÑKÓMÐOØóð r  Tz9Attempted to wrap torch._higher_order_ops.invoke_subgraphzJDirectly using invoke_subgraph is not supported. Use nested_compile_regionÚstreamrR  )r  Úuser_object_indexÚenter_result)r  Údynamic_dim)Úhintr  úExpected SymInt, got ú[^a-zA-Z0-9]+rX  F)r"  r#  Úgraphargú is not a basic Symbol.)r:  z!Attempted to wrap unbacked SymIntz+Unbacked SymInt input is not supported yet.r�   )Úrank)Útarget_valuesr  Ú__script_if_tracing_wrapperÚ__original_fnÚ__wrapped__)é   é   rÎ  )ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourceÚ__obj_flatten__c                 ó´   •— ‰j                  «       }t        || «      }t        j                  ||«      }t	        ||«      }t        j                  ||«      }||fS r'  )r‡  rT   rµ   rÜ  rX   )	r  r×  rÚ  r  rÞ  rÝ  rß  rà  r*  s	           €r  rá  z.VariableBuilder._wrap.<locals>.build_key_valueŒ  sW   ø€ ð —‘Ó(�Ü/°°aÓ8�
Ü)×0Ñ0°°JÓ?�ä8¸¸zÓJ�Ü/×6Ñ6°q¸,ÓG�	à˜I�~Ð%r  c              3   ó:   •K  — | ]  \  }}} ‰|||«      –— Œ y ­wr'  r  r  s       €r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>˜  r  r  )r  rÐ  r  )rê  r  )r  r  )Úlist_vtr  )Úset_vtr  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr'  rÔ  rÖ  s     r  r_  z(VariableBuilder._wrap.<locals>.<genexpr>ø  s   è ø€ ÒA°aÔ#×.Ñ.¨q×1ÑAùrØ  znon-const keys in dict_keysrÙ  z.Dynamo expects dict_keys keys to be constants.zCEnsure your dict_keys keys are constants (e.g. int, float, strings))Ú_DimHintTypez%s marked %s via IntWrapper©Ú	warn_only)Ú
constraint)ÚdynamismrÊ  ©rS  zUndefined dynamism r=  (‰  Útorch.utils._tritonr÷  rø  rù  Ú
decoratorsrú  rû  rü  Útriton.runtime.autotunerrý  Útriton.runtime.jitrþ  Ú$triton.tools.experimental_descriptorr  r  Útriton.tools.tensor_descriptorr  Útritonr  r  r“  r}  r…  rõ  r\  r,  r  r0  ry  Ú	parameterÚUninitializedBufferÚUninitializedParameterr7   r>   Únontraceable_tensor_subclassesÚ__torch_dispatch__r9   r˜  r~   rx  rG   ÚSEQUENCE_LENGTHr„   rµ   rÜ  ÚgetattrrQ   r  r½   r“   rÿ   Ú
get_vt_clsrN  rO  rw  r€  rƒ   ræ  r›  ÚdefaultdictÚOrderedDictrÄ  rä  Úguard_on_key_orderrv  r   r™  r•   ru   r¡   rc  r  r    rè  rz  Úwrap_moduler™   rÕ  r§  Ú	overridesÚTorchFunctionModerñ   Úsetr8   ÚanyrF   r?   rÑ  r£   rH   r‹  ÚDICT_KEYS_MATCHrá   rš  Ú	enumeratere   Ú	frozensetÚSourcelessBuilderÚEQUALS_MATCHrß   ÚenumÚEnumÚDispatchKeyÚ_CÚ
_functorchÚTransformTyperÀ  rý   rÃ   Úis_reorderable_logging_functionÚBUILTIN_MATCHÚcallabler2  Úignore_logging_functionsrÇ   ÚloggingÚLoggerrÉ   r�   rp   r|   rq   r°   Úshould_wrap_in_hoprÅ  Ú	functoolsÚpartialr‡  r%  r&  r¸  r[   r'  rç  Ú
USER_ERRORrW   rª   r€   rÔ   r   Úgenericrº  ÚasarrayrB   Úis_numpyrµ  Ú
MethodTyperZ  Ú
isfunctionr*  rð  r[  ÚCLASS_MATCHrÌ   Úis_numpy_dtyperË   Úis_numpy_type_infoÚiinforÂ   r§   Úcan_rewriteÚautogradÚfunctionÚFunctionMetarÀ   ÚFunctionCtxr,  ÚRuntimeErrorr¿   rÑ   r-  rÅ   Ú_ImperativeEnginer¾   r3  r4  Ú_exec_final_callbacks_stubrÈ   rœ   Úchangesr�   Úerror_on_graph_breakr›   ÚfwdÚbwdÚlookup_callableÚis_callable_allowedÚ!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitiver   Ú_higher_order_opsÚinvoke_subgraphr±   ÚmakeÚcudaÚStreamContextr7  rã   ÚStreamrV   r   r   Úcreate_proxyr   rˆ   Únoderä   Ú_SDPAParamsrÝ   ÚpyfunctorchÚFuncTorchInterpreterrì   ÚEventrâ   Ú
contextlibÚnullcontextÚgetattr_staticrž   rõ   Úis_matching_objectÚoptimÚ	Optimizerrg   rÙ   r�   ÚDispatchKeySetÚDISPATCH_KEY_SET_MATCHrë   r¤   Úis_group_member_typerà   r`  ra  r³   r*   r+   rY   Úroot_tracerÚdynamic_scalar_nodesÚ	shape_envÚcreate_unspecified_symbolÚrealr.   ÚDYNAMICÚcreate_symintnoder   ÚAssertionErrorÚcreate_graph_inputr¨  Úsubr$  r  ÚmetaÚexprÚsympyÚSymbolÚtracked_fakesr4   rç   r   rU   Úhas_hintÚ$create_unspecified_symint_and_symbolÚintr;  ÚSymBoolÚcreate_unbacked_symintr¬   r¨   r  r©   r­   ÚampÚautocast_modeÚautocastÚ_UnmanagedAutocastÚwrap_user_definedrš   ÚdeviceÚ
fast_dtypeÚ_enabledÚ_cache_enabledrí   Úis_matching_clsr¯   r}   ÚsysÚexc_infoÚversion_infoÚ	exceptionr«   r{   Ú
namedtupler¦   r!  r¥   Úis_supported_builtin_methodrz   ÚfloatÚfromhexÚhexr—   r  r�   ÚlookupÚrandomÚRandomrÏ   rÐ   Úis_supported_random_objr   rA   ÚDummyModuleÚMODULE_MATCHrÎ   ÚGetSetDescriptorTyperÆ   ÚMethodWrapperTyperÊ   Ú
issubclassÚBaseExceptionrû   r®  r¯  ÚBackwardHookr•  ÚBufferÚ _unsafe_preserve_version_counterrŸ   Úconstructorr:   rè   r^   rø   r   rÚ   rÛ   rG  rH  Ú_libraryÚfake_class_registryÚFakeScriptObjectÚreal_objÚtracing_with_realr   ÚCONSTANT_MATCHr   ÚOPAQUE_OBJ_GUARD_FN_MATCHÚrealize_allÚ_typeÚqualified_namerI  Úmaybe_to_fake_objÚ	fake_moder   Úinstall_free_tensorsr_   r`   rb   Úregister_attr_or_moduleÚ__new__Úshould_reconstruct_allrú   r¥  Ú__len__Ú__getitem__rc   r¸   rü   Úfromkeysrþ   r   rö   ry   rò   rt   rÞ   rô   Útorch.export.dynamic_shapesrO  rS  ÚSTATICÚwrap_symintÚvalÚlogÚdebugr3   r/   ÚAUTOr(  rÍ   )Dr*  r%  r÷  rø  rù  rú  rû  rü  rý  rþ  r  r  r  r  Ú
triton_modÚtype_dispatchÚid_dispatchr$  rO  r  r¼  Úfactory_sourceÚvarÚset_var_clsÚinternal_dict_sourceÚLr  rÚ  rç  Úfunc_srcÚfunc_objr&  Úargs_sourceÚargr'  Úkeywords_sourcer×  r)  Ú	dt_sourceÚactual_saved_tensorsr,  rˆ  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varÚindexÚstream_proxyÚevent_proxyÚis_intr  r£  ÚsymÚsym_node_proxyÚsym_exprÚ
new_symintÚtracing_symintÚ	attr_namerG  rH  ÚproxyÚfake_script_objrê  rL  Ú
set_vt_clsrM  rO  ré  rá  sD   ``                                                                @@r  r~  zVariableBuilder._wrapÚ  s>(  û€ ÷	
ñ 	
÷	
ñ 	
ñ Œ<Ý:Þ6÷ñ ÷ñ ó	ó	÷	ñ 	ó
	ñ ,Ô-÷ñ 1Ô2ÝGÙŒ<Û'ä�z ?Ô3Ø *× 8Ñ 8�ð ×+Ñ+Ó-×1Ñ1´$°u³+Ó>ˆØÐ$Ù   uÓ-Ð-ð ×'Ñ'Ó)×-Ñ-¬b°«iÓ8ˆØÐ"Ù˜t UÓ+Ð+ô �uœeŸl™lÔ+Ü�U“ô —‘×"Ñ"×6Ñ6Ü—‘×"Ñ"×9Ñ9Üðñ	ô �U“¤6×#HÑ#HÑHô �U“×.Ñ.´%·,±,×2QÑ2QÑQÜ0°Ô7à×'Ñ'¨Ó.Ð.ä˜ÔØ×Ñ¤× <Ñ <Ô=ô .¬d°5«kÓ:ö-ð
 ô	 $×*Ñ*Ü˜E 4Ó(Ü% d§k¡k°4Ó8öð-ˆFð -ô %ØØ—{‘{Ü3Ó5ôˆHð
 FÔ-×8Ñ8¼¸e»ÓEØØ—{‘{Ø!ôˆFð
 —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ�EœD¤+×"9Ñ"9¼;×;RÑ;RÐSÕTØ×Ñ¤× 7Ñ 7Ô8ÜÑJÀEÔJÓJˆIñ ð" —‘—‘×1Ñ1×5Ñ5°d·k±kÔBð&Üð&Üð&Ü#&ð&ä”¬Ð7Ñ8ö&ô ó äAÀ%ÓHôó ˆFô
 �eœ[×4Ñ4Ô5Ü!+¨D¯K©KÐ9JÓ!K�Ü,ØÜ˜“KØ$L¤O°D·G±G¸^Ó$LØ×-Ñ-ó%ð  Ÿ;™;ô‘ô +ØÜ! %›[ØŸ;™;ô�ð —7‘7—>‘>×.Ñ.×<Ñ<¸UÀFÓKÐKÜ˜œuŸx™xŸ™Ô/Ø×#Ñ# EÓ*Ð*Ü×(Ñ(¨Ô/Ø×$Ñ$ UÓ+Ð+Ü˜œuŸ™×@Ñ@ÔAÜ+¨E¸$¿+¹+ÔFˆCØ�G‰G�N‰N×'Ñ'×=Ñ=¸eÀSÔIØˆJÜ�EœC¤Ð,Õ-ÜÑ>¸Ô>Ô>ÜØBØIð>ð
 Gðä*×6Ñ6ðõð ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=Ü%ˆKä�eœZÔ(ä'1°$·+±+¸wÓ'GÐ$ÜØ(×3Ñ3´L×4PÑ4PÓQôð —‘—‘×1Ñ1×5Ñ5Ð6JÔKÜ0�ô �U“ˆAô
 & a›L÷	ñ �A�qô $×*Ñ*ØÔ=¸d¿k¹kÈ1ÓMöðˆEñ ñ ! ¨t¯{©{Ô;ˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ�Eœ9Ô%¬#ñ .
ð ô.
ô +
ð" DIÖI¸aÔ&×-Ñ-¨d¯g©g°qÕ9ÐIˆEÐIØ×Ñ¤× 9Ñ 9Ô:Ü$ U°4·;±;Ô?Ð?ÜØÜ�Y‰Yœ×)Ñ)¬5¯8©8×+>Ñ+>×+LÑ+LÐMô
ð ×Ñ¤× 5Ñ 5Ô6Ü,¨U¸4¿;¹;ÔGÐGÜ×>Ñ>¸uÔEð ×Ñ¤× :Ñ :Ô;Ü$ U°4·;±;Ô?Ð?Ü�eŒ_¤ó %
Ü"'§-¡-×"6Ñ"6×"OÑ"Oô%
ô "
ð ×Ñ¤× 5Ñ 5Ô6Ü*¨5¸¿¹ÔEÐEÜ˜œwŸ~™~Ô.Ø×Ñ¤× 7Ñ 7Ô8Ü(¨°t·{±{ÔCÐCÜ  Ô'Ü,°D·K±KÔ@Ð@Ü Ô&Ü1¸¿¹ÔEÐEÜ/×BÑBÀ5ÔIÜ5×;Ñ;À4Ç;Á;ÔOÐOÜ˜œy×0Ñ0Õ1Ü! $§/¡/Ó"3°VÓ<ˆHØ9” t§w¡w°Ó9¸%¿*º*ÓEˆHàˆDÜ$ T§_¡_Ó%6¸Ó?ˆKÜ# E§J¢JÓ/ò ‘��3Ø—’ØK”O D§G¡G­]¸;ÈÓ-JÓKÈCÓPõðð
 ˆHÜ(¨¯©Ó):¸JÓGˆOØŸš×,Ò,Ó.ò 
‘��1Ü'×2Ñ2°1Ô5Ü!Ø NØ"7¸°sÐ ;Ø$YØ=Ô 1× <Ò <Ð=õ	ðœoØ—G‘GÕ.¨ÀÓBóàó�˜’ð
ô Ø—‘Ó!×,Ñ,¬\×-DÑ-DÓEØ×*Ñ*¬<×+GÑ+GÓHØ×&Ñ&¤|×'CÑ'CÓDôô #*¨%°¸tÓ"DÐÝ+Ø˜$ Ð>Qôð õ �uÔà×Ñ¤× 5Ñ 5Ô6Ý!ØØ—{‘{ôð õ ˆ^¤
¨5µ"·*²*Ô =à×*Ò*­2¯:ª:°eÓ+<Ó=Ð=Ý×!Ò! %Õ(ÞˆI�2Ü�e�U×-Ò-Ô.å×%Ò% e§n¢nÔ5Ü!Ü" 4§;¡;°
Ó;×FÑFÜ(×6Ò6óõõ
 —’ Ô'Ø×#Ñ#¤L×$<Ò$<Õ=Ý×#Ò# EÔ*Ø×#Ñ#¤L×$>Ò$>Õ?Ü˜%”Ø×#Ñ#¤L×$9Ñ$9Õ:à×#Ñ#¤L×$;Ñ$;Ô<Ý  ¨t¯{©{Ô;Ð;Ý×'Ò'¨Ô.Ø×Ñ¤× 5Ñ 5Ô6Ý% e°D·K±KÔ@Ð@Ý×+Ò+¨EÔ2Ü˜%¥§¢Ô*Ø×#Ñ#¤L×$;Ñ$;Ô<Ü& t§{¡{°GÓ<�	Ü˜i×2Ñ2´<×3HÑ3HÓIÕJà×#Ñ#¤L×$9Ñ$9Ô:Ý'¨°d·k±kÔBÐBå.×:Ò:¸5ÔAØ×Ñ¤× :Ò :Ô;Ý4×;Ñ;Ø—‘ØØ—{‘{ôð ô
 �Eœ5Ÿ>š>×2Ò2×?Ò?Ô@Ø×Ñ¤× 8Ò 8Ô9Ý+ØØ—{‘{ôð ô ˜œuŸ~š~×6Ò6×BÒBÕCØ#'Ð ðà',×':Ò':Ð$ð ˆMØ—k‘k×,Ñ,¬\×-DÑ-DÓEÐFˆFÜÐ.´Ô6Ü'1°$·+±+¸Ó'OÐ$Ø—’Ø(×3Ñ3´L×4PÑ4PÓQôô &Ð&:Ó;ò ‘D�A�qØ!×(Ò(ðœØ ŸG™G¥]Ð3GÈÓ%Kóàóõðô ˜6Ñ"à—7‘7—>‘>×.Ñ.×DÑDØÝ/ØØŸ;™;Ý"0°Ó"?ôóð ô �u�e×.Ò.Ô/ÜÜ˜˜z¨4Ó0´%·.².×2IÒ2I×2VÒ2Vôô ˜˜z¨2Ó.°'Ò9Øœ §¢°¸$Ó?Ò?ô Ü˜4Ÿ?™?Ó,¨jÓ9×DÑDÜ ×.Ò.óôõ
 #Ý(Ø—N’NÜ% d§k¡k¸*ÔEôð Ü˜U›ôð ô ˜œuŸx™x×9Ò9Ô:Ø×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDàÜ�}‰}×+Ò+×FÒF×aÒañbð ×Ñ¤× :Ò :Ô;Ý!óóð ô ˜Ð5Ô6Ý,¨U¯]ª]Ó;Ð;Ü˜ÐGÔHÝ,¨U×-GÒ-GÓHÐHÜ˜Ð>Ô?Ý,¨U¯YªY¸¿	º	ÓBÐBÜ�eŒ_¥×!<Ò!<¸UÓ!CÐ!OÝ×.Ò.¨uÔ5ØCG�—‘—‘Ô@å×.Ò.¨uÓ5×HÒHØ˜dŸk™kð Ió ð ö ”J˜u¥b§i¢iÔ0Ø×4Ò4°UÓ;Ð;Ü˜Õ2Ô3Øœ×/Ò/×?Ò?Ñ?ÜØWØØ lØõ	ð ×Ñ¤× 7Ñ 7Ô8Ý3×8Ò8¸ÀtÇ{Á{ÔSÐSÜ˜œuŸzšz×7Ò7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ü& t§{¡{°HÓ=ˆMØ@œ¨¯©°-Ó@ÀÇÂÓNˆJå(×/Ñ/°·±¸ÓDÐDÜ˜œuŸ|š|Ô,Ø×Ñ¤× 7Ñ 7Ô8Ü˜$Ÿ+™+Õ':Ô;å,‘å,¨U°D·K±KÓ@�ØŸ7™7Ÿ>™>×6Ò6ØÕ!=À¸xÈóˆLõ ˜l×/Ò/°Ô7Ý Ø˜e¨D¯K©KÈ5ôˆCð —7‘7—>‘>×.Ñ.×DÑDÀUÈCÓPÐPÜ˜¤§¡× 4Ò 4Ô6Ø×Ñ¤× 7Ñ 7Ô8Ý%×,Ñ,¨T¯W©W°e¸T¿[¹[ÓIÐIÜ˜œu×/Ñ/×;Ò;×PÒPÔQØ×Ñ¤× 5Ñ 5Ô6Ý/°Ó6Ð6Ü˜œuŸ{š{Ô+Ø×Ñ¤× 7Ñ 7Ô8Ý(¨°·±Ó<ˆEØŸ'™'Ÿ.™.×5Ò5ØÝ,Ø�Øó	ˆKõ ˜k×.Ò.°Ô6Ý ØØØØ—{‘{ô	ð ô �5�*×0Ò0Ô1Ý×&Ò& u¨n¸dÓCÐKà×Ñ¤× 7Ñ 7Ô8Ý&¨d¯k©kÔ:Ð:Ý&×9Ò9¸%Ô@Ø×Ñ¤× 7Ñ 7Ô8Ý.¨u¸T¿[¹[ÔIˆFà—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuŸ{š{×4Ò4Ô5Ø×Ñ¤× 5Ñ 5Ô6Ý)¨$¯+©+Ó6ˆDŒKÝ$ØØ—{‘{Ý7Ó9ôð ô
 ˜œu×3Ò3Ô4Ø×Ñ¤× CÒ CÔDÝ)¨%Ó0Ð0Ý#×8Ò8¸Ô?Ý)¨%¸¿¹ÔDÐDØ”jÑ Ø×Ñ¤× 5Ñ 5Ô6Ý*Ó,Ð,äˆu‹IÕ+Ñ+Ü�5“	Õ!>Ñ>à×Ñ¤× 8Ò 8Ô9Ý$ U°4·;±;Ô?Ð?Ü˜�~Õ.Ü ¥zÓ2ˆFÝ(¨¯©°fÓ=ˆFÜ�%‹y˜DŸG™GŸN™N×6Ò6×KÒKÑKð —w‘w—~‘~×1Ò1×FÒFÄrÈ%ÃyÑQ‘à—g‘g—n‘n×.Ò.×HÒHØ—J’JØ!Ý *× 2Ò 2ð Ió �ð
 —w‘w—~‘~×/Ò/×AÒAØØŸšØ!ð Bó �ô
 " $­Ô/Ý(Ð+@ÄÀdÃÀÐ)MÓNÐNð "ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯iªiÓ8Ü�T“
ØØð	 Kó ˆNõ 4<ØØØØØØ#'ô4ˆN×Ò×$Ò$ ZÑ0ð —y’y—~’~ˆHÜ˜h­¯ªÔ5ð Ø�*Ð3Ð4óÐ5ð �G‰G�N‰N×(Ò(×/Ò/µ¸DÀ&È$Ó0OÔPÝ"×)Ñ)¨$¯'©'°>À4ÓHÐHÝ˜%Õ ô ˜e¤U§\¢\Ô2ð —’å% d§k¡kÓ2ð ð
 ˆJØ�zŠz×"Ò"Ô$à—G‘G—N‘N×,Ò,×QÒQÝ˜EŸJšJŸOšOÓ,ØÝ$.×$6Ò$6ð Ró ñ ô ˜e¤U§]¢]Ô3à!%§¡§¡×!9Ò!9×!PÒ!PÓ!R‘Jô "Ø CØ "Ø$QØ>Ô 1× =Ñ =Ð>õ	ð Ð)Ð)Ð)Ü˜j­&Ô1Ý$Ð'<¼TÀ*Ó=MÐ<NÐ%OÓPÐPØ!ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯iªiÓ8Ü�ZÓ ØØð	 Kó ˆNõ 4<ØØØØØØ#-ô4ˆN×Ò×$Ò$ ZÑ0ð "—’×+Ò+ˆHÜ˜h­¯ªÔ5ð Ø�*Ð3Ð4óÐ5ð �G‰G�N‰N×(Ò(×/Ò/µ¸JÈÐPTÓ0UÔVô )¨´·²Ô=‘
À:ÐQRÁ?ð õ # >°>ÓBÐBä˜ ¨YÐ7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ý'ØØØØ—{‘{ô	ð ð Ð.Ñ.Ý:ÀÔBÐBØÐ.Ñ.Ý:ÀÔBÐBØÐ&×2Ò2Ñ2Ý4Ó6Ð6Ø�mÑ#Ý-¨eÓ4Ð4Ü˜œuŸyšy×6Ò6×?Ò?Ô@Ü˜%¤§¢×!8Ò!8×!KÒ!KÔLØ×-Ò-¨eÓ4Ð4à×#Ñ#¤L×$9Ñ$9Ô:Ý+àŸšØ×(Ò(ØŸšØ×,Ò,ð	#ð  Ÿ;™;ôð õ *×9Ò9¸%Ô@Ý�Š˜uÔ%Ø×#Ñ#¤L×$<Ò$<Õ=Ý×#Ò# EÔ*Ø×#Ñ#¤L×$>Ò$>Ô?Ý/°¸d¿k¹kÔJÐJÝ×#Ò# EÐ+HÈ%ÔPØ×Ñ¤× 7Ñ 7Ô8Ý.ØØØ—{‘{Ý7Ó9ô	ð õ +¨5Ô1Ø×Ñ¤× 7Ñ 7Ô8Ý.ØØØ—{‘{Ý7Ó9ô	ð ð •c—l’lÑ"Ý×Ò Ò'¨EµS·]²]Ñ,Bå& u°T·[±[ÔAÐAÝ# EÔ*­w×/EÒ/EØÐ(¨%ô0
ð ×Ñ¤× 7Ñ 7Ô8Ý.ØØ%Ø—{‘{Ý7Ó9ô	ð ð ”k×,Ò,Ñ,Ø×Ñ¤× 5Ñ 5Ô6Ý0°¸t¿{¹{ÔKÐKÜØ•5×*Ò*ô
å#×?Ò?ÀÔFØ×Ñ¤× 5Ñ 5Ô6Ý(¨°t·{±{ÔCÐCÝ˜Ô E­e¯mªm½U¿YºYÐ-GÑ$GØ×Ñ¤× 5Ñ 5Ô6Ý"Ý¥¨d¯k©kÔ:Ø—’Ü˜U›ôð õ
 $ EÔ*Ý?ÀÓFÑˆE�9ð Ð$Ü(¨¯©°iÓ@�”å×%Ò% eÓ,×?Ò?Ø˜dŸk™kð @ó ð ð •f—m’mÑ#Ø×Ñ¤× 5Ñ 5Ô6Ý&¨d¯k©kÔ:Ð:Ü�E�6Ÿ=š=Ô)­n×.TÒ.TØô/
ð ×Ñ¤× 7Ñ 7Ô8Ý# E°$·+±+Ô>ˆFØ�G‰G�N‰N×'Ñ'×5Ñ5°e¸VÔDØˆMô ˜¥× 0Ò 0µ-×2KÒ2KÐLÔMØ×Ñ¤× 9Ò 9Ô:Ý)àØ—{‘{ôˆFð
 �G‰G�N‰N×'Ñ'×=Ñ=¸eÀVÔLØˆMÜ˜�u×9Ò9Ô:õ ,¨EÓ2Ð2Ü˜�u×6Ò6Ô7õ
 )¨Ó/Ð/Ýœ˜U›¤TÔ*­z¸%ÅÔ/Oà×Ñ¤× 5Ñ 5Ô6Ý4°UÓ;Ð;Ýœ˜U›¤TÕ*ØÜ—’×!Ò!×.Ò.Ü—‘×"Ò"Ü—‘—’ðñ õ #×)Ò)¨%Ó0×CÒCØ $§+¡+ð Dó ð ð œŸš×GÒGÑGØ×#Ñ#¤L×$<Ò$<Ô=Ý5×AÒAÀ$Ç'Á'ÓJÐJõ ˜5¤%§,¡,Ô/Ø¤§¡Ñ-ð ×,Ñ,´·±×0OÑ0OÑOõ
 ;¸5ÔAå-¨e¸D¿K¹KÔHÐHå)¨$¯+©+Ô6ð ×#Ñ#¤L×$<Ò$<Ô=ä˜%¤Ô&­:°e¼T¿Y¹YÔ+GÝ/ØØŸ;™;ôð õ
 ˜eÔ$Ý0ØØŸ;™;ôð õ
 ,ØØ—{‘{ôð õ '×6Ò6´t¸E³{ÕC÷ñ ô ˜%¤§¢×!CÒ!C×!TÒ!TÔUØŸš�ô �~Š~×1Ò1×CÒCÀEÔJØŸ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)²)Ó<Ü˜“KØØŸ;™;ð	 Fó �õ /7Ø—K‘KØØØØØó/�—
’
—’ 
Ñ+õ 1×7Ñ7ØØØŸ;™;ôð õ $¤D¨£KÔ0à×#Ñ#¤L×$?Ò$?Ö@Ý)¬$¨u«+Ô6à×#Ñ#¤L×$;Ñ$;Ô<Ø×#Ñ#¤L×$JÒ$JÕKÜ˜UÐ$5Ô6ð ×-Ò-¨eÓ4Ð4ô $×/Ò/ð”OØŸ™Ñ!@ÀÇÁÓ!Móð Ÿš›×4Ò4Ó6óôô $×/Ò/ØT”O D§G¡GÑ-FÀtÇ{Á{Ó-SÓTØ×-Ò-Ó/óôô $Ÿnšn×@Ò@×RÒRØ—‘—‘×(Ò(¨%óˆOõ $¤D¨£KÔ0½ÄdÈ5ÃkÔ9RØ"'�Ø’ä×,Ó,Ý% d§k¡kÔ2Ý*¨4¯;©;Ô7Ý9¸$¿+¹+ÔFà—w‘w—~‘~×=Ò=Ø˜4Ÿ9š9¨T¯[©[ð >ó ð ð
 Ÿ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)²)Ó<Ü˜“KØ#ØŸ;™;ð	 Fó �õ /7Ø—K‘KØØØØØ#ó/�—
’
—’ 
Ñ+õ -×3Ñ3ØØØ—{‘{ôð ô �uœt¤[×%<Ñ%<Ð=Õ>Ü�U“×#Ò#¤t§|¢|Ò3ð ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=ð �G‰G�N‰N×-Ñ-×1Ñ1°$·+±+Ô>ð
&Üð
&Üð
&Ü#&ð
&ä”¬Ð7Ñ8õ
&ô ó äAÀ%ÓHôó ˆFô
 (Øô " %¬×)@Ñ)@ÔAô  ×+Ò+ää3Ó5Ø—{‘{ô	ˆGð .2ˆGÕ*å,¨U¸GÈDÏKÉKÔXˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuÕ%Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ œuŸ}š}¨UÓ3Ó4öð
 ô	 $×*Ñ*Ü×%Ò% e¨QÓ/Ý(¨¯©Ó):¸AÓ>öðˆFð ô %ØØ—{‘{Ü3Ó5ôˆHô
 .Ø °·±ôˆFð —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œtÕ$Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ œtŸ|š|¨EÓ2Ó3öð
 ô	 $×*Ñ*Ü×$Ò$ U¨AÓ.Ý,¨T¯_©_Ó->ÀÓBöðˆFð õ #ØØ—{‘{Ü3Ó5ôˆGõ
 -¨U¸GÈDÏKÉKÔXˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜¤¤YÐ/Õ0Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=ä”T—]’] 5Ó)Ó*ˆAõ œtŸ|š|¨A›Ó/öð
 ô	 $×*Ñ*Ü×$Ò$ Q¨Ó*Ü:¸4¿?¹?Ó;LÈaÓPöðˆFð ô ˜%¤Ô%Ü(‘
ä! %¬Ô3Ð3Ð3Ü.�
áØ˜tŸ{™{Ô:OÓ:QôˆFõ ,¨E¸&ÈÏÉÔUˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÝœ˜U›¥^Ô4Ø×Ñ¤× 7Ñ 7Ô8Ý+¨E¸$¿+¹+ÔFˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÝ  Ô'Ø×Ñ¤× 7Ñ 7Ô8Ý,¨U¸4¿;¹;ÔGˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜�yÔ)ÜÑA¸5ÔAÔAð HMÖMÀ!Ô*×1Ñ1°$·'±'¸1Õ=ÐM�ÐMÜØ—O‘OÓ%×0Ñ0´×1MÑ1MÓNØ—O‘OÓ%×0Ñ0´×1JÑ1JÓKôõ *¨%¸¿¹ÔDÐDäØ9Ø.¸5Ö/g°aÔHX×HcÑHcÐdeÕHf²Ò/gÐ.hÐiØ Pà]ðö	õ  ×2Ò2°5Õ9ß@à�~Š~Ð%¨¯ª×)<Ñ)<À×@SÒ@SÒ)SØ×'Ò'¨¯	ª	Ó2Ð2Ø—’×$Ñ$¨×(<Ò(<Ò<Ý—	’	Ø1Ø—K‘K×$Ò$Ý×&Ò&ôð
 ×'Ò'Ø—I’IÝ'×/Ò/Ý1Ý#:ÀUÔ#Kôð (ó ð ð —’×$Ñ$¨×(9Ò(9Ò9Ý—	’	Ø1Ø—K‘K×$Ò$Ý×&Ò&ôð
 ×'Ò'¨¯	ª	½J×<NÒ<NÐ'ÓOÐOå"Ð%8¸¿ºÐ8HÐ#IÓJÐJÜ�E�6Ô"Ø×Ñ¤× 7Ñ 7Ô8Ý! %°·±Ô<Ð<à×)Ò)¨%Ó0Ð0ùòy-ùó@ùò2 Jøõv  ò Úðüò^ùò.ùò&ùòB Nùò 0hs_   È<CY*Ù15CY/Ü'CY5þCY: Â{>ACZÃ@%ACZÃE3ACZÃM1'CZÃPCZÃP:CZÃY:
CZÃZCZc                 ó.  — ddl m} | j                  t        j                  «       t        j                  |«      r!t        |t        | j                  «      ¬«      }nkt        ||«      rHt        |«      t        vr7| j                  t        j                  «       t        || j                  ¬«      }nt        || j                  ¬«      }t        j                   t        |«      «      s|S | j"                  j$                  j&                  j)                  ||«      S )Nr�   )Ú_CONSTANT_BASE_TYPESr4  )Úuser_definedr   rx  rG   rÄ  ró   r«  ri   r  r,  r…  rs   ÚCONSTANT_SUBCLASS_MATCHrù   rý   rO   Ú"cls_supports_mutation_side_effectsrN  rO  rw  r€  )r*  r%  r   r¼  s       r  rÉ  z!VariableBuilder.wrap_user_defined.  sÂ   € Ý6à×ÑœL×3Ñ3Ô4Ü×-Ñ-¨eÔ4ô
 % U´?À4Ç;Á;Ó3OÔP‰Fä�uÐ2Ô3Ü�U“Ô#8Ñ8à×Ñ¤× DÑ DÔEÜ0°¸t¿{¹{ÔK‰Fä.¨u¸T¿[¹[ÔIˆFÜ×=Ñ=¼dÀ5»kÔJàˆMØ�w‰w�~‰~×*Ñ*×@Ñ@ÀÈÓOÐOr  c                 ó.  — t         j                  rPt        |«      t        j                  u r5| j                  t        j                  «       t        j                  |¬«      S | j                  t        j                  «       t        |t        «      r�t        d„ |D «       «      ro| j                  j                  j!                  «       rK| j                  t        j                  «       t#        |D �cg c]  }t        j                  |«      ‘Œ c}«      S t%        |«      D ��cg c]4  \  }}t'        j                  |t)        | j+                  «       |«      ¬«      ‘Œ6 }}}| j,                  j.                  j0                  j3                  d«      }t5        | j                  t6        «      �rî| j                  j8                  t;        |«      v �rÌ| j                  }t5        |t<        «      sJ ‚| j,                  j.                  j>                  jA                  tC        jD                  dd| jF                  «      t        |«      ||¬«      }d|jH                  jJ                  d<   tM        tN        | j,                  ||d |¬	«      }g }	t%        |jP                  «      D ]¶  \  }}
t)        ||d
¬«      }|
| j,                  j.                  jR                  |<   tU        ||   «      |
jV                  jH                  jJ                  d<   tY        jZ                  t        j\                  t_        ||   «      ¬«      }|	ja                  |jc                  |«      «       Œ¸ te        |	ddiŽ tg        ||d
d d
¬«      }||jH                  jJ                  d<   |D ]  }|ji                  «        Œ  tk        jl                  |«      || j                  ¬«      }t        |t<        tn        jp                  f«      r0| j,                  j.                  jr                  ju                  ||«      S |S c c}w c c}}w )N©r%  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr'  rÔ  )r]  Úitems     r  r_  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>U  s   è ø€ ÒH¸$Ô$×/Ñ/°×5ÑHùrØ  r4  r*  r=  rX  TÚ	steal_arg)Ú
target_clsrN  r  Úexample_valueÚsubclass_typer  F©r  r  Úindex_is_sliceÚtensor_dictrŠ  r�   )r   r!  r"  r>  );r>   Úspecialize_intr…  r  r�  rx  rG   rë  r™   rÜ  ra  rƒ   r™  rä  r  Úguard_sourceÚis_unspecialized_nn_moduler½   rm  rµ   r[   r‡  rN  rO  Úlocal_scoper}  r,  rd   Ú
local_namerw   rš  r±  r¹  r¨  rº  r$  r£  r»  Úwrap_fx_proxy_clsré   rç  Úinput_source_to_varro   r  r~  r  ÚTENSOR_MATCHr<   r¸  r‹  rH   r  Úrealizer¶   Úcls_for_instancer›  rœ  rw  rè  )r*  r%  r'  r  rO  Úmaybe_gmr  Útensor_list_proxyÚlist_variablerˆ  Útensor_variableÚsource_ir�  r>  rp  r¼  s                   r  rž  zVariableBuilder.wrap_listlikeE  s`  € ô × Ò ¤T¨%£[´E·J±JÑ%>Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°Ô7Ð7ð 	×ÑœL×8Ñ8Ô9ô �5œ%Ô ÜÑHÀ%ÔHÔHØ—‘×(Ñ(×CÑCÔEà×Ñ¤× ;Ñ ;Ô<Ü ÈEÖ!RÀDÔ"2×"9Ñ"9¸$Õ"?Ò!RÓSÐSô % UÓ+÷
ñ
 ��4ô	  ×&Ñ&ØÜ$ T§_¡_Ó%6¸Ó:öð
ˆñ 
ð —7‘7—>‘>×-Ñ-×1Ñ1°&Ó9ˆÜØ�K‰Kœõ
à�k‰k×$Ñ$Ô(;¸HÓ(EÒEð —[‘[ˆFÜ˜e¤TÔ*Ð*Ð*Ø $§¡§¡× :Ñ :× MÑ MÜ—‘Ð'¨¨d¯i©iÓ8Ü�U“ØØð	 !Nó !Ðð 8<Ð×"Ñ"×'Ñ'¨Ñ4ä-Ü)Ø—7‘7Ø'Ø#Ø"ØôˆMð ˆFä&/°×0CÑ0CÓ&Dò 
:Ñ"��?Ü(¨f¸AÈeÔT�à?N�—‘—‘×2Ñ2°8Ñ<ÜAUØ˜!‘HóB�×%Ñ%×*Ñ*×/Ñ/°Ñ>ô "×)Ñ)Ü ×-Ñ-´]À5ÈÁ8Ó5Lô�ð —‘˜h×1Ñ1°%Ó8Õ9ð
:ô ˜6Ð*¨Ò*äØØØ#(Ø ØôˆHð 7?Ð×"Ñ"×'Ñ'¨
Ñ3ð( ò �Ø—
‘
•ðð :Ô!×2Ñ2°5Ó9¸&ÈÏÉÔUˆÜ�%œ$¤× 1Ñ 1Ð2Ô3Ø—7‘7—>‘>×.Ñ.×<Ñ<¸UÀFÓKÐKØˆùòy "Sùó
s   Ã.PÄ9Pc                 ó’  — | j                  t        j                  «       t        t	        |«      «      D �cg c]@  } t        | j                  t        | j                  «       |«      «      t        ||«      «      ‘ŒB }}t        || j                  ¬«      }| j                  j                  j                  j                  ||«      S c c}w rÃ  )rx  rG   ÚTUPLE_ITERATOR_LENr¥  rŒ   rc  rN  rl   r‡  r‹   r¼   r  rO  rw  rè  )r*  r%  r  rO  r¼  s        r  r¢  z#VariableBuilder.wrap_tuple_iterator·  s§   € Ø×ÑœL×;Ñ;Ô<ô
 Ô-¨eÓ4Ó5ö	
ð ð WŒO˜DŸG™GÔ%?ÀÇÁÓ@QÐSTÓ%UÓVÜ& u¨aÓ0õð
ˆð 
ô ' v°d·k±kÔBˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò
s   ¶ACc                 óB  — | j                  t        j                  «       t        j                  |«      D �cg c]  }t        j                  |«      ‘Œ }}t        || j                  ¬«      }| j                  j                  j                  j                  ||«      S c c}w rÃ  )rx  rG   ÚRANGE_ITERATOR_MATCHÚcopyÚdeepcopyr™   rÜ  r·   r  rN  rO  rw  rè  )r*  r%  rÚ  rç  r¼  s        r  r£  z#VariableBuilder.wrap_range_iteratorÂ  s   € Ø×ÑœL×=Ñ=Ô>ô 15·±¸eÓ0Dö(
Ø+,Ô×#Ñ# AÕ&ð(
ˆð (
ô & e°D·K±KÔ@ˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò	(
s   ·Bc                 ó®  — t        |«      \  }}t        j                  |«      rt        j                  |«      s| j                  |«      S | j	                  t
        j                  «       t        t        j                  |«      t        j                  |«      | j                  ¬«      }| j                  j                  j                  j                  ||«      S rÃ  )r   r™   rÕ  rÉ  rx  rG   ÚCOUNT_ITERATOR_MATCHr²   rÜ  r  rN  rO  rw  rè  )r*  r%  Úcurrent_itemÚstepr¼  s        r  r¡  z$VariableBuilder.wrap_itertools_countÌ  s¢   € Ü1°%Ó8Ñˆ�dä×'Ñ'¨Ô5Ü ×+Ñ+¨DÔ1à×)Ñ)¨%Ó0Ð0à×ÑœL×=Ñ=Ô>Ü&Ü×#Ñ# LÓ1Ü×#Ñ# DÓ)Ø—;‘;ô
ˆð
 �w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGr  c                 ór  — dD �cg c]@  } t        | j                  t        | j                  «       |«      «      t	        ||«      «      ‘ŒB }}| j                  t        j                  «       t        |t        «      r"t        || j                  | j                  ¬«      S t        || j                  ¬«      S c c}w )N©ÚstartÚstoprG  r4  )rc  rN  rQ   r‡  rb  rx  rG   rÄ  r,  r¤  r»   r  r¹   )r*  r%  r×  rç  s       r  r¦  z VariableBuilder.wrap_slice_rangeÜ  s›   € ð
 /ö	
ð ð GŒO˜DŸG™G¤Z°·±Ó0AÀ1Ó%EÓFÜ˜˜qÓ!õð
ˆð 
ð 	×ÑœL×3Ñ3Ô4Ü�eœUÔ#Ü  ¨¯©¸¿¹ÔDÐDä  ¨t¯{©{Ô;Ð;ùò
s   …AB4r�  c                 óx  — ddl m} t        j                  d| j                  j
                  t        |«      «        |||¬«       || j                  j                  j                  v rT| j                  j                  j                  |   }|j                  |j                  j                  j                  d   d<   y y )Nr=   )Úmark_static_addressz Marking static input %s, id: %s)©r�  r.  Ú_dynamo_static_input_type)rV  rM  Ústatic_inputs_logrþ  r  r$  r\  rN  rO  rw  rO  r  r£  r»  )r*  r%  r�  rM  r  s        r  Úmark_static_inputz!VariableBuilder.mark_static_inputé  s’   € Ý4ä×ÑØ.°·±×0@Ñ0@Ä"ÀUÃ)ô	
ñ 	˜E¨Õ/ð �D—G‘G—N‘N×/Ñ/Ñ/Ø—'‘'—.‘.×-Ñ-¨eÑ4ˆCð ×/Ñ/ð �I‰I�N‰N×Ñ Ñ.Ð/JÒKð 0r  c                 ó¸  — ddl m} t        |j                  «      dk(  r7t	        dt        |«      dt        |«      › d�g t        j                  ¢d‘¬«       t        ||«      r²t        j                  |j                  d	d
«      r<t        j                  |j                  dd «      }t        | j                  d|› d�¬«      S | j                  t        j                   «       t#        | j                  d«      | _        | j%                  |j&                  «      S t)        |«      t*        j,                  j.                  j0                  u r(t	        dt3        |«      dg t        j4                  ¢¬«       t7        |t*        j8                  j:                  t*        j8                  j<                  t*        j8                  j>                  f«      r9t@        jB                  s)t	        dt3        |«      ddgt        jD                  ¢¬«       tG        |dd
«      r¦tG        |dd
«      st	        dddg ¬«       | j                  t        j                   «       tI        || jK                  «       ¬«      }tM        jN                  t)        |«      «      s|S | jP                  jR                  jT                  jW                  ||«      S tY        jZ                  || jP                  j\                  «      �r1t7        |t*        j^                  j`                  jb                  jd                  «      r*|jg                  «       }ti        | j                  «      | _        tk        «       }tm        |jn                  «      rI|jn                  jp                  tr        u r-	 |jo                  «       D ]  \  }}| ju                  ||¬«       Œ 	 tm        |j~                  «      rI|j~                  jp                  t€        u r-	 |j                  «       D ]  \  }}	| ju                  |	|¬«       Œ 	 |r-|| jP                  jR                  j‚                  | j„                  <   |j†                  j‰                  d«      r|j†                  j‰                  d«      rtG        |jŠ                  dd
«      r‡| j                  }
| jP                  jR                  j\                  rt@        jŒ                  rt�        | j                  «      }
t‘        ||
¬«      }t“        |
j•                  t        j                   «      «       n†| j                  }
| jP                  jR                  j\                  rt@        jŒ                  rt—        | j                  «      }
t™        ||
¬«      }t“        |
j•                  t        j                   «      «       | jP                  jR                  j›                  || j                  «       tM        jN                  t)        |«      «      s|S | jP                  jR                  jT                  jW                  ||«      S t�        |jŠ                  t*        j8                  jž                  j                   j¢                  «      r:| j                  t        j                   «       t™        || jK                  «       ¬«      S | jP                  jR                  j¥                  || j„                  | jK                  «       ¬«      S # tv        $ r?}ty        t)        |«      | jP                  t{        |j|                  «      ¬«       Y d }~�Œfd }~ww xY w# tv        $ r?}ty        t)        |«      | jP                  t{        |j|                  «      ¬«       Y d }~�ŒSd }~ww xY w) Nr=   )ÚOptimizedModuler   zUninitialized nn.Modulez6Attempted to trace an uninitialized nn.Module of type ú.z?Ensure your nn.Module instance has called `super().__init__()`.rÈ  Ú_torchdynamo_disableFÚ_torchdynamo_disable_msgzHOptimized `nn.Module` is wrapped with `torch.compiler.disable` (reason: ú))r  ÚmsgÚ	_orig_modz+torch.jit.script/freeze modules unsupportedzÔDynamo does not support tracing into torch.jit.script or torch.jit.freeze modules because they execute in the TorchScript runtime, not Python. Replace the ScriptModule submodule with the original eager nn.Module.z#Attempted to wrap RNN, GRU, or LSTMz*Dynamo does not support RNN, GRU, or LSTM.zgSet torch._dynamo.config.allow_rnn=True to enable experimental support for RNN, GRU, and LSTM in DynamoÚ_is_fsdp_managed_moduleÚ_fsdp_use_orig_paramszFSDP with use_orig_params=FalserÇ  z3Dynamo only supports FSDP with use_orig_params=Truer4  rN  )r&  )ztorch.nn.modulesz	torch.ao.ztorch.nn.modules.containerÚ_dynamo_marked_static)SÚ
eval_framerS  ÚlenÚ__dict__rF   r’   r?   r€  rƒ   rZ  rª  ÚforwardrÄ   r  rx  rG   rÄ  rQ   rg  rY  r…  r  r²  Ú_scriptÚRecursiveScriptModulerB  ÚFUNDAMENTALr,  ry  ÚRNNÚGRUÚLSTMr>   Ú	allow_rnnrÑ  rb  rÖ   r‡  rO   r#  rN  rO  rw  r€  r@   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baserP   r   ry  Únamed_parametersr*  Ú!og_module_named_parameters_fn_ptrrQ  Ú	TypeErrorrE   rš  r&  Únamed_buffersÚog_module_named_buffers_fn_ptrÚ
nn_modulesr$  r  rY  rI  rò  rm   r×   rH   r‹  rn   rØ   Ú add_fqn_info_for_inlined_modulesrà  ÚparallelÚdistributedÚDistributedDataParallelró  )r*  r%  rS  rX  r¼  ÚfreezingrX  ÚpÚeÚbÚ
new_sources              r  rg  zVariableBuilder.wrap_moduleû  s’  € Ý0äˆu�~‰~Ó !Ò#ÜØ1Ü ›ØTÔU\Ð]bÓUcÐTdÐdeÐfðÜ&×1Ñ1ðàUðõ	ô �%˜Ô)ä×%Ñ% e§m¡mÐ5KÈUÔSô
 ×,Ñ,Ø—M‘MÐ#=¸tó�ô /ØŸ;™;ØbÐcfÐbgÐghÐiôð ð
 ×Ñ¤× 7Ñ 7Ô8Ü$ T§[¡[°+Ó>ˆDŒKØ×#Ñ# E§O¡OÓ4Ð4ä�‹;œ%Ÿ)™)×+Ñ+×AÑAÑAÜØEÜ˜E›
ð,ðÜ&×2Ñ2ðõ
ô �uœuŸx™xŸ|™|¬U¯X©X¯\©\¼5¿8¹8¿=¹=ÐIÔJÜ×$Ò$äØ=Ü˜E›
ØHà}ðä&×2Ñ2ðõ	ô �5Ð3°UÔ;ô ˜5Ð"9¸5ÔAÜØ=ØØ UØõ	ð" ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQˆFÜ×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ×0Ñ0°¸¿¹¿¹ÕGô
 ˜%¤§¡×!6Ñ!6×!CÑ!C×!NÑ!NÔOàŸ™Ó(�Ü-¨d¯k©kÓ:�”ä,Ó.ˆHô ˜×/Ñ/Ô0à×*Ñ*×3Ñ3Ô7XÑXðRà %× 6Ñ 6Ó 8ò B™˜˜1Ø×.Ñ.¨q¸Ð.ÕAñBô ˜×,Ñ,Ô-à×'Ñ'×0Ñ0Ô4RÑRðRà %× 3Ñ 3Ó 5ò B™˜˜1Ø×.Ñ.¨q¸Ð.ÕAñBñ
 ð 8=�—‘—‘×)Ñ)¨$¯)©)Ñ4ð × Ñ ×+Ñ+Ð,MÔNØ×(Ñ(×3Ñ3Ð4PÔQÜ˜Ÿ™Ð*AÀ5ÔIØ!Ÿ[™[�
Ø—w‘w—~‘~×,Ò,´×0KÒ0KÜ!CÀDÇKÁKÓ!P�JÜ=¸eÈJÔW�Ü˜j×3Ñ3´L×4KÑ4KÓLÕMà!Ÿ[™[�
Ø—w‘w—~‘~×,Ò,´×0KÒ0KÜ!<¸T¿[¹[Ó!I�JÜ6°uÀZÔP�Ü˜j×3Ñ3´L×4KÑ4KÓLÔMà�G‰G�N‰N×;Ñ;¸EÀ4Ç;Á;ÔOä×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜØ�O‰OœUŸX™X×.Ñ.×:Ñ:×RÑRô
ð ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQÐQà—7‘7—>‘>×9Ñ9ØØ—	‘	Ø—‘Ó(ð :ó ð øôc !ò RÜ,¬T°!«W°d·g±gÄDÈÏÉÃL×QÓQûðRûô !ò RÜ,¬T°!«W°d·g±gÄDÈÏÉÃL×QÓQûðRús0   Í7+[ Ï+\ Û	\Û4\	Ü	\Ü	]Ü4]Ý]c                 óò  — t        |«      t        u �r>t        |t        «      sJ ‚t        | j                  j
                  «      rKt        j                  d| j                  j
                  «       | j                  |t        j                  ¬«      S t        | j                  j
                  «      rKt        j                  d| j                  j
                  «       | j                  |t        j                  ¬«      S t        j                  �s6t        || j                  «      �rd }| j                  j                   j#                  «       s$| j                  j                   j%                  «       rd}t'        | j(                  | j                  j
                  t+        j,                  |«      | j                  j                   j%                  «       ¬«       | j/                  t1        j2                  t4        j6                  |¬«      «       t9        j:                  || j                  ¬«      S | j=                  || j>                  «      S | j=                  |«      S t        |«      t@        u rOt        |t@        «      sJ ‚t        jB                  s| j=                  || jD                  «      S | j=                  |«      S t        |«      tF        tH        fv r)t        |tF        tH        f«      sJ ‚| j=                  |«      S | j/                  t4        jJ                  «       t9        j:                  || j                  ¬«      }t        |tL        tN        f«      r0| j(                  jP                  jR                  jU                  ||«      S |S )Nú&%s marked dynamic via source whitelistrT  ú'%s marked unbacked via source whitelista  torch.compile considers integer attributes of the nn.Module to be static. If you are observing recompilation, you might want to make this integer dynamic using torch._dynamo.config.allow_unspec_int_on_nn_module = True, or convert this integer into a tensor.©r1  )Úrecompile_hint©r%  r  )+r…  rÂ  r,  Úis_dynamic_sourcer  r$  rý  rþ  rû  r.   r¶  Úis_unbacked_sourceÚUNBACKEDr>   r/  r   r0  Ú"is_unspecialized_builtin_nn_moduler1  rN   rN  rL   Úmake_scalarrx  r~  r  rG   rp  r™   rÜ  Ú_wrap_lazy_constantÚ_wrap_symint_for_lazyrÕ  Úspecialize_floatÚ_wrap_symfloat_for_lazyr@  rB  rë  rš  rj  rO  rw  rè  )r*  r%  r‚  r¼  s       r  r§  zVariableBuilder.wrap_literal¥  s�  € Ü�‹;œ#ÒÜ˜e¤SÔ)Ð)Ð)ä  §¡×!1Ñ!1Ô2Ü—	‘	ÐBÀDÇKÁK×DTÑDTÔUØ×'Ñ'¨¼
×8JÑ8JÐ'ÓKÐKä! $§+¡+×"2Ñ"2Ô3Ü—	‘	ÐCÀTÇ[Á[×EUÑEUÔVØ×'Ñ'¨¼
×8KÑ8KÐ'ÓLÐLä×(Ó(ô .¨e°T·[±[ÕAØ%)�NàŸ™×0Ñ0×SÑSÔUØŸ;™;×3Ñ3×NÑNÔPð5ð 'ô .ØŸ™ØŸ™×(Ñ(Ü+×7Ñ7¸Ó>Ø37·;±;×3KÑ3K×3fÑ3fÓ3hõ	ð ×'Ñ'Ü!×)Ñ)Ü(×5Ñ5Ànôôô
 ,×2Ñ2¸ÀtÇ{Á{ÔSÐSà×/Ñ/°°t×7QÑ7QÓRÐRà×+Ñ+¨EÓ2Ð2Ü�%‹[œEÑ!Ü˜e¤UÔ+Ð+Ð+Ü×*Ò*Ø×/Ñ/°°t×7SÑ7SÓTÐTà×+Ñ+¨EÓ2Ð2Ü�%‹[œT¤3˜KÑ'Ü˜e¤d¬C [Ô1Ð1Ð1Ø×+Ñ+¨EÓ2Ð2à×Ñ¤× ;Ñ ;Ô<Ü%×,Ñ,°5ÀÇÁÔMˆFÜ˜%¤$¬ Ô-Ø—w‘w—~‘~×2Ñ2×@Ñ@ÀÈÓOÐOØˆMr  c                 ó$   — | j                  |«      S r'  )rû  rÁ  s     r  rŠ  z%VariableBuilder._wrap_symint_for_lazyæ  s   € Ø×Ñ Ó&Ð&r  c                 ó$   — | j                  |«      S r'  )Úwrap_symfloatrÁ  s     r  rŒ  z'VariableBuilder._wrap_symfloat_for_lazyé  s   € Ø×!Ñ! %Ó(Ð(r  Úwrap_fnc                  ó   — y r'  r  ©r*  r%  r�  s      r  r‰  z#VariableBuilder._wrap_lazy_constantì  ó   € ð
 r  c                  ó   — y r'  r  r’  s      r  r‰  z#VariableBuilder._wrap_lazy_constantó  r“  r  c                  ó   — y r'  r  r’  s      r  r‰  z#VariableBuilder._wrap_lazy_constantú  r“  r  c                 óð   — | j                   sJ|� ||«      S | j                  t        j                  «       t	        j
                  || j                  ¬«      S t        j
                  || j                  ¬«      S )zCWrap a primitive constant, deferring guard installation if allowed.rƒ  r4  )rd  rx  rG   rë  r™   rÜ  r  r´   r’  s      r  r‰  z#VariableBuilder._wrap_lazy_constant	  s_   € ð ×'Ò'ØÐ"Ù˜u“~Ð%Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKÜ#×*Ñ*¨5¸¿¹ÔEÐEr  c                 óv   — t        |«      r.t        |«      | j                  j                  u rt	        dd«      ‚y y )Nz*Cannot wrap a Tensor that has already beenz"wrapped by this instance of Dynamo)r#   r$   rN  rñ  rD   rÁ  s     r  Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graph	  s;   € Ü�5Œ>Ô1°%Ó8¸D¿G¹G×<MÑ<MÑMÜ*Ø<Ø4óð ð Nˆ>r  c           	      ó  — | j                  «       }|| j                  j                  j                  vsJ ‚t	        |«      d u}|s]t        |t        j                  j                  «      s|r7|j                  j                  «       r| j                  |t        «       ¬«       d}t        j                  xr% t        |«      xs t!        |«      xs t#        |«      }|xr0 t        «       xs$ t        j$                  j                  j&                  }|s6|j                  j)                  «       s|r]|j                  j+                  «       sC| j-                  |«       | j                  j                  j/                  || j0                  |¬«      S t	        |«      dk(  rb| j3                  t4        j6                  «       | j-                  |«       | j                  j                  j/                  || j0                  |¬«      S t9        |«      rX| j-                  |«       | j                  j                  j/                  |t;        j<                  dd| j0                  «      |¬«      S || j                  j                  j>                  v }|r#| j                  j                  j>                  |   S i }tA        |«      }|�| j3                  t4        jB                  «       t	        |«      dk(  r| j3                  t4        j6                  «       | j-                  |«       t        |t        jD                  «      rS|jF                  rGt        |t        jH                  jJ                  jL                  jN                  «      stQ        ddd	g ¬
«       t        |t        jD                  «      rPtS        |«      rE| j                  jT                  rt        jV                  stQ        dddg tX        jZ                  ¢¬
«       t]        |«      r€t_        |«      �u|j`                  t_        |«      j`                  k7  rSt_        |«      }	|	�tc        |	j`                  «      nd}
tQ        dd|j`                  › d|
› �dg tX        jd                  ¢¬
«       tg        || j                  d|¬«      }| j                  j                  jh                  jk                  t;        j<                  dd| j0                  «      tm        |«      ||¬«      }to        | j                  ||«       tq        d)| j                  ||||dœ|¤Ž}| j                  j                  j                  js                  ||«       |ju                  «       r-tg        |jv                  | j                  ty        |d«      d¬«       t4        jz                  }t        |t|        «      rt        |«      rt4        j€                  }t        j‚                  j…                  «       xr. t        |t        j‚                  j†                  jˆ                  «      }|sA| j3                  t‹        jŒ                  |t        |tŽ        «      r|n
t‘        |«      ¬«      «       t“        |«      �rÖ|�rO| j3                  t4        jB                  «       |j•                  «       d   }|ddgk7  rt—        d«      ‚|j•                  «       d   }t™        |«      dk(  rf|d   |jš                  jœ                  k(  rJ|d   |jš                  jž                  k(  r.|d   |jš                  j                   k(  r|d   |j¢                  k(  st—        d«      ‚t¥        ty        | j¦                  d «      j©                  t4        jª                  «      «       t¥        ty        | j¦                  d!«      j©                  t4        j¬                  «      «       no| j3                  t4        j®                  «       | j3                  t4        jB                  «       t¥        t±        |«      j©                  t4        j¬                  «      «       |j•                  «       \  }}|D ]ý  }t³        ||«      }tm        |«      }t        |t        j´                  j¶                  j¸                  «      rtm        |jº                  «      }t        |t        jD                  «      sBt½        |«      s7t—        tm        |«      j¾                  ›d"tm        |«      j¾                  › d#�«      ‚ty        | j¦                  |«      }tÁ        jÂ                   tÅ        | j                  |«      |«      «       Œÿ || j                  j                  j>                  |<   d$|jÆ                  jÈ                  vsJ ‚tË        |«      |jÆ                  jÈ                  d$<   |jÌ                  jÆ                  jÈ                  d%   }tÏ        |«      | j                  jÐ                  urtÓ        d&«      ‚tÕ        ||d'|«      }||jÆ                  jÈ                  d(<   |S )*NrN  Tr4  Úguardedr=  rX  z&Attempted to wrap strided NestedTensorrÇ  ú3torch.compile does not support strided NestedTensorrÈ  zAttempted to wrap sparse Tensorz-torch.compile does not support sparse TensorsÚNonez.dtype mismatch between tensor and its gradientztensor dtype: z; grad dtype: zmInconsistent dtype between tensor and its gradient. This can happen in FSDP and crashes meta tensor creation.©rN  r"  r  )rN  r  r*  r+  r  Ú_base)rN  r  r"  r%  r   Ú_local_tensorÚdevice_meshzDExpecting DTensor inner attrs to be ['_local_tensor', 'device_mesh']r�   é   r=   rE  z\Expecting DTensor flattening ctx to be (placements, tensor_meta, shard_order, requires_grad)Ú_specÚrequires_gradz found in tensor attrs of z[.__tensor_flatten__(). Only tensors and reference-type opaques are allowed in tensor attrs.r.  r*  z(Wrapped Tensor must be this graph's fakeFr>  r  )kr‡  rN  rO  rw  rx   r,  r  ry  r•  r0  r1  rQ  r   r>   rò  r_   r`   rb   r2  Úprepare_freezingÚis_specialized_nn_moduleÚis_fsdp_moduler˜  ró  r$  rx  rG   rÀ  r]   r¨  rº  r5  Úinfer_subclass_typerÄ  r0  Ú	is_nestedÚnestedr  Únested_tensorÚNestedTensorrF   r%   ri  Úcapture_sparse_computer?   ÚSPARSE_TENSORr  r&   r+  rB  rÑ  Úwrap_to_fake_tensor_and_recordr±  r¹  r…  Úcache_real_value_when_exportÚwrap_fx_proxyr€  Ú_is_viewrž  rQ   r6  r\   ra   ÚNOT_NONE_MATCHrw  Úis_availableÚtensorÚDTensorr~  r  rf   r<   r9   Ú__tensor_flatten__r�  r^  r¢  Ú
placementsÚtensor_metaÚshard_orderr£  rH   r  r‹  ÚDTENSOR_SPEC_MATCHrp  ÚTENSOR_SUBCLASS_METADATA_MATCHrk   rb  ræ  rç  rè  ré  r   r  rµ   rí  rc  r£  r»  ro   r  r$   rñ  rD   r  )r*  r%  r  Úis_static_inputÚshould_install_free_tensorÚmake_graph_attributeÚis_duplicate_tensorÚoptionsr+  Úsafe_grad_valÚgrad_strr*  Útensor_proxyr<  Ú
guard_typeÚ
is_dtensorÚinner_attrsÚflattening_ctxÚattrsrX  ÚattrÚinner_valueÚ
inner_typeÚinner_sourceÚfake_tensor_valuer>  s                             r  r˜  zVariableBuilder.wrap_tensor	  sg  € Ø—‘Ó"ˆð ˜DŸG™GŸN™N×7Ñ7Ñ7Ð7Ð7ä1°%Ó8ÀÐDˆáÜ�uœeŸh™h×0Ñ0Ô1á˜6×.Ñ.×IÑIÔKà×"Ñ" 5Ô0EÓ0GÐ"ÔHØ"ˆOô &,×%@Ñ%@ò &
Ü! &Ó)ò >Ü& vÓ.ò>ä5°fÓ=ð 	#ð  /ò  
Ü!Ó#ÒL¤u§}¡}×';Ñ';×'LÑ'Lð 	ñ &Ø× Ñ ×9Ñ9Ô;Ñ?SØ×'Ñ'×6Ñ6Ô8à×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9Ø�t—y‘y¨ð :ó ð ô # 5Ó)¨YÒ6ð ×Ñ¤× 5Ñ 5Ô6Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9Ø�t—y‘y¨ð :ó ð ô ˜fÔ%Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9ØÜ—‘Ð'¨¨d¯i©iÓ8Øð :ó ð ð %¨¯©¯©×(JÑ(JÐJÐÙØ—7‘7—>‘>×5Ñ5°fÑ=Ð=àˆÜ+¨EÓ2ˆØÐ$Ø×Ñ¤× 7Ñ 7Ô8ä" 5Ó)¨YÒ6Ø×Ñ¤× 5Ñ 5Ô6ð 	×-Ñ-¨eÔ4ô �uœeŸl™lÔ+Ø—’Ü˜u¤e§l¡l×&<Ñ&<×&JÑ&J×&WÑ&WÔXäØ@ØØQØõ	ô �uœeŸl™lÔ+Ü˜eÔ$Ø—W‘W—^’^¬6×+HÒ+Hô
 Ø9ØØKØ8Ô)×7Ñ7Ð8õ	ô ˜%Ô Ü˜%Ó Ð,à—‘œy¨Ó/×5Ñ5Ò5ä% eÓ,ˆMØ3@Ð3L”s˜=×.Ñ.Ô/ÐRXˆHÜØHØ(¨¯©¨°^ÀHÀ:ÐNðLà6Ô)×5Ñ5Ð6õô" 7Ø�d—g‘g¨°fô
ˆð —w‘w—~‘~×1Ñ1×DÑDÜ�F‰FÐ# S¨$¯)©)Ó4Ü�‹KØØð	 Eó 
ˆô 	% T§W¡W¨l¸EÔBä'ð 
Ø�w‰wØØ'Ø'Øñ
ð ñ
ˆð 	�‰�‰×#Ñ#×9Ñ9¸%ÀÔQà�>‰>Ôô +Ø—‘Ø—7‘7Ü! &¨'Ó2Øõ	ô "×.Ñ.ˆ
ä�fœjÔ)Ô.FÀvÔ.NÜ%×4Ñ4ˆJä×&Ñ&×3Ñ3Ó5ò 
¼*Ø”5×$Ñ$×+Ñ+×3Ñ3ó;
ˆ
ñ ð ×ÑÜ×!Ñ!Øô & fÔ.?Ô@ñ ä*¨5Ó1ôô	ô )¨Õ/ò Ø×#Ñ#¤L×$;Ñ$;Ô<à#×6Ñ6Ó8¸Ñ;�Ø ?°MÐ"BÒBÜ&Ø^óð ð "'×!9Ñ!9Ó!;¸AÑ!>�ä˜Ó'¨1Ò,Ø& qÑ)¨U¯[©[×-CÑ-CÒCØ& qÑ)¨U¯[©[×-DÑ-DÒDØ& qÑ)¨U¯[©[×-DÑ-DÒDØ& qÑ)¨U×-@Ñ-@Ò@ä&Øvóð ô Ü˜tŸ{™{¨GÓ4×?Ñ?Ü$×7Ñ7óôô Ü˜tŸ{™{¨OÓ<×GÑGÜ$×1Ñ1óõð ×#Ñ#¤L×$OÑ$OÔPØ×#Ñ#¤L×$;Ñ$;Ô<ÜÜ*¨6Ó2×=Ñ=¼l×>WÑ>WÓXôð ×/Ñ/Ó1‰HˆE�1Øò �Ü% e¨TÓ2�ô " +Ó.�
ÜØÜ—N‘N×6Ñ6×GÑGôô "& k×&:Ñ&:Ó!;�JÜ!Ø¤§¡ôä2°:Ô>Ü&Ü Ó,×5Ñ5Ð8Ð8RÜ ›;×/Ñ/Ð0ð 1+ð+óð ô  *¨$¯+©+°tÓ<�Ü#×/Ñ/Ø:”O D§G¡G¨\Ó:¸;ÓGõð)ð0 6Eˆ�‰�‰×*Ñ*¨6Ñ2Ø L×$5Ñ$5×$:Ñ$:Ñ:Ð:Ð:Ü0DÀUÓ0Kˆ×Ñ×Ñ˜}Ñ-ð ,×1Ñ1×6Ñ6×;Ñ;¸OÑLÐÜÐ0Ó1¸¿¹×9JÑ9JÑJÜ*Ð+UÓVÐVä˜F E¨5Ð2CÓDˆØ-5ˆ×Ñ×Ñ˜zÑ*ØÐr  c           	      ó  — t         €J ‚t        |t         j                  «      sJ ‚t        | j	                  «       «      }ddlm} |j                  j                   }|r	 d|j                  _        d }t        j                  «       5  	 |j                  |«      }|rddlm}  ||«      }d d d «       |€J ‚t)        j*                   t-        | j.                  |«      |«      «       t1        || j.                  d|¬	«      }| j.                  j2                  j4                  j7                  t9        j:                  d
d| j<                  «      t?        |«      ||¬«      }	tA        | j.                  |	|«       d|i}
tC        dtD        | j.                  |	|d dœ|
¤Ž}|| j.                  j2                  jF                  |<   |jH                  jJ                  jL                  d   }tO        ||d|d|¬«      }||	jJ                  jL                  d<   | jP                  |_(        |S # t        $ r* t        |j                  t         j                  «      sJ ‚Y �Œ×w xY w# t"        $ r$}t%        dt'        |«      dg |¬«       Y d }~�ŒÊd }~ww xY w# 1 sw Y   �ŒÔxY w)Nr   )Ú_utilT)Úclone_preserve_stridesz)failed to convert numpy.ndarray to TensorzHException encountered when attempting to convert numpy.ndarray to Tensor)rÉ  rÊ  rË  rÌ  Úfrom_excFr�  r=  rX  r4  r  )r)  rN  r  r*  r+  r*  ©r   r!  r"  r#  r>  r  ))r   r,  r¹  rf   r‡  Útorch._numpyrÏ  ÚflagsÚ	writeableÚ
ValueErrorr  Únditerrð   Útemp_restore_stackÚ_try_convert_to_tensorÚtorch._prims_commonrÐ  rŒ  rF   rB  rµ   rí  rc  rN  r®  rO  r±  r¹  r¨  rº  r$  r…  r¯  r4  rå   r5  r  r£  r»  r  r  )r*  r%  r  rÏ  ÚreadonlyÚtensor_valuerÐ  r{  r*  r  rÀ  Únumpy_ndarray_variabler>  s                r  rº  z"VariableBuilder.wrap_numpy_ndarray.
  s^  € Üˆ~Ðˆ~Ü˜%¤§¡Ô,Ð,Ð,ä" 4§?¡?Ó#4Ó5ˆå&à—{‘{×,Ñ,Ð,ˆÙð9Ø(,�—‘Ô%ð
 ˆÜ0×CÑCÓEñ 	ðØ$×;Ñ;¸EÓB�ÙÝJá#9¸,Ó#G�L÷	ð  Ð'Ð'Ð'ô 	×'Ñ'Ð(H¬¸¿¹ÀÓ(HÈÓ(VÔWÜ6ØØ�w‰wØØô	
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØð	 >ó 
ˆô 	% T§W¡W¨e°\ÔBØ˜VÐ$ˆÜ!2ð "
Ü+Ø�w‰wØØ'Øñ"
ð ñ"
Ðð 6Lˆ�‰�‰×*Ñ*¨6Ñ2à.×4Ñ4×9Ñ9×>Ñ>¸ÑOˆô ØØØ#Ø%ØØ+ô
ˆð '/ˆ�
‰
�‰˜
Ñ#ð )-¯©ÐÔ%à%Ð%øôO ò 9ô " %§*¡*¬b¯i©iÔ8Ð8Ó8ð9ûô 'ò äØGÜ ›JØ jØØ÷ó ûðú÷	ñ 	úsB   ÁH ÂI:Â!I
È/IÉIÉ
	I7ÉI2É,I:É2I7É7I:É:JrS  rÊ  c                 ó&  — t        |«      t        u sJ ‚| j                  | j                  j                  j
                  v r-| j                  j                  j
                  | j                     S | j                  j                  j                  }d }t        j                  «       j                  ra|j                  «       }t        |«       | j                  j                  j                  j                  t        || j                  d «      «       �n-t!        | j#                  «       «      �s¸|€dt$        j&                  j(                  j*                  r@| j-                  t.        j0                  «       t3        j4                  || j                  ¬«      S | j                  j                  }t7        | j                  |t9        j:                  |«      | j                  j<                  j?                  «       ¬«      }tA        | j                  j                  «      }| j                  }	tC        |	tD        «      r|	jG                  «       }	|�|}
nót(        jH                  r)|jJ                  tL        u rtO        dd«       tQ        «       }
nºtC        |	tR        «      r6|	jT                  �*tW        |	jT                  «      j                  |ddi«      d   st(        jX                  stZ        j\                  }
nS|jJ                  tL        u rtO        dd«       | j-                  t.        j0                  «       t3        j4                  |¬«      S t(        j^                  r|�|j`                  nd }|jc                  || j                  |
|¬«      }tC        |td        «      stg        d	t        |«      › �«      ‚| j                  j                  j                  j                  t        || j                  |«      «       n[t!        | j#                  «       «      sJ ‚| j-                  t.        j0                  «       t3        j4                  || j                  ¬«      S tC        | j#                  «       th        «      rJ ‚tk        | j#                  «       jm                  t.        jn                  «      «       d
| j#                  «       i}| j                  j                  jp                  js                  tu        jv                  dd| j                  «      t        |«      || j#                  «       ¬«      }|jx                  jz                  }tC        |t|        j~                  «      s
J |› d�«       ‚|| j                  j                  jp                  j€                  |<   tƒ        j4                  | j                  ||fi |¤Ž}|| j                  j                  j
                  | j                  <   t!        | j#                  «       «      s6t…        | j#                  «       |dd d|¬«      |jx                  j†                  d<   |S )Nrƒ  r�  údynamo.automatic_dynamic_shapesTr   Fr%  )r  r:  Úexcluded_valuer<  r  r=  rX  r4  r?  rÒ  r>  )Dr…  rÂ  r$  rN  rO  Úunspec_variable_mapr³  r   r}  Ú#force_unspec_int_unbacked_size_likerÄ  r,   r¿  r¸  r4   r  r]   r‡  r  r2  r>   r/  rx  rG   rë  r™   rÜ  rN   rL   rˆ  r0  r1  r)   r,  rS   rn  Úautomatic_dynamic_shapesÚscalarrJ   r   Ú$get_automatic_dynamic_shapes_mark_asrd   rS  ræ  Úassume_static_by_defaultr.   r¶  Ú!automatic_dynamic_exclusion_guardÚexcluded_scalarrÁ  r   r¸  rh   rH   r‹  rÄ  r±  r¹  r¨  rº  r£  r¼  r½  r¾  Úbound_symbolsrç   r  r»  )r*  r%  rS  rÊ  r³  Úframe_state_entryÚwrapped_valuer$  Únormalized_source_nameÚbase_sourcer:  rè  rÀ  r  r  Ú
unspec_vars                   r  rû  zVariableBuilder.wrap_symintƒ
  s¢  € ô �E‹{œcÑ!Ð!Ð!à�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@à—G‘G—N‘N×,Ñ,ˆ	Ø8<ÐÜ×ÑÓ×CÒCØ%×<Ñ<Ó>ˆMÜ% mÔ4Ø�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=öô $ D§O¡OÓ$5Õ6ØÐ¤E§M¡M×$8Ñ$8×$GÒ$Gð
 ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà—;‘;×#Ñ#ˆDä 9Ø—‘ØÜ#×/Ñ/°Ó6Ø+/¯;©;×+CÑ+C×+^Ñ+^Ó+`ô	!Ðô &;¸4¿;¹;×;KÑ;KÓ%LÐ"ØŸ+™+ˆKÜ˜+¤}Ô5Ø)×2Ñ2Ó4�àÐ#Ø&‘ä×/Ò/Ø%×,Ñ,´Ñ<äÐ AÀ4ÔHÜBÓD‘ä˜;¬Ô4Ø×(Ñ(Ð4ä˜×-Ñ-Ó.×2Ñ2Ð3IÈAÈuÈ:ÓVØòô ×4Ò4Ü(×0Ñ0‘ð %×+Ñ+¬|Ñ;Ü#Ð$EÀuÔMØ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÔ;Ð;ô ×;Ò;Ø%Ð1ð "×1Ò1ð ð	 ð &×JÑJØØ—{‘{Ø'Ø.ð	 Kó ˆMô ˜m¬VÔ4Ü$Ð'<¼TÀ-Ó=PÐ<QÐ%RÓSÐSà�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó@õô & d§o¡oÓ&7Ô8Ð8Ð8à×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKä˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLà˜TŸ_™_Ó.Ð/ˆà—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØ—?‘?Ó$ð	 >ó 
ˆð !×%Ñ%×*Ñ*ˆÜ˜(¤E§L¡LÔ1ÐW°h°ZÐ?VÐ3WÓWÐ1Ø=Bˆ�‰�‰×"Ñ"×0Ñ0°Ñ:Ü$×+Ñ+¨D¯G©G°U¸MÑUÈWÑUˆ
à8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5ä! $§/¡/Ó"3Ô4Ü*2Ø—‘Ó!ØØ#(Ø ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðr  c           
      ó¢
  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t	        | j                  | j
                  j                   t        j                  |«      | j
                  j                  j                  «       ¬«      }t        j                  j                  j                  sŸt        | j                  «       «      s†t!        j"                  |«      sqt!        j$                  |«      s\t        j&                  j                  j(                  j*                  s.t-        dd«      s"t        j.                  rR|j0                  t2        ur@| j5                  t6        j8                  «       t;        j<                  || j
                  ¬«      S t        j>                  |t        j@                  ¬«      }t        jB                  jD                  jG                  |«      r@| j5                  t6        j8                  «       t;        j<                  || j
                  ¬«      S tI        | j                  «       tJ        «      rJ ‚tM        | j                  «       jO                  t6        jP                  «      «       tS        | j                  «       «      }||dœ}tU        || j                  d|¬«      }| j                  j                  jV                  jY                  t[        j\                  dd	| j                   «      t_        |«      ||¬
«      }ta        | j                  ||«       tc        td        f| j                  ||d dœ|¤Ž}tI        |td        «      sJ ‚|| j                  j                  j                  | j                   <   | j                  jf                  r=tI        | j                  «       th        «      stk        d|› d| j                  «       › �«      ‚d }	|jl                  jn                  jp                  d   }ts        |«      sJ ‚|}	|	jt                  | j                  jt                  u sJ d|	jt                  › d�«       ‚tw        | j                  «       |d|	d|¬«      |jn                  jp                  d<   ty        | j                   | j                  j                  jz                  ddgt}        |gi «      ¢­Ž «      }
| j                  j                  j~                  j�                  tƒ        |
j„                  | j
                  d «      «       t‡        «       j‰                  ddd¬«       |
S )Nr�  z.pytorch/compiler:unspecialize_float_killswitchFrƒ  )r+  )r  Ú	raw_valuer�  r=  rX  r4  ©rN  r  r*  r+  ú=Dynamo attempts to add additional input during export: value=ú	, source=r*  úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTrÒ  r>  Úcall_methodr'  Útensorify_float_attempt)Ú	overwrite)Er$  rN  rO  rá  rN   r  rL   rˆ  r0  r1  r  r2  r>   r‹  r]   r‡  ÚmathÚisnanÚisinfÚ	_inductorr[  Ú
cudagraphsr'   ræ  rä  rJ   rx  rG   rë  r™   rÜ  r´  Úfloat64rt  ru  Úis_gradtrackingtensorr,  rh   rH   r‹  rÄ  rZ   r®  r±  r¹  r¨  rº  r…  r¯  r4  rê   ri  rd   r¸  r  r£  r»  r#   rñ  r  r°  r¢  r†   r¿  r¸  r4   Úsym_numr   rj  )r*  r%  rê  rë  r  rÀ  r*  r  rî  rÍ  r-  s              r  r�  zVariableBuilder.wrap_symfloat  s$  € ð �9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@ä5Ø�G‰GØ�K‰K×Ñä×+Ñ+¨EÓ2Ø'+§{¡{×'?Ñ'?×'ZÑ'ZÓ'\ô
Ðô �M‰M× Ñ ×1Ò1Ü! $§/¡/Ó"3Ô4Ü�z‰z˜%Ô Ü�z‰z˜%Ô ô �‰×%Ñ%×,Ñ,×7Ò7ÜÐOÐQVÔWä×/Ò/Ø%×,Ñ,´LÑ@ð ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô Ÿ™ U´%·-±-Ô@ˆô
 �8‰8×Ñ×4Ñ4°]ÔCØ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô ˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLô # 4§?¡?Ó#4Ó5ˆØ#°%Ñ8ˆô 7Ø˜dŸg™g°¸vô
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØð	 >ó 
ˆô 	% T§W¡W¨e°]ÔCä&Ü'ð
à�w‰wØØ'Øñ
ð ñ
ˆ
ô ˜*Ô&AÔBÐBÐBØ8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5à�7‰7�>Š>¤*¨T¯_©_Ó->ÄÔ"LÜ ØOÐP]ÈÐ^gÐhl×hwÑhwÓhyÐgzÐ{óð ð !ÐØ"×(Ñ(×-Ñ-×2Ñ2°?ÑCˆÜ�}Ô%Ð%Ð%à)Ðà ×*Ñ*¨d¯g©g×.?Ñ.?Ñ?ð 	
ØÐ+×5Ñ5Ð6ð 7?ð ?ó	
Ð?ô  '/Ø�O‰OÓØØ#à)ØØ,ô'
ˆ�
‰
�‰˜
Ñ#ô Ø�G‰GØ'ˆD�G‰G�N‰N×'Ñ'ØØðô # J <°Ó4òó
ˆð 	�‰�‰×$Ñ$×+Ñ+¬K¸¿	¹	À4Ç;Á;ÐPTÓ,UÔVäÓ×!Ñ!Ð";¸TÈTÐ!ÔRàˆr  c                 ó  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t	        j
                  |«      }t        | j                  «       t        «      s6t        | j                  «       j                  t        j                  «      «       d| j                  «       i}|j                  d|i«       t        || j                  d| j                  «       ¬«      }| j                  j                  j                  j!                  t#        j$                  dd| j                   «      t'        |«      || j                  «       ¬«      }t)        | j                  ||«       t+        t,        f| j                  ||d dœ|¤Ž}|| j                  j                  j                  | j                   <   t/        | j                  «       «      �s| j                  j0                  r=t        | j                  «       t2        «      st5        d	|› d
| j                  «       › �«      ‚d }|j7                  «       r|j9                  «       }n#|j:                  j<                  j>                  d   }tA        |«      sJ ‚|}|jB                  | j                  jB                  u sJ d|jB                  › d�«       ‚tE        | j                  «       |d|d|¬«      |j<                  j>                  d<   |S )Nr  rð  Fr�  r=  rX  r4  rñ  rò  ró  r*  rô  rõ  TrÒ  r>  )#r$  rN  rO  rá  r  r´  r,  r‡  rh   rH   r‹  rG   rÄ  Úupdater®  r±  r¹  r¨  rº  r…  r¯  r4  rê   r]   ri  rd   r¸  Úis_python_constantÚas_python_constantr  r£  r»  r#   rñ  r  )r*  r%  rë  rÀ  r*  r  rî  rÍ  s           r  r›  z,VariableBuilder.wrap_unspecialized_primitive—  sˆ  € Ø�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@äŸ™ UÓ+ˆÜ˜$Ÿ/™/Ó+Ô->Ô?Ü˜$Ÿ/™/Ó+×6Ñ6´|×7NÑ7NÓOÔPà˜TŸ_™_Ó.Ð/ˆØ�‰˜ UÐ+Ô,ä6Ø˜dŸg™g°¸t¿¹Ó?Pô
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØ—?‘?Ó$ð	 >ó 
ˆô 	% T§W¡W¨e°]ÔCä&Ü'ð
à�w‰wØØ'Øñ
ð ñ
ˆ
ð 9Cˆ�‰�‰×*Ñ*¨4¯9©9Ñ5Ü! $§/¡/Ó"3Õ4Ø�w‰w�~Š~¤j°·±Ó1BÄKÔ&PÜ$ØSÐTaÐSbÐbkÐlp×l{Ñl{Ól}Ðk~Ðóð ð !%ÐØ×,Ñ,Ô.à *× =Ñ =Ó ?‘ð !+× 0Ñ 0× 5Ñ 5× :Ñ :¸?Ñ K�Ü˜=Ô)Ð)Ð)à -Ðà$×.Ñ.°$·'±'×2CÑ2CÑCð ØÐ/×9Ñ9Ð:ð ;Cð CóÐCô
 +3Ø—‘Ó!ØØ#'à-ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðr  )Tr'  ©NN)Pr  r  r  Ú__doc__rj   r@  rH  r(  r•   rn  rj  r  r‡  r   r   ræ  rB  rx  Úclassmethodr“  r~  Úcacher�  r¨  r©  rÂ   rª  r«  r¬  rÕ   r­  r  r®  r¯  r°  r   r±  r¯   r´  r·  rÂ  rõ  r~  rÉ  r   r™  rš  r…   r   rž  rŠ   r¢  r‡   r£  r¡  r¤  r¥  r»   r¹   r¦  r0  rQ  ry  rz  rg  r§  rŠ  rÕ  rŒ  r	   r‰  r˜  r˜  rº  r.   r3   rû  r�  r›  rU  rV  s   @r  rc  rc  Ð  sÕ  ø„ Ù=ð %)ñ	7à#ð7ð ð7ð "ð	7ð
 
õ7ð&˜fð ¨ó ð> ð >¨?ó >ð@
¨Oð 
Àó 
ð˜Fó ð h¨s°C¨xÑ&8ð ¸TÀ#ÀsÀ(¹^ÈdÑ=Ró ð ð;˜t F¨H°S¸#°XÑ,>Ð$>Ñ?ò ;ó ð;ð Ø‡_�_ð'¨dð '°t¸FÀHÈSÐRUÈXÑDVÐ<VÑ7Wò 'ó ó ð'ðR+¨¯
©
°3©ð +Ð<Pó +ð
I '×"7Ñ"7¸Ñ"<ð IÀó Ið
Ø—[‘[×&Ñ&×6Ñ6ð
à	ó
ð
 sð 
Ð/Jó 
ð"H¨ð H°ó HðB Ø‡_�_ðà	ˆc�8Ð.°Ð4°oÐEÑFÐFÑ	Gòó ó ðð6R1˜3ð R1 ?ó R1ðh"P sð P¨ó Pð.pØ˜5  c ™?¨D°©I°|ÀZÐOÑPðpà	ópðd	H¨ð 	H¸Oó 	HðH¨ð H¸Oó HðH¨#ð H°/ó Hð < e¨e¡mð <¸ÈÑ8Uó <ð u§|¡|ð ¸Dð ÀTó ð$h §¡§¡ð h°_ó hðT? &ð ?¨_ó ?ðB'¨3ð '°?ó 'ð)¨Uð )°ó )ð ðàðð ˜3˜% Ð0Ñ1ðð 
ò	ó ðð ðàðð ˜5˜' ?Ð2Ñ3ðð 
ò	ó ðð ð ñà�U‰{˜TÑ! CÑ'ðð ðð 
ò	ó ðð <@ñFà�U‰{˜TÑ! CÑ'ðFð ˜3˜% Ð0Ñ1°DÑ8ðFð 
ó	Fð°e·l±lð Àtó ðW §¡ð W°/ó WðrS&¨ð S&°ó S&ðp '+Ø04ñ	AàðAð ˜tÑ#ðAð '¨Ñ-ð	Að
 
óAðFO 5ð O¨_ó Oðb>°#ð >¸/÷ >r  rc  Úobjc           	      ó†  — d }t        | t        «      r| j                  }n"t        dd| › dt	        | «      › �d| › d�g ¬«       |€J ‚g }t        j                  |«      D ]X  }d }| j                  r,t        | j                  d«      }t        ||j                  «      }|j                  t        ||¬«      «       ŒZ t        |«      S )	Nzdataclass fields failurezobj: z; variable type: z$Dataclass fields handling fails for z*. Expected it to be a user-defined object.rÈ  Ú__dataclass_fields__r4  )r,  rý   r%  rF   r…  rò  ró  r  rQ   rW   r$  r¸  r½   )r	  r%  rç  Úfieldr  Úbase_srcs         r  rï  rï  Ø  sÈ   € Ø€EÜ�#Ô0Ô1Ø—	‘	‰äØ.Ø˜C˜5Ð 1´$°s³)°Ð=Ø>¸s¸eÐCmÐnØõ		
ð ÐÐÐØ€Eä×#Ñ# EÓ*ò FˆØˆØ�:Š:Ü! #§*¡*Ð.DÓEˆHÜ& x°·±Ó<ˆFØ�‰Ô.¨u¸VÔDÕEðFô ˜ÓÐr  r%  rñ  c                 óÌ   — t        | t        j                  «      rIt        | t        «      s9t        j                  | «      rt        | «      |u s| j                  st        | «      } | S r'  )r,  r  r0  r!   Ú_is_functional_tensorr$   r¨  rr   )r%  rñ  s     r  Ú_clone_inputr  ð  sQ   € Ü�%œŸ™Ô&ô �uœjÔ)ô ×+Ñ+¨EÔ2Ü'¨Ó.°)Ñ;à�Šô   Ó&ˆEà€Lr  rN  r  r  r*  r+  rÀ  c                 ó‚   — | |||dœ|¥}|€t        ddt        i|¤ŽS t        ddt        i|¤Ž}|j                  | «       |S )Nrñ  r)  r  )r4  ré   rï   Úinstall_global)rN  r  r*  r+  rÀ  Úkwargsr¼  s          r  r°  r°    sd   € ð ØØ&Ø&ñ	ð
 ð€Fð Ðä ÑE¬NÐE¸fÑEÐEô #ÑUÔ.JÐUÈfÑUˆà×Ñ˜bÔ!Øˆr  c                 óò   — | j                   r_t        j                  j                  «       5  t	        || j
                  «      |j                  j                  |j                  <   d d d «       y y # 1 sw Y   y xY wr'  )	ri  r  rt  ÚDisableTorchFunctionSubclassr  rñ  ÚtracerÚreal_value_cacher£  )rN  r  r*  s      r  r¯  r¯    sb   € ð 
‡y‚yô �X‰X×2Ñ2Ó4ñ 	Ü8DØ˜rŸ|™|ó9ˆE�L‰L×)Ñ)¨%¯*©*Ñ5÷	ð 	ð	 ÷	ð 	ús   «8A-Á-A6r)  c                 óÂ  — |€t        | ||||fi |¤Ž}n;t        |t        j                  «      rt	        | ||||fi |¤Ž}nt        |||||| «      }t        |t        j                  j                  j                  t        j                  j                  j                  f«      r>|j                  j                  dk7  r%|j                  j                  j                  |«       |S )NÚplaceholder)Ú_wrap_fx_proxyr,  r  r0  Ú_wrap_fx_preexisting_tensorÚhandle_traced_outputr2  Ú	variablesré   rç   r£  ÚoprO  rt  Úrecord_proxyable_vt)r)  rN  r  r*  r+  rÀ  Úouts          r  r4  r4  T  sÔ   € ð ÐÜ)Ø˜˜E =°-ñ
ØCJñ
‰ô 
�M¤5§<¡<Ô	0Ü)Ø˜˜E =°-ñ
ØCJñ
‰ô #Ø˜2˜u g¨}¸jó
ˆô
 	Øä—‘×'Ñ'×6Ñ6Ü—‘×'Ñ'×7Ñ7ðô	
ð �J‰J�M‰M˜]Ò*à
�	‰	× Ñ ×4Ñ4°SÔ9Ø€Jr  r´  c                 óz  — ddl m} t        |t        j                  «      sJ dt        |«      › �«       ‚t        ||«      sJ ‚d|v r-|d   �(|j                  j                  j                  |d   «       |j                  j                  dk(  r#d|j                  j                  v sBJ d|› d�«       ‚d|j                  j                  vsJ |j                  j                  d   › «       ‚t        j                  j                  j                  «       5  t        |«      |j                   u rn¨t#        |||«       |j$                  r^t        j&                  j)                  «       5  t+        ||j                   «      |j,                  j.                  |j                  <   d d d «       d	| t0        t2        fv i}d
|v r|d
   €J ‚|d
   |d
<   t5        |fd|i|¤Ž}|j6                  j
                  dk7  r%t        |«      |j                   urt9        d|› �«      ‚d d d «       t;        | |||||«      S # 1 sw Y   Œ�xY w# 1 sw Y   Œ%xY w)Nr=   ©r  z1_wrap_fx_preexisting_tensor expected tensor, got rˆ  r  r*  zplaceholder z* doesn't have 'example_value' in node.metar"  r  rN  r»  zN`tensor` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: )Úsymbolic_convertr  r,  r  r0  r…  rO  rˆ  r  r£  r  r»  r2  r®  Ú+_disable_saved_tensors_hooks_during_tracingr$   rñ  r¯  ri  rt  r  r  r  r  ré   rï   r®  rÊ  rD   Úconstruct_tensor_variable)r)  rN  r  r´  r+  rÀ  r  r  s           r  r  r  |  s9  € õ =ä�fœeŸl™lÔ+ð Ø
;¼DÀ»L¸>ÐJóÐ+ô �bÐ3Ô4Ð4Ð4Ø�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2ð ‡z�z‡}�}˜Ò%Ø %§*¡*§/¡/Ñ1ð 	
Ø˜5˜'Ð!KÐLó	
Ð1ð  e§j¡j§o¡oÑ5ð 	
Ø�z‰z�‰˜Ñ/Ð0ó	
Ð5ô
 
�‰×	Ñ	×	HÑ	HÓ	Jñ "ä˜vÓ&¨"¯,©,Ñ6Øä(¨¨U°FÔ;Ø�yŠyô —X‘X×:Ñ:Ó<ñ ä@LØ §¡óA�E—L‘L×1Ñ1°%·*±*Ñ=÷ð ˜ZÜ"Ô$@ÐAðBðˆFð ˜wÑ&¨7°8Ñ+<Ð+HÐHÐHØ& xÑ0ˆF�8Ñä3°FÑL¸rÐLÀVÑLˆFà�=‰=×Ñ Ò'Ü Ó'¨r¯|©|Ñ;ä*ð>Ø>D¸XðGóð ÷?"ôH %Ø�B˜˜v }°góð ÷5ð ú÷"ð "ús&   ÄAH1Å8H%ÆA7H1È%H.	È*H1È1H:c                 óÄ  — ddl m} t        ||«      sJ ‚d|v r-|d   �(|j                  j                  j                  |d   «       d|j                  j                  vsJ |j                  j                  d   › «       ‚t        j                  j                  j                  «       5  t        |j                  |d¬«      }d d d «       t        |||||| «      S # 1 sw Y   ŒxY w)Nr=   r"  rˆ  r*  T)Úallow_non_graph_fake)r#  r  r,  rO  rˆ  r  r£  r»  r  r2  r®  r$  rv   r  )r)  rN  r  r*  r+  rÀ  r  s          r  r  r  Ä  sØ   € õ =ä�bÐ3Ô4Ð4Ð4Ø�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2à %§*¡*§/¡/Ñ1ÐX°e·j±j·o±oÀoÑ6VÐ5WÓXÐ1ô 
�‰×	Ñ	×	HÑ	HÓ	Jñ Rô ' u§z¡z°2ÈDÔQˆ÷	Rô  àØ
ØØØØóð ÷Rð Rús   Â%CÃCc                 ó   — dd l }dd l}dd l}t        | |j                  «      rŸt        | «      rD|j                  rt        j                  s(t        dt        | «      dg t        j                  ¢¬«       t        |||| ||«      }t        |t        «      sJ ‚|j                  j                   j#                  ||t$        ¬«       |S t'        |j(                  j*                  d«      ra|j(                  j*                  j,                  dk(  r>t        |j(                  j*                  j.                  |j0                  j2                  «      s,|j(                  j*                  |j4                  j6                  u rFt9        |j(                  j*                  «      t        usJ ‚t;        |j(                  j*                  «      S |j(                  j*                  |j0                  j<                  u s,|j(                  j*                  |j>                  j@                  u rtC        | «      S tE        | |jF                  «      r@tI        d„ | D «       «      r.| D �cg c]  }tK        jL                  |«      ‘Œ }	}tO        |	fi |¤ŽS t        | tP        tR        f«      �rªtU        |j(                  | «       g }
tW        | «      D ]¹  \  }}|€%|
jY                  tK        jL                  d#i |¤Ž«       Œ-|jZ                  j]                  d	t^        j`                  ||fi ¬
«      }d|v r9t        | tR        «      sJ ‚|d   }|jc                  «       }te        ||d¬«      |d<   n|}|
jY                  tg        d$||||dœ|¤Ž«       Œ» t        | |jF                  «      rtO        |
|fi |¤ŽS tE        | tP        «      rti        |
fi |¤ŽS tE        | tR        tj        f«      rtm        |
fi |¤ŽS to        | «      sJ dt9        | «      › �«       ‚ti        |
|jq                  dts        «       «      ¬«      } tu        jv                  t9        | «      «      | fd|i|¤ŽS | �"|j(                  j*                  |jx                  u rtK        jL                  d#i |¤ŽS t        | |jz                  |j|                  |j~                  f«      rT|j                  j€                  jƒ                  | |«       tU        |j(                  | «       t…        jL                  ||| fi |¤ŽS t        | |j†                  «      r|j(                  j*                  tˆ        u s=|j(                  j*                  t‹        «       D ��cg c]  \  }}|jŒ                  ‘Œ c}}v r[tU        |j(                  | «       d }|j(                  j*                  tˆ        u r|j(                  jŽ                  d   }t‘        || |fi |¤ŽS t        | |j’                  «      r|j(                  j*                  tˆ        u s=|j(                  j*                  t‹        «       D ��cg c]  \  }}|jŒ                  ‘Œ c}}v r[d }|j(                  j*                  tˆ        u r|j(                  jŽ                  d   }tU        |j(                  | «       t•        || |fi |¤ŽS t—        j˜                  |j(                  j*                  «      r*t›        |j(                  j*                  |j’                  «      s=|j(                  j*                  t‹        «       D ��cg c]  \  }}|j’                  ‘Œ c}}v r$tU        |j(                  | «       t•        || d fi |¤ŽS |j(                  j*                  dk(  r;|j(                  jœ                  dk(  r"tU        |j(                  | «       tK        | fi |¤ŽS | �lt        | |j’                  «      rV|j(                  j*                  dk(  r=|j(                  jœ                  dk(  r$tU        |j(                  | «       t•        || d fi |¤ŽS t        | tž        «      �rv|j(                  j*                  |j                   |j¢                  |j¤                  t¦        t^        j`                  |j¨                  jª                  |j¬                  t^        j®                  |j°                  j²                  j´                  |j°                  j¶                  j¸                  |j°                  j¶                  jº                  t§        |j¼                  dt¾        «      t§        |j¼                  dt¾        «      |jÀ                  fv s2|j(                  jœ                  dk(  rE|j(                  j*                  dk(  r,tU        |j(                  | «       tK        jL                  | fi |¤ŽS t        | |jÂ                  j>                  jÄ                  «      r%ddlcmd} tU        |j(                  | «        ||fi |¤ŽS t        | tÊ        «      �rr|j(                  j*                  |j0                  jÌ                  |j0                  j°                  jÎ                  |jÂ                  j>                  jÐ                  |jÂ                  j>                  jÒ                  |jÂ                  j>                  jÔ                  |j0                  jÖ                  |j0                  jØ                  |j0                  jÚ                  |j0                  jÜ                  |j0                  jÞ                  |j0                  jà                  dgtS        tã        jä                  «       «      z   v r,tU        |j(                  | «       tK        jL                  | fi |¤ŽS t        | tž        tæ        tÊ        f«      r–|j(                  j*                  tè        u sN|j(                  j*                  tê        u s2|j(                  jœ                  dk(  rE|j(                  j*                  dk(  r,tU        |j(                  | «       tK        jL                  | fi |¤ŽS t        | tæ        «      s|j(                  j*                  dv r,tU        |j(                  | «       tK        jL                  | fi |¤ŽS t        | |jì                  jî                  jð                  «      rtó        jL                  || «      S tõ        t9        | «      «      rzt÷        t9        | «      «      rtó        jL                  | | «      S |jì                  jî                  jù                  |j                  jú                  | «      }tó        jL                  ||«      S t        ddtý        | «      › d |j(                  jœ                  › d!|j(                  j*                  › �d"g ¬«       y c c}w c c}}w c c}}w c c}}w )%Nr   z4Attempted to wrap sparse Tensor with VariableTrackerzBtorch.compile does not support sparse Tensors with VariableTrackerrÈ  )Úmutation_type_clsr  Ú	set_statec              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wr'  )r,  rÂ  r  s     r  r_  z'handle_traced_output.<locals>.<genexpr>!  s   è ø€ ò 3Ø Œ
�1”c×ñ3ùs   ‚rR  )ÚkindÚtargetr&  r  r  Fr,  )r)  rN  r  r*  z)expected namedtuple or structseq but got rÐ  ©rÐ  r  Úqueryrö  Úrecord_eventÚget_rankÚget_world_sizeÚ
bit_lengthr�   rÜ   Ú
is_integerr'  )r×  Ú	__round__ztorch.* op returned non-Tensorzexample_value type: z; op: z
; target: zUtorch.* ops that return a non-Tensor cannot be traced into the Dynamo FX graph outputr'  r  )Útorch._functorch.vmapÚtorch._subclasses.fake_tensorÚtorch._utilsr,  r0  r%   ri  r>   r¬  rF   rB  r?   r­  r%  r•   rO  rw  Ú
_track_objr‘   r  r£  r-  r  r-  rt  Ú	GeneratorrÙ  Úset_rng_stater…  rî   Ú_DisableFuncTorchrŸ  Ú_is_in_bad_forkrý   rƒ   r�  rä  r™   rÜ  rº   r™  rš  rˆ   rm  r¸  r  r¢  ÚoperatorÚgetitemrB  r[   r4  r½   r6   r¸   r~   r}  r”   rÿ   rc  Úmanual_seedr   ÚSymFloatrÃ  rt  Útrack_produced_symintsrç   r¡  r   rC   Úcurrent_streamr&  rä   r§  râ   rZ  r[  rà  r  rÂ  Úsym_intÚsym_maxÚsym_minrb  Ú_utilsÚ_element_sizeÚseedÚmodru  ÚvmapÚ_validate_and_get_batch_sizeÚpredispatchÚ_vmap_increment_nestingÚ_vmap_decrement_nestingrw  r  Ú_constrain_as_sizeÚbackendsÚ
SDPAParamsÚsdparÝ   r@  Ú _are_functorch_transforms_activeÚis_batchedtensorÚis_flash_attention_availableÚcan_use_flash_attentionÚcan_use_efficient_attentionÚ_get_cudnn_sdp_enabledÚ_get_flash_sdp_enabledÚ_get_mem_efficient_sdp_enabledÚ_get_math_sdp_enabledÚ_get_overrideable_sdp_enabledÚ_is_autocast_availableræ   rå  rÕ  r   r   ræ  rç  rè  rÛ   r   r   rð  rñ  r’   )r*  rN  r  rÀ  r+  r)  r  r  r  ÚsizesÚunpackedr  rü  Úproxy_ir  Ú	options_ir  rX  Údevice_interfacer  rÝ   r  s                         r  r  r  è  sê
  € ó !Û(Ûä�- §¡Ô.ô ˜Ô'Ø—	’	¤×!>Ò!>äØNÜ˜MÓ*Ø`Ø8Ô)×7Ñ7Ð8õ	ô (Ø˜˜E =°-Àó
ˆô ˜#œÔ/Ð/Ð/Ø
�	‰	×Ñ×)Ñ)Ø�3Ô*>ð 	*ô 	
ð ˆ
ä�—
‘
×!Ñ! :Ô.Ø�J‰J×Ñ×&Ñ&¨+Ò5ä�u—z‘z×(Ñ(×1Ñ1°5·8±8×3EÑ3EÔFØ�:‰:×Ñ §¡× :Ñ :Ñ:ä�E—J‘J×%Ñ%Ó&¬cÑ1Ð1Ð1ä+¨E¯J©J×,=Ñ,=Ó>Ð>à�
‰
×Ñ˜UŸX™X×7Ñ7Ñ7Ø�:‰:×Ñ §
¡
× :Ñ :Ñ:ä(¨Ó7Ð7Ü	�˜uŸz™zÔ	*¬sñ 3Ø$1ô3ô 0ð 6CÖC°Ô!×(Ñ(¨Õ+ÐCˆÐCÜ˜EÑ- WÑ-Ð-Ü	�M¤E¬4 =Õ	1Ü˜%Ÿ*™* mÔ4ØˆÜ Ó.ò (	‰FˆAˆsØˆ{à—‘Ü$×+Ñ+Ñ<°GÑ<õð  Ÿ,™,×3Ñ3Ø(Ü#×+Ñ+Ø ˜Øð	 4ó �ð ˜wÑ&ô & m´TÔ:Ð:Ð:Ø$ XÑ.�FØ '§¡£�IÜ*7Ø#ØØ',ô+�I˜hÒ'ð !(�Ið —‘ä%ð à#-ØØ%Ø&)ñð $ñõ
ð=(	ôR �m U§Z¡ZÔ0ô   ¨%Ñ;°7Ñ;Ð;Ü�M¤5Ô)Ü  Ñ5¨WÑ5Ð5Ü�M¤D¬.Ð#9Ô:Ü Ñ4¨GÑ4Ð4ä  Ô/ð Ø;¼DÀÓ<OÐ;PÐQóÐ/ô %ØØ%Ÿk™k¨/Ô;KÓ;MÓNôˆHð LÔ+×6Ñ6´t¸MÓ7JÓKØñà!ðð ñð ð
 
Ð	 %§*¡*×"3Ñ"3°u×7HÑ7HÑ"HÜ×&Ñ&Ñ7¨wÑ7Ð7Ü	�M E§L¡L°%·.±.À%Ç-Á-Ð#PÔ	QØ
�	‰	× Ñ ×7Ñ7¸ÀuÔMÜ˜%Ÿ*™* mÔ4Ü×%Ñ% b¨%°ÑJÀ'ÑJÐJä�= %§,¡,Ô/Ø�J‰J×ÑÔ!=Ñ=Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ô 	˜%Ÿ*™* mÔ4ØˆØ�:‰:×ÑÔ <Ñ<Ø—J‘J—O‘O AÑ&ˆEä˜e ]°EÑE¸WÑEÐEä�= %§+¡+Ô.Ø�J‰J×ÑÔ!=Ñ=Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ð ˆØ�:‰:×ÑÔ <Ñ<Ø—J‘J—O‘O AÑ&ˆEÜ˜%Ÿ*™* mÔ4ä˜U M°5ÑD¸GÑDÐDä�‰˜Ÿ
™
×)Ñ)Ô*Ü�u—z‘z×(Ñ(¨%¯+©+Ô6Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×Óóñ 
ô 	˜%Ÿ*™* mÔ4Ü˜U M°4ÑC¸7ÑCÐCØ	�‰×	Ñ	˜gÒ	%¨%¯*©*¯-©-¸=Ò*HÜ˜%Ÿ*™* mÔ4Ü Ñ9°Ñ9Ð9àÐ!Ü�} e§k¡kÔ2Ø�J‰J×Ñ Ò/Ø�J‰J�M‰M˜]Ò*ä˜%Ÿ*™* mÔ4Ü˜U M°4ÑC¸7ÑCÐCÜ	�M¤3Õ	'Ø�
‰
×Ñà�M‰MØ�M‰MØ�M‰MÜÜ×ÑØ�L‰L×&Ñ&Ø�J‰JÜ�L‰LØ×Ñ×!Ñ!×>Ñ>Ø×Ñ×(Ñ(×@Ñ@Ø×Ñ×(Ñ(×@Ñ@ä�E×%Ñ% z´8Ó<Ü�E×%Ñ%Ð'7¼ÓBð ×$Ñ$ð#
ñ	
ð, �J‰J�M‰M˜]Ò*¨u¯z©z×/@Ñ/@ÀLÒ/Pô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M 5§>¡>×#6Ñ#6×#AÑ#AÔ	BÝ,ä˜%Ÿ*™* mÔ4Ù! %Ñ3¨7Ñ3Ð3Ü	�M¤4Õ	(Ø�
‰
×Ñà�H‰H×5Ñ5Ø�H‰H×Ñ×0Ñ0Ø�N‰N×Ñ×<Ñ<Ø�N‰N×Ñ×7Ñ7Ø�N‰N×Ñ×;Ñ;Ø�H‰H×+Ñ+Ø�H‰H×+Ñ+Ø�H‰H×3Ñ3Ø�H‰H×*Ñ*Ø�H‰H×2Ñ2Ø�H‰H×+Ñ+Øð
ô Ô3×8Ñ8Ó:Ó
;ñ<ñ	<ô" 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤C¬´Ð#5Ô	6Ø�
‰
×Ñœ^Ñ+Ø�:‰:×Ñ¤
Ñ*Ø�J‰J�M‰M˜]Ò*¨u¯z©z×/@Ñ/@ÀFÒ/Jä˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤5Ô	)¨U¯Z©Z×->Ñ->ÐBVÑ-VÜ˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M 5§>¡>×#EÑ#E×#VÑ#VÔ	Wô )×/Ñ/ØØó
ð 	
ô 
œ˜]Ó+Ô	,ä¤ ]Ó 3Ô4Ü,×3Ñ3ØØóð ð  Ÿ.™.×<Ñ<×NÑNØ�I‰I×Ñ ó
ˆô )×/Ñ/ØØó
ð 	
ô
 	Ø4Ø*¬7°=Ó+AÐ*BÀ&ÈÏÉÏÉÈÐWaÐbg×blÑbl×bsÑbsÐatÐuØoØö		
ùò[ DùóXùóùós   Éu)Ô=u.Øu4Û2u:c                 ó&  — t        | «      t        j                  t        j                  j                  t        j
                  j                  j                  t        j
                  j                  j                  fv st        | «      ry t        | «      S r'  )r…  r  r0  ry  r•  rA  r!  r!   r–  r—  r9   r%  s    r  r§  r§  ù  sj   € ÜˆEƒ{Ü�‰Ü�‰×ÑÜ×Ñ×%Ñ%×0Ñ0Ü×Ñ×+Ñ+×<Ñ<ð	ñ ô
 
' uÔ	-ð$ ä�E‹{Ðr  c                 óä  — | j                  |«      }t        |t        j                  j                  j
                  «      r°|j                  |j                  u r˜|r|}nŽt        |t        j                  j                  «      rt        j                  j                  }nOt        |t        j                  j                  «      rt        j                  j                  }nt        j                  }||d<   |S )NÚ
class_type)Ú
specializer,  r  rA  r!  r!   rñ  ry  r•  rã  r0  )r)  rN  r*  r+  Úspecialized_propsÚtensor_types         r  Úget_specialized_propsrj    s©   € ð #×-Ñ-¨mÓ<Ðô 	�=¤%×"3Ñ"3×"?Ñ"?×"JÑ"JÔKØ×#Ñ# r§|¡|Ñ3áØ'‰KÜ˜¤u§x¡x×'9Ñ'9Ô:ÜŸ(™(×,Ñ,‰KÜ˜¤u§x¡x§¡Ô7ÜŸ(™(Ÿ/™/‰KäŸ,™,ˆKØ*5Ð˜,Ñ'àÐr  c                 ó$  — t        ||j                  «      }t        |j                  |«       |j                  j                  dk7  r&|j
                  j                  j                  ||«       |j                  t        | |||«      «        | |fi |¤ŽS )z‹
    Actually construct a tensor variable after all the pre-processing from
    wrapping a pre-existing or newly created tensor value.
    r  )
r  rñ  rˆ   r£  r  rO  rt  rB  r  rj  )r)  rN  r  r*  r+  rÀ  s         r  r%  r%  /  sv   € ô ! °·±Ó=€MÜ�e—j‘j -Ô0ð
 ‡z�z‡}�}˜Ò%Ø
�	‰	× Ñ ×7Ñ7¸ÀuÔMØ‡N�NÔ(¨°R¸ÈÓVÔWá�eÑ'˜wÑ'Ð'r  c                  óÆ   — t         j                  dk(  rt        j                  S t         j                  dk(  rt        j                  S t        dt         j                  › �«      ‚)NÚdynamicÚunbackedz+invalid automatic_dynamic_shapes_mark_as = )r>   Ú automatic_dynamic_shapes_mark_asr.   r¶  r†  rÖ  r  r  r  rå  rå  K  sT   € Ü×.Ñ.°)Ò;Ü×!Ñ!Ð!Ü	×	0Ñ	0°JÒ	>Ü×"Ñ"Ð"äØ9¼&×:aÑ:aÐ9bÐcó
ð 	
r  Ú_DYNAMIC_SOURCESÚ_DYNAMIC_SOURCES_CONFIG_HASHc                  óF  — t        t        j                  j                  j                  «      } t
        �t        | k(  rt
        S t        j                  j                  j                  j                  dd«      j                  d«      D �ch c]  }|r|’Œ c}a| at
        S c c}w ©Nú rÇ  ú,)	Úhashr  Úcompilerr>   Údynamic_sourcesrp  rq  ÚreplaceÚsplit©Úcurrent_hashÚss     r  Úget_dynamic_sourcesr~  Z  s�   € ô œŸ™×-Ñ-×=Ñ=Ó>€Lô Ð#Ô(DÈÒ(TÜÐô
 —‘×&Ñ&×6Ñ6×>Ñ>¸sÀBÓG×MÑMÈcÓRöàÙò 	
òÐð
 $0Ð äÐùòó   ÂBÚsource_namec                 óŽ   — t        «       }|D ]6  }|| k(  st        j                  || «      sŒt        j	                  d| |«        y y)NzA%s was marked dynamic due to dynamic source allowlist pattern: %sTF)r~  r¨  Úmatchrý  rþ  )r€  rx  Úpatterns      r  r„  r„  n  sM   € Ü)Ó+€OØ"ò ˆØ�kÒ!¤R§X¡X¨g°{Õ%CÜ�I‰IØSØØôñ
 ðð r  r$  r{  c           
      óì  — |j                  «       }t        |«      s |j                  «       }|j                  «       }d g|z  }t	        |«      D �cg c]
  }||   | f‘Œ }}|j                  t        ¬«       i }	|D ]>  \  }
}| }|	j                  |
|
«      ||<   |	j                  |
||   z  t        |«      «       Œ@ ng }t        | |t        j                  t        |«      t        |«      «      «      S c c}w )N)rÝ  )Úsizer%   ÚstrideÚdimr¥  Úsortr-   r}  Ú
setdefaultrM   rN   rL   Úmake_tensorr™  )rN  r$  r{  Úex_sizeÚ	ex_strider‡  r†  r  ÚpendingÚ
candidatesÚi_strideÚneg_is               r  Úrecord_automatic_dynamicr‘  {  sò   € ð �f‰f‹h€GÜ˜ÔØ—H‘H“Jˆ	Ø�e‰e‹gˆà�˜#‘ˆÜ/4°S«zÖ:¨!�I˜a‘L 1 "Ò%Ð:ˆÐ:Ø�‰Ô/ˆÔ0Øˆ
Ø&ò 	I‰OˆH�eØ�ˆAà"Ÿ™ x°Ó:ˆF�1‰Ià×!Ñ! (¨W°Q©ZÑ"7¼ÀQ»ÕHñ	Ið ˆä$à
Øä×'Ñ'¬¨g«¼¸f»ÓFóð ùò ;s   ÁC1Ú_UNBACKED_SOURCESÚ_UNBACKED_SOURCES_CONFIG_HASHc                  óF  — t        t        j                  j                  j                  «      } t
        �t        | k(  rt
        S t        j                  j                  j                  j                  dd«      j                  d«      D �ch c]  }|r|’Œ c}a| at
        S c c}w rs  )	rv  r  rw  r>   Úunbacked_sourcesr’  r“  ry  rz  r{  s     r  Úget_unbacked_sourcesr–  Ÿ  s�   € ô œŸ™×-Ñ-×>Ñ>Ó?€Lô Ð$Ô)FÈ,Ò)VÜ Ð ô
 —‘×&Ñ&×7Ñ7×?Ñ?ÀÀRÓH×NÑNÈsÓSöàÙò 	
òÐð
 %1Ð!äÐùòr  c                 óŽ   — t        «       }|D ]6  }|| k(  st        j                  || «      sŒt        j	                  d| |«        y y)NzC%s was marked unbacked due to unbacked source allowlist pattern: %sTF)r–  r¨  r‚  rý  rþ  )r€  r•  rƒ  s      r  r…  r…  ³  sN   € Ü+Ó-ÐØ#ò ˆØ�kÒ!¤R§X¡X¨g°{Õ%CÜ�I‰IØUØØôñ
 ðð r  r  Ústatic_shapesÚ
outer_onlyc                 óF  ‡1‡2— | j                   rGt        | t        j                  j                  j
                  j                  «      st        dddg ¬«       |j                  }|j                  j                  j                  j                  | d «      }|r|j                  ni }d }| j                  «       r$t        |d«      }	t!        | j"                  ||	|«      }t%        | «      �r|�st!        | |||d¬«      }
t        |
t&        «      sJ ‚i }t)        | «      j+                  | «      \  }}|D ]l  }t-        | |«      xxt        j.                  d˜ x�"\   } t        ||«      }t!        ||||«      ||<   ŒE  xt0        d˜ x�\    ŒU }t3        d	t)        |«      › �«      ‚ t5        |
j6                  |
j8                  |
j:                  |
j<                  ||
j>                  |
j                  |¬
«      S |r�tA        |«      svt'        tB        jD                  g| jG                  «       z  tB        jH                  g| jG                  «       z  d g| jG                  «       z  d g| jG                  «       z  |||¬«      S ddl%m&Š2 tO        ˆ2fd„| jQ                  «       D «       «      r t'        | jQ                  «       D �cg c]2  }t        |tR        «      rtB        jT                  ntB        jD                  ‘Œ4 c}tB        jH                  g| jG                  «       z  d g| jG                  «       z  d g| jG                  «       z  |||¬«      S tW        ||| «      }tY        | «      }i Š1dtZ        dddt\        dd fˆ1fd„}ddl/m0} |j                  jb                  �`|j                  jb                  D ]G  }t        ||«      rŒ|jd                  |k(  sŒ  ||jF                  |jf                  |j                  «       ŒI g }g }g }g }g }ti        | jG                  «       «      D �]]  }|t-        | dtk        «       «      v }|t-        | dtk        «       «      v }|t-        | dtk        «       «      v } |t-        | dtk        «       «      v }!|t-        | dtk        «       «      v }"|jm                  t-        | di «      j                  |g «      «       to        |j                  «      }#|}	t        |	tp        «      r|	js                  «       }	| sFt        |	tt        «      r†|	jv                  �zty        |	jv                  «      j                  |#|di«      |   rPtz        j}                  d|«       t~        g| jG                  «       z  }$t€        |$|<   |tƒ        j„                  |$¬«      z  }t†        jˆ                  xr |j‹                  |«      }%t†        jˆ                  xr |j�                  |«      }&tA        |«      rtz        j}                  d|«       d}%t�        |«      rtz        j}                  d |«       d}%|%xs |&}'‰1j                  |«      }|�€d }(d })| r¸t†        j�                  s¨d })t“        | d!«      r�| j”                  D �*cg c]  }*|*jF                  |k(  sŒ|*‘Œ c}*j—                  «       }+|+j˜                  €|+jš                  €t�        d¬"«      }(nÎdd#l%mO},  |,t¡        |+j˜                  |+jš                  ¬$«      d¬%«      }(nžt�        d¬"«      }(n‘|rt�        d¬"«      }(n‚|"s+|'r)t£        d&d«       |%rt�        d¬"«      }(|&rbt�        d¬"«      })nU|"st†        jˆ                  st£        d&d«       d }(d })n2|\  }(}-d })|› d'|› d(�}.|-|j                  j¤                  j¦                  |.<   |jm                  |(«       |jm                  |)«       |st�        |«      rtB        j¨                  }/nr|(€| s|!s ‰2| jQ                  «       |   «      r|'rt«        «       }/nFtB        jT                  }/n5|st†        j¬                  s|"rtB        jD                  }/ntB        j®                  }/|)�tB        jT                  }0ntB        jH                  }0|jm                  |/«       |jm                  |0«       �Œ` t'        ||||||||t-        | d)d «      t-        | d*d «      |j°                  ¬+«      S c c}w c c}*w ),NzGEncountered strided NestedTensor in automatic dynamic dim determinationrÇ  r›  rÈ  rž  T)r™  r  z#expected Tensor or OpaqueBase, got )Údynamic_sizesÚdynamic_stridesÚconstraint_sizesÚconstraint_stridesÚview_base_contextÚtensor_sourceÚ#shape_env_to_source_to_symbol_cacheÚinner_contexts)r›  rœ  r�  rž  rŸ  r   r¡  r   )Úis_nested_intc              3   óT   •K  — | ]  }t        |t        «      xr	  ‰|«       –— Œ! y ­wr'  )r,  r   )r]  r}  r£  s     €r  r_  z%_automatic_dynamic.<locals>.<genexpr>  s(   øè ø€ Ò
L¸aŒ:�aœÓ Ò9©°qÓ)9Ð%9Ó9Ñ
Lùs   ƒ%(r‡  Úconstraint_rangeÚStrictMinMaxConstraintr$  r	  c                 ó–   •— | ‰v r=ddl m} ‰|    \  }} ||j                  |j                  z  d¬«      }|xs |}||f‰| <   y ||f‰| <   y )Nr   ©r¦  F©ÚvrrQ  )Ú%torch.fx.experimental.symbolic_shapesr¦  rª  )	r‡  r¥  r$  r¦  Úold_constraint_rangeÚold_nameÚnew_constraint_rangeÚnew_nameÚdim2constraints	           €r  Úupdate_dim2constraintz1_automatic_dynamic.<locals>.update_dim2constraint)  sm   ø€ ð �.Ñ ÝTà-;¸CÑ-@Ñ*Ð  (Ù#9Ø#×&Ñ&Ð)=×)@Ñ)@Ñ@Øô$Ð ð  Ò' 4ˆHØ"6¸Ð"@ˆN˜3Òà"2°DÐ"8ˆN˜3Òr  )Ú_RelaxedConstraintÚ_dynamo_strict_unbacked_indicesÚ_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesÚ_dynamo_weak_dynamic_indicesÚ_dynamo_static_indicesÚ_specialize_onFz#automatic dynamic %s marked dynamic)r…  r  r€  Ú_dynamo_dynamic_rangerP  r¨  )ÚlowerÚupperr©  rß  z.size()[ú]Ú_dynamo_shape_idsÚ_dynamo_unbacked_bounds)r›  rœ  r�  rž  Úspecialize_onrŸ  r   r¡  Ú	shape_idsÚunbacked_boundsÚexcluded_sizes)Yr¨  r,  r  r©  r  rª  r«  rF   r$  rO  Útracing_contextÚtensor_to_contextr}  r¡  r±  rQ   Ú_automatic_dynamicrž  r9   r0   r…  r¶  rb  r0  r   r¸  r1   r›  rœ  r�  rž  r   r„  r.   rú  r‡  ÚINFER_STRIDEr«  r£  rk  r…  r   r¶  r‘  r\  rÂ  rB  rù  r²  Úexport_constraintsÚt_idr¥  r¥  rj  r¸  r)   rS   rn  rd   rS  ræ  rý  rþ  rK   rJ   rL   Ú	make_sizer>   rã  Úis_size_dynamicÚis_stride_dynamicr…  Úallow_ignore_mark_dynamicr  r¹  ÚpopÚminÚmaxr/   r¦  r;   r   r³  Úsource_name_to_debug_namer†  rå  ræ  ÚDUCKrÂ  )3r{  rN  r  r˜  r™  r$  Úprior_policyr¡  rŸ  rí  Úouter_contextr¢  rÈ  rX  rÉ  rÊ  rÌ  Ú
unexpectedr}  rê  rÈ  r±  r²  rR  r›  rœ  r�  rž  r¿  r  Úmarked_strict_unbackedÚmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticrì  Ú	mark_sizeÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚdrÚ	dim_ranger¦  Úname_Údim_nameÚdynamic_sizeÚdynamic_strider°  r£  s3                                                    @@r  rÅ  rÅ  Â  s  ù€ ð 	‡{‚{œ:Ø	Œ5�<‰<×!Ñ!×/Ñ/×<Ñ<ôô 	Ø]ØØMØõ		
ð �;‰;€DØ—9‘9×,Ñ,×>Ñ>×BÑBÀ1ÀdÓK€Lá<Hˆ×8Ò8Èbð (ð
 15ÐØ‡z�z„|Ü  ¨Ó1ˆÜ.¨q¯w©w¸¸KÈÓWÐä$ QÕ'²
ä*Øˆr�6˜=°Tô
ˆô ˜-Ô)@ÔAÐAÐAð ˆÜ˜“7×-Ñ-¨aÓ0‰ˆˆqØò 	ˆDÜ˜!˜TÓ"Ù2”U—\‘\•^Ñ2Ü#-¨f°dÓ#;�LÜ+=Ø# R¨°}ó,�N 4Ò(ñ 3ð
 "”Z–\Øð "àÜ(Ø=¼dÀ:Ó>NÐ=OÐPóð ð	ô 'Ø'×5Ñ5Ø)×9Ñ9Ø*×;Ñ;Ø,×?Ñ?Ø/Ø'×5Ñ5Ø0=×0aÑ0aØ)ô	
ð 		
ñ Ô.¨tÔ4Ü&Ü%×,Ñ,Ð-°·±³Ñ7Ü'×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
õ Dä
Ó
LÀ1Ç6Á6Ã8Ô
LÔLÜ&ð Ÿ™›öàô '1°´FÔ&;”
×"Ò"Ä×ARÑARÑRòô (×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
ô 1°°T¸1Ó=Ðô ˆa‹5€Dà€Nð9Üð9Ø$<ð9ÜDGð9à	õ9õ$ ?à	‡y�y×#Ñ#Ð/àŸ)™)×6Ñ6ò 	ˆJÜ˜*Ð&8Ô9ØØ�‰ $Ó&Ù%Ø—N‘N J×$?Ñ$?ÀÇÁõð		ð €MØ€OØÐØÐØ€MÜ�1—5‘5“7‹^ó E/ˆà!"¤gØÐ0´#³%ó'
ð "
Ðð œw qÐ*DÄcÃeÓLÐLˆØœg aÐ)BÄCÃEÓJÐJˆØ¤7¨1Ð.LÌcËeÓ#TÐTÐØœW QÐ(@Ä#Ã%ÓHÐHˆà×ÑœW QÐ(8¸"Ó=×AÑAÀ!ÀRÓHÔIô
 "7°v·{±{Ó!CÐØˆÜ�k¤=Ô1Ø%×.Ñ.Ó0ˆKáÜ�{¤KÔ0Ø×$Ñ$Ð0ä�[×)Ñ)Ó*×.Ñ.Ð/EÈÈ5ÀzÓRÐSTÒUô �I‰IÐ;¸TÔBÜ#˜ q§u¡u£wÑ.ˆIä'ˆI�a‰LàÔ!4×!>Ñ!>ÀIÔ!NÑNÐô ×+Ñ+ÒTÐ0A×0QÑ0QÐRSÓ0Tð 	ô ×+Ñ+ÒVÐ0A×0SÑ0SÐTUÓ0Vð 	!ô ˜TÔ"Ü�I‰IÐ>ÀÔEØ%)Ð"ä˜dÔ#Ü�I‰IÐ?ÀÔFØ%)Ð"à2ÒNÐ6NÐð
 $×'Ñ'¨Ó*ˆ
ØÑØ"ˆOØ $ÐÙ¤f×&FÒ&Fà$(Ð!Ü˜1Ð5Ô6à%&×%<Ñ%<ö!Ø!ÀÇÁÈ!Ãšò!ç‘c“eð ð !—}‘}Ð,°·±Ð1FÜ*AÈEÔ*R™õñ +AÜ*°·±ÀiÇmÁmÔTØ&+ô+™ô
 '>ÈÔ&N‘OÙ'Ü"9ÀEÔ"J‘Ù"Ñ'8ÜÐ AÀ4ÔHÙ)Ü&=ÈÔ&M�OÙ+Ü(?È$Ô(OÑ%á$¬V×-LÒ-LÜ#Ð$EÀuÔMØ"&�Ø$(Ñ!à%/Ñ"ˆO˜UØ $ÐØ˜˜x¨ s¨!Ð,ˆHØFKˆB�I‰I×Ñ×9Ñ9¸(ÑCØ×Ñ Ô0Ø×!Ñ!Ð"3Ô4áÔ0°Ô6Ü%×.Ñ.‰LàÐ'ÙÙ"Ù˜QŸV™V›X a™[Ô)ñ
 !ÜCÓE‘ä)×1Ñ1‘Ùœf×=Ò=ÁÜ%×,Ñ,‰Lô &Ÿ?™?ˆLàÐ(Ü'×/Ñ/‰Nä'×4Ñ4ˆNà×Ñ˜\Ô*Ø×Ñ˜~Ö.ðKE/ôN #Ø#Ø'Ø)à-Ø#Ø+ØØ,OÜ˜!Ð0°$Ó7Ü Ð#<¸dÓCØ(×7Ñ7ôð ùòùòz!s   Ê*7bÙbÙ!b)Úparent_contextr"  ræ  c                óN  — t        j                  «       }	 t        | ||||¬«      |j                  j                  xj
                  t        j                  «       |z
  z  c_        S # |j                  j                  xj
                  t        j                  «       |z
  z  c_        w xY w)N©r  r"  ræ  )rh  ri  Ú$_wrap_to_fake_tensor_and_record_implrO  rk  Ú!wrap_to_fake_tensor_and_record_ns)r{  rN  r  r"  ræ  rm  s         r  r®  r®  ä  s|   € ô �,‰,‹.€Cð
Ü3Øˆr˜&¨IÀnô
ð 	�	‰	×*Ñ*×LÒLÜ�L‰L‹N˜SÑ ñ	
ÖLøˆ�	‰	×*Ñ*×LÒLÜ�L‰L‹N˜SÑ ñ	
ÖLús   –A$ Á$A B$c          
      ó  ‡ ‡‡‡— t        ‰ «      t        j                  t        j                  j                  t
        fv s&t        ‰ t        j                  «      st        ‰ «      �r‰€J ‚t        ‰ |‰¬«      \  }}|st        ‰ ‰‰|«      Šn-t        ‰t        «      sJ ‚‰j                  }|j                  |   Št        j                  d‰j                  t!        ‰ j"                  «      ‰t        ‰ «      «       t%        «       5  ‰j&                  €J ‚t)        ˆ ˆˆˆfd„«      }d d d «       ‰�vt        t
        «      rf|j*                  x}	�Xt        ‰t,        «      r‰j.                  }
nt1        ‰«      }
‰j2                  j4                  j7                  t9        |	|
‰«      «       t        «      rf|j;                  «       \  }}|D ]N  }t=        ||«      }t=        ‰ |«      }t        ‰|«      }t?        |‰|t        |t        j                  «      ‰¬«       ŒP ‰‰j2                  j@                  jB                  ‰ <   tE        |«      r‚|jF                  r|jI                  «       n|jK                  «       }|jM                  «       d|jN                  z  |jM                  «       |jQ                  «       dœ‰j2                  jR                  ‰<   n8|jM                  «       |jQ                  «       dœ‰j2                  jR                  ‰<   |r~|r‰jU                  «       sltW        ‰«      sa‰j2                  j4                  j7                  t9        |‰‰«      «       ‰j2                  jX                  t[        ‰ «         j7                  ‰«       |S ‰ S # 1 sw Y   �Œ_xY w)N)r   zwrap_to_fake %s %s %s %sc                  ó@   •— ‰j                   j                  ‰ ‰‰¬«      S )N)r  Úsymbolic_context)rñ  r  )r{  r  rí  rN  s   €€€€r  rM  z6_wrap_to_fake_tensor_and_record_impl.<locals>.<lambda>)  s$   ø€ ˜Ÿ™×0Ñ0ØØ!Ø%5ð 1ó € r  rè  )r�   )r…  r†  Úvalues_sizeÚvalues_stride)r…  r†  ).r…  r  r0  ry  r•  r!   r,  r9   r‰   rÅ  rQ   r^  r¢  rý  rþ  r$  r™  Úshaper   rñ  rŽ   Ú	item_memorZ   r  rR   rO  r¿  r¸  r4   r¶  rb  r®  rÃ  rÄ  r%   Ú	is_sparseÚ_valuesÚvaluesr…  Úndimr†  Úinput_source_to_sizes_stridesr¥  r]   Útracked_fakes_id_to_sourcer\  )r{  rN  r  r"  ræ  r˜  Ú_reasonÚinner_context_nameÚfake_eÚsym_valÚitem_sourcerÈ  rX  rÉ  Ú
fake_innerÚinnerrÌ  rô  rí  s   ```               @r  ré  ré  ÷  sþ  û€ ô 	ˆQ‹”E—L‘L¤%§(¡(×"4Ñ"4´jÐAÑAÜ�aœŸ™Ô&Ü(¨Õ+àÐ!Ð!Ð!Ü!?ØØØ ô"
Ñˆ�wñ Ü1°!°R¸ÀÓOÑô ˜f¤jÔ1Ð1Ð1Ø!'§¡ÐØ-×<Ñ<Ð=OÑPÐä�	‰	Ø&Ø�K‰KÜ�!—'‘'‹NØÜ�‹Gô	
ô &Ó'ñ 	Ø—<‘<Ð+Ð+Ð+Ü(öóˆF÷	ð ÐÜ˜6¤:Ô.Ø"×,Ñ,Ð,�Ð9ô ˜&Ô"3Ô4Ø$Ÿk™k‘ä2°6Ó:�Ø�I‰I×#Ñ#×*Ñ*Ü˜G [Ð2BÓCôô )¨Ô0Ø×0Ñ0Ó2‰HˆE�1Øò 
�Ü$ V¨TÓ2�
Ü  4Ó(�Ü)¨&°$Ó7�Ü.ØØØ'Ü(¨´U·\±\ÓBØ#3öð	
ð :Jˆ�	‰	×!Ñ!×3Ñ3°AÑ6Ü˜Ô ð *0×)9Ò)9�V—^‘^Ô%¸v¿}¹}»ˆFàŸ™›ð  §¡Ñ,Ø%Ÿ{™{›}Ø!'§¡£ñ?ˆB�I‰I×3Ñ3°FÒ;ð Ÿ™›Ø Ÿ-™-›/ñ?ˆB�I‰I×3Ñ3°FÑ;ñ Ù" v×'FÑ'FÔ'HÜ& vÔ.à�I‰I×#Ñ#×*Ñ*Ü˜F FÐ,<Ó=ôð �I‰I×0Ñ0´°A³Ñ7×>Ñ>¸vÔFàˆàˆ÷O	ñ 	ús   Ä M>Í>Nc            
       ó²  — e Zd ZdZdd„Zeedddeee	      ee
e	e	f      z  eee	df      z  eee	      z  defd	„«       «       Zeedddee	   defd
„«       «       Zeedddee	df   defd„«       «       Zeedddeez  ez  ez  defd„«       «       Zeeddde	defd„«       «       Zeddde	defd„«       Zededefd„«       Zede
eede	gef   f   fd„«       Zy)ro  a½  
    Like builder, but stateless and does not require a source. Useful for simple type->VT objects, or objects
    that are being created/evaporated during inlining (ex: consider a locally made list of tensors we then iterate over
    .), such a list should not show up as an artifact from inputs, nor in reconstruction, nor in the graph. However,
    there may be reasons to represent it as a ListVariable internally.

    NOTE - Objects produced here are born UNGUARDED due to the nature of sources!

    NOTE - This class is very new! It will have some rough edges, but it was created to stem the bleeding of giant
    if/else type->VariableTracker trees that were cropping up all over dynamo.
    r	  Nc                 ó   — t        d«      ‚)NzUse SourcelessBuilder.create()©r¸  r1  s    r  rH  zSourcelessBuilder.__init__}  s   € ÜÐ=Ó>Ð>r  rN  r  r%  .c                  ó   — y r'  r  ©rN  r%  s     r  rÜ  zSourcelessBuilder.create€  s   € ð r  c                  ó   — y r'  r  r  s     r  rÜ  zSourcelessBuilder.createŠ  s   € àSVr  c                  ó   — y r'  r  r  s     r  rÜ  zSourcelessBuilder.createŽ  s   € ð r  c                  ó   — y r'  r  r  s     r  rÜ  zSourcelessBuilder.create”  s   € ð r  c                  ó   — y r'  r  r  s     r  rÜ  zSourcelessBuilder.createš  s   € àPSr  c           
      ó>  — t        |«      }t        j                  j                  |«      }|r	 || |«      S t	        |t
        «      r|S t        t        |«      «      r0t	        |t        j                  «      st        j                  ||«      S t        t        |«      «      rTt        j                  j                  j                  | j                   j"                  |«      }t        j                  ||«      S t	        |t$        j&                  «      rt)        |«      S t+        j,                  |«      rt+        j                  |«      S t/        |«      rVt1        j2                  |«      �At1        j4                  |«      rd| j                   _         t1        j2                  |«      |«      S t/        |«      r[t9        j:                  |«      rF t1        j2                  |j<                  «      |j<                  «      }t?        |dt        |«      ¬«      S tA        |«      r t1        jB                  |«      |«      S t	        |t        j                  t        jD                  t        jF                  jH                  jJ                  f«      rt)        |«      S t	        |t         tL        jN                  f«      r?tQ        t        |«      t         «      rtQ        |tR        «      rtU        |«      S t9        |«      S t	        |tV        jX                  «      rt[        |«      S t	        |tV        j\                  «      �rt	        |j<                  t         tL        jN                  f«      rvt_        |j<                  |j`                  jb                  «      |k(  sJ ‚t        j                  | |j<                  «      }	 |je                  | |j`                  jb                  «      S | j                   jh                  jj                  j                  tm        |j<                  «      «      }|��)t        jn                  jp                  js                  |j`                  |«      S t	        |t        jt                  jv                  jx                  «      rt{        |«      S t	        |t        j|                  j~                  j€                  «      rt)        |«      S t	        |t‚        j„                  «      rt‡        |«      S t	        |t        jn                  jp                  jˆ                  jŠ                  «      r	 t+        j                  t�        |«      «      S t	        |t        t        j                   j¢                  «      «      r3t        jn                  jp                  j¤                  j§                  |«      S t	        |tV        j¨                  tV        jª                  f«      rt­        |«      S t¯        |«      rzt±        t        |«      «      D �cg c]"  }t        j                  | t_        ||«      «      ‘Œ$ }	}t³        |	tµ        «       ¬«      }
 t·        j¸                  t        |«      «      ||
¬«      S t	        |t        jº                  «      ro|j¼                  j¾                  | j                   jÀ                  v rC| j                   jÀ                  |j¼                  j¾                     }tÃ        j                  | |«      S t	        |tÄ        «      r9dD �cg c]"  }t        j                  | t_        ||«      «      ‘Œ$ }}tÇ        || «      S tÉ        |tÊ        «      rtÍ        |«      S tÏ        d|jÐ                  › d|jÒ                  › �d	|› �g tÔ        jÖ                  ¢¬
«       y # tf        $ r Y ŒGw xY w# t        jn                  jŽ                  j�                  t        jt                  j’                  j”                  j–                  f$ r= t™        j                  |jš                  j�                  «       |jž                  gi «      cY S w xY wc c}w c c}w )NTrô  r/  r.  )r  rI  z%Unexpected type in sourceless builderrT  z3SourcelessBuilder.create does not know how to wrap rÈ  )lr…  ro  Ú_type_handlersr}  r,  r•   r   rq  rr  rÛ   rÜ  r   r  ræ  rç  rð  rO  rñ  rò  Ú_HAS_DEFAULT_FACTORY_CLASSrý   r™   rÕ  ry  rB   r–  r—  r˜  rø   Úis_supported_new_methodr-  rÅ   r{   rØ  rs  rt  ru  rv  ÚabcÚABCMetarà  rá  rû   rµ  rß  rÊ   r„  rb  r*  r  Úvar_getattrrŒ  rw  Úid_to_variabler\  r2  r  ÚUserMethodVariablerj  Úgraph_moduleÚGraphModuler÷   r®  r"  ÚTreeSpecr¨  r©  rÂ   ÚlazyÚLazySymNodeFormatStringrB  ÚexcÚ	UserErrorrk  Úsymbolic_shapesÚGuardOnDataDependentSymNoderÒ   Úfmt_varr  Úsym_node_varrœ  Úflex_attention_backwardÚhigher_order_opsÚ&FlexAttentionBackwardHighOrderVariableÚGenericAliasÚ	UnionTyperÔ   r~   r„   r½   r”   rÿ   rc  r   r£  r¼  ré  rç   r¤  r»   rƒ   r(  rÍ   rF   r  r  r?   Ú
DYNAMO_BUG)rN  r%  Ú
value_typeÚfast_handlerr  r	  Ú
cls_obj_vtÚobj_vtr$  rO  r  r  r×  rç  s                 r  rÜ  zSourcelessBuilder.createž  s)  € ä˜%“[ˆ
ä(×7Ñ7×;Ñ;¸JÓGˆÙÙ  EÓ*Ð*ä�eœ_Ô-àˆLÜ!¤$ u£+Ô.´zÀ%ÌÏÉÔ7SÜ,×3Ñ3°E¸5ÓAÐAÜ%¤d¨5£kÔ2ä#Ÿn™n×@Ñ@×RÑRØ—	‘	×#Ñ# UóˆOô -×3Ñ3ØØóð ô
 ˜œ{×EÑEÔFÜ,¨UÓ3Ð3Ü×(Ñ(¨Ô/Ü#×*Ñ*¨5Ó1Ð1Ü�eŒ_¤×!<Ñ!<¸UÓ!CÐ!OÜ×.Ñ.¨uÔ5Ø>B�—	‘	Ô;à5”;×.Ñ.¨uÓ5°eÓ<Ð<Ü�eŒ_Ô!9×!QÑ!QØô"
ð
 >”+×-Ñ-¨e¯n©nÓ=¸e¿n¹nÓMˆCÜ" 3¨	¼4À»;ÔGÐGÜ# EÔ*à,”;×%Ñ% eÓ,¨UÓ3Ð3ÜØÜ�Y‰Yœ×)Ñ)¬5¯8©8×+>Ñ+>×+LÑ+LÐMô
ô -¨UÓ3Ð3Ü˜¤¤c§k¡kÐ2Ô3Üœ$˜u›+¤tÔ,´¸EÄ=Ô1QÜ8¸Ó?Ð?Ü+¨EÓ2Ð2Ü˜œu×6Ñ6Ô7Ü(¨Ó/Ð/Ü˜œu×/Ñ/Õ0Ü˜%Ÿ.™.¬4´·±Ð*=Ô>ä˜uŸ~™~¨u¯~©~×/FÑ/FÓGÈ5ÒPÐPÐPÜ.×5Ñ5°b¸%¿.¹.ÓI�
ðà%×1Ñ1°"°e·n±n×6MÑ6MÓNÐNð
 Ÿ™×/Ñ/×>Ñ>×BÑBÄ2ÀeÇnÁnÓCUÓV�ØÑ%Ü Ÿ=™=×2Ñ2×EÑEØŸ™¨óð ô ˜œuŸx™x×4Ñ4×@Ñ@ÔAÜ0°Ó7Ð7Ü˜œuŸ{™{×2Ñ2×;Ñ;Ô<Ü,¨UÓ3Ð3Ü˜œrŸz™zÔ*Ü'¨Ó.Ð.Ü˜œuŸ}™}×6Ñ6×;Ñ;×SÑSÔTðÜ'×.Ñ.¬s°5«zÓ:Ð:ô ˜œt¤E×$;Ñ$;×$SÑ$SÓTÔUÜ—=‘=×*Ñ*×;Ñ;×bÑbØóð ô ˜¤× 2Ñ 2´E·O±OÐDÔEÜ! %Ó(Ð(Ü˜5Ô!ô .¬d°5«kÓ:öàô "×(Ñ(¨¬W°U¸DÓ-AÕBðˆFð ô % VÔ;KÓ;MÔNˆHØCÔ+×6Ñ6´t¸E³{ÓCØ ôð ô �uœeŸl™lÔ+Ø—
‘
—‘ 2§9¡9×#:Ñ#:Ñ:à—I‘I×+Ñ+¨E¯J©J¯O©OÑ<ˆEÜ"×)Ñ)¨"¨eÓ4Ð4Ü˜œuÔ%ð 3öàô "×(Ñ(¨¬W°U¸AÓ->Õ?ðˆEð ô ! ¨Ó+Ð+Ü�Eœ6Ô"Ü! %Ó(Ð(ÜØ;Ø!×,Ñ,Ð-¨Q¨z×/FÑ/FÐ.GÐHØMÈjÈ\ÐZØ1Ô%×0Ñ0Ð1ö		
øôu +ò Ùðûô* —‘×!Ñ!×+Ñ+Ü—‘×%Ñ%×5Ñ5×QÑQðò ô ,×2Ñ2Ø—M‘M×4Ñ4Ó6Ø×'Ñ'Ð(Øóò ð	üò ùòs1   Î!%]1 Ô^  ×$'`Û%'`Ý1	]=Ý<]=Þ B`à`c                 ó\   — t        j                  | «      sJ ‚t        j                  | ¬«      S )Nr%  )r™   rÕ  rÜ  r%  s    r  Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literal  s'   € ä×*Ñ*¨5Ô1Ð1Ð1Ü×&Ñ&¨UÔ3Ð3r  r  c                  óò  ‡— t         j                  Ši } t        D ]  }d„ | |<   Œ
 ˆfd„| t        <   ˆfd„| t        <   ˆfd„| t
        <   ˆfd„| t        <   ˆfd„| t        <   ˆfd„| t        j                  <   | t
           | t        j                  <   | t
           | t        <   | t           | t        <   ˆfd„| t        j                  <   d	„ | t        j                   <   d
„ | t"        j$                  <   d„ | t&        j(                  <   d„ | t        j*                  <   d„ | t        j,                  <   d„ | t        j.                  j0                  j2                  <   d„ | t        j4                  j6                  j8                  <   d„ | t        j4                  j6                  j:                  <   d„ | t        j4                  j6                  j<                  <   dddt>        dt>        fd„}t@        jB                  D ]  }|| |<   Œ	 | S )Nc                 ó   — t        |«      S r'  r˜   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>*  s   € Ô,<¸UÓ,C€ r  c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w ©Nr.  )r£   r”   ©rN  r%  r  rÜ  s      €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>+  s)   ø€ ¬+Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô+
€ ùÚ*ó   ‹,c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w r+  )rá   r”   r,  s      €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>.  s*   ø€ Ô1CØ$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô2
€ ùÚ*r-  c                 ó®   •— t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        |«      t        «       ¬«      S c c}}w r+  )r    rç  r…  r”   ©rN  r%  r×  rÚ  rÜ  s       €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>1  sF   ø€ Ô+<Ø6;·k±k³m×D©d¨a°‰V�B˜‹]™F 2 q›MÑ)ÓDÜ�‹KÜ*Ó,ô,
€ ùÛDs   šA
c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w r+  )r¸   r”   r,  s      €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>6  s)   ø€ ¬<Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô,
€ ùÚ*r-  c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w r'  )r½   r,  s      €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>9  s#   ø€ ¬MØ$)Ö*˜q‰V�B˜�]Ò*ó-
€ ùÚ*ó   ‹"c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w r'  )rº   r,  s      €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda><  s#   ø€ ´Ø$)Ö*˜q‰V�B˜�]Ò*ó2
€ ùÚ*r3  c                 ó¶   •— t        t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        t	        «       ¬«      «      S c c}}w r+  )r¢   r    rç  ræ  r”   r0  s       €r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>D  sJ   ø€ Ô=QÜØ:?¿+¹+»-×H±$°!°Q‘˜˜A“¡ r¨1£Ñ-ÓHÜÜ.Ó0ôó>
€ ùãHs   ŸAc                 ó   — t        |«      S r'  )rÆ   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>L  s   € Ô6°uÓ=€ r  c                 ó,   — t        |t        «       ¬«      S r+  ©rý   r”   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>N  s   € Ô8QØÔ!1Ó!3ô9
€ r  c                 ó   — t        «       S r'  )rÏ   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Q  s
   € Ô4GÓ4I€ r  c                 ó   — t        |«      S r'  )rÎ   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>R  s   € Ô7KÈEÓ7R€ r  c                 ó,   — t        |t        «       ¬«      S r+  )rë   r”   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>T  s   € Ô;QØÔ!1Ó!3ô<
€ r  c                 ó,   — t        |t        «       ¬«      S r+  )rì   r”   r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>X  s   € Ô:ØÔ%5Ó%7ô€ r  c                 ó,   — t        |t        «       ¬«      S r+  r8  r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>^  ó   € Ô7ØÔ%5Ó%7ô€ r  c                 ó,   — t        |t        «       ¬«      S r+  r8  r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>c  r>  r  c                 ó,   — t        |t        «       ¬«      S r+  r8  r  s     r  rM  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>h  r>  r  rN  r  r%  r	  c                 ó   — |S r'  r  r  s     r  Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthroughm  s   € ØˆLr  )"ro  rÜ  rs   rj  r8   ræ  rš  r™  r  r�  r›  re  r5   r6   rµ  r¶  rÞ  rZ  r•  rÙ  rÚ  r   r®  ru  r¥  r¦  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintr  r–   Úall_subclasses)Úhandlersr  rB  r’  rÜ  s       @r  Úmake_type_handlersz$SourcelessBuilder.make_type_handlers!  sà  ø€ ô #×)Ñ)ˆð ð 	ô 'ò 	DˆAÙCˆH�QŠKð	Dó
ˆ”‰ó 
ˆ”Ñó
ˆ”‰ó

ˆ”‰ó
ˆ”‰ó 
ˆ”—‘Ñð -5´T©Nˆ”×(Ñ(Ñ)Ø#+¬D¡>ˆ”Ñ Ø#+¬D¡>ˆ”Ñ ó,
ˆ”×'Ñ'Ñ(ñ >ð 	”×+Ñ+Ñ,ñ'
ˆ”×"Ñ"Ñ#ñ #Jˆ”—‘ÑÙ%Rˆ”×!Ñ!Ñ"ñ*
ˆ”×%Ñ%Ñ&ñð 	”×!Ñ!×-Ñ-×BÑBÑCñð 	”×$Ñ$×0Ñ0×6Ñ6Ñ7ñð 	”×$Ñ$×0Ñ0×:Ñ:Ñ;ñð 	”×$Ñ$×0Ñ0×;Ñ;Ñ<ð	Ð3ð 	¼Að 	Ä!ó 	ô '×5Ñ5ò 	(ˆCØ'ˆH�SŠMð	(àˆr  r=  )r  r  r  r  rH  r	   r  r…  rj  r   ræ  r™  rš  r—   rÜ  r¸   r½   r@  rÂ  rÕ  rB  r™   r•   r(  r'  r   rJ  r  r  r  ro  ro  p  sá  „ ñ
ó?ð ØðØ'ðà�C˜‘H‰~Ø
ˆt�C˜�H‰~Ñ
ñà
ˆu�S˜#�X‰Ñ
ñ ð ˆt�C‰y‰/ñðð 
òó ó ðð ØØVÐ.ÐV°t¸C±yÐVÀ\ÒVó ó àVàØðØ'ðØ05°c¸3°h±ðà	òó ó ðð ØðØ'ðØ04°s±
¸UÑ0BÀSÑ0Hðà	òó ó ðð ØØSÐ.ÐS°sÐS¸ÒSó ó àSàð{
Ð.ð {
°sð {
¸ò {
ó ð{
ðz ð4 Vð 4°ò 4ó ð4ð ðP ØˆhÐ/°Ð5°ÐFÑGÐGñ!ò Pó ñPr  ro  c                   ó6   — e Zd ZdZd	d„Zedddedefd„«       Zy)
Ú"SourcelessUserDefinedObjectBuilderz¯
    SourceLessBuilder does not return a UserDefinedObjectVariable, but in some
    cases it might be ok to return UserDefinedObjects. In such case, use this
    builder.
    r	  Nc                 ó   — t        d«      ‚)Nz/Use SourcelessUserDefinedObjectBuilder.create()r  r1  s    r  rH  z+SourcelessUserDefinedObjectBuilder.__init__  s   € ÜÐNÓOÐOr  rN  r  r%  c                 óþ   — t        |«      }t        |t        «      rt        |t	        «       ¬«      S t        |t        j                  j                  «      rt        |t	        «       ¬«      S t        |t	        «       ¬«      S r+  )r…  rà  r   rö   r”   r,  r  ry  rz  rØ   rý   )rN  r%  r"  s      r  rÜ  z)SourcelessUserDefinedObjectBuilder.create‚  sa   € ä˜%“[ˆ
Ü�j¤.Ô1Ü)¨%Ô?OÓ?QÔRÐRÜ˜œuŸx™xŸ™Ô/Ü0ØÔ%5Ó%7ôð ô -¨UÔBRÓBTÔUÐUr  r=  )	r  r  r  r  rH  r  r   r•   rÜ  r  r  r  rL  rL  x  s<   „ ñóPð ð	VÐ*ð 	V°3ð 	V¸?ò 	Vó ñ	Vr  rL  r  r'  )F(Ž  r  r  r›  r¨  rB  rò  rq  r~  rZ  rŸ  r{  rù  r>  rÙ  r¨  rÏ  rh  rµ  r«  Úcollections.abcr   r   r   Útypingr   r   r   r	   r
   r   r½  r  r   Útorch._dispatch.pythonr   Ú#torch._dynamo.graph_bytecode_inputsr   r   r   Útorch._dynamo.utilsr   r   r   r   r   Útorch._guardsr   Ú"torch._higher_order_ops.flat_applyr   Ú!torch._higher_order_ops.torchbindr   Útorch._library.opaque_objectr   r   r   r   Útorch._opaque_baser   Ú
torch._opsr   r   r    r7  r!   r"   r#   r$   Útorch._subclasses.meta_utilsr%   r&   Útorch._utils_internalr'   Ú%torch.fx.experimental._backward_stater(   Útorch.fx.experimental._dynamismr)   Útorch.fx.experimental.sym_noder*   r+   r«  r,   r-   r.   r/   r0   r1   r2   r3   r4   Útorch.fx.immutable_collectionsr5   r6   Ú torch.nn.utils._expanded_weightsr7   Útorch.utils._ordered_setr8   Útorch.utils._python_dispatchr9   r:   Útorch.utils._sympy.value_rangesr;   Útorch.utils.weakr<   rÇ  r>   r?   r@   rA   rB   rc  rC   r  rD   rE   rF   rˆ  rG   rH   rI   ÚpgorJ   rK   rL   rM   rN   rw  rO   r  rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   r®  ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   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–   Úbuiltinr—   Úconstantr™   Úctx_managerrš   r›   rœ   r�   rž   rŸ   Údictsr    r¡   r¢   r£   rw  r¤   Ú	functionsr¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r  r°   r±   Úiterr²   r³   r  r´   rµ   Úlistsr¶   r·   r¸   r¹   rº   r»   r¼   r½   Úmiscr¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   Ú	nn_modulerÖ   r×   rØ   Ú	optimizerrÙ   Úscript_objectrÚ   rÛ   rS  rÝ   ÚsetsrÞ   rß   rà   rá   Ústreamsrâ   rã   rä   r´  rå   ræ   rç   rè   ré   rê   rë   rì   rí   rî   Útorch_functionrï   rð   rñ   r!  rò   ró   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   Únumpyr   ÚModuleNotFoundErrorr?  Útorch._dynamo.codegenr  Útorch._dynamo.symbolic_convertr  r  Ú	getLoggerr  rý  r  ÚgetArtifactLoggerrP  r  r  r  rš  ÚDimListr(  r@  r  r  Ú	dataclassr  rE  rn  Úvarsrç  r`  rÂ  rj  ra  ry  rz  rr  rs  ro  rp  rc  rï  r  r…  r°  r¯  r4  rj  ÚProxyr0  r  r  ræ  rB  r  r§  rj  r%  rå  rp  rq  r~  r„  r‘  r’  r“  r–  r…  rÅ  r®  ré  ro  rJ  r	  rL  r  r  r  ú<module>r~     s�  ðòó& Û Û Û Û Û Û Û Û Û Û Û Û Û 	Û 
Û Û Û ß 4Ý ß L× Lã ã Ý Ý ;÷ñ ÷
õ õ )Ý 9Ý <÷ó õ *ß HÑ H÷ó ÷ BÝ 1Ý ?Ý Aß E÷
÷ 
õ 
÷ JÝ ;Ý /÷õ 8Ý *ç TÕ TÝ ?ß SÑ Sß AÑ A÷õ õ '÷ ÷  ÷  ÷  ÷  ÷  ÷  ÷  ñ  ÷B!÷ !÷ !÷ !÷ !÷ !÷ !÷ !ó !÷D÷ ñ õ %Ý &÷÷ ÷ó õ 0÷÷ ÷ ñ ÷÷ ;ß ;÷	÷ 	ó 	÷÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ õ ÷4÷ ð ÷
 )Ð (ß OÔ Oß $Ð $÷÷ ô ÷ J× IÐ I÷÷ ÷ ô ÷÷ ó ÷÷ ð ÷
÷ ÷ ÷ ÷ ÷ ÷ ô ð$Ýñ
 ß/Ð/÷ô ð €g×Ò™Ó!�Ø—N’N×4Ò4ÙÐ'óÑ ÷ ò
 �mÓ$�ÚˆCƒL�á
�ð"‘Vð "¡ô "÷
	ò 	ð ×Ò÷G9ð G9ó ñG9ôT<™Hõ <ò, &/ñ /â˜Y›×-Ò-Ó/ô/ó &Ñ ‘I™c‘Nô ò +.«%Ñ ™s¡3™xÔ /ð
 "'§¢§¢×!>Ò!>Ñ Ø$)§H¢H§O¢O×$DÒ$DÑ !÷E(ò E(ðPP  Oð  ¸ô  ð0˜ð ¨¸Ñ(=ð À#ô ð* !%Ø!%ñ	Ø#ðàðð ˜‘:ðñ ˜$‘;ð	ð
 ðð ôð2
Ø#ð
Ø,/ð
Ø@Cð
à	ô
ðz !%Ø!%ñ$Ù‘[Ñ!ð$à#ð$ð ð$ð ˜‘:ð	$ñ
 ˜$‘;ð$ð ð$ñ ô$ðZ "&ñDÙ‘[Ñ!ðDà#ðDð �8Š8�>Š>ðDð �LŠLð	Dñ
 ˜$‘;ðDð ðDñ ôDðX !%Ø!%ñ Ù‘[Ñ!ð à#ð ð �8Š8�>Š>ð ð ˜‘:ð	 ñ
 ˜$‘;ð ð ð ñ ô ðHN
ØðN
à#ðN
ð �8Š8�>Š>ðN
ñ ‘#�s�(‰^ð	N
ñ
 ˜$‘;ðN
ñ ‘[Ñ!ðN
ð ôN
ðb™qð ¡T©!¡W¨t¡^ô ð:Øðà#ðð ðñ ˜$‘;ð	ñ
 
‰#ˆsˆ(�^ôð2(Ù‘[Ñ!ð(à#ð(ð �8Š8�>Š>ð(ð ð	(ñ
 ˜$‘;ð(ñ ‘#�s�(‰^ð(ñ ô(ð8
¨jô 
ð %)Ñ ‘#‘c‘(˜T‘/Ô (Ø+/Ñ ™c D™jÔ /ð™S¡™Xô ð(
¡3ð 
©4ô 
ðØ#ðÙ+.ðØ38·<²<ðàôð@ &*Ñ ‘3‘s‘8˜d‘?Ô )Ø,0Ñ ™s T™zÔ 0ð™c¡#™hô ð(
¡Cð 
©Dô 
ð( ñ^Ø
ð^à#ð^ð ð^ñ ð	^ñ
 ð^ð ô^ðP	 "&ò
Ø
ð
à#ð
ð �T‰Mð	
ñ
 ð
ð ˜$‘Jð
ð 	ô
ð2 "&òvØ
ðvà#ðvð �T‰Mð	vñ
 ðvð ˜$‘Jðvð 	ôv÷rBò BñJ $5×#GÒ#GÓ#IÑ Õ  ÷Vó VøñyA ò Ø�Bˆ
×ðús   Î$]- Ý-^ Ý?^ 