+
    –°³j# ã                   óÐ  a € RB tc0 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
 ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHtHt ^ RIt^ RIHu Ht ^ RIHt ^ RIH t!H"t"H#t# ^ R	I$H%t%H&t& ^ R
I'H(t(  ^ RIH)t) ]'       d   ^ RI-H.t. ]! R]R7      t/]! RRR7      t0]1! ]R4      ;'       d
    ]1! ]R4      t2]Pf                  R 4       t4 ! R R4      t5R R lt6/ t7] ^ k ]"Pp                  ]"Pr                  ]"Pt                  ]"Pv                  ]"Px                  ]"Pz                  ]"P|                  .t? ! R R]5]P€                  4      tAR tBR tCR tDR tE ! R R4      tF]F! 4       sGRCR  ltHR! tIR" tJR# tKR$ tLR% tMR& tN]O! 4       sP] ^k R' tQR( tRR) tS] ! R* R+]]0]/3,          4      4       tT ! R, R-]5]]0]/3,          4      tU ! R. R/]U]0]/3,          4      tVR0 R1 ltWR2 R3 ltXR4 R5 ltY ! R6 R7]]0]/3,          4      tZR8 R9 lt[ ! R: R;]P¸                  4      t]R< t^R= t_ ! R> R?]P¸                  4      t` ! R@ RA]P¸                  4      ta]a! 4       tb] ^k R#   ]* d    ]+! ],4      t) ELãi ; i)Dé    N)ÚCallableÚIterator)Ú	dataclass)Úcached_property)ÚAnyÚClassVarÚConcatenateÚfinalÚGenericÚTYPE_CHECKING)Ú	ParamSpecÚTypeVar)Ú_utils_internal)Ú_dispatch_is_included_in_aliasÚDispatchKeyÚDispatchKeySet)Údispatch_functorchÚTransformType)ÚTorchDispatchMode)ÚNotImplementedType)ÚBaseFunctionalizeAPIÚ_T©ÚdefaultÚ_P.ÚgetdlopenflagsÚsetdlopenflagsc               #  ó  "  € \         '       g   Rx € R# \        P                  ! 4       p \        P                  ! V \        P
                  ,          4        Rx € \        P                  ! V 4       R#   \        P                  ! T 4       i ; i5i)zu
Context manager to set the RTLD_GLOBAL dynamic linker flag while we open a
shared library to load custom operators.
N)Ú_SET_GLOBAL_FLAGSÚsysr   r   ÚctypesÚRTLD_GLOBAL)Ú	old_flagss    ÚK/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_ops.pyÚdl_open_guardr%   -   s^   é € ÷ ÓÛÙÜ×"Ò"Ó$€IÜ×Ò�y¤6×#5Ñ#5Õ5Ô6ð&Ûä×Ò˜9Ö%øŒ×Ò˜9Õ%üs   ‚ABÁA2 ÁBÁ2B
Â
Bc                   óf   a € ] tR t^>t o RtR tR tR tR tV 3R lR lt	V 3R lR	 lt
R
 tRtV tR# )ÚOperatorBasez«
