+
    –°³jt+ ã                   ó  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIHtHt ^ RIt^ RIHt ^ RIt^ RIt^ RIHtHt ^ R	I H!t! ^ R
I"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t)H*t*H+t+H,t,H-t- ^ RI.H/t/ ^RI0H1t1H2t2H3t3 ^RI4H5t5 ^RI6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t? ^RI@HAtA ^RIBHCtCHDtD ^RIEHFtFHGtG ^RIHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQHRtRHStS ^RITHUtUHVtVHWtWHXtXHYtYHZtZH[t[ ^RI\H]t] ^RI^H_t_H`t` ^RIaHbtb ^RIcHdtd  ^ RIetf]'       d   ^ RIhHiti ^ RIjHktk ^ RIlHmtm ^RInHoto ^RIpHqtq ]Pä                  ! ]s4      ttR ]Pê                  R!]Pì                  R"]Pî                  R#]Pð                  R$]Pò                  R%]Pô                  R&]Pö                  R']Pø                  /t}R&]Pö                  R']Pø                  R$]Pò                  R%]Pô                  /t~/ ]}C]~Ct]€EP                  ]}EP                  4       4      tƒ]€EP                  ]~EP                  4       4      t„R( R) lt…]EP                  EP                  EP                  ]EP                  EP                  ,          tŠR*]EP                  EP                  EP                  R+]EP                  EP                  EP                  R,]EP                  EP                  EP                  R-]EP                  EP                  EP                   /t‘R. R/ lt’RDR0 R1 llt“ ! R2 R3]4      t” ! R4 R5][4      t• ! R6 R7][4      t– ! R8 R9]•4      t— ! R: R;]•4      t˜ ! R< R=]•4      t™ ! R> R?]d4      tš ! R@ RA][4      t› ! RB RC][4      tœR#   ]g d    Rtf ELgi ; i)EaÀ  
This module contains variable tracker classes for handling tensors and tensor-related operations in Dynamo.

The main class is TensorVariable which represents torch.Tensor inputs and intermediate values in the FX graph.
It handles tensor operations, method calls, and maintains metadata about tensor properties like dtype, device, etc.

Other key classes include:
- SymNodeVariable: Represents symbolic scalars (int/float/bool) used for size computation and unspecialized values
- NumpyNdarrayVariable: Handles numpy array interop through torch._numpy
- UnspecializedPythonVariable: Represents unspecialized Python numeric values as 1-element tensors
- TensorSubclassVariable: Handles tensor subclasses with __torch_function__ overrides
- UntypedStorageVariable: Represents tensor storage objects
- DataPtrVariable: Handles tensor data pointer operations

These classes work together to track tensor operations and properties during Dynamo's tracing process.
N)ÚIterableÚSequence)Únullcontext)Úchain)ÚNoneType)ÚAnyÚNoReturnÚOptionalÚTYPE_CHECKING)ÚNotRequiredÚ	TypedDict)Ú	sym_floatÚsym_int)ÚCustomClassBase)Úcompiled_autograd)Úis_opaque_symbolic_type)Úis_sparse_any)Úguard_scalarÚGuardOnDataDependentSymNodeÚhas_free_symbolsÚis_symbolicÚSymTypes)Úis_traceable_wrapper_subclass)ÚconfigÚgraph_break_hintsÚ	variables)Útrace_wrapped)	ÚObservedAttributeErrorÚraise_observed_exceptionÚraise_type_errorÚraise_value_errorÚTorchRuntimeErrorÚunimplementedÚ$UnknownPropertiesDuringBackwardTraceÚ	UserErrorÚUserErrorType)Úcall_hook_from_backward_state)ÚGuardBuilderÚinstall_guard)Ú
AttrSourceÚ
TypeSource)Úcmp_name_to_op_mappingÚfqnÚget_custom_getattrÚget_fake_valueÚget_real_valueÚguard_if_dynÚobject_has_getattributeÚproductÚproxy_args_kwargsÚset_example_valueÚtensortype_to_dtype)Ú_check_method_arityÚ_derive_method_flagsÚAttributeMutationNewÚGetSetÚMethodÚValueMutationNewÚVariableTracker©ÚConstantVariable)ÚListIteratorVariableÚSizeVariable)ÚCustomClassObjectVariable)ÚUserDefinedClassVariable)Ú	PyCodegen)ÚOutputGraph)ÚInstructionTranslatorBase)ÚUserFunctionVariable©ÚTensorWithTFOverrideVariableÚ>Ú<z>=z<=z==z!=Úiszis notc                ó0   € V ^8„  d   QhR\         R\        /# ©é   ÚvalueÚreturn)ÚobjectÚbool)Úformats   "Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/tensor.pyÚ__annotate__rU   �   s   € ÷ ñ ¤&ð ¬Tñ ó    c                 óh  € \        \        V 4      ;'       d˜    \        P                  P                  P                  V 4      '       * ;'       db    \        V R 4      ;'       dN    \        V P                  \        P                  4      ;'       d"    \        V P                  V P                  R4      4      # )Ú__self__N)rR   ÚcallableÚtorchÚ_dynamoÚutilsr1   ÚhasattrÚ
isinstancerX   ÚTensorÚgetattrÚ__name__©rO   s   &rT   Úis_bound_tensor_methodrc   �   s�   € ÜÜ�‹÷ 	:ð 	:Ü—‘×#Ñ#×;Ñ;¸EÓBÔB÷	:ð 	:ä�E˜:Ó&÷	:ð 	:ô �u—~‘~¤u§|¡|Ó4÷	:ð 	:ô �E—N‘N E§N¡N°DÓ9óð rV   ÚTÚmTÚHÚmHc                ó0   € V ^8„  d   QhR\         R\        /# )rN   ÚvtrP   ©r<   rR   )rS   s   "rT   rU   rU   §   s   € ÷ Yñ Yœoð Y´$ñ YrV   c                ó¬   € V P                  4       '       d   R# \        V \        4      ;'       d&    \        V P                  \        \
        \        34      # )uÅ   True if vt can be the other operand of a SymNode arithmetic op
