+
    ˜°³j3%  ã                  ó‚  € ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHt ^ R	IHt ]'       d   ^ R
IHt R R ltR R ltR R ltR R ltR R lt R R lt!R R lt"R R lt#R R lt$R R lt%R R  lt&R! R" lt'R# R$ lt(]! R%R&7       ! R' R(4      4       t)R) R* lt*R# )+é    )ÚannotationsN)Ú	dataclass)ÚTYPE_CHECKING)Ú	translate)ÚDispatcherSignature)Úmethod_with_native_function)
ÚArgumentÚBaseTyÚBaseTypeÚFunctionSchemaÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚ
SchemaKindÚType)ÚmapMaybe)ÚSequencec               ó    € V ^8„  d   QhRRRR/# ©é   Útypr   ÚreturnÚbool© )Úformats   "Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/gen_vmap_plumbing.pyÚ__annotate__r      s   € ÷ Cñ C�4ð C˜Dñ Có    c                ól   € \        V \        4      ;'       d    V P                  \        P                  8H  # ©N)Ú
isinstancer   Únamer
   ÚTensor©r   s   &r   Ú	is_tensorr&      s$   € Ü�cœ8Ó$×BÐB¨¯©´V·]±]Ñ)BÐBr   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   !   s   € ÷ Añ A˜Dð A Tñ Ar   c                ó\   € \        V \        4      ;'       d    \        V P                  4      # r!   )r"   r   r&   Úelemr%   s   &r   Úis_optional_tensorr*   !   s    € Ü�cœ<Ó(×@Ð@¬Y°s·x±xÓ-@Ð@r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   %   s   € ÷ =ñ =˜ð = ñ =r   c                ó\   € \        V \        4      ;'       d    \        V P                  4      # r!   )r"   r   r&   r)   r%   s   &r   Úis_tensor_listr-   %   s    € Ü�cœ8Ó$×<Ð<¬°3·8±8Ó)<Ð<r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r#   ÚstrÚcur_level_varr   z	list[str]r   )r   s   "r   r   r   )   s!   € ÷ /ñ /˜ð /¨Cð /°Iñ /r   c           	     ój   € R V  RV  RV  RV R2	p\         P                  ! V4      P                  R4      # )z
    auto [ú_value, z_bdim] = unwrapTensorAtLevel(ú, ú);Ú
©ÚtextwrapÚdedentÚsplit©r#   r1   Úresults   && r   Úunwrap_tensorr=   )   sD   € ðØˆ&�˜˜Ð;¸D¸6ÀÀMÀ?ÐRTðX€Fä�?Š?˜6Ó"×(Ñ(¨Ó.Ð.r   c               ó$   € V ^8„  d   QhRRRRRR/# r/   r   )r   s   "r   r   r   /   s!   € ÷ /ñ / ð /°Sð /¸Yñ /r   c                ó|   € R V  RV  RV  RV  RV  RV  RV R2p\         P                  ! V4      P                  R4      # )	z    std::optional<Tensor> z#_value;
    std::optional<int64_t> z_bdim;
    if (z) {
        std::tie(r3   z_bdim) = unwrapTensorAtLevel(z
.value(), z);
    }r6   r7   r;   s   && r   Úunwrap_optional_tensorr@   /   sh   € ðØ˜&ð !Ø ˜6ð "	Ø	ˆð Ø��x ˜vÐ%BÀ4À&È
