§
    �Štjbs  ã                  ó²  — 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j        ¦   «         Zded	<   d@d„Z e d¦  «        Z!dAd„Z"dBd„Z# e d¦  «        Z$ e d¦  «        Z%dCd„Z&dCd„Z' e d¦  «        Z( e d¦  «        Z)dDd „Z*d!Z+ ej,        e+¦  «        Z-d"ed#<   dEd$„Z.dFd&„Z/dGd)„Z0dGd*„Z1ej2        d+ej3        dej4        d,ej5        dej6        dej7        dej8        diZ9dHd.„Z:dId/„Z;dJd3„Z<dJd4„Z=dJd5„Z>dKd7„Z?dJd8„Z@ e d9¦  «        ZAdLd:„ZBdMd;„ZC G d<„ d=¦  «        ZD G d>„ d?¦  «        ZEdS )Né    )ÚannotationsN)ÚTYPE_CHECKING)Únative_function_manager)ÚArgumentÚBackendIndexÚBaseTyÚBaseTypeÚFunctionSchemaÚNativeFunctionsGroupÚNativeFunctionsViewGroupÚOptionalTypeÚSelfArgumentÚTensorOptionsArgumentsÚType)Úconfig)ÚSequencezlogging.LoggerÚloggerÚ	argumentsú:Sequence[Argument | SelfArgument | TensorOptionsArguments]ÚreturnÚboolc                ód   — | D ],}t          |dd ¦  «        }|sŒt          |dd¦  «        }|r dS Œ-dS )NÚ