Base class for OpOverload (which represents C++ ATen operators) and HigherOrderOperator
(which represents Python-only operators that are unrepresentable in TorchScript).
c                ó>   € / V n         / V n        / V n        / V n        R # ©N)Ú_dispatch_cacheÚ
py_kernelsÚpython_key_tableÚfunctorch_table©Úselfs   &r$   Ú__init__ÚOperatorBase.__init__D   s0   € ð  UWˆÔð BDˆŒð ð 	Ôð  "ˆÖó    c                ó   € \         hr)   ©ÚNotImplementedError©r/   ÚargsÚkwargss   &*,r$   Ú__call__ÚOperatorBase.__call__n   ó   € Ü!Ð!r2   c                ó   € WP                   9   # r)   )r+   )r/   Úks   &&r$   Úhas_kernel_for_dispatch_keyÚ(OperatorBase.has_kernel_for_dispatch_keyq   s   € Ø—O‘OÑ#Ð#r2   c                ó®   € V P                    FD  p\        P                  P                  V4      '       d   K*  VP	                  V4      '       g   KC   R # 	  R# )TF)r+   ÚtorchÚ_CÚ_dispatch_is_alias_keyÚhas)r/   Úksr=   s   && r$   Úhas_kernel_for_any_dispatch_keyÚ,OperatorBase.has_kernel_for_any_dispatch_keyt   s9   € Ø—”ˆAÜ—8‘8×2Ñ2°1×5Ô5¸"¿&¹&À¿)¼)Úñ !ñ r2   c                óÎ   <€ V ^8„  d   QhRS[ S[,          S[ S[P                  ,          ,          S[,          S[,          RS[S[S[S[3,          .S[S[S[3,          3,          /# ©é   r=   Úreturn©	Útyper   rA   ÚTensorr   r   r   r   r   )ÚformatÚ__classdict__s   "€r$   Ú__annotate__ÚOperatorBase.__annotate__z   s\   ø€ ÷ $ñ $áÑ!Õ"¡T©%¯,©,Õ%7Õ7¹-ÕGÉ+ÕUð$ñ 
‘8™B¡˜FÕ#Ð$¡h©r±2¨vÕ&6Ð6Õ	7ñ$r2   c                ó   a a€ R  VV 3R llpV# )c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# ©rJ   ÚfnrK   ©r   r   r   )rO   s   "r$   rQ   Ú*OperatorBase.py_impl.<locals>.__annotate__~   s,   € ÷ 	ñ 	”hœr¤2˜vÕ&ð 	¬8´B¼°FÕ+;ñ 	r2   c                 ó  <€ \         P                  ! S4      '       d�   \        S\        4      '       g!   \        S\        P
                  4      '       dK   SSP                  9   d   \        S R 24      hV SP                  S&   SP                  P                  4        V # \        S\        4      '       d1   SSP                  9   d   \        S R24      hV SP                  S&   V # \        S\        4      '       g   \        R\        S4       24      hS\        P                  8X  d   \        R4      hSSP                   9   d    \#        RS RSP%                  4        24      hV SP                   S&   SP                  P                  4        V # )z' already registered in python_key_tablez& already registered in functorch_tablezexpected DispatchKey, got z>Please register a mode for the DispatchKey.Python key instead.z%Trying to override a python impl for z on operator )ÚinspectÚisclassÚ
issubclassr   rA   rN   r,   ÚAssertionErrorr*   ÚclearÚ
isinstancer   r-   r   rM   ÚPythonr+   ÚRuntimeErrorÚname)rV   r=   r/   s   &€€r$   ÚinnerÚ#OperatorBase.py_impl.<locals>.inner~   sU  ø€ Ü�Š˜q×!Ò!Ü˜1Ô/×0Ò0´J¸qÄ%Ç,Á,×4OÒ4Oà˜×-Ñ-Ô-Ü(¨A¨3Ð.UÐ)VÓWÐWà+-�×%Ñ% aÑ(Ø×$Ñ$×*Ñ*Ô,Ø�	ä˜!œ]×+Ò+Ø˜×,Ñ,Ô,Ü(¨A¨3Ð.TÐ)UÓVÐVØ*,�×$Ñ$ QÑ'Ø�	ä˜a¤×-Ò-Ü$Ð'AÄ$ÀqÃ'ÀÐ%KÓLÐLØ”K×&Ñ&Ô&Ü$ØTóð ð �D—O‘OÔ#Ü"Ø;¸A¸3¸mÈDÏIÉIËKÈ=ÐYóð ð "$ˆD�O‰O˜AÑØ× Ñ ×&Ñ&Ô(ØˆIr2   © )r/   r=   rc   s   ff r$   Úpy_implÚOperatorBase.py_implz   s   ù€ ÷	ñ 	ð@ ˆr2   c                óz   <€ V ^8„  d   QhRS[ S[RS[3,          S[3,          RS[ S[RS[3,          S[3,          /# )rJ   rV   r   rK   )r   r	   r   r   )rO   rP   s   "€r$   rQ   rR   «   sG   ø€ ÷ &ñ &Ù™;Ð'=¹rÐ'AÕBÁBÐFÕGð&á	‘+Ð4±bÐ8Õ9¹2Ð=Õ	>ñ&r2   c                ó,  aaaaa€ ^ RI HoHoHoHo R VV3R llpV3R lVV3R llpR VV3R llpV P                  \        P                  4      ! V4       V P                  S4      ! V4       V P                  \        P                  4      ! V4       S# )r   )ÚCppFunctionalizeAPIÚFunctionalTensorModeÚFunctorchFunctionalizeAPIÚPythonFunctionalizeAPIc                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# ©rJ   r7   r8   rK   ©r   r7   r8   r   )rO   s   "r$   rQ   Ú8OperatorBase.py_functionalize_impl.<locals>.__annotate__·   s)   € ÷ 	>ñ 	>¤r§w¡wð 	>¼"¿)¹)ð 	>Ìñ 	>r2   c                  ó&   <€ S! S! 4       .V O5/ VB # r)   re   )r7   r8   rj   rV   s   *,€€r$   Úfunctionalize_dk_fnÚ?OperatorBase.py_functionalize_impl.<locals>.functionalize_dk_fn·   s   ø€ ÙÑ)Ó+Ð=¨dÒ=°fÑ=Ð=r2   c          	      óŽ   <€ V ^8„  d   QhRSR,          R\         P                  R\         P                  R\        \        ,          /# )rJ   ÚmodeNr7   r8   rK   )r   r7   r8   r   r   )rO   rk   s   "€r$   rQ   rq   º   sF   ø€ ÷ 	Eñ 	EØ&¨Õ-ð	EÜ68·g±gð	EÜIKÏÉð	EäÔ$Õ$ñ	Er2   c                 ó|   <€ ^ RI Hp ^ RIHp ^ RIHp V! W3WE3R7      '       d   \        # S! S! V 4      .VO5/ VB # )r   )Úhas_user_subclass)Ú
FakeTensor)ÚFunctionalTensor)Úallowed_subclasses)Útorch._higher_order_ops.utilsrx   Útorch._subclassesry   Ú#torch._subclasses.functional_tensorrz   ÚNotImplemented)rv   r7   r8   rx   ry   rz   rm   rV   s   &*,   €€r$   Úfunctionalize_dispatch_mode_fnÚJOperatorBase.py_functionalize_impl.<locals>.functionalize_dispatch_mode_fnº   sJ   ø€ õ HÝ4ÝLá Ø�Ø$.Ð#A÷ó ô &Ð%ÙÑ,¨TÓ2ÐD°TÒD¸VÑDÐDr2   c                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# ro   rp   )rO   s   "r$   rQ   rq   È   s1   € ÷ 	Oñ 	OÜ "§¡ð	OÜ35·9±9ð	Oäñ	Or2   c                 ó(   <€ S! S! V 4      .VO5/ VB # r)   re   )Úinterpreterr7   r8   rl   rV   s   &*,€€r$   Úfunctionalize_functorch_fnÚFOperatorBase.py_functionalize_impl.<locals>.functionalize_functorch_fnÈ   s    ø€ ñ Ñ/°Ó<ÐN¸tÒNÀvÑNÐNr2   )	r~   rj   rk   rl   rm   rf   r   ÚFunctionalizer   )	r/   rV   rs   r€   r…   rj   rk   rl   rm   s	   &f   @@@@r$   Úpy_functionalize_implÚ"OperatorBase.py_functionalize_impl«   sy   ü€ ÷	
ó 	
÷	>ñ 	>÷	Eô 	E÷	Oñ 	Oð
 	�‰”[×.Ñ.Ô/Ð0CÔDØ�‰Ð)Ô*Ð+IÔJØ�‰”]×0Ñ0Ô1Ð2LÔMàˆ	r2   c                ó   € \         hr)   r4   r.   s   &r$   rb   ÚOperatorBase.nameÓ   r;   r2   )r*   r-   r+   r,   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r0   r9   r>   rF   rf   rˆ   rb   Ú__static_attributes__Ú__classdictcell__©rP   s   @r$   r'   r'   >   s?   ø‡ € ñò
("òT"ò$ò÷$ð $÷b&ð &÷P"ð "r2   r'   c                ó0   € V ^8„  d   QhR\         R\        /# )rJ   Úopr=   )r'   r   )rO   s   "r$   rQ   rQ   Ø   s   € ÷ 2Uñ 2U”Lð 2U¤[ñ 2Ur2   c                 ól  € V P                  V4      '       d   V# \        P                  pV\        P                  8X  g   \	        W4      '       d   V P                  V4      '       d   V# \        P
                  pV\        P                  8X  g   \	        W4      '       d   V P                  V4      '       d   V# V P                  \        P                  P                  V4      4      ;'       g     V P                  \        P
                  4      p\        P                  pV\        P                  8w  d3   \	        W4      '       d"   V P                  V4      '       d   V'       g   V# \        P                  pV\        P                  8X  g   \	        W4      '       dq   V P                  V4      '       dZ   V\        P                  8X  d;   V P                  \        P                  P                  4      '       d   \        R 4      hV'       g   V# \        P                  p\	        W4      '       d   V P                  V4      '       d   V# \        P                   p\	        W4      '       d   V P                  V4      '       d   V# \        P                  P#                  V4      '       d   V# \%        RV  RV 24      h)zambiguous autogradother kernelzcould not find kernel for ú at dispatch key )r>   r   Ú&CompositeExplicitAutogradNonFunctionalÚ	UndefinedÚis_included_in_aliasÚCompositeExplicitAutogradrF   rA   rB   Ú*_dispatch_get_backend_keyset_from_autogradÚ%CompositeImplicitAutogradNestedTensorÚCompositeImplicitAutogradÚAutogradOtherÚ _dispatch_autogradother_backendsra   ÚAutogradÚFuncTorchBatchedDecompositionÚ_dispatch_has_backend_fallbackr5   )r•   r=   ÚcandÚhas_backend_kernels   &&  r$   Úresolve_keyr¦   Ø   s  € à	×%Ñ% a×(Ò(Øˆä×=Ñ=€Dà	Œ[×"Ñ"Ô"Ô&:¸1×&CÒ&CØ
×
(Ñ
(¨×
.Ò
.Øˆä×0Ñ0€Dà	Œ[×"Ñ"Ô"Ô&:¸1×&CÒ&CØ
×
(Ñ
(¨×
.Ò
.ØˆØ×;Ñ;Ü�‰×;Ñ;¸AÓ>ó÷ Oð Oà	×	'Ñ	'¬×(MÑ(MÓ	Nð ô ×<Ñ<€Dà	
Œk×#Ñ#Ô	#Ô(<¸Q×(EÒ(EØ×*Ñ*¨4×0Ò0ß"àˆÜ×0Ñ0€Dà	Œ[×"Ñ"Ô"Ô&:¸1×&CÒ&CØ
×
(Ñ
(¨×
.Ò
.Ø”×)Ñ)Ô)¨b×.PÑ.PÜ�H‰H×5Ñ5÷/
ò /
ô Ð?Ó@Ð@ß#ØˆKä×Ñ€DÜ˜A×$Ò$¨×)GÑ)GÈ×)MÒ)MØˆä×4Ñ4€DÜ˜A×$Ò$¨×)GÑ)GÈ×)MÒ)MØˆä‡x�x×.Ñ.¨q×1Ò1ð ˆÜ
Ð :¸2¸$Ð>OÐPQÈsÐSÓ
TÐTr2   c                   óò   a a€ ] tR tRt oRRRR/V 3R lltV3R lV 3R lltV3R lR	 lt]R
 4       t]	V3R lR l4       t
R tV3R lR ltR t]P                  R 4       tR tR tR tRR ltRtVtV ;t# )ÚHigherOrderOperatori  Ú	cacheableFÚ supports_training_input_mutationc               ó@  <€ \         SV `  4        \        V 4      \        J d   \	        R 4      hWn        Wn        V \        V&   RV n        RV n	        W n
        W0n        \        P                  P                  4       V n        \          F  pV P#                  V4       K  	  R# )zODirect instantiation of HigherOrderOperator is not allowed. Please subclass it.Úhigher_orderútorch.ops.higher_orderN)Úsuperr0   rM   r¨   ra   Ú_namerŒ   Ú_higher_order_opsÚ_nsr�   Ú
_cacheableÚ!_supports_training_input_mutationrA   rB   Ú_dispatch_keyset_fullÚnon_fallthrough_keysÚ2_HIGHER_ORDER_OP_DEFAULT_FALLTHROUGH_DISPATCH_KEYSÚfallthrough)r/   rb   r©   rª   Údispatch_keyÚ	__class__s   &&$$ €r$   r0   ÚHigherOrderOperator.__init__   s�   ø€ ô 	‰ÑÔÜ�‹:Ô,Ó,ÜØaóð ð Œ
ð ŒØ"&Ô˜$ÑØ!ˆŒØ2ˆŒØ#Œð 2RÔ.ä$)§H¡H×$BÑ$BÓ$DˆÔ!çNˆLØ×Ñ˜\Ö*ó Or2   c                óÎ   <€ V ^8„  d   QhRS[ S[,          S[ S[P                  ,          ,          S[,          S[,          RS[S[S[S[3,          .S[S[S[3,          3,          /# rI   rL   )rO   rP   s   "€r$   rQ   Ú HigherOrderOperator.__annotate__B  s\   ø€ ÷ "ñ "áÑ!Õ"¡T©%¯,©,Õ%7Õ7¹-ÕGÉ+ÕUð"ñ 
‘8™B¡˜FÕ#Ð$¡h©r±2¨vÕ&6Ð6Õ	7ñ"r2   c                óÐ   <€ \        V\        4      '       dB   V P                  P                  V4      '       g!   V P                  P	                  V4      V n        \
        SV `  V4      # r)   )r_   r   rµ   rD   Úaddr®   rf   ©r/   r=   r¹   s   &&€r$   rf   ÚHigherOrderOperator.py_implB  sP   ø€ ô �aœ×%Ò%¨d×.GÑ.G×.KÑ.KÈA×.NÒ.NØ(,×(AÑ(A×(EÑ(EÀaÓ(HˆDÔ%Ü‰w‰˜qÓ!Ð!r2   c                óR   <€ V ^8„  d   QhRS[ S[S[3,          RS[ S[S[3,          /# rU   rW   )rO   rP   s   "€r$   rQ   r¼   J  s1   ø€ ÷ ñ á‘R™�VÕðñ 
‘"‘b�&Õ	ñr2   c                óh   a a€ R  VV 3R llpS P                  \        P                  4      ! V4       S# )c                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# ro   rp   )rO   s   "r$   rQ   Ú:HigherOrderOperator.py_autograd_impl.<locals>.__annotate__N  s)   € ÷ 	'ñ 	'¤b§g¡gð 	'¼¿¹ð 	'Ärñ 	'r2   c                  óŒ  <€ \         P                  ! 4       '       d3   \        P                  ! \         P                  R  . V OVN54      '       d:   \         P
                  P                  4       ;_uu_ 4        S! V / VB uuRRR4       # ^ RIHp SP                  '       gŒ   V! S4      '       d~   SP                  ! V / VB p\        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       d   \        RSP                  4        R24      hS! V / VB #   + '       g   i     L»; i)c                 ó$   € V P                   '       * # r)   )Úrequires_grad)Úts   &r$   Ú<lambda>ÚRHigherOrderOperator.py_autograd_impl.<locals>.maybe_run_autograd.<locals>.<lambda>Q  s   € ˜aŸo™oÕ-r2   N)Ú_has_gen_schemac              3   ó8   "  € T F  qP                   x € K  	  R # 5ir)   )Úis_write©Ú.0Úargs   & r$   Ú	<genexpr>ÚSHigherOrderOperator.py_autograd_impl.<locals>.maybe_run_autograd.<locals>.<genexpr>[  s   é € Ð@Ñ/?¨—|–|Ó/?ùó   ‚TFzThe zå HigherOrderOperator does not currently support training with in-place input or buffer mutations If you require this feature, please submit an issue to PyTorch. Alternatively, consider creating your own custom autograd.Function. )rA   Úis_grad_enabledÚpytreeÚtree_all_onlyrN   rB   Ú_AutoDispatchBelowAutogradr|   rË   r³   Ú
gen_schemaÚanyÚ	argumentsra   rb   )r7   r8   rË   ÚschemarV   r/   s   *,  €€r$   Úmaybe_run_autogradÚ@HigherOrderOperator.py_autograd_impl.<locals>.maybe_run_autogradN  s   ø€ Ü×(Ò(×*Ò*¬f×.BÒ.BÜ—‘Ù-Ø�$�˜‘÷/ò /ô
 —X‘X×8Ñ8×:Õ:Ù Ð0¨Ñ0÷ ;Ò:õ Fà×9×9Ð9¹oÈd×>SÒ>SØŸš¨$Ð9°&Ñ9�ß“3Ñ@¨v×/?Ò/?Ó@—3—3’3Ñ@¨v×/?Ò/?Ó@×@Ò@Ü&Ø˜tŸy™y›{˜mð ,_ð _óð ñ �tÐ&˜vÑ&Ð&÷ ;×:ús   Á5D3Ä3E	)rf   r   r¡   )r/   rV   rÜ   s   ff r$   Úpy_autograd_implÚ$HigherOrderOperator.py_autograd_implJ  s,   ù€ ÷	'ñ 	'ð. 	�‰”[×)Ñ)Ô*Ð+=Ô>àˆ	r2   c                ó   € V P                   # r)   )r±   r.   s   &r$   Ú	namespaceÚHigherOrderOperator.namespacei  ó   € à�x‰xˆr2   c                ó    <€ V ^8„  d   QhRS[ /# ©rJ   rK   ©Úbool)rO   rP   s   "€r$   rQ   r¼   n  s   ø€ ÷ 
ñ 
™4ñ 
r2   c                ó4  € ^ RI Hp V P                  ;'       g€    V P                   RV P                   2\
        P                  P                  P                  9   ;'       g8    \        W4      ;'       d%    \
        P                  P                  P                  # )r   )ÚAutogradFunctionApplyÚ.)Ú"torch._functorch.autograd_functionré   r²   r�   rŒ   rA   Ú	_inductorÚconfigÚ!unsafe_marked_cacheable_functionsr_   Ú
_functorchÚ.autograd_cache_allow_custom_autograd_functions)r/   ré   s   & r$   r©   ÚHigherOrderOperator.cacheablem  s‚   € åLð �O‰O÷ ð Ø—/‘/Ð" ! D§M¡M ?Ð3Ü�‰×%Ñ%×GÑGñH÷ð ô ˜4Ó7÷ [ð [Ü×$Ñ$×+Ñ+×ZÑZð	
r2   c                óF   € V P                   P                  V4      V n         R # r)   )rµ   Úremove)r/   r¸   s   &&r$   r·   ÚHigherOrderOperator.fallthrough{  s   € Ø$(×$=Ñ$=×$DÑ$DÀ\Ó$RˆÖ!r2   c                ó~   <€ V ^8„  d   QhRS[ S[R3,          RS[S[S[3,          RS[ S[P
                  R3,          /# )rJ   r7   .r8   rK   )Útupler   ÚdictÚstrrA   rN   )rO   rP   s   "€r$   rQ   r¼   ~  sC   ø€ ÷ &ñ &Ù™#˜s˜(•Oð&Ù-1±#±s°(­^ð&á	‰u�|‰|˜SÐ Õ	!ñ&r2   c                óØ   aa€ . oR  oVV3R lp. VOVP                  4       O F:  pV! V4       \        V\        \        34      '       g   K)  V F  pV! V4       K  	  K<  	  \        S4      # )c                 ó^   € \         P                  P                  V 4      P                  R 4      # )r`   )rA   rB   Ú_dispatch_keysrD   )Útensors   &r$   Úhas_python_keyÚ@HigherOrderOperator._get_overloaded_args.<locals>.has_python_key…  s"   € Ü—8‘8×*Ñ*¨6Ó2×6Ñ6°xÓ@Ð@r2   c                 óŽ   <€ \        V \        P                  4      '       d$   S! V 4      '       d   SP                  V 4       R # R # R # r)   )r_   rA   rN   Úappend)rÐ   rý   Úoverloaded_argss   &€€r$   Úcheck_overloadedÚBHigherOrderOperator._get_overloaded_args.<locals>.check_overloadedˆ  s5   ø€ Ü˜#œuŸ|™|×,Ò,±À×1DÒ1DØ×&Ñ& sÖ+ñ 2EÑ,r2   )Úvaluesr_   Úliströ   )r/   r7   r8   r  rÐ   Úarý   r  s   &&&   @@r$   Ú_get_overloaded_argsÚ(HigherOrderOperator._get_overloaded_args~  si   ù€ ð
 /1ˆò	Aö	,ð -�TÐ,˜FŸM™M›OÓ,ˆCÙ˜SÔ!Ü˜#¤¤e˜}×-Ô-Û�AÙ$ QÖ'ó ñ -ô �_Ó%Ð%r2   c               ó°	  € ^ RI Hp WP                  9   d@   V P                  V,          p\        V\        4      '       d   \        RV 24      hV! V/ VB # V\        P                  8X  d   \        WV4      # V\        P                  8X  Ed\   T P                  W#4      p^ RI H
p V! 4       pVeÙ   \        V4      V P                  9   dB   V P                  \        V4      ,          p	V! 4       ;_uu_ 4       p
V	! V
.VO5/ VB pRRR4       MqVP                  '       d.   V! 4       ;_uu_ 4       p
VP                  V . W#4      uuRRR4       # \        RV P                    RV RV RV R	V P                    R
V R24      hX\"        Jd   V# V EF  p\        V4      pVP                  \$        P&                  P(                  J d   K9  V\$        P*                  P,                  P.                  J dR   \$        P*                  P,                  P0                  pV P                  V,          p	V	! VP2                  .VO5/ VB pVu # WÐP                  9   d   V P                  V,          p	V	! V/ VB pM\        RV P                    RV R24      hV\"        Jg   EK  Vu # 	  \5        RV P                    RT RV Uu. uF  p\        V4      P6                  NK  	  up RV P                    RV R24      h\$        P&                  P9                  V4      pV\        P:                  8X  dÎ   ^ RI H
p \=        4       ^ 8”  d¹   \$        P&                  P?                  \        P                  4      '       g†   \A        4       pVf   \        R4      h\        V4      V P                  9  d   \        RV R24      hV P                  \        V4      ,          p	V! V4      ;_uu_ 4       p
V	! V
.VO5/ VB uuRRR4       # \C        W4      pVV PD                  9  d    \        RV P                    RV RV R24      hV\        P:                  8w  d!   V PD                  V,          V P                  V&   V PD                  V,          p\        V\        4      '       d   \        RV 24      hV! V/ VB #   + '       g   i     EL.; i  + '       g   i     ELB; iu upi   + '       g   i     Lì; i)r   ©Ú_get_current_dispatch_modez!unexpected DispatchKey in cache: )Ú_pop_mode_temporarilyNz5There was no rule registered for HigherOrderOperator z
 and mode z.Hint: set zc's supports_higher_order_operators to True. This causes all higher order operators to pass through zk's __torch_dispatch__, so handle them accordingly by adding support for HigerOrderOperators (in this case, z) in zC.__torch_dispatch__ or returning NotImplemented when not supported.z%There was no rule registered for HOP z and subclass z. We recommend filing an issue.zHigherOrderOperator 'z¹' is not supported for the given input types. This typically happens when using custom tensor types or dispatch modes that don't have implementations for this operation.

Current mode: z
Input types: z$

To fix this, can add support for 'z' in z's __torch_dispatch__
zIIllegal invocation of dispatch on DispatchKey.PreDispatch without a mode.zCurrent active mode z not registeredz.could not find kernel for HigherOrderOperator r—   z (resolved from Ú)z&unexpected DispatchKey in py_kernels: )#Útorch.utils._python_dispatchr  r*   r_   r   r]   ÚFuncTorchDynamicLayerFrontModer   r`   r  r  rM   r,   Úsupports_higher_order_operatorsÚ__torch_dispatch__r5   r¯   r   rA   rB   Ú_disabled_torch_dispatch_implÚ_subclassesÚfake_tensorry   ÚFakeTensorModeÚ	fake_modeÚ	TypeErrorrŒ   Ú_to_functionality_keyÚPreDispatchÚ&_len_torch_dispatch_stack_pre_dispatchÚ&_dispatch_tls_is_dispatch_key_excludedÚ'_get_current_dispatch_mode_pre_dispatchr¦   r+   )r/   r¸   r7   r8   r  Úkernelr  r  Ú	curr_modeÚhandlerrv   ÚresultrÐ   Úsubclass_typer  Úfunctionality_keyÚ	final_keys   "&*,             r$   ÚdispatchÚHigherOrderOperator.dispatch–  sº  € ÝKà×/Ñ/Ô/Ø×)Ñ)¨,Õ7ˆFÜ˜&¤+×.Ò.Ü$Ð'HÈÈÐ%QÓRÐRÙ˜4Ð* 6Ñ*Ð*àœ;×EÑEÔEÜ% d°&Ó9Ð9àœ;×-Ñ-Õ-Ø"×7Ñ7¸ÓEˆOõ Ká2Ó4ˆIØÒ$Ü˜	“? d×&;Ñ&;Ô;Ø"×3Ñ3´D¸³OÕD�GÙ.×0Ô0°Dñ ")¨Ð!?°Ò!?¸Ñ!?˜÷ 1Ð0ð
 !×@×@Ð@Ù2×4Ô4¸Ø#,×#?Ñ#?ÀÀbÈ$Ó#W÷ 5Ò4ô 2ØSÐTX×T^ÑT^ÐS_Ð_iÐjsÐitð u)Ø)2¨ð 4WØW`ÐVað bVàVZ×V`ÑV`ÐUað b Ø )˜{ð +LðMóð ð ¤Ó/Ø!�Mô '�Ü $ S£	�à!×4Ñ4Ü—x‘x×=Ñ=ó>ñ ð !¤E×$5Ñ$5×$AÑ$A×$LÑ$LÓLÜ$)×$5Ñ$5×$AÑ$A×$PÑ$P�MØ"×3Ñ3°MÕB�GÙ$ S§]¡]ÐD°TÒD¸VÑD�FØ!’Mà ×$9Ñ$9Ô9Ø"×3Ñ3°MÕB�Gñ % dÐ5¨fÑ5‘Fä-Ø?ÀÇ
Á
¸|È>ÐZgÐYhð i8ð 9óð ð ¤Ö/Ø!’Mñ= 'ôB Ø'¨¯
©
 |ð 4!ð "+ ð , Ù;JÓ K¹?°a¤ a£×!1Ô!1¹?Ñ KÐLð M5Ø59·Z±Z°LÀÀiÀ[ÐPgðióð ô "ŸH™H×:Ñ:¸<ÓHÐØ¤× 7Ñ 7Ô7ÝJô
 7Ó8¸1Ô<Ü—h‘h×EÑEÜ×"Ñ"÷ò ô DÓE�	ØÒ$Ü(Øcóð ô ˜	“?¨$×*?Ñ*?Ô?Ü(Ø.¨y¨k¸ÐIóð ð ×/Ñ/´°Y³Õ@�Ù*Ð+<×=Ô=ÀÙ" 4Ð9¨$Ò9°&Ñ9÷ >Ò=ô   Ó3ˆ	ð ˜DŸO™OÔ+Ü%Ø@ÀÇÁÀð M#Ø#, +Ð-=¸l¸^È1ðNóð ð œ;×2Ñ2Ô2Ø15·±ÀÕ1KˆD× Ñ  Ñ.Ø—‘ Õ+ˆô �fœk×*Ò*Ü Ð#IÈ&ÈÐ!RÓSÐSÙ�tÐ&˜vÑ&Ð&÷[ 1×0Ð0ú÷ 5×4Ð4üòl !L÷2 >×=ús*   Ã4RÄ+R,Ê0S ÏSÒR)	Ò,R=	ÓS	c               ó   € \        W4      p\        P                  P                  V4      '       d%   \        P                  P                  ! W.VO5/ VB # ?\        WV P                  4      pV P                  ! VP                  4       .VO5/ VB # r)   )	Ú_to_flat_tuplerA   Ú	overridesÚhas_torch_functionÚhandle_torch_functionÚ_compute_keysetrµ   r$  ÚhighestPriorityTypeId)r/   r7   r8   Ú	flat_argsÚdispatch_key_sets   "*,  r$   r9   ÚHigherOrderOperator.__call__  s‡   € ä" 4Ó0ˆ	Ü�?‰?×-Ñ-¨i×8Ò8Ü—?‘?×8Ò8ØðØ"&òØ*0ñð ð ä*¨4¸×9RÑ9RÓSÐØ�}Š}Ð-×CÑCÓEÐWÈÒWÐPVÑWÐWr2   c                ó4   € \        R V P                   R24      h)zHigherOrderOperator z¼ does not implement a gen_schema. This is OK as long as the hop is functional. e.g. it should not mutate its inputs and there are no input, output aliasing via views or direct referencing.)r5   r¯   r6   s   &*,r$   rØ   ÚHigherOrderOperator.gen_schema3  s$   € Ü!Ø" 4§:¡: ,ð //ð 0ó
ð 	
r2   c                ó$   € V P                  4        # r)   )rb   r.   s   &r$   Ú__str__ÚHigherOrderOperator.__str__;  s   € Ø—)‘)“+�Ðr2   c                ó   € V P                   # r)   ©r¯   r.   s   &r$   rb   ÚHigherOrderOperator.name>  ó   € Ø�z‰zÐr2   c                ó   € V # r)   re   ©r/   Úmemos   &&r$   Ú__deepcopy__Ú HigherOrderOperator.__deepcopy__B  ó   € Øˆr2   )r�   rŒ   r²   r¯   r±   r³   rµ   r)   )rŒ   r�   rŽ   r�   r0   rf   rÞ   Úpropertyrá   r
   r©   r·   r  r$  ÚabcÚabstractmethodr9   rØ   r3  rb   r<  r‘   r’   Ú__classcell__©r¹   rP   s   @@r$   r¨   r¨     s£   ù‡ € ð+Ø!&ð+ØIN÷+÷D"ó "÷ð ð> ñó ðð ÷
ó ð
òS÷&ð &ò0C'ðJ 	×Ññ	Xó ð	Xò.
ò ò÷ô r2   r¨   c                 ó.   € \         P                  ! V / VB # r)   )rÕ   Úarg_tree_leaves©r7   r8   s   &&r$   r'  r'  F  s   € Ü×!Ò! 4Ð2¨6Ñ2Ð2r2   c                 ó.   € \        W4      p\        W24      # r)   )Ú_get_tensorsÚkey_extractor)r7   r8   rµ   Útensorss   &&& r$   r+  r+  J  s   € Ü˜4Ó(€GÜ˜Ó7Ð7r2   c                 óž   € \        W4      pV Uu. uF'  p\        V\        P                  4      '       g   K%  VNK)  	  pp\	        V4      # u upi r)   )r'  r_   rA   rN   rö   )r7   r8   Úflat_allrÈ   Útensor_argss   &&   r$   rH  rH  O  s@   € Ü˜dÓ+€HÙ&ÓF™h˜¬*°Q¼¿¹×*E—1�1™h€KÐFÜ�ÓÐùò Gs
   �"A
·A
c                 óú   € \         P                  P                  4       pV  F)  pV\         P                  P                  V4      ,          pK+  	  V\         P                  P	                  4       ,
          pW!,          pV# r)   )rA   rB   Ú_dispatch_tls_local_include_setrû   Ú_dispatch_tls_local_exclude_set)rJ  Úkey_maskÚkey_setrü   s   &&  r$   rI  rI  W  s[   € Ü�h‰h×6Ñ6Ó8€GÛˆØœEŸH™H×3Ñ3°FÓ;Õ;Šñ àœŸ™×@Ñ@ÓBÕB€GØÕ €GØ€Nr2   c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú_ModeStackStateForPreDispatchim  c                ó&   € R R .V n         R V n        R # r)   )Ú*_ModeStackStateForPreDispatch__infra_modesÚ_schema_check_moder.   s   &r$   r0   Ú&_ModeStackStateForPreDispatch.__init__n  s   € Ø" D˜\ˆÔØ"&ˆÖr2   c                óž   € V\        V P                  4      8¼  d%   \        R V R\        V P                  4       24      hW P                  V&   R# )úindex ú& out of bounds for infra_modes length N©ÚlenrV  r]   )r/   Úindexrv   s   &&&r$   ÚsetÚ!_ModeStackStateForPreDispatch.setr  sO   € Ø”C˜×*Ñ*Ó+Ô+Ü Ø˜˜ÐEÄcÈ$×J\ÑJ\ÓF]ÐE^Ð_óð ð %)×Ñ˜5Ó!r2   c                ó¤   € V\        V P                  4      8¼  d%   \        R V R\        V P                  4       24      hV P                  V,          # )rZ  r[  r\  )r/   r^  s   &&r$   ÚgetÚ!_ModeStackStateForPreDispatch.gety  sR   € Ø”C˜×*Ñ*Ó+Ô+Ü Ø˜˜ÐEÄcÈ$×J\ÑJ\ÓF]ÐE^Ð_óð ð ×!Ñ! %Õ(Ð(r2   c                ó˜   € \        V P                   Uu. uF
  qf   K  VNK  	  up4      \        V P                  R J4      ,           # u upi r)   )r]  rV  ÚintrW  )r/   Úis   & r$   ÚcountÚ#_ModeStackStateForPreDispatch.count€  sF   € Ü˜t×1Ò1ÓCÑ1˜!—A�AÑ1ÑCÓDÄsØ×#Ñ#¨4Ð/óH
õ 
ð 	
ùÒCs
   ”AžA)Ú__infra_modesrW  N)
