+
    –°³jÎK  ã                   óF  a € Rc tf0 t R t^ RIt^ RIt^ RIt^ RI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Ht ^ RIHtHtHt ^ RIHt ^ RIHt ^ RI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&H't'H(t( ^RI)H*t*H+t+H,t, ^RIH-t-H.t.H/t/ ^RI0H1t1H2t2 Rt3] ^ k  ^ RI4t3]!Pl                  t6^t7]Pp                  ! ]94      t:]! R4      t;R R lt<R R lt=R t>R t?R R lt@R R ltA]R R l4       tB]R R l4       tBR R ltBR R  ltCRdR! R" lltDR#^ /R$ R% lltE ! R& R'4      tF ! R( R)4      tG ! R* R+4      tH ! R, R-4      tI ! R. R/4      tJR0 R1 ltKR2 R3 ltLR4 R5 ltMR6 R7 ltNR8 R9 ltOReR: R; lltPR< R= ltQRfR> R? lltR]P¦                  R@^ 3RA RB lltT]! RC4      tURD RE ltVRF RG ltWRHRRIRJ /RK RL lltXRM RN ltYRO RP ltZRQ RR lt[RS RT lt\RU RV lt]RW RX lt^RY RZ lt_R[ R\ lt`RgR] R^ lltaR_ R` ltbRsc]PÈ                  Ra Rb l4       teR#   ]5 d    Rt3 ELyi ; i)ha1  Testing utilities and infrastructure for Dynamo.

This module provides a comprehensive set of testing utilities including:
- Test result collection and validation
- Graph manipulation and comparison tools
- Test case management and execution helpers
- Specialized test decorators for different Python versions and features
- RNG state management
- Compilation counting and monitoring
- Debug utilities for bytecode transformation

The utilities in this module are used across Dynamo's test suite to ensure
consistent testing patterns and proper test isolation.
N)ÚCallableÚ	GeneratorÚSequence)ÚAnyÚoverloadÚTypeVar)Ú	ParamSpec)Úpatch)Úfx)Ú	aot_eager)ÚOutputGraph)ÚconfigÚ
eval_frameÚoptimize_assertÚreset)Úcreate_instructionÚdebug_checksÚis_generatorÚtransform_code_object)ÚCheckFunctionManagerÚ	CompileIdÚGuardedCode)ÚConvertFrameReturnÚDynamoFrameTypeÚwrap_guarded_code)ÚCompileCounterIntÚsameÚ_Pc                ót   € V ^8„  d   QhR\         P                  R,          R\         P                  R,          /# )é   ÚxNÚreturn©ÚtorchÚTensor)Úformats   "ÚV/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/testing.pyÚ__annotate__r'   ?   s,   € ÷ >ñ >”—‘˜tÕ#ð >¬¯©°tÕ(;ñ >ó    c                 ó|   € V f   R # V P                  4       P                  4       P                  V P                  4      # ©N)ÚdetachÚcloneÚrequires_grad_Úrequires_grad©r    s   &r&   Úclone_mer0   ?   s.   € Ø‚yÙØ�8‰8‹:×ÑÓ×,Ñ,¨Q¯_©_Ó=Ð=r(   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Únamer!   ©Ústr)r%   s   "r&   r'   r'   E   s   € ÷ .ñ .¬ð .´ñ .r(   c                 ó2   € \         P                  ! R RV 4      # )z^_orig_mod[.]Ú ©ÚreÚsub)r2   s   &r&   Úremove_optimized_module_prefixr:   E   ó   € Ü�6Š6Ð" B¨Ó-Ð-r(   c                 ó�   aaa€ ^ RI Ho RoRoVVV3R lp\        P                  ! VRR7      ! V 4      ! V/ VB  SP                  S3# )é    )ÚInstructionTranslatorNc                 óT   <€ V oSP                  4       P                  P                  oV # r*   )Ú
current_txÚoutputÚregion_tracker)Ú_gmÚargsÚkwargsr>   ÚgmrB   s   &*,€€€r&   Úextract_graph_backendÚ8extract_graph_and_tracker.<locals>.extract_graph_backendO   s)   ø€ ð ˆØ.×9Ñ9Ó;×BÑB×QÑQˆØˆ
r(   T)ÚbackendÚ	fullgraph)Útorch._dynamo.symbolic_convertr>   r#   ÚcompileÚgraph)ÚfnrD   rE   rG   r>   rF   rB   s   &*, @@@r&   Úextract_graph_and_trackerrO   I   sD   ú€ ÝDà	€BØ€N÷ô 
‡M‚MÐ/¸4Õ@ÀÔDÀdÐUÈfÒUØ�8‰8�^Ð#Ð#r(   c                 ó¢   € \        4       p\        P                  ! VR 7      ! V 4      ! V/ VB pWCP                  VP                  VP
                  3# ))rI   )ÚAotEagerAndRecordGraphsr#   rL   ÚgraphsÚ	fw_graphsÚ	bw_graphs)rN   rD   rE   rI   Úresults   &*,  r&   Úextract_graphrV   Z   sD   € Ü%Ó'€GÜ�]Š] 7Õ+¨BÔ/°Ð@¸Ñ@€FØ—>‘> 7×#4Ñ#4°g×6GÑ6GÐGÐGr(   c                ó’   € V ^8„  d   QhR\         P                  P                  R\        R\        R\        R\        \        ,          /# )r   ÚmodelÚ