annotationÚ	alias_set© TF)Úgetattr)r   Úargr   r   s       ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/static_runtime/generator.pyÚ	has_aliasr   !   sY   € ð ð ð ˆÝ˜S ,°Ñ5Ô5ˆ
Øð 	ØÝ˜J¨°RÑ8Ô8ˆ	Øð 	Ø�4�4ð	àˆ5ó    )¹Ú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_reduceÚgú/NativeFunctionsGroup | NativeFunctionsViewGroupc                óP  — d}d }t          | t          ¦  «        r| j        j        }| j        j        }n'| j        j        j        j        j        }| j        j        }t          j	        | ¦  «        rt                               d|¦  «         dS |t          v rt                               d|¦  «         dS |                     ¦   «         D ]6}t          |j        ¦  «        }|st                               d|¦  «          dS Œ7t          | t          ¦  «        rPdt!          j        |j        d¬¦  «                             ¦   «         k    rt                               d|¦  «         dS d	S | j        j                             ¦   «         D ]@}t          |j        ¦  «        }|s(t                               d| j        j        ¦  «          dS ŒA| j        s[t-          | d
¦  «        rIt/          |¦  «                             d¦  «        r't/          |j        ¦  «                             d¦  «        sdS dt!          j        |j        d¬¦  «                             ¦   «         k    rt                               d|¦  «         dS t3          |j        j        ¦  «        rt                               d|¦  «         dS d	S )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)rÚ   Úbase_op_namerã   r   Úmaybe_methods        r   Úis_supportedrø   ö   s‹  € Ø€LØ€DÝ�!Õ-Ñ.Ô.ð Ø”vÔ'ˆØŒvŒ{ˆˆà”u”z”Ô+Ô0ˆØŒuŒzˆÝÔ˜aÑ Ô ð Ý�ŠÐ&¨Ñ5Ô5Ð5ØˆuØ•{Ð"Ð"Ý�Š�M <Ñ0Ô0Ð0ØˆuØ×*Ò*Ñ,Ô,ð ð ˆÝ4°S´XÑ>Ô>ˆØð 	å�KŠKÐ;¸TÑBÔBÐBØ�5�5ð	õ
 �!Õ-Ñ.Ô.ð ð �3Ô+¨D¬LÀÐGÑGÔG×PÒPÑRÔRÒRÐRå�KŠKÐ1°4Ñ8Ô8Ð8Ø�5Øˆtð Œ|Ô ×7Ò7Ñ9Ô9ð ð ˆÝ4°S´XÑ>Ô>ˆØð 	å�KŠKÐ;¸Q¼\Ô=NÑOÔOÐOØ�5�5ð	ð
 Œ<ð 	õ
 ˜˜5Ñ!Ô!ð	å�t‘9”9×%Ò%Ð&EÑFÔFð	õ �t”y‘>”>×*Ò*¨6Ñ2Ô2ð	ð
 �5à�Ô)¨$¬,¸uÐEÑEÔE×NÒNÑPÔPÒPÐPÝ�ŠÐ-¨tÑ4Ô4Ð4ØˆuÝ�”Ô'Ñ(Ô(ð å�ŠÐ&¨Ñ5Ô5Ð5ØˆuØˆ4r    Úarg_typeúBaseType | OptionalType | Typeútuple[bool, str] | Nonec                óº  — t           j        dt           j        dt           j        dt           j        dt           j        dt           j        di}d}t          | t          ¦  «        r| j	        }n@t          | t          ¦  «        r)t          | j        t          ¦  «        sdS | j        j	        }ndS ||vrdS ||         }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)rù   Útype_conversion_methodsÚbase_ty_objectÚmethodss       r   rê   rê   2  sâ   € õ 	ŒÐRÝŒ
ÐJÝŒÐIÝŒÐSÝÔð 
õ 	Œ
ð 
ðÐð  €NÝ�(�HÑ%Ô%ð Ø!œˆˆÝ	�H�lÑ	+Ô	+ð Ý˜(œ-­Ñ2Ô2ð 	à�4Ø!œÔ+ˆˆàˆtàÐ4Ð4Ð4ØˆtØ% 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Ú_conjÚop_nameró   c                ó   — | t           v S ©N)Úshould_use_int_tensor_ops_©r  s    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                ó2   — | t           v rdS | t          v rdS dS )Nrý   é   é   )Útest_tensor_dim_ops_1_Útest_tensor_dim_ops_2_r  s    r   Útest_tensor_dimr0  ‹  s)   € ØÕ(Ð(Ð(ØˆqØÕ(Ð(Ð(ØˆqØˆ1r    z{"view_as_complex": "{2, 2}"}zdict[str, str]Útest_tensor_shape_jsonc                ó2   — | t           v rt           |          S dS )NrÝ   )r1  r  s    r   Útest_tensor_shaper3  —  s   € ØÕ(Ð(Ð(Ý% gÔ.Ð.àˆrr    Úindexc                ó:  — t          |¦  «        }|dk    rr|dk    rdnd}t          |¦  «        }t          j        |t	          |¦  «        z  ¦  «        }||dz  z  }d                     d                     |› 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        }	nZt!          | 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: )r3  r0  ÚmathÚceilÚfloatÚformatÚjoinr  r  r   rþ   rÿ   r   r   r  ró   rà   r	   rä   r   r  ÚAssertionErrorrë   )rù   r4  r  Útensor_size_exÚnum_tensorsÚnum_dimÚsize_per_dimÚtensor_expressionÚvalue_expressionsr  Úvalue_expressions              r   Útest_value_expressionrJ  ž  sÊ  € õ ' wÑ/Ô/€NØ˜ÒÐØ! QšJ˜J�b�b¨BˆÝ! 'Ñ*Ô*ˆÝ”y ­u°W©~¬~Ñ!=Ñ>Ô>ˆØ˜ qÑ(Ñ(ˆØ!Ÿš¨¯ª°lÐ3DÐ2EÈÑ2OÑ)PÔ)PÑQÔQˆÝ˜WÑ%Ô%ð :ØN°>ÐNÐNÐNÐÐÝ	" 7Ñ	+Ô	+ð :ØM¨ÐMÐMÐMÐÐà9¨Ð9Ð9Ð9Ðõ 	ŒÐ(ÝŒ
�CÝŒ�WÝŒ�sÝÔÐ2ÝŒ
�IðÐð €NÝ�(�HÑ%Ô%ð 	,Ø!œˆˆõ �x¥Ñ.Ô.ð	Ý3=¸h¼mÍXÑ3VÔ3Vð	õ !ØQÅÀhÁÄÐQÐQñô ð ð "œÔ+ˆØÐ.Ð.Ð.ÝÐA°ÐAÐAÑBÔBÐBØ(¨Ô8ÐØÐr    Úschemar
   c                ó°  — |                       ¦   «         rt          d| › �¦  «        ‚| j        j        j        }i }|                      ¦   «         D ]"}t          |j        ||¦  «        }|||j        <   Œ#t          j        |||¦  «         g }| 	                    ¦   «         D ]"\  }}| 
                    d|› |› d|› �¦  «         Œ#d                     |¦  «        dz   S )NúExpected non-out function, got zauto z = ú;
    ú;)Ú	is_out_fnrB  rä   rå   ré   rJ  rë   r   Úoverride_test_valuesÚitemsÚappendrA  )	rK  r4  Úschema_nameÚarg_mapr   Útest_value_expÚarg_populationsÚarg_nameÚ	arg_values	            r   Úgenerate_test_value_definitionsrZ  É  sù   € Ø×ÒÑÔð IÝÐG¸vÐGÐGÑHÔHÐHØ”+Ô"Ô'€KØ€GØ×,Ò,Ñ.Ô.ð +ð +ˆÝ.¨s¬x¸ÀÑLÔLˆØ*ˆ�”ÑÐÝ