rŒ   r�   rŽ   r�   r0   r_  rb  rg  r‘   r’   r“   s   @r$   rT  rT  m  s   ø‡ € ò'ò)ò)÷
ð 
r2   rT  c                 ó®  a a€ \        4       o\        P                  P                  P                  \        P                  P                  P
                  3pS e   S V9  d   \        RV RS  24      hV'       d   S e   \        R4      hVV 3R lpV! 4       p\        4       pV^ 8X  d/   \        P                  P                  \        P                  R4       V# )Nz mode_key must be None or one of z, got z/mode_key must be None when schema_check is Truec                  ó¢  <€ S\         P                  P                  P                  J d.   SP	                  ^ 4      p \        4       P                  ^ R4       V # S\         P                  P                  P                  J d.   SP	                  ^4      p \        4       P                  ^R4       V # \        4       P                  p R\        4       n        V # )r   N)	rA   rB   Ú_TorchDispatchModeKeyÚPROXYrb  Ú!mode_stack_state_for_pre_dispatchr_  Ú
FUNCTIONALrW  )Úcurrent_modeÚcurrent_mode_stack_pre_dispatchÚmode_keys    €€r$   Ú_unset_modeÚ,unset_mode_pre_dispatch.<locals>._unset_mode—  s§   ø€ ð ”u—x‘x×5Ñ5×;Ñ;Ó;Ø:×>Ñ>¸qÓAˆLÜ-Ó/×3Ñ3°A°tÔ<ØÐØœŸ™×7Ñ7×BÑBÓBØ:×>Ñ>¸qÓAˆLÜ-Ó/×3Ñ3°A°tÔ<ØÐä<Ó>×QÑQˆLØEIÔ-Ó/ÔBØÐr2   F)rn  rA   rB   rl  rm  ro  r]   r  Ú'_dispatch_tls_set_dispatch_key_includedr   r  )rr  Úschema_checkÚ
valid_keysrs  rp  Únew_pre_dispatch_lenrq  s   f&    @r$   Úunset_mode_pre_dispatchry  ‰  s¾   ù€ Ü&GÓ&IÐ#ä�‰×&Ñ&×,Ñ,Ü�‰×&Ñ&×1Ñ1ð€Jð Ò °
Ô :ÜØ.¨z¨l¸&ÀÀ
ÐKó
ð 	
÷ ØÒÜ Ð!RÓSÐSö ñ  “=€LäAÓCÐð
 ˜qÔ Ü�‰×8Ñ8¼×9PÑ9PÐRWÔXàÐr2   c                 óÊ  € ^ RI Hp ^ RIHp ^ RIHp \        V VVV34      '       g   \        R\        V 4       24      h\        4       p\        W4      '       d7   \        4       P                  pV^ 8”  d   \        R4      hV \        4       n        Mœ\        W4      '       dG   \        4       P                  ^4      pVe   \        RV 24      h\        4       P                  ^V 4       ME\        4       P                  ^ 4      pVe   \        RV 24      h\        4       P                  ^ V 4       V^ 8X  d1   \        P                  P!                  \"        P$                  R	4       R# R# )