ÐS`ÐRað bð	
€Fô �?Š?˜6Ó"×(Ñ(¨Ó.Ð.r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úflat_argumentszSequence[Argument]r1   r0   r   ztuple[str, list[str]]r   )r   s   "r   r   r   9   s$   € ÷ +ñ +Ø&ð+Ø7:ð+àñ+r   c                óf  € V  Uu. uF  q"P                   NK  	  ppV  Uu. uF  q"P                  NK  	  pp\        WC4       UUu. uF  w  rV\        V4      '       g   K  VNK  	  ppp\        WC4       UUu. uF  w  rV\	        V4      '       g   K  VNK  	  ppp. p	V F  p
V	\        W¡4      ,          p	K  	  V F  pV	\        W±4      ,          p	K  	  R P                  V	4      p. pV F2  pWç9   g   Wè9   d   WÞ R2V R2.,          pK!  VP                  V4       K4  	  WÍ3# u upi u upi u uppi u uppi )r6   Ú_valueÚ_bdim)	r#   ÚtypeÚzipr&   r*   r=   r@   ÚjoinÚappend)rB   r1   ÚaÚ	arg_namesÚ	arg_typesr   r#   ÚtensorsÚoptional_tensorsÚunwrapsÚtensorÚ
opt_tensorÚunwrap_codeÚunwrapped_arg_listÚargs   &&             r   Úgen_unwrapsrU   9   s*  € ñ "0Ó0¡˜A—”¡€IÐ0Ù!/Ó0¡˜A—”¡€IÐ0ä%(¨Ô%>ÔQÑ%>™	˜Ä)ÈCÇ.�tˆtÑ%>€GÑQä! )Ô7ôÙ7‘�Ô;MÈc×;R�ˆÑ7ð ñ ð €GÛˆØ”= Ó7Õ7Šñ ó 'ˆ
ØÔ)¨*ÓDÕDŠñ 'à—)‘)˜GÓ$€KàÐÛˆØŒ>˜SÔ4Ø U¨& >°c°U¸%°=Ð"AÕAÒà×%Ñ% cÖ*ñ	 ð
 Ð*Ð*ùò- 1ùÚ0ùãQùós"   …DŸD"ÁD'ÁD'Á4D-ÂD-c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Ú	outer_sigr   Úschemar   r1   r0   r   r   )r   s   "r   r   r   U   s,   € ÷ ñ Ø"ðØ,:ðØKNðàñr   c                óî  € . pVP                   P                  pV FG  pVP                  P                  4       '       g   K%  VP	                  R VP
                   RV R24       KI  	  \        P                  ! V4      pRP                  R \        V P                  4       VP                  4       4       4       4      pRRP                  V4       RVP                  P
                  P                  4        RV R2# )	z!isBatchedAtLevel(r4   Ú)c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir!   )Úexpr)Ú.0Úes   & r   Ú	<genexpr>Ú4gen_case_where_all_bdims_are_none.<locals>.<genexpr>`   s   é € ð  ÙI�1�ŽÓIùs   ‚zif (z && z) {
  return at::_ops::z::call(ú);
})Ú	argumentsÚflat_allrF   Úis_tensor_likerI   r#   r   Úfrom_schemarH   r   ÚfuncÚunambiguous_name)rW   rX   r1   Ú
conditionsÚ	flat_argsrT   ÚsigÚtranslated_argss   &&&     r   Ú!gen_case_where_all_bdims_are_nonerl   U   sæ   € ð €JØ× Ñ ×)Ñ)€IÛˆØ�x‰x×&Ñ&×(Ò(ÙØ×ÑÐ.¨s¯x©x¨j¸¸=¸/ÈÐKÖLñ ô
 ×
)Ò
)¨&Ó
1€CØ—i‘iñ  Ü! )×"5Ñ"5Ó"7¸¿¹»ÔIó ó €OðØ‡[�[�ÓÐð Ø—H‘H—M‘M×2Ñ2Ó4Ð5°W¸_Ð<Mð Nðð r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úreturnsztuple[Return, ...]r1   r0   Úresults_varr   r   )r   s   "r   r   r   i   s,   € ÷ ñ ØðØ03ðØBEðàñr   c                ó  € ^ p. pV  FÀ  p\        VP                  4      '       d4   VP                  RV RV RV^,            RV RV R24       V^,          pKQ  \        VP                  4      '       d4   VP                  RV RV RV^,            RV RV R24       V^,          pKŸ  VP                  RV RV R24       V^,          pKÂ  	  \	        V4      ^8X  d   RV^ ,           R	2pV# R
RP                  V4       R2pV# )r   zmakeBatched(std::get<z>(z), std::get<z), rZ   zmakeBatchedVector(std::get<z	std::get<zreturn Ú;zreturn std::make_tuple(r4   r5   )r&   rF   rI   r-   ÚlenrH   )rn   r1   ro   ÚidxÚwrapped_returnsÚretr<   s   &&&    r   Úgen_returnsrv   i   s6  € ð €CØ€OÛˆÜ�S—X‘X×ÒØ×"Ñ"Ø'¨ u¨B¨{¨m¸<ÈÈaÍÀyÐPRÐS^ÐR_Ð_bÐcpÐbqÐqrÐsôð �1�HŠCÜ˜CŸH™H×%Ò%Ø×"Ñ"Ø-¨c¨U°"°[°MÀÈcÐTUÍgÈYÐVXÐYdÐXeÐehÐivÐhwÐwxÐyôð �1�HŠCà×"Ñ" Y¨s¨e°2°k°]À!Ð#DÔEØ�1�HŠCñ ô ˆ?Ó˜qÔ Ø˜?¨1Õ-Ð.¨aÐ0ˆð €Mð +¨4¯9©9°_Ó+EÐ*FÀbÐIˆØ€Mr   c               ó    € V ^8„  d   QhRRRR/# )r   rX   r   r   r   r   )r   s   "r   r   r   ƒ   s   € ÷ Kñ K¨nð KÀñ Kr   c                óº   € \         ;QJ d0    R  V P                  P                   4       F  '       g   K   R# 	  R# ! R  V P                  P                   4       4      # )c              3  óT   "  € T F  qP                   P                  4       x € K   	  R # 5ir!   ©rF   rd   )r]   rJ   s   & r   r_   Ú4accepts_at_least_one_tensor_input.<locals>.<genexpr>„   s    é € ÐJÑ0I¨1�v‰v×$Ñ$×&Ð&Ó0Iùó   ‚&(TF)Úanyrb   rc   )rX   s   &r   Ú!accepts_at_least_one_tensor_inputr~   ƒ   sC   € ß‹3ÑJ°×0@Ñ0@×0IÒ0IÓJ�3Œ3ÐJŠ3ÐJˆ3ÑJ°×0@Ñ0@×0IÒ0IÓJÓJÐJr   c               ó    € V ^8„  d   QhRRRR/# )r   Úargumentr	   r   r   r   )r   s   "r   r   r   ‡   s   € ÷ Lñ L˜Xð L¨$ñ Lr   c                óZ   € V P                   R J;'       d    V P                   P                  # r!   )Ú
annotationÚis_write)r€   s   &r   Úis_mutated_argr„   ‡   s'   € Ø×Ñ dÐ*×KÐK¨x×/BÑ/B×/KÑ/KÐKr   c               ó    € V ^8„  d   QhRRRR/# ©r   Únative_functionr   r   ú
str | Noner   )r   s   "r   r   r   ‹   s   € ÷ *ñ *¨~ð *À*ñ *r   c                ó:  € V P                   p\        P                  ! V4      pVP                  pVP	                  4       \
        P                  8w  d   \        R VP	                  4        24      h\        VP                  P                  ^ ,          4      '       g   R# \        VP                  P                   Uu. uF  p\        V4      '       g   K  VNK  	  up4      ^8w  d   R# \        V4      ^ 8X  d   R# \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   R# \        V4      '       g   R# Rp\        VP                  P                  V4      w  rg\        W!V4      pRVP!                  VP"                  P%                  4       R,           R7       R	V R
