Ë
    S²jbs  ã                  ó  — U d dl mZ d dlZd dlZd dlZd dlmZ d dlmc m	Z	 d dl
mZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZ erd dlmZ  ej8                  «       Zded	<   	 	 	 	 d/d„Z e d«      Z!d0d„Z"	 	 	 	 d1d„Z# e d«      Z$ e d«      Z%d2d„Z&d2d„Z' e d«      Z( e d«      Z)d3d„Z*dZ+ ejX                  e+«      Z-ded<   d4d„Z.	 	 	 	 	 	 	 	 d5d„Z/d6d„Z0d6d„Z1ejd                  dejf                  dejh                  d ejj                  dejl                  dejn                  dejp                  d
iZ9	 	 	 	 d7d!„Z:d8d"„Z;d9d#„Z<d9d$„Z=	 	 	 	 	 	 d9d%„Z>	 	 	 	 	 	 d:d&„Z?	 	 	 	 	 	 d9d'„Z@ e d(«      ZAd;d)„ZBd<d*„ZC G d+„ d,«      ZD G d-„ d.«      ZEy)=é    )ÚannotationsN)ÚTYPE_CHECKING)Únative_function_manager)ÚArgumentÚBackendIndexÚBaseTyÚBaseTypeÚFunctionSchemaÚNativeFunctionsGroupÚNativeFunctionsViewGroupÚOptionalTypeÚSelfArgumentÚTensorOptionsArgumentsÚType)Úconfig)ÚSequencezlogging.LoggerÚloggerÚboolc                óT   — | D ]#  }t        |dd «      }|sŒt        |dd«      }|sŒ# y y)NÚ
annotationÚ	alias_set© TF)Úgetattr)Ú	argumentsÚargr   r   s       ú`/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torchgen/static_runtime/generator.pyÚ	has_aliasr   !   s@   € ð ò ˆÜ˜S ,°Ó5ˆ
ÙØÜ˜J¨°RÓ8ˆ	ÚÙðð ó    )¹Úsparse_sampled_addmmÚhspmmÚlinalg_svdvalsÚsspaddmmÚcoalesceÚ_indicesÚindicesÚ_valuesÚvaluesÚcrow_indicesÚcol_indicesÚfloor_divideÚgerÚconj_physicalÚbinary_cross_entropyÚarccoshÚcholeskyÚlu_solveÚlinalg_choleskyÚlinalg_householder_productÚlinalg_ldl_solveÚ_compute_linear_combinationÚ
_make_dualÚ
_fw_primalÚ_index_reduceÚ!_new_zeros_with_same_feature_metaÚ_conj_physicalÚ binary_cross_entropy_with_logitsÚbincountÚconv_tbcÚcopyÚ
_copy_fromÚ_copy_from_and_resizeÚcount_nonzeroÚcudnn_affine_grid_generatorÚ$cudnn_affine_grid_generator_backwardÚcudnn_grid_samplerÚ
diag_embedÚ	embeddingÚembedding_dense_backwardÚ_embedding_bag_dense_backwardÚ*_embedding_bag_per_sample_weights_backwardÚgrid_sampler_2dÚ_grid_sampler_2d_cpu_fallbackÚgrid_sampler_3dÚisnanÚmkldnn_linearÚmedianÚ	nanmedianÚ_sparse_sparse_matmulÚbatch_norm_backward_elemtÚ_euclidean_distÚpixel_shuffleÚpixel_unshuffleÚchannel_shuffleÚ_reshape_nested_backwardÚreluÚpreluÚceluÚslice_scatterÚselect_scatterÚdiagonal_scatterÚsumÚ_mkldnn_transposeÚ_nested_tensor_from_maskÚ_nested_from_paddedÚ_nested_tensor_sizeÚ&_nested_from_padded_and_nested_exampleÚ_standard_gamma_gradÚ_dirichlet_gradÚnative_normÚ_sparse_softmaxÚ_sparse_softmax_backward_dataÚ_sparse_log_softmaxÚ!_sparse_log_softmax_backward_dataÚzeroÚ_sparse_addmmÚsparse_maskÚ_sparse_mask_projectionÚ	_to_denseÚ	_coalesceÚ
_coalescedÚcopy_sparse_to_sparseÚ	to_sparseÚto_sparse_csrÚto_sparse_cscÚ	to_mkldnnÚquantize_per_tensor_dynamicÚquantize_per_channelÚq_per_channel_scalesÚq_per_channel_zero_pointsÚint_reprÚ"_make_per_channel_quantized_tensorÚsetÚliftÚ
lift_freshÚlift_fresh_copyÚmasked_scatterÚ_masked_softmaxÚ_masked_softmax_backwardÚputÚindex_reduceÚtraceÚ_cholesky_solve_helperÚdistÚmaxÚ_torch_cuda_cu_linker_symbol_opÚglu_jvpÚglu_backward_jvpÚhardswish_backwardÚrrelu_with_noise_backwardÚ#mkldnn_adaptive_avg_pool2d_backwardÚ_adaptive_avg_pool2d_backwardÚ_adaptive_avg_pool3d_backwardÚisinfÚlinalg_lu_solveÚlinalg_vecdotÚlinalg_matrix_expÚlinalg_eigvalshÚ_test_warn_in_autogradÚ%_test_autograd_multiple_dispatch_viewÚ*_test_autograd_multiple_dispatch_view_copyÚ_segment_reduceÚ_segment_reduce_backwardÚ_fw_primal_copyÚ_make_dual_copyÚview_as_real_copyÚview_as_complex_copyÚ
_conj_copyÚ_neg_view_copyÚdiagonal_copyÚdetach_copyÚsqueeze_copyÚt_copyÚunsqueeze_copyÚ_indices_copyÚ_values_copyÚindices_copyÚvalues_copyÚcrow_indices_copyÚcol_indices_copyÚccol_indicesÚccol_indices_copyÚrow_indicesÚrow_indices_copyÚunfold_copyÚ
alias_copyÚ_triton_multi_head_attentionÚspecial_airy_aiÚspecial_bessel_j0Úspecial_bessel_j1Úspecial_bessel_y0Úspecial_bessel_y1Úspecial_chebyshev_polynomial_tÚspecial_chebyshev_polynomial_uÚspecial_chebyshev_polynomial_vÚspecial_chebyshev_polynomial_wÚspecial_hermite_polynomial_hÚspecial_hermite_polynomial_heÚspecial_laguerre_polynomial_lÚspecial_legendre_polynomial_pÚspecial_modified_bessel_i0Úspecial_modified_bessel_i1Úspecial_modified_bessel_k0Úspecial_modified_bessel_k1Ú!special_scaled_modified_bessel_k0Ú!special_scaled_modified_bessel_k1Ú&special_shifted_chebyshev_polynomial_tÚ&special_shifted_chebyshev_polynomial_uÚ&special_shifted_chebyshev_polynomial_vÚ&special_shifted_chebyshev_polynomial_wÚspecial_spherical_bessel_j0Ú_foobarÚ_nested_tensor_stridesÚ_nested_tensor_storage_offsetsÚ_nested_get_valuesÚ_nested_get_values_copyÚ_nested_view_from_jaggedÚ_nested_view_from_jagged_copyÚ_nested_view_from_bufferÚ_nested_view_from_buffer_copyÚ_int_mmÚ_to_sparse_cscÚ_to_sparse_csrÚsegment_reducec                óp  — d}d }t        | t        «      r-| j                  j                  }| j                  j                  }nJ| j
                  j                  j                  j                  j                  }| j
                  j                  }t        j                  | «      rt        j                  d|«       y|t        v rt        j                  d|«       y|j                  «       D ]1  }t        |j                  «      }|rŒt        j                  d|«        y t        | t        «      rJdt!        j"                  |j$                  d¬«      j'                  «       k7  rt        j                  d|«       yy	| j(                  j                  j                  «       D ]E  }t        |j                  «      }|rŒt        j                  d| j(                  j                  «        y | j*                  sKt-        | d
«      r>t/        |«      j1                  d«      r$t/        |j                  «      j1                  d«      sydt!        j"                  |j$                  d¬«      j'                  «       k7  rt        j                  d|«       yt3        |j4                  j6                  «      rt        j                  d|«       yy	)NÚ zHAND WRITTEN: %sFzBLOCKED: %sz!NOT SUPPORTED TYPE CONVERTING: %sz
at::Tensor)ÚsymintzNON-TENSOR RET TYPE: %sTÚoutzTensor(a!) out) -> Tensor(a!)z.outzat::Tensor &zNON_TENSOR RET TYPE: %szINPUTS ALIAS: %s)Ú
isinstancer   ÚviewÚ	root_nameÚfuncrÛ   ÚnameÚbaser   Úis_hand_writtenr   ÚinfoÚBLOCKED_OPSÚschema_order_argumentsÚivalue_type_conversion_methodÚtypeÚcppÚreturns_typeÚreturnsÚcpp_typeÚ
functionalÚ
structuredÚhasattrÚstrÚendswithr   r   Únon_out)ÚgÚbase_op_namerß   r   Úmaybe_methods        r   Úis_supportedrõ   ö   s  € Ø€LØ€DÜ�!Ô-Ô.Ø—v‘v×'Ñ'ˆØ�v‰v�{‰{‰à—u‘u—z‘z—‘×+Ñ+×0Ñ0ˆØ�u‰u�z‰zˆÜ×Ñ˜aÔ Ü�‰Ð&¨Ô5ØØ”{Ñ"Ü�‰�M <Ô0ØØ×*Ñ*Ó,ò ˆÜ4°S·X±XÓ>ˆÚä�K‰KÐ;¸TÔBÙðô �!Ô-Ô.ð œ3×+Ñ+¨D¯L©LÀÔG×PÑPÓRÒRä�K‰KÐ1°4Ô8ØØð �|‰|× Ñ ×7Ñ7Ó9ò ˆÜ4°S·X±XÓ>ˆÚä�K‰KÐ;¸Q¿\¹\×=NÑ=NÔOÙðð �<Š<ô
 ˜˜5Ô!Ü�t“9×%Ñ%Ð&EÔFÜ�t—y‘y“>×*Ñ*¨6Ô2ààœ×)Ñ)¨$¯,©,¸uÔE×NÑNÓPÒPÜ�‰Ð-¨tÔ4ØÜ�—‘×'Ñ'Ô(ä�‰Ð&¨Ô5ØØr   c                óÒ  — t         j                  dt         j                  dt         j                  dt         j                  dt         j
                  dt         j                  di}d}t        | t        «      r| j                  }nCt        | t        «      r2t        | j                  t        «      sy| j                  j                  }ny||vry||   }t        | t        «      r|d   S |d	   S )
aD  
    Return the method call expression of `c10::ivalue' to convert its contained value to
    the expected value of `arg_type` type. For example, for `arg_type` == BaseTy.Tensor,
    this function returns ".toTensor()", so that it can be appended to the ivalue's
    variable name to get the value of the expected type.
    ))Tz