predictionÚlossÚexample_inputsr!   )r#   ÚnnÚModuler   Úlist)r%   s   "r&   r'   r'   `   s@   € ÷ %ñ %Ü�8‰8�?‰?ð%Ü(+ð%Ü36ð%ÜHKð%ä	Œ#…Yñ%r(   c                 óR  € . pVP                  V4       VP                  V4       / p/ pV P                  4        Fq  w  rx\        V \        P                  4      '       d   \        V4      pTp	VP                  p
VP                  f   \        P                  ! V4      p
W¥VR,           &   W–V&   Ks  	  VP                  V4       VP                  V4       / pV P                  4        F4  w  r|\        V \        P                  4      '       d   \        V4      pWËV&   K6  	  VP                  V4       V Fv  p\        V\        \        34      '       d   VP                  R V 4       4       K9  \        V\        P                  4      '       g   K[  VP                  VP                  4       Kx  	  V# )Nz.gradc              3   ó~   "  € T F3  p\        V\        P                  4      '       g   K%  VP                  x € K5  	  R # 5ir*   )Ú
isinstancer#   r$   Úgrad)Ú.0Úinps   & r&   Ú	<genexpr>Ú"collect_results.<locals>.<genexpr>�   s#   é € ÐX©w¨¼*ÀSÌ%Ï,É,×:Wœ8˜3Ÿ8ž8«wùs   ‚"=©=)ÚappendÚnamed_parametersra   r   ÚOptimizedModuler:   rb   r#   Ú
zeros_likeÚnamed_buffersÚtupler^   Úextendr$   )rX   rY   rZ   r[   ÚresultsÚgradsÚparamsr2   ÚparamÚ
param_copyrb   ÚbuffersÚbufferÚexamples   &&&&          r&   Úcollect_resultsrv   `   sU  € ð €GØ‡N�N�:ÔØ‡N�N�4Ôð €EØ€FØ×-Ñ-Ö/‰ˆÜ�eœZ×7Ñ7×8Ò8Ü1°$Ó7ˆDØˆ
Ø�z‰zˆà�:‰:ÒÜ×#Ò# EÓ*ˆDØ $ˆd�W�nÑØ!ˆt‹ñ 0ð ‡N�N�5ÔØ‡N�N�6ÔØ€GØ×+Ñ+Ö-‰ˆÜ�eœZ×7Ñ7×8Ò8Ü1°$Ó7ˆDØ�‹ñ .ð ‡N�N�7ÔÛ!ˆÜ�g¤¤t˜}×-Ò-Ø�N‰NÑX©wÓXÖXä˜'¤5§<¡<×0Ô0Ø—‘˜wŸ|™|Ö,ñ "ð €Nr(   c                ó0   € V ^8„  d   QhR\         R\        /# ©r   Úoutr!   )r   Úbool)r%   s   "r&   r'   r'   ˆ   s   € ÷ 	Eñ 	Eœ3ð 	E¤4ñ 	Er(   c                 ó`  € \        V \        P                  4      '       d   V P                  # \        V \        \
        34      '       d5   \        ;QJ d    R  V  4       F  '       g   K   R# 	  R# ! R  V  4       4      # V f   R# \        V \        4      '       d   R# \        R\        V 4      4      h)c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir*   )Úrequires_bwd_pass©rc   r    s   & r&   re   Ú$requires_bwd_pass.<locals>.<genexpr>Œ   s   é € Ð5±¨AÔ$ Q×'Ð'³ùó   ‚TFúDon't know how to reduce)
ra   r#   r$   r.   r^   rl   ÚanyÚintÚNotImplementedErrorÚtype©ry   s   &r&   r}   r}   ˆ   sƒ   € Ü�#”u—|‘|×$Ò$Ø× Ñ Ð Ü	�Cœ$¤˜×	'Ò	'ß‹sÑ5±Ó5�sŒsÐ5ŠsÐ5ˆsÑ5±Ó5Ó5Ð5Ø	ŠÙÜ	�Cœ×	Ò	ÙÜ
Ð8¼$¸s»)Ó
DÐDr(   c                óX   € V ^8„  d   QhR\         P                  R\         P                  /# rx   r"   )r%   s   "r&   r'   r'   •   s   € × AÑ AœuŸ|™|Ð A´·±Ñ Ar(   c                 ó   € R # r*   © r†   s   &r&   Úreduce_to_scalar_lossrŠ   ”   s   € Ù>Ar(   c                ó®   € V ^8„  d   QhR\         \        ,          \        \        R3,          ,          \        \        \        3,          ,          R\        /# )r   ry   .r!   )r^   r   rl   ÚdictÚfloat)r%   s   "r&   r'   r'   ™   s:   € ÷ ñ Ü	Œc�”Uœ3 ˜8•_Õ	$¤t¬C´¨H¥~Õ	5ðä
ñr(   c                 ó   € R # r*   r‰   r†   s   &r&   rŠ   rŠ   ˜   s   € ñ r(   c                óZ   € V ^8„  d   QhR\         R\        P                  \        ,          /# rx   )r   r#   r$   r�   )r%   s   "r&   r'   r'   ž   s'   € ÷ Eñ Eœsð E¤u§|¡|´eÕ';ñ Er(   c                ó   € \        V \        P                  4      '       d&   V P                  4       V P	                  4       ,          # \        V \
        \        34      '       d#   \        R V  4       4      \        V 4      ,          # \        V 4      P                  R9   d   \        V P                  4      # \        V 4      P                  R8X  d   V P                  P                  4       # \        V \        4      '       d?   \        R V P                  4        4       4      \        V P                  4       4      ,          # \!        R\        V 4      4      h)z/Reduce the output of a model to get scalar lossc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir*   ©rŠ   r~   s   & r&   re   Ú(reduce_to_scalar_loss.<locals>.<genexpr>¤   s   é € Ð9±S°Ô(¨×+Ð+³Sùr€   ÚSquashedNormalc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir*   r’   )rc   Úvalues   & r&   re   r“   ®   s   é € ÐJ¹\°EÔ(¨×/Ð/»\ùr€   r�   )ÚMaskedLMOutputÚSeq2SeqLMOutputÚ!CausalLMOutputWithCrossAttentions)ra   r#   r$   ÚsumÚnumelr^   rl   Úlenr…   Ú__name__rŠ   ÚlogitsÚmeanrŒ   ÚvaluesÚkeysr„   r†   s   &r&   rŠ   rŠ   ž   sð   € ä�#”u—|‘|×$Ò$à�w‰w‹y˜3Ÿ9™9›;Õ&Ð&Ü	�Cœ$¤˜×	'Ò	'ÜÑ9±SÓ9Ó9¼CÀ»HÕDÐDÜ	ˆc‹×	Ñ	ð  ô 
ô
 % S§Z¡ZÓ0Ð0Ü	ˆc‹×	Ñ	Ð/Ô	/Ø�x‰x�|‰|‹~ÐÜ	�Cœ×	Ò	ÜÑJ¸S¿Z¹Z¼\ÓJÓJÌSØ�H‰H‹JóN
õ 
ð 	
ô Ð8¼$¸s»)Ó
DÐDr(   c                ó$   € V ^8„  d   QhR\         /# ©r   r!   r3   )r%   s   "r&   r'   r'   ´   s   € ÷ ñ ”3ñ r(   c                  óþ   € \         P                  P                  \         P                  P                  \        4      R 4      p \         P                  P                  V 4      '       g   \         P                  ! V 4       V # )z../debug)ÚosÚpathÚjoinÚdirnameÚ__file__ÚexistsÚmkdir)r¦   s    r&   Ú	debug_dirr¬   ´   sF   € Ü�7‰7�<‰<œŸ™Ÿ™¬Ó1°:Ó>€DÜ�7‰7�>‰>˜$×ÒÜ
�Š�ŒØ€Kr(   c                óT   € V ^8„  d   QhR\         R\        P                  R\         RR/# )r   r2   ÚcodeÚextrar!   N)r4   ÚtypesÚCodeType)r%   s   "r&   r'   r'   »   s,   € ÷ 
ñ 
”Sð 
¤§¡ð 
´sð 
ÀDñ 
r(   c           
      óp  € \        \        P                  P                  \	        4       V 4      R 4      ;_uu_ 4       pVP                  \        P                  ! V4      P                  4        R\        P                  ! V4      P                  4        RV R24       RRR4       R#   + '       g   i     R# ; i)Úwz

Ú
N)	Úopenr¥   r¦   r§   r¬   ÚwriteÚdisÚBytecodeÚinfo)r2   r®   r¯   Úfds   &&& r&   Ú
debug_dumpr»   »   sz   € Ü	Œb�g‰g�l‰lœ9›;¨Ó-¨s×	3Ô	3°rØ
�‰Ü�|Š|˜DÓ!×&Ñ&Ó(Ð)¨¬c¯lªl¸4Ó.@×.DÑ.DÓ.FÐ-GÀtÈEÈ7ÐRTÐUô	
÷ 
4×	3×	3Ò	3ús   »AB$Â$B5	Úskipc                ó`   € V ^8„  d   QhR\         R\        R\        R\        R\        R\        /# )r   ÚframeÚ
cache_sizeÚhooksÚ_r¼   r!   )r   rƒ   r   r   )r%   s   "r&   r'   r'   Â   s<   € ÷ &
ñ &
Üð&
Ü(+ð&
Ü47ð&
Ü<?ð&
ÜJMð&
äñ&
r(   c               ó  € R R lp\         P                  P                  P                  4       p\         P                  P                  P	                  R4      ;_uu_ 4        T;_uu_ 4        \        V P                  4      '       d   \        4       uuRRR4       uuRRR4       # \        V P                  4       \        V P                  V4      w  rs\        / RRR. R^ /\        4       \        4       V P                  . RR7      p\        \        V\        V P                  V4      P                   \#        ^ ^ R7      4      4      uuRRR4       uuRRR4       #   + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)	zused to debug jump updatesc                óJ   € V ^8„  d   QhR\         \        ,          R\        RR/# )r   ÚinstructionsÚcode_optionsr!   N)r^   r   )r%   s   "r&   r'   Ú'debug_insert_nops.<locals>.__annotate__Ç   s%   € ÷ :ñ :¤$¤s¥)ð :¼3ð :À4ñ :r(   c                 ór   € V P                  ^ \        R4      4       V P                  ^ \        R4      4       R# )r=   ÚNOPN)Úinsertr   )rÄ   rÅ   s   &&r&   Úinsert_nopsÚ&debug_insert_nops.<locals>.insert_nopsÇ   s.   € Ø×Ñ˜AÔ1°%Ó8Ô9Ø×Ñ˜AÔ1°%Ó8Ö9r(   Údebug_insert_nopsNFÚ_id)rÅ   Úcompiler_fnÚroot_txÚexportÚexport_constraintsÚframe_stateÚlocal_scopeÚglobal_scopeÚf_codeÚtorch_function_mode_stackÚpackage)Úframe_idÚframe_compile_id)r#   Ú_dynamoÚutilsÚget_metrics_contextÚdynamo_timedr   rÕ   r   r   r   r   ÚlocalsÚglobalsr   r   r   Úguard_managerr   )	r¾   r¿   rÀ   rÁ   r¼   rÊ   Úmetrics_contextr®   rM   s	   &&&&$    r&   rÌ   rÌ   Â   s  € õ
:ô —m‘m×)Ñ)×=Ñ=Ó?€OÜ	�‰×	Ñ	×	)Ñ	)Ð*=×	>Õ	>ÇÂÜ˜Ÿ™×%Ò%Ü%Ó'÷ APÁ×	>Ò	>ô 	�U—\‘\Ô"Ü'¨¯©°kÓB‰ˆÜàØØØØ!Ø ˜
ä›Ü ›Ø—<‘<Ø&(Øô
ˆô  !ÜØÜ$ U§\¡\°5Ó9×GÑGÜ 1°qÔ9óó
÷- APÁ×	>Ò	>ÇÇú×	>×	>×	>Ò	>ús1   Á E4Á+%E	Â
E4Â%BE	Å
E4ÅE'Å"E4Å4F	c                   óV   a € ] tR t^ët o 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R# )	ÚCompileCounterc                ó   <€ V ^8„  d   QhRR/# ©r   r!   Nr‰   )r%   Ú__classdict__s   "€r&   r'   ÚCompileCounter.__annotate__ì   s   ø€ ÷ ñ ˜$ñ r(   c                ó4   € ^ V n         V P                  4        R# ©r=   N)Úframe_countÚclear©Úselfs   &r&   Ú__init__ÚCompileCounter.__init__ì   s   € Ø45ˆÔØ�
‰
Žr(   c                óŒ   <€ V ^8„  d   QhRS[ P                  P                  RS[S[ P                  ,          RS[RS[3,          /# ©r   rF   r[   r!   .©r#   r
   ÚGraphModuler^   r$   r   r   )r%   ræ   s   "€r&   r'   rç   ð   sA   ø€ ÷ ñ Ù—(‘(×&Ñ&ðÙ8<¹U¿\¹\Õ8Jðá	�#‘s�(Õ	ñr(   c                óÞ   € V ;P                   ^,          un         VP                  P                   F/  pRVP                  9   g   K  V ;P                  ^,          un        K1  	  VP
                  # )é   Úcall)rê   rM   ÚnodesÚopÚop_countÚforward)rí   rF   r[   Únodes   &&& r&   Ú__call__ÚCompileCounter.__call__ð   sM   € ð 	×Ò˜AÕÕØ—H‘H—N”NˆDØ˜Ÿ™Ö Ø—’ Õ"—ñ #ð �z‰zÐr(   c                ó   <€ V ^8„  d   QhRR/# rå   r‰   )r%   ræ   s   "€r&   r'   rç   ù   s   ø€ ÷ ñ �tñ r(   c                óp   € \         P                  '       d   \        ^ 4      V n        M^ V n        ^ V n        R# ré   )r   Údebug_disable_compile_counterr   rê   rù   rì   s   &r&   rë   ÚCompileCounter.clearù   s*   € Ü×/×/Ð/Ü0°Ó3ˆDÕà ˆDÔØˆŽr(   )rê   rù   N©	r�   Ú
__module__Ú__qualname__Ú__firstlineno__rî   rü   rë   Ú__static_attributes__Ú__classdictcell__©ræ   s   @r&   rã   rã   ë   s#   ø‡ € ÷ð ÷ð ÷ö r(   rã   c                   óV   a € ] tR tRt o 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R	# )
ÚCompileCounterWithBackendi  c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rI   r!   Nr3   )r%   ræ   s   "€r&   r'   Ú&CompileCounterWithBackend.__annotate__  s   ø€ ÷ ñ ¡ð ¨ñ r(   c                óN   € ^ V n         Wn        . V n        V P                  4        R# ré   )rê   rI   rR   rë   )rí   rI   s   &&r&   rî   Ú"CompileCounterWithBackend.__init__  s   € Ø45ˆÔØŒØ24ˆŒØ�
‰
Žr(   c                óŒ   <€ V ^8„  d   QhRS[ P                  P                  RS[S[ P                  ,          RS[RS[3,          /# rñ   rò   )r%   ræ   s   "€r&   r'   r    sF   ø€ ÷ 
@ñ 
@Ù—(‘(×&Ñ&ð
@Ù8<¹U¿\¹\Õ8Jð
@á	�#‘s�(Õ	ñ
@r(   c                ó8  € ^RI Hp V ;P                  ^,          un        VP                  P                   F/  pRVP
                  9   g   K  V ;P                  ^,          un        K1  	  V P                  P                  V4       V! V P                  4      ! W4      # )rõ   )Úlookup_backendrö   )
Úbackends.registryr  rê   rM   r÷   rø   rù   rR   rg   rI   )rí   rF   r[   r  rû   s   &&&  r&   rü   Ú"CompileCounterWithBackend.__call__  sl   € õ 	6à×Ò˜AÕÕØ—H‘H—N”NˆDØ˜Ÿ™Ö Ø—’ Õ"—ñ #ð 	�‰×Ñ˜2ÔÙ˜dŸl™lÔ+¨BÓ?Ð?r(   c                ó   <€ V ^8„  d   QhRR/# rå   r‰   )r%   ræ   s   "€r&   r'   r    s   ø€ ÷ ñ �tñ r(   c                ó~   € \         P                  '       d   \        ^ 4      V n        M^ V n        ^ V n        . V n        R# ré   )r   r   r   rê   rù   rR   rì   s   &r&   rë   ÚCompileCounterWithBackend.clear  s1   € Ü×/×/Ð/Ü0°Ó3ˆDÕà ˆDÔØˆŒØˆŽr(   )rI   rê   rR   rù   Nr  r  s   @r&   r
  r
    s%   ø‡ € ÷ð ÷
@ð 
@÷ö r(   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# )ÚEagerAndRecordGraphsi  c                ó   <€ V ^8„  d   QhRR/# rå   r‰   )r%   ræ   s   "€r&   r'   Ú!EagerAndRecordGraphs.__annotate__   s   ø€ ÷ 5ñ 5˜$ñ 5r(   c                ó   € . V n         R # r*   ©rR   rì   s   &r&   rî   ÚEagerAndRecordGraphs.__init__   s	   € Ø24ˆŽr(   c                óŒ   <€ V ^8„  d   QhRS[ P                  P                  RS[S[ P                  ,          RS[RS[3,          /# rñ   rò   )r%   ræ   s   "€r&   r'   r  #  sA   ø€ ÷ ñ Ù—(‘(×&Ñ&ðÙ8<¹U¿\¹\Õ8Jðá	�#‘s�(Õ	ñr(   c                óP   € V P                   P                  V4       VP                  # r*   )rR   rg   rú   )rí   rF   r[   s   &&&r&   rü   ÚEagerAndRecordGraphs.__call__#  s    € ð 	�‰×Ñ˜2ÔØ�z‰zÐr(   r  N©r�   r  r  r  rî   rü   r  r  r  s   @r&   r  r    s   ø‡ € ÷5ð 5÷ö r(   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# )rQ   i*  c                ó   <€ V ^8„  d   QhRR/# rå   r‰   )r%   ræ   s   "€r&   r'   Ú$AotEagerAndRecordGraphs.__annotate__+  s   ø€ ÷ 8ñ 8˜$ñ 8r(   c                ó0   € . V n         . V n        . V n        R # r*   )rR   rS   rT   rì   s   &r&   rî   Ú AotEagerAndRecordGraphs.__init__+  s   € Ø24ˆŒØ57ˆŒØ57ˆŽr(   c                óŒ   <€ V ^8„  d   QhRS[ P                  P                  RS[S[ P                  ,          RS[RS[3,          /# rñ   rò   )r%   ræ   s   "€r&   r'   r$  0  sA   ø€ ÷ 
ñ 
Ù—(‘(×&Ñ&ð
Ù8<¹U¿\¹\Õ8Jð
á	�#‘s�(Õ	ñ
r(   c                ó|   a € S P                   P                  V4       R  V 3R llpR V 3R llp\        VVVVR7      # )c                ó¨   € V ^8„  d   QhR\         P                  P                  R\        \         P                  ,          R\
        R\        3,          /# rñ   rò   )r%   s   "r&   r'   Ú6AotEagerAndRecordGraphs.__call__.<locals>.__annotate__5  ó@   € ÷ 	ñ 	Ü—‘×$Ñ$ð	Ü6:¼5¿<¹<Õ6Hð	ä�cœ3�hÕñ	r(   c                 óR   <€ SP                   P                  V 4       V P                  # r*   )rS   rg   rú   ©rF   r[   rí   s   &&€r&   Úfw_compilerÚ5AotEagerAndRecordGraphs.__call__.<locals>.fw_compiler5  ó!   ø€ ð �N‰N×!Ñ! "Ô%Ø—:‘:Ðr(   c                ó¨   € V ^8„  d   QhR\         P                  P                  R\        \         P                  ,          R\
        R\        3,          /# rñ   rò   )r%   s   "r&   r'   r*  ;  r+  r(   c                 óR   <€ SP                   P                  V 4       V P                  # r*   )rT   rg   rú   r-  s   &&€r&   Úbw_compilerÚ5AotEagerAndRecordGraphs.__call__.<locals>.bw_compiler;  r0  r(   )r.  r3  )rR   rg   r   )rí   rF   r[   r.  r3  s   f&&  r&   rü   Ú AotEagerAndRecordGraphs.__call__0  sF   ø€ ð 	�‰×Ñ˜2Ô÷	ð 	÷	ð 	ô ØØØ#Ø#ô	
ð 	
r(   )rT   rS   rR   Nr!  r  s   @r&   rQ   rQ   *  s   ø‡ € ÷8ð 8÷

ö 
r(   rQ   c                   ó8   a € ] tR tRt o V 3R lR ltR tRtV tR# )ÚInductorAndRecordGraphsiI  c                ó   <€ V ^8„  d   QhRR/# rå   r‰   )r%   ræ   s   "€r&   r'   Ú$InductorAndRecordGraphs.__annotate__J  s   ø€ ÷ >ñ >˜$ñ >r(   c                ó"   € . V n         . V n        R # r*   ©rR   Úinductor_graphsrì   s   &r&   rî   Ú InductorAndRecordGraphs.__init__J  s   € Ø24ˆŒØ;=ˆÖr(   c                ó  a a€ ^ RI Hu Hp S P                  P	                  V4       VP
                  oVV 3R lp\        P                  ! VRVR7      ;_uu_ 4        VP                  W4      uuRRR4       #   + '       g   i     R# ; i)r=   Nc                  óX   <€ SP                   P                  V ^ ,          4       S! V / VB # )r=   )r<  rg   )rD   rE   Úold_compile_fx_innerrí   s   *,€€r&   ÚpatchedÚ1InductorAndRecordGraphs.__call__.<locals>.patchedU  s+   ø€ Ø× Ñ ×'Ñ'¨¨Q­Ô0Ù'¨Ð8°Ñ8Ð8r(   Ú_compile_fx_inner)Únew)Útorch._inductor.compile_fxÚ	_inductorÚ
compile_fxrR   rg   rC  r	   Úobject)rí   rF   r[   Úcompile_fx_modrA  r@  s   f&&  @r&   rü   Ú InductorAndRecordGraphs.__call__N  s`   ù€ ß;Ð;à�‰×Ñ˜2Ôà-×?Ñ?Ðö	9ô �\Š\˜.Ð*=À7×KÖKØ!×,Ñ,¨RÓ@÷ L×K×KÓKús   ÁA7Á7B	r;  Nr!  r  s   @r&   r7  r7  I  s   ø‡ € ÷>ð >÷Að Ar(   r7  c                ó0   € V ^8„  d   QhR\         R\         /# ©r   r®   r!   r3   )r%   s   "r&   r'   r'   ]  s   € ÷ .ñ .œð .¤ñ .r(   c                 ó2   € \         P                  ! R RV 4      # )z(?m)^ *#.*\n?r6   r7   )r®   s   &r&   Ústrip_commentrN  ]  r;   r(   c                ó0   € V ^8„  d   QhR\         R\         /# rL  r3   )r%   s   "r&   r'   r'   a  s   € ÷ Cñ C¤ð C¬ñ Cr(   c                 ó†   € R P                  V P                  R 4       Uu. uF  qP                  4       NK  	  up4      # u upi )r´   )r§   ÚsplitÚrstrip)r®   Úlines   & r&   Úremove_trailing_spacerT  a  s2   € Ø�9‰9°·
±
¸4Ô0@ÓAÑ0@¨—k‘k–mÑ0@ÑAÓBÐBùÒAs   Ÿ>c                ó0   € V ^8„  d   QhR\         R\         /# rL  r3   )r%   s   "r&   r'   r'   e  s   € ÷ ñ œcð ¤cñ r(   c                 óÊ   € V P                  R 4      p. pRpV F8  pVP                  4       R8X  d   V'       d   K"  RpMRpVP                  V4       K:  	  R P                  V4      # )r´   Fr6   T)rQ  Ústriprg   r§   )r®   ÚlinesrU   Ú	saw_blankrS  s   &    r&   Ú_squash_blank_linesrZ  e  s_   € Ø�J‰J�tÓ€EØ€FØ€IÛˆØ�:‰:‹<˜2ÔßÙØ‰IàˆIØ�‰�dÖñ ð �9‰9�VÓÐr(   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úgm_strr!   r3   )r%   s   "r&   r'   r'   t  s   € ÷ ,ñ ,œð ,¤ñ ,r(   c                 óD   € \        V 4      p\        V4      p\        V4      # r*   )rN  rT  rZ  )r\  ÚstrippedÚno_trailings   &  r&   Únormalize_gmr`  t  s#   € ô ˜VÓ$€HÜ'¨Ó1€KÜ˜{Ó+Ð+r(   c                ó0   € V ^8„  d   QhR\         R\         /# rL  r3   )r%   s   "r&   r'   r'   |  s   € ÷ ñ ¤ð ¬ñ r(   c                ó6   € \         P                  ! RRV 4      pV# )z%
Normalize code: remove empty lines.
z[\r\n]+r´   r7   )r®   Únormal_codes   & r&   Úempty_line_normalizerrd  |  s   € ô —&’&˜ T¨4Ó0€KØÐr(   c                óš   € V ^8„  d   QhR\         R\        R\         3,          R\        R\        R,          R\        R,          R\        R	R/# )
r   rí   rN   .ÚnargsÚexpected_opsNÚexpected_ops_dynamicÚexpected_frame_countr!   )r   r   rƒ   )r%   s   "r&   r'   r'   „  s_   € ÷ 8ñ 8Ü
ð8ä�”c�Õð8ô ð8ô ˜•*ð	8ô
  �*ð8ô ð8ð 
ñ8r(   c                 ó  € \         P                  '       g   Ve   Tp\        4       p\        V4       Uu. uF  p\        P
                  ! ^
^
4      NK  	  pp\        V4       Uu. uF  p\        P
                  ! ^
^
4      NK  	  p	pV! V!  p
V! V	!  p\        4        \        V4      ! V4      pV! V!  pV! V	!  pV! V!  pV! V	!  p\        4        V P                  \        WÚ4      4       V P                  \        Wú4      4       V P                  \        Wë4      4       V P                  \        VV4      4       V P                  VP                  V4       Ve   V P                  VP                  V4       R # R # u upi u upi r*   )r   Úassume_static_by_defaultrã   Úranger#   Úrandnr   r   Ú
assertTruer   ÚassertEqualrê   rù   )rí   rN   rf  rg  rh  ri  ÚactualrÁ   Úargs1Úargs2Úcorrect1Úcorrect2Úopt_fnÚval1aÚval2aÚval1bÚval2bs   &&&&&&           r&   Ústandard_testrz  „  s<  € ô ×*×*Ð*Ð/CÒ/OØ+ˆäÓ€Fä*/°¬,Ó7©, QŒU�[Š[˜˜RÖ ©,€EÐ7Ü*/°¬,Ó7©, QŒU�[Š[˜˜RÖ ©,€EÐ7Ù�5‰z€HÙ�5‰z€HÜ	„GÜ˜VÔ$ RÓ(€FÙ�E‰N€EÙ�E‰N€EÙ�E‰N€EÙ�E‰N€EÜ	„GØ‡O�O”D˜Ó)Ô*Ø‡O�O”D˜Ó)Ô*Ø‡O�O”D˜Ó)Ô*Ø‡O�O”D˜ Ó)Ô*Ø×Ñ�V×'Ñ'Ð)=Ô>ØÒØ×Ñ˜Ÿ™¨,Ö7ñ  ùò! 8ùÚ7s   ´ E7Á# E<c                ó”   € V ^8„  d   QhR\         P                  R\        \        P                  ,          R\
        R\        3,          /# rñ   )r
   ró   r^   r#   r$   r   r   )r%   s   "r&   r'   r'   ¥  s:   € ÷ ñ Ü
�‰ðÜ(,¬U¯\©\Õ(:ðäˆc”3ˆhÕñr(   c                 ó   € V P                   # r*   )rú   )rF   r[   s   &&r&   Údummy_fx_compiler}  ¥  s   € ð �:‰:Ðr(   c          
      óT   € V ^8„  d   QhR\         R\         R\        R\         R\        /# )r   ÚspeedupÚpvalueÚ
is_correctÚpvalue_thresholdr!   )r�   rz   r4   )r%   s   "r&   r'   r'   «  s:   € ÷ 
,ñ 
,Üð
,äð
,ô ð
,ô ð	
,ô
 	ñ
,r(   c                 ó@   € V'       g   R # W8”  d   V R R2# V R RVR 2# )ÚERRORz.3fzx SAMEzx p=z.2fr‰   )r  r€  r�  r‚  s   &&&&r&   Úformat_speedupr…  «  s4   € ÷ ÙØÔ Ø˜#�˜fÐ%Ð%Ø�cˆ]˜$˜v c˜lÐ+Ð+r(   Úcpuc                óÞ   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        P                  R\        \        P
                  ,          R\        R\        P                  /# )r   ÚsizeÚstrideÚdtypeÚdeviceÚ
extra_sizer!   )r   rƒ   r#   rŠ  r4   r‹  r$   )r%   s   "r&   r'   r'   ¸  s]   € ÷ 2ñ 2Ü
”3�-ð2ä”S�Mð2ô �;‰;ð2ô ”%—,‘,Õð	2ô
 ð2ô ‡\�\ñ2r(   c                 óÐ  € Tp\         ;QJ d    R  V  4       F  '       d   K   RM	  RM! R  V  4       4      '       d*   V\        R \        W4       4       4      ^,           ,          pVP                  '       dÁ   V\        P
                  8X  dI   \        P                  ! ^ RV3\        P                  VR7      P                  \        P
                  4      pM|VP                  ^8X  d:    \        P                  ! V\        P                  VR7      P                  VR7      pM2\        P                  ! WRVR7      pM\        P                  ! V.W#R7      p\        P                  ! W`V4      # )c              3   ó*   "  € T F	  q^ 8„  x € K  	  R# 5iré   r‰   )rc   Úss   & r&   re   Úrand_strided.<locals>.<genexpr>À  s   é € Ð
™$�QˆqŽ5›$ùs   ‚FTc              3   óF   "  € T F  w  rV^,
          V,          x € K  	  R# 5i)rõ   Nr‰   )rc   Úshaper‰  s   &  r&   re   r�  Ã  s    é € ÐLÑ:K©¨�˜•˜f×$Ò$Ó:Kùs   ‚!é   )rŠ  r‹  )rŠ  )rˆ  rŠ  r‹  )Úallrš   ÚzipÚis_floating_pointr#   Úfloat4_e2m1fn_x2ÚrandintÚuint8ÚviewÚitemsizerm  Úfloat16ÚtoÚzerosÚ
as_strided)rˆ  r‰  rŠ  r‹  rŒ  Úneeded_sizert   s   &&&&&  r&   Úrand_stridedr¡  ¸  s  € ð €Kß
ƒsÑ
™$Ó
‡s‡s‚sÑ
™$Ó
×ÒàÜÑL¼#¸dÔ:KÓLÓLÈqÕPõ	
ˆð ××ÐØ”E×*Ñ*Ô*Ü—]’]Ø�3˜˜¬e¯k©kÀ&ôç‰d”5×)Ñ)Ó*ñ ð �^‰^˜qÔ ðô —[’[ ´E·M±MÈ&ÔQ×TÑTØð Uó ‰Fô —[’[ À&ÔI‰Fä—’ ; -°uÔLˆÜ×Ò˜F¨&Ó1Ð1r(   Ú_Tc                ó$   € V ^8„  d   QhR\         /# r£   ©rz   )r%   s   "r&   r'   r'   Ü  s   € ÷ /ñ /¤Tñ /r(   c                  ó,   € \         P                  '       * # r*   )r   rk  r‰   r(   r&   Úcheck_dynamic_shape_capturer¦  Ü  s   € ä×.Ñ.Ô.Ð.r(   c                ó€   € V ^8„  d   QhR\         \        \        3,          R\        R\         \        \        3,          /# )r   rN   Úpatchesr!   )r   r   r¢  r   )r%   s   "r&   r'   r'   á  s3   € ÷ 	ñ 	œh¤r¬2 vÕ.ð 	¼#ð 	Ä(Ì2ÌrÈ6ÕBRñ 	r(   c                 óP   a a€ \         P                  ! S 4      R  V V3R ll4       pV# )c                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# )r   rD   rE   r!   )r   rD   rE   r¢  )r%   s   "r&   r'   Ú+_make_fn_with_patches.<locals>.__annotate__ã  s)   € ÷ 'ñ '”2—7‘7ð '¤b§i¡ið '´Bñ 'r(   c            
      óð   <€ \         P                  ! 4       ;_uu_ 4       pS F,  w  r4pVP                  \        P                  ! W4V4      4       K.  	  S! V / VB uuR R R 4       #   + '       g   i     R # ; ir*   )Ú
contextlibÚ	ExitStackÚenter_contextr	   rH  )rD   rE   ÚstackÚmoduleÚattrÚvalrN   r¨  s   *,    €€r&   Ú_fnÚ"_make_fn_with_patches.<locals>._fnâ  sZ   ø€ ä×!Ò!×#Ô# uÛ%,Ñ!�˜cØ×#Ñ#¤E§L¢L°¸sÓ$CÖDñ &-ñ �tÐ&˜vÑ&÷	 $×#×#Ó#ús   Ÿ:A$Á$A5	)Ú	functoolsÚwraps)rN   r¨  r´  s   fj r&   Ú_make_fn_with_patchesr¸  á  s*   ù€ Ü‡_‚_�RÓ÷'ð 'ó ð'ð €Jr(   Ú
xfail_propÚ	decoratorc                 ó   € V # r*   r‰   r/   s   &r&   Ú<lambda>r¼  ó  s   € Éar(   c                óÒ   € V ^8„  d   QhR\         R\        R\        R\        R\        R,          R\        \        R\        3,          .\        R\        3,          3,          R	\         /# )
r   ÚclsÚ
cls_prefixÚ	fn_suffixr¨  r¹  Nrº  .r!   )r…   r4   r   r   )r%   s   "r&   r'   r'   í  sq   € ÷ ñ Ü	ðäðô ðô ð	ô
 �d•
ðô œ #¤s (Õ+Ð,¬h°s¼C°xÕ.@Ð@ÕAðô 
ñr(   c          	      ó*  € \        V V P                   2V P                  / 4      pVP                  Vn        \	        V 4       FÍ  pVP                  R 4      '       dŒ   \        W4      p\        V4      '       g   \        Wg\        W4      4       KM  V V 2p	\        V.VO5!  p
Wšn        Ve(   \        Wƒ4      '       d   \        P                  ! V
4      p
\        WiV! V
4      4       K¥  \        Wg4      '       d   K¸  \        Wg\        W4      4       KÏ  	  V# )Útest_)r…   r�   Ú	__bases__r  ÚdirÚ
startswithÚgetattrÚcallableÚsetattrr¸  ÚhasattrÚunittestÚexpectedFailure)r¾  r¿  rÀ  r¹  rº  r¨  ÚDummyTestClassr2   rN   Únew_nameÚnew_fns   &&&$$*     r&   Úmake_test_cls_with_patchesrÏ  í  sæ   € ô ˜Z˜L¨¯©¨Ð7¸¿¹ÈÓK€NØ"0×"9Ñ"9€NÔä�C–ˆØ�?‰?˜7×#Ò#Ü˜Ó#ˆBÜ˜B—<’<Ü˜¬g°cÓ.@ÔAÙØ˜ 	˜{Ð+ˆHÜ*¨2Ð8°Ó8ˆFØ&ŒOØÒ%¬'°"×*AÒ*AÜ!×1Ò1°&Ó9�Ü�N©i¸Ó.?Ö@ä˜×.Ô.Ü�N¬'°#Ó*<Ö=ñ ð  Ðr(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# ©r   rN   r!   ©r   r   r¢  )r%   s   "r&   r'   r'     s,   € ÷ ñ ”x¤¤B Õ'ð ¬H´R¼°VÕ,<ñ r(   c                 ó\   € \         P                  R8¼  d   V # \        P                  ! V 4      # )é   )rÔ  é   ©ÚsysÚversion_inforÊ  r¼   ©rN   s   &r&   ÚskipIfNotPy311rÚ    s$   € Ü
×Ñ˜7Ô"Øˆ	ä�=Š=˜ÓÐr(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'     s,   € ÷ 6ñ 6”x¤¤B Õ'ð 6¬H´R¼°VÕ,<ñ 6r(   c                 óh   € \         P                  R8¼  d   V # \        P                  ! R4      ! V 4      # )rÔ  zRequires Python 3.12+©rÔ  é   rÖ  rÙ  s   &r&   ÚskipIfNotPy312rß    s*   € Ü
×Ñ˜7Ô"Øˆ	Ü�=Š=Ð0Ô1°"Ó5Ð5r(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'     s,   € ÷ ñ œ8¤B¬ FÕ+ð ´¼¼R¸Õ0@ñ r(   c                 ó’   € \         P                  R8¼  g   \         P                  R8  d   \        P                  ! R4      ! V 4      # V # )rÔ  zRequires Python 3.12)rÔ  é   rÝ  rÖ  rÙ  s   &r&   ÚskipIfOnlyNotPy312rã    s7   € Ü
×Ñ˜7Ô"¤c×&6Ñ&6¸Ô&@Ü�}Š}Ð3Ô4°RÓ8Ð8Ø€Ir(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'     s,   € ÷ ñ ”Xœb¤"˜fÕ%ð ¬(´2´r°6Õ*:ñ r(   c                 ó\   € \         P                  R8¼  d   \        P                  ! V 4      # V # )rÔ  rÝ  )r×  rØ  rÊ  rË  rÙ  s   &r&   ÚxfailIfPy312ræ    s&   € Ü
×Ñ˜7Ô"Ü×'Ò'¨Ó+Ð+Ø€Ir(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'   %  s,   € ÷ ñ ”HœR¤˜VÕ$ð ¬´"´b°&Õ)9ñ r(   c                 óh   € \         P                  R8¼  d   \        P                  ! R4      ! V 4      # V # )rÔ  zNot supported in Python 3.12+rÝ  rÖ  rÙ  s   &r&   ÚskipIfPy312ré  %  s*   € Ü
×Ñ˜7Ô"Ü�}Š}Ð<Ô=¸bÓAÐAØ€Ir(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'   -  s,   € ÷ ñ œx¬¬B¨Õ/ð ´H¼RÄ¸VÕ4Dñ r(   c                 ó   € R V n         V # ©T)Ú_expected_failure_dynamicrÙ  s   &r&   ÚexpectedFailureDynamicrî  -  s   € Ø#'€BÔ Ø€Ir(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'   3  ó,   € ÷ ñ ¤h¬r´2¨vÕ&6ð ¼8ÄBÌÀFÕ;Kñ r(   c                 ó   € R V n         V # rì  )Ú!_expected_failure_codegen_dynamicrÙ  s   &r&   ÚexpectedFailureCodegenDynamicró  3  ó   € Ø+/€BÔ(Ø€Ir(   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rÑ  rÒ  )r%   s   "r&   r'   r'   9  rð  r(   c                 ó   € R V n         V # rì  )Ú!_expected_failure_dynamic_wrapperrÙ  s   &r&   ÚexpectedFailureDynamicWrapperrø  9  rô  r(   c                ó(   € V ^8„  d   QhR\         RR/# )r   Úuse_xlar!   Nr¤  )r%   s   "r&   r'   r'   >  s   € ÷ 5ñ 5œTð 5¨dñ 5r(   c                 ó,  € \         P                  ! R 4       \        P                  ! R 4       \        '       d    \        P                  P                  R 4       V '       d5   ^ RIHu Hp VP                  R \        VP                  4       4      4       R# R# )i9  N)r#   Úmanual_seedÚrandomÚseedÚnpÚtorch_xla.core.xla_modelÚcoreÚ	xla_modelÚset_rng_stater4   Ú
xla_device)rú  Úxms   & r&   Úreset_rng_stater  >  sZ   € Ü	×Ò�dÔÜ
‡K‚K�Ôß	ƒrÜ
�	‰	�‰�tÔßß-Ð-à
×Ñ˜œs 2§=¡=£?Ó3Ö4ñ r(   c                ó’   € V ^8„  d   QhR\         \        \        3,          R\        P                  R\        P                  R\        /# )r   ÚfrD   rE   r!   )r   r   r¢  rD   rE   )r%   s   "r&   r'   r'   I  s=   € ÷ ñ Ü””B�ÕðÜ "§¡ðÜ35·9±9ðäñr(   c                 ó   € V ! V/ VB # r*   r‰   )r  rD   rE   s   &*,r&   Ú&_skipped_function_for_test_reconstructr
  I  s   € ñ ˆdÐ�fÑÐr(   c                óx   € V ^8„  d   QhR\         \        \        P                  P                  ,          ,          /# r£   )r   r^   r#   r
   ró   )r%   s   "r&   r'   r'   S  s.   € ÷ Fñ F¼yÜŒ�‰×	Ñ	Õõ@ñ Fr(   c               #  ó6   "  € . s  \         x € Rs R#   Rs i ; i5i)a@  
Context manager to capture graph modules compiled by invoke_subgraph_inductor_compile.

Usage:
    with _testing_capture_invoke_subgraph_inductor_compile_gms() as captured_gms:
        # code that triggers invoke_subgraph_inductor_compile
        pass
    # captured_gms will contain the list of captured graph modules
N)Ú6_testing_invoke_subgraph_inductor_compile_captured_gmsr‰   r(   r&   Ú5_testing_capture_invoke_subgraph_inductor_compile_gmsr  R  s&   é € ð >@Ð:ðFÜDÒDàAEÒ>øÀÑ>üs   ‚† Ž’–c                ób   € V ^8„  d   Qh/ ^ \         9   d   \        P                  R,          ;R&   # )r   Nrÿ  )Ú__conditional_annotations__r°   Ú
ModuleType)r%   s   "r&   r'   r'      s+   € ÷ ñ ÷^ #Ò "„E×Ñ�tÕÑ "ò_r(   )r6   )NNrõ   )Tgš™™™™™¹?)F)gr  Ú__doc__r­  r·   r¶  ÚloggingÚos.pathr¥   rý  r8   r×  r°   rÊ  Úcollections.abcr   r   r   Útypingr   r   r   Útyping_extensionsr   Úunittest.mockr	   r#   r
   Ú torch._dynamo.backends.debuggingr   Útorch._dynamo.output_graphr   r6   r   r   r   r   Úbytecode_transformationr   r   r   r   Úguardsr   r   r   r   r   r   rÛ   r   r   rÿ  ÚnumpyÚModuleNotFoundErrorÚunsupportedÚthreeÚ	getLoggerr�   Úlogr   r0   r:   rO   rV   rv   r}   rŠ   r¬   r»   rÌ   rã   r
  r  rQ   r7  rN  rT  rZ  r`  rd  rz  r}  r…  Úfloat32r¡  r¢  r¦  r¸  rÏ  rÚ  rß  rã  ræ  ré  rî  ró  rø  r  r
  r  Úcontextmanagerr  r'   )r  s   @r&   Ú<module>r%     s  øðöó Û 
Û Û Û Û Û 	Û 
Û Û ß 9Ñ 9ß )Ñ )Ý 'Ý ã Ý Ý 6Ý 2ç 8Ó 8÷ó ÷ AÑ @ß IÑ Iß *ð #€Ó "ðÛð
 ×$Ñ$€Ø	€à×Ò˜Ó!€áˆtƒ_€õ>õ.ò$ò"Hõ%õP	Eð 
Ü Aó 
Ø Að 
ôó 
ðõ
Eõ,÷
ð&
ØPQ÷&
÷Rñ ÷,ñ ÷<ñ ÷
ñ 
÷>Añ Aõ(.õCõõ,õ÷8õB÷
,ð  Ÿ™Ø!&Ø÷2ñB ˆTƒ]€õ/õ
	ðð
 "ðñ EP÷õ>õ6õõõõõõ÷
5õð :>Ð 6ð ×ÑôFó òFøðA ô Ø	ƒBðús   Â"H È	H ÈH 