(add/sub). Accepts SymNode-like values plus float ConstantVariable â€”
arithmetic with float promotes to SymFloat, unlike bitwise ops.T)Úis_symnode_liker^   r>   rO   ÚfloatÚintrR   )ri   s   &rT   Ú_is_sym_arith_operandro   §   sA   € ð 
×Ñ×ÒÙô �bÔ*Ó+×XÐX´
¸2¿8¹8ÄeÌSÔRVÐEWÓ0XÐXrV   c                óP   € V ^8„  d   QhR\         P                  R\        R\        /# )rN   rO   Ú	type_namerP   )rZ   r_   Ústr)rS   s   "rT   rU   rU   ²   s*   € ÷ Kñ KœeŸl™lð K´sð KÌ#ñ KrV   c                 ó  € \         P                  P                  P                  V 4      '       d‘   \         P                  P                  P	                  V 4      p\         P                  P                  P                  V 4      p\         P                  P                  P                  V 4      pR V RV R\        V4       R2# \         P                  P                  P                  V 4      '       de   \         P                  P                  P	                  V 4      p\         P                  P                  P                  V 4      pRV R\        V4       R2# \         P                  P                  P                  V 4      '       de   \         P                  P                  P	                  V 4      p\         P                  P                  P                  V 4      pRV R\        V4       R2# V R\        V P                  4       RV P                   R2# )zBatchedTensor(lvl=z, bdim=z, value=Ú)zGradTrackingTensor(lvl=zFunctionalTensor(lvl=z(shape=z, dtype=)rZ   Ú_CÚ
_functorchÚis_batchedtensorÚmaybe_get_levelÚmaybe_get_bdimÚget_unwrappedÚ_tensor_debug_reprÚis_gradtrackingtensorÚis_functionaltensorÚtupleÚshapeÚdtype)rO   rq   ÚlevelÚbdimÚ	unwrappeds   &&   rT   r{   r{   ²   s–  € Ü‡x�x×Ñ×+Ñ+¨E×2Ò2Ü—‘×#Ñ#×3Ñ3°EÓ:ˆÜ�x‰x×"Ñ"×1Ñ1°%Ó8ˆÜ—H‘H×'Ñ'×5Ñ5°eÓ<ˆ	ðØ�'˜   hÔ/AÀ)Ó/LÐ.MØðð	
ô
 ‡x�x×Ñ×0Ñ0°×7Ò7Ü—‘×#Ñ#×3Ñ3°EÓ:ˆÜ—H‘H×'Ñ'×5Ñ5°eÓ<ˆ	Ø(¨¨¨xÔ8JÈ9Ó8UÐ7VÐVWÐXÐXÜ‡x�x×Ñ×.Ñ.¨u×5Ò5Ü—‘×#Ñ#×3Ñ3°EÓ:ˆÜ—H‘H×'Ñ'×5Ñ5°eÓ<ˆ	Ø& u g¨XÔ6HÈÓ6SÐ5TÐTUÐVÐVØˆ[˜¤ e§k¡kÓ 2Ð3°8¸E¿K¹K¸=ÈÐJÐJrV   c                   ó0   a € ] tR t^Çt o RtV 3R ltRtV tR# )ÚTensorSpecializedPropszÔStatic tensor metadata produced by TensorVariable.specialize; the keys
map 1:1 to the corresponding TensorVariable.__init__ kwargs. The size,
stride and contiguity keys are only populated for fully static shapes.c                ó€  <€ V ^8„  d   Qh/ S[ P                  ;R&   S[ P                  ;R&   S[ P                  ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[S[S[	R3,          ,          ;R&   S[S[S[	R3,          ,          ;R&   S[S[S[ P                  R3,          R,          ,          ;R&   # )rN   r€   ÚdeviceÚlayoutÚndimÚrequires_gradÚ	is_nestedÚis_quantizedÚ	is_sparseÚ
class_typeÚhas_grad_fn.Ú_sizeÚstrideNÚis_contiguous)rZ   r€   r‡   rˆ   rn   rR   Útyper   r~   r   Úmemory_format)rS   Ú__classdict__s   "€rT   rU   Ú#TensorSpecializedProps.__annotate__Ç   së   ø‡ ‚ ñ
 �;‰;Ññ ñ �L‰LÑñ ñ �L‰LÑñ ñ �Iñ ñ Ññ ñ �Oñ ñ Ññ ñ �Oñ ñ Ññ ñ Ññ ñ ‘u™S #˜X•Õ'Ñ'ñ ñ  ™™c 3˜h�Õ(Ñ(ñ! ñ" ™u¡U×%8Ñ%8¸#Ð%=Õ>ÀÕEÕFÑFò# rV   © N)ra   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r•   s   @rT   r…   r…   Ç   s   ø‡ € ñN÷ ƒ rV   r…   c                   ó  a a€ ] tR t^Ût oRt0 ER5m]P                  mtV3R lR ltV3R lR	 ltR
RRRRRRR/V3R lV 3R lllt	ER6V3R lR llt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R  lR! lt]V3R" lR# l4       tV3R$ lR% ltV3R& lR' ltV3R( lR) ltV3R* lR+ ltV3R, lR- ltV3R. lR/ ltV3R0 lR1 ltV3R2 lR3 ltV3R4 lR5 ltV3R6 lR7 ltV3R8 lR9 lt V3R: lR; lt!V3R< lR= lt"V3R> lR? lt#V3R@ lRA lt$V3RB lRC lt%V3RD lRE lt&V3RF lRG lt'V3RH lRI lt(V3RJ lRK lt)V3RL lRM lt*V3RN lRO lt+V3RP lRQ lt,ER6V3RR lRS llt-V3RT lRU lt.V3RV lRW lt/]0V3RX lRY l4       t1V3RZ lR[ lt2V3R\ lR] lt3V3R^ lR_ lt4V3R` lRa lt5V3Rb lRc lt6V3Rd lRe lt7ER6V3Rf lRg llt8V3Rh lRi lt9]9t:V3Rj lRk lt;];t<V3Rl lRm lt=V3Rn lRo lt>V3Rp lRq lt?ER6V3Rr lRs llt@ER7V3Ru lRv lltAV3Rw lRx ltBV3Ry lRz ltCV3R{ lR| ltDR}Rt/V3R~ lR lltEV3R€ lR� ltFER8V3R‚ lRƒ lltGER9V3R„ lR… lltHV3R† lR‡ ltIV3Rˆ lR‰ ltJV3RŠ lR‹ ltKV3RŒ lR� ltLV3RŽ lR� ltMV3R� lR‘ ltNV3R’ lR“ ltOV3R” lR• ltPV3R– lR— ltQV3R˜ lR™ ltRV3Rš lR› ltSV3Rœ lR� ltTV3Rž lRŸ ltUV3R  lR¡ ltVV3R¢ lR£ ltWV3R¤ lR¥ ltXV3R¦ lR§ ltYV3R¨ lR© ltZ]][P¸                  V3Rª lR« l4       4       t]V3R¬ lR­ lt^V3R® lR¯ lt_V3R° lR± lt`V3R² lR³ ltaR´R/V3Rµ lR¶ lltbV3R· lR¸ ltcV3R¹ lRº ltdV3R» lR¼ lteV3R½ lR¾ ltfV3R¿ lRÀ ltgV3RÁ lRÂ lthV3RÃ lRÄ ltiRÅR/V3RÆ lRÇ lltjR´R/V3RÈ lRÉ lltkV3RÊ lRË ltlV3RÌ lRÍ ltmV3RÎ lRÏ ltnV3RÐ lRÑ ltoV3RÒ lRÓ ltpER:V3RÔ lRÕ lltqV3RÖ lR× ltrV3RØ lRÙ ltsV3RÚ lRÛ lttV3RÜ lRÝ ltuV3RÞ lRß ltvV3Rà lRá ltwV3Râ lRã ltxV3Rä lRå lty/ R]z! ]64      bR]z! ]74      bRæ]z! ]94      bRç]z! ]:4      bRè]z! ];4      bRé]z! ]<4      bRê]z! ]=4      bRë]z! ]>4      bRì]z! ]?4      bR]z! ]@4      bRí]z! ]A4      bRî]z! ]B4      bRï]z! ]C4      bRð]z! ]D4      bRñ]z! ]E4      bRò]z! ]F4      bRó]z! ]H4      b/ Rô]z! ]I4      bRõ]z! ]J4      bRö]z! ]K4      bR÷]z! ]L4      bRø]z! ]O4      bRù]z! ]Q4      bRú]z! ]S4      bRû]z! ]U4      bRü]z! ]W4      bRý]z! ]Y4      bRþ]z! ]Z4      bRÿ]z! ]^4      bER ]z! ]a4      bER]z! ]d4      bER]z! ]m4      bER]z! ]b4      bER]z! ]k4      bC/ ER]z! ]j4      bER]z! ]e4      bER]z! ]f4      bER]z! ]g4      bER	]z! ]h4      bER
]z! ]i4      bER]z! ]n4      bER]z! ]o4      bER]z! ]q4      bER]z! ]r4      bER]z! ]s4      bER]z! ]t4      bER]z! ]u4      bER]z! ]v4      bER]z! ]w4      bER]z! ]x4      bER]z! ]y4      bCt{V3ER lER lt|ER8V3ER lER llt}ER8V3ER lER llt~ER8V3ER lER lltER8V3ER lER llt€ER8V3ER  lER! llt�ER8V3ER" lER# llt‚ER8V3ER$ lER% lltƒER8V3ER& lER' llt„ER8V3ER( lER) llt…ER8V3ER* lER+ llt†ER8V3ER, lER- llt‡V3ER. lER/ ltˆER8V3ER0 lER1 llt‰ER8V3ER2 lER3 lltŠER4t‹VtŒV ;t�# (;  ÚTensorVariablez=A torch.Tensor input or an intermediate value in the FX graphÚsizer‘   r’   Ú_is_name_setc                ó    <€ V ^8„  d   QhRS[ /# ©rN   rP   ©rr   )rS   r•   s   "€rT   rU   ÚTensorVariable.__annotate__ñ   s   ø€ ÷ Yñ Y©Sñ YrV   c                ó*  € \        V P                  4      VP                  9   d5   R VP                  \        V P                  4      ,          P                   R2# V P                  '       d   V P                  P                  V4      # \        RV  R24      h)z__graph_out[Ú]zPython codegen for z failed with unknown source.)ÚidÚproxyÚgraph_outputsÚindexÚsourceÚreconstruct_pycodeÚRuntimeError©ÚselfÚcodegens   &&rT   r¯   Ú!TensorVariable.reconstruct_pycodeñ   su   € Üˆd�j‰j‹>˜W×2Ñ2Ô2Ø! '×"7Ñ"7¼¸4¿:¹:»Õ"G×"MÑ"MÐ!NÈaÐPÐPØ�[�[ˆ[Ø—;‘;×1Ñ1°'Ó:Ð:äÐ!4°T°FÐ:VÐWÓXÐXrV   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r¥   )rZ   r_   )rS   r•   s   "€rT   rU   r§   ù   s   ø€ ÷ Bñ B¡§¡ñ BrV   c                ój   € \        V P                  P                  V P                  P                  4      # )z¹
Get the actual value represented by this variable if computation is run
using the user-provided inputs.
NOTE: this runs actual tensor computation and may be
slow and memory-intensive.
)r/   r«   ÚnodeÚtracer©r²   s   &rT   r/   ÚTensorVariable.get_real_valueù   s#   € ô ˜dŸj™jŸo™o¨t¯z©z×/@Ñ/@ÓAÐArV   r�   Nc          "      ój  <€ V ^8„  d   QhRS[ P                  P                  RS[ P                  RS[ P                  RS[ P
                  RS[RS[RS[RS[R	S[R
S[RS[RS[	S[
R3,          R,          RS[	S[
R3,          R,          RS[	S[ P                  R3,          R,          RS[R,          RS[
RR/# )rN   r«   r€   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   .Nr‘   r’   r£   ÚkwargsrP   )rZ   ÚfxÚProxyr€   r‡   rˆ   rn   rR   r“   r~   r   r”   )rS   r•   s   "€rT   rU   r§     sü   ø€ ÷ &/ñ &/á�x‰x�~‰~ð&/ñ �{‰{ð	&/ñ
 —‘ð&/ñ —‘ð&/ñ ð&/ñ ð&/ñ ð&/ñ ð&/ñ ð&/ñ ð&/ñ ð&/ñ ‘S˜#�X� Õ%ð&/ñ ‘c˜3�h• $Õ&ð&/ñ  ™U×0Ñ0°#Ð5Õ6¸Õ=ð!&/ñ" ˜T•kð#&/ñ$ ð%&/ð& 
ñ'&/rV   c               ó*  <€ \         SV `  ! R/ VB  Wn        W n        W0n        W@n        WPn        WÀn        WÐn        W`n	        W€n
        Wàn        Wpn        W�n        W n        W°n        Vf$   V P                  P                   P"                  R8H  pWðn        R # )NÚplaceholderr—   )ÚsuperÚ__init__r«   r€   r‡   rˆ   r‰   r�   r‘   rŠ   rŒ   r’   r‹   r�   rŽ   r�   r·   Úopr£   )r²   r«   r€   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r£   r¼   Ú	__class__s   &&$$$$$$$$$$$$$$,€rT   rÂ   ÚTensorVariable.__init__  sƒ   ø€ ô( 	‰ÒÑ"˜6Ò"ØŒ
ØŒ
ØŒØŒØŒ	ØŒ
ØŒØ*ÔØ(ÔØ*ÔØ"ŒØ"ŒØ$ŒØ&ÔØÒàŸ:™:Ÿ?™?×-Ñ-°Ñ>ˆLØ".ÖrV   c                ó6   <€ V ^8„  d   QhRRRS[ R,          RR/# )rN   ÚtxrE   Ú
target_clsNrP   ©r“   )rS   r•   s   "€rT   rU   r§   *  s)   ø€ ÷  ñ  Ø-ð Ù;?À$½;ð à	ñ rV   c                ó4  € ^RI HpHp Vf   \        V 4      pV P                  P
                  P                  P                  R4      pV! W!WT! V4      4      pR F  pWv9  g   K  \        WR4       K  	  VP                  4        F  w  rx\        WV4       K  	  R# )é   )Úget_specialized_propsÚinfer_subclass_typeNÚexample_value)r�   r‘   r’   )
ÚbuilderrÌ   rÍ   r“   r«   r·   ÚmetaÚgetÚsetattrÚitems)	r²   rÇ   rÈ   rÌ   rÍ   rÎ   Úspecialized_propsÚkÚvs	   &&&      rT   Úsynchronize_attributesÚ%TensorVariable.synchronize_attributes*  sŠ   € ÷ 	HàÒÜ˜d›ˆJàŸ
™
Ÿ™×,Ñ,×0Ñ0°ÓAˆÙ1Ø˜MÐ+>¸}Ó+Mó
Ðó 6ˆAØÖ)Ü˜ Ö&ñ 6ð &×+Ñ+Ö-‰DˆAÜ�D˜QÖó .rV   c                ó.   <€ V ^8„  d   QhRS[ R,          /# ©rN   rP   N©rn   )rS   r•   s   "€rT   rU   r§   ?  s   ø€ ÷ Eñ E¡3¨¥:ñ ErV   c                ó„   € V P                   P                  P                  P                  R4      pVe   VP                  # R# )zFGet the current version of self's fake tensor, or None if unavailable.rÎ   N)r«   r·   rÐ   rÑ   Ú_version)r²   Ú	self_fakes   & rT   Ú_get_fake_versionÚ TensorVariable._get_fake_version?  s6   € à—J‘J—O‘O×(Ñ(×,Ñ,¨_Ó=ˆ	Ø%.Ò%:ˆy×!Ñ!ÐDÀÐDrV   c                ó6   <€ V ^8„  d   QhRRRS[ R,          RR/# )rN   rÇ   rE   Úversion_beforeNrP   rÛ   )rS   r•   s   "€rT   rU   r§   D  s2   ø€ ÷ Añ Aà'ðAñ ˜d�
ðAð 
ñ	ArV   c                ó¦   € V P                  4       pVe=   Ve7   W28”  d/   V P                  V4       VP                  P                  V4       R# R# R# R# )zs
Sync attributes if self was mutated by an inplace operation.

See Note [Inplace ops and VariableTracker metadata]
N)rß   r×   ÚoutputÚ&check_input_mutation_on_current_stream)r²   rÇ   râ   Úversion_afters   &&& rT   Ú_sync_if_inplace_mutationÚ(TensorVariable._sync_if_inplace_mutationD  sS   € ð ×.Ñ.Ó0ˆàÒ&ØÒ)ØÔ.à×'Ñ'¨Ô+Ø�I‰I×<Ñ<¸RÖ@ñ /ñ *ñ 'rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r¦   )rS   r•   s   "€rT   rU   r§   W  s   ø€ ÷ 
ñ 
™Cñ 
rV   c                ó€   € \        V P                  P                  P                  R ,          V P	                  4       4      # ©rÎ   )r{   r«   r·   rÐ   Úpython_type_namer¹   s   &rT   Ú
debug_reprÚTensorVariable.debug_reprW  s0   € Ü!Ø�J‰J�O‰O× Ñ  Õ1°4×3HÑ3HÓ3Jó
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# ©rN   rÇ   rE   rP   ©r<   )rS   r•   s   "€rT   rU   r§   \  s   ø€ ÷ 
ñ 
Ð:ð 
¹ñ 
rV   c                óf   € \        R RV P                  4        2R. \        P                  OR7       R# )zrepr() on tensorz
repr() on zRTensor repr requires actual runtime values which are not available during tracing.©Úgb_typeÚcontextÚexplanationÚhintsN)r"   rì   r   ÚSUPPORTABLE©r²   rÇ   s   &&rT   Útp_repr_implÚTensorVariable.tp_repr_impl\  s5   € ÜØ&Ø  ×!6Ñ!6Ó!8Ð 9Ð:ð,à2Ô%×1Ñ1Ð2÷	
rV   c                óH   <€ V ^8„  d   QhRS[ P                  P                  /# r¥   )rZ   r½   r¾   )rS   r•   s   "€rT   rU   r§   e  s   ø€ ÷ ñ ™%Ÿ(™(Ÿ.™.ñ rV   c                ó   € V P                   # ©N©r«   r¹   s   &rT   Úas_proxyÚTensorVariable.as_proxye  ó   € Ø�z‰zÐrV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   r§   h  s   ø€ ÷ ñ ™Tñ rV   c                ó   € V P                   # rþ   )rŽ   r¹   s   &rT   Úpython_typeÚTensorVariable.python_typeh  s   € Ø�‰ÐrV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   ©rR   )rS   r•   s   "€rT   rU   r§   k  s   ø€ ÷ ñ ™4ñ rV   c                ó   € R # ©Tr—   r¹   s   &rT   Ú	is_tensorÚTensorVariable.is_tensork  ó   € ÙrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   n  s    ø€ ÷ @ñ @Ð:ð @¹ñ @rV   c                ó|  € ^RI Hp V P                  VR. / 4      p\        V\        4      '       d-   \        VP
                  \        P                  4      '       d   V# \        W24      '       d+   \        P                  ! V\        VP                  4      4      # \        P                  WP                  4       ^ 8g  4      # )rË   r=   Úitem)Úconstantr>   Úcall_methodr^   ÚSymNodeVariableÚsym_numrZ   ÚSymBoolr<   ÚbuildrR   rO   Úcreater   )r²   rÇ   r>   r  s   &&  rT   Únb_bool_implÚTensorVariable.nb_bool_impln  s‹   € å.à×Ñ  F¨B°Ó3ˆÜ�dœO×,Ò,´Ø�L‰Lœ%Ÿ-™-÷2
ò 2
ð ˆKÜ�d×-Ò-Ü"×(Ò(¨¬T°$·*±*Ó-=Ó>Ð>Ü×%Ñ% b¯-©-«/¸QÑ*>Ó?Ð?rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# ©rN   rÇ   rE   ÚotherrÃ   rP   ©r<   rr   )rS   r•   s   "€rT   rU   r§   {  s3   ø€ ÷ 8ñ 8à'ð8ñ ð8ñ ð	8ñ
 
ñ8rV   c                ó8  € ^RI Hp \        V\        \        \
        34      '       g   \        P                  ! \        4      # \        V,          pVP                  P                  RWPP                  4       VP                  4       3/ 4      pV! \        V 4      W4      # )zETensor tp_richcompare: element-wise comparison producing an FX proxy.©Úwrap_fx_proxy_clsÚcall_function)rÏ   r   r^   r  r>   r¡   r  ÚNotImplementedr+   rä   Úcreate_proxyr   r“   )r²   rÇ   r  rÃ   r   Úop_fnr«   s   &&&&   rT   Útp_richcompare_implÚ"TensorVariable.tp_richcompare_impl{  sw   € õ 	/ä˜%¤/Ô3CÄ^Ð!T×UÒUÜ#×*Ò*¬>Ó:Ð:Ü& rÕ*ˆØ—	‘	×&Ñ&Ø˜U§]¡]£_°e·n±nÓ6FÐ$GÈó
ˆñ !¤ d£¨RÓ7Ð7rV   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# rM   )rZ   r_   r…   )rS   r•   s   "€rT   rU   r§   �  s    ø€ ÷ 1ñ 1™%Ÿ,™,ð 1Ñ+Añ 1rV   c                óD  a €  S P                   R JpRS P                  RS P                  RS P                  R\        S P                  4      RS P                  RS P                  RS P                  R	S P                  R
\        S 4      RV/
p\        S 4      '       d_   \        S 4      '       gN   \        ;QJ d"    . R S P                  4        4       F  NK  	  5M! R S P                  4        4       4      VR&   V# \        S 4      '       Eg   \        ;QJ d"    . R S P                  4        4       F  NK  	  5M! R S P                  4        4       4      VR&   \        S P!                  4       4      VR&   \"        P$                  P&                  P)                  S 4      '       d   R VR&   V# \        ;QJ d/    . V 3R l\"        P*                  P,                   4       F  NK  	  5M(! V 3R l\"        P*                  P,                   4       4      VR&   V#   \         d    Rp ELi ; i)NFr€   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   c              3   ó^   "  € T F#  p\        V4      '       d   \        V4      MTx € K%  	  R # 5irþ   ©r   rn   ©Ú.0Úss   & rT   Ú	<genexpr>Ú,TensorVariable.specialize.<locals>.<genexpr>£  s$   é € ð #Ù9E°Aœ+ aŸ.š.”�A”¨aÔ/»ùó   ‚+-r�   c              3   ó^   "  € T F#  p\        V4      '       d   \        V4      MTx € K%  	  R # 5irþ   r*  r+  s   & rT   r.  r/  ­  s*   é € ð #ñ &�Aô & aŸ.š.”�A”¨aÔ/Û%ùr0  r‘   r’   c              3   ó\   <"  € T F!  pSP                  VR 7      '       g   K  Vx € K#  	  R# 5i)©r”   N)r’   )r,  ÚxrO   s   & €rT   r.  r/  ¹  s+   øé € ð /á@˜Ø×*Ñ*¸Ð*×;÷ ’AÛ@ùs   ƒ,¢
,)Úgrad_fnÚ	Exceptionr€   r‡   rˆ   rn   r‰   rŠ   r‹   rŒ   r�   r“   r   r   r~   r¢   r‘   rZ   ru   rv   rw   Ú_prims_commonÚ_memory_formats)rO   r�   Úpropss   f  rT   Ú
specializeÚTensorVariable.specializeŒ  sÐ  ø€ ð	 ØŸ-™-¨tÐ3ˆKð �U—[‘[Ø�e—l‘lØ�e—l‘lØ”C˜Ÿ
™
“OØ˜U×0Ñ0Ø˜Ÿ™Ø˜E×.Ñ.Ø˜Ÿ™Øœ$˜u›+Ø˜;ð)
ˆô ˜×ÒÔ(8¸×(?Ò(?ß"œUñ #Ø9>¿¹¼ó#ŸU™Uñ #Ø9>¿¹¼ó#ó ˆE�'‰Nð6 ˆô1 " %×(Ó(÷ #œUñ #ð Ÿ™œó	#ŸU™Uñ #ð Ÿ™œó	#ó ˆE�'‰Nô $ E§L¡L£NÓ3ˆE�(‰OÜ�x‰x×"Ñ"×3Ñ3°E×:Ò:ð *.��oÑ&ð ˆ÷ */¬ô /ä"×0Ñ0×@Ò@ó/¯©ô /ä"×0Ñ0×@Ò@ó/ó *��oÑ&ð
 ˆøô] ô 	 ð  ‹Kð	 ús   ƒH ÈHÈHc                ó*   <€ V ^8„  d   QhRRRS[ RS[/# ©rN   rÇ   rE   ÚnamerP   ©rr   r<   )rS   r•   s   "€rT   rU   r§   À  s/   ø€ ÷ [Bñ [BØ-ð[BÙ58ð[Bá	ñ[BrV   c           
     óú  € V P                   P                  P                  R ,          pV P                  '       Eg€   \	        V4      '       Edn   VP                  4       w  rE\        V P                  4       V4      p\        W24      pW$9   dN   \        V\        P                  \        34      '       g   \        R\        V4       24      h^RIHp V! WVR7      # \!        \        V4      4      '       dW   \        P"                  P$                  P'                  VP(                  P*                  V4      p	\,        P.                  ! WiVR7      # \        V\        P"                  P$                  P0                  4      '       d   \,        P.                  ! WgVR7      # \3        V4      '       g   \4        P6                  ! W4      # V P                  '       d!   V P                  P9                  4       '       g   \:        hRVP(                  P<                  RVP(                  P>                  /p
 \A        V P                  PB                  V
4      pTf   \:        h\G        T4      '       d   \:        h\I        T4      '       d   \:        h \        Y²4      p\Q        T P                  T4      p\S        X4      '       d   ^RI*H+p T! YT\        T4      R7      # \Y        T P                  P[                  \\        P^                  ! \`        Pb                  TR7      4      4       \4        P6                  ! YT4      #   \D         d   p\:        ThRp?ii ; i  \J         d1    \M        \J        TR\        T4      PN                   R	T R2.R
7        Lôi ; i)rÎ   z(Expected Tensor or CustomClassBase, got ©Úwrap_fx_proxy)rÇ   r«   rÎ   )rÇ   ÚLÚGNÚ'z' object has no attribute '©Úargs©ÚGetAttrVariable)r®   Úpy_type©Úattr)2r«   r·   rÐ   r®   r   Ú__tensor_flatten__r`   r   r^   rZ   r_   r   ÚAssertionErrorr“   rÏ   rB  r   Ú_libraryÚfake_class_registryÚmaybe_to_fake_objrä   Ú	fake_moderA   r  ÚFakeScriptObjectrY   r<   r  Úsubguards_allowedÚNotImplementedErrorÚlocal_scopeÚglobal_scopeÚevalr>  r6  r1   r-   ÚAttributeErrorr   ra   r)   rc   ÚmiscrI  r(   Ú
make_guardÚ	functoolsÚpartialr'   ÚHASATTR)r²   rÇ   r>  Úfake_valÚattrsÚ_ctxr«   rÎ   rB  Úfake_script_objÚscopeÚ_input_associated_real_valueÚexcÚ
real_valueÚattr_sourcerI  s   &&&             rT   Údynamic_getattrÚTensorVariable.dynamic_getattrÀ  sÔ  € ð —:‘:—?‘?×'Ñ'¨Õ8ˆð �{�{‰{Ô<¸X×FÓFØ"×5Ñ5Ó7‰KˆEÜ˜DŸM™M›O¨TÓ2ˆEÜ# HÓ3ˆMØŒ}ä! -´%·,±,ÄÐ1P×QÒQÜ(ØBÄ4ÈÓCVÐBWÐXóð õ 3á$¨À}ÔUÐUÜ(¬¨mÓ)<×=Ò=Ü"'§.¡.×"DÑ"D×"VÑ"VØ—I‘I×'Ñ'¨ó#�ô 1×7Ò7¸ÐSUÔVÐVÜØÜ—‘×2Ñ2×CÑC÷ò ô 1×7Ò7¸ÐQSÔTÐTô ˜m×,Ò,Ü&×,Ò,¨RÓ?Ð?à——� §¡× =Ñ =× ?Ò ?Ü%Ð%ð �b—i‘i×+Ñ+¨S°"·)±)×2HÑ2HÐIˆð	/ô ,0°·±×0@Ñ0@À%Ó+HÐ(ð (Ò/Ü%Ð%ä"Ð#?×@Ò@Ü%Ð%äÐ:×;Ò;Ü%Ð%ð		Ü Ð!=ÓDˆJô ! §¡¨dÓ3ˆô " *×-Ò-å-á"Ø ;¼¸ZÓ8Hôð ô 	Ø�K‰K×"Ñ"¤9×#4Ò#4´\×5IÑ5IÐPTÔ#UÓVô	
ô ×$Ò$ R°[ÓAÐAøôM ô 	/Ü%¨3Ð.ûð	/ûô ô 	Ü$ÜØàœÐ9Ó:×CÑCÐDÐD_Ð`dÐ_eÐefÐgð÷ð	ús*   È! L% É:L? Ì%L<Ì0L7Ì7L<Ì?8M:Í9M:c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r=  r?  )rS   r•   s   "€rT   rU   r§     s#   ø€ ÷ 
ñ 
Ð8ð 
Áð 
Éñ 
rV   c                óV   € ^RI Hp V! \        V,          4      P                  W./ 4      # )aT  Trace a view attribute as a call to the aten op behind the C++ getter.

Going through the op keeps the node on the current tracer. Reading the
attribute off the base proxy instead puts the node in whichever graph
owns the base, so inside a higher order op it lands in the parent graph
and then has to be lifted back in as a subgraph input.
)ÚTorchInGraphFunctionVariable)rZ   rl  Ú_VIEW_ATTR_TO_ATEN_OPr!  )r²   rÇ   r>  rl  s   &&& rT   Ú
_view_attrÚTensorVariable._view_attr  s,   € õ 	8á+Ô,AÀ$Õ,GÓH×VÑVØ�˜ó
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   +  ó   ø€ ÷ (ñ (Ð ;ð (Áñ (rV   c                ó&   € V P                  VR 4      # ©rd   ©rn  rù   s   &&rT   Úmethod_attr_TÚTensorVariable.method_attr_T+  ó   € Ø�‰˜r 3Ó'Ð'rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   .  ó   ø€ ÷ )ñ )Ð!<ð )Áñ )rV   c                ó&   € V P                  VR 4      # )re   rt  rù   s   &&rT   Úmethod_attr_mTÚTensorVariable.method_attr_mT.  ó   € Ø�‰˜r 4Ó(Ð(rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   1  rq  rV   c                ó&   € V P                  VR 4      # )rf   rt  rù   s   &&rT   Úmethod_attr_HÚTensorVariable.method_attr_H1  rw  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   4  ry  rV   c                ó&   € V P                  VR 4      # )rg   rt  rù   s   &&rT   Úmethod_attr_mHÚTensorVariable.method_attr_mH4  r}  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   7  s   ø€ ÷ 7ñ 7Ð#>ð 7Á?ñ 7rV   c                ó†   € V P                   e!   \        P                  ! WP                   4      # V P                  VR. / 4      # )NÚdim)r‰   r<   r  r  rù   s   &&rT   Úmethod_attr_ndimÚTensorVariable.method_attr_ndim7  s8   € Ø�9‰9Ò Ü"×(Ò(¨¯Y©YÓ7Ð7à×#Ñ# B¨¨r°2Ó6Ð6rV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# ©rN   rÇ   rE   rP   Nrñ   )rS   r•   s   "€rT   rU   r§   =  ó"   ø€ ÷ ñ Ø-ðá	˜4Õ	ñrV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )r€   r<   r  rù   s   &&rT   Úmethod_attr_dtypeÚ TensorVariable.method_attr_dtype=  s&   € ð �:‰:Ò!Ü"×(Ò(¨¯Z©ZÓ8Ð8ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§   D  r�  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )r‡   r<   r  rù   s   &&rT   Úmethod_attr_deviceÚ!TensorVariable.method_attr_deviceD  ó&   € ð �;‰;Ò"Ü"×(Ò(¨¯[©[Ó9Ð9ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§   K  r�  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )rˆ   r<   r  rù   s   &&rT   Úmethod_attr_layoutÚ!TensorVariable.method_attr_layoutK  r•  rV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   R  ó"   ø€ ÷ ñ Ø-ðá	˜DÕ	 ñrV   c                ó|   € V P                   e.   \        P                  ! WP                   P                  R8H  4      # R # )NÚcuda)r‡   r<   r  r“   rù   s   &&rT   Úmethod_attr_is_cudaÚ"TensorVariable.method_attr_is_cudaR  s1   € ð �;‰;Ò"Ü"×(Ò(¨¯[©[×-=Ñ-=ÀÑ-GÓHÐHÙrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   Y  s   ø€ ÷ 8ñ 8Ð$?ð 8ÁOñ 8rV   c                óÔ   € V P                  4       '       d;   V P                   Uu. uF  p\        P                  ! W4      NK  	  pp\	        V4      # V P                  VR . / 4      # u upi ©r¢   )Ú
valid_sizer¢   r<   r  r@   r  )r²   rÇ   r4  Úsizess   &&  rT   Úmethod_attr_shapeÚ TensorVariable.method_attr_shapeY  sc   € Ø�?‰?×Òà6:·i²ió,Ù6?°”×%Ò% bÖ,±ið ð ,ô   Ó&Ð&à×#Ñ# B¨°°BÓ7Ð7ùò,s   ¥A%c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   b  r›  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )rŠ   r<   r  rù   s   &&rT   Úmethod_attr_requires_gradÚ(TensorVariable.method_attr_requires_gradb  s*   € ð ×ÑÒ)Ü"×(Ò(¨×-?Ñ-?Ó@Ð@ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   i  r›  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )rŒ   r<   r  rù   s   &&rT   Úmethod_attr_is_quantizedÚ'TensorVariable.method_attr_is_quantizedi  s*   € ð ×ÑÒ(Ü"×(Ò(¨×->Ñ->Ó?Ð?ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   p  r›  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )r�   r<   r  rù   s   &&rT   Úmethod_attr_is_sparseÚ$TensorVariable.method_attr_is_sparsep  ó&   € ð �>‰>Ò%Ü"×(Ò(¨¯^©^Ó<Ð<ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   w  r›  rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )r‹   r<   r  rù   s   &&rT   Úmethod_attr_is_nestedÚ$TensorVariable.method_attr_is_nestedw  r³  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   ©r   )rS   r•   s   "€rT   rU   r§   ~  s   ø€ ÷ 
ñ 
Ð*Eð 
É(ñ 
rV   c                ó,   € \        R RV  R2R. R7       R# )z'Tensor.retain_grad() with AOTDispatcherútp_getattro_impl z retain_gradz8`Tensor.retain_grad()` does not work with AOTDispatcher.ró   N©r"   rù   s   &&rT   Úmethod_attr_retain_gradÚ&TensorVariable.method_attr_retain_grad~  s   € ÜØ=Ø'¨ v¨\Ð:ØRØ÷		
rV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§   †  s"   ø€ ÷ ñ Ø-ðá	˜4Õ	ñrV   c                ó:  € VP                   P                  P                  V R 4      '       d'   VP                   P                  P                  V R 4      # \	        V P
                  \        4      '       d)   V P                  '       g   \        P                  ! R4      # R# )ÚgradN)
rä   Úside_effectsÚhas_pending_mutation_of_attrÚ	load_attrr^   Úmutation_typer8   r�   r>   r  rù   s   &&rT   Úmethod_attr_gradÚTensorVariable.method_attr_grad†  sr   € ð �9‰9×!Ñ!×>Ñ>¸tÀV×LÒLØ—9‘9×)Ñ)×3Ñ3°D¸&ÓAÐAä�t×)Ñ)Ô+?×@Ò@Ø×$×$Ð$ä#×*Ò*¨4Ó0Ð0árV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   “  s   ø€ ÷ (ñ (Ð#>ð (Á?ñ (rV   c                ó”   € \         P                  ! \        P                  P                  P
                  4      P                  W./ 4      # rþ   )r   rl  rZ   ru   Ú	_autogradÚ_get_data_attrr!  rù   s   &&rT   Úmethod_attr_dataÚTensorVariable.method_attr_data“  s6   € Ü×5Ò5Ü�H‰H×Ñ×-Ñ-ó
ç
‰-˜˜F BÓ
'ð	(rV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   ˜  s"   ø€ ÷ ;ñ ;Ø-ð;á	˜DÕ	 ñ;rV   c                óŽ   € V P                   '       d   \        R RV  R2R. R7       R# \        P                  P	                  R4      # )zTensor with grad_fn()r»  z grad_fnz@Dynamo does not support tracing tensors with a grad_fn directly.ró   N)r�   r"   r   r>   r  rù   s   &&rT   Úmethod_attr_grad_fnÚ"TensorVariable.method_attr_grad_fn˜  sF   € ð ××ÐÜØ/Ø+¨D¨6°Ð:Ø^Ø÷	ô ×-Ñ-×4Ñ4°TÓ:Ð:rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   ¥  s   ø€ ÷ 
ñ 
Ð'Bð 
Áñ 
rV   c                ó\   € ^RI Hp \        P                  ! V4      P	                  W./ 4      # )rN   )Ú_tensor_version)Útensor_version_oprÔ  r   rl  r!  )r²   rÇ   rÔ  s   && rT   Úmethod_attr__versionÚ#TensorVariable.method_attr__version¥  s*   € Ý7ä×5Ò5°oÓF×TÑTØ�˜ó
ð 	
rV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r=  )rr   r>   )rS   r•   s   "€rT   rU   r§   ¬  s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2á	ñ2rV   c           	     ó  € ^RI Hp V\        9   d   \        P                  ! R4      #  \
        P                  ! V\        4      P                  W\
        P                  ! W4      ./ 4      p\        WC4      '       * pV P                  '       dI   \        V P                  P                  \        P                   ! \"        P$                  VR7      4      4       \
        P                  ! W4      #   \        \        3 d    Rp L…i ; i)rË   rH  TFrK  )Ú rI  Úall_tensor_attrsr>   r  r<   r  r`   r!  r^   rY  r   r®   r(   r[  r\  r]  r'   r^  )r²   rÇ   r>  rI  ÚvarÚret_vals   &&&   rT   Úcall_obj_hasattrÚTensorVariable.call_obj_hasattr¬  sÓ   € õ 	&ð Ô#Ô#Ü#×*Ò*¨4Ó0Ð0ð	Ü!×'Ò'¨¬GÓ4×BÑBØœ?×0Ò0°Ó:Ð;¸RóˆCô
 % SÓ:Ô:ˆGð �;�;ˆ;ÜØ—‘×&Ñ&Ü×%Ò%¤l×&:Ñ&:ÀÔFóôô ×$Ò$ RÓ1Ð1øô Ô 6Ð7ô 	ØŠGð	ús   ©AC* Ã*D Ã?D c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r=  r?  )rS   r•   s   "€rT   rU   r§   Ë  s*   ø€ ÷ ñ Ø-ðÙ58ðá	ñrV   c                óü  a aa€ S P                  4       P                  P                  R ,          p\        V\        P
                  4      '       dY   \        V4      '       dH   SP                  '       d   \        P                  '       g    \        RRR. \        P                  OR7       S P                  S4      '       dY   SS P                  4       9   d    \        RRS  RS 2RS R	2R
S R2.R7       M$SS P                  4       9   d   \!        RS R24      hSR8X  dP   S P"                  ;'       d    \%        S P"                  4      p\&        P(                  ! SS P+                  4       V4      # \-        S RS 2R4      pVe	   V! S4      MRpVež   S P"                  '       dŒ   S P"                  P/                  4       '       dl   S\0        9  da   SR9  d   VP3                  4       '       gD   \5        S P7                  \8        P:                  4      4       \=        S P"                  S4      Vn        S P"                  Ee   \?        \        P@                  PB                  S4      '       dÜ   \-        \        P@                  PB                  S4      p\?        VR4      '       d¦   \?        WwPE                  4       ^ ,          4      '       d€   \        PF                  PH                  \-        WwPE                  4       ^ ,          4      PJ                  9   d9   \L        PN                  PQ                  \=        S P"                  S4      RRR.R7      # Vf   SR8w  d   R VV V3R llpV! 4       pVf   S PS                  SS4      pVf   \T        hV# )rÎ   zAttempted to wrap sparse TensorrÚ  z-torch.compile does not support sparse Tensorsró   zStrict mode banned opr»  Ú zGetattr invocation 'z"' in strict mode is not supported.zRemove `zj` from the list of banned ops by setting `torch._dynamo.config._autograd_backward_strict_mode_banned_ops`.zUnknown property z] during speculating backward, dynamo will insert contiguous call ahead and speculate it againrÄ   Úmethod_attr_NrÁ  Ú	overloadsz9Getting an inplace view on a graph input is not supportedzûAvoid mutating a graph input's tensor metadata with in-place view ops. If the mutation is only needed inside the compiled region, replace the in-place call with an out-of-place view, for example `x = x.transpose(1, 2)` instead of `x.transpose_(1, 2)`.zgIf you need to mutate the input tensor's metadata, move the in-place view call outside `torch.compile`.)r®   Úmsgr÷   c                ó2   € V ^8„  d   QhR\         R,          /# rÚ   rñ   )rS   s   "rT   rU   Ú5TensorVariable.tp_getattro_impl.<locals>.__annotate__%  s   € ÷ =ñ =¬ÀÕ/Eñ =rV   c                  ól  <€ ^RI Hp  \        P                  SR4      pVf   R# \	        V4      \
        P                  Jd   R# SP                  P                  P                  R\        SP                  4       S3/ 4      pSP                  e    V ! SV\        SP                  S4      R7      # V ! SVR7      # )rË   rA  Nr!  )rÇ   r«   r®   ©rÇ   r«   )rÏ   rB  rÛ  rÑ   r“   ÚtypesÚGetSetDescriptorTyperä   Úcurrent_tracerr#  r`   r   r®   r)   )rB  Ústatic_attrr«   r>  r²   rÇ   s      €€€rT   Útry_generic_attr_handlingÚBTensorVariable.tp_getattro_impl.<locals>.try_generic_attr_handling%  s£   ø€ Ý2ä.×2Ñ2°4¸Ó>�ØÒ&Ùô ˜Ó$¬E×,FÑ,FÓFÙð Ÿ	™	×0Ñ0×=Ñ=Ø#¤W¨t¯}©}«ÀÐ.EÀró�ð —;‘;Ò*Ù(Ø U´:¸d¿k¹kÈ4Ó3Pôð ñ )¨B°eÔ<Ð<rV   )rÁ  rŠ   )+r   r·   rÐ   r^   rZ   r_   r   Úexportr   Úcapture_sparse_computer"   r   ÚSPARSE_TENSORÚis_strict_modeÚ_strict_mode_banned_opsÚ#_strict_mode_conditional_banned_opsr#   r®   r*   r<   r  r  r`   rT  rm  Úis_python_constantr(   r[  r'   Ú
TYPE_MATCHr)   r]   ÚopsÚatenrä  ÚTagÚinplace_viewÚtagsr   rZ  ÚDelayGraphBreakVariablerh  rU  )	r²   rÇ   r>  r_  r®   ÚhandlerÚresultÚfnrî  s	   fff      rT   Útp_getattro_implÚTensorVariable.tp_getattro_implË  sç  ú€ ð —=‘=“?×'Ñ'×,Ñ,¨_Õ=ˆä�x¤§¡×.Ò.Ü˜h×'Ò'Ø—Y—Y�Y¤f×&C×&CÐ&CäØ9ØØKØ8Ô)×7Ñ7Ð8õ	ð ×Ñ˜r×"Ò"Ø�t×3Ñ3Ó5Ô5ÜØ3Ø/°¨v°Q°t°fÐ=Ø"6°t°fÐ<^Ð _à" 4 &ð )dð dðö	ð ˜×AÑAÓCÔCÜ:Ø'¨ vð  .Kð  Lóð ð �;Ôð —[‘[×<Ð<¤Z°·±Ó%<ˆFÜ"×(Ò(¨¨T×-=Ñ-=Ó-?ÀÓHÐHä˜$ ,¨t¨fÐ 5°tÓ<ˆØ 'Ò 3‘˜”¸ˆð ÒØ——�Ø—‘×-Ñ-×/Ò/ð Ô1Ô1àÐ5Ô5¸&×:SÑ:S×:UÒ:Uô ˜$Ÿ/™/¬,×*AÑ*AÓBÔCÜ& t§{¡{°DÓ9ˆFŒMð �;‰;Ó"¤w¬u¯y©y¯~©~¸t×'DÒ'DÜœŸ™Ÿ™¨Ó.ˆBä˜˜K×(Ò(Ü˜B§¡£¨qÕ 1×2Ò2Ü—I‘I×*Ñ*¬g°b¿,¹,».ÈÕ:KÓ.L×.QÑ.QÔQô !—~‘~×=Ñ=Ü% d§k¡k°4Ó8ØSð0ð+ðð >ó ð ð  Š>˜d fœn÷=ò =ñ< /Ó0ˆFàŠ>Ø×)Ñ)¨"¨dÓ3ˆFàŠ>Ü%Ð%ØˆrV   c                óX   <€ V ^8„  d   QhRRRS[ S[,          R,          RS[S[,          /# )rN   rÇ   rE   ÚidxesNrP   )r   rn   Úlistr<   )rS   r•   s   "€rT   rU   r§   L  s3   ø€ ÷ ?
ñ ?
Ø-ð?
Ù6>¹sµmÀdÕ6Jð?
á	‰oÕ	ñ?
rV   c           	     óî  € ^RI Hp ^RIHp V P	                  4       '       d   \        V P                  4      pMVV P                  VR. / 4      p\        V\        4      '       g   \        R\        V4       24      h\        VP                  4      pV^ 8X  d   \        R4      hV P	                  4       '       d   V P                  ^ ,          pM¯V P                  VR\        P                  ! V^ 4      ./ 4      p\        V\        4      '       g.   VP!                  4       '       g   \        R\        V4       24      h\        V\        4      '       d   VP#                  VP$                  4      pMVP'                  4       pVf   \)        V4      pM+\        V4      V8w  d   \        RV R\        V4       R	24      h\        W4      '       dk   V U	u. uF&  p	V! \*        WP-                  4       V	,          R
7      NK(  	  p
p	V
 Uu. uF+  pVP.                  ! WV P0                  V P2                  4      NK-  	  up# V U	u. uF+  p	V! \        V 4      WP-                  4       V	,          R
7      NK-  	  up	# u up	i u upi u up	i )rË   r  rG   r¢   zExpected SizeVariable, got zCan't unpack scalar tensors.z1Expected SymNodeVariable or python constant, got zCan't unpack a tensor of z rows into a tuple of z
 elements.)rÈ   rÇ   r«   )rÏ   r   Útorch_functionrH   r£  Úlenr¢   r  r^   r@   rN  r“   rÓ   r<   r  r  rö  Úevaluate_exprrä   Úas_python_constantÚranger¡   r   Úfrom_tensor_varrŽ   r®   )r²   rÇ   r  r   rH   Úsize_lenÚsize_varÚlengthÚ
dyn_lengthÚiÚ	base_varsrÖ   s   &&&         rT   Úunpack_var_sequenceÚ"TensorVariable.unpack_var_sequenceL  s?  € õ 	/Ý@à�?‰?×ÒÜ˜4Ÿ9™9“~‰Hà×'Ñ'¨¨F°B¸Ó;ˆHÜ˜h¬×5Ò5Ü$Ð'BÄ4ÈÃ>ÐBRÐ%SÓTÐTÜ˜8Ÿ>™>Ó*ˆHà�qŒ=Ü Ð!?Ó@Ð@à�?‰?×ÒØ—Y‘Y˜q•\‰Fà×)Ñ)Ø�Fœ_×2Ò2°2°qÓ9Ð:¸BóˆJô ˜:¤×7Ò7Ø×0Ñ0×2Ò2ä$ØGÌÈZÓHXÐGYÐZóð ô ˜*¤o×6Ò6Ø#×1Ñ1°"·)±)Ó<‘à#×6Ñ6Ó8�àŠ=Ü˜&“M‰Eä�5‹z˜VÔ#Ü$Ø/°¨xÐ7MÌcÐRWËjÈ\ÐYcÐdóð ô
 �d×9Ò9ñ
 ó	ñ �Añ "Ü-°"¿M¹M»OÈAÕ<N÷ñ ð	 ð ñ #ó	ñ #�Að -×<Ò<Ø˜4Ÿ?™?¨D¯K©Köñ #ñ	ð ñ ó
á�ñ ¬¨d«¸Ç-Á-Ã/ÐRSÕBT×UÙñ
ð 	
ùòùòùò
s   Ç
,I(Ç<1I-È41I2c                ó`   <€ V ^8„  d   QhRRRRRS[ RS[S[ ,          RS[S[S[ 3,          RS[ /# )	rN   rÇ   rE   Útree_map_fnrF   Úmap_fnÚrestÚtree_map_kwargsrP   )r<   r  Údictrr   )rS   r•   s   "€rT   rU   r§   �  sV   ø€ ÷ ;ñ ;à'ð;ð ,ð;ñ  ð	;ñ
 ‘?Õ#ð;ñ ™c¡?Ð2Õ3ð;ñ 
ñ;rV   c                ó,   € VP                  W.VO/ 4      # rþ   ©r!  )r²   rÇ   r  r  r  r  s   &&&&&&rT   Úcall_tree_mapÚTensorVariable.call_tree_map�  s   € ð ×#Ñ# B¨°¨°rÓ:Ð:rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r  )rS   r•   s   "€rT   rU   r§   —  s   ø€ ÷ &ñ &™Dñ &rV   c                ó   € V P                   R J# rþ   )r�   r¹   s   &rT   r£  ÚTensorVariable.valid_size—  s   € Ø�z‰z Ð%Ð%rV   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# )rN   rP   .)r~   r   )rS   r•   s   "€rT   rU   r§   ›  s   ø€ ÷ ñ ‘e™C ˜H•oñ rV   c                óL   € V P                   f   \        R4      hV P                   # )Nz%accessing None size in TensorVariable)r�   rN  r¹   s   &rT   r¢   ÚTensorVariable.sizeš  s"   € à�:‰:ÒÜ Ð!HÓIÐIØ�z‰zÐrV   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r¥   ©r  rr   )rS   r•   s   "€rT   rU   r§      s   ø€ ÷ Nñ N©©c­ñ NrV   c                óJ   € \         P                  P                  P                  # rþ   )rZ   r[   r   Ú)_autograd_backward_strict_mode_banned_opsr¹   s   &rT   rô  Ú&TensorVariable._strict_mode_banned_ops   s   € Ü�}‰}×#Ñ#×MÑMÐMrV   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r¥   r&  )rS   r•   s   "€rT   rU   r§   £  s   ø€ ÷ 
ñ 
±T¹#µYñ 
rV   c                óJ   € \         P                  P                  P                  # rþ   )rZ   r[   r   Ú5_autograd_backward_strict_mode_conditional_banned_opsr¹   s   &rT   rõ  Ú2TensorVariable._strict_mode_conditional_banned_ops£  s   € ä�M‰M× Ñ ×VÑVð	
rV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# )rN   rÇ   rE   ÚkeyrP   rñ   )rS   r•   s   "€rT   rU   r§   ¨  s)   ø€ ÷  0ñ  0à'ð 0ñ ð 0ñ 
ñ	 0rV   c           	     ó
  € ^RI HpHp ^RIHpHp V P                  V4      '       d+   RV P                  4       9   d   \        RRV  RV 2R. R7       / p\        P                  RR	4      pVe‡   V! WV3V4      '       dv   V P                  '       d/   V! V\        \        V P                  R
4      R4      4      ! V4      p	M*VP                  V\        P                  P                   4      p	V! WW3V4      # V P#                  W4      # )rË   ©ÚSourcelessBuilderÚVariableBuilder©Úcan_dispatch_torch_functionÚdispatch_torch_functionÚ__getitem__z-Illegal __getitem__ invocation in strict modezmp_subscript_impl râ  zHDynamo currently does not support __getitem__ invocation in strict mode.ró   NrÄ   )rÏ   r2  r3  r  r5  r6  ró  rô  r"   rÛ  rÑ   r®   r)   r  rZ   r_   r7  Úmethod___getitem__)
r²   rÇ   r/  r2  r3  r5  r6  Úempty_kwargsrí  Úfunc_vars
   &&&       rT   Úmp_subscript_implÚ TensorVariable.mp_subscript_impl¨  sû   € ÷ 	@ßXà×Ñ˜r×"Ò" }¸×8TÑ8TÓ8VÔ'VÜØGØ,¨T¨F°!°C°5Ð9ð-àõð 46ˆÜ&×*Ñ*¨=¸$Ó?ˆØÒ"Ñ'BØ�s�˜\÷(
ò (
ð �{�{ˆ{Ù*ØÜœz¨$¯+©+°{ÓCÀ]ÓSôð ó‘ð
 -×3Ñ3°B¼¿¹×8PÑ8PÓQ�Ù*¨2¸$¸ÀlÓSÐSà×&Ñ& rÓ/Ð/rV   c          
      óD   <€ V ^8„  d   QhRRRS[ RS[S[,          RRRS[/# )rN   rÇ   rE   r>  rG  r¼   zdict[str, VariableTracker]rP   )rr   r  r<   )rS   r•   s   "€rT   rU   r§   Ê  sI   ø€ ÷ Nñ Nà'ðNñ ðNñ ‘?Õ#ð	Nð
 -ðNñ 
ñNrV   c                ó’  € ^RI HpHp ^RIHpHp V P                  V4      '       d4   W P                  4       9   d    \        RRV  RV RV RV 2RV R2. R7       VR	8X  d   \        R
RV  R2RR.R7       \        P                  VR4      p	V	RJp
V! V\        V .\        V4      ,           4      V4      '       d—   V
'       d�   V P                  '       d/   V! V\        \        V P                  R4      V4      4      ! V	4      pM*VP                  V\!        \"        P$                  V4      4      pV! W\        V .\        V4      ,           4      V4      # V P&                  P                  V4      pVeg   \)        W4      p\+        WW-W44       VP-                  4        UUu/ uF  w  rïWïP/                  4       bK  	  ppp VP0                  ! W.VO5/ VB pXe   V# V P4                  P6                  P8                  P                  R4      pVe   \;        V4      MV P<                  p\?        VV4      '       g=   \        RRV  RV RV RV 2RV RVP@                   R2. \B        PD                  OR7       ^RI H#p  VPH                  PJ                  ! RV.\M        V .VOV4      O5!  p^RIH(p VPR                  '       d¬   VPR                  PT                  '       d�   VV9   d‰   \V        ;QJ d3    R  \Y        W4P[                  4       4       4       F  '       g   K   R!M(	  R"M$! R  \Y        W4P[                  4       4       4       4      '       d!   VPR                  PT                  P\                  M\^        pV Pa                  4       pV! 4       ;_uu_ 4        V! VX4      pRRR4       V Pc                  VV4       X# u uppi   \2         d,   p\        RRT  RT RT RT 2RT R2. TR7        Rp?ELRp?ii ; i  \N         d<   p\        RRT  RT RT RT 2RT R2. \B        PD                  OTR7        Rp?ELŽRp?ii ; i  + '       g   i     L¬; i)#rË   r1  r4  z(Illegal method invocation in strict modeúcall_method râ  z/Dynamo currently does not support this method (z) invocation in strict mode.ró   Ú__deepcopy__z#Attempted to copy.deepcopy a tensorzcopy.deepcopy(rt   z3Dynamo does not support copy.deepcopy() on tensors.zAAvoid calling copy.deepcopy() on tensors inside compiled regions.NrÄ   zUnhandled args for methodz6Dynamo encountered an error while calling the method `ú`.)rô   rõ   rö   r÷   Úfrom_excrÎ   zUnhandled tensor methodzTensor method `z` is not defined on z9 and does not have an explicit handler in TensorVariable.rA  r  z/Unsupported argument type in tensor method callzFDynamo could not create a proxy for an argument in the call to Tensor.zX(). This usually means an unsupported type was passed as an argument to a tensor method.)Ú"methods_consuming_unbacked_scalarsc              3   óp   "  € T F,  p\        V\        4      ;'       d    VP                  ^ 8H  x € K.  	  R# 5i©é    N)r^   r¡   r‰   )r,  rÖ   s   & rT   r.  Ú-TensorVariable.call_method.<locals>.<genexpr>L  s1   é € ð á5�Aô ˜1œnÓ-×=Ð=°!·&±&¸A±+Ô=Û5ùs   ‚6ž6TF)2rÏ   r2  r3  r  r5  r6  ró  rô  r"   rÛ  rÑ   r~   r  r®   r)   r  r`   rZ   r_   Ú
tp_methodsr7   r6   rÓ   Úrealizerþ  Ú	TypeErrorr«   r·   rÐ   r“   rŽ   r]   ra   r   rø   rB  rä   r#  r3   rU  rC  rR  Ú	shape_envÚanyr   ÚvaluesÚignore_fresh_unbacked_symbolsr   rß   rç   )r²   rÇ   r>  rG  r¼   r2  r3  r5  r6  rí  Úis_base_tensor_methodr:  ÚmethodÚflagsrÕ   rÖ   Úrealized_kwargsrÿ  ÚerÎ   Ú
check_typerB  r«   rC  Úctxrâ   s   &&&&&                     rT   r  ÚTensorVariable.call_methodÊ  s9  € ÷ 	@ßXà×Ñ˜r×"Ò" t×/KÑ/KÓ/MÔ'MÜØBØ& t f¨A¨d¨V°1°T°F¸!¸F¸8ÐDðØ�6Ð5ð7àõð �>Ô!ÜØ=Ø(¨¨¨aÐ0ØQàWðõ	ô '×*Ñ*¨4°Ó6ˆØ +°4Ð 7Ðñ (¨¬E°4°&¼4À»:Õ2EÓ,FÈ×OÒOß%à�{�{ˆ{Ù*Øœ
¤:¨d¯k©k¸;Ó#GÈÓNôàó‘ð -×3Ñ3°B¼ÄÇÁÈdÓ8SÓT�á*Øœe T F¬T°$«ZÕ$7Ó8¸&óð ð —‘×$Ñ$ TÓ*ˆØÒÜ(¨Ó4ˆEÜ ¨$°tÔDà:@¿,¹,¼.ÔI¹.±$°!˜q§)¡)£+š~¹.ˆOÑIð
ØŸš¨ÐK°4ÒK¸?ÑK�ð Ò!Ø�ð
 Ÿ
™
Ÿ™×,Ñ,×0Ñ0°ÓAˆà#0Ò#<ŒD�ÔÀ$Ç/Á/ð 	ô �z 4×(Ò(ÜØ1Ø& t f¨A¨d¨V°1°T°F¸!¸F¸8ÐDØ-¨d¨VÐ3GØ×&Ñ&Ð'ð (-ð-ð 7Ô)×5Ñ5Ð6õõ 	+ð	Ø—I‘I×*Ò*ØØðô # D =¨4 =°&Ó9óˆEõ6 	>ð �|�|ˆ|Ø—‘×&×&Ð&ØÐ:Ô:ß“ñ ä˜t§]¡]£_Ô5ó——’ñ ä˜t§]¡]£_Ô5ó÷ ò ð	 �L‰L×"Ñ"×@Ò@ô ð 	ð ×/Ñ/Ó1ˆÙ�U�UÙ" 2 uÓ-ˆF÷ à×&Ñ& r¨>Ô:àˆùóc Jøô ô ÜØ7Ø*¨4¨&°°$°°q¸¸¸aÀ¸xÐHð!#Ø#' &¨ð!,àØ÷ó ûðûôJ #ô 		ÜØIØ& t f¨A¨d¨V°1°T°F¸!¸F¸8ÐDðØ!˜Fð #5ð6ð 7Ô)×5Ñ5Ð6Ø÷ó ûð		ú÷J �UúsB   ÆN.Æ9N4 É4,O- Î
P6Î4O*Î? O%Ï%O*Ï-P3Ï80P.Ð.P3Ð6Q	c          	      ó>   <€ V ^8„  d   QhRRRS[ RS[ RS[R,          /# ©rN   rÇ   rE   rG  r¼   rP   N©r   r<   )rS   r•   s   "€rT   rU   r§   Z  s8   ø€ ÷ Añ AØ-ðAÙ69ðAÙEHðAá	˜4Õ	ñArV   c                ó.   € V P                   ! R .VO5/ VB # r¢  ©Ú_method_size_stride©r²   rÇ   rG  r¼   s   &&*,rT   Úmethod_sizeÚTensorVariable.method_sizeZ  s   € ð ×'Ò'¨Ð@°Ò@¸Ñ@Ð@rV   c          	      ó>   <€ V ^8„  d   QhRRRS[ RS[ RS[R,          /# rX  rY  )rS   r•   s   "€rT   rU   r§   _  s8   ø€ ÷ Cñ CØ-ðCÙ69ðCÙEHðCá	˜4Õ	ñCrV   c                ó.   € V P                   ! R .VO5/ VB # )r‘   r[  r]  s   &&*,rT   Úmethod_strideÚTensorVariable.method_stride_  s   € ð ×'Ò'¨ÐB°4ÒB¸6ÑBÐBrV   c                óH   <€ V ^8„  d   QhRS[ RS[R,          RS[R,          /# )rN   r>  rˆ  NrP   )rr   r   r<   )rS   r•   s   "€rT   rU   r§   d  s.   ø€ ÷ *ñ *Ùð*Ù! D�jð*á	˜4Õ	ñ*rV   c                óÔ  € \        V4      pR  R lpVR8X  d   TM\        P                  pVR8w  d   \        W4      pM,VR8X  d$   V P	                  4       '       d   V P
                  pMRpVe)   Vf	   V! V4      # \        P                  ! WR,          4      # V P                  P                  P                  P                  R4      ;pe    Vf[   \        Wa4      ! 4       p\        V4      '       g7   T! \        ;QJ d    . R V 4       F  NK  	  54      # ! R V 4       4      4      #  R# \        Wa4      ! V4      p\        V4      '       g    \        P                  ! \        V4      4      # R# )c                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )rN   r4  ÚoptionsrP   )r   r   r@   )rS   s   "rT   rU   Ú8TensorVariable._method_size_stride.<locals>.__annotate__i  s%   € ÷ 	ñ 	¬´­ð 	Ä#ð 	Ì,ñ 	rV   c           
      ón   € \        V  Uu. uF  p\        P                  ! V3/ VB NK  	  up3/ VB # u upi rþ   )r@   r>   r  )r4  rg  Úys   &, rT   Úmake_const_size_variableÚDTensorVariable._method_size_stride.<locals>.make_const_size_variablei  s=   € ÜÙ@AÓBÁ¸1Ô!×(Ò(¨Ñ6¨gÔ6ÁÑBñØFMñð ùÚBs   Š 2r¢   NrÎ   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irþ   rÛ   ©r,  Úrs   & rT   r.  Ú5TensorVariable._method_size_stride.<locals>.<genexpr>‰  s   é € Ð,D¹V¸¬S°¯V¨V»Vùó   ‚)r0   r>   r  r`   r£  r¢   r«   r·   rÐ   rÑ   r   r~   rn   )r²   r>  rˆ  rk  ÚRetVariablero  ÚfakeÚfake_rs   &&&     rT   r\  Ú"TensorVariable._method_size_strided  s5  € ô ˜3Óˆõ	ð )-°¬Ñ$Ô<L×<SÑ<Sð 	ð �6Œ>Ü˜Ó#‰AØ�VŒ^ §¡× 1Ò 1Ø—	‘	‰AàˆAàŠ=ØŠ{Ù" 1“~Ð%ä'×.Ò.¨q­vÓ6Ð6ð —J‘J—O‘O×(Ñ(×,Ñ,¨_Ó=Ð=ˆDÒJØŠ{Ü  Ô,Ó.�Ü'¨×/Ò/ñ '§u¤uÑ,D¹VÓ,D§uÓEÐE uÑ,D¹VÓ,DÓ'DÓEÐEð 0ñ ô ! Ô,¨SÓ1�Ü'¨×/Ò/Ü+×2Ò2´3°v³;Ó?Ð?ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§   �  s"   ø€ ÷ 	ñ 	Ð:ð 	¹ÐQUÕ?Uñ 	rV   c                ón  € V P                  4       '       d+   \        P                  ! V\        V P                  4      4      # V P
                  P                  P                  P                  R 4      ;peB   VP                  4       p\        V4      '       g!   \        P                  ! V\        V4      4      # R# )rÎ   N)r£  r<   r  r2   r¢   r«   r·   rÐ   rÑ   Únumelr   rn   )r²   rÇ   rs  rt  s   &&  rT   Úmethod_numelÚTensorVariable.method_numel�  s�   € Ø�?‰?×ÒÜ"×(Ò(¨¬W°T·Y±YÓ-?Ó@Ð@ð —J‘J—O‘O×(Ñ(×,Ñ,¨_Ó=Ð=ˆDÒJØ—Z‘Z“\ˆFÜ# F×+Ò+Ü&×,Ò,¨R´°V³Ó=Ð=ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§   �  s!   ø€ ÷ ñ Ð8ð ¹_ÈtÕ=Sñ rV   c                ób   € V P                   e!   \        P                  ! WP                   4      # R # rþ   )r‰   r<   r  rù   s   &&rT   Ú
method_dimÚTensorVariable.method_dim�  s$   € Ø�9‰9Ò Ü"×(Ò(¨¯Y©YÓ7Ð7ÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   ¤  r›  rV   c                óv   € V P                   e+   \        P                  ! WP                   P                  4      # R # rþ   )r€   r<   r  Úis_floating_pointrù   s   &&rT   Úmethod_is_floating_pointÚ'TensorVariable.method_is_floating_point¤  s,   € ð �:‰:Ò!Ü"×(Ò(¨¯Z©Z×-IÑ-IÓJÐJÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   «  s"   ø€ ÷ ñ Ø-ðá	˜DÕ	 ñrV   c                ó>  € \         P                  '       d0   \        R RR. \        P                  O\        P
                  OR7       V P                  P                  P                  P                  R4      ;pe%   \        P                  ! WP                  4       4      # R# )z0Encountered tensor.is_inference() during tracingrÚ  z&tensor.is_inference() is not supportedró   rÎ   N)r   Ú"fake_tensor_disable_inference_moder"   r   ÚFUNDAMENTALÚINFERENCE_MODEr«   r·   rÐ   rÑ   r<   r  Úis_inference©r²   rÇ   rs  s   && rT   Úmethod_is_inferenceÚ"TensorVariable.method_is_inference«  s…   € ô ×4×4Ð4ÜØJØØDðÜ&×2Ñ2ðä&×5Ñ5ðõ	ð —J‘J—O‘O×(Ñ(×,Ñ,¨_Ó=Ð=ˆDÒJÜ"×(Ò(¨×->Ñ->Ó-@ÓAÐAÙrV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  r=   )rS   r•   s   "€rT   rU   r§   ¼  r›  rV   c                óv   € V P                   e+   \        P                  ! WP                   P                  4      # R # rþ   )r€   r<   r  Ú
is_complexrù   s   &&rT   Úmethod_is_complexÚ TensorVariable.method_is_complex¼  s,   € ð �:‰:Ò!Ü"×(Ò(¨¯Z©Z×-BÑ-BÓCÐCÙrV   c                óF   <€ V ^8„  d   QhRRRS[ R,          RS[R,          /# )rN   rÇ   rE   r”   NrP   )r<   r>   )rS   r•   s   "€rT   rU   r§   Ã  s3   ø€ ÷ ñ à'ðñ '¨Õ-ðñ 
˜DÕ	 ñ	rV   c                ób  € Ve   VP                  4       M\        P                  pV P                  e$   \        P
                  ! WV P                  9   4      # V P                  P                  P                  P                  R4      ;pe'   \        P
                  ! WP                  VR7      4      # R # )NrÎ   r3  )
r
  rZ   Úcontiguous_formatr’   r<   r  r«   r·   rÐ   rÑ   )r²   rÇ   r”   Úmemory_format_constrs  s   &&&  rT   Úmethod_is_contiguousÚ#TensorVariable.method_is_contiguousÃ  sž   € ð Ò(ð ×,Ñ,Ô.ä×(Ñ(ð 	ð
 ×ÑÒ)ä"×(Ò(¨ÀD×DVÑDVÑ-VÓWÐWØ—j‘j—o‘o×*Ñ*×.Ñ.¨Ó?Ð?ˆdÒLÜ"×(Ò(Ø×&Ñ&Ð5HÐ&ÓIóð ñ rV   Fc                óR   <€ V ^8„  d   QhRRRS[ R,          RS[RS[ RS[R,          /# )rN   rÇ   rE   r€   NÚnon_blockingr¼   rP   )r   rR   r<   )rS   r•   s   "€rT   rU   r§   Ö  sF   ø€ ÷ ,ñ ,à'ð,ñ �T�zð,ñ ð	,ñ
 ð,ñ 
˜4Õ	ñ,rV   c           
     ó  a € VfÛ   S P                   eÍ   \        S P                  \        P                  4      '       d£   \	        V 3R l\
        P                  ! 4        4       4      pS P                  P                  R8X  d%   \        P                  ! VRVP                   24      # \        P                  ! VRS P                  P                   RVP                   24      # Vež   \        \        VP                  4       4      4      R8X  dw   TP                  4       p\        P                  ! V\        V4      4      p^RIHp V'       d   RV/VCpV! VVP                  P                   ! RR	.\#        S V.V4      O5!  4      # R # )
Nc              3   óR   <"  € T F  w  rSP                   V9   g   K  Vx € K  	  R # 5irþ   )r€   )r,  rÕ   rÖ   r²   s   &  €rT   r.  Ú-TensorVariable.method_type.<locals>.<genexpr>â  s#   øé € ð Ù9‘d�a¸T¿Z¹ZÈ1¹_—’Ó9ùs   ƒ'�
'Úcpuztorch.Ú.ztorch.tensortyperA  r™  r  r“   )r€   r^   r‡   rZ   Únextr5   rÓ   r“   r<   r  ra   r,   r
  rÏ   rB  rä   r#  r3   )	r²   rÇ   r€   r™  r¼   Ú
tensortypeÚtensor_typeÚtensor_type_constrB  s	   f&&&,    rT   Úmethod_typeÚTensorVariable.method_typeÖ  sZ  ø€ ð ŠMØ—
‘
Ò&Ü˜4Ÿ;™;¬¯©×5Ò5äô Ü1×7Ò7Ô9óó ˆJð �{‰{×Ñ 5Ô(Ü&×,Ò,¨R°6¸*×:MÑ:MÐ9NÐ1OÓPÐPä&×,Ò,Ø˜& §¡×!1Ñ!1Ð 2°!°J×4GÑ4GÐ3HÐIóð ð ÒÜ”D˜×1Ñ1Ó3Ó4Ó5Ð9KÔKð
  ×2Ñ2Ó4ˆKÜ /× 5Ò 5°b¼#¸kÓ:JÓ KÐå.çØ(¨,ÐA¸&ÐA�á ØØ—	‘	×&Ò&Ø!Øðô '¨Ð.?Ð'@À&ÓIóóð ñ rV   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rN   rÇ   rE   ÚclsrP   rH   rñ   )rS   r•   s   "€rT   rU   r§     s%   ø€ ÷ 
ñ 
Ø-ð
Ù4Cð
à	'ñ
rV   c                ót  € \        V\        4      '       d|   VP                  '       dj   ^RIHp VP                  4       pVP                  ! WWBP                  4      pVP                  P                  P                  \        4       V\        R7       V# \        RV  RV R2RR.\        P                  OR7       R	# )
rË   rG   ©Úmutation_type_clszHArgument of `as_subclass` must be a non-dispatcher-style tensor subclassz.as_subclass(rt   úCurrently not supportedz9Avoid this call or move it outside `torch.compile` regionró   N)r^   ÚTensorSubclassVariabler®   r  rH   r
  r  rä   rÂ  Ú
_track_objrQ   r8   r"   r   rø   )r²   rÇ   r¦  rH   Úpy_clsrÜ  s   &&&   rT   Úmethod_as_subclassÚ!TensorVariable.method_as_subclass  s¨   € ô �cÔ1×2Ò2°s·z·z°zÝDà×+Ñ+Ó-ˆFØ.×>Ò>Ø˜&§*¡*óˆCð �I‰I×"Ñ"×-Ñ-Ü“˜#Ô1Eð .ô ð ˆJÜØ^Ø�f˜M¨#¨¨aÐ0Ø1àKðä"×.Ñ.ð÷		
rV   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# rŒ  rñ   )rS   r•   s   "€rT   rU   r§     s"   ø€ ÷ ñ Ø-ðá	˜4Õ	ñrV   c                óì   € \        V P                  \        P                  4      '       dJ   V P                  P                  R 8w  d   V P                  P                  MRp\
        P                  ! W4      # R# )r�  Néÿÿÿÿ)r^   r‡   rZ   r“   r­   r<   r  )r²   rÇ   r­   s   && rT   Úmethod_get_deviceÚ TensorVariable.method_get_device  sO   € ô �d—k‘k¤5§<¡<×0Ò0Ø)-¯©×)9Ñ)9¸UÔ)B�D—K‘K×%Ò%ÈˆEÜ"×(Ò(¨Ó3Ð3ÙrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   %  s   ø€ ÷ >ñ >Ð&Að >Áoñ >rV   c                óV   € \         P                  ! WP                  P                  4      # rþ   )r<   r  r€   Úitemsizerù   s   &&rT   Úmethod_element_sizeÚ"TensorVariable.method_element_size%  s   € Ü×$Ò$ R¯©×)<Ñ)<Ó=Ð=rV   Úforcec                ó8   <€ V ^8„  d   QhRRRS[ S[,          RR/# )rN   rÇ   rE   rº  rP   ÚNumpyNdarrayVariablerj   )rS   r•   s   "€rT   rU   r§   (  s*   ø€ ÷ (6ñ (6Ø-ð(6Ù9HÉ4Õ9Oð(6à	ñ(6rV   c               óD  € \         P                  '       g   \        R RV  R2RR.R7       \        '       g   \        RRV  R2RR.R7       V P                  \
        P                  8w  d   \        R	V P                   R
24      hV'       dY   VP                  4       '       dC   V P                  VR. / 4      pVP                  P                  RRVP                  4       3/ 4      pM*VP                  P                  ! RR.\        W ./ 4      O5!  p\        P                  W4      # )z%Tensor.numpy() with trace_numpy=Falser?  z numpyzW`Tensor.numpy()` was called, but the `trace_numpy` configuration was manually disabled.zUSet `torch._dynamo.config.trace_numpy = True` to allow Dynamo to trace through NumPy.ró   z&Tensor.numpy() without NumPy installedz_`Tensor.numpy()` was called, but the NumPy library is not available in the current environment.z5Ensure NumPy is installed in your Python environment.zcan't convert z4 layout tensor to numpy. Use Tensor.to_dense() firstÚdetachr  r�  Úview_as)r   Útrace_numpyr"   Únprˆ   rZ   ÚstridedrJ  r
  r  rä   r#  r   r3   r¼  r  )r²   rÇ   rº  Útr«   s   &&$  rT   Úmethod_numpyÚTensorVariable.method_numpy(  s  € ô ×!×!Ð!ÜØ?Ø& t f¨FÐ3ð7ð5ðõ	÷ ‹rÜØ@Ø& t f¨FÐ3ð?ð Lðõð �;‰;œ%Ÿ-™-Ô'ÜØ  §¡ Ð-aÐbóð ÷ �U×-Ñ-×/Ò/à× Ñ   X¨r°2Ó6ˆAØ—I‘I×*Ñ*¨=¸%À!Ç*Á*Ã,ÀÐRTÓU‰Eð —I‘I×*Ò*Ø˜yðÜ+<¸d¸\È2Ó+NóˆEô $×*Ñ*¨2Ó5Ð5rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   R  s   ø€ ÷ (.ñ (.Ð ;ð (.Áñ (.rV   c                óà   a aaa€ ^RI Ho R V VVV3R lloS P                  4       P                  P                  R,          pS! VS P                  4       4      p\
        P                  ! SV4      # )rË   rA  c                ó¤   € V ^8„  d   QhR\         P                  R\         P                  P                  R\        \
        \        ,          ,          /# )rN   ÚtensorÚ	sub_proxyrP   )rZ   r_   r½   r¾   r   r  )rS   s   "rT   rU   Ú2TensorVariable.method_tolist.<locals>.__annotate__U  s6   € ÷ !	ñ !	œ5Ÿ<™<ð !	´E·H±H·N±Nð !	ÄsÌTÔRUÍYÅñ !	rV   c           	      ó  <€ R  VV	3R llpV P                   \        P                  \        P                  \        P                  \        P
                  39  d   \        RRS R2RR.R7       V P                  4       ^ 8X  d	   V! W4      # V P                  4       ^8X  d-   \        V 4       UUu. uF  w  r4V! WAV,          4      NK  	  upp# \        V 4       UUu. uF  w  r5S! WQV,          R7      NK  	  upp# u uppi u uppi )	c                ód   € V ^8„  d   QhR\         R\        P                  P                  R\        /# )rN   r  rÊ  rP   )r   rZ   r½   r¾   r<   )rS   s   "rT   rU   ÚBTensorVariable.method_tolist.<locals>.tolist.<locals>.__annotate__V  s)   € ÷ ñ œð ¬¯©¯©ð ¼?ñ rV   c                 ó2   <€ S! SVP                  4       4      # rþ   ©r  )r  rÊ  rÇ   rB  s   &&€€rT   ÚwrapÚ:TensorVariable.method_tolist.<locals>.tolist.<locals>.wrapV  s   ø€ Ù$ØØ—N‘NÓ$óð rV   z'Tensor.tolist() with non-integer tensorr?  z to_listzLDynamo currently does not support tracing `tolist()` on non-integer tensors.z[Ensure the input tensor to `tolist()` is an integer type (e.g., int8, int16, int32, int64).ró   )rÊ  )	r€   rZ   Úint8Úint16Úint32Úint64r"   rˆ  Ú	enumerate)
rÉ  rÊ  rÑ  r  ÚvalÚ
sub_tensorr²   ÚtolistrÇ   rB  s
   &&    €€€€rT   rÚ  Ú,TensorVariable.method_tolist.<locals>.tolistU  sò   ø€ ÷ñ ð �|‰|Ü—
‘
Ü—‘Ü—‘Ü—‘ð	$ô ô ØEØ*¨4¨&°Ð9ð!9ðBðõ	ð �z‰z‹|˜qÔ Ù˜FÓ.Ð.à�z‰z‹|˜qÔ Ü>GÈÔ>OÔPÑ>O±F°A™˜S¨A¥,Ö/Ñ>OÒPÐPô &/¨vÔ%6ôá%6‘M�Añ �z°q­\×:Ù%6òð ùó Qùós   Â-C8ÃC>rÎ   )rÏ   rB  r   r·   rÐ   r<   r  )r²   rÇ   rÉ  ÚoutrÚ  rB  s   ff  @@rT   Úmethod_tolistÚTensorVariable.method_tolistR  sT   û€ Ý*÷!	ó !	ðF —‘“×%Ñ%×*Ñ*¨?Õ;ˆÙ�V˜TŸ]™]›_Ó-ˆÜ×$Ò$ R¨Ó-Ð-rV   c                óZ   <€ V ^8„  d   QhRS[ S[,          RS[RS[S[,          R,          /# )rN   Ú	vars_iterÚerror_on_non_leafrP   N)r   r<   rR   r  )rS   r•   s   "€rT   rU   r§   |  s4   ø€ ÷ ;ñ ;Ù!¡/Õ2ð;ÙGKð;á	‰oÕ	 Õ	%ñ;rV   c                ó  € ^RI Hp . p\        4       pV Fë  p\        V\        4      '       g   K  VP
                  '       g   K/  VP                  '       d    V'       d   \        RRV 2RR.R7       K^  K`  V'       dD   VP                   '       d   \        VP                   V4      '       d   \        RRV 2R	R
.R7       K«  VP                  P                  pWu9  g   KÉ  VP                  V4       VP                  V4       Kí  	  V# )a¡  
Collect unique leaf tensors from vars_iter for backward.

Only collects leaf tensors (no grad_fn). Non-leaf tensors are skipped
(or error if error_on_non_leaf=True) because when auto-detecting inputs,
we must not stop gradients at non-leafs - they are intermediates, and the
real leaf tensors (parameters) are further up the autograd graph.

Deduplicates by proxy.node.
Returns list of unique leaf tensor variables.
)ÚSyntheticLocalSourcezbackward() with non-leaf tensorz-backward(inputs=[...]) with non-leaf tensor: zBbackward(inputs=[...]) with non-leaf tensors is not yet supported.zIOnly pass leaf tensors (parameters, graph inputs) to backward(inputs=...)ró   z'backward() with in-graph created tensorz5backward(inputs=[...]) with in-graph created tensor: z^backward(inputs=[...]) with tensors created inside the compiled function is not yet supported.zSOnly pass tensors that are inputs to the compiled function or captured from outside)r®   rã  Úsetr^   r¡   rŠ   r�   r"   r«   r·   ÚaddÚappend)r²   rà  rá  rã  rÿ  Ú
seen_nodesrÜ  r·   s   &&&     rT   Ú_collect_backward_inputsÚ'TensorVariable._collect_backward_inputs|  sç   € õ 	2àˆÜ),«ˆ
ÛˆCÜ˜#œ~×.Ô.°3×3D×3DÒ3Dð —?—?�?ß(Ü%Ø$EØ&SÐTWÐSXÐ$YØ(là kð#÷	ñ )÷ 'ØŸ
Ÿ
˜
¤j°·±Ð=Q×&RÒ&Rä!Ø IØ"WÐX[ÐW\Ð ]ð%Bð rð÷ð Ÿ9™9Ÿ>™>�DØÖ-Ø"Ÿ™ tÔ,ØŸ™ cÖ*ñO ðR ˆrV   c                ó‚   <€ V ^8„  d   QhRRRS[ R,          RS[ R,          RS[ R,          RS[ R,          RS[ R,          /# )	rN   rÇ   rE   ÚgradientNÚretain_graphÚcreate_graphÚinputsrP   rñ   )rS   r•   s   "€rT   rU   r§   ¹  sh   ø€ ÷ u-ñ u-à'ðu-ñ " DÕ(ðu-ñ &¨Õ,ð	u-ñ
 &¨Õ,ðu-ñ   $Õ&ðu-ñ 
˜4Õ	ñu-rV   c                ó"  € \         P                  '       g    \        RRV  RV RV RV RV 2
RR.R7       V P                  '       g   V P                  '       g   \        R4      hVR	J pV'       ds   \        VP                  P                  VP                  P                  P                  4       4      pV P                  V4      pV'       g   \        P                  ! R	4      # MŸ\        V\        P                   4      '       d   VP"                  p	MG\        V\        P$                  4      '       d%   \'        VP"                  P                  4       4      p	MV.p	V P                  V	R
R7      pV'       g   \        RRRR.R7       R\(        P*                  ! W4      /p
Ve   W:R&   Ve   WJR&   \(        P*                  ! W4      pW.pVe   VP-                  V4       \(        P*                  ! V\.        P0                  P2                  4      pVP5                  WV
4      p^RIHp VP                  VRR
R7      pVP;                  V4       \(        P*                  ! V\.        P<                  P>                  P@                  PB                  4      pVf   \E        R4      h\G        V4       FE  w  ppVPI                  VR\(        P*                  ! VV4      ./ 4      pVP5                  VVV./ 4       KG  	  VPK                  V4       \        P                  ! R	4      # )a<  
Trace tensor.backward() by rewriting as autograd.grad() + accumulate_grad.

Implementation:
1. Collect leaf tensors to compute gradients for
2. Call autograd.grad(loss, inputs) to compute gradients
3. For each leaf tensor, call accumulate_grad to update .grad

Non-leaf tensor handling:
- Auto-detect (inputs=None): Non-leaf tensors are silently skipped.
  This matches eager where only leaves get .grad.
- User-provided (inputs=[...]): Errors if any non-leaf tensor is found.
  While eager backward(inputs=[non_leaf]) works, Dynamo cannot trace it
  because the backward rewrite accesses .grad, and Dynamo creates
  a generic GetAttrVariable for .grad on non-leaf tensors (instead of a
  TensorVariable), which cannot be used in tensor operations.

TODO: Support non-leaf tensors by fixing .grad access on non-leaf in Dynamo.
z"Unsupported Tensor.backward() callr?  z
 backward râ  z]Dynamo currently does not support tracing `Tensor.backward()` when trace_autograd_ops is off.z)Set torch._dynamo.trace_autograd_ops=Trueró   z8tensor does not require grad and does not have a grad_fnNT)rá  zbackward() with empty inputsz8backward(inputs=[...]) resulted in no valid leaf tensorsz?backward(inputs=[...]) requires at least one valid leaf tensor.zOEnsure at least one tensor in inputs is a leaf (requires_grad=True, no grad_fn)Úallow_unusedrì  rí  )ÚGradModeVariableF)Úinitializedzinput_vars must not be Noner7  )&r   Útrace_autograd_opsr"   rŠ   r�   r!   r   rä   Úleaf_var_creation_orderÚinput_source_to_varrM  rè  r>   r  r^   r   ÚBaseListVariablerÓ   ÚConstDictVariabler  r<   r  ræ  rZ   ÚautogradrÁ  r!  Úctx_managerrñ  Úenterrø  ÚinductorÚaccumulate_grad_ÚdefaultrN  r×  r  Úexit)r²   rÇ   rë  rì  rí  rî  Úauto_detectÚall_varsÚ
input_varsÚprovided_varsÚgrad_kwargsÚ
inputs_varÚ	grad_argsÚautograd_grad_fnÚ	grads_varrñ  Úgrad_mode_varÚaccumulate_grad_fnÚidxÚ	input_varÚgrad_is   &&&&&&               rT   Úmethod_backwardÚTensorVariable.method_backward¹  sÕ  € ô6 ×(×(Ð(ÜØ<Ø& t f¨J°x°jÀÀ,ÀÈqÐQ]ÐP^Ð^_Ð`fÐ_gÐhØ{ØBÐCõ	ð ×!×!Ð!¨$×*:×*:Ð*:Ü#ØJóð ð  �nˆßô Ø—	‘	×1Ñ1Ø—	‘	×-Ñ-×4Ñ4Ó6óˆHð ×6Ñ6°xÓ@ˆJßô (×.Ò.¨tÓ4Ð4ð	 ô ˜&¤)×"<Ñ"<×=Ò=Ø &§¡‘Ü˜F¤I×$?Ñ$?×@Ò@Ü $ V§\¡\×%8Ñ%8Ó%:Ó ;‘à!' �Ø×6Ñ6Ø°ð 7ó ˆJ÷ ô Ø:ØVØ aàiðõ	ð &¤×'<Ò'<¸RÓ'MÐNˆØÒ#Ø*6˜Ñ'ØÒ#Ø*6˜Ñ'ä$×*Ò*¨2Ó:ˆ
ØÐ&ˆ	ØÒØ×Ñ˜XÔ&ä*×0Ò0°´U·^±^×5HÑ5HÓIÐØ$×2Ñ2°2À+ÓNˆ	õ 	2à(×/Ñ/°°EÀtÐ/ÓLˆØ×Ñ˜BÔä,×2Ò2Ø”—	‘	×"Ñ"×3Ñ3×;Ñ;ó
Ðð ÒÜ Ð!>Ó?Ð?Ü'¨
Ö3‰NˆC�Ø×*Ñ*Ø�M¤O×$9Ò$9¸"¸cÓ$BÐ#CÀRóˆFð ×,Ñ,¨R°)¸VÐ1DÀbÖIñ	 4ð 	×Ñ˜2Ôä×&Ò& tÓ,Ð,rV   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# ©rN   rÇ   rE   rG  r¼   rP   ÚDataPtrVariablerñ   )rS   r•   s   "€rT   rU   r§   0  s3   ø€ ÷ %ñ %à'ð%ñ ð%ñ "ð	%ð
 
ñ%rV   c                ó   € \        V 4      # rþ   ©r  r]  s   &&*,rT   Úmethod_data_ptrÚTensorVariable.method_data_ptr0  s   € ô ˜tÓ$Ð$rV   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# r  rñ   )rS   r•   s   "€rT   rU   r§   8  s9   ø€ ÷ Cñ Cà'ðCñ ðCñ "ð	Cð
 
ñCrV   c                ó   € \        V R R7      # )Úconst_data_ptr)Úmethod_namer  r]  s   &&*,rT   Úmethod_const_data_ptrÚ$TensorVariable.method_const_data_ptr8  s   € ô ˜tÐ1AÔBÐBrV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# )rN   rÇ   rE   ÚstreamrP   rñ   )rS   r•   s   "€rT   rU   r§   @  s)   ø€ ÷ -ñ -à'ð-ñ  ð-ñ 
ñ	-rV   c                ó\  € ^RI Hp \        W#4      '       g'   \        RVP	                  4       P
                   24      hVP                  P                  R\        P                  P                   P                  V P                  4       VP                  3/ 4       \        P                  ! R4      # )rË   )ÚStreamVariablez/record_stream() expects a Stream argument, got r!  N)Ústreamsr  r^   r°   r  ra   rä   r#  rZ   rø  Úrecord_streamr   Úuser_object_indexr>   r  )r²   rÇ   r  r  s   &&& rT   Úmethod_record_streamÚ#TensorVariable.method_record_stream@  s�   € õ
 	,ä˜&×1Ò1ÜØAÀ&×BTÑBTÓBV×B_ÑB_ÐA`Ðaóð ð 	�	‰	×ÑØÜ�I‰I×Ñ×+Ñ+Ø�]‰]‹_˜f×6Ñ6Ð7Øô		
ô  ×&Ò& tÓ,Ð,rV   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# rX  rñ   )rS   r•   s   "€rT   rU   r§   S  ó3   ø€ ÷ ñ à'ðñ ðñ "ð	ð
 
ñrV   c           	     ó¨   € VP                   '       g@   \        P                  '       g*   V P                  4        \	        R RV  RV RV 2RR.R7       R# )z@Unsupported Tensor.item() call with capture_scalar_outputs=Falser?  z item râ  zYDynamo does not support tracing `Tensor.item()` with config.capture_scalar_outputs=False.zœSet `torch._dynamo.config.capture_scalar_outputs = True` or `export TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1` to include these operations in the captured graph.ró   N)Ú	one_graphr   Úcapture_scalar_outputsÚ_warn_capture_scalar_outputsr"   r]  s   &&*,rT   Úmethod_itemÚTensorVariable.method_itemS  sZ   € ð �|�|ˆ|¤F×$A×$AÐ$AØ×-Ñ-Ô/ÜØZØ& t f¨F°4°&¸¸&¸ÐBð<ðIðõ
ñ rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   i  s   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó^  € V P                   eŒ   V P                   P                  '       gp   V P                   P                  '       gT   T P                  VR. / 4      p^RIHp V! VVP                  P                  R\        VP                  4       3/ 4      R7      # \        \        VR.R7       R # )Nr  rA  r!  ré  zEonly integer tensors of a single element can be converted to an indexrF  )r€   r�  r�  r  rÏ   rB  rä   r#  r   r   r   rJ  ©r²   rÇ   r  rB  s   &&  rT   Únb_index_implÚTensorVariable.nb_index_impli  s•   € ð �:‰:Ò!Ø—
‘
×,×,Ð,°T·Z±Z×5J×5JÐ5Jà×#Ñ# B¨°°BÓ7ˆDÝ.á ØØ—i‘i×,Ñ,Ø#ÜØ—]‘]“_Ð&Øó	ôð ô 	!ÜØàWð÷	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   ‡  s   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó"  € V P                   e0   V P                   P                  '       d   \        \        VR.R7       T P	                  VR. / 4      p^RIHp V! VVP                  P                  R\        VP                  4       3/ 4      R7      # )Nz:value cannot be converted to type int64_t without overflowrF  r  rA  r!  ré  )r€   r�  r   r°   r  rÏ   rB  rä   r#  r   r   r/  s   &&  rT   Únb_int_implÚTensorVariable.nb_int_impl‡  sƒ   € ð �:‰:Ò! d§j¡j×&;×&;Ð&;Ü$ÜØØRÐSõð ×Ñ  F¨B°Ó3ˆÝ*áØØ—)‘)×(Ñ(ØÜØ—‘“Ð"Øó	ô
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   £  s   ø€ ÷ $ñ $Ð!<ð $Áñ $rV   c                ó$   € V P                  V4      # rþ   ©r4  rù   s   &&rT   Úmethod___int__ÚTensorVariable.method___int__£  s   € Ø×Ñ Ó#Ð#rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   ¦  s   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó"  € V P                   e0   V P                   P                  '       d   \        \        VR.R7       T P	                  VR. / 4      p^RIHp V! VVP                  P                  R\        VP                  4       3/ 4      R7      # )Nz9value cannot be converted to type double without overflowrF  r  rA  r!  ré  )r€   r�  r   r°   r  rÏ   rB  rä   r#  r   r   r/  s   &&  rT   Únb_float_implÚTensorVariable.nb_float_impl¦  sƒ   € ð �:‰:Ò! d§j¡j×&;×&;Ð&;Ü$ÜØØQÐRõð
 ×Ñ  F¨B°Ó3ˆÝ*áØØ—)‘)×(Ñ(ØÜØ—‘“Ð"Øó	ô
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   ¿  s   ø€ ÷ &ñ &Ð#>ð &Á?ñ &rV   c                ó$   € V P                  V4      # rþ   ©r=  rù   s   &&rT   Úmethod___float__ÚTensorVariable.method___float__¿  s   € Ø×!Ñ! "Ó%Ð%rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   Â  ó   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó’   € ^RI Hp V! VVP                  P                  R\        P
                  V P                  4       3/ 4      4      # ©rË   rA  r!  )rÏ   rB  rä   r#  ÚoperatorÚnegr   ©r²   rÇ   rB  s   && rT   Únb_negative_implÚTensorVariable.nb_negative_implÂ  óB   € õ 	+áØØ�I‰I×"Ñ"ØÜ—‘Ø—‘“Ð"Øó	ó
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   Ò  ry  rV   c                ó$   € V P                  V4      # rþ   ©rK  rù   s   &&rT   Úmethod___neg__ÚTensorVariable.method___neg__Ò  ó   € Ø×$Ñ$ RÓ(Ð(rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   Õ  rE  rV   c           	     ó’   € ^RI Hp V! VVP                  P                  R\        P
                  V P                  4       3/ 4      4      # rG  )rÏ   rB  rä   r#  rH  Úposr   rJ  s   && rT   Únb_positive_implÚTensorVariable.nb_positive_implÕ  rM  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   å  ry  rV   c                ó$   € V P                  V4      # rþ   ©rW  rù   s   &&rT   Úmethod___pos__ÚTensorVariable.method___pos__å  rS  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   è  rE  rV   c           	     ó’   € ^RI Hp V! VVP                  P                  R\        P
                  V P                  4       3/ 4      4      # rG  )rÏ   rB  rä   r#  rH  Úabsr   rJ  s   && rT   Únb_absolute_implÚTensorVariable.nb_absolute_implè  rM  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   ø  ry  rV   c                ó$   € V P                  V4      # rþ   ©ra  rù   s   &&rT   Úmethod___abs__ÚTensorVariable.method___abs__ø  rS  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   û  rE  rV   c           	     ó’   € ^RI Hp V! VVP                  P                  R\        P
                  V P                  4       3/ 4      4      # rG  )rÏ   rB  rä   r#  rH  Úinvertr   rJ  s   && rT   Únb_invert_implÚTensorVariable.nb_invert_implû  sB   € õ 	+áØØ�I‰I×"Ñ"ØÜ—‘Ø—‘“Ð"Øó	ó
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§     s   ø€ ÷ 'ñ 'Ð$?ð 'ÁOñ 'rV   c                ó$   € V P                  V4      # rþ   )rk  rù   s   &&rT   Úmethod___invert__Ú TensorVariable.method___invert__  ó   € Ø×"Ñ" 2Ó&Ð&rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# ©rN   rÇ   rE   rG  r¼   rP   rñ   )rS   r•   s   "€rT   rU   r§     s3   ø€ ÷ (ñ (à'ð(ñ ð(ñ "ð	(ñ
 
ñ(rV   c           	     óL  € ^RI Hp \        V^ ,          \        4      '       d1   \        P
                  \        P                  ! V^ 4      V^ ,          .r%M\        P                  pVP                  P                  ! RV.\        V .\        V4      ,           V4      O5!  pV! W4      # rG  )rÏ   rB  r^   r  rZ   Úselectr<   r  rH  Úgetitemrä   r#  r3   r  )r²   rÇ   rG  r¼   rB  r   r«   s   &&*,   rT   r8  Ú!TensorVariable.method___getitem__  s’   € õ 	+ä�d˜1•gœ×/Ò/ô
 —‘ä#×)Ò)¨"¨aÓ0Ø˜•Gðñ ô ×!Ñ!ˆBà—	‘	×&Ò&ØØð
ô  ˜v¬¨T«
Õ2°FÓ;ó
ˆñ ˜RÓ'Ð'rV   c                ó   <€ V ^8„  d   QhRR/# rÚ   r—   )rS   r•   s   "€rT   rU   r§   .  s   ø€ ÷ 
ñ 
¨$ñ 
rV   c                 óô   € \         P                  P                  P                  4       p R P	                  \
        P                  ! V 4      4      p\        P                  \        P                  ! R4      V4       R# )rÚ  a�                      Graph break from `Tensor.item()`, consider setting:
                        torch._dynamo.config.capture_scalar_outputs = True
                    or:
                        env TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1
                    to include these operations in the captured graph.

                    Graph break: from user code at:
                    %s
                N)rZ   Ú_guardsÚTracingContextÚextract_stackÚjoinÚ	tracebackÚformat_listÚlogÚwarningÚtextwrapÚdedent)Ú
user_stackÚuser_stack_formatteds     rT   r*  Ú+TensorVariable._warn_capture_scalar_outputs,  sX   € ô —]‘]×1Ñ1×?Ñ?ÓAˆ
Ø!Ÿw™w¤y×'<Ò'<¸ZÓ'HÓIÐÜ�‰Ü�OŠOð	óð !ö	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   A  s   ø€ ÷ 'ñ 'Ð!<ð 'Áñ 'rV   c                ó$   € V P                  V4      # rþ   )Úsq_length_implrù   s   &&rT   Úmethod___len__ÚTensorVariable.method___len__A  rq  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   D  s    ø€ ÷ Pñ PÐ!<ð PÁñ PrV   c                óV   € V P                  VR\        P                  ! V^ 4      ./ 4      # )z9Sequence length for tensors (size along first dimension).r¢   )r  r<   r  rù   s   &&rT   r‰  ÚTensorVariable.sq_length_implD  s)   € à×Ñ  F¬_×-BÒ-BÀ2ÀqÓ-IÐ,JÈBÓOÐOrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   H  s   ø€ ÷ 
ñ 
Ð:ð 
¹ñ 
rV   c                óJ   € \        V P                  V4      \        4       R 7      # )©rÅ  )r?   r  r;   rù   s   &&rT   Útp_iter_implÚTensorVariable.tp_iter_implH  s#   € Ü#Ø×$Ñ$ RÓ(Ô8HÓ8Jô
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r§   M  s   ø€ ÷ %ñ %Ð"=ð %Á/ñ %rV   c                ó$   € V P                  V4      # rþ   )r’  rù   s   &&rT   Úmethod___iter__ÚTensorVariable.method___iter__M  s   € Ø× Ñ  Ó$Ð$rV   rO   c                óR   <€ V ^8„  d   QhRRRS[ RS[ RS[ R,          RS[ R,          /# )rN   rÇ   rE   Útensor1Útensor2rO   NrP   ©r   )rS   r•   s   "€rT   rU   r§   P  sE   ø€ ÷ ñ à'ðñ ðñ ð	ñ �T�zðñ 
ˆt�ñrV   c               óH  € Vež   \         P                  '       dˆ   ^ RIHp \        P
                  ! \        P                  4      p\        P
                  ! VP                  4      pVP                  WV./ 4      pVP                  WW@./ 4      p	V P                  VRV	./ 4      # R # ©N)Úinductor_primsÚcopy_)r   Úenable_dynamo_decompositionsÚtorch._inductorrž  r   rl  rZ   ÚmulÚfmar!  r  )
r²   rÇ   r™  rš  rO   rž  Úmul_varÚfma_varr2   rÿ  s
   &&&&$     rT   Úmethod_addcmul_ÚTensorVariable.method_addcmul_P  sŒ   € ð Ò¤×!D×!DÐ!DÝ6ä×<Ò<¼U¿Y¹YÓGˆGÜ×<Ò<¸^×=OÑ=OÓPˆGØ×+Ñ+¨B¸'Ð0BÀBÓGˆGØ×*Ñ*¨2¸Ð/EÀrÓJˆFØ×#Ñ# B¨°&°¸2Ó>Ð>ÙrV   c                ó>   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ /# ©rN   rÇ   rE   r/  rO   NrP   rñ   )rS   r•   s   "€rT   rU   r§   b  s8   ø€ ÷ 7ñ 7à'ð7ñ ð7ñ  Õ%ð	7ñ
 
ñ7rV   c                óF   € Vf   \        VR4       V P                  WV4      # )Nz&Tensor does not support deleting items)r   Úmethod___setitem__©r²   rÇ   r/  rO   s   &&&&rT   Úmp_ass_subscript_implÚ$TensorVariable.mp_ass_subscript_implb  s'   € ð Š=Ü˜RÐ!IÔJØ×&Ñ& r°Ó6Ð6rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# )rN   rÇ   rE   r/  rO   rP   rñ   )rS   r•   s   "€rT   rU   r§   l  s3   ø€ ÷ -ñ -à'ð-ñ ð-ñ ð	-ñ
 
ñ-rV   c           
     ób  € VP                   P                  ! R \        P                  .\	        WV./ 4      O5!  pV P                  4       p\        P                  P                  P                  4       ;_uu_ 4        VP                  '       dA   VP                  P                  '       d%   VP                  P                  P                  4       M	\        4       ;_uu_ 4        \        VP                  VRR7       RRR4       RRR4       V P!                  W4       \"        P$                  '       g   \"        P&                  '       d1   VP                   P(                  P+                  VP                  ^ 4       \,        P.                  ! R4      #   + '       g   i     L›; i  + '       g   i     L¦; i)r!  F)Úallow_non_graph_fakeN)rä   r#  rH  Úsetitemr3   rß   rZ   r[   r\   Ú+_disable_saved_tensors_hooks_during_tracingrR  rK  rN  r   r.   r·   rç   r   Úuse_graph_deduplicationÚtrack_nodes_for_deduplicationÚregion_trackerÚadd_node_mutationr>   r  )r²   rÇ   r/  rO   r«   râ   s   &&&&  rT   r«  Ú!TensorVariable.method___setitem__l  s,  € ð —	‘	×&Ò&ØÜ×Ñð
ô  ¨5Ð1°2Ó6ó
ˆð ×/Ñ/Ó1ˆô �M‰M×Ñ×KÑK×MÕMà�|�|ˆ| §¡× 6× 6Ð 6ð �L‰L×"Ñ"×@Ñ@ÔBä“÷ñ ô ˜5Ÿ:™: rÀÕF÷	÷ Nð 	×&Ñ& rÔ:ä×)×)Ð)¬V×-Q×-QÐ-QØ�I‰I×$Ñ$×6Ñ6°u·z±zÀ1ÔEä×&Ò& tÓ,Ð,÷÷ ú÷ N×Mús*   Á:.FÂ)6FÃF	Ã8FÆFÆFÆF.	c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  ©r<   r   )rS   r•   s   "€rT   rU   r§   �  ó3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ "ð	
ñ
 
ñ
rV   c           	     ó6   € \        R RV  RV RV 2R. R7       R# )z!Unsupported Tensor.resize_() callr?  z	 resize_ râ  z=Dynamo currently does not support tracing `Tensor.resize_()`.ró   Nr¼  r]  s   &&*,rT   Úmethod_resize_ÚTensorVariable.method_resize_�  s+   € ô 	Ø7Ø" 4 &¨	°$°°q¸¸ÐAØWØ÷		
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rº  )rS   r•   s   "€rT   rU   r§   š  r»  rV   c           	     ó6   € \        R RV  RV RV 2R. R7       R# )z$Unsupported Tensor.resize_as_() callr?  z resize_as_ râ  z@Dynamo currently does not support tracing `Tensor.resize_as_()`.ró   Nr¼  r]  s   &&*,rT   Úmethod_resize_as_Ú TensorVariable.method_resize_as_š  s+   € ô 	Ø:Ø" 4 &¨°T°F¸!¸F¸8ÐDØZØ÷		
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rº  )rS   r•   s   "€rT   rU   r§   §  r»  rV   c           	     ó6   € \        R RV  RV RV 2R. R7       R# )z(Unsupported Tensor.sparse_resize_() callr?  z sparse_resize_ râ  zDDynamo currently does not support tracing `Tensor.sparse_resize_()`.ró   Nr¼  r]  s   &&*,rT   Úmethod_sparse_resize_Ú$TensorVariable.method_sparse_resize_§  s,   € ô 	Ø>Ø" 4 &Ð(8¸¸¸aÀ¸xÐHØ^Ø÷		
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rº  )rS   r•   s   "€rT   rU   r§   ´  r»  rV   c           	     ó6   € \        R RV  RV RV 2R. R7       R# )z2Unsupported Tensor.sparse_resize_and_clear_() callr?  z sparse_resize_and_clear_ râ  zNDynamo currently does not support tracing `Tensor.sparse_resize_and_clear_()`.ró   Nr¼  r]  s   &&*,rT   Úmethod_sparse_resize_and_clear_Ú.TensorVariable.method_sparse_resize_and_clear_´  s,   € ô 	ØHØ" 4 &Ð(BÀ4À&ÈÈ&ÈÐRØhØ÷		
rV   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# rX  rñ   )rS   r•   s   "€rT   rU   r§   Á  r&  rV   c           	     óv   € \        V4      ^8”  d)   \        RRV  RV RV 2R. \        P                  OR7       R# )rË   zUnsupported Tensor.set_() callr?  z set_ râ  zhDynamo currently does not support tracing `Tensor.set_()` overloads that include more than one argument.ró   N)r  r"   r   rø   r]  s   &&*,rT   Úmethod_set_ÚTensorVariable.method_set_Á  sL   € ô ˆt‹9�qŒ=ô Ø8Ø& t f¨F°4°&¸¸&¸ÐBðAà6Ô)×5Ñ5Ð6õñ rV   Úalphac          	      óL   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ R,          /# )rN   rÇ   rE   r  rÏ  NrP   rñ   )rS   r•   s   "€rT   rU   r§   ×  s=   ø€ ÷ ñ à'ðñ ðñ
  Õ%ðñ 
˜4Õ	ñrV   c               ó  € Ve|   \        V\        4      '       df   \        P                  '       dP   ^ RIHp \        P                  ! VP                  4      pVP                  WW0./ 4      pV P                  VRV./ 4      # R # r�  )r^   r¡   r   r   r¡  rž  r   rl  r£  r!  r  )r²   rÇ   r  rÏ  rž  r¥  rÿ  s   &&&$   rT   Úmethod_add_ÚTensorVariable.method_add_×  so   € ð ÒÜ˜5¤.×1Ò1Ü×3×3Ð3å6ä×<Ò<¸^×=OÑ=OÓPˆGØ×*Ñ*¨2°uÐ/CÀRÓHˆFØ×#Ñ# B¨°&°¸2Ó>Ð>ÙrV   c                óN   <€ V ^8„  d   QhRRRRRRRS[ R,          RS[ R,          /# )	rN   rÇ   rE   r™  r¡   rš  rO   NrP   rñ   )rS   r•   s   "€rT   rU   r§   ì  sG   ø€ ÷ ñ à'ðð "ðð "ð	ñ  Õ%ðñ 
˜4Õ	ñrV   c               óD  € Veœ   \         P                  '       d†   \        P                  ! \        P
                  4      P                  WV./ 4      p^ RIHp \        P                  ! VP                  4      pVP                  WW@./ 4      pV P                  VRV./ 4      # R # r�  )r   r   r   rl  rZ   Údivr!  r¡  rž  r£  r  )	r²   rÇ   r™  rš  rO   rÿ  rž  r¥  Ú
fma_results	   &&&&$    rT   Úmethod_addcdiv_ÚTensorVariable.method_addcdiv_ì  sŒ   € ð Ò¤×!D×!DÐ!DÜ×;Ò;¼E¿I¹IÓF×TÑTØ˜gÐ&¨óˆFõ 7ä×<Ò<¸^×=OÑ=OÓPˆGØ ×.Ñ.¨r¸EÐ3HÈ"ÓMˆJØ×#Ñ# B¨°*°¸rÓBÐBÙrV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# )rN   rÇ   rE   r  rP   rñ   )rS   r•   s   "€rT   rU   r§   ÿ  s%   ø€ ÷ 6ñ 6Ø-ð6Ù5Dð6á	ñ6rV   c                ó   € \         P                  ! \        P                  4      P	                  WV./ 4      p\         P                  ! \        P
                  4      P	                  W./ 4      pVP                  VR . / 4      # rÐ  )r   rl  rZ   Úeqr!  rL  r  )r²   rÇ   r  rÿ  s   &&& rT   Úsq_contains_implÚTensorVariable.sq_contains_implÿ  sm   € ô ×7Ò7¼¿¹ÓA×OÑOØ�t�˜bó
ˆô ×7Ò7¼¿	¹	ÓB×PÑPØ�˜"ó
ˆð ×!Ñ! " f¨b°"Ó5Ð5rV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# )rN   rÇ   rE   ÚargrP   rñ   )rS   r•   s   "€rT   rU   r§     s%   ø€ ÷ .ñ .Ø-ð.Ù4Cð.á	ñ.rV   c                ó$   € V P                  W4      # rþ   )rÝ  )r²   rÇ   rà  s   &&&rT   Úmethod___contains__Ú"TensorVariable.method___contains__  s   € ð ×$Ñ$ RÓ-Ð-rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# rs  rñ   )rS   r•   s   "€rT   rU   r§     s9   ø€ ÷ Pñ Pà'ðPñ ðPñ "ð	Pñ
 
ñPrV   c                ó0   € V P                   ! VR .VO5/ VB # )Úregister_hook©Ú_method_register_hookr]  s   &&*,rT   Úmethod_register_hookÚ#TensorVariable.method_register_hook  s!   € ð ×)Ò)¨"¨oÐOÀÒOÈÑOÐOrV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# rs  rñ   )rS   r•   s   "€rT   rU   r§     s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ "ð	
ñ
 
ñ
rV   c                ó0   € V P                   ! VR .VO5/ VB # )Ú"register_post_accumulate_grad_hookrç  r]  s   &&*,rT   Ú)method_register_post_accumulate_grad_hookÚ8TensorVariable.method_register_post_accumulate_grad_hook  s-   € ð ×)Ò)ØÐ4ð
Ø7;ò
Ø?Eñ
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[/# )rN   rÇ   rE   r>  ÚhookrP   r?  )rS   r•   s   "€rT   rU   r§   %  s3   ø€ ÷ pñ pØ-ðpÙ58ðpÙ@Oðpá	ñprV   c                óö  aa€ V P                   '       Eg7   \        P                  '       d~   TP                  P	                  V4      w  opR  VV3R llp^RIHp V P                  4       pRVP                  P                  R&   V! VVP                  P                  RVWt3/ 4      4      # ^RIHp V P                  4       p	V	P                  p
 VP                  R 4      ;_uu_ 4        V! VVV ./ RR	R	R
RR7	      w  w  r¼rÞR	R	R	4       TP                  P(                  P*                  P-                  4       pTP                  P/                  R\        P0                  P3                  TP4                  X4      4      oT
P                  RSR/ 4      p^ RIHp T	T.\;        XP=                  4       4      O5pT
P                  RT\?        T4      / 4      pT	P                  P                  R,          TP                  P                  R&   TT n         T PC                  T4       \D        PF                  ! \D        PH                  PK                  4       R7      # \D        PF                  ! \D        PH                  PK                  4       R7      pVP                  PL                  PO                  WVS4       V#   + '       g   i     EL³; i  \        P                   P"                  P$                   d    \'        RRR. R7        ELñi ; i)c                ó\   € V ^8„  d   QhR\         P                  R\        P                  RR/# )rN   rÉ  Úbw_staterP   N)rZ   r_   r   ÚBackwardState)rS   s   "rT   rU   Ú:TensorVariable._method_register_hook.<locals>.__annotate__3  s.   € ÷  ñ  Ü!ŸL™Lð Ü4E×4SÑ4Sð àñ rV   c           	      óp   <€ \        V S4      pV! \        P                  ! \        \        VSR 7      4       R# ))r   rô  Ú	hook_nameN)r`   r\  r]  r   r&   )rÉ  rô  ræ  rø  r>  s   && €€rT   Ú_register_hook_trampolineÚGTensorVariable._method_register_hook.<locals>._register_hook_trampoline3  s8   ø€ ô %,¨F°DÓ$9�MÙ!Ü!×)Ò)Ü)Ü<Ø%-Ø&/ô	ôñ  rV   rA  TÚhas_backward_hookr!  )Úspeculate_subgraphc                 ó"   € V P                  4       # rþ   )r  )rÖ   s   &rT   Ú<lambda>Ú6TensorVariable._method_register_hook.<locals>.<lambda>b  s
   € ¸!¿+¹+¼-rV   ræ  NÚautomatic_with_forced_inputs)Úsource_targetÚenable_gradÚset_subgraph_inputsÚrestore_side_effectsz(register_hook with stride-dependent codez0Hook accesses grad metadata (e.g. is_contiguous)z}register_hook callbacks that branch on gradient metadata are not supported because grad properties are unknown at trace time.ró   Ú	hook_bodyÚget_attr)Úregister_hook_oprÎ   r‘  r—   )(r®   r   Úcompiled_autograd_enabledrä   Úadd_backward_state_hookrÏ   rB  r   r·   rÐ   r#  Úhigher_order_opsrü  r¸   Ústrict_translation_moderZ   r[   re  r#   r"   Útracing_contextÚmodule_contextÚcopy_graphstateÚinstall_subgraphr½   ÚGraphModuleÚ
nn_modulesÚ%torch._higher_order_ops.register_hookr  r  Úkeysr~   r«   r×   r   ÚRemovableHandleVariableÚbaser;   rÂ  ræ  )r²   rÇ   r>  rñ  Úbw_state_proxyrù  rB  Ú
self_proxyrü  Útensor_proxyÚtarget_tracerÚbody_rÚ_Ú
hook_graphÚhook_freevarsÚhook_nn_modulesÚ	hook_noder  Úp_argsÚhooked_proxyÚhandle_variablerø  s   &&f&                 @rT   rè  Ú$TensorVariable._method_register_hook%  sœ  ù€ ð �{�{‰{ô !×:×:Ð:à,.¯I©I×,MÑ,MÈdÓ,SÑ)�	˜>÷ ñ  õ" 3à!Ÿ]™]›_�
Ø<@�
—‘×$Ñ$Ð%8Ñ9á$ØØ—I‘I×*Ñ*Ø'Ø1Ø#Ð4Øó	óð õ  =àŸ=™=›?ˆLØ(×/Ñ/ˆMð
Ø×/Ñ/Ñ0G×HÕHÙ=OØØØ˜ØØ'Ø&*Ø$(Ø,JØ-1ô
>Ñ:‘K�V ÷ Ið, !Ÿi™i×7Ñ7×FÑF×VÑVÓXˆOØŸ	™	×2Ñ2ØÜ—‘×$Ñ$ _×%?Ñ%?ÀÓLóˆIð &×2Ñ2°:¸yÈ"ÈbÓQˆIåNà" IÐK´°]×5GÑ5GÓ5IÓ0JÑKˆFØ(×5Ñ5ØØ Ü�f“Øó	ˆLð 7C×6GÑ6G×6LÑ6LØõ7ˆL×Ñ×"Ñ" ?Ñ3ð &ˆDŒJØ×'Ñ'¨Ô+Ü×4Ò4Ü'Ÿn™n×=Ñ=Ó?ôð ô $×;Ò;Ü#Ÿ.™.×9Ñ9Ó;ô
ˆð 	�	‰	×Ñ×,Ñ,¨T¸È$ÔOØÐ÷g I×HÐHûô —=‘=×$Ñ$×IÑIô ÜØFØNð!<ð ÷ð ðús0   ÃJ< Ã&J(Ã>J< Ê(J9	Ê3J< Ê9J< Ê<8K8Ë7K8c                ó:   <€ V ^8„  d   QhRRRS[ S[,          RS[/# )rN   rÇ   rE   rŠ   rP   )rR   r<   )rS   r•   s   "€rT   rU   r§   —  s3   ø€ ÷ Wñ Wà'ðWñ ™oÕ-ðWñ 
ñ	WrV   c                ó”  € VR Jd   VP                  4       pV P                  4       P                  pVP                  R,          pVP                  V8w  EdE   V P
                  '       d   \        RRV  R2R. R7       VP                  P                  '       d   \        RRV  R2RR	R
.R7       \        P                  P                  P                  4       p\        P                  P                  P                  R 4        VP                  P                  R\        P                  P                  P                  R/ 4       VP                  P!                  RRV P                  4       3/ 4       VP                  P                  R\        P                  P                  P                  V3/ 4       \        P                  P                  P                  V4       VP#                  V4       W n        V'       d§   VP                  P$                  P'                  V 4       V P
                  '       gp   VP                  P(                  P+                  V 4      '       dE   VP                  P(                  P-                  V R\.        P0                  P3                  R4      4       V #   \        P                  P                  P                  T4       i ; i)TrÎ   z(Unsupported Tensor.requires_grad_() callr?  z requires_grad_zaDynamo does not support changes to a Tensor's `requires_grad` through calling `requires_grad_()`.ró   z.requires_grad_() intermediate leaked as outputz³An intermediate tensor with requires_grad_() called on it (or a tensor derived from it) is returned from the compiled region. Graph breaking here to preserve partial acceleration.z8Call .detach() before returning if you only need values.z‚Consume the gradient inside the compiled function (call backward() and use .grad), or move requires_grad_() outside torch.compile.r!  r  Úrequires_grad_rÁ  Nr
  )r
  r   r·   rÐ   rŠ   r®   r"   Úspeculation_logÚgraph_break_on_requires_grad_rZ   ru   rv   Ú!get_inplace_requires_grad_allowedÚ!set_inplace_requires_grad_allowedrä   Úcreate_noder#  r&  rô  ræ  rÂ  Úis_attribute_mutationÚ
store_attrr   r>   r  )r²   rÇ   rŠ   r·   rÎ   Ú
prev_states   &&&   rT   Úmethod_requires_grad_Ú$TensorVariable.method_requires_grad_—  s<  € ð
  Ó$Ø)×<Ñ<Ó>ˆMà�}‰}‹×#Ñ#ˆØŸ	™	 /Õ2ˆØ×&Ñ&¨-Õ7ð �{�{ˆ{ÜØFØ*¨4¨&°Ð@ð!Jàõð ×!Ñ!×?×?Ð?ÜØLØ*¨4¨&°Ð@ð!$ð
 SðJðõô0 Ÿ™×,Ñ,×NÑNÓPˆJÜ�H‰H×Ñ×AÑAÀ$ÔGðRØ—	‘	×%Ñ%Ø#Ü—H‘H×'Ñ'×IÑIØØô	ð —	‘	×&Ñ&Ø!Ø$Ø—]‘]“_Ð&Øô	ð —	‘	×%Ñ%Ø#Ü—H‘H×'Ñ'×IÑIØ�MØô	ô —‘×#Ñ#×EÑEÀjÔQØ×(Ñ(¨Ô7Ø!.ÔßØ—	‘	×1Ñ1×8Ñ8¸Ô>ð
 —{—{�{ r§y¡y×'=Ñ'=×'SÑ'SØ÷(ò (ð —I‘I×*Ñ*×5Ñ5Ø˜f¤i×&@Ñ&@×&GÑ&GÈÓ&Môð ˆøô —‘×#Ñ#×EÑEÀjÕQús   Ã>B.J Ê+Kc                ó"   <€ V ^8„  d   QhRRRR/# )rN   rÇ   rE   rP   r¡   r—   )rS   r•   s   "€rT   rU   r§   ð  s   ø€ ÷ ñ Ð!<ð ÐAQñ rV   c                óž   € ^RI Hp VP                  P                  RRV P	                  4       3/ 4      pV! W4       V P                  V4       V # )rË   rA  r  Údetach_)rÏ   rB  rä   r#  r   r×   )r²   rÇ   rB  r«   s   &&  rT   Úmethod_detach_ÚTensorVariable.method_detach_ð  sK   € Ý*à—	‘	×&Ñ&ØØØ�]‰]‹_ÐØó	
ˆñ 	�bÔ Ø×#Ñ# BÔ'ØˆrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   r¹  )rS   r•   s   "€rT   rU   r§   þ  s   ø€ ÷ 	
ñ 	
Ð'Bð 	
Áxñ 	
rV   c                óN   € \        R RV  R2RR.\        P                  OR7       R# )z'Unsupported Tensor.share_memory_() callr?  z share_memory_zTDynamo does not support Tensor.share_memory_() which modifies tensor storage for IPCz7Move share_memory_() call outside the compiled region. ró   N©r"   r   rø   rù   s   &&rT   Úmethod_share_memory_Ú#TensorVariable.method_share_memory_þ  s2   € ÜØ=Ø" 4 &¨Ð7ØnàIðä"×.Ñ.ð÷		
rV   c          	      ó>   <€ V ^8„  d   QhRRRS[ RS[ RS[ R,          /# rX  rñ   )rS   r•   s   "€rT   rU   r§   		  ó8   ø€ ÷ ñ à'ðñ ðñ "ð	ñ
 
˜4Õ	ñrV   c                ó.  € \        V4      ^8X  d   \        V^ ,          \        4      '       gK   \        V4      ^8¼  dX   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V P	                  VR\        V4      V4      # R# )rË   c              3   óŽ   "  € T F;  pVP                  4       ;'       d    \        VP                  4       \        4      x € K=  	  R # 5irþ   )rö  r^   r
  rn   )r,  Úas   & rT   r.  Ú,TensorVariable.method_new.<locals>.<genexpr>	  s;   é € ð á�Að ×$Ñ$Ó&×RÐR¬:°a×6JÑ6JÓ6LÌcÓ+RÔRÛùs
   ‚Až'AFTÚ	new_emptyN)r  r^   r@   Úallr  r  r]  s   &&*,rT   Ú
method_newÚTensorVariable.method_new		  sy   € ô �‹I˜ŒNœz¨$¨q­'´<×@Ò@Ü�‹I˜ŒNß“ñ áó——’ñ áó÷ ò ð
 ×#Ñ# B¨´T¸$³ZÀÓHÐHÙrV   c                óB   <€ V ^8„  d   QhRRRRRS[ RS[ RS[ R,          /# )	rN   r²   r¡   rÇ   rE   rG  r¼   rP   Nrñ   )rS   r•   s   "€rT   rU   r§   	  s@   ø€ ÷ 
ñ 
Øð
à'ð
ñ ð
ñ "ð	
ñ
 
˜4Õ	ñ
rV   c                ó
  € \        V4      ^8w  d   R# V^ ,          pVP                  R4      pVe>   VP                  4       '       g   R# VP                  4       \        P
                  8w  d   R# \        V4      pVP                  RR4       VP                  RV P                  VR4      4       VP                  RV P                  VR4      4       \        P                  ! \        P                  4      P                  VV.V4      # )rË   Nrˆ   r€   r‡   )r  rÑ   rö  r
  rZ   rÂ  r  ÚpopÚ
setdefaultr  r   rl  rÉ  r!  )r²   rÇ   rG  r¼   Údata_argrˆ   Ú
fwd_kwargss   &&*,   rT   Úmethod_new_tensorÚ TensorVariable.method_new_tensor	  s×   € ô ˆt‹9˜Œ>ÙØ˜•7ˆØ—‘˜HÓ%ˆØÒØ×,Ñ,×.Ò.ÙØ×(Ñ(Ó*¬e¯m©mÔ;ÙÜ˜&“\ˆ
Ø�‰�x Ô&Ø×Ñ˜g t×'<Ñ'<¸RÀÓ'IÔJØ×Ñ˜h¨×(=Ñ(=¸bÀ(Ó(KÔLÜ×5Ò5´e·l±lÓC×QÑQØØˆJØó
ð 	
rV   c                ó"   <€ V ^8„  d   QhRRRR/# )rN   rÇ   rE   rP   ÚUntypedStorageVariabler—   )rS   r•   s   "€rT   rU   r§   4	  s   ø€ ÷ 
ñ 
Ø-ð
à	!ñ
rV   c                ó†   € \        W P                  4       P                  P                  R ,          P	                  4       4      # rë   )rN  r   r·   rÐ   Úuntyped_storagerù   s   &&rT   Úmethod_untyped_storageÚ%TensorVariable.method_untyped_storage4	  s4   € ô &Ø—-‘-“/×&Ñ&×+Ñ+¨OÕ<×LÑLÓNó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# rs  rñ   )rS   r•   s   "€rT   rU   r§   ;	  s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ "ð	
ñ
 
ñ
rV   c           	     óò   € V'       g	   V'       d*   \         P                  P                  P                  R 4      h^ RIHp ^RIHp V! VVP                  P                  RW@P                  4       3/ 4      4      # )z2`wait` and `wait_tensor` do not take any arguments)Úwait_tensorrA  r!  )rZ   r[   re  ÚInternalTorchDynamoErrorÚ)torch.distributed._functional_collectivesrU  rÏ   rB  rä   r#  r   )r²   rÇ   rG  r¼   rU  rB  s   &&*,  rT   Úmethod_waitÚTensorVariable.method_wait;	  sd   € ÷ —6Ü—-‘-×#Ñ#×<Ñ<ØDóð õ 	Jå*áØØ�I‰I×"Ñ"Ø ¯}©}«Ð.@À"óó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rº  )rS   r•   s   "€rT   rU   r§   P	  s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ "ð	
ñ
 
ñ
rV   c                óX   € \        R RV: RV: R2RR.\        P                  OR7       R# )zTensor.random_ opzTensor.random_(args=ú	, kwargs=rt   ú This is currently not supported.z'Use the out-of-place version of this opró   Nr8  r]  s   &&*,rT   Úmethod_random_ÚTensorVariable.method_random_P	  s:   € ô 	Ø'Ø+ d¡W¨J¨v©i°qÐ9Ø:à9ðä"×.Ñ.ð÷		
rV   c          	      ó>   <€ V ^8„  d   QhRRRS[ RS[ RS[ R,          /# rX  rñ   )rS   r•   s   "€rT   rU   r§   d	  r<  rV   c                óf   € R V9   d*   \        RRV: RV: R2RR.\        P                  OR7       R# )	Úfromz-Tensor.uniform_ op called with `from` keywordzTensor.uniform_(args=r\  rt   r]  zAvoid using the `from` keyword.ró   Nr8  r]  s   &&*,rT   Úmethod_uniform_ÚTensorVariable.method_uniform_d	  sG   € ð �VÔÜØGØ0¨4©'°°F±9¸AÐ>Ø>à5ðä&×2Ñ2ðõ	ñ rV   rx  Únelementrˆ  Ú
ndimensionr�  r‰  r�  r“   Úas_subclassÚ
get_deviceÚelement_sizeÚnumpyrÚ  ÚbackwardÚdata_ptrr  r!  r  Ú__int__Ú	__float__Ú__neg__Ú__pos__Ú__abs__Ú
__invert__r7  Ú__len__Ú__iter__Ú__setitem__Ú__contains__Úaddcmul_Úaddcdiv_Úadd_Úresize_Ú
resize_as_Úsparse_resize_Úsparse_resize_and_clear_Úset_ræ  rí  r&  r3  Úshare_memory_ÚnewÚ
new_tensorrP  ÚwaitÚrandom_Úuniform_c                ó$   <€ V ^8„  d   QhRS[ RR/# )rN   r>  rP   Nr¦   )rS   r•   s   "€rT   rU   r§   ²	  s   ø€ ÷ ñ ¡#ð ¨$ñ rV   c                ó‚   € V P                   '       g-   V P                  P                  P                  V4       R V n         R# )TN)r£   r«   r·   Ú_rename)r²   r>  s   &&rT   Úset_name_hintÚTensorVariable.set_name_hint²	  s/   € Ø× × Ð Ø�J‰J�O‰O×#Ñ# DÔ)Ø $ˆDÔÙrV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# ©rN   rÇ   rE   r  ÚreverserP   rj   )rS   r•   s   "€rT   rU   r§   ¸	  s3   ø€ ÷ 1ñ 1à'ð1ñ ð1ñ ð	1ñ
 
ñ1rV   c                ó.  € ^RI Hp \        V\        4      '       g-   \	        V4      '       g   \
        P                  ! V\        4      # V'       d   W .MW.pVP                  P                  ! R\        P                  .\        V/ 4      O5!  pV! WR7      # ©rË   rA  r!  ré  )rÏ   rB  r^   r¡   ro   r<   r  r"  rä   r#  rH  rå  r3   )r²   rÇ   r  rŒ  rB  rG  r«   s   &&&&   rT   Únb_add_implÚTensorVariable.nb_add_impl¸	  sx   € õ 	+ä˜5¤.×1Ò1Ô5JÈ5×5QÒ5QÜ"×(Ò(¨¬^Ó<Ð<ß '�‰}¨d¨]ˆØ—	‘	×&Ò&ØœXŸ\™\ð
Ü,=¸dÀBÓ,Gó
ˆñ
  Ô0Ð0rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   Ë	  ó3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           
     ó  € ^RI Hp VP                  4       '       g   \        P                  ! V\
        4      # V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rl   r<   r  r"  rä   r#  rH  Úlshiftr3   ©r²   rÇ   r  rŒ  rB  ÚlhsÚrhss   &&&&   rT   Únb_lshift_implÚTensorVariable.nb_lshift_implË	  óu   € õ 	+à×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ3DÀcÀZÐQSÓ3Tóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   Ý	  r’  rV   c           
     ó  € ^RI Hp VP                  4       '       g   \        P                  ! V\
        4      # V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rl   r<   r  r"  rä   r#  rH  Úrshiftr3   r•  s   &&&&   rT   Únb_rshift_implÚTensorVariable.nb_rshift_implÝ	  rš  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   ï	  r’  rV   c           
     ó  € ^RI Hp VP                  4       '       g   \        P                  ! V\
        4      # V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rl   r<   r  r"  rä   r#  rH  Úor_r3   r•  s   &&&&   rT   Ú
nb_or_implÚTensorVariable.nb_or_implï	  ót   € õ 	+à×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   
  r’  rV   c           
     ó  € ^RI Hp VP                  4       '       g   \        P                  ! V\
        4      # V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rl   r<   r  r"  rä   r#  rH  Úand_r3   r•  s   &&&&   rT   Únb_and_implÚTensorVariable.nb_and_impl
  st   € õ 	+à×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ1BÀCÀ:ÈrÓ1Róó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   
  r’  rV   c           
     ó  € ^RI Hp VP                  4       '       g   \        P                  ! V\
        4      # V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rl   r<   r  r"  rä   r#  rH  Úxorr3   r•  s   &&&&   rT   Únb_xor_implÚTensorVariable.nb_xor_impl
  r¥  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   %
  s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           
     ó¬   € ^RI Hp V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P
                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rä   r#  rH  r¢  r3   r•  s   &&&&   rT   Únb_multiply_implÚTensorVariable.nb_multiply_impl%
  sR   € õ 	+ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   8
  ó3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           
     ó¬   € ^RI Hp V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P
                  .\        WV./ 4      O5!  4      # rG  )rÏ   rB  rä   r#  rH  Úmatmulr3   r•  s   &&&&   rT   Únb_matrix_multiply_implÚ&TensorVariable.nb_matrix_multiply_impl8
  sS   € õ 	+ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ3DÀcÀZÐQSÓ3Tóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   I
  ó3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           
     ó0  € \        V\        4      '       g-   \        V4      '       g   \        P                  ! V\
        4      # ^RIHp V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )r^   r¡   ro   r<   r  r"  rÏ   rB  rä   r#  rH  Úfloordivr3   r•  s   &&&&   rT   Únb_floor_divide_implÚ#TensorVariable.nb_floor_divide_implI
  s€   € ô ˜5¤.×1Ò1Ô5JÈ5×5QÒ5QÜ"×(Ò(¨¬^Ó<Ð<Ý*ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤×!2Ñ!2ðÜ5FÈÀzÐSUÓ5Vóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   ^
  r»  rV   c           
     ó0  € \        V\        4      '       g-   \        V4      '       g   \        P                  ! V\
        4      # ^RIHp V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )r^   r¡   ro   r<   r  r"  rÏ   rB  rä   r#  rH  Útruedivr3   r•  s   &&&&   rT   Únb_true_divide_implÚ"TensorVariable.nb_true_divide_impl^
  s€   € ô ˜5¤.×1Ò1Ô5JÈ5×5QÒ5QÜ"×(Ò(¨¬^Ó<Ð<Ý*ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤×!1Ñ!1ðÜ4EÀsÀjÐRTÓ4Uóó
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   s
  r»  rV   c           
     ó0  € \        V\        4      '       g-   \        V4      '       g   \        P                  ! V\
        4      # ^RIHp V'       d   W 3MW3w  rVV! VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  4      # rG  )r^   r¡   ro   r<   r  r"  rÏ   rB  rä   r#  rH  Úmodr3   r•  s   &&&&   rT   Únb_remainder_implÚ TensorVariable.nb_remainder_impls
  s}   € ô ˜5¤.×1Ò1Ô5JÈ5×5QÒ5QÜ"×(Ò(¨¬^Ó<Ð<Ý*ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóó
ð 	
rV   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rð   ©r~   rn   rR   )rS   r•   s   "€rT   rU   r§   ˆ
  s%   ø€ ÷ ñ Ð7ð ¹EÁ#ÁtÀ)Õ<Lñ rV   c                ór   € V P                  4       P                  P                  R ,          p\        V4      R3# )rÎ   T)r   r·   rÐ   rª   rŠ  s   && rT   Ú	hash_implÚTensorVariable.hash_implˆ
  s.   € ð �}‰}‹×#Ñ#×(Ñ(¨Õ9ˆÜ�$‹x˜ˆ~ÐrV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   r§   �
  r’  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W .MW.p\        P                  VVP                  P                  ! R \        P                  .\        V/ 4      O5!  RR7      # ©r!  N©r  ©ro   r<   r  r"  r  r  rä   r#  rH  Úsubr3   ©r²   rÇ   r  rŒ  rG  s   &&&& rT   Únb_subtract_implÚTensorVariable.nb_subtract_impl�
  óy   € ô % U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß '�‰}¨d¨]ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ$ÈÓ0Kóð ð &ó 
ð 	
rV   c          
      óD   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[RS[ /# ©rN   rÇ   rE   r  ÚzNrŒ  rP   rj   )rS   r•   s   "€rT   rU   r§   ¡
  sB   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ˜TÕ!ð	
ñ
 ð
ñ 
ñ
rV   c           
     ó@  € \        V\        4      '       g   \        V4      '       d	   V'       d   \        P                  ! V\
        4      # ^RIHp V'       d   W 3MW3w  rgV! VVP                  P                  ! R\        P                  .\        Wg./ 4      O5!  4      # rG  )r^   r¡   ro   r<   r  r"  rÏ   rB  rä   r#  rH  Úpowr3   )r²   rÇ   r  rÛ  rŒ  rB  r–  r—  s   &&&&&   rT   Únb_power_implÚTensorVariable.nb_power_impl¡
  s€   € ô ˜5¤.×1Ò1Ô5JÈ5×5QÒ5Q×VWÜ"×(Ò(¨¬^Ó<Ð<Ý*ç$+�E‘=°$°‰ˆÙØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóó
ð 	
rV   )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Š   Úspecialized_valuerþ   )NF©F)NNNNr
  )Žra   r˜   r™   rš   r›   r<   Ú_nonvar_fieldsr¯   r/   rÂ   r×   rß   rç   rí   rú   r   r  r  r  r%  Ústaticmethodr:  rh  rn  ru  r{  r€  r„  r‰  r�  r“  r˜  rž  r¥  r©  r­  r±  r¶  r½  rÆ  rÌ  rÐ  rÖ  rÞ  r  r  r  r£  Úpropertyr¢   rô  rõ  r;  r  r^  rb  r\  ry  Úmethod_nelementr}  Úmethod_ndimensionr‚  r‹  r�  r–  r£  r®  r³  r¸  rÄ  rÝ  rè  r  r  r  r#  r+  r0  r4  r9  r=  rB  rK  rQ  rW  r\  ra  rf  rk  ro  r8  r\  Úcacher*  rŠ  r‰  r’  r–  r¦  r­  r«  r½  rÁ  rÅ  rÉ  rÍ  rÒ  rØ  rÝ  râ  ré  rî  rè  r/  r4  r9  rC  rK  rQ  rX  r^  rc  r:   rH  rˆ  r�  r˜  rž  r£  r©  r®  r²  r¸  r¾  rÃ  rÈ  rÍ  rÖ  rÞ  r�   rž   Ú__classcell__©rÄ   r•   s   @@rT   r¡   r¡   Û   sb	  ù‡ € ÙGóð  
×	'Ñ	'ð!€N÷&Yð Y÷Bð Bð&/ð )-ð&/ð *.ð&/ð  AEð!&/ð" %)÷#&/õ &/÷P ó  ÷*Eð E÷
Að A÷&
ð 
÷

ð 
÷ð ÷ð ÷ð ÷@ð @÷8ð 8ð" ÷1ó ð1÷f[Bð [B÷z
ð 
÷(ð (÷)ð )÷(ð (÷)ð )÷7ð 7÷ð ÷ð ÷ð ÷ð ÷8ð 8÷ð ÷ð ÷ð ÷ð ÷
ð 
÷ð ÷(ð (÷
;ð ;÷
ð 
÷2ð 2÷>ð ÷B?
ó ?
÷B;ð ;÷&ð &ð ÷ó ð÷
Nð N÷
ð 
÷
 0ð  0÷DNð N÷`Að A÷
Cð C÷
*ó *÷X	ð 	ð #€O÷ð ð
 #Ð÷ð ÷ð ÷"ð ÷ó ÷&,ó ,÷\
ð 
÷2ð ÷>ð >ð(6ØRW÷(6ò (6÷T(.ð (.÷T;ó ;÷zu-ó u-÷n%ð %÷Cð C÷-ð -÷&ð ÷,
ð 
÷<
ð 
÷8$ð $÷
ð 
÷2&ð &÷
ð 
÷ )ð )÷
ð 
÷ )ð )÷
ð 
÷ )ð )÷
ð 
÷ 'ð '÷(ð (ð< Ø‡_�_÷
ó ó ð
÷&'ð '÷Pð P÷
ð 
÷
%ð %ðð !÷ò ÷$7ð 7÷-ð -÷B
ð 
÷
ð 
÷
ð 
÷
ð 
÷ð ð,ð
 )-÷ò ð*ð )-÷ò ÷&6ð 6÷.ð .÷
Pð P÷
ð 
÷pð p÷dWó W÷rð ÷	
ð 	
÷ð ÷$
ð 
÷2
ð 
÷
ð 
÷*
ð 
÷(ð ð,6Ø‘�{Ó#ð6à‘&˜Ó'ð6ð 	‘˜Ó%ð6ð 	‘F˜?Ó+ð	6ð
 	‰v�jÓ!ð6ð 	‘fÐ.Ó/ð6ð 	™VÐ$<Ó=ð6ð 	™Ð2Ó3ð6ð 	‘fÐ.Ó/ð6ð 	™Ð 4Ó5ð6ð 	‘�{Ó#ð6ð 	‘vÐ0Ó1ð6ð 	‘fÐ.Ó/ð6ð 	™Ð2Ó3ð6ð 	‘˜Ó%ð6ð  	‘&˜Ó'ð!6ð" 	‘F˜?Ó+ñ#6ð$ 	‘F˜?Ó+ð%6ð& 	™&Ð!6Ó7ð'6ð( 	™Ð 4Ó5ð)6ð* 	‘�{Ó#ð+6ð, 	‘6˜.Ó)ð-6ð. 	‘VÐ,Ó-ð/6ð0 	‘6˜.Ó)ð16ð2 	‘6˜.Ó)ð36ð4 	‘6˜.Ó)ð56ð6 	‘fÐ.Ó/ð76ð8 	‘vÐ0Ó1ð96ð: 	‘6˜.Ó)ð;6ñ< 	‘F˜?Ó+ð=6ñ> 	‘vÐ0Ó1ð?6ñ@ 	™Ð2Ó3ðA6ñB 	‘F˜?Ó+ðC6ñD 	‘F˜?Ó+òE6ñF 	‘�{Ó#ðG6ñH 	‘6˜.Ó)ðI6ñJ 	‘fÐ.Ó/ðK6ñL 	™&Ð!6Ó7ðM6ñN 	#¡FÐ+JÓ$KðO6ñP 	‘�{Ó#ðQ6ñR 	™Ð 4Ó5ðS6ñT 	-©fØ5ó/
ðU6ñZ 	™&Ð!6Ó7ð[6ñ\ 	‘6˜.Ó)ð]6ñ^ 	™Ð 4Ó5ð_6ñ` 	‰v�jÓ!ða6ñb 	‘fÐ.Ó/ðc6ñd 	™6Ð"8Ó9ðe6ñf 	‘�{Ó#ðg6ñh 	‘6˜.Ó)ði6ñj 	‘F˜?Ó+ñk6€J÷pò ÷1õ 1÷&
õ 
÷$
õ 
÷$
õ 
÷$
õ 
÷$
õ 
÷$
õ 
÷&
õ 
÷"
õ 
÷*
õ 
÷*
õ 
÷*ò ÷
õ 
÷$
÷ 
ö 
rV   r¡   c                   ó2  a a€ ] tR tRt oRtRR0]P                  mtV3R lR lt]RPV3R lR ll4       t	V3R	 lV 3R
 llt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRPV3R lR lltV3R lR ltV3R lV 3R lltV3R lR ltV3R lR  ltRQV3R! lR" lltRQV3R# lR$ lltRQV3R% lR& lltRQV3R' lR( lltRQV3R) lR* lltRQV3R+ lR, lltRQV3R- lR. lltRQV3R/ lR0 lltRQV3R1 lR2 lltRQV3R3 lR4 lltRQV3R5 lR6 llt V3R7 lR8 lt!V3R9 lR: lt"V3R; lR< lt#V3R= lR> lt$V3R? lR@ lt%V3RA lRB lt&V3RC lRD lt'V3RE lRF lt(RQV3RG lRH llt)V3RI lRJ lt*V3RK lRL lt+V3RM lRN lt,ROt-Vt.V ;t/# )Rr  i¸
  zí
Represents a symbolic scalar, either int, float or bool.  This is most commonly used to
handle symbolic size computation, e.g., tensor.size(0), but it is also used to
handle logic like float_tensor.item() or unspecialized float inputs.
r«   r  c                ó    <€ V ^8„  d   QhRS[ /# r¥   r¦   )rS   r•   s   "€rT   rU   ÚSymNodeVariable.__annotate__Å
  s   ø€ ÷ "ñ "™Cñ "rV   c                ó,   € \        V P                  4      # rþ   )Úreprr  r¹   s   &rT   rí   ÚSymNodeVariable.debug_reprÅ
  s   € Ü�D—L‘LÓ!Ð!rV   c          
      óB   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ RR/# )	rN   rÇ   rE   r«   r  Nrg  rP   r<   r›  )rS   r•   s   "€rT   rU   rì  É
  sA   ø€ ÷ ñ à'ðñ ðñ �t•ð	ñ
 ðð 
ñrV   c                ó¬  € Vf   \        VP                  V4      pRVP                  P                  9   dO   VP                  P                  R,          V8w  d-   \        RVP                  P                  R,           RV 24      h\	        VP                  V4       \        V\        P                  \        \        34      '       dD   \        V\        P                  4      '       d   \        V4      MTp\        P                  ! W4      # \        W#3/ VB pVP                  P                  R8w  d&   VP                  P                  P!                  V4       V# )NrÎ   zproxy example_value z != rÀ   )r.   r·   rÐ   rN  r4   r^   ÚsympyÚIntegerrn   rR   r<   r  r  rÃ   rä   rì  Úrecord_proxyable_vt)r¦  rÇ   r«   r  rg  rÜ  s   &&&&, rT   r  ÚSymNodeVariable.createÈ
  sû   € ð Š?Ü$ U§Z¡Z°Ó4ˆGØ˜eŸj™jŸo™oÔ-Ø�z‰z�‰˜Õ/°7Ô:Ü$Ø*¨5¯:©:¯?©?¸?Õ+KÐ*LÈDÐQXÐPYÐZóð ô 	˜%Ÿ*™* gÔ.ä�g¤§¡¬s´DÐ9×:Ò:Ü&0°¼%¿-¹-×&HÒ&H”c˜'”lÈgˆGÜ"×(Ò(¨Ó5Ð5ä˜eÑ8°Ñ8ˆØ�:‰:�=‰=˜MÔ)Ø�I‰I×$Ñ$×8Ñ8¸Ô=Øˆ
rV   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# )rN   r«   r  r¼   rP   Nr›  )rS   r•   s   "€rT   rU   rì  â
  s)   ø€ ÷ 7ñ 7™cð 7©Cð 7¹3ð 7À4ñ 7rV   c                óN   <€ \         SV `  ! R/ VB  Wn        W n        R V n        R # ©Nr—   )rÁ   rÂ   r«   r  Ú_tensor_var)r²   r«   r  r¼   rÄ   s   &&&,€rT   rÂ   ÚSymNodeVariable.__init__â
  s%   ø€ Ü‰ÒÑ"˜6Ò"ØŒ
àŒØ26ˆÖrV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   rì  é
  s   ø€ ÷ &ñ &™Tñ &rV   c                ó¬   € \        V P                  \        4      '       d!   V P                  P                  P                  # \        V P                  4      # rþ   )r^   r  r   r·   Úpytyper“   r¹   s   &rT   r  ÚSymNodeVariable.python_typeé
  s8   € Ü�d—l‘l¤H×-Ò-Ø—<‘<×$Ñ$×+Ñ+Ð+ä˜Ÿ™Ó%Ð%rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r  )rS   r•   s   "€rT   rU   rì  ï
  s   ø€ ÷ ñ ¡ñ rV   c                ó   € R # r
  r—   r¹   s   &rT   rl   ÚSymNodeVariable.is_symnode_likeï
  r  rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r›  )rS   r•   s   "€rT   rU   rì  ò
  s   ø€ ÷ ñ ™#ñ rV   c                ó   € V P                   # rþ   rÿ   r¹   s   &rT   r   ÚSymNodeVariable.as_proxyò
  r  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  õ
  s#   ø€ ÷ @ñ @à'ð@ñ 
ñ@rV   c                ó\  € \        V P                  \        P                  4      '       d   V # \        V P                  \        P                  \        P
                  34      '       g"   \        R \        V P                  4       24      h\        P                  WP                  4       ^ 8g  4      # )z!Expected SymInt or SymFloat, got )r^   r  rZ   r  ÚSymIntÚSymFloatrN  r“   r  r  r   rù   s   &&rT   r  ÚSymNodeVariable.nb_bool_implõ
  s{   € ô �d—l‘l¤E§M¡M×2Ò2ØˆKÜ˜$Ÿ,™,¬¯©´u·~±~Ð(F×GÒGÜ Ø3´D¸¿¹Ó4FÐ3GÐHóð ô ×%Ñ% b¯-©-«/¸QÑ*>Ó?Ð?rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r  r  )rS   r•   s   "€rT   rU   rì    s3   ø€ ÷ ?ñ ?à'ð?ñ ð?ñ ð	?ñ
 
ñ?rV   c                ó¨  € \        V\        \        \        34      '       gT   VR9   d3   \        V,          p\
        P                  ! W! \        4       R4      4      # \        P                  ! \        4      # \        V,          pVP                  P                  RW@P                  4       VP                  4       3/ 4      p\        P                  WRR7      # )z4SymNode tp_richcompare: symbolic numeric comparison.Nr!  rÒ  ©Ú__eq__Ú__ne__)r^   r  r>   r¡   r+   r<   r  rQ   r  r"  rä   r#  r   )r²   rÇ   r  rÃ   r$  r«   s   &&&&  rT   r%  Ú#SymNodeVariable.tp_richcompare_impl  s¨   € ô ˜%¤/Ô3CÄ^Ð!T×UÒUØÐ)Ô)Ü.¨rÕ2�Ü&×,Ò,¨R°´v³xÀÓ1FÓGÐGÜ#×*Ò*¬>Ó:Ð:Ü& rÕ*ˆØ—	‘	×&Ñ&Ø˜U§]¡]£_°e·n±nÓ6FÐ$GÈó
ˆô ×%Ñ% b¸Ð%Ó>Ð>rV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# )rN   rÇ   rE   r€   rP   )r   r¡   )rS   r•   s   "€rT   rU   rì    s#   ø€ ÷  ñ  Ð7ð  Áð  Éñ  rV   c           	     óØ   € V P                   fR   \        P                  ! V\        P                  4      P                  W.R\        P                  ! W4      /4      V n         V P                   # )Nr€   )rù  r<   r  rZ   Úscalar_tensorr!  )r²   rÇ   r€   s   &&&rT   Ú	as_tensorÚSymNodeVariable.as_tensor  s[   € Ø×ÑÒ#Ü.×4Ò4Ø”E×'Ñ'ó ç‰m˜B ¨´/×2GÒ2GÈÓ2RÐ(SÓTð Ôð ×ÑÐrV   c                óT   <€ V ^8„  d   QhRS[ R,          RS[S[,          S[,          /# )rN   Úoutput_graphrD   rP   )r	   rR   rn   rm   )rS   r•   s   "€rT   rU   rì    s+   ø€ ÷ ñ Ù$ ]Õ3ðá	‘�‘eÕ	ñrV   c                ó  €  \        V P                  4      #   \         dc   p\        P                  P
                  P                  P                  '       d   h \        \        P                  R \        T4       2RR7      hRp?ii ; i)z5Consider annotating your code using torch._check*(). Úconstrain_as_size_example)Ú	case_nameN)r   r  r   rZ   r½   ÚexperimentalÚ_configÚno_data_dependent_graph_breakr$   r%   ÚANTI_PATTERNrr   )r²   r  rS  s   && rT   r	  ÚSymNodeVariable.evaluate_expr  sl   € ð
	Ü §¡Ó-Ð-øÜ*ô 	Ü�x‰x×$Ñ$×,Ñ,×J×JÐJØäÜ×*Ñ*ØGÌÈAËÀxÐPØ5ôð ûð		ús   ‚ —B¢AA?Á?Bc          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# ©rN   rÇ   rE   r>  rG  r¼   rP   ©rr   r  r<   r  )rS   r•   s   "€rT   rU   rì  ,  sL   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ‘?Õ#ð	
ñ
 ‘S™/Ð)Õ*ð
ñ 
ñ
rV   c           
     ót   € ^RI Hp V! VVP                  P                  ! RV.\	        V .VOV4      O5!  4      # )rË   rA  r  )rÏ   rB  rä   r#  r3   )r²   rÇ   r>  rG  r¼   rB  s   &&&&& rT   r  ÚSymNodeVariable.call_method,  sF   € õ 	+áØØ�I‰I×"Ò"ØØðô # D =¨4 =°&Ó9óó
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  >  s   ø€ ÷ )ñ )à'ð)ñ 
ñ)rV   c                ó¾   <€ V P                  4       pV\        \        39   d.   \        P                  P                  V P                  4       4      # \        SV `!  V4      # rþ   )	r  rn   rR   r   r>   r  r	  rÁ   r0  )r²   rÇ   rý  rÄ   s   && €rT   r0  ÚSymNodeVariable.nb_index_impl>  sO   ø€ ð ×!Ñ!Ó#ˆØ”cœ4�[Ô Ü×-Ñ-×4Ñ4°T×5GÑ5GÓ5IÓJÐJÜ‰wÑ$ RÓ(Ð(rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  L  s   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó€   € ^RI Hp V! VVP                  P                  R\        V P                  4       3/ 4      R7      # rŽ  )rÏ   rB  rä   r#  r   r   rJ  s   && rT   r4  ÚSymNodeVariable.nb_int_implL  s>   € õ 	+áØØ—)‘)×(Ñ(ØÜØ—‘“Ð"Øó	ô
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rY  )rS   r•   s   "€rT   rU   rì  _  s-   ø€ ÷ $ñ $Ø-ð$Ù69ð$ÙEHð$á	ñ$rV   c                ó$   € V P                  V4      # rþ   r8  r]  s   &&*,rT   r9  ÚSymNodeVariable.method___int___  s   € ð ×Ñ Ó#Ð#rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  d  r’  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W .MW.p\        P                  VVP                  P                  ! R \        P                  .\        V/ 4      O5!  RR7      # rÑ  )ro   r<   r  r"  r  r  rä   r#  rH  rå  r3   rÕ  s   &&&& rT   r�  ÚSymNodeVariable.nb_add_impld  rØ  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  v  ó3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           
     ó   € VP                  4       '       g   \        P                  ! V\        4      # \        P                  VVP                  P                  ! R \        P                  .\        W./ 4      O5!  RR7      # rÑ  )rl   r<   r  r"  r  r  rä   r#  rH  r¢  r3   ©r²   rÇ   r  rŒ  s   &&&&rT   r£  ÚSymNodeVariable.nb_or_implv  ós   € ð ×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<Ü×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ4À-ÐQSÓ0Tóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  †  r1  rV   c           
     ó   € VP                  4       '       g   \        P                  ! V\        4      # \        P                  VVP                  P                  ! R \        P                  .\        W./ 4      O5!  RR7      # rÑ  )rl   r<   r  r"  r  r  rä   r#  rH  r¨  r3   r3  s   &&&&rT   r©  ÚSymNodeVariable.nb_and_impl†  ss   € ð ×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<Ü×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ1BÀDÀ=ÐRTÓ1Uóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  –  r1  rV   c           
     ó   € VP                  4       '       g   \        P                  ! V\        4      # \        P                  VVP                  P                  ! R \        P                  .\        W./ 4      O5!  RR7      # rÑ  )rl   r<   r  r"  r  r  rä   r#  rH  r­  r3   r3  s   &&&&rT   r®  ÚSymNodeVariable.nb_xor_impl–  r5  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  ¦  rµ  rV   c           
     ó  € VP                  4       '       g   \        P                  ! V\        4      # V'       d   W .MW.p\        P                  VVP                  P                  ! R \        P                  .\        V/ 4      O5!  RR7      # rÑ  )rl   r<   r  r"  r  r  rä   r#  rH  r”  r3   rÕ  s   &&&& rT   r˜  ÚSymNodeVariable.nb_lshift_impl¦  ó}   € ð ×$Ñ$×&Ò&Ü"×(Ò(¨¬^Ó<Ð<ß '�‰}¨d¨]ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ3DÀTÈ2Ó3Nóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  ·  rµ  rV   c           
     ó  € VP                  4       '       g   \        P                  ! V\        4      # V'       d   W .MW.p\        P                  VVP                  P                  ! R \        P                  .\        V/ 4      O5!  RR7      # rÑ  )rl   r<   r  r"  r  r  rä   r#  rH  r�  r3   rÕ  s   &&&& rT   rž  ÚSymNodeVariable.nb_rshift_impl·  r?  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  È  r’  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W .MW.p\        P                  VVP                  P                  ! R \        P                  .\        V/ 4      O5!  RR7      # rÑ  rÓ  rÕ  s   &&&& rT   rÖ  Ú SymNodeVariable.nb_subtract_implÈ  rØ  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  Ú  r’  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W 3MW3w  rE\        P                  VVP                  P                  ! R \        P                  .\        WE./ 4      O5!  RR7      # rÑ  )ro   r<   r  r"  r  r  rä   r#  rH  r¢  r3   ©r²   rÇ   r  rŒ  r–  r—  s   &&&&  rT   r²  Ú SymNodeVariable.nb_multiply_implÚ  s}   € ô % U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  ì  rµ  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W 3MW3w  rE\        P                  VVP                  P                  ! R \        P                  .\        WE./ 4      O5!  RR7      # rÑ  )ro   r<   r  r"  r  r  rä   r#  rH  r½  r3   rH  s   &&&&  rT   r¾  Ú$SymNodeVariable.nb_floor_divide_implì  s€   € ô % U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤×!2Ñ!2ðÜ5FÈÀzÐSUÓ5Vóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì  ý  rµ  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W 3MW3w  rE\        P                  VVP                  P                  ! R \        P                  .\        WE./ 4      O5!  RR7      # rÑ  )ro   r<   r  r"  r  r  rä   r#  rH  rÂ  r3   rH  s   &&&&  rT   rÃ  Ú#SymNodeVariable.nb_true_divide_implý  s€   € ô % U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤×!1Ñ!1ðÜ4EÀsÀjÐRTÓ4Uóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r‹  rj   )rS   r•   s   "€rT   rU   rì    rµ  rV   c           
     ó  € \        V4      '       g   \        P                  ! V\        4      # V'       d   W 3MW3w  rE\        P                  VVP                  P                  ! R \        P                  .\        WE./ 4      O5!  RR7      # rÑ  )ro   r<   r  r"  r  r  rä   r#  rH  rÇ  r3   rH  s   &&&&  rT   rÈ  Ú!SymNodeVariable.nb_remainder_impl  s}   € ô % U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóð ð &ó 
ð 	
rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì    s   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c           	     ó€   € ^RI Hp V! VVP                  P                  R\        V P                  4       3/ 4      R7      # rŽ  )rÏ   rB  rä   r#  r   r   rJ  s   && rT   r=  ÚSymNodeVariable.nb_float_impl  s>   € õ
 	+áØØ—)‘)×(Ñ(ØÜØ—‘“Ð"Øó	ô
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rY  )rS   r•   s   "€rT   rU   rì  0  s-   ø€ ÷ &ñ &Ø-ð&Ù69ð&ÙEHð&á	ñ&rV   c                ó$   € V P                  V4      # rþ   rA  r]  s   &&*,rT   rB  Ú SymNodeVariable.method___float__0  s   € ð ×!Ñ! "Ó%Ð%rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  5  ó   ø€ ÷ 
ñ 
à'ð
ñ 
ñ
rV   c                óv   € \         P                  V\        P                  ! V P	                  4       4      R R7      # ©NrÒ  )r  r  rH  rI  r   rù   s   &&rT   rK  Ú SymNodeVariable.nb_negative_impl5  ó4   € ô ×%Ñ%ØÜ�LŠL˜Ÿ™›Ó)Øð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rY  )rS   r•   s   "€rT   rU   rì  ?  ó-   ø€ ÷ )ñ )Ø-ð)Ù69ð)ÙEHð)á	ñ)rV   c                ó$   € V P                  V4      # rþ   rP  r]  s   &&*,rT   rQ  ÚSymNodeVariable.method___neg__?  ó   € ð ×$Ñ$ RÓ(Ð(rV   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rð   rË  )rS   r•   s   "€rT   rU   rì  D  s%   ø€ ÷ 1ñ 1Ð7ð 1¹EÁ#ÁtÀ)Õ<Lñ 1rV   c                ó8   € \        V P                  4       4      R 3# rá  ©Úhashr	  rù   s   &&rT   rÍ  ÚSymNodeVariable.hash_implD  s   € Ü�D×&Ñ&Ó(Ó)¨5Ð0Ð0rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  G  rZ  rV   c                óv   € \         P                  V\        P                  ! V P	                  4       4      R R7      # r\  )r  r  rH  rV  r   rù   s   &&rT   rW  Ú SymNodeVariable.nb_positive_implG  r^  rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rY  )rS   r•   s   "€rT   rU   rì  Q  r`  rV   c                ó$   € V P                  V4      # rþ   r[  r]  s   &&*,rT   r\  ÚSymNodeVariable.method___pos__Q  rc  rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   rì  V  rZ  rV   c                óv   € \         P                  V\        P                  ! V P	                  4       4      R R7      # r\  )r  r  rH  r`  r   rù   s   &&rT   ra  Ú SymNodeVariable.nb_absolute_implV  r^  rV   c          
      óD   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[RS[ /# rÚ  rj   )rS   r•   s   "€rT   rU   rì  `  sB   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ˜TÕ!ð	
ñ
 ð
ñ 
ñ
rV   c           
     óT  € Ve   \         P                  ! V\        4      # \        V4      '       g   \         P                  ! V\        4      # V'       d   W 3MW3w  rV\        P                  VVP                  P                  ! R\        P                  .\        WV./ 4      O5!  R R7      # )Nr!  rÒ  )r<   r  r"  ro   r  r  rä   r#  rH  rÝ  r3   )r²   rÇ   r  rÛ  rŒ  r–  r—  s   &&&&&  rT   rÞ  ÚSymNodeVariable.nb_power_impl`  s•   € ð Š=Ü"×(Ò(¨¬^Ó<Ð<Ü$ U×+Ò+Ü"×(Ò(¨¬^Ó<Ð<ß$+�E‘=°$°‰ˆÜ×%Ñ%ØØ�I‰I×"Ò"Ø¤§¡ðÜ0AÀ3À*ÈbÓ0Qóð ð &ó 
ð 	
rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# rs  rY  )rS   r•   s   "€rT   rU   rì  t  r`  rV   c                ó$   € V P                  V4      # rþ   re  r]  s   &&*,rT   rf  ÚSymNodeVariable.method___abs__t  rc  rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r  )rS   r•   s   "€rT   rU   rì  y  s   ø€ ÷ ñ ¡Dñ rV   c                ó   € R # r
  r—   r¹   s   &rT   Úis_python_hashableÚ"SymNodeVariable.is_python_hashabley  r  rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÛ   )rS   r•   s   "€rT   rU   rì  |  s   ø€ ÷ *ñ *¡ñ *rV   c                ó4   € \        V P                  4       4      # rþ   rf  r¹   s   &rT   Úget_python_hashÚSymNodeVariable.get_python_hash|  s   € ô �D×&Ñ&Ó(Ó)Ð)rV   )rù  r«   r  rþ   rá  )0ra   r˜   r™   rš   r›   r<   râ  rí   Úclassmethodr  rÂ   r  rl   r   r  r%  r  r	  r  r0  r4  r9  r�  r£  r©  r®  r˜  rž  rÖ  r²  r¾  rÃ  rÈ  r=  rB  rK  rQ  rÍ  rW  r\  ra  rÞ  rf  rz  r~  r�   rž   rè  ré  s   @@rT   r  r  ¸
  s±  ù‡ € ñð 	Øðð 
×	'Ñ	'ð€N÷"ð "ð ÷ñ ó ð÷27ó 7÷&ð &÷ð ÷ð ÷@ð @÷?ð ?÷$ ð  ÷ò ÷
ð 
÷$)ó )÷
ð 
÷&$ð $÷

ò 
÷$
ò 
÷ 
ò 
÷ 
ò 
÷ 
ò 
÷"
ò 
÷"
ò 
÷$
ò 
÷$
ò 
÷"
ò 
÷"
ò 
÷"
ð 
÷"&ð &÷

ð 
÷)ð )÷
1ð 1÷
ð 
÷)ð )÷

ð 
÷
ò 
÷()ð )÷
ð ÷*÷ *ð *rV   r  c                   óŒ  a a€ ] tR tRt oRt]V3R lR l4       tV3R lR ltV3R lR ltV3R	 lR
 lt	V3R lR lt
V3R lR ltV3R lR ltR]! ]
R4      R]! ]R4      R]! R 4      R]! R 4      R]! R 4      R]! R 4      /tV3R lR lt]V3R lR l4       tV3R  lV 3R! lltV3R" lR# ltV3R$ lR% ltR&tVtV ;t# )'r¼  i‚  zq
Represents a np.ndarray, but backed by torch Tensor via torch._numpy.ndarray.
Use this for Tensor.numpy() call.
c                óV   <€ V ^8„  d   QhRRRS[ P                  P                  RS[RR/# )rN   rÇ   rE   r«   rg  rP   r¼  ©rZ   r½   r¾   r   )rS   r•   s   "€rT   rU   Ú!NumpyNdarrayVariable.__annotate__‰  s5   ø€ ÷ 

ñ 

Ø'ð

Ù05·±·±ð

ÙKNð

à	ñ

rV   c           	     ó2   € ^RI Hp V! RR\        RV RV/VB # )rË   r  rÈ   rÇ   r«   r—   )rÏ   r   r¼  )rÇ   r«   rg  r   s   &&, rT   r  ÚNumpyNdarrayVariable.createˆ  s8   € õ 	/á ñ 
Ü+ð
àð
ð ð
ð ñ	
ð 	
rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   r  )rS   r•   s   "€rT   rU   r„  •  s   ø€ ÷ ñ ™Tñ rV   c                ó   € R # rá  r—   r¹   s   &rT   Úis_hashableÚ NumpyNdarrayVariable.is_hashable•  s   € ÙrV   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rð   rË  )rS   r•   s   "€rT   rU   r„  ˜  s)   ø€ ÷ Añ AÐ7ð A¹EÁ#ÁtÀ)Õ<Lñ ArV   c                ó$   € ^RI Hp V! VR4       R# )rN   )r   z unhashable type: 'numpy.ndarray'N)re  r   )r²   rÇ   r   s   && rT   rÍ  ÚNumpyNdarrayVariable.hash_impl˜  s   € Ý*á˜Ð?Ö@rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r  r  )rS   r•   s   "€rT   rU   r„  �  s3   ø€ ÷ 6ñ 6à'ð6ñ ð6ñ ð	6ñ
 
ñ6rV   c                óL  € ^RI Hp \        V\        \        \
        34      '       g   \        P                  ! \        4      # \        V,          pVP                  P                  RV! V4      V P                  4       VP                  4       3/ 4      p\        P                  W4      # )zKndarray tp_richcompare: element-wise comparison via numpy_operator_wrapper.)Únumpy_operator_wrapperr!  )r\   r�  r^   r  r>   r¡   r  r"  r+   rä   r#  r   r¼  )r²   rÇ   r  rÃ   r�  r$  r«   s   &&&&   rT   r%  Ú(NumpyNdarrayVariable.tp_richcompare_impl�  s�   € õ 	3ä˜%¤/Ô3CÄ^Ð!T×UÒUÜ#×*Ò*¬>Ó:Ð:Ü& rÕ*ˆØ—	‘	×&Ñ&ØÙ" 5Ó)Ø�]‰]‹_˜eŸn™nÓ.Ð/Øó	
ˆô $×*Ñ*¨2Ó5Ð5rV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r„  ³  s    ø€ ÷ Jñ JÐ7ð J¹Oñ JrV   c                óÂ   € V P                  4       P                  P                  R ,          p\        P                  ! V\
        P                  ! V4      P                  4      # rë   )r   r·   rÐ   r<   r  ÚtnpÚndarrayr‰   ©r²   rÇ   rÎ   s   && rT   Ú	_get_ndimÚNumpyNdarrayVariable._get_ndim³  s@   € ØŸ™›×,Ñ,×1Ñ1°/ÕBˆÜ×$Ò$ R¬¯ª°]Ó)C×)HÑ)HÓIÐIrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# rð   rñ   )rS   r•   s   "€rT   rU   r„  ·  s    ø€ ÷ Nñ NÐ ;ð NÁñ NrV   c                óÂ   € V P                  4       P                  P                  R ,          p\        P                  ! V\
        P                  ! V4      P                  4      # rë   )r   r·   rÐ   r<   r  r”  r•  r·  r–  s   && rT   Ú_get_itemsizeÚ"NumpyNdarrayVariable._get_itemsize·  s@   € ØŸ™›×,Ñ,×1Ñ1°/ÕBˆÜ×$Ò$ R¬¯ª°]Ó)C×)LÑ)LÓMÐMrV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r=  r?  )rS   r•   s   "€rT   rU   r„  »  s%   ø€ ÷ 6ñ 6Ø-ð6Ù58ð6á	ñ6rV   c                ó’   € ^RI Hp VP                  P                  RW0P	                  4       V3/ 4      p\
        P                  W4      # )rN   ©Únumpy_attr_wrapperr!  )r\   r   rä   r#  r   r¼  r  )r²   rÇ   r>  r   r«   s   &&&  rT   Ú_get_numpy_attrÚ$NumpyNdarrayVariable._get_numpy_attr»  sA   € õ 	/à—	‘	×&Ñ&ØÐ/·-±-³/À4Ð1HÈ"ó
ˆô $×*Ñ*¨2Ó5Ð5rV   r‰   Nr·  rd   c                ó&   € V P                  VR 4      # rs  ©r¡  ©r-  rÇ   s   &&rT   rþ  ÚNumpyNdarrayVariable.<lambda>È  s   €  !×"3Ñ"3°B¸Ô"<rV   Úrealc                ó&   € V P                  VR 4      # )r§  r¤  r¥  s   &&rT   rþ  r¦  É  ó   €  Q×%6Ñ%6°r¸6Ô%BrV   Úimagc                ó&   € V P                  VR 4      # )rª  r¤  r¥  s   &&rT   rþ  r¦  Ê  r©  rV   Úflatc                ó&   € V P                  VR 4      # )r¬  r¤  r¥  s   &&rT   rþ  r¦  Ë  r©  rV   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# r=  r?  )rS   r•   s   "€rT   rU   r„  Î  s%   ø€ ÷ :"ñ :"Ø-ð:"Ù58ð:"á	ñ:"rV   c                óÎ  a aaaa€ ^RI Ho ^RIHo S P	                  4       P
                  P                  R,          p\        P                  ! V4      pR VVV VV3R llpSR9   dj   \        \        VS4      ;p4      '       gF   \        P                  ! S\        ;QJ d    . R V 4       F  NK  	  54      # ! R V 4       4      4      # V! 4       # SR8X  dE   \        VP                  ;p4      '       g!   \        P                  ! S\        V4      4      # V! 4       # SR9   d    \!        RR	S  R
S 2RS R2. R7       \"        hSR8X  d   \!        RR	S  R
S 2RS R2. R7       \"        h)rN   rŸ  rA  rÎ   c                ó$   € V ^8„  d   QhR\         /# r¥   rñ   )rS   s   "rT   rU   Ú;NumpyNdarrayVariable.tp_getattro_impl.<locals>.__annotate__Ý  s   € ÷ 	ñ 	¤?ñ 	rV   c            	      ón   <€ S! SSP                   P                  R SSP                  4       S 3/ 4      4      # r  )rä   r#  r   )r>  r   r²   rÇ   rB  s   €€€€€rT   Úinsert_into_graphÚ@NumpyNdarrayVariable.tp_getattro_impl.<locals>.insert_into_graphÝ  s;   ø€ Ù ØØ—	‘	×&Ñ&Ø#Ð%7¸$¿-¹-»/È4Ð9PÐRTóóð rV   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irþ   rÛ   rn  s   & rT   r.  Ú8NumpyNdarrayVariable.tp_getattro_impl.<locals>.<genexpr>ô  s   é € Ð6IÁqÀ!´s¸1·v°vÃqùrq  r¢   z$Unsupported ndarray attribute accessr»  râ  z3Dynamo currently does not support tracing `ndarray.rA  ró   Ú__version__z&Unsupported ndarray.__version__ access)r   r‘   )r  rQ  r€   )r\   r   rÏ   rB  r   r·   rÐ   r”  r•  r   r`   r<   r  r~   r¢   rn   r"   rU  )	r²   rÇ   r>  rÎ   Úexample_ndarrayr³  ro  r   rB  s	   fff    @@rT   r  Ú%NumpyNdarrayVariable.tp_getattro_implÎ  sV  ü€ õ 	/Ý*àŸ™›×,Ñ,×1Ñ1°/ÕBˆÜŸ+š+ mÓ4ˆ÷	ô 	ð* Ð&Ô&Ü#¬°À$Ó)GÐ$G A×HÒHÜ&×,Ò,¨R·´Ñ6IÁqÓ6I·ÓJÐJ°Ñ6IÁqÓ6IÓ1IÓJÐJÙ$Ó&Ð&Ø�VŒ^Ü#¨×)=Ñ)=Ð$= A×>Ò>Ü&×,Ò,¨R´°Q³Ó8Ð8Ù$Ó&Ð&ØÐ/Ô/ÜØ>Ø+¨D¨6°°4°&Ð9ØQÐRVÐQWÐWYÐZØõ	ô "Ð!ð �]Ô"ÜØ@Ø+¨D¨6°°4°&Ð9ØQÐRVÐQWÐWYÐZØõ	ô "Ð!rV   c                ó”   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[ S[3,          RS[S[S[,          S[S[ S[3,          3,          /# )rN   r>  rG  r¼   rP   )rr   r  r<   r  r~   )rS   r•   s   "€rT   rU   r„    sU   ø€ ÷ ñ ÙðÙ™oÕ.ðÙ8<¹SÁ/Ð=QÕ8Rðá	‰t‘OÕ$¡d©3±Ð+?Õ&@Ð@Õ	AñrV   c                ó”   € V R 8X  d:   RRRR/pVP                  4        UUu/ uF  w  rEVP                  WD4      VbK  	  pppW3# u uppi )ÚclipÚa_minÚminÚa_maxÚmax)rÓ   rÑ   )r>  rG  r¼   Úkwargs_renamerÕ   rÖ   s   &&&   rT   Ú
patch_argsÚNumpyNdarrayVariable.patch_args
  sS   € ð �6Œ>Ø$ e¨W°eÐ<ˆMØ=C¿\¹\¼^ÔL¹^±T°Q�m×'Ñ'¨Ó-¨qÒ0¹^ˆFÑLØˆ|Ðùó Ms   ¡Ac          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# r   r!  )rS   r•   s   "€rT   rU   r„    sL   ø€ ÷ 26ñ 26à'ð26ñ ð26ñ ‘?Õ#ð	26ñ
 ‘S™/Ð)Õ*ð26ñ 
ñ26rV   c                óÈ  <€ ^RI Hp ^RIHp V P	                  W#V4      w  r4VR8X  d­   ^RIHp RpRV9   d   VR,          pM\        V4      ^ 8”  d
   V^ ,          pVRJ;'       d    VP                  R4      p	\        W‡4      ;'       d    VP                  \        J p
V	'       g	   V
'       d)   V! RR	V  R
V R
V R
V 2R. \        P                  OR7       VR9   d   \        SV `=  WW44      # VR9   d   V! RR	V  R
V R
V R
V 2RV R2. R7       VP                   P"                  ! RV! V4      .\%        V .\'        V4      ,           V4      O5!  p\(        P+                  W4      # )rN   r¼  )Únumpy_method_wrapperÚastype)ÚBuiltinVariableNr€   ÚOzndarray.astype(object)r?  râ  z­`ndarray.astype('O')` or `ndarray.astype(object)` is not supported by torch.compile, as there is no equivalent to object type in torch.Tensor. This will be executed eagerly.ró   zUnsupported ndarray method callz	`ndarray.z&()` is not modelled in `torch._numpy`.r!  )rs  r¢   rÚ  rt  )ÚtostringÚtobytesÚ__delattr__)re  r"   r\   rÆ  rÂ  ÚbuiltinrÈ  r  Úis_constant_matchr^   r   rQ   r   r‡  rÁ   r  rä   r#  r3   r  r¼  r  )r²   rÇ   r>  rG  r¼   r"   rÆ  rÈ  Ú	dtype_argÚis_object_strÚis_object_typer«   rÄ   s   &&&&&       €rT   r  Ú NumpyNdarrayVariable.call_method  s  ø€ õ 	(Ý0à—‘ t°6Ó:‰ˆà�8ÔÝ0àˆIØ˜&Ô Ø" 7�O‘	Ü�T“˜Q”Ø  �G�	Ø%¨TÐ1×VÐV°i×6QÑ6QÐRUÓ6VˆMä˜9Ó6×QÐQ¸9¿<¹<Ì6Ð;Qð ÷ §ÙØ4Ø*¨4¨&°°$°°q¸¸¸aÀ¸xÐHð9ð ;Ô-×9Ñ9Ð:õ	ð Ð<Ô<ä‘7Ñ& r°Ó>Ð>ØÐ9Ô9ÙØ9Ø& t f¨A¨d¨V°1°T°F¸!¸F¸8ÐDØ'¨ vÐ-SÐTØõ	ð —	‘	×&Ò&ØÙ  Ó&ð
ô  ˜v¬¨T«
Õ2°FÓ;ó
ˆô
 $×*Ñ*¨2Ó5Ð5rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   r„  G  s   ø€ ÷ ñ ™Tñ rV   c                ó>   € \         e   \         P                  # \        # rþ   )rÁ  r•  r   r¹   s   &rT   r  Ú NumpyNdarrayVariable.python_typeG  s   € ÜŠ>Ü—:‘:ÐäˆOrV   c                ó>   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ /# r©  rñ   )rS   r•   s   "€rT   rU   r„  M  s>   ø€ ÷ Eñ Eà'ðEñ ðEñ  Õ%ð	Eñ
 
ñErV   c                óL   € Vf   \        VR4       V P                  VRW#./ 4      # )Nzcannot delete array elementsru  )r    r  r¬  s   &&&&rT   r­  Ú*NumpyNdarrayVariable.mp_ass_subscript_implM  s-   € ð Š=Ü˜bÐ"@ÔAØ×Ñ  M°C°<ÀÓDÐDrV   r—   )ra   r˜   r™   rš   r›   rã  r  r‰  rÍ  r%  r—  r›  r¡  r9   Ú	tp_getsetr  rÂ  r  r  r­  r�   rž   rè  ré  s   @@rT   r¼  r¼  ‚  só   ù‡ € ñð
 ÷

ó ð

÷ð ÷Að A÷
6ð 6÷,Jð J÷Nð N÷6ð 6ð 	‘�y $Ó'Ø‘F˜=¨$Ó/Ø‰VÑ<Ó=Ø‘ÑBÓCØ‘ÑBÓCØ‘ÑBÓCð€I÷:"ð :"ðx ÷ó ð÷26ó 26÷hð ÷E÷ Eð ErV   r¼  c                   óŽ   a a€ ] tR tRt oRtRR0]P                  mtRRRR/V3R lV 3R lllt]RV3R	 lR
 ll4       t	Rt
VtV ;t# )ÚUnspecializedPythonVariableiX  zG
This is a 1-element tensor represents unspecialized python float/int.
Ú	raw_valueÚneed_unwrapNTc          
      ó|   <€ V ^8„  d   QhRS[ P                  P                  RS[S[,          R,          RS[RS[RR/# )rN   r«   rÜ  NrÝ  r¼   rP   )rZ   r½   r¾   rm   rn   rR   r   )rS   r•   s   "€rT   rU   Ú(UnspecializedPythonVariable.__annotate__c  sN   ø€ ÷ 
'ñ 
'á�x‰x�~‰~ð
'ñ ™3•; Õ%ð	
'ñ
 ð
'ñ ð
'ð 
ñ
'rV   c               óB   <€ \         SV `  ! V3/ VB  W n        W0n        R # rþ   )rÁ   rÂ   rÜ  rÝ  )r²   r«   rÜ  rÝ  r¼   rÄ   s   &&$$,€rT   rÂ   Ú$UnspecializedPythonVariable.__init__c  s"   ø€ ô 	‰Ò˜Ñ) &Ò)Ø"ŒØ&ÖrV   c                óN   <€ V ^8„  d   QhRS[ RS[S[,          R,          RS[RR/# )rN   Útensor_variablerÜ  NrÝ  rP   rÛ  )r¡   rm   rn   rR   )rS   r•   s   "€rT   rU   rß  p  s<   ø€ ÷ 
ñ 
á'ð
ñ ™3•; Õ%ð
ñ ð	
ð
 
'ñ
rV   c                óJ   € \        R/ \        VP                  4      BR VRV/B # )rÜ  rÝ  r—   )rÛ  r  Ú__dict__)r¦  rã  rÜ  rÝ  s   &&&&rT   Úfrom_tensor_variableÚ0UnspecializedPythonVariable.from_tensor_variableo  s6   € ô +ñ 
Ü�?×+Ñ+Ó,ñ
àð
ð $ò
ð 	
rV   )rÝ  rÜ  r
  ©ra   r˜   r™   rš   r›   r¡   râ  rÂ   r€  ræ  r�   rž   rè  ré  s   @@rT   rÛ  rÛ  X  se   ù‡ € ñð
 	Øðð 
×	&Ñ	&ð€Nð
'ð )-ð	
'ð
 !÷
'õ 
'ð ÷
ñ 
ó ÷
ð 
rV   rÛ  c                   ó|   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R llt]V3R lR l4       t	Rt
VtV ;t# )	ÚFakeItemVariablei~  z…An unspecialized python variable which prevents access to the underlying raw value.
This is needed if item is called on a FakeTensor.rÝ  c                óR   <€ V ^8„  d   QhRS[ P                  P                  RS[RR/# )rN   r«   r¼   rP   Nrƒ  )rS   r•   s   "€rT   rU   ÚFakeItemVariable.__annotate__‡  s*   ø€ ÷ 'ñ '™eŸh™hŸn™nð '¹ð 'Àñ 'rV   c                óZ   <€ VP                  R R4      p\        SV `  ! V3/ VB  W0n        R# )rÝ  FN)rG  rÁ   rÂ   rÝ  )r²   r«   r¼   rÝ  rÄ   s   &&, €rT   rÂ   ÚFakeItemVariable.__init__‡  s+   ø€ Ø—j‘j °Ó6ˆÜ‰Ò˜Ñ) &Ò)Ø&ÖrV   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rN   rã  rP   rê  )r¡   )rS   r•   s   "€rT   rU   rì  �  s!   ø€ ÷ Bñ BÙ,ðBà	ñBrV   c                ó>   € \        R/ \        VP                  4      B # rø  )rê  r  rå  )r¦  rã  s   &&rT   ræ  Ú%FakeItemVariable.from_tensor_variableŒ  s   € ô  ÑA¤$ ×'?Ñ'?Ó"@ÑAÐArV   )rÝ  rè  ré  s   @@rT   rê  rê  ~  sJ   ù‡ € ñ9ð 	ðà	×	&Ñ	&ð€N÷
'ó 'ð
 ÷Bó ÷Bð BrV   rê  c                   óD   a € ] tR tRt o V 3R lR ltV 3R lR ltRtV tR# )r«  i“  c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rs  ©r  r<   r  rr   )rS   r•   s   "€rT   rU   Ú#TensorSubclassVariable.__annotate__”  sB   ø€ ÷ 0ñ 0à'ð0ñ ‘?Õ#ð0ñ ‘S™/Ð)Õ*ð	0ñ
 
ñ0rV   c           	     ón  € ^RI Hp V P                  P                  pV\        P
                  P                  J d¦   Rp\        V4      ^8X  d`   V^ ,          P                  4       '       dC   \        V4      ^ 8X  d3   V^ ,          pVP                  ! WV P                  V P                  4      pMk\        RV P                   RV RV R2RR.\        P                  OR	7       M7\        P                  ! W4      P                  W.\!        V4      ,           V4      pVf   \#        R
4      hV P                  P$                  pV\        P
                  P$                  Jd(   \        P                  ! W4      P                  W.V4       VP&                  P(                  P+                  \-        4       V\.        R7       V# )rË   rG   NzCCalling subclass default constructor with more than tensor argumentz(args=r\  rt   rª  zEAvoid this constructor call or move it outside `torch.compile` regionró   z'__new__ must return a non-None variabler¨  )r  rH   rO   Ú__new__rZ   r_   r  r  r  r®   r"   r   rø   r<   r  r!  r  rN  rÂ   rä   rÂ  r¬  rQ   r8   )	r²   rÇ   rG  r¼   rH   Únew_funcrÜ  ÚdataÚ	init_funcs	   &&&&     rT   r!  Ú$TensorSubclassVariable.call_function”  st  € õ 	Aà—:‘:×%Ñ%ˆØ”u—|‘|×+Ñ+Ó+ØˆCÜ�4‹y˜AŒ~ $ q¥'×"3Ñ"3×"5Ò"5¼#¸f»+ÈÔ:JØ˜A•w�ð 3×BÒBØ˜dŸj™j¨$¯+©+ó‘ô ØaØ#Ÿz™z˜l¨&°°°iÀ¸xÀqÐIØ 9ð1ðô +×6Ñ6ðö		ô "×'Ò'¨Ó5×CÑCØ�FœT $›ZÕ'¨óˆCð Š;Ü Ð!JÓKÐKà—J‘J×'Ñ'ˆ	ð œEŸL™L×1Ñ1Ó1Ü×!Ò! "Ó0×>Ñ>¸rÀ5È&ÔQð 	�	‰	×Ñ×)Ñ)Ü‹H�cÔ-Að 	*ô 	
ð ˆ
rV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   rõ  Æ  s   ø€ ÷ ñ ¡Dñ rV   c                ó   € V P                   # rþ   rb   r¹   s   &rT   r
  Ú)TensorSubclassVariable.as_python_constantÆ  r  rV   r—   N)ra   r˜   r™   rš   r!  r
  r�   rž   rŸ   s   @rT   r«  r«  “  s   ø‡ € ÷0ð 0÷dö rV   r«  c                   óÈ   a a€ ] tR tRt oR0]P
                  mtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 lt	R]
! ]4      R]
! ]	4      /tV3R lR ltRtVtV ;t# )rN  iÊ  rÎ   c                óD   <€ V ^8„  d   QhRS[ RS[P                  RS[RR/# )rN   Úfrom_tensorrÎ   r¼   rP   N)r¡   rZ   ÚUntypedStorager   )rS   r•   s   "€rT   rU   Ú#UntypedStorageVariable.__annotate__Ð  s9   ø€ ÷ 	+ñ 	+á#ð	+ñ ×+Ñ+ð	+ñ ð		+ð
 
ñ	+rV   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # rø  )rÁ   rÂ   r  rÎ   )r²   r  rÎ   r¼   rÄ   s   &&&,€rT   rÂ   ÚUntypedStorageVariable.__init__Ð  s!   ø€ ô 	‰ÒÑ"˜6Ò"Ø&Ôà*ÖrV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   r  Û  s   ø€ ÷ $ñ $™Tñ $rV   c                ó"   € \         P                  # rþ   )rZ   r  r¹   s   &rT   r  Ú"UntypedStorageVariable.python_typeÛ  s   € Ü×#Ñ#Ð#rV   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rs  rô  )rS   r•   s   "€rT   rU   r  Þ  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
rV   c           	     ó,  € V P                   P                  4       p\        V4      '       g!   \        P                  ! V\        V4      4      # ^RIHp ^RIH	p V! VVP                  P                  RVV P                  P                  4       3/ 4      4      # )rN   )Úuntyped_storage_sizerA  r!  )rÎ   r¢   r   r<   r  rn   Úexternal_utilsr  rÏ   rB  rä   r#  r  r   )r²   rÇ   rG  r¼   rÿ  r  rB  s   &&&&   rT   r^  Ú"UntypedStorageVariable.method_sizeÞ  s€   € ð ×#Ñ#×(Ñ(Ó*ˆÜ ×'Ò'ä"×(Ò(¨¬S°«[Ó9Ð9Ý9Ý*áØØ�I‰I×"Ñ"ØØ$Ø×!Ñ!×*Ñ*Ó,Ð.Øó	ó
ð 	
rV   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rs  rô  )rS   r•   s   "€rT   rU   r  õ  sB   ø€ ÷ ñ à'ðñ ‘?Õ#ðñ ‘S™/Ð)Õ*ð	ñ
 
ñrV   c                óä   € VP                   P                  R \        P                  P                  P
                  V P                  P                  4       V^ ,          P                  4       3/ 4       V # r  )rä   r#  rZ   rø  rû  Úresize_storage_bytes_r  r   r]  s   &&&&rT   r½  Ú%UntypedStorageVariable.method_resize_õ  sZ   € ð 	�	‰	×ÑØÜ�I‰I×Ñ×4Ñ4Ø×Ñ×&Ñ&Ó(¨$¨q­'×*:Ñ*:Ó*<Ð=Øô		
ð ˆrV   r¢   rz  c                ó"   <€ V ^8„  d   QhRRRR/# ©rN   r³   rC   rP   Nr—   )rS   r•   s   "€rT   rU   r    ó   ø€ ÷ ñ  ;ð °4ñ rV   c                ón   € V! V P                   4       VP                  R 4       VP                  ^ 4       R# )rP  N)r  Úload_methodr  r±   s   &&rT   ÚreconstructÚ"UntypedStorageVariable.reconstruct  s-   € Ù�× Ñ Ô!Ø×ÑÐ-Ô.Ø×Ñ˜AÖrV   )rÎ   r  )ra   r˜   r™   rš   r<   râ  rÂ   r  r^  r½  r:   rH  r  r�   rž   rè  ré  s   @@rT   rN  rN  Ê  sq   ù‡ € àðà	×	'Ñ	'ð€N÷
	+ó 	+÷$ð $÷
ð 
÷.ð ð 	‘�{Ó#Ø‘6˜.Ó)ð€J÷
÷ ð rV   rN  c                   ó  a a€ ] tR tRt oRR]P
                  P                  P                  P                  30t	RV3R lV 3R lllt
V3R lR lt]V3R lR l4       tV3R	 lR
 ltV3R lR ltV3R lR ltRtVtV ;t# )r  i  r!  c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )rN   r  r  r¼   rP   N)r¡   rr   r   )rS   r•   s   "€rT   rU   ÚDataPtrVariable.__annotate__  s3   ø€ ÷ 	>ñ 	>á#ð	>ñ ð	>ñ ð		>ð
 
ñ	>rV   c                ój   <€ \         SV `  ! R/ VB  Wn        W n        VP	                  4       V n        R # rø  )rÁ   rÂ   r  r  rß   Útensor_version)r²   r  r  r¼   rÄ   s   &&&,€rT   rÂ   ÚDataPtrVariable.__init__  s2   ø€ ô 	‰ÒÑ"˜6Ò"Ø&ÔØ&ÔØ)×;Ñ;Ó=ˆÖrV   c                ó    <€ V ^8„  d   QhRS[ /# r¥   rÉ   )rS   r•   s   "€rT   rU   r    s   ø€ ÷ ñ ™Tñ rV   c                ó   € \         # rþ   rÛ   r¹   s   &rT   r  ÚDataPtrVariable.python_type  s   € Üˆ
rV   c                óv   <€ V ^8„  d   QhRS[ P                  P                  RS[ P                  P                  /# )rN   r·   rP   )rZ   r½   ÚNode)rS   r•   s   "€rT   rU   r  #  s+   ø€ ÷ ñ ±e·h±h·m±mð ÉÏÉÏÉñ rV   c                ó|  € \        V\        P                  P                  4      '       d’   VP                  VP
                  3V P                  9   dk   \        VP                  4      ^8X  dQ   \        VP                  ^ ,          \        P                  P                  4      '       d   VP                  ^ ,          pK»  V# )rË   )	r^   rZ   r½   r#  rÃ   ÚtargetÚ_DATA_PTR_PRESERVING_TARGETSr  rG  )r¦  r·   s   &&rT   Ú"_strip_data_ptr_preserving_aliasesÚ2DataPtrVariable._strip_data_ptr_preserving_aliases"  ss   € ô �tœUŸX™XŸ]™]×+Ò+Ø—‘˜$Ÿ+™+Ð&¨#×*JÑ*JÔJÜ�D—I‘I“ !Ô#Ü˜4Ÿ9™9 Q�<¬¯©¯©×7Ò7à—9‘9˜Q•<ŠDØˆrV   c                ó$   <€ V ^8„  d   QhRRRS[ /# )rN   r  r<   rP   r  )rS   r•   s   "€rT   rU   r  -  s   ø€ ÷ 'ñ 'Ð'8ð '¹Tñ 'rV   c                óZ  € \        V\        4      '       g   R # V P                  e   V P                  VP                  8w  d   R # V P                  V P                  P                  4       P                  4      pV P                  VP                  P                  4       P                  4      pW#J # rá  )r^   r  r  r'  r  r   r·   )r²   r  Ú	self_rootÚ
other_roots   &&  rT   Ú_is_same_data_ptrÚ!DataPtrVariable._is_same_data_ptr-  s‘   € Ü˜%¤×1Ò1Ùà×ÑÒ&¨$×*=Ñ*=À×AUÑAUÔ*UÙà×;Ñ;Ø×Ñ×%Ñ%Ó'×,Ñ,ó
ˆ	ð ×<Ñ<Ø×Ñ×&Ñ&Ó(×-Ñ-ó
ˆ
ð Ð&Ð&rV   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r  r  )rS   r•   s   "€rT   rU   r  <  s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
rV   c           	     óÜ   € VR9  d   \         P                  ! \        4      # V P                  V4      pV'       d   \         P                  ! VR8H  4      # \	        RRV  RV RV 2R. R7       R# )	z-DataPtr tp_richcompare: identity-based eq/ne.r  zData pointer comparisonztp_richcompare_impl râ  zjDynamo can only trace data pointer comparisons when it can prove both operands have the same data pointer.ró   Nr  )r>   r  r"  r-  r"   )r²   rÇ   r  rÃ   Úsame_data_ptrs   &&&& rT   r%  Ú#DataPtrVariable.tp_richcompare_impl<  sp   € ð Ð)Ô)Ü#×*Ò*¬>Ó:Ð:Ø×.Ñ.¨uÓ5ˆßÜ#×*Ò*¨2°©>Ó:Ð:ÜØ-Ø*¨4¨&°°"°°Q°u°gÐ>ðJà÷	
rV   c                ó"   <€ V ^8„  d   QhRRRR/# r  r—   )rS   r•   s   "€rT   rU   r  P  r  rV   c                ó‚   € V! V P                   4       VP                  V P                  4       VP                  ^ 4       R# rE  )r  r  r  r  r±   s   &&rT   r  ÚDataPtrVariable.reconstructP  s2   € Ù�× Ñ Ô!Ø×Ñ˜D×,Ñ,Ô-Ø×Ñ˜AÖrV   )r  r  r  )r  r¾  )rl  )ra   r˜   r™   rš   rZ   rø  rù  r¾  rý  r&  rÂ   r  r€  r'  r-  r%  r  r�   rž   rè  ré  s   @@rT   r  r    sw   ù‡ € à!Ø	˜%Ÿ)™)Ÿ.™.×/Ñ/×7Ñ7Ð8ð$Ð ÷
	>õ 	>÷ð ð ÷ó ð÷'ð '÷
ð 
÷(÷ ð rV   r  )r_   )�r›   r\  ÚloggingrH  r‚  r~  rê  Úcollections.abcr   r   Ú
contextlibr   Ú	itertoolsr   r   Útypingr   r   r	   r
   Útyping_extensionsr   r   rò  Útorch._numpyÚ_numpyr”  Útorch.fxrZ   Útorch.randomr   r   Útorch._custom_class_baser   Útorch._dynamor   Útorch._library.opaque_objectr   Útorch._subclasses.meta_utilsr   Ú%torch.fx.experimental.symbolic_shapesr   r   r   r   r   Útorch.utils._python_dispatchr   rÚ  r   r   r   Ú_trace_wrapped_higher_order_opr   re  r   r   r   r    r!   r"   r#   r$   r%   r  r&   Úguardsr'   r(   r®   r)   r*   r\   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r  r6   r7   r8   r9   r:   r;   r<   r  r>   Úlistsr?   r@   Úscript_objectrA   Úuser_definedrB   rj  rÁ  ÚModuleNotFoundErrorÚtorch._dynamo.codegenrC   Útorch._dynamo.output_graphrD   Útorch._dynamo.symbolic_convertrE   Ú	functionsrF   r  rH   Ú	getLoggerra   r€  ÚgtÚltÚgeÚlerÜ  ÚneÚis_Úis_notÚsupported_tensor_comparison_opsÚsupported_const_comparison_opsÚsupported_comparison_opsr  ÚfromkeysrM  Ú%supported_tensor_comparison_op_valuesÚ$supported_const_comparison_op_valuesrc   ru   Ú
TensorBaserå  r_   rÛ  rø  rù  Únumpy_Tre   Úmatrix_Hrg   rm  ro   r{   r…   r¡   r  r¼  rÛ  rê  r«  rN  r  r—   rV   rT   Ú<module>ra     sÜ  ðñó" Û Û Û Û Û ß .Ý "Ý Ý ß 9Ó 9ß 4ã å Û Û ß $Ý 4Ý +Ý @Ý 6÷õ õ Gç 3Ñ 3Ý :÷
÷ 
õ 
õ ;ß 0ß +÷÷ ÷ ñ ÷÷ ñ õ 'ß 5Ý 4Ý 2ðÛ÷
 Ý/Ý6ÝHå/Ý<ð ×Ò˜Ó!€ð ˆ�‰Øˆ�‰Øˆ(�+‰+Øˆ(�+‰+Øˆ(�+‰+Øˆ(�+‰+Øˆ(�,‰,Øˆh�o‰oð	#Ð ð 	ˆ(�,‰,Øˆh�o‰oØˆ(�+‰+Øˆ(�+‰+ð	"Ð ðØ%ðà$ðÐ ð )-¯ªØ#×*Ò*Ó,ó)Ð %ð (,§}¢}Ø"×)Ò)Ó+ó(Ð $õ
ð —8’8×&Ò&×/Ò/°%·,²,×2GÒ2GÕGÐ ð
 ˆ�Š�Š×	Ò	Øˆ%�)Š)�.Š.×
Ò
Øˆ�Š�Š×	 Ò	 Øˆ%�)Š)�.Š.×
Ò
ð	Ð õY÷Kô*G˜Yô Gô(Z'
�_ô Z'
ôzNG*�oô G*ôTSE˜>ô SEôl#
 .ô #
ôLB�~ô Bô*4Ð5ô 4ônA˜_ô AôHE�oö Eøð]m ô Ø	ƒBðús   ÄM1 Í1	M>Í=M>