toTensor())FztoOptional<at::Tensor>()))FztoInt())FztoOptional<int64_t>()))FztoBool())FztoOptional<bool>()))Fz
toScalar())FztoOptional<at::Scalar>()))FztoScalarType())FztoOptional<at::ScalarType>()))FztoStringView())FztoOptional<c10::string_view>())Fz toOptional<::std::string_view>()Nr   é   )r   ÚTensorÚintr   ÚScalarÚ
ScalarTyperï   rÜ   r	   rà   r   Úelem)Úarg_typeÚtype_conversion_methodsÚbase_ty_objectÚmethodss       r   ræ   ræ   2  sË   € ô 	�‰ÐRÜ�
‰
ÐJÜ�‰ÐIÜ�‰ÐSÜ×Ñð 
ô 	�
‰
ð 
ðÐð  €NÜ�(œHÔ%Ø!Ÿ™‰Ü	�HœlÔ	+Ü˜(Ÿ-™-¬Ô2àØ!Ÿ™×+Ñ+‰ààÐ4Ñ4ØØ% nÑ5€GÜ�(œHÔ%Ø�q‰zÐØ�1‰:Ðr   )Úbitwise_notÚbitwise_andÚ
bitwise_orÚbitwise_xorÚbitwise_left_shiftÚbitwise_right_shiftÚgcdÚlcmÚscatterÚgatherÚ _convert_indices_from_coo_to_csrÚ _convert_indices_from_csr_to_coo)Úview_as_realÚimagÚ_conjrï   c                ó   — | t         v S ©N)Úshould_use_int_tensor_ops_©Úop_names    r   Úshould_use_int_tensorr  q  s   € ØÔ0Ð0Ð0r   c                ó   — | t         v S r  )Úshould_use_complex_tensor_ops_r  s    r   Úshould_use_complex_tensorr  u  s   € ØÔ4Ð4Ð4r   )	ÚaddmvÚ	index_addr  r  Únll_loss_backwardÚdotÚvdotÚouterr+   )ÚaddmmÚmmÚnuclear_normÚdiagÚ_addmm_activationÚmatrix_HÚtrù   c                ó(   — | t         v ry| t        v ryy)Nr÷   é   é   )Útest_tensor_dim_ops_1_Útest_tensor_dim_ops_2_r  s    r   Útest_tensor_dimr+  ‹  s   € ØÔ(Ñ(ØØÔ(Ñ(ØØr   z{"view_as_complex": "{2, 2}"}zdict[str, str]Útest_tensor_shape_jsonc                ó&   — | t         v r	t         |    S y)NrÙ   )r,  r  s    r   Útest_tensor_shaper.  —  s   € ØÔ(Ñ(Ü% gÑ.Ð.àr   c                ó  — t        |«      }|dk(  rb|dk(  rdnd}t        |«      }t        j                  |t	        |«      z  «      }||dz  z  }dj                  dj                  |› g|z  «      «      }t        |«      rd|› d	�}nt        |«      rd
|› d�}nd|› d�}t        j                  |t        j                  dt        j                  dt        j                  dt        j                  dt        j                  di}d }	t!        | t"        «      r| j$                  }	nWt!        | t&        «      rt!        | j(                  t"        «      st+        dt-        | «      › �«      ‚| j(                  j$                  }	|	|vrt+        d|	› �«      ‚||	   }
|
S )NrÙ   r   é   é@   r'  z{{{}}}ú,zat::randint(1, 100, z, at::kInt)z
at::randn(z, at::kComplexFloat)z	at::rand(ú)Ú1ÚfalseÚ2zat::ScalarType::Floatz"floor"z.Expected OptionalType with BaseType elem, got zUnexpected type: )r.  r+  ÚmathÚceilÚfloatÚformatÚjoinr  r  r   rø   rù   r   rú   rû   rï   rÜ   r	   rà   r   rü   ÚAssertionErrorrç   )rý   Úindexr  Útensor_size_exÚnum_tensorsÚnum_dimÚsize_per_dimÚtensor_expressionÚvalue_expressionsrÿ   Úvalue_expressions              r   Útest_value_expressionrE  ž  s‡  € ô ' wÓ/€NØ˜ÒØ! QšJ‘b¨BˆÜ! 'Ó*ˆÜ—y‘y ¬u°W«~Ñ!=Ó>ˆØ˜ qÑ(Ñ(ˆØ!Ÿ™¨¯©°l°^Ð2EÈÑ2OÓ)PÓQˆÜ˜WÔ%Ø2°>Ð2BÀ+ÐNÑÜ	" 7Ô	+Ø(¨Ð(8Ð8LÐMÑà'¨Ð'7°qÐ9Ðô 	�‰Ð(Ü�
‰
�CÜ�‰�WÜ�‰�sÜ×ÑÐ2Ü�
‰
�IðÐð €NÜ�(œHÔ%Ø!Ÿ™‰ô �x¤Ô.´:¸h¿m¹mÌXÔ3Vä Ø@ÄÀhÃÐ@PÐQóð ð "Ÿ™×+Ñ+ˆØÐ.Ñ.ÜÐ0°Ð0@ÐAÓBÐBØ(¨Ñ8ÐØÐr   c                ó´  — | j                  «       rt        d| › �«      ‚| j                  j                  j                  }i }| j	                  «       D ](  }t        |j                  ||«      }|||j                  <   Œ* t        j                  |||«       g }|j                  «       D ]  \  }}|j                  d|› |› d|› �«       Œ  dj                  |«      dz   S )NúExpected non-out function, got zauto z = ú;
    ú;)Ú	is_out_fnr<  rà   rá   rå   rE  rç   r   Úoverride_test_valuesÚitemsÚappendr;  )	Úschemar=  Úschema_nameÚarg_mapr   Útest_value_expÚarg_populationsÚarg_nameÚ	arg_values	            r   Úgenerate_test_value_definitionsrU  É  sÛ   € Ø×ÑÔÜÐ>¸v¸hÐGÓHÐHØ—+‘+×"Ñ"×'Ñ'€KØ€GØ×,Ñ,Ó.ò +ˆÜ.¨s¯x©x¸ÀÓLˆØ*ˆ�—‘Òð+ô ×Ñ ¨°eÔ<Ø€OØ&Ÿ}™}›ò HÑˆ�)Ø×Ñ  x j°°°s¸9¸+ÐFÕGðHà�>‰>˜/Ó*¨SÑ0Ð0r   c                ó�   ‡— | j                  «       rt        d| › �«      ‚dj                  ˆfd„| j                  «       D «       «      S )NrG  r2  c              3  ó>   •K  — | ]  }|j                   › ‰› �–— Œ y ­wr  ©rà   )Ú.0r   r=  s     €r   ú	<genexpr>z,generate_test_value_names.<locals>.<genexpr>Û  s   øè ø€ ÒT¨S�s—x‘x�j  Ô(ÑTùs   ƒ)rJ  r<  r;  rå   )rN  r=  s    `r   Úgenerate_test_value_namesr[  Ø  s@   ø€ Ø×ÑÔÜÐ>¸v¸hÐGÓHÐHØ�8‰8ÓT°F×4QÑ4QÓ4SÔTÓTÐTr   rø   r9  c                ó\   — dd„}| j                  «       D �cg c]
  } ||«      ‘Œ c}S c c}w )Nc                ó*  — | j                   }d}t        |t        «      r|j                  }d}t        |t        «      st        dt        |«      › �«      ‚d }|j                  t        v rt        |j                     }|r|r|› d�}d| j                  z   |fS )NFTzExpected BaseType, got ú?ú%)rç   rÜ   r   rü   r	   r<  rà   Ú/generate_test_ir_arguments_base_ty_to_type_str_)r   r%  Úadd_optionalÚtype_strs       r   Úir_argumentz/generate_test_ir_arguments.<locals>.ir_argumentì  sŒ   € Ø�H‰HˆØˆÜ�aœÔ&Ø—‘ˆAØˆLÜ˜!œXÔ&Ü Ð#:¼4À»7¸)Ð!DÓEÐEØˆØ�6‰6ÔDÑDÜFÀqÇvÁvÑNˆHÙ™Ø"˜ 1�~ˆHØ�c—h‘h‘ Ð)Ð)r   )r   r   Úreturnztuple[str, str | None])rå   )rN  rc  r   s      r   Úgenerate_test_ir_argumentsre  é  s+   € ó*ð )/×(EÑ(EÓ(GÖH ‰K˜ÕÒHÐHùÒHs   —)c                óL  — g }t        | j                  «       «      D ]s  \  }}t        |j                  «      }|s%t	        d|j
                  › d|j                  › �«      ‚|\  }}|rdnd}|j                  d|› d|j
                  › d|› d|› �«       Œu d	j                  |«      d
z   S )NzNo type conversion method for ú: ú&rÙ   z
const autoú z = p_node->Input(z).rH  rI  )Ú	enumeraterå   ræ   rç   r<  rà   rM  r;  )rN  rR  Úir   rô   Úis_referenceÚtype_conversion_methodÚ	references           r   Úgenerate_arg_extractionro  þ  s»   € Ø€OÜ˜F×9Ñ9Ó;Ó<ò 

‰ˆˆ3Ü4°S·X±XÓ>ˆÙÜ Ø0°·±°
¸"¸S¿X¹X¸JÐGóð ð 0<Ñ,ˆÐ,Ù'‘C¨Rˆ	Ø×ÑØ˜˜ 1 S§X¡X JÐ.?À¸sÀ"ÐE[ÐD\Ð]õ	
ð

ð �>‰>˜/Ó*¨SÑ0Ð0r   c                ó¾   — |j                  | j                  «      }| j                  s|€)t        j                  | j                  j
                  «      S |j                  S r  )Ú
get_kernelrì   rí   rè   rà   rß   Úkernel©rò   Úbackend_indexrr  s      r   Úget_kernel_nameru    sD   € Ø×%Ñ% a§l¡lÓ3€FØ‡|‚|�v�~Ü�x‰x˜Ÿ™×)Ñ)Ó*Ð*Ø�=‰=Ðr   c                ó¾   — |j                  | j                  «      }| j                  s|€)t        j                  | j                  j
                  «      S |j                  S r  )rq  rÛ   rí   rè   rà   rß   rr  rs  s      r   Úget_out_kernel_namerw    sB   € Ø×%Ñ% a§e¡eÓ,€FØ‡|‚|�v�~Ü�x‰x˜Ÿ™Ÿ
™
Ó#Ð#Ø�=‰=Ðr   c                ó  — | j                   j                  }|j                  «       rt        d|› �«      ‚t	        | |«      }d„ |j                  «       D «       }| j                  rdnd}d|› d|› ddj                  |«      › d	�S )
NrG  c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr  rX  ©rY  r   s     r   rZ  z0generate_non_out_variant_call.<locals>.<genexpr>#  ó   è ø€ ÒE˜c�—•ÑEùó   ‚ÚcpuÚnativeúat::ú::ú(r2  r3  )rì   rß   rJ  r<  ru  rå   rí   r;  )rò   rt  rN  Úkernel_nameÚ	arg_namesÚnamespace_names         r   Úgenerate_non_out_variant_callr…    s„   € ð �\‰\×Ñ€FØ×ÑÔÜÐ>¸v¸hÐGÓHÐHÜ! ! ]Ó3€KÙE V×%BÑ%BÓ%DÔE€IØŸlšl‘U°€NØ�.Ð!  K =°°#·(±(¸9Ó2EÐ1FÀaÐHÐHr   c                ó  — | j                   j                  }t        j                  |«      }|j	                  | j                   «      }|r|j
                  }d„ |j                  «       D «       }d}d|› d|› ddj                  |«      › d�S )Nc              3  ó4   K  — | ]  }|j                   –— Œ y ­wr  rX  rz  s     r   rZ  z,generate_call_to_view_ops.<locals>.<genexpr>0  r{  r|  r~  r  r€  r�  r2  r3  )rÝ   rß   rè   rà   rq  rr  rå   r;  )rò   rt  rN  r‚  rr  rƒ  r„  s          r   Úgenerate_call_to_view_opsrˆ  (  s}   € ð �V‰V�[‰[€FÜ—(‘(˜6Ó"€KØ×%Ñ% a§f¡fÓ-€FÙØ—m‘mˆÙE V×%BÑ%BÓ%DÔE€IØ€NØ�.Ð!  K =°°#·(±(¸9Ó2EÐ1FÀaÐHÐHr   c                óž  — | j                   j                  }|j                  «       st        d|› �«      ‚g }t	        | |«      }| j
                  r.|j                  j                   D �cg c]  }|j                  ‘Œ }}ng }|j                  j                  D ]z  }t        |t        «      r&|j                  |j                  j                  «       Œ9t        |t        «      st        dt        |«      › �«      ‚|j                  |j                  «       Œ| | j
                  st        |j                  j                   «      dk7  r+t        dt        |j                  j                   «      › �«      ‚|j                  |j                  j                   d   j                  «       dj!                  |«      }| j
                  rdnd}d	|› d
|› d|› d�S c c}w )NzExpected out function, got zExpected Argument, got r÷   úExpected 1 out argument, got r   r2  r}  r~  r  r€  r�  r3  )rÛ   rß   rJ  r<  rw  rí   r   rà   rñ   rÜ   r   rM  Úargumentr   rç   Úlenr;  )	rò   rt  rN  rƒ  r‚  Úout_argr   Úcpp_arg_namesr„  s	            r   Úgenerate_out_variant_callr�  5  s�  € ð �U‰U�Z‰Z€FØ×ÑÔÜÐ:¸6¸(ÐCÓDÐDØ€IÜ% a¨Ó7€KØ‡|‚|à17×1AÑ1A×1EÑ1EÖF g�W—\“\ÐFˆ	ÑFàˆ	Ø×Ñ×'Ñ'ò 'ˆÜ�cœ<Ô(Ø×Ñ˜SŸ\™\×.Ñ.Õ/ä˜c¤8Ô,Ü$Ð'>¼tÀC»y¸kÐ%JÓKÐKØ×Ñ˜SŸX™XÕ&ð'ð �<Š<Üˆv×Ñ×#Ñ#Ó$¨Ò)Ü Ø/´°F×4DÑ4D×4HÑ4HÓ0IÐ/JÐKóð ð 	×Ñ˜×)Ñ)×-Ñ-¨aÑ0×5Ñ5Ô6Ø—H‘H˜YÓ'€MØŸlšl‘U°€NØ�.Ð!  K =°°-°ÀÐBÐBùò% Gs   Á'G
)zisin.Scalar_Tensorr  r  r  r!  ÚhistcÚl1_lossÚmulti_margin_lossÚmultilabel_margin_lossÚnll_lossÚ
nll_loss2dÚprodc                óP   — t        | «      }|d |j                  d«       }|t        vS )Nr�  )rï   ÚfindÚno_memory_resize_ops)rN  Ú
schema_strÚtype_variant_op_names      r   Úshould_check_resizerœ  f  s.   € Ü�V“€JØ%Ð&<¨
¯©¸Ó(<Ð=ÐØÔ';Ð;Ð;r   c                ój   — | j                   j                  j                  j                  j                  S r  )rì   rß   rà   rá   )rò   s    r   Úop_name_from_grouprž  l  s$   € Ø�<‰<×Ñ×!Ñ!×&Ñ&×+Ñ+Ð+r   c                  ó\   — e Zd Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 d	d„Zy)
ÚGenOpDispatcherc                óz  — |syg }|D ]y  }t        |«      5  t        |«      st        d|› �«      ‚t        |t        «      st        dt        |«      › �«      ‚| j                  ||«      }|j                  |«       d d d «       Œ{ t        |d   «      }dj                  |«      }d|› d|› d|› d	�}|S # 1 sw Y   Œ²xY w)
NrÙ   úUnsupported function group: ú#Expected NativeFunctionsGroup, got r   ú
z&
REGISTER_OPERATOR_FUNCTOR(
    aten::ú,
    aten_ú(,
    [](Node* n) -> SROperator {
      z9
      LogAndDumpSchema(n);
      return nullptr;
    })
)
r   rõ   r<  rÜ   r   rç   Úout_variant_op_generatorrM  rž  r;  ©	ÚselfÚgroupsrt  Úgenerated_type_variantsrò   Úgenerated_type_variantr  ÚbodyÚ	generateds	            r   Úout_variantzGenOpDispatcher.out_variantq  sý   € ñ ØØ"$ÐØò 		GˆAÜ(¨Ó+ñ GÜ# A”Ü(Ð+GÈÀsÐ)KÓLÐLÜ! !Ô%9Ô:Ü(Ø=¼dÀ1»g¸YÐGóð ð *.×)FÑ)FÀqÈ-Ó)XÐ&Ø'×.Ñ.Ð/EÔF÷Gð Gð		Gô % V¨A¡YÓ/ˆØ�y‰yÐ0Ó1ˆðàˆ)ð 
Ø
ˆð à€fð ð	ˆ	ð Ð÷+Gð Gús   –A$B1Â1B:	c                óŽ  — |syg }|D ]y  }t        |«      5  t        |«      st        d|› �«      ‚t        |t        «      st        dt        |«      › �«      ‚| j                  ||«      }|j                  |«       d d d «       Œ{ t        j                  |d   «      }dj                  |«      }d|› d|› d|› d	�}|S # 1 sw Y   Œ¼xY w)
NrÙ   úUnsupported view group: ú'Expected NativeFunctionsViewGroup, got r   r¤  z-
REGISTER_NATIVE_OPERATOR_FUNCTOR(
    aten::r¥  r¦  z:
      LogAndDumpSchema(n);
      return nullptr;
    });
)r   rõ   r<  rÜ   r   rç   Úview_op_generatorrM  r   Úfunc_name_base_strr;  r¨  s	            r   rÝ   zGenOpDispatcher.view�  s  € ñ ØØ"$ÐØò 		GˆAÜ(¨Ó+ñ GÜ# A”Ü(Ð+CÀAÀ3Ð)GÓHÐHÜ! !Ô%=Ô>Ü(ØAÄ$ÀqÃ'ÀÐKóð ð *.×)?Ñ)?ÀÀ=Ó)QÐ&Ø'×.Ñ.Ð/EÔF÷Gð Gð		Gô ×+Ñ+¨F°1©IÓ6ˆØ�y‰yÐ0Ó1ˆðàˆ)ð 
Ø
ˆð à€fð ð	ˆ	ð Ð÷+Gð Gús   –A$B;Â;C	c                óJ  — |j                   }t        |j                  «      }t        |j                   j                  «      }t	        ||«      }t        |j                  j                  j                  j                  «      dk7  r?t        dt        |j                  j                  j                  j                  «      › �«      ‚t        |j                  j                  j                  j                  d   j                  «      }t        ||«      }d|› d|› d|› d|› d|› d	|› d
�}	|	S )Nr÷   rŠ  r   ú+
      if (n->matches(torch::schema("aten::ú<"))) {
        return [](ProcessedNode* p_node) {
          zM
          if (p_node->Output(0).isNone()) {
            p_node->Output(0) = z2;
            return;
          }
          auto& z< = p_node->Output(0).toTensor();
          fastResizeToZero(z);
          ú;
        };
      })rì   rï   rß   ro  r…  rŒ  rÛ   r   r<  rà   r�  )
r©  rò   rt  rì   rN  Úpopulated_argumentÚfunctional_variant_callÚout_variable_nameÚout_variant_callr®  s
             r   r§  z(GenOpDispatcher.out_variant_op_generator­  s  € ð —\‘\ˆ
Ü�Z—_‘_Ó%ˆÜ4°Q·\±\×5FÑ5FÓGÐÜ"?ÀÀ=Ó"QÐÜˆq�u‰u�z‰z×#Ñ#×'Ñ'Ó(¨AÒ-Ü Ø/´°A·E±E·J±J×4HÑ4H×4LÑ4LÓ0MÐ/NÐOóð ô   §¡§
¡
× 4Ñ 4× 8Ñ 8¸Ñ ;× @Ñ @ÓAÐÜ4°Q¸ÓFÐð+Ø+1¨(ð 3àÐ
ð !à!8Ð 9ð :ð #Ð#ð $Ø-Ð.ð /ØÐ
ð 	ðˆ	ð Ðr   c                ó²   — t        |j                  j                  «      }t        |j                  j                  «      }t	        ||«      }d|› d|› d|› d�}|S )Nr¶  r·  z!
            p_node->Output(0) = r¸  )rï   rÝ   rß   ro  rˆ  )r©  rò   rt  rN  r¹  rº  r®  s          r   r³  z!GenOpDispatcher.view_op_generatorÉ  sj   € ô �Q—V‘V—[‘[Ó!ˆÜ4°Q·V±V·[±[ÓAÐÜ";¸A¸}Ó"MÐð+Ø+1¨(ð 3àÐ
ð !Ø!8Ð 9ð :	ð	ˆ	ð Ðr   N)rª  úSequence[NativeFunctionsGroup]rt  r   rd  rï   )rª  ú"Sequence[NativeFunctionsViewGroup]rt  r   rd  rï   ©rò   r   rt  r   rd  rï   ©rò   r   rt  r   rd  rï   )Ú__name__Ú
__module__Ú__qualname__r¯  rÝ   r§  r³  r   r   r   r   r   p  sv   „ ðØ4ðØEQðà	óð<Ø8ðØIUðà	óð<Ø%ðØ6Bðà	óð8Ø)ðØ:Fðà	ôr   r   c                  ó,   — e Zd Zdd„Zdd„Zdd„Zd	d„Zy)
ÚGenOpTestCasec                ó@  — |syg }|D ]x  }t        |«      5  t        |«      st        d|› �«      ‚t        |t        «      st        dt        |«      › �«      ‚| j                  |«      }|j                  |«       d d d «       Œz dj                  |«      S # 1 sw Y   Œ•xY w)NrÙ   r¢  r£  r¤  )	r   rõ   r<  rÜ   r   rç   Ú"out_variant_op_test_case_generatorrM  r;  ©r©  rª  r«  rò   r¬  s        r   r¯  zGenOpTestCase.out_variantÚ  s»   € ÙØØ"$ÐØò 		GˆAÜ(¨Ó+ñ GÜ# A”Ü(Ð+GÈÀsÐ)KÓLÐLÜ! !Ô%9Ô:Ü(Ø=¼dÀ1»g¸YÐGóð ð *.×)PÑ)PÐQRÓ)SÐ&Ø'×.Ñ.Ð/EÔF÷Gð Gð		Gð �y‰yÐ0Ó1Ð1÷Gð Gúó   –A#BÂB	c                ó@  — |syg }|D ]x  }t        |«      5  t        |«      st        d|› �«      ‚t        |t        «      st        dt        |«      › �«      ‚| j                  |«      }|j                  |«       d d d «       Œz dj                  |«      S # 1 sw Y   Œ•xY w)NrÙ   r±  r²  r¤  )	r   rõ   r<  rÜ   r   rç   Úview_op_test_case_generatorrM  r;  rÉ  s        r   rÝ   zGenOpTestCase.viewê  sº   € ÙØØ"$ÐØò 		GˆAÜ(¨Ó+ñ GÜ# A”Ü(Ð+CÀAÀ3Ð)GÓHÐHÜ! !Ô%=Ô>Ü(ØAÄ$ÀqÃ'ÀÐKóð ð *.×)IÑ)IÈ!Ó)LÐ&Ø'×.Ñ.Ð/EÔF÷Gð Gð		Gð �y‰yÐ0Ó1Ð1÷Gð GúrÊ  c                óx  — |j                   j                  }t        |«      }|j                  d«      dk  rt	        d|› �«      ‚|d |j                  d«       j                  dd«      }t        |«      }|j                  |«      st	        d|› d|› �«      ‚t        |«      }dj                  d	„ |D «       «      }dj                  d
„ |D «       «      }t        |j                  «      dk(  rZt        |j                  d   j                  t        «      r3|j                  d   j                  j                  t         j"                  u st	        d|j                  › �«      ‚t%        |d«      }	t'        |d«      }
t%        |d«      }t'        |d«      }t)        |«      rdnd}d|› d|› d|› d|› d|	› d|
› d|› d|› d|› d|› d�}|S )Nr�  r   úInvalid schema string: ú.Ú_úType variant op name ú doesn't start with ú, c              3  ó8   K  — | ]  \  }}|€|n|› d|› �–— Œ y ­w©Nrg  r   ©rY  rS  rý   s      r   rZ  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  ó1   è ø€ ò á&�H˜hð %Ð,‘°X°J¸bÀÀ
Ð2KÓKñùó   ‚c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wr  r   ©rY  rS  rÐ  s      r   rZ  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  ó   è ø€ ÒE©K¨H°aœxÑEùó   ‚r÷   ú#Expected single Tensor return, got Útruer5  ú
TEST(StaticRuntime, autogen_ú1) {
  const std::string script = R"IR(
    graph(ú?):
        %bias: None = prim::Constant()
        %ret = aten::úQ)
        %cloned = aten::clone(%ret, %bias)
        return (%cloned)
  )IR";

  ú
  std::vector<IValue> args{zj};
  testStaticRuntime(script, args, {}, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

  z
  std::vector<IValue> args2{zm};
  testStaticRuntime(script, args, args2, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

}
)rì   rß   rï   r˜  r<  Úreplacerž  Ú
startswithre  r;  rŒ  rê   rÜ   rç   r	   rà   r   rø   rU  r[  rœ  )r©  rò   rN  rš  r›  r  Ú	arg_typesÚarg_declarationsrƒ  Útest_value_definitionsÚtest_value_namesÚtest_value_definitions2Útest_value_names2Úcheck_resizer®  s                  r   rÈ  z0GenOpTestCase.out_variant_op_test_case_generatorú  s  € Ø—‘×"Ñ"ˆÜ˜“[ˆ
Ø�?‰?˜3Ó 1Ò$Ü Ð#:¸:¸,Ð!GÓHÐHØ)Ð*@¨J¯O©O¸CÓ,@ÐA×IÑIÈ#ÈsÓSÐÜ$ QÓ'ˆØ#×.Ñ.¨wÔ7Ü Ø'Ð(<Ð'=Ð=QÐRYÐQZÐ[óð ô /¨vÓ6ˆ	ØŸ9™9ñà*3ôó
Ðð —I‘IÑE¸9ÔEÓFˆ	ä�—‘Ó 1Ò$Ü˜6Ÿ>™>¨!Ñ,×1Ñ1´8Ô<Ø—‘˜qÑ!×&Ñ&×+Ñ+¬v¯}©}Ñ<ä Ð#FÀvÇ~Á~ÐFVÐ!WÓXÐXÜ!@ÀÈÓ!KÐÜ4°V¸QÓ?ÐÜ"AÀ&È!Ó"LÐÜ5°f¸aÓ@ÐÜ!4°VÔ!<‘vÀ'ˆðØ1Ð2ð 3àÐ
ð à�Y˜a 	˜{ð +ð
 Ðð Ø-Ð.ð /jØjvÐiwð xàÐð Ø/Ð0ð 1kØkwÐjxð yð!ˆ	ð( Ðr   c                ó(  — |j                   j                  }t        |«      }|j                  d«      dk  rt	        d|› �«      ‚|d |j                  d«       j                  dd«      }|j                   j                  }|j                  |«      st	        d|› d|› �«      ‚t        |«      }dj                  d	„ |D «       «      }dj                  d
„ |D «       «      }t        |j                  «      dk(  rZt        |j                  d   j                  t        «      r3|j                  d   j                  j                  t         j"                  u st	        d|j                  › �«      ‚t%        |d«      }	t'        |d«      }
d|› d|› d|› d|› d|	› d|
› d�}|S )Nr�  r   rÎ  rÏ  rÐ  rÑ  rÒ  rÓ  c              3  ó8   K  — | ]  \  }}|€|n|› d|› �–— Œ y ­wrÕ  r   rÖ  s      r   rZ  z<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>=  r×  rØ  c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wr  r   rÚ  s      r   rZ  z<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>B  rÛ  rÜ  r÷   rÝ  rß  rà  rá  râ  rã  z(};
  testStaticRuntime(script, args);
}
)rÝ   rß   rï   r˜  r<  rä  rÞ   rå  re  r;  rŒ  rê   rÜ   rç   r	   rà   r   rø   rU  r[  )r©  rò   rN  rš  r›  r  ræ  rç  rƒ  rè  ré  r®  s               r   rÌ  z)GenOpTestCase.view_op_test_case_generator/  s¬  € Ø—‘—‘ˆÜ˜“[ˆ
Ø�?‰?˜3Ó 1Ò$Ü Ð#:¸:¸,Ð!GÓHÐHØ)Ð*@¨J¯O©O¸CÓ,@ÐA×IÑIÈ#ÈsÓSÐØ—&‘&×"Ñ"ˆØ#×.Ñ.¨wÔ7Ü Ø'Ð(<Ð'=Ð=QÐRYÐQZÐ[óð ô /¨vÓ6ˆ	ØŸ9™9ñà*3ôó
Ðð —I‘IÑE¸9ÔEÓFˆ	ä�—‘Ó 1Ò$Ü˜6Ÿ>™>¨!Ñ,×1Ñ1´8Ô<Ø—‘˜qÑ!×&Ñ&×+Ñ+¬v¯}©}Ñ<ä Ð#FÀvÇ~Á~ÐFVÐ!WÓXÐXÜ!@ÀÈÓ!KÐÜ4°V¸QÓ?ÐðØ1Ð2ð 3àÐ
ð à�Y˜a 	˜{ð +ð
 Ðð Ø-Ð.ð /ðˆ	ð  Ðr   N)rª  r¾  rd  rï   )rª  r¿  rd  rï   ©rò   r   rd  rï   )rò   r   rd  rï   )rÂ  rÃ  rÄ  r¯  rÝ   rÈ  rÌ  r   r   r   rÆ  rÆ  Ù  s   „ ó2ó 2ó 3ôj,r   rÆ  )r   z:Sequence[Argument | SelfArgument | TensorOptionsArguments]rd  r   )rò   z/NativeFunctionsGroup | NativeFunctionsViewGrouprd  r   )rý   úBaseType | OptionalType | Typerd  ztuple[bool, str] | None)r  rï   rd  r   )r  rï   rd  rù   )r  rï   rd  rï   )rý   rñ  r=  rù   r  rï   rd  rï   )rN  r
   r=  rù   rd  rï   )rN  r
   rd  zlist[tuple[str, str | None]])rN  r
   rd  rï   rÀ  rÁ  )rN  r
   rd  r   rð  )FÚ
__future__r   ÚjsonÚloggingr7  Útypingr   Útorchgen.api.cppÚapirè   Útorchgen.contextr   Útorchgen.modelr   r   r   r	   r
   r   r   r   r   r   r   Útorchgen.static_runtimer   Úcollections.abcr   Ú	getLoggerr   Ú__annotations__r   Ú	frozenseträ   rõ   ræ   r  r  r  r  r)  r*  r+  Útest_tensor_shapes_stringÚloadsr,  r.  rE  rU  r[  rø   rù   r9  rï   rú   rû   r   r`  re  ro  ru  rw  r…  rˆ  r�  r™  rœ  rž  r   rÆ  r   r   r   ú<module>r     sJ  ðÞ "ã Û Û Ý  ç Ð Ý 4÷÷ ÷ ñ õ +ñ Ý(ð +˜×*Ñ*Ó,€ˆÓ ,ð
ØIð
à	ó
ñ ðCóE€óP9ðx)Ø,ð)àó)ñX 'ðóÐ ñ  "+Ð+LÓ!MÐ ó1ó5ñ #ð
óÐ ñ #ØQóÐ ó
ð <Ð Ø)3¨¯©Ð4MÓ)NÐ ˜Ó Nóð(Ø,ð(Ø58ð(ØCFð(àó(óV1óUð ‡M�M�8Ø
‡J�J�Ø
‡L�L�'Ø
‡J�J�Ø
‡M�M�5Ø
×Ñ�uØ
‡K�K�ð3Ð /ðIØðIà!óIó*1ó óð	IØð	IØ,8ð	Iàó	Ið
IØð
IØ0<ð
Iàó
IðCØðCØ,8ðCàóCñ> !ðóÐ ó$<ó,÷fñ f÷RBò Br   