Ô ¨°eÑ<Ô<Ð<Ø€OØ&Ÿ}š}™œð Hð HÑˆ�)Ø×ÒÐF xÐF°ÐFÐF¸9ÐFÐFÑGÔGÐGÐGØ�>Š>˜/Ñ*Ô*¨SÑ0Ð0r    c                ó¶   ‡— |                       ¦   «         rt          d| › �¦  «        ‚d                     ˆfd„|                      ¦   «         D ¦   «         ¦  «        S )NrM  r8  c              3  ó.   •K  — | ]}|j         › ‰› �V — Œd S r  ©rä   )Ú.0r   r4  s     €r   ú	<genexpr>z,generate_test_value_names.<locals>.<genexpr>Û  s0   øè è € ÐTÐT¨S�s”xÐ( Ð(Ð(ÐTÐTÐTÐTÐTÐTr    )rP  rB  rA  ré   )rK  r4  s    `r   Úgenerate_test_value_namesr`  Ø  sb   ø€ Ø×ÒÑÔð IÝÐG¸vÐGÐGÑHÔHÐHØ�8Š8ÐTÐTÐTÐT°F×4QÒ4QÑ4SÔ4SÐTÑTÔTÑTÔTÐTr    rþ   r?  úlist[tuple[str, str | None]]c                óL   ‡— dd„Šˆfd„|                       ¦   «         D ¦   «         S )Nr   r   r   útuple[str, str | None]c                ó&  — | 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	   rB  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ˆØˆÝ�a�Ñ&Ô&ð 	 Ø”ˆAØˆLÝ˜!�XÑ&Ô&ð 	FÝ Ð!D½4À¹7¼7Ð!DÐ!DÑEÔEÐEØˆØŒ6ÕDÐDÐDÝFÀqÄvÔNˆHØð 	&˜ð 	&Ø"�~�~�~ˆHØ�c”h‘ Ð)Ð)r    c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   )r^  r   rj  s     €r   ú
<listcomp>z.generate_test_ir_arguments.<locals>.<listcomp>û  s#   ø€ ÐHÐHÐH ˆKˆK˜ÑÔÐHÐHÐHr    )r   r   r   rc  )ré   )rK  rj  s    @r   Úgenerate_test_ir_argumentsrm  é  s@   ø€ ð*ð *ð *ð *ð IÐHÐHÐH¨×(EÒ(EÑ(GÔ(GÐHÑHÔHÐHr    c                óP  — g }t          |                      ¦   «         ¦  «        D ]k\  }}t          |j        ¦  «        }|st	          d|j        › d|j        › �¦  «        ‚|\  }}|rdnd}|                     d|› d|j        › d|› d|› �¦  «         Œld	                     |¦  «        d
z   S )NzNo type conversion method for ú: ú&rÝ   z
const autoú z = p_node->Input(z).rN  rO  )Ú	enumerateré   rê   rë   rB  rä   rS  rA  )rK  rW  Úir   r÷   Úis_referenceÚtype_conversion_methodÚ	references           r   Úgenerate_arg_extractionrw  þ  så   € Ø€OÝ˜F×9Ò9Ñ;Ô;Ñ<Ô<ð 

ð 