r   )rk   )ÚSchemaCheckMode)ÚProxyTorchDispatchModezSmode must be FunctionalTensorMode, ProxyTorchDispatchMode, or SchemaCheckMode, got zYSchemaCheckMode for pre-dispatch must be used exclusively, found other modes on the stackNz.FunctionalTensorMode slot already occupied by z0ProxyTorchDispatchMode slot already occupied by T)r~   rk   Ú#torch._subclasses.schema_check_moder{  Ú"torch.fx.experimental.proxy_tensorr|  r_   r]   rM   r  rn  rW  rb  r_  rA   rB   ru  r   r  )rv   rk   r{  r|  Úprevious_mode_stack_lenrp  s   &     r$   Ú_set_mode_pre_dispatchr€  ´  sV  € ÝHÝCÝIäØà Ø"Øð	
÷ò ô ØaÔbfÐgkÓblÐamÐnó
ð 	
ô EÓFÐÜ�$×(Ò(Ü8Ó:×MÑMˆØ" QÔ&Ü Økóð ð BFÔ)Ó+Õ>Ü	�D×	/Ò	/Ü8Ó:×>Ñ>¸qÓAˆØÒ#Ü Ø@ÀÀÐOóð ô 	*Ó+×/Ñ/°°4Õ8ä8Ó:×>Ñ>¸qÓAˆØÒ#Ü ØBÀ<À.ÐQóð ô 	*Ó+×/Ñ/°°4Ô8ð  !Ô#Ü�‰×8Ñ8¼×9PÑ9PÐRVÖWñ $r2   c                  óˆ  € \        4       p \        4       pV^ 8X  d   \        R4      hV P                  e   \	        RRR7      # V P                  ^4      e.   \	        \        P                  P                  P                  4      # V P                  ^ 4      e.   \	        \        P                  P                  P                  4      # R# )r   zTrying to pop empty mode stackNT)rv  )rn  r  r]   rW  ry  rb  rA   rB   rl  ro  rm  )Ú
mode_stackÚpre_dispatch_lens     r$   Ú_pop_mode_from_pre_dispatchr„  ä  s™   € Ü2Ó4€JÜ=Ó?Ðà˜1ÔÜÐ=Ó>Ð>à×$Ñ$Ò0Ü& t¸$Ô?Ð?Ø‡~�~�aÓÒ$Ü&¤u§x¡x×'EÑ'E×'PÑ'PÓQÐQØ‡~�~�aÓÒ$Ü&¤u§x¡x×'EÑ'E×'KÑ'KÓLÐLñ %r2   c                  ó2   € \        4       P                  4       # r)   )rn  rg  re   r2   r$   r  r  ó  s   € Ü,Ó.×4Ñ4Ó6Ð6r2   c                 ó"  € V \         P                  P                  P                  J d   \	        4       P                  ^ 4      # V \         P                  P                  P                  Jd   \        RV  24      h\	        4       P                  ^4      # )r   z*mode_key must be PROXY or FUNCTIONAL, got )rA   rB   rl  rm  rn  rb  ro  r]   )rr  s   &r$   Ú_get_dispatch_mode_pre_dispatchr‡  ÷  ss   € à”5—8‘8×1Ñ1×7Ñ7Ó7Ü0Ó2×6Ñ6°qÓ9Ð9àœ5Ÿ8™8×9Ñ9×DÑDÓDÜ Ø<¸X¸JÐGóð ô 1Ó2×6Ñ6°qÓ9Ð9r2   c                  ór  € \        4       P                  e   \        4       P                  # \        4       P                  4       p V ^8X  d   \        4       P                  ^4      # V ^8X  dN   \        4       P                  ^4      e   \        4       P                  ^4      # \        4       P                  ^ 4      # R # r)   )rn  rW  rg  rb  )Ú	stack_lens    r$   r  r    sž   € Ü(Ó*×=Ñ=ÒIÜ0Ó2×EÑEÐEä5Ó7×=Ñ=Ó?ˆ	Ø˜Œ>Ü4Ó6×:Ñ:¸1Ó=Ð=Ø˜Œ>ô 5Ó6×:Ñ:¸1Ó=ÒIô 2Ó3×7Ñ7¸Ó:ðô 7Ó8×<Ñ<¸QÓ?ðñ
 r2   c                  ó   € \         # r)   )Ú"_mode_stack_state_for_pre_dispatchre   r2   r$   rn  rn    s   € ä-Ð-r2   c                 ó0   € \         P                  V 4       R # r)   )Ú
cached_opsr¾   )Úop_overloads   &r$   Úadd_cached_opr�    s   € ä‡N�N�;Ör2   c                  ó.   € \         P                  4        R # r)   )r�  r^   re   r2   r$   Úreset_cached_opsr‘     s   € ä×ÑÖr2   c                  ó   € \         # r)   )r�  re   r2   r$   Úget_cached_opsr“  %  s   € äÐr2   c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )Ú_PyObjectDispatcheri*  c                ót   <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[ S[S[S[3,          S[3,          ;R&   # )rJ   r$  Ú
redispatch)r   r   r   r	   r   )rO   rP   s   "€r$   rQ   Ú _PyObjectDispatcher.__annotate__*  s<   ø‡ ‚ ñ* ‘r™2�vÕÑñ+ ñ, ™¡^±RÐ%7Õ8¹"Ð<Õ=Ñ=ò- r2   re   N)rŒ   r�   rŽ   r�   Ú__annotate_func__r‘   r’   r“   s   @r$   r•  r•  *  s   ø‡ ‡ „ r2   r•  c                   óÖ  a a€ ] tR tRt oV3R lV 3R llt]V3R lR l4       t]V3R lR l4       t]V3R lR	 l4       tR+R
 lt	R t