\&        P(                  ! VR4       R\&        P(                  ! VR4       RRP+                  V4       RVP                  P                  ^ ,          P"                   R2# u upi )zExpected inplace schema, got Nc              3  ó†   "  € T F7  p\        VP                  4      ;'       g    \        VP                  4      x € K9  	  R # 5ir!   )r&   rF   r-   ©r]   ru   s   & r   r_   Ú,gen_vmap_inplace_plumbing.<locals>.<genexpr>    s-   é € ÐRÉ'À3Œy˜Ÿ™Ó"×>Ð>¤n°S·X±XÓ&>Ô>Ë'ùs
   ‚ A£AFTÚ	cur_levelú:template <typename batch_rule_t, batch_rule_t batch_rule>
Ú_generated_plumbing©r#   zÉ {
  c10::impl::ExcludeDispatchKeyGuard guard(DispatchKey::FuncTorchBatched);
  auto maybe_layer = maybeCurrentDynamicLayer();
  vmap_check_escaped(maybe_layer, "gen_vmap_inplace_plumbing");
  int64_t ú = maybe_layer->layerId();
ú  r6   ú
  batch_rule(r4   z);
  return z;
})rf   r   re   rn   Úkindr   ÚinplaceÚAssertionErrorr„   rb   rc   rr   Úallr~   rU   rl   Údeclr#   rg   r8   ÚindentrH   )	r‡   rX   rj   rn   rT   r1   rO   rS   Úbdims_all_none_cases	   &        r   Úgen_vmap_inplace_plumbingr›   ‹   sÌ  € ð
 ×!Ñ!€FÜ