‰ˆˆ3Ý4°S´XÑ>Ô>ˆØð 	Ý ØG°´ÐGÐG¸S¼XÐGÐGñô ð ð 0<Ñ,ˆÐ,Ø'Ð/�C�C¨Rˆ	Ø×ÒØ]˜Ð]Ð] S¤XÐ]Ð]ÀÐ]Ð]ÐE[Ð]Ð]ñ	
ô 	
ð 	
ð 	
ð �>Š>˜/Ñ*Ô*¨SÑ0Ð0r    r   Úbackend_indexr   c                ó’   — |                      | j        ¦  «        }| j        s|€t          j        | j        j        ¦  «        S |j        S r  )Ú
get_kernelrð   rñ   rì   rä   rã   Úkernel©rÚ   rx  r{  s      r   Úget_kernel_namer}    sB   € Ø×%Ò% a¤lÑ3Ô3€FØ„|ð +�v�~ÝŒx˜œÔ)Ñ*Ô*Ð*ØŒ=Ðr    c                ó’   — |                      | j        ¦  «        }| j        s|€t          j        | j        j        ¦  «        S |j        S r  )rz  rß   rñ   rì   rä   rã   r{  r|  s      r   Úget_out_kernel_namer    sA   € Ø×%Ò% a¤eÑ,Ô,€FØ„|ð $�v�~ÝŒx˜œœ
Ñ#Ô#Ð#ØŒ=Ðr    c                ó  — | j         j        }|                     ¦   «         rt          d|› �¦  «        ‚t	          | |¦  «        }d„ |                     ¦   «         D ¦   «         }| j        rdnd}d|› d|› dd                     |¦  «        › d	�S )
NrM  c              3  ó$   K  — | ]}|j         V — Œd S r  r]  ©r^  r   s     r   r_  z0generate_non_out_variant_call.<locals>.<genexpr>#  ó$   è è € ÐEÐE˜c�”ÐEÐEÐEÐEÐEÐEr    ÚcpuÚnativeúat::ú::ú(r8  r9  )rð   rã   rP  rB  r}  ré   rñ   rA  )rÚ   rx  rK  Úkernel_nameÚ	arg_namesÚnamespace_names         r   Úgenerate_non_out_variant_callrŒ    s¥   € ð Œ\Ô€FØ×ÒÑÔð IÝÐG¸vÐGÐGÑHÔHÐHÝ! ! ]Ñ3Ô3€KØEÐE V×%BÒ%BÑ%DÔ%DÐEÑEÔE€IØœlÐ8�U�U°€NØH�.ÐHÐH KÐHÐH°#·(²(¸9Ñ2EÔ2EÐHÐHÐHÐHr    r   c                ó  — | j         j        }t          j        |¦  «        }|                     | j         ¦  «        }|r|j        }d„ |                     ¦   «         D ¦   «         }d}d|› d|› dd                     |¦  «        › d�S )Nc              3  ó$   K  — | ]}|j         V — Œd S r  r]  r‚  s     r   r_  z,generate_call_to_view_ops.<locals>.<genexpr>0  rƒ  r    r…  r†  r‡  rˆ  r8  r9  )rá   rã   rì   rä   rz  r{  ré   rA  )rÚ   rx  rK  r‰  r{  rŠ  r‹  s          r   Úgenerate_call_to_view_opsr�  (  s‘   € ð ŒVŒ[€FÝ”(˜6Ñ"Ô"€KØ×%Ò% a¤fÑ-Ô-€FØð $Ø”mˆØEÐE V×%BÒ%BÑ%DÔ%DÐEÑEÔE€IØ€NØH�.ÐHÐH KÐHÐH°#·(²(¸9Ñ2EÔ2EÐHÐHÐHÐHr    c                ó4  — | j         j        }|                     ¦   «         st          d|› �¦  «        ‚g }t	          | |¦  «        }| j        rd„ |j        j         D ¦   «         }ng }|j        j        D ]…}t          |t          ¦  «        r | 
                    |j        j        ¦  «         Œ7t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚| 
                    |j        ¦  «         Œ†| j        spt          |j        j         ¦  «        dk    r)t          dt          |j        j         ¦  «        › �¦  «        ‚| 
                    |j        j         d         j        ¦  «         d                     |¦  «        }| j        rdnd	}d