V3R lR ltV3R lR ltR tR tV3R lV 3R lltV3R lV 3R l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R,V3R" lR# lltV3R$ lR% ltR& t]R' 4       t]R( 4       t]R) 4       tR*tVtV ;t # )-Ú
OpOverloadiE  c                ó´   <€ V ^8„  d   QhRRRS[ S[S[3,          RS[ S[S[S[3,          S[3,          RS[P                  P                  RS[S[	,          RR/# )	rJ   ÚoverloadpacketÚOpOverloadPacketr•   Úop_dkrÛ   ÚtagsrK   N)
r   r   r   r	   r   rA   rB   ÚFunctionSchemar  r   )rO   rP   s   "€r$   rQ   ÚOpOverload.__annotate__F  sq   ø€ ÷ .=ñ .=à*ð.=ñ ‘R™�VÕð.=ñ ™¡K± OÕ4±bÐ8Õ9ð	.=ñ
 —‘×'Ñ'ð.=ñ ‘3�ið.=ð 
ñ.=r2   c                ó  <€ \         SV `  4        W n        W n        W0n        W@n        R V n        Wn        WPn        VP                  R8X  d   RMVP                  V n
        V'       d#   \        P                  P                  V9   V n        V P
                  P                  V n        VP                  '       d+   V ;P                   RVP                  ,           ,          un        V P
                  P                  P#                  R4      ^,           RV P                   2V n        VP&                  V n        VP&                  Vn        V P                   V n        / V n        V P(                  \        P,                  P.                  9   V n        R pV P
                  P2                   FO  pVP4                  f   K  Vf   VP4                  P6                  pK/  VP4                  P6                  ;'       g    TpKQ  	  VR J;'       d    V'       * V n        R # )NÚ r   rê   ú::)r®   r0   Ú_opÚ_cpp_dispatch_handleÚ_op_dkÚ_schemaÚ_pyobj_dispatcherÚ_overloadpacketÚ_tagsÚoverload_nameÚ_overloadnamerA   ÚTagÚnondeterministic_seededÚ_nondeterministic_seededrb   r¯   ÚsplitrŒ   r�   rŽ   Ú__annotations__ÚlibraryÚ_defsÚ_defined_in_pythonrÚ   Ú
alias_inforÍ   Úis_view)	r/   r�  r•   rŸ  rÛ   r   rÍ   r  r¹   s	   &&&&&&  €r$   r0   ÚOpOverload.__init__F  sœ  ø€ ô 	‰ÑÔØŒð %'Ô!ØŒØŒØEIˆÔØ-ÔØŒ
à×-Ñ-°Ô3‰I¸×9MÑ9Mð 	Ô÷ Ü,1¯I©I×,MÑ,MÐQUÑ,UˆDÔ)Ø—\‘\×&Ñ&ˆŒ
Ø××ÐØ�JŠJ˜# × 4Ñ 4Õ4Õ4�JØŸ<™<×,Ñ,×2Ñ2°4Ó8¸Õ;Ð<¸A¸d×>PÑ>PÐ=QÐRˆŒØ(×3Ñ3ˆŒØ&×1Ñ1ˆŒØ ŸJ™JˆÔØ!ˆÔð #'×"3Ñ"3´u·}±}×7JÑ7JÑ"JˆÔð ˆØ—‘×'Ô'ˆAØ�|‰|Ò#ÙØÒØŸ<™<×0Ñ0’ð Ÿ<™<×0Ñ0×<Ð<°H’ñ (ð   tÐ+×<Ð<°H´ˆŽr2   c                ó    <€ V ^8„  d   QhRS[ /# rå   ©rø   )rO   rP   s   "€r$   rQ   r¢  w  s   ø€ ÷ <ñ <™Cñ <r2   c                ó^   € V P                   P                  P                  R ^R7      ^ ,          # ©r¥  )Úmaxsplit©r©  rb   r²  r.   s   &r$   Ú
_namespaceÚOpOverload._namespacev  ó'   € à�|‰|× Ñ ×&Ñ& t°aÐ&Ó8¸Õ;Ð;r2   c                ó    <€ V ^8„  d   QhRS[ /# rå   r»  )rO   rP   s   "€r$   rQ   r¢  {  s   ø€ ÷ <ñ <™ñ <r2   c                ó^   € V P                   P                  P                  R ^R7      ^,          # r½  r¿  r.   s   &r$   Ú_opnameÚOpOverload._opnamez  rÂ  r2   c                óH   <€ V ^8„  d   QhRS[ P                  P                  /# rå   )rA   rB   Ú_DispatchOperatorHandle)rO   rP   s   "€r$   rQ   r¢    s   ø€ ÷ 
ñ 
™Ÿ™×9Ñ9ñ 
r2   c                ó’   € \         P                  P                  V P                  P                  V P                  P
                  4      # r)   )rA   rB   Ú_dispatch_find_schema_or_throwr©  rb   r­  r.   s   &r$   Ú_handleÚOpOverload._handle~  s4   € ô �x‰x×6Ñ6Ø�L‰L×Ñ˜tŸ|™|×9Ñ9ó
ð 	
r2   c                ó   € V # r)   re   r:  s   &&r$   r<  ÚOpOverload.__deepcopy__†  r>  r2   c                óV   € R V P                    RV P                   RV P                   R2# )z<OpOverload(op='rê   z', overload='z')>)rÀ  rÅ  r®  r.   s   &r$   Ú__repr__ÚOpOverload.__repr__‰  s.   € Ø! $§/¡/Ð!2°!°D·L±L°>ÀÈt×OaÑOaÐNbÐbeÐfÐfr2   c                óT   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[/# ro   rp   )rO   rP   s   "€r$   rQ   r¢  Ž  ó*   ø€ ÷ )ñ )¡§¡ð )±B·I±Ið )Á"ñ )r2   c               ó®   € V P                   e7   \        P                  P                  4       '       d   V P                  ! V/ VB # V P
                  ! V/ VB # r)   )rª  rA   rB   Ú _peek_should_skip_torch_functionr§  r¦  r6   s   "*,r$   r9   ÚOpOverload.__call__Ž  sK   € à×"Ñ"Ò.Ü—‘×9Ñ9×;Ò;à×,Ò,¨dÐ=°fÑ=Ð=Ø�xŠx˜Ð( Ñ(Ð(r2   c                ó‚   <€ V ^8„  d   QhRS[ P                  P                  RS[P                  RS[P
                  RS[/# )rJ   Úkeysetr7   r8   rK   )rA   rB   r   r   r7   r8   r   )rO   rP   s   "€r$   rQ   r¢  ˜  sE   ø€ ÷ Fñ FÙŸ™×0Ñ0ðFÙ9;¿¹ðFÙLNÏIÉIðFá	ñFr2   c               óŽ   € V P                   pVe   VP                  ! V.VO5/ VB # V P                  P                  ! V.VO5/ VB # r)   )rª  r—  rË  Úredispatch_boxed)r/   rØ  r7   r8   Úpyobj_dispatchers   "&*, r$   r—  ÚOpOverload.redispatch˜  sP   € ð  ×1Ñ1ÐØÒ'Ø#×.Ò.¨vÐG¸ÒGÀÑGÐGØ�|‰|×,Ò,¨VÐE°dÒE¸fÑEÐEr2   c                ó,   € \        V P                  4      # r)   )Úhashr§  r.   s   &r$   Ú__hash__ÚOpOverload.__hash__   s   € Ü�D×-Ñ-Ó.Ð.r2   c                ó†   € R P                   ! . V P                  P                  P                  R4      OV P                  N5!  # )z{}.{}.{}r¥  )rO   r©  rb   r²  r®  r.   s   &r$   r3  ÚOpOverload.__str__¤  s6   € Ø× Ò ÐT $§,¡,×"3Ñ"3×"9Ñ"9¸$Ó"?ÐTÀ×ASÑASÓTÐTr2   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rI   )r   rç   )rO   rP   s   "€r$   rQ   r¢  §  s   ø€ ÷ Lñ L©[ð L¹Tñ Lr2   c                óŽ   <€ \         SV `  V4      ;'       g/    \        P                  P	                  V P                  4       V4      # r)   )r®   r>   rA   rB   Ú%_dispatch_has_kernel_for_dispatch_keyrb   r¿   s   &&€r$   r>   Ú&OpOverload.has_kernel_for_dispatch_key§  s?   ø€ Ü‰wÑ2Øó
÷ Lð Lä�X‰X×;Ñ;¸D¿I¹I»KÈÓKð	Lr2   c                óN   <€ V ^8„  d   QhRS[ P                  P                  RS[/# )rJ   rE   rK   )rA   rB   r   rç   )rO   rP   s   "€r$   rQ   r¢  ¬  s%   ø€ ÷ 9ñ 9±%·(±(×2IÑ2Ið 9Édñ 9r2   c                óŽ   <€ \         P                  P                  V P                  4       V4      ;'       g    \        SV `  V4      # r)   )rA   rB   Ú)_dispatch_has_kernel_for_any_dispatch_keyrb   r®   rF   )r/   rE   r¹   s   &&€r$   rF   Ú*OpOverload.has_kernel_for_any_dispatch_key¬  s<   ø€ Ü�x‰x×AÑAØ�I‰I‹K˜ó
÷ 9ð 9ä‰WÑ4°RÓ8ð	9r2   c                ó    <€ V ^8„  d   QhRS[ /# rå   r»  )rO   rP   s   "€r$   rQ   r¢  ²  s   ø€ ÷ ñ ™3ñ r2   c                ó   € V P                   # r)   )rÀ  r.   s   &r$   rá   ÚOpOverload.namespace±  s   € à�‰Ðr2   c                ó    <€ V ^8„  d   QhRS[ /# rå   ræ   )rO   rP   s   "€r$   rQ   r¢  µ  s   ø€ ÷ 
ñ 
¡ñ 
r2   c                óª   € \         P                  pWP                  9   ;'       g/    \        P                  P                  V P                  4       V4      # r)   )r   rž   r+   rA   rB   rå  rb   )r/   Údks   & r$   Ú_can_decomposeÚOpOverload._can_decomposeµ  sB   € Ü×2Ñ2ˆØ—_‘_Ñ$÷ 
ð 
¬¯©×(VÑ(VØ�I‰I‹K˜ó)
ð 	
r2   c                óT   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[/# ro   rp   )rO   rP   s   "€r$   rQ   r¢  »  s*   ø€ ÷ "ñ "™rŸw™wð "±"·)±)ð "Áñ "r2   c                ó  € \         P                  pW0P                  9   d   V P                  V,          ! V/ VB # \        P                  P                  V P                  4       V4      '       d   V P                  ! V.VO5/ VB # \        # r)   )	r   rž   r+   rA   rB   rå  rb   r¨  r   )r/   r7   r8   rð  s   &*, r$   Ú	decomposeÚOpOverload.decompose»  sn   € Ü×2Ñ2ˆØ—‘Ô ð
 —?‘? 2Ö&¨Ð7°Ñ7Ð7Ü�X‰X×;Ñ;¸D¿I¹I»KÈ×LÒLØ—;’;˜rÐ3 DÒ3¨FÑ3Ð3ä!Ð!r2   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rJ   ÚkeyrK   N©r   )rO   rP   s   "€r$   rQ   r¢  Ð  s   ø€ ÷ ,ñ ,¡[ð ,°Tñ ,r2   c                ó>   € V P                   P                  VR 4       R # r)   )r*   Úpop)r/   rø  s   &&r$   Ú_uncache_dispatchÚOpOverload._uncache_dispatchÐ  s   € Ø×Ñ× Ñ   dÖ+r2   c                ó    <€ V ^8„  d   QhRS[ /# rå   ræ   )rO   rP   s   "€r$   rQ   r¢  Ó  s   ø€ ÷ 2ñ 2©dñ 2r2   c                ó   € V P                   R J# r)   )rª  r.   s   &r$   Ú_is_pyobj_dispatcher_enabledÚ'OpOverload._is_pyobj_dispatcher_enabledÓ  s   € Ø×%Ñ%¨TÐ1Ð1r2   c                ó    <€ V ^8„  d   QhRS[ /# rå   ræ   )rO   rP   s   "€r$   rQ   r¢  Ö  s   ø€ ÷ 
ñ 
©Dñ 
r2   c                óº   € \         ;QJ d0    R  V P                  P                   4       F  '       d   K   R# 	  R# ! R  V P                  P                   4       4      # )c              3   ój   "  € T F)  p\        VP                  \        P                  4      x € K+  	  R # 5ir)   )r_   rM   rA   Ú
TensorType)rÏ   Úrets   & r$   rÑ   Ú8OpOverload._can_enable_pyobj_dispatch.<locals>.<genexpr>Ù  s(   é € ð 
Ù>R°sŒJ�s—x‘x¤×!1Ñ!1×2Ð2Ó>Rùó   ‚13FT)Úallr©  Úreturnsr.   s   &r$   Ú_can_enable_pyobj_dispatchÚ%OpOverload._can_enable_pyobj_dispatchÖ  sS   € ÷ ‹sñ 
Ø>B¿l¹l×>RÒ>Ró
�sŒsð 	
Šsð 	
ˆsñ 
Ø>B¿l¹l×>RÒ>Ró
ó 
ð 	
r2   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rJ   ÚenabledrK   Nræ   )rO   rP   s   "€r$   rQ   r¢  Ý  s   ø€ ÷ ñ ©dð ¸dñ r2   c                ój  € V P                  4       V8X  d   R # V'       g   R V n        V P                  V n        R # V P	                  4       '       g   R # \
        P                  P                  V P                  V P                  V P                  P                  4      w  r#\        W#4      V n        W n        R # r)   )r   rª  r§  r¦  r  rA   rB   Ú!_dispatch_make_pyobj_dispatch_fnsrË  rÚ  r•  )r/   r  r$  r—  s   &&  r$   Ú_enable_pyobj_dispatchÚ!OpOverload._enable_pyobj_dispatchÝ  s‹   € Ø×,Ñ,Ó.°'Ô9ÙßØ%)ˆDÔ"Ø×0Ñ0ˆDŒHÙØ×.Ñ.×0Ò0ÙÜ$Ÿx™x×IÑIØ�L‰LØ×%Ñ%Ø�L‰L×)Ñ)ó 
Ñˆô
 "5°XÓ!JˆÔØŽr2   c                óL   <€ V ^8„  d   QhRS[ RS[ S[S[S[3,          ,          /# ©rJ   rø  rK   )r   r   r   r   )rO   rP   s   "€r$   rQ   r¢  ï  s-   ø€ ÷ _ñ _¡ð _±¹xÉÉBÈÕ?OÕ1Oñ _r2   c                óÖ  a a€ SS P                   9   d   \        S  R S R24      hS\        P                  8X  dk   \	        S \
        4      '       g/   S P                  '       g   SS P                   S&   \        S 4       S# R VV 3R llpVS P                   S&   \        S 4       V# \        P                  P                  S4      pV\        P                  8X  dP   \        4       pV^ 8”  d?   \        P                  P                  \        P                  4      '       g   R V 3R llpV# \        S S4      pS\        P                  8g  pS\        P                  8X  dR   ^ RIHu Hp VP&                  '       d7   VP)                  S V4      pV'       d   VS P                   S&   \        S 4       V# S P*                  P-                  WU4      pV'       d   VS P                   S&   \        S 4       V# )Ú z already in dispatch cachec                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# ro   rp   )rO   s   "r$   rQ   Ú.OpOverload._get_dispatch.<locals>.__annotate__ú  s.   € ÷ Sñ SœrŸw™wð S´"·)±)ð SÄñ Sr2   c                  óš  <€ ^ RI Hp \        V! 4       4      pVf   \        R4      hVSP                  9  d—   \        S\        4      '       dk   \        P                  P                  P                  4       ;_uu_ 4       p\        P                  P                  P                  ! VS.V O5/ VB uuRRR4       # SP                  ! S.V O5/ VB # \        P                  P                  P                  4       ;_uu_ 4       pSP                  V,          ! V.V O5/ VB uuRRR4       #   + '       g   i     Lh; i  + '       g   i     R# ; i)r   r
  NzDIllegal invocation of dispatch on DispatchKey.Python without a mode.)r  r  rM   r]   r,   r_   ÚTorchBindOpOverloadrA   ÚutilsÚ_python_dispatchr  Ú_libraryÚhandle_dispatch_moder¨  )r7   r8   r  r  rv   rø  r/   s   *,   €€r$   r  Ú)OpOverload._get_dispatch.<locals>.handlerú  s  ø€ ÝSô !Ñ!;Ó!=Ó>�	ØÒ$Ü(Ø^óð ð  D×$9Ñ$9Ô9Ü! $Ô(;×<Ò<ä!ŸK™K×8Ñ8×NÑN×PÔPÐTXä#(§>¡>×#7Ñ#7×#LÒ#LØ $ dð$Ø-1ò$Ø5;ñ$÷ QÒPð  $Ÿ{š{¨3Ð@°Ò@¸Ñ@Ð@ä—[‘[×1Ñ1×GÑG×IÔIÈTØ×0Ñ0°Ö;¸DÐRÀ4ÒRÈ6ÑR÷ JÒI÷ Q×Pú÷ J×IÐIús   Á>/D&Ã>D9Ä&D6	Ä9E
	c                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# ro   rp   )rO   s   "r$   rQ   r  #  s)   € ÷ ñ ¤2§7¡7ð ´b·i±ið ÄBñ r2   c                  óê   <€ \         P                  R  4       pV! 4       ;_uu_ 4       p\        P                  P                  P
                  ! VS.V O5/ VB uuRRR4       #   + '       g   i     R# ; i)c               3   ób   "  € \        4       p  V x € \        V 4       R #   \        T 4       i ; i5ir)   )r„  r€  )Útop_modes    r$   Ú(_temporarily_pop_modes_from_pre_dispatchÚ[OpOverload._get_dispatch.<locals>.handler.<locals>._temporarily_pop_modes_from_pre_dispatch$  s(   é € ä#>Ó#@˜ð=Ø"*šNä2°8Ö<øÔ2°8Õ<üs   ‚/Ž ’/Ÿ,¬/N)Ú
contextlibÚcontextmanagerrA   r  r  r  )r7   r8   r$  r  r/   s   *,  €r$   r  r  #  sf   ø€ Ü×.Ñ.ñ=ó /ð=ñ B×CÔCÀyÜ$Ÿ~™~×3Ñ3×HÒHØ% tð Ø.2ò Ø6<ñ ÷ D×C×CÓCús   §/A!Á!A2	N)r*   r]   r   r`   r_   r  r,   r�  rA   rB   r  r  r  r  r¦   r‡   Útorch._dispatch.pythonÚ	_dispatchÚpythonÚCROSSREF_FUNCTIONALIZEÚmake_crossref_functionalizer+   rb  )	r/   rø  r  r"  Úcurr_stack_lenr#  Úcache_resultÚ
pydispatchÚrs	   ff       r$   Ú_get_dispatchÚOpOverload._get_dispatchï  s¥  ù€ à�$×&Ñ&Ô&Ü  D 6¨¨3¨%Ð/IÐ!JÓKÐKà”+×$Ñ$Ô$Ü˜dÔ$7×8Ò8À×AV×AVÐAVØ,/�×$Ñ$ SÑ)Ü˜dÔ#Ø�
÷Sñ Sð2 )0ˆD× Ñ  Ñ%Ü˜$ÔØˆNä!ŸH™H×:Ñ:¸3Ó?ÐØ¤× 7Ñ 7Ô7ÜCÓEˆNð  Ô"ÜŸ™×GÑGÜ×&Ñ&÷ò ÷
ð ð& �ä  cÓ*ˆ	ð œk×5Ñ5Ñ5ˆð
 ”+×+Ñ+Ô+ß7Ð7à×0×0Ð0Ø$×@Ñ@ÀÀyÓQ�ßØ07�D×(Ñ(¨Ñ-Ü! $Ô'Ø�à�O‰O×Ñ 	Ó5ˆßØ()ˆD× Ñ  Ñ%Ü˜$ÔØˆr2   c                ó   € V P                   # r)   r6  r.   s   &r$   rb   ÚOpOverload.nameP  r8  r2   c                ó   € V P                   # r)   )r«  r.   s   &r$   r�  ÚOpOverload.overloadpacketS  s   € à×#Ñ#Ð#r2   c                ó   € V P                   # r)   ©r¦  r.   s   &r$   r•   ÚOpOverload.opW  rã   r2   c                ó   € V P                   # r)   )r¬  r.   s   &r$   r   ÚOpOverload.tags[  s   € à�z‰zÐr2   )r³  r�   rŒ   rŽ   r§  r¶  r¯   r±  r¦  r¨  r®  r«  rª  r©  r¬  r¸  r)   )T)!rŒ   r�   rŽ   r�   r0   r   rÀ  rÅ  rË  r<  rÐ  r9   r—  rß  r3  r>   rF   r?  rá   rñ  rõ  rü  r   r  r  r1  rb   r�  r•   r   r‘   r’   rB  rC  s   @@r$   r›  r›  E  s1  ù‡ € ÷.=ó .=ð` ÷<ó ð<ð ÷<ó ð<ð ÷
ó ð
ôòg÷
)ð )÷Fð Fò/òU÷Ló L÷
9ó 9ð
 ÷ó ð÷
ð 
÷"ð "÷*,ð ,÷2ð 2÷
ð 
÷ò ÷$_ð _òBð ñ$ó ð$ð ñó ðð ñó ÷ð r2   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	# )
r  if  c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rå   )r  r   )rO   rP   s   "€r$   rQ   Ú TorchBindOpOverload.__annotate__g  s   ø€ ÷ 
ñ 
¡4©Õ#4ñ 
r2   c                óX  a € \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  .pR  V 3R llpV Uu. uF  pV! V4      '       g   K  VNK  	  up# u upi )c                ó$   € V ^8„  d   QhR\         /# )rJ   rø  rù  )rO   s   "r$   rQ   Ú;TorchBindOpOverload._fallthrough_keys.<locals>.__annotate__u  s   € ÷ 		ñ 		¼+ñ 		r2   c                 óP  <€ \         P                  P                  SP                  4       V 4      '       d/   \         P                  P	                  SP                  4       V 4      # V SP
                  9  ;'       g.    SP
                  V ,          \         P                  P                  J # r)   )rA   rB   rå  rb   Ú0_dispatch_kernel_for_dispatch_key_is_fallthroughr+   r´  Úfallthrough_kernel)rø  r/   s   &€r$   Ú(_may_use_fallthrough_instead_of_fallbackÚWTorchBindOpOverload._fallthrough_keys.<locals>._may_use_fallthrough_instead_of_fallbacku  s|   ø€ Ü�x‰x×=Ñ=¸d¿i¹i»kÈ3×OÒOÜ—x‘x×PÑPØ—I‘I“K óð ð
 ˜4Ÿ?™?Ñ*÷ Lð LØ—?‘? 3Õ'¬5¯=©=×+KÑ+KÐKðr2   )	r   r¡   ÚAutogradCPUÚAutogradCUDAÚADInplaceOrViewÚBackendSelectÚPythonTLSSnapshotÚPythonDispatcherr‡   )r/   Ú_DEFAULT_FALLTHROUGH_KEYSrE  rø  s   f   r$   Ú_fallthrough_keysÚ%TorchBindOpOverload._fallthrough_keysg  s�   ø€ ô × Ñ Ü×#Ñ#Ü×$Ñ$Ü×'Ñ'Ü×%Ñ%Ü×)Ñ)Ü×(Ñ(Ü×%Ñ%ð	%
Ð!÷		ð 		ñ 1ó
á0�Ù7¸×<÷ ˆCÙ0ñ
ð 	
ùò 
s   Â	B'ÂB'c                óT   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[/# ro   rp   )rO   rP   s   "€r$   rQ   r>  ˆ  rÓ  r2   c               ó�   € \        W4      '       d%   V P                  ! V P                  4       .VO5/ VB # V P                  ! V/ VB # r)   )Ú_must_dispatch_in_pythonÚ_dispatch_in_pythonrN  r¦  r6   s   "*,r$   r9   ÚTorchBindOpOverload.__call__ˆ  sG   € Ü# D×1Ò1ð ×+Ò+¨D×,BÑ,BÓ,DÐVÀtÒVÈvÑVÐVØ�xŠx˜Ð( Ñ(Ð(r2   c                ój   <€ V ^8„  d   QhRS[ S[,          RS[P                  RS[P                  RS[/# )rJ   Úfallthrough_keysr7   r8   rK   )r  r   r   r7   r8   r   )rO   rP   s   "€r$   rQ   r>  �  s:   ø€ ÷ ((ñ ((Ù $¡[Õ 1ð((Ù:<¿'¹'ð((ÙMOÏYÉYð((á	ñ((r2   c           	     ót  € \         P                  P                  4       pV F  pVP                  V4      pK  	  \	        W#V4      pVP                  4       pWpP                  9  d   V P                  V4      MV P                  V,          p\        V\        4      '       dg   \         P                  P                  V P                  4       V4      '       d   V P                  ! W.,           .VO5/ VB # \        R V  RV RV R24      h\        V\        4      '       g   \        R\!        V4       24      hV! V/ VB # )zTorchbind op z4 received a FakeScriptObject input when dispatching zÖ. but no python implementation is found. Please file an issue on this when you encounter this error. This error can happen when you export or compile the model. It can still happen even if a C++ implementation for zz.  has been registered. That's because FakeScriptObject purely lives in python and cannot work  with a C++ implementation.zhandler must be callable, got )rA   rB   r´   ró   r+  r,  r*   r1  r_   r   rC  rb   rS  ra   r   r]   rM   )	r/   rV  r7   r8   rµ   rø  r.  r¸   r  s	   &&*,     r$   rS  Ú'TorchBindOpOverload._dispatch_in_python�  sS  € ô  %Ÿx™x×=Ñ=Ó?ÐÛ#ˆCØ#7×#>Ñ#>¸sÓ#CÒ ñ $ô +¨4Ð9MÓNÐØ'×=Ñ=Ó?ˆð ×#7Ñ#7Ô7ð ×Ñ˜|Ô,à×%Ñ% lÕ3ð 	ô �gœ{×+Ò+ô �x‰x×HÑHØ—	‘	“˜\÷ò ð ×/Ò/Ø$ ~Õ5ðàòð ñð ô Ø ˜vÐ%YÐZaÐYbð cIð JVÈð W.ð	/óð ô ˜'¤8×,Ò,Ü Ð#AÄ$ÀwÃ-ÀÐ!QÓRÐRÙ˜Ð' Ñ'Ð'r2   re   N)	rŒ   r�   rŽ   r�   rN  r9   rS  r‘   r’   r“   s   @r$   r  r  f  s$   ø‡ € ÷
ð 
÷B)ð )÷((ö ((r2   r  c                ó$   € V ^8„  d   QhR\         /# rå   ræ   )rO   s   "r$   rQ   rQ   »  s   € ÷ ñ ¬ñ r2   c                óÞ  € \        V \        P                  P                  P                  4      '       d   R# \        V \
        \        34      '       d5   \        ;QJ d    R V  4       F  '       g   K   R# 	  R# ! R V  4       4      # \        V \        4      '       dQ   \        ;QJ d*    R V P                  4        4       F  '       g   K   R# 	  R# ! R V P                  4        4       4      # R# )z‰Check if obj is or contains a FakeScriptObject.
This is load-bearing for TorchBindOpOverloads so we avoid pytree
since it's much slower.
Tc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir)   ©Ú_contains_fake_script_object)rÏ   Úitems   & r$   rÑ   Ú/_contains_fake_script_object.<locals>.<genexpr>Ã  s   é € ÐFÁ#¸$Ô/°×5Ð5Ã#ùrÓ   Fc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir)   r\  ©rÏ   Úvs   & r$   rÑ   r_  Å  s   é € ÐI¹L°qÔ/°×2Ð2»LùrÓ   )
r_   rA   r  Úfake_class_registryÚFakeScriptObjectr  rö   rÙ   r÷   r  )Úobjs   &r$   r]  r]  »  s£   € ô
 �#”u—~‘~×9Ñ9×JÑJ×KÒKÙÜ	�Cœ$¤˜×	'Ò	'ß‹sÑFÁ#ÓF�sŒsÐFŠsÐFˆsÑFÁ#ÓFÓFÐFÜ	�Cœ×	Ò	ß‹sÑI¸C¿J¹J¼LÓI�sŒsÐIŠsÐIˆsÑI¸C¿J¹J¼LÓIÓIÐIÙr2   c                ó$   € V ^8„  d   QhR\         /# rå   ræ   )rO   s   "r$   rQ   rQ   É  s   € ÷ ñ ¬dñ r2   c                 ó@  € \         ;QJ d    R  V  4       F  '       g   K   RM	  RM! R  V  4       4      ;'       gd    \        V4      ;'       dQ    \         ;QJ d*    R VP                  4        4       F  '       g   K   R# 	  R# ! R VP                  4        4       4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir)   r\  rÎ   s   & r$   rÑ   Ú+_must_dispatch_in_python.<locals>.<genexpr>Ê  s   é € ÐA¹D°SÔ+¨C×0Ð0»DùrÓ   TFc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir)   r\  ra  s   & r$   rÑ   ri  Ë  s   é € ÐVÁoÀÔ9¸!×<Ð<ÃoùrÓ   )rÙ   rç   r  rF  s   &&r$   rR  rR  É  ss   € ß‹3ÑA¹DÓA�3�3Š3ÑA¹DÓAÓA÷ ð ÜˆV‹×VÐVŸ›ÑVÀfÇmÁmÄoÓVŸœðÚðØÑVÀfÇmÁmÄoÓVÓVðr2   c                óD   € V ^8„  d   QhR\         P                  R\        /# )rJ   rÛ   rK   )rA   r¡  rç   )rO   s   "r$   rQ   rQ   Ï  s$   € ÷ Rñ R¤5×#7Ñ#7ð R¼Dñ Rr2   c                 ó’   € \         ;QJ d&    R  V P                   4       F  '       g   K   R# 	  R# ! R  V P                   4       4      # )c              3   ój   "  € T F)  p\        VP                  \        P                  4      x € K+  	  R # 5ir)   )r_   rM   rA   Ú	ClassTyperÎ   s   & r$   rÑ   Ú)_has_script_object_arg.<locals>.<genexpr>Ð  s$   é € ÐQÑ@P¸Œz˜#Ÿ(™(¤E§O¡O×4Ð4Ó@Pùr  TF)rÙ   rÚ   )rÛ   s   &r$   Ú_has_script_object_argrp  Ï  s7   € ß‹3ÑQÀ×@PÒ@PÓQ�3Œ3ÐQŠ3ÐQˆ3ÑQÀ×@PÒ@PÓQÓQÐQr2   c                   óÀ   a € ] tR tRt o RtV 3R lR ltRR ltR tR tR	 t	]
R
 4       t]