×
)Ò
)¨&Ó
1€CØ�n‰n€Gð ‡{�{ƒ}œ
×*Ñ*Ô*ÜÐ<¸V¿[¹[»]¸OÐLÓMÐMÜ˜&×*Ñ*×3Ñ3°AÕ6×7Ò7ÙÜ
˜6×+Ñ+×4Ò4ÓLÑ4�C¼Às×8K�CˆCÑ4ÑLÓMÐQRÔRÙô ˆ7ƒ|�qÔÙß‹3ÑRÉ'ÓR�3�3Š3ÑRÉ'ÓR×RÒRÙÜ,¨V×4Ò4Ùà€Mä"-¨f×.>Ñ.>×.GÑ.GÈÓ"WÑ€GÜ;¸CÈÓWÐðà‡�ˆv�{‰{×+Ñ+Ó-Ð0EÕE€ÓFÐ Gð Hð ˆ/ð Ü	‡‚Ð$ dÓ+Ð ,ð -Ü	‡‚�˜$ÓÐ  ð !Ø�i‰iÐ*Ó+Ð,ð -
Ø
×
Ñ
×
#Ñ
# AÕ
&×
+Ñ
+Ð	,ð -ðð ùò! Ms   Â9HÃHc               ó    € V ^8„  d   QhRRRR/# )r   r‡   r   r   r0   r   )r   s   "r   r   r   ¸   s   € ÷ ñ °.ð ÀSñ r   c                óš  € V P                   p\        P                  ! V4      pR p\        VP                  P
                  V4      w  rE\        W!V4      pRVP                  VP                  P                  4       R,           R7       RV R\        P                  ! VR4       R\        P                  ! VR4       RR	P                  V4       R
2# )r�   rŽ   r�   r�   zÌ {
  c10::impl::ExcludeDispatchKeyGuard guard(DispatchKey::FuncTorchBatched);
  auto maybe_layer = maybeCurrentDynamicLayer();
  vmap_check_escaped(maybe_layer, "gen_vmap_plumbing_no_returns");
  int64_t r‘   r’   r6   r“   r4   ra   )rf   r   re   rU   rb   rc   rl   r˜   r#   rg   r8   r™   rH   )r‡   rX   rj   r1   rO   rS   rš   s   &      r   Úgen_vmap_plumbing_no_returnsrž   ¸   sÑ   € Ø×!Ñ!€FÜ
×
)Ò
)¨&Ó
1€CØ€Mä"-¨f×.>Ñ.>×.GÑ.GÈÓ"WÑ€GÜ;¸CÈÓWÐðà‡�ˆv�{‰{×+Ñ+Ó-Ð0EÕE€ÓFÐ Gð Hð ˆ/ð Ü	‡‚Ð$ dÓ+Ð ,ð -Ü	‡‚�˜$ÓÐ  ð !Ø�i‰iÐ*Ó+Ð,ð -ð
ð 
r   c               ó    € V ^8„  d   QhRRRR/# r†   r   )r   s   "r   r   r   Í   s   € ÷ 1ñ 1 ~ð 1¸*ñ 1r   c                óÀ  € V P                   p\        P                  ! V4      pVP                  p\	        V4      '       g   R # \        V4      ^ 8X  d   \        V 4      # . ROp\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g"   VP                  P                  4       V9  d   R # RV P                  9   d   R # VP                  4       \        P                  8X  d   \        V 4      # VP                  4       \        P                  8w  d   R # RpRp\!        VP"                  P$                  V4      w  rx\'        W!V4      p	\)        W6V4      p
RVP+                  VP                  P                  4       R,           R	7       R
V R\,        P.                  ! V	R4       R\,        P.                  ! VR4       RV RRP1                  V4       RV
 R2# )Nc              3  óT   "  € T F  qP                   P                  4       x € K   	  R # 5ir!   rz   r‹   s   & r   r_   Ú$gen_vmap_plumbing.<locals>.<genexpr>Ý   s   é € Ð=±W¨c—‘×'Ñ'×)Ð)³Wùr|   FTÚinplace_viewÚresultsr�   rŽ   r�   r�   zÁ {
  c10::impl::ExcludeDispatchKeyGuard guard(DispatchKey::FuncTorchBatched);
  auto maybe_layer = maybeCurrentDynamicLayer();
  vmap_check_escaped(maybe_layer, "gen_vmap_plumbing");
  int64_t r‘   r’   r6   z
  auto z = batch_rule(r4   z);
  z
})Ú#_scaled_dot_product_flash_attentionÚ#_scaled_dot_product_cudnn_attentionÚ-_scaled_dot_product_flash_attention_quantized)rf   r   re   rn   r~   rr   rž   r—   r#   rg   Útagsr”   r   r•   r›   Ú
functionalrU   rb   rc   rl   rv   r˜   r8   r™   rH   )r‡   rX   rj   rn   Úreturn_symint_overridesro   r1   rO   rS   rš   rt   s   &          r   Úgen_vmap_plumbingr«   Í   s±  € Ø×!Ñ!€FÜ
×
)Ò
)¨&Ó
1€CØ�n‰n€Gô -¨V×4Ò4ÙÜ
ˆ7ƒ|�qÔÜ+¨OÓ<Ð<òÐ÷ ‹CÑ=±WÓ=�C�CŠCÑ=±WÓ=×=Ò=Ø�K‰K×(Ñ(Ó*Ð2IÔIáà˜×-Ñ-Ô-Ùà‡{�{ƒ}œ
×*Ñ*Ô*Ü(¨Ó9Ð9ð ‡{�{ƒ}œ
×-Ñ-Ô-Ùà€KØ€Mä"-¨f×.>Ñ.>×.GÑ.GÈÓ"WÑ€GÜ;¸CÈÓWÐä! '¸+ÓF€Oðà‡�ˆv�{‰{×+Ñ+Ó-Ð0EÕE€ÓFÐ Gð Hð ˆ/ð Ü	‡‚Ð$ dÓ+Ð ,ð -Ü	‡‚�˜$ÓÐ  ð !Ø€}�N 4§9¡9Ð-?Ó#@Ð"Að BØÐð ðð r   T)Úfrozenc                  ó,   € ] tR tRt]R R l4       tRtR# )ÚComputeBatchRulePlumbingi  c               ó    € V ^8„  d   QhRRRR/# )r   Úfr   r   rˆ   r   )r   s   "r   r   Ú%ComputeBatchRulePlumbing.__annotate__  s   € ÷ ñ ˜.ð ¨Zñ r   c                	ó   € \        V4      pV# r!   )r«   )Úselfr°   r<   s   && r   Ú__call__Ú!ComputeBatchRulePlumbing.__call__  s   € ä" 1Ó%ˆØˆr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r´   Ú__static_attributes__r   r   r   r®   r®     s   † à ôó !ôr   r®   c               ó    € V ^8„  d   QhRRRR/# )r   Únative_functionszSequence[NativeFunction]r   r0   r   )r   s   "r   r   r   	  s   € ÷ ñ Ð,Dð Èñ r   c                óf   € R P                  \        \        \        4       V 4      4      4      pRV R2# )r6   z|
#pragma once
#include <ATen/Operators.h>
#include <ATen/functorch/PlumbingHelper.h>

namespace at { namespace functorch {

z 

}} // namespace at::functorch
)rH   Úlistr   r®   )r¼   Úbodys   & r   Úgen_all_vmap_plumbingrÀ   	  s<   € Ø�9‰9”Tœ(Ô#;Ó#=Ð?OÓPÓQÓR€Dðð €ð ð
ð 
r   )+Ú
__future__r   r8   Údataclassesr   Útypingr   Útorchgen.api.translater   Útorchgen.api.typesr   Útorchgen.contextr   Útorchgen.modelr	   r
   r   r   r   r   r   r   r   r   Útorchgen.utilsr   Úcollections.abcr   r&   r*   r-   r=   r@   rU   rl   rv   r~   r„   r›   rž   r«   r®   rÀ   r   r   r   Ú<module>rÊ      s    ðÝ "ã Ý !Ý  å ,Ý 2Ý 8÷÷ ÷ õ $÷ Ý(õCõAõ=õ/õ/õ+õ8õ(õ4KõLõ*õZõ*1ñh �$Ô÷ð ó ð÷r   