|› d|› d|› d�S )NzExpected out function, got c                ó   — g | ]	}|j         ‘Œ
S r   r]  )r^  Úout_args     r   rl  z-generate_out_variant_call.<locals>.<listcomp>?  s   € ÐFÐFÐF g�W”\ÐFÐFÐFr    zExpected Argument, got rý   úExpected 1 out argument, got r   r8  r„  r…  r†  r‡  rˆ  r9  )rß   rã   rP  rB  r  rñ   r   rõ   rà   r   rS  Úargumenträ   r   rë   ÚlenrA  )rÚ   rx  rK  rŠ  r‰  r   Úcpp_arg_namesr‹  s           r   Úgenerate_out_variant_callr—  5  s·  € ð ŒUŒZ€FØ×ÒÑÔð EÝÐC¸6ÐCÐCÑDÔDÐDØ€IÝ% a¨Ñ7Ô7€KØ„|ð àFÐF°Ô1AÔ1EÐFÑFÔFˆ	ˆ	àˆ	ØÔÔ'ð 'ð 'ˆÝ�c�<Ñ(Ô(ð 	'Ø×Ò˜Sœ\Ô.Ñ/Ô/Ð/Ð/å˜c¥8Ñ,Ô,ð LÝ$Ð%J½tÀC¹y¼yÐ%JÐ%JÑKÔKÐKØ×Ò˜SœXÑ&Ô&Ð&Ð&ØŒ<ð 7ÝˆvÔÔ#Ñ$Ô$¨Ò)Ð)Ý ØKµ°FÔ4DÔ4HÑ0IÔ0IÐKÐKñô ð ð 	×Ò˜Ô)Ô-¨aÔ0Ô5Ñ6Ô6Ð6Ø—H’H˜YÑ'Ô'€MØœlÐ8�U�U°€NØB�.ÐBÐB KÐBÐB°-ÐBÐBÐBÐBr    )zisin.Scalar_Tensorr  r!  r"  r&  ÚhistcÚl1_lossÚmulti_margin_lossÚmultilabel_margin_lossÚnll_lossÚ
nll_loss2dÚprodc                ól   — t          | ¦  «        }|d |                     d¦  «        …         }|t          vS )Nrˆ  )ró   ÚfindÚno_memory_resize_ops)rK  Ú
schema_strÚtype_variant_op_names      r   Úshould_check_resizer¤  f  s6   € Ý�V‘”€JØ%Ð&<¨
¯ª¸Ñ(<Ô(<Ð&<Ô=ÐØÕ';Ð;Ð;r    c                ó8   — | 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dS )ÚGenOpDispatcherÚgroupsúSequence[NativeFunctionsGroup]rx  r   r   ró   c                óÖ  — |sdS g }|D ]©}t          |¦  «        5  t          |¦  «        st          d|› �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                      ||¦  «        }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   Œªt          |d         ¦  «        }d 	                    |¦  «        }d|› d|› d|› d	�}|S )
NrÝ   úUnsupported function group: ú#Expected NativeFunctionsGroup, got r   ú
z&
REGISTER_OPERATOR_FUNCTOR(
    aten::ú,
    aten_ú(,
    [](Node* n) -> SROperator {
      z9
      LogAndDumpSchema(n);
      return nullptr;
    })
)
r   rø   rB  rà   r   rë   Úout_variant_op_generatorrS  r¦  rA  ©	Úselfr©  rx  Úgenerated_type_variantsrÚ   Úgenerated_type_variantr  ÚbodyÚ	generateds	            r   Úout_variantzGenOpDispatcher.out_variantq  sŠ  € ð ð 	Ø�2Ø"$ÐØð 		Gð 		GˆAÝ(¨Ñ+Ô+ð Gð GÝ# A‘”ð MÝ(Ð)KÈÐ)KÐ)KÑLÔLÐLÝ! !Õ%9Ñ:Ô:ð Ý(ØG½dÀ1¹g¼gÐGÐGñô ð ð *.×)FÒ)FÀqÈ-Ñ)XÔ)XÐ&Ø'×.Ò.Ð/EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøõ % V¨A¤YÑ/Ô/ˆØ�yŠyÐ0Ñ1Ô1ˆð	àð	ð 	ð ð	ð 	ð
 ð	ð 	ð 	ˆ	ð Ðó   šBB'Â'B+	Â.B+	ú"Sequence[NativeFunctionsViewGroup]c                óà  — |sdS g }|D ]©}t          |¦  «        5  t          |¦  «        st          d|› �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                      ||¦  «        }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   Œªt          j	        |d         ¦  «        }d 
                    |¦  «        }d|› d|› d|› d	�}|S )