R 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R tV 3R ltRtV tR# )rž  iÕ  ú	torch.opsc          
      ó\   <€ V ^8„  d   QhRS[ RS[ RS[S[S[3,          RS[S[ ,          RR/# )rJ   Úqualified_op_nameÚop_namer•   Úoverload_namesrK   N)rø   r   r   r   r  )rO   rP   s   "€r$   rQ   ÚOpOverloadPacket.__annotate__Ø  sJ   ø€ ÷ 
ñ 
áð
ñ ð
ñ ‘R™�VÕð	
ñ
 ™S�	ð
ð 
ñ
r2   c                ó2  € Wn         W n        W0n        W@n        . V n        \
        ;QJ dB    R  V P                  P                  4        4       F  '       g   K   RV n        R# 	  RV n        R# ! R  V P                  P                  4        4       4      V n        R# )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir)   )rp  )rÏ   rÛ   s   & r$   rÑ   Ú,OpOverloadPacket.__init__.<locals>.<genexpr>æ  s   é € ð .
Ù9O¨vÔ" 6×*Ð*Ó9OùrÓ   TFN)	Ú_qualified_op_namerŒ   r¦  Ú_overload_namesÚ_dirrÙ   Ú_schemasr  Ú_has_torchbind_op_overload)r/   rt  ru  r•   rv  s   &&&&&r$   r0   ÚOpOverloadPacket.__init__Ø  sv   € ð #4ÔØŒØŒØ-ÔØ!ˆŒ	ß*-«#ñ .
Ø9=¿¹×9MÑ9MÔ9Oó.
¯#¬#ˆÖ'ª#ˆÖ'¨#ñ .
Ø9=¿¹×9MÑ9MÔ9Oó.
ó +
ˆÖ'r2   Nc                ó   € V # r)   re   r:  s   &&r$   r<  ÚOpOverloadPacket.__deepcopy__ë  r>  r2   c                óT   € R P                   ! V P                  P                  R4      !  # )z<OpOverloadPacket(op='{}.{}')>r¥  ©rO   r{  r²  r.   s   &r$   rÐ  ÚOpOverloadPacket.__repr__î  s)   € Ø/×6Ò6Ø×$Ñ$×*Ñ*¨4Ó0ñ
ð 	
r2   c                ó,   € \        V P                  4      # r)   )rÞ  r¦  r.   s   &r$   rß  ÚOpOverloadPacket.__hash__ó  s   € Ü�D—H‘H‹~Ðr2   c                óT   € R P                   ! V P                  P                  R4      !  # )z{}.{}r¥  r„  r.   s   &r$   r3  ÚOpOverloadPacket.__str__ö  s"   € Ø�~Š~˜t×6Ñ6×<Ñ<¸TÓBÑCÐCr2   c                ó   € V P                   # r)   r8  r.   s   &r$   r•   ÚOpOverloadPacket.opù  rã   r2   c                ó–   € V P                    Uu/ uF.  pV\        P                  P                  V P                  V4      bK0  	  up# u upi r)   )r|  rA   rB   Ú_get_schemar{  )r/   r­  s   & r$   r~  ÚOpOverloadPacket._schemasý  sK   € ð "&×!5Ò!5ó
á!5�ð œ5Ÿ8™8×/Ñ/°×0GÑ0GÈÓWÒWÙ!5ñ
ð 	
ùò 
s   �4Ac                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# r  )rø   r›  r   r   )rO   rP   s   "€r$   rQ   rw    s$   ø€ ÷ /ñ /™sð /¡z±"±b°&Õ'9ñ /r2   c           
     óè  €  VP                  R 4      '       d   \        V P                  V4      #   TR8X  d   RMTp\
        P                  P                  T P                  T4      pTf   \        R\	        T 4       R	T R24      hTw  rEp\
        P                  P                  T P                  T4      p\        T4      '       g   \        YYWT4      M\        YYWT4      p\        YT4       T P                  P                  T4       T#   \         d4    \        R\	        T 4       R\	        T P                  4       RT R24      Rhi ; i  \          d    \        R\	        T 4       R	T R24      Rhi ; i)
Ú__Ú'zH' can't have an overload name beginning with '__' and the underlying op z has no attribute z either.Nr   r¤  zThe underlying op of 'z' has no overload name ')Ú
startswithÚgetattrr¦  ÚAttributeErrorrø   rA   rB   Ú_get_operation_overloadr{  r�  rp  r›  r  Úsetattrr}  r   ra   )	r/   rø  Úuse_keyÚ
op_dk_tagsÚop_Úop_dk_r   rÛ   Úoverloads	   &&       r$   Ú__getattr__ÚOpOverloadPacket.__getattr__  sŽ  € ð	Ø�~‰~˜d×#Ò#Ü˜tŸx™x¨Ó-Ð-ð $ð	à 9Ô,‘b°#ˆGäŸ™×9Ñ9Ø×'Ñ'¨óˆJð Ò!Ü$Ø,¬S°«Y¨KÐ7OÐPSÈuÐTUÐVóð ð !+ÑˆC˜Ü—X‘X×)Ñ)¨$×*AÑ*AÀ7ÓKˆFô .¨f×5Ò5ô ˜4 f°dÔ;ä(¨°FÀDÓIð ô �D˜xÔ(Ø�I‰I×Ñ˜SÔ!ØˆOøôA ô 	ô
 !Ø”C˜“I�;ð !Ü!$ T§X¡X£ Ð/AÀ#ÀÀhðPóð ðð	ûôB ô 	Ü Ø(¬¨T«¨Ð3KÈCÈ5ÐPQÐRóàðð	ús   ‚D ™D ±CE	 Ä>EÅ	(E1c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rå   ©r   rø   )rO   rP   s   "€r$   rQ   rw  5  ó   ø€ ÷ ñ ™(¡3�-ñ r2   c                ó,   € \        V P                  4      # r)   ©Úiterr}  r.   s   &r$   Ú__iter__ÚOpOverloadPacket.__iter__5  ó   € Ü�D—I‘I‹Ðr2   c                óT   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[/# ro   rp   )rO   rP   s   "€r$   rQ   rw  :  s*   ø€ ÷ )ñ )¡§¡ð )±B·I±Ið )Á"ñ )r2   c               óŠ   € V P                   '       d!   \        W4      '       d   \        V .VO5/ VB # V P                  ! V/ VB # r)   )r  rR  Ú!_call_overload_packet_from_pythonr¦  r6   s   "*,r$   r9   ÚOpOverloadPacket.__call__:  sD   € ð ×*×*Ð*Ô/GÈ×/UÒ/Uä4°TÐK¸DÒKÀFÑKÐKØ�xŠx˜Ð( Ñ(Ð(r2   c                óV   € V P                    Uu. uF  q'       d   TMR NK  	  up# u upi r   )r|  ©r/   Úns   & r$   Ú	overloadsÚOpOverloadPacket.overloadsI  s)   € Ø/3×/CÒ/CÓDÑ/C¨!–Q‘˜IÒ%Ñ/CÑDÐDùÒDs   �&c                ó^   € V P                  4        Uu. uF  p\        W4      NK  	  up# u upi r)   )r¯  r”  r­  s   & r$   Úop_overloadsÚOpOverloadPacket.op_overloadsL  s(   € Ø*.¯.©.Ô*:Ó;Ñ*: Q”˜Ö Ñ*:Ñ;Ð;ùÒ;s   “*c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )rJ   Ú__file__)r   rø   )rO   rP   s   "€r$   rQ   rw  Õ  s   ø‡ ‚ Ù‘s�mÑ)ò r2   )rŒ   r}  r  r¦  r|  r{  r)   )rŒ   r�   rŽ   r�   rµ  r0   r<  rÐ  rß  r3  r?  r•   r~  r�  r¥  r9   r¯  r²  r™  r‘   r’   r“   s   @r$   rž  rž  Õ  sƒ   ø‡ € Ø)€H÷
ð 
ô&ò
ò
òDð ñó ðð ñ
ó ð
÷/ð /÷bð ÷
)ð )òEò<÷o ƒ r2   rž  c                ó’   € V ^8„  d   QhR\         \        \        3,          R\        P                  R\        P                  R\        /# )rJ   r•   r7   r8   rK   )rž  r   r   r7   r8   )rO   s   "r$   rQ   rQ   R  s=   € ÷ % ñ % ÜœœR˜Õ ð% Ü)+¯©ð% Ü<>¿I¹Ið% äñ% r2   c                 óÞ  € \         P                  P                  ! V .VO5/ VB w  r4V'       d   V# / pR pV P                  4        F?  p\	        W4      p \         P                  P
                  ! VP                  .VO5/ VB p	Tp M	  V'       d	   V! V/ VB # RV  R2pVP                  4        F  w  rÍVRV RV R2,          pK  	  \        V4      h  \         d   p
Y¥T&    R p
?
K¢  R p
?
ii ; i)Nz'Fail to match any TorchBindOverload of z with following exceptions:
zOverload name z:
 Ú
)	rA   rB   Ú(_maybe_call_torch_function_for_op_packetr¯  r”  Ú&_check_schema_allow_fake_script_objectr©  ra   Úitems)r•   r7   r8   Útorch_function_calledr  Ú
exceptionsÚfound_opr­  rŽ  Ú_ÚeÚerr_msgrø  Úmsgs   &*,           r$   rª  rª  R  s  € ô "'§¡×!RÒ!RØ
ð"Øò"Øñ"ÑÐ÷ Øˆ
ð €JØ€HØŸ™žˆÜ˜bÓ0ˆð	*Ü—‘×?Ò?Ø×#Ñ#ðØ&*òØ.4ñˆAð #ˆHÙñ (÷ Ù˜Ð( Ñ(Ð(ð 2°"°Ð5RÐSð ð ×$Ñ$Ö&‰ˆØ�^ C 5¨¨S¨E°Ð4Õ4Šñ 'ä
�wÓ
Ðøô ô 	*Ø()�}×%ûð	*ús   Á0CÃC,ÃC'Ã'C,c                   ój   a a€ ] tR tRt oRtR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# )Ú_OpNamespacei‰  aì  
An op namespace to dynamically bind Operators into Python.