NrÝ   úUnsupported view group: ú'Expected NativeFunctionsViewGroup, got r   r®  z-
REGISTER_NATIVE_OPERATOR_FUNCTOR(
    aten::r¯  r°  z:
      LogAndDumpSchema(n);
      return nullptr;
    });
)r   rø   rB  rà   r   rë   Úview_op_generatorrS  r   Úfunc_name_base_strrA  r²  s	            r   rá   zGenOpDispatcher.view�  s�  € ð ð 	Ø�2Ø"$ÐØð 		Gð 		GˆAÝ(¨Ñ+Ô+ð Gð GÝ# A‘”ð IÝ(Ð)GÀAÐ)GÐ)GÑHÔHÐHÝ! !Õ%=Ñ>Ô>ð Ý(ØKÅ$ÀqÁ'Ä'ÐKÐKñô ð ð *.×)?Ò)?ÀÀ=Ñ)QÔ)QÐ&Ø'×.Ò.Ð/EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøõ Ô+¨F°1¬IÑ6Ô6ˆØ�yŠyÐ0Ñ1Ô1ˆð	àð	ð 	ð ð	ð 	ð
 ð	ð 	ð 	ˆ	ð Ðr¹  rÚ   r   c                óè  — |j         }t          |j        ¦  «        }t          |j         j        ¦  «        }t	          ||¦  «        }t          |j        j        j        j        ¦  «        dk    r3t          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ã   rw  rŒ  r•  rß   r   rB  rä   r—  )
r³  rÚ   rx  rð   rK  Ú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ÑGÔGÐÝ"?ÀÀ=Ñ"QÔ"QÐÝˆqŒuŒzÔ#Ô'Ñ(Ô(¨AÒ-Ð-Ý ØOµ°A´E´JÔ4HÔ4LÑ0MÔ0MÐOÐOñô ð õ   ¤¤
Ô 4Ô 8¸Ô ;Ô @ÑAÔAÐÝ4°Q¸ÑFÔFÐðØ+1ðð ð ðð ð
 "9ðð ð #ðð ð .ðð ð ðð ð ˆ	ð Ðr    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ã   rw  r�  )r³  rÚ   rx  rK  rÄ  rÅ  r·  s          r   r¾  z!GenOpDispatcher.view_op_generatorÉ  sv   € õ �Q”V”[Ñ!Ô!ˆÝ4°Q´V´[ÑAÔAÐÝ";¸A¸}Ñ"MÔ"MÐðØ+1ðð ð ðð ð "9ð	ð ð ˆ	ð Ðr    N)r©  rª  rx  r   r   ró   )r©  rº  rx  r   r   ró   ©rÚ   r   rx  r   r   ró   ©rÚ   r   rx  r   r   ró   )Ú__name__Ú