Say a user has created a custom Operator called "my_namespace::my_op". To
call this op, the user will write torch.ops.my_namespace.my_op(...).
At startup, this operation will not yet be bound into Python. Instead, the
following sequence of magic tricks will occur:
1. `torch.ops.my_namespace` will invoke the `__getattr__` magic method
   on the `torch.ops` object, which will create a new `_OpNamespace`
   object called `my_namespace` and set it as an attribute on the `ops`
   object.
2. `torch.ops.my_namespace.my_op` will then invoke `__getattr__` on
   the `my_namespace` object, which will retrieve the operation via
   `torch.get_operation`, a function bound from C++, and then in a similar
   fashion bind this new object onto the `my_namespace` object.
3. `torch.ops.my_namespace.my_op(...)` then calls this new operation
    and subsequent accesses will incur no further lookup (the namespace and
    operation will already exist).
rr  c                ó$   <€ V ^8„  d   QhRS[ RR/# )rJ   rb   rK   Nr»  )rO   rP   s   "€r$   rQ   Ú_OpNamespace.__annotate__   s   ø€ ÷ "ñ "™Sð " Tñ "r2   c                óN   <€ \         SV `  R V,           4       Wn        . V n        R# )z
torch.ops.N)r®   r0   rb   r}  )r/   rb   r¹   s   &&€r$   r0   Ú_OpNamespace.__init__   s!   ø€ Ü‰Ñ˜¨Õ,Ô-ØŒ	Ø!ˆŽ	r2   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rå   r   )rO   rP   s   "€r$   rQ   rÆ  ¥  r¡  r2   c                ó,   € \        V P                  4      # r)   r£  r.   s   &r$   r¥  Ú_OpNamespace.__iter__¥  r§  r2   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rJ   ru  rK   )rø   rž  )rO   rP   s   "€r$   rQ   rÆ  ¨  s   ø€ ÷ " ñ " ¡3ð " Ñ+;ñ " r2   c                ó  € VR	9   d   \        RV RV P                   R24      hV P                  pV RV 2pV P                  R,           V,           p \        W44      w  rVVf   \        RV P                   RV R24      h YEn        \        Y1YV4      pT P                  R,           T,           Tn        \        YT4       T P                  P                  T4       T#   \         d#   p\        RT P                   RT R24      ThRp?ii ; i)
Ú
__origin__zInvalid attribute 'z' for '_OpNamespace' 'r’  r¥  rê   Nz'_OpNamespace' 'z' object has no attribute ')rÎ  Ú__self__)	r•  rb   r�   Ú_get_packetra   rž  r—  r}  r   )	r/   ru  Únamespace_namert  Úmodule_namer•   rv  rÀ  Úopoverloadpackets	   &&       r$   r�  Ú_OpNamespace.__getattr__¨  s2  € ØÐ0Ô0Ü Ø% g YÐ.DÀTÇYÁYÀKÈqÐQóð ð Ÿ™ˆØ-Ð.¨b°°	Ð:ÐØ—o‘o¨Õ+¨nÕ<ˆð	Ü!,Ð->Ó!LÑˆBØŠzÜ$Ø& t§y¡y kÐ1LÈWÈIÐUVÐWóð ð ð $ŒÜ+Ø¨ó
Ðð '+§o¡o¸Õ&;¸nÕ&LÐÔ#ô 	�Ð/Ô0Ø�	‰	×Ñ˜Ô!ØÐøô! ô 	ô !Ø" 4§9¡9 +Ð-HÈÈ	ÐQRÐSóàðûð	ús   Á-C ÃDÃ%DÄD)r}  rb   )rŒ   r�   rŽ   r�   r�   rµ  r0   r¥  r�  r‘   r’   rB  rC  s   @@r$   rÄ  rÄ  ‰  s4   ù‡ € ñð( €H÷"ó "÷
ð ÷" ÷ " ð " r2   rÄ  c                 ó°   € \         P                  P                  V 4      w  r#Ve0   \         P                  P                  P                  W 4       Wn        W#3# r)   )rA   rB   Ú_jit_get_operationÚjitÚ	_builtinsÚ_register_builtinr�   )ÚqualnameÚ	op_moduler•   rv  s   &&  r$   rÐ  rÐ  Í  sF   € ÜŸ™×4Ñ4°XÓ>Ñ€BØ	‚~ô 	�	‰	×Ñ×-Ñ-¨bÔ;Ø!ŒØÐÐr2   c                 ó®   € \        V P                  V P                  P                  4      w  rVf   \	        RV P                   24      hWn        W n        R # )Nzfailed to get packet for )rÐ  r{  r¦  r�   r]   r|  )Úpacketr•   rv  s   &  r$   Ú_refresh_packetrÞ  ×  sK   € Ü$ V×%>Ñ%>ÀÇ
Á
×@UÑ@UÓVÑ€BØ	‚zÜÐ8¸×9RÑ9RÐ8SÐTÓUÐUØ„JØ+Ör2   c                   óf   a a€ ] tR tRt oR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
# )
Ú_HigherOrderNamespaceiß  rr  c                ó   <€ V ^8„  d   QhRR/# )rJ   rK   Nre   )rO   rP   s   "€r$   rQ   Ú"_HigherOrderNamespace.__annotate__â  s   ø€ ÷ "ñ "˜$ñ "r2   c                ó4   <€ \         SV `  R 4       . V n        R# )r­   N)r®   r0   r}  ©r/   r¹   s   &€r$   r0   Ú_HigherOrderNamespace.__init__â  s   ø€ Ü‰ÑÐ1Ô2Ø!ˆŽ	r2   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rå   r   )rO   rP   s   "€r$   rQ   râ  æ  r¡  r2   c                ó,   € \        V P                  4      # r)   r£  r.   s   &r$   r¥  Ú_HigherOrderNamespace.__iter__æ  r§  r2   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©rJ   rb   rK   )rø   r¨   )rO   rP   s   "€r$   rQ   râ  é  s   ø€ ÷ 	ñ 	¡ð 	Ñ(;ñ 	r2   c                ó¤   € \         P                  V4      pVf   \        RV R24      h\        WV4       V P                  P                  V4       V# )NzJ'_HigherOrderNamespace' 'torch.ops.higher_order' object has no attribute 'r’  )r°   rb  r•  r—  r}  r   )r/   rb   r•   s   && r$   r�  Ú!_HigherOrderNamespace.__getattr__é  sV   € ä×"Ñ" 4Ó(ˆØŠ:Ü Ø\Ð]aÐ\bÐbcÐdóð ô 	�˜BÔØ�	‰	×Ñ˜ÔØˆ	r2   )r}  )rŒ   r�   rŽ   r�   rµ  r0   r¥  r�  r‘   r’   rB  rC  s   @@r$   rà  rà  ß  s-   ù‡ € Ø€H÷"ó "÷ð ÷	÷ 	ð 	r2   rà  c                   óf   a a€ ] tR tRt oRtV 3R ltV3R lR ltV3R lR ltR tR	 t	R
t
VtV ;t# )Ú_Opsiõ  z_ops.pyc                óp   <€ \         SV `  R 4       \        4       V n        \	        4       V n        . V n        R# )rr  N)r®   r0   r_  Úloaded_librariesrà  r¬   r}  rä  s   &€r$   r0   Ú_Ops.__init__ø  s,   ø€ Ü‰Ñ˜Ô%Ü #£ˆÔÜ1Ó3ˆÔØˆŽ	r2   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rê  )rø   rÄ  )rO   rP   s   "€r$   rQ   Ú_Ops.__annotate__þ  s   ø€ ÷ ñ ¡ð ©ñ r2   c                ój   € \        V4      p\        WV4       V P                  P                  V4       V# r)   )rÄ  r—  r}  r   )r/   rb   rá   s   && r$   r�  Ú_Ops.__getattr__þ  s.   € ä  Ó&ˆ	Ü�˜IÔ&Ø�	‰	×Ñ˜ÔØÐr2   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rå   r   )rO   rP   s   "€r$   rQ   ró    r¡  r2   c                ó,   € \        V P                  4      # r)   r£  r.   s   &r$   r¥  Ú_Ops.__iter__  r§  r2   c                ó2   € \         P                  ! V4       R# )a#  
Imports a Python module that has torch.library registrations.