__module__Ú__qualname__r¸  rá   r±  r¾  r   r    r   r¨  r¨  p  sd   € € € € € ðð ð ð ð<ð ð ð ð<ð ð ð ð8ð ð ð ð ð r    r¨  c                  ó.   — e Zd Zdd„Zdd„Zdd
„Zdd„ZdS )ÚGenOpTestCaser©  rª  r   ró   c                óŽ  — |sdS g }|D ]¨}t          |¦  «        5  t          |¦  «        st          d|› �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                      |¦  «        }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   Œ©d                     |¦  «        S )NrÝ   r¬  r­  r®  )	r   rø   rB  rà   r   rë   Ú"out_variant_op_test_case_generatorrS  rA  ©r³  r©  r´  rÚ   rµ  s        r   r¸  zGenOpTestCase.out_variantÚ  s8  € Øð 	Ø�2Ø"$ÐØð 		Gð 		GˆAÝ(¨Ñ+Ô+ð Gð GÝ# A‘”ð MÝ(Ð)KÈÐ)KÐ)KÑLÔLÐLÝ! !Õ%9Ñ:Ô:ð Ý(ØG½dÀ1¹g¼gÐGÐGñô ð ð *.×)PÒ)PÐQRÑ)SÔ)SÐ&Ø'×.Ò.Ð/EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøð �yŠyÐ0Ñ1Ô1Ð1ó   šB B&Â&B*	Â-B*	rº  c                óŽ  — |sdS g }|D ]¨}t          |¦  «        5  t          |¦  «        st          d|› �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                      |¦  «        }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   Œ©d                     |¦  «        S )NrÝ   r¼  r½  r®  )	r   rø   rB  rà   r   rë   Úview_op_test_case_generatorrS  rA  rÒ  s        r   rá   zGenOpTestCase.viewê  s7  € Øð 	Ø�2Ø"$ÐØð 		Gð 		GˆAÝ(¨Ñ+Ô+ð Gð GÝ# A‘”ð IÝ(Ð)GÀAÐ)GÐ)GÑHÔHÐHÝ! !Õ%=Ñ>Ô>ð Ý(ØKÅ$ÀqÁ'Ä'ÐKÐKñô ð ð *.×)IÒ)IÈ!Ñ)LÔ)LÐ&Ø'×.Ò.Ð/EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøð �yŠyÐ0Ñ1Ô1Ð1rÓ  rÚ   r   c                óÖ  — |j         j        }t          |¦  «        }|                     d¦  «        dk    rt	          d|› �¦  «        ‚|d |                     d¦  «        …                              dd¦  «        }t          |¦  «        }|                     |¦  «        st	          d|› d|› �¦  «        ‚t          |¦  «        }d 	                    d	„ |D ¦   «         ¦  «        }d 	                    d
„ |D ¦   «         ¦  «        }t          |j        ¦  «        dk    rHt          |j        d         j        t          ¦  «        r#|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  ó2   K  — | ]\  }}|€|n|› d|› �V — Œd S ©Nro  r   ©r^  rX  rù   s      r   r_  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  óQ   è è € ð ð á&�H˜hð %Ð,��°XÐ2KÐ2KÀÐ2KÐ2Kðð ð ð ð ð r    c              3  ó    K  — | ]	\  }}|V — Œ
d S r  r   ©r^  rX  rÙ  s      r   r_  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  ó&   è è € ÐEÐE©K¨H°a˜xÐEÐEÐEÐEÐEÐEr    rý   ú#Expected single Tensor return, got Útruer;  ú
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   rB  Úreplacer¦  Ú
startswithrm  rA  r•  rî   rà   rë   r	   rä   r   rþ   rZ  r`  r¤  )r³  rÚ   rK  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¸:Ð!GÐ!GÑHÔHÐHØ)Ð*@¨J¯OªO¸CÑ,@Ô,@Ð*@ÔA×IÒIÈ#ÈsÑSÔSÐÝ$ QÑ'Ô'ˆØ#×.Ò.¨wÑ7Ô7ð 	Ý Ø[Ð(<Ð[Ð[ÐRYÐ[Ð[ñô ð õ /¨vÑ6Ô6ˆ	ØŸ9š9ðð à*3ðñ ô ñ
ô 
Ðð —I’IÐEÐE¸9ÐEÑEÔEÑFÔFˆ	å�”ÑÔ 1Ò$Ð$Ý˜6œ>¨!Ô,Ô1µ8Ñ<Ô<ð %à”˜qÔ!Ô&Ô+­v¬}Ð<Ð<å Ð!WÀvÄ~Ð!WÐ!WÑXÔXÐXÝ!@ÀÈÑ!KÔ!KÐÝ4°V¸QÑ?Ô?ÐÝ"AÀ&È!Ñ"LÔ"LÐÝ5°f¸aÑ@Ô@ÐÝ!4°VÑ!<Ô!<ÐI�v�vÀ'ˆðØ1ðð ð ðð ð
 ðð ð
 !*ðð ð ðð ð .ðð ð kwðð ð ðð ð 0ðð ð  lxð!ð ð ˆ	ð( Ðr    r   c                óR  — |j         j        }t          |¦  «        }|                     d¦  «        dk    rt	          d|› �¦  «        ‚|d |                     d¦  «        …                              dd¦  «        }|j         j        }|                     |¦  «        st	          d|› d|› �¦  «        ‚t          |¦  «        }d 	                    d	„ |D ¦   «         ¦  «        }d 	                    d
„ |D ¦   «         ¦  «        }t          |j        ¦  «        dk    rHt          |j        d         j        t          ¦  «        r#|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  ó2   K  — | ]\  }}|€|n|› d|› �V — Œd S rÞ  r   rß  s      r   r_  z<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>=  rà  r    c              3  ó    K  — | ]	\  }}|V — Œ
d S r  r   râ  s      r   r_  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   rB  rë  râ   rì  rm  rA  r•  rî   rà   rë   r	   rä   r   rþ   rZ  r`  )r³  rÚ   rK  r¢  r£  r  rí  rî  rŠ  rï  rð  r·  s               r   rÕ  z)GenOpTestCase.view_op_test_case_generator/  s	  € Ø””ˆÝ˜‘[”[ˆ
Ø�?Š?˜3ÑÔ 1Ò$Ð$Ý Ð!G¸:Ð!GÐ!GÑHÔHÐHØ)Ð*@¨J¯OªO¸CÑ,@Ô,@Ð*@ÔA×IÒIÈ#ÈsÑSÔSÐØ”&Ô"ˆØ#×.Ò.¨wÑ7Ô7ð 	Ý Ø[Ð(<Ð[Ð[ÐRYÐ[Ð[ñô ð õ /¨vÑ6Ô6ˆ	ØŸ9š9ðð à*3ðñ ô ñ
ô 
Ðð —I’IÐEÐE¸9ÐEÑEÔEÑFÔFˆ	å�”ÑÔ 1Ò$Ð$Ý˜6œ>¨!Ô,Ô1µ8Ñ<Ô<ð %à”˜qÔ!Ô&Ô+­v¬}Ð<Ð<å Ð!WÀvÄ~Ð!WÐ!WÑXÔXÐXÝ!@ÀÈÑ!KÔ!KÐÝ4°V¸QÑ?Ô?ÐðØ1ðð ð ðð ð
 ðð ð
 !*ðð ð ðð ð .ðð ð ˆ	ð  Ðr    N)r©  rª  r   ró   )r©  rº  r   ró   ©rÚ   r   r   ró   )rÚ   r   r   ró   )rË  rÌ  rÍ  r¸  rá   rÑ  rÕ  r   r    r   rÏ  rÏ  Ù  se   € € € € € ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 3ð 3ð 3ð 3ðj,ð ,ð ,ð ,ð ,ð ,r    rÏ  )r   r   r   r   )rÚ   rÛ   r   r   )rù   rú   r   rû   )r  ró   r   r   )r  ró   r   rÿ   )r  ró   r   ró   )rù   rú   r4  rÿ   r  ró   r   ró   )rK  r
   r4  rÿ   r   ró   )rK  r
   r   ra  )rK  r
   r   ró   rÉ  rÊ  )rK  r
   r   r   r÷  )FÚ
__future__r   ÚjsonÚloggingr=  Ú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/  r0  Útest_tensor_shapes_stringÚloadsr1  r3  rJ  rZ  r`  rþ   rÿ   r?  ró   r   r  r   rg  rm  rw  r}  r  rŒ  r�  r—  r¡  r¤  r¦  r¨  rÏ  r   r    r   ú<module>r     s8  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *ð ð )Ø(Ð(Ð(Ð(Ð(Ð(ð +˜Ô*Ñ,Ô,€Ð ,Ð ,Ð ,Ñ ,ð
ð 
ð 
ð 
ð ˆiðCñEô E€ðP9ð 9ð 9ð 9ðx)ð )ð )ð )ðX '˜Yðñô Ð ð  "+ Ð+LÑ!MÔ!MÐ ð1ð 1ð 1ð 1ð5ð 5ð 5ð 5ð #˜ð
ñô Ð ð #˜ØQñô Ð ð
ð ð ð ð <Ð Ø)3¨¬Ð4MÑ)NÔ)NÐ Ð NÐ NÐ NÑ Nðð ð ð ð(ð (ð (ð (ðV1ð 1ð 1ð 1ðUð Uð Uð Uð „M�8Ø
„J�Ø
„L�'Ø
„J�Ø
„M�5Ø
Ô�uØ
„K�ð3Ð /ðIð Ið Ið Ið*1ð 1ð 1ð 1ð ð ð ð ðð ð ð ð	Ið 	Ið 	Ið 	Ið
Ið 
Ið 
Ið 
IðCð Cð Cð Cð> !�yðñô Ð ð$<ð <ð <ð <ð,ð ,ð ,ð ,ðfð fð fð fð fñ fô fð fðRBð Bð Bð Bð Bñ Bô Bð Bð Bð Br    