Generally, to extend PyTorch with custom operators, a user will
create a Python module whose import triggers registration of
the custom operators via a torch.ops.load_library call or a call
to one or more torch.library.* APIs.

It is unexpected for Python modules to have side effects, so some
linters and formatters will complain. Use this API to import Python
modules that contain these torch.library side effects.

Args:
    module (str): The name of the Python module to import

N)Ú	importlibÚimport_module)r/   Úmodules   &&r$   rû  Ú_Ops.import_module  s   € ô" 	×Ò Ö'r2   c                ó8  € \         P                  ! V4      p\        4       ;_uu_ 4         \        P                  ! V4        RRR4       T P                  P                  T4       R#   \
         d   p\        RT 24      ThRp?ii ; i  + '       g   i     LO; i)a£  
Loads a shared library from the given path into the current process.

The library being loaded may run global initialization code to register
custom operators with the PyTorch JIT runtime. This allows dynamically
loading custom operators. For this, you should compile your operator
and the static registration code into a shared library object, and then
call ``torch.ops.load_library('path/to/libcustom.so')`` to load the
shared object.

After the library is loaded, it is added to the
``torch.ops.loaded_libraries`` attribute, a set that may be inspected
for the paths of all libraries loaded using this function.

Args:
    path (str): A path to a shared library to load.
zCould not load this library: N)	r   Úresolve_library_pathr%   r!   ÚCDLLÚ	ExceptionÚOSErrorrð  r¾   )r/   ÚpathrÀ  s   && r$   Úload_libraryÚ_Ops.load_library  sy   € ô$ ×3Ò3°DÓ9ˆÜ�_�_ðMÜ—’˜DÕ!÷ ð 	×Ñ×!Ñ! $Ö'øô ô MÜÐ =¸d¸VÐDÓEÈ1ÐLûðMú÷ �_ús(   ©B	«A'Á'BÁ2BÂBÂB	Â	B	)r}  r¬   rð  )rŒ   r�   rŽ   r�   rµ  r0   r�  r¥  rû  r  r‘   r’   rB  rC  s   @@r$   rî  rî  õ  s2   ù‡ € Ø€Hõ÷ð ÷ð ò(÷&(ò (r2   rî  c                ó¸   € V ^8„  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   ^\         9   d   \        R,          ;R&   ^\         9   d
   \        ;R&   # )rJ   r¨   r°   r›  r�  Úops)Ú__conditional_annotations__r÷   rø   r_  rî  )rO   s   "r$   rQ   rQ      sR   € ‡
�
÷V 9Ò 8”4œÐ2Ð2Õ3Ñ 8ñW ÷l &Ò %ŒC�ÕÑ %ñm ÷p1 Ò „TÑ òq1 r2   )F)dr  r@  r&  r!   rú  rZ   r    ÚtypesÚcollections.abcr   r   Údataclassesr   Ú	functoolsr   Útypingr   r   r	   r
   r   r   Útyping_extensionsr   r   rA   Útorch.utils._pytreer  Ú_pytreerÕ   r   Útorch._Cr   rš   r   r   Útorch._functorch.pyfunctorchr   r   r  r   r   ÚImportErrorrM   r   r~   r   r   r   Úhasattrr   r'  r%   r'   r¦   r°   rL  rK  rI  rJ  ÚAutocastCPUÚAutocastCUDAÚAutocastXPUr¶   ÚABCr¨   r'  r+  rH  rI  rT  r‹  ry  r€  r„  r  r‡  r  rn  r_  r�  r�  r‘  r“  r•  r›  r  r]  rR  rp  rž  rª  Ú
ModuleTyperÄ  rÐ  rÞ  rà  rî  r  rQ   )r  s   @r$   Ú<module>r     s‹  øðç 
€
Û Û Û Û Û 
Û ß .Ý !Ý %ß L× Lß 0ã ß $Ð $Ý !÷ñ ÷
 KÝ :ð.Ý(÷
 ÝHñ ˆT˜3Ô€Ùˆt˜SÔ!€ñ ˜CÐ!1Ó2×UÐU±w¸sÐDTÓ7UÐ ð ×Ññ&ó ð&÷ V"ñ V"õt2Uðj 79Ð Ó 8ð × Ñ Ø×!Ñ!Ø×ÑØ×ÑØ×ÑØ×ÑØ×Ñð6Ð 2ôi˜,¨¯©ô iòX	3ò8ò
ò÷,
ñ 
ñ2 &CÓ%DÐ "ô(òV-Xò`Mò7ò	:òò .ñ
 !$£€
Ó %ò ò
ò
ð
 ô>˜' " b &�/ó >ó ð>ô4X�˜w r¨2 v�ô XôB	R(˜* R¨ VÕ,ô R(õjõõRôx<�w˜r 2˜v•ô x<õz% ônA �5×#Ñ#ô A òHò,ô˜E×,Ñ,ô ô,A(ˆ5×Ñô A(ñJ ‹F€Õ øð{0 ô .Ù˜nÓ-Óð.ús   Á;I ÉI%É$I%