
    Noj                    T   S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
  SSKJr  SSKJrJrJr  SSKJr  SSKrSSKJrJrJrJrJrJrJrJrJr  / SQr\" S	5      r\" S
5      r  S1S\	\\4   S\ S\ S\	\\4   4S jjr!\RD                  \!S\#\	   4S j5       5       r$\RD                  S\#\	   4S j5       r%\RD                  \!S\&\	\	4   4S j5       5       r'S\	\\
\   4   S\	\	\\4   /\	\\4   4   4S jr( S2S\
\   S\	\/\)4   S-  S\*\   4S jjr+S\	\\4   S\
\   S\RX                  S\RZ                  S\4
S jr.\" \S5      r/\" \S5      r0\" \S5      r1\RD                  S\2\&\\*\	   4   \&\	\ 4   4   4S j5       r3\!S\&\\*\	   4   4S  j5       r4\!S! 5       r5\RD                  S\#\	   4S" j5       r6\!S\	S\74S# j5       r8S$ r9 " S% S&5      r:S' r;S( r<S) r=S* r>\R~                  S+ 5       r@ " S, S-\:5      rA\R~                  S. 5       rB\R~                  S/ 5       rCS0 rDg)3aE  
Python implementation of ``__torch_function__``

While most of the torch API and handling for ``__torch_function__`` happens
at the C++ level, some of the torch API is written in Python so we need
python-level handling for ``__torch_function__`` overrides as well. The main
developer-facing functionality in this file are handle_torch_function and
has_torch_function. See torch/functional.py and test/test_overrides.py
for usage examples.

Note
----
heavily inspired by NumPy's ``__array_function__`` (see:
https://github.com/pytorch/pytorch/issues/24015 and
https://www.numpy.org/neps/nep-0018-array-function-protocol.html
)

If changing this file in a way that can affect ``__torch_function__`` overhead,
please report the benchmarks in ``benchmarks/overrides_benchmark``. See the
instructions in the ``README.md`` in that directory.
    N)CallableIterable)wraps)AnycastTypeVar)	ParamSpec)	_add_docstr_get_function_stack_at_has_torch_function_has_torch_function_unary_has_torch_function_variadic_is_torch_function_mode_enabled_len_torch_function_stack_pop_torch_function_stack_push_on_torch_function_stack)get_ignored_functionsget_overridable_functionsget_testing_overrideshandle_torch_functionhas_torch_functionresolve_nameis_tensor_likeis_tensor_method_or_propertywrap_torch_functionenable_reentrant_dispatchredispatch_function_P_Rfuncregexmodulereturnc                    ^ ^^ [        T 5      S[        R                  S[        R                  S[        4U UU4S jj5       nU$ )a  
Decorator that temporarily disables ``UserWarning``s for the given ``module`` if the warning message matches the
given ``regex`` pattern.

Arguments
---------
func : function
    Function to disable the warnings for.
regex : str
    A regex pattern compilable by ``re.compile``. This is used to match the ``UserWarning`` message.
module : str
    The python module to which the filtering should be restricted.

Returns
-------
function
    The wrapped function.
argskwargsr#   c                     > [         R                  " 5          [         R                  " S[        TTS9  T" U 0 UD6sS S S 5        $ ! , (       d  f       g = f)Nignore)categorymessager"   )warningscatch_warningsfilterwarningsUserWarning)r%   r&   r    r"   r!   s     I/mnt/workspace/venv-train/lib/python3.13/site-packages/torch/overrides.pywrapper'_disable_user_warnings.<locals>.wrapper\   sA    $$&##;f ((	 '&&s   #A
A)r   r   r%   r&   r   )r    r!   r"   r0   s   ``` r/   _disable_user_warningsr2   D   sD    0 4[)rww )")) ) ) ) ) N    c                  %   [         R                  n 1 [         R                  i[         R                  i[         R                  i[         R
                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                   i[         R"                  i[         R$                  i[         R&                  i[         R(                  i[         R*                  i[         R,                  i[         R.                  i[         R0                  i[         R2                  i[         R4                  i[         R6                  i[         R8                  i[         R:                  i[         R<                  i[         R>                  i[         R@                  i[         RB                  i[         RD                  i[         RF                  i[         RH                  i[         RJ                  i[         RL                  i[         RN                  i[         RP                  i[         RR                  i[         RT                  i[         RV                  i[         RX                  i[         RZ                  i[         R\                  i[         R^                  i[         R`                  i[         Rb                  i[         Rd                  i[         Rf                  i[         Rh                  i[         Rj                  i[         Rl                  i[         Rn                  i[         Rp                  i[         Rr                  i[         Rt                  i[         Rv                  i[         Rx                  i[         Rz                  i[         R|                  i[         R~                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  R                  i[         R                  R                  i[         R                  R                  i[         R                  R                  i[         R                  i[         R                  R                  i[         R                  R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  R                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR
                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                  i[         R                  GR                   GR                   i[         R                  GR"                  GR$                  i[         R                  GR"                  GR&                  i[         R                  GR"                  R                  i[         R                  GR"                  GR(                  i[         R                  GR"                  R                  i[         R                  GR"                  GR*                  i[         R                  GR"                  GR,                  i[         R                  GR"                  GR.                  i[         R                  GR"                  GR0                  i[         R                  GR"                  GR2                  i[         R                  GR"                  GR4                  i[         R                  GR"                  GR6                  i[         GR8                  GR:                  iG[
        iG[        i[         GR<                  i[         GR>                  i[         GR@                  i[         GRB                  i[         GRD                  i[         GRF                  i[         GRH                  i[         GRJ                  i[         GRL                  i[         GRN                  i[         GRP                  i[         GRR                  i[         GRT                  i[         GRV                  i[         GRX                  i[         GRZ                  i[         GR\                  i[         GR^                  i[         GR`                  i[         GRb                  i[         GRd                  i[         GRf                  i[         GRh                  i[         R                  GR                   GRj                  i[         GRl                  i[         GRn                  i[         GRp                  i[         GRr                  i[         GRt                  i[         GRv                  i[         GRx                  i[         GRz                  i[         GR|                  i[         GR~                  i[         GR                  i[         GR                  i[         GR                  i[         GR                  i[         GR                  i[         GR                  i[         GR                  i[         GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  GR                  iU GR                  GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                  iU GR                   iU GR                  iU GR                  iU GR:                  iU GR                  iU GR                  iU GR
                  inG[        GR                  S:  a  UGR                  U GR                  5        U$ )a  
Return public functions that cannot be overridden by ``__torch_function__``.

Returns
-------
set[Callable]
    A tuple of functions that are publicly available in the torch API but cannot
    be overridden with ``__torch_function__``. Mostly this is because none of the
    arguments of these functions are tensors or tensor-likes.

Examples
--------
>>> torch.Tensor.as_subclass in torch.overrides.get_ignored_functions()
True
>>> torch.add in torch.overrides.get_ignored_functions()
False
)      (
  torchTensortypename	is_tensor
is_storageset_default_tensor_typeset_default_deviceget_default_deviceset_rng_stateget_rng_statemanual_seedinitial_seedseedthread_safe_generatorsaveloadset_printoptionsforkget_default_dtypeget_num_interop_threadsget_num_threadsinit_num_threadsimport_ir_moduleimport_ir_module_from_bufferis_anomaly_enabledis_anomaly_check_nan_enabledis_grad_enabledmerge_type_from_type_commentparse_irparse_schemaparse_type_commentset_anomaly_enabledset_flush_denormalset_num_interop_threadsset_num_threadswait	as_tensor
from_numpytensordefault_generatorhas_cuda	has_cudnn
has_lapackdevicedtypefinfohas_mklhas_mps
has_mkldnn
has_openmpiinfomemory_formatqschemeset_grad_enabledno_gradenable_gradinference_modeis_inference_mode_enabledlayoutarange
as_stridedbartlett_windowblackman_windowbroadcast_shapescan_castcompilecudnn_affine_grid_generatorcudnn_batch_normcudnn_convolutioncudnn_convolution_transposecudnn_convolution_relucudnn_convolution_add_relucudnn_grid_samplercudnn_is_acceptablemiopen_ctc_lossemptyempty_permutedempty_stridedempty_quantizedexportregister_dataclasseyefftfftfreqrfftfreq	from_filefullfillhamming_windowhann_windowkaiser_windowlinspacelogspacemkldnn_adaptive_avg_pool2dmkldnn_convolutionmkldnn_max_pool2dmkldnn_max_pool3dmkldnn_linear_backward_weightsmkldnn_rnn_layernormalonespromote_typesrand	rand_likerandn
randn_likerandintrandint_likerandpermrangeresult_typescalar_tensorsparse_coo_tensorsparse_compressed_tensorsparse_csr_tensorsparse_csc_tensorsparse_bsr_tensorsparse_bsc_tensorsym_constrain_rangesym_constrain_range_for_sizesym_fresh_sizetril_indicestriu_indicesvanderzeros_jit_internalboolean_dispatchnn
functionalassert_int_or_pairupsampleupsample_bilinearupsample_nearestr   has_torch_function_unaryhas_torch_function_variadicr   
grouped_mmscaled_grouped_mm	scaled_mmsigmoidhardsigmoidtanh_canonical_mask_none_or_dtypeinitcalculate_gainuniformconstantdiracxavier_uniformxavier_normalkaiming_uniformkaiming_normal
orthogonalsparsenestedto_padded_tensorset_autocast_enabledis_autocast_enabledset_autocast_dtypeget_autocast_dtypeclear_autocast_cacheset_autocast_cpu_enabledis_autocast_cpu_enabledset_autocast_xla_enabledis_autocast_xla_enabledset_autocast_ipu_enabledis_autocast_ipu_enabledset_autocast_cpu_dtypeget_autocast_cpu_dtypeset_autocast_ipu_dtypeget_autocast_ipu_dtypeget_autocast_gpu_dtypeset_autocast_gpu_dtypeget_autocast_xla_dtypeset_autocast_xla_dtypeautocast_increment_nestingautocast_decrement_nestingis_autocast_cache_enabledset_autocast_cache_enabled	hardswishis_vulkan_available$are_deterministic_algorithms_enableduse_deterministic_algorithms-is_deterministic_algorithms_warn_only_enabledset_deterministic_debug_modeget_device_moduleget_deterministic_debug_modeset_float32_matmul_precisionget_float32_matmul_precisionunify_type_listis_warn_always_enabledset_warn_alwaysvmapcond
frombufferasarray_functional_sym_constrain_range_make_dep_token__delitem____dir____getattribute____init____iter____init_subclass____delattr____setattr____torch_function____torch_dispatch____new__	__class____subclasshook____hash__as_subclasseiglstsq	reinforcenew
new_tensor	new_emptynew_empty_strided	new_zerosnew_onesnew_full_make_subclasssolvesymeigstride	unflattento_sparse_cooto_sparse_csrto_sparse_cscto_sparse_bsrto_sparse_bsc
_to_sparse_to_sparse_csr_to_sparse_csc_to_sparse_bsr_to_sparse_bsc_typed_storage_reduce_ex_internal_fix_weakref
_view_func_view_func_unsafe_rev_view_func_unsafe_dtensor__new___make_wrapper_subclass_python_dispatch__get___has_symbolic_sizes_strides_conj_conj_physical_lazy_clone	_neg_view_is_zerotensor_is_all_true_is_any_true_addmm_activation
_use_count_philox_normal__philox_uniform_sysversion_infoadd__annotate__)r8   	functionss     r/   r   r   g   s    ( \\FGGG 	G 	%%	G
 	  G 	  G 	G 	G 	G 	G 	

G 	##G 	

G 	

G 	G  	

!G" 	#G$ 	%%%G& 	'G( 	)G* 	+G, 	**-G. 	  /G0 	**1G2 	3G4 	**5G6 	7G8 	9G: 	  ;G< 	!!=G> 	  ?G@ 	%%AGB 	CGD 	

EGF 	GGH 	IGJ 	KGL 	MGN 	OGP 	QGR 	SGT 	UGV 	WGX 	YGZ 	[G\ 	]G^ 	_G` 	aGb 	cGd 	eGf 	gGh 	iGj 	kGl 	mGn 	oGp 	''qGr 	sGt 	uGv 	wGx 	yGz 	{G| 	}G~ 	G@ 	AGB 	))CGD 	EGF 	GGH 	))IGJ 	$$KGL 	((MGN 	  OGP 	!!QGR 	SGT 	UGV 	WGX 	YGZ 	[G\ 	]G^ 	_G` 	''aGb 	cGd 			eGf 			gGh 			iGj 	kGl 	

mGn 	

oGp 	qGr 	sGt 	uGv 	wGx 	yGz 	(({G| 	  }G~ 	G@ 	AGB 	,,CGD 	EGF 	GGH 	

IGJ 	KGL 	

MGN 	OGP 	QGR 	SGT 	UGV 	WGX 	YGZ 	[G\ 	]G^ 	_G` 	aGb 	&&cGd 	eGf 	gGh 	iGj 	kGl 	!!mGn 	**oGp 	qGr 	sGt 	uGv 	wGx 	yGz 	,,{G| 	..}G~ 	$$G@ 	--AGB 	,,CGD 	..EGF 	44GGH 	77IGJ 	11KGL 	&&MGN 	--OGP 	%%QGR 	##SGT 	''UGV 	  WGX 	++YGZ 	**[G^ 	$$_Gb 	cGd 	eGf 	gGh 	iGj 	kGl 	$$mGn 	##oGp 	%%qGr 	$$sGt 	  uGv 	wGx 	%%yGz 	{G| 	}G~ 	""G@ 	!!AGB 	  CGD 	  EGF 	""GGH 	&&IGJ 	%%KGL 	&&MGN 	%%OGP 	&&QGR 	%%SGT 	$$UGV 	$$WGX 	$$YGZ 	$$[G\ 	$$]G^ 	$$_G` 	$$aGb 	$$cGd 	((eGf 	((gGh 	''iGj 	((kGl 	%%mGn 	!!oGp 	22qGr 	**sGt 	;;uGv 	**wGx 	yGz 	**{G| 	**}G~ 	**G@ 	AGB 	$$CGD 	EGF 	

GGH 	

IGJ 	KGL 	MGN 	--OGP 	QGR 	SGT 	UGV 	WGX 	YGZ 	[G\ 	  ]G^ 	_G` 	aGb 	!!cGd 	!!eGf 	gGh 	iGj 	kGl 	mGn 	oGp 	

qGr 	sGt 	uGv 	

wGx 	yGz 	{G| 	  }G~ 	G@ 	AGB 	CGD 	EGF 	GGH 	IGJ 	KGL 	MGN 	OGP 	QGR 	SGT 	UGV 	WGX 	YGZ 	[G\ 	]G^ 	_G` 	aGb 	cGd 	""eGf 	gGh 	iGj 	  kGl 	$$mGn 	oGp 	%%qGr 	''sGt 	**22uGv 	wGx 	yGz 	{G| 	}G~ 	G@ 	AGB 	CGD 	  EGF 	GGH 	IGJ 	KGL 	MGIR 7"f))*r3   c                      [         R                  n U R                  R                  U R                  R                  U R
                  R                  1$ )a  
Return public functions that do not wrap in a subclass when invoked by
the default ``Tensor.__torch_function__`` that preserves subclasses.  Typically,
these functions represent field accesses (i.e., retrieving a Tensor that
is stored somewhere on the Tensor) as opposed to computation.  Users of
these functions expect object identity to be preserved over multiple accesses
(e.g., ``a.grad is a.grad``) which cannot be upheld if we're wrapping on
the fly every time (furthermore, the tensor stored here might already be
the subclass, in which case wrapping really ought not to happen).

Not ALL property accessors have this property; for example ``Tensor.T`` actually
just creates a new transposed tensor on the fly, and so we SHOULD interpose on
these calls (you need to check the implementation of the function to see if
this is the case or not).  Additionally, if a property accessor doesn't return a Tensor,
it doesn't have to be on this list (though it is harmless if it is).
)r7   r8   _baser.  grad_grad)r8   s    r/   get_default_nowrap_functionsrD    s>    $ \\F r3   c                  @   [         R                  n 0 [         R                  GSS j_[         R                  GSS j_[         R                  S _[         R
                  S _[         R                  GSS j_[         R                  S _[         R                  GSS j_[         R                  GSS	 j_[         R                  GSS
 j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                   GSS j_[         R"                  GSS j_[         R$                  S _0 [         R&                  GSS j_[         R(                  GSS j_[         R*                  GSS j_[         R,                  GSS j_[         R.                  GSS j_[         R0                  GSS j_[         R2                  GSS j_[         R4                  GSS j_[         R6                  S _[         R8                  S _[         R:                  GSSS.S  jj_[         R<                  GSS! j_[         R>                  S" _[         R@                  GSS# j_[         RB                  GSS$ j_[         RD                  GSS% j_[         RF                  GSS& j_E0 [         RH                  GSS' j_[         RJ                  GSS( j_[         RL                  GSS) j_[         RN                  GSS* j_[         RP                  GSS+ j_[         RR                  S, _[         RT                  S- _[         RV                  S. _[         RX                  GSS0 j_[         RZ                  GSS1 j_[         R\                  S2 _[         R^                  S3 _[         R`                  S4 _[         Rb                  S5 _[         Rd                  S6 _[         Rf                  S7 _[         Rh                  S8 _E0 [         Rj                  S9 _[         Rl                  GSS: j_[         Rn                  S; _[         Rp                  GSS= j_[         Rr                  GSS> j_[         Rt                  GSS? j_[         Rv                  GSS@ j_[         Rx                  GSSA j_[         Rz                  GSSB j_[         R|                  GSSC j_[         R~                  GSSD j_[         R                  GSSE j_[         R                  SF _[         R                  GSSG j_[         R                  SH _[         R                  SI _[         R                  GSSJ j_E0 [         R                  SK _[         R                  GSSL j_[         R                  GSSM j_[         R                  GSSN j_[         R                  GSSO j_[         R                  GSSP j_[         R                  GSSR j_[         R                  SSS.ST j_[         R                  SU _[         R                  GSSV j_[         R                  R                  GSSW j_[         R                  R                  GSSX j_[         R                  GSSY j_[         R                  GSSZ j_[         R                  S[ _[         R                  GSS\ j_[         R                  GSS] j_E0 [         R                  GSS^ j_[         R                  GSS_ j_[         R                  GSS` j_[         R                  GSSa j_[         R                  GSSb j_[         R                  Sc _[         R                  GSSd j_[         R                  Se _[         R                  GSSf j_[         R                  Sg _[         R                  R                  GSSh j_[         R                  GSSi j_[         R                  GSSj j_[         R                  GSSk j_[         R                  GSSl j_[         R                  GSSm j_[         R                  GSSn j_E0 [         R                  GSSo j_[         R                  GSSp j_[         R                  Sq _[         R                  GSSr j_[         R                  GSSs j_[         R                  GSSt j_[         R                  GSSu j_[         R                  Sv _[         R                  GSSw j_[         R                  GSSx j_[         R                  GSSy j_[         R                  GSSz j_[         R                  S{ _[         R                  GSS| j_[         R                  R                  GSS} j_[         R                  GS S~ j_[         R                  GSS j_E0 [         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  GSS j_[         R                  S _[         R                  S _[         R                  R                  S _[         GR                   S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR
                  GSS j_[         R                  GR
                  GSS j_[         GR                  GSS j_E0 [         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  S _[         GR                   S _[         GR"                  GSS j_[         R                  GR$                  GSS j_[         R                  GR&                  GSS j_[         R                  GR(                  GSS j_[         R                  GR*                  GSS j_[         GR,                  S _[         GR.                  GSS j_E0 [         GR0                  GSS j_[         GR2                  GS	S j_[         GR4                  GSS j_[         GR6                  S _[         GR8                  GSS j_[         GR:                  GSS j_[         GR<                  GSS j_[         GR>                  GSS j_[         GR@                  GSS j_[         GRB                  GSS j_[         GRD                  S _[         GRF                  S _[         GRH                  GS
S j_[         GRJ                  S _[         GRL                  S _[         GRN                  S _[         GRP                  S _E0 [         GRR                  S _[         GRT                  S _[         GRV                  S _[         GRX                  S _[         GRZ                  S _[         GR\                  GR^                  GSS j_[         GR\                  GR`                  GSS j_[         GR\                  GRb                  GSS j_[         GR\                  GRd                  GSS j_[         GR\                  GRf                  GSS j_[         GR\                  GRh                  GSS j_[         GR\                  GRj                  GSS j_[         GR\                  GRl                  GSS j_[         GR\                  GRn                  GSS j_[         GR\                  GRp                  GSS j_[         GR\                  GRr                  GSS j_[         GR\                  GRt                  GSS j_E0 [         GR\                  GRv                  GSS j_[         GR\                  GRx                  GSS j_[         GR\                  GRz                  GSS j_[         GR\                  GR|                  GSS j_[         GR\                  GR~                  GSS j_[         GR\                  GR                  GSS j_[         GR\                  GR                  GSS j_[         GR\                  GR\                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  S _[         GR                  S _[         GR                  S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  S _[         GR                  GSS j_E0 [         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  SS[         GR                  SS4S j_[         GR                  S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_E0 [         GR                  S _[         GR                  S _[         GR                  S _[         GR                  GSS j_[         GR                  S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         R                  GR                  S _[         GR                  GSS j_E0 [         GR                  S _[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  GSS j_[         GR                  S _[         GR                  S _[         GR                  GSS j_[         GR                  GSGS  j_[         GR                  GS _[         GR                  GSGS j_[         GR                  GS _[         GR                  GS
GS j_[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_E0 [         GR                  GSGS j_[         GR                   GS	 _[         GR                  GS
 _[         GR                  GSGS j_[         R                  GR                  GSGS j_[         R                  GR                  GSGS j_[         GR
                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         GR                  GS _E0 [         GR                   GSGS j_[         GR"                  GSGS j_[         GR$                  GS _[         GR&                  GSGS j_[         R                  GR(                  GSGS j_[         R                  GR*                  GSGS j_[         R                  GR,                  GSGS j_[         GR.                  GSGS  j_[         GR0                  GSGS! j_[         GR2                  GSGS" j_[         GR4                  GSGS# j_[         GR6                  GSGS$ j_[         GR8                  GSGS% j_[         GR:                  GSGS& j_[         GR<                  GSGS' j_[         GR>                  GSGS( j_[         GR@                  GSGS) j_E0 [         GRB                  GSGS* j_[         GRD                  GSGS+ j_[         GRF                  GSGS, j_[         GRH                  GSGS- j_[         GRJ                  GSGS. j_[         GRL                  GS/ _[         GRN                  GSGS0 j_[         GRP                  GSGS1 j_[         GRR                  GSGS2 j_[         GRT                  GSGS3 j_[         GRV                  GSGS4 j_[         GRX                  GSGS5 j_[         GRZ                  GSGS6 j_[         GR\                  GS7 _[         GR^                  GSGS8 j_[         GR`                  GSGS9 j_[         GRb                  GSGS: j_E0 [         GRd                  GSGS; j_[         GRf                  GSGS< j_[         GRh                  GSGS= j_[         GRj                  GS> _[         GRl                  GS? _[         GRn                  GSGS@ j_[         GRp                  GSGSA j_[         R                  GRd                  GSGSB j_[         R                  GRr                  GSGSC j_[         R                  GRt                  GSGSD j_[         R                  GRf                  GSGSE j_[         R                  GRp                  GSGSF j_[         GRv                  GSG _[         R                  GRv                  GSGSH j_[         R                  GRx                  GSGSI j_[         R                  GRz                  GSGSJ j_[         GR|                  GSK _E0 [         R                  GR|                  GSL _[         GR~                  GSGSM j_[         GR                  GSGSN j_[         GR                  GSGSO j_[         GR                  GSGSP j_[         GR                  GSGSQ j_[         GR                  GSGSR j_[         GR                  GSGSS j_[         GR                  GSGST j_[         GR                  GS GSU j_[         GR                  GSGSV j_[         GR                  GSGSW j_[         GR                  GSX _[         GR                  GSGSY j_[         GR                  GSGSZ j_[         GR                  GSGS[ j_[         GR                  GS\ _E0 [         GR                  GS] _[         GR                  GS^ _[         GR                  GS_ _[         GR                  GS` _[         GR                  GSa _[         GR                  GSb _[         GR                  GSGSc j_[         GR                  GS!GSd j_[         GR                  GSe _[         GR                  GSf _[         GR                  GSGSg j_[         GR                  GSGSh j_[         GR                  GSGSi j_[         GR                  GSGSj j_[         GR                  GSGSk j_[         GR                  GSl _[         GR                  GSm _E0 [         GR                  GS"GSn j_[         GR                  GSo _[         GR                  GSp _[         GR                  GSq _[         GR                  GS#GSr j_[         GR                  GS$GSs j_[         GR                  GSt _[         GR                  GS%GSu j_[         GR                  GSv _[         GR                  GSGSw j_[         GR                  GSGSx j_[         GR                  GSGSy j_[         GR                  GSGSz j_[         GR                  GSGS{ j_[         GR                  GR                  GR                  GS| _[         GR                  GR                  GR                  GS} _[         GR                  GR                  R
                  GSGS~ j_E0 [         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  R*                  GS&GS j_[         GR                  GR                  GR                  GS'GS j_[         GR                  GR                  GR                  GS'GS j_[         GR                  GR                  R\                  GS(GS j_[         GR                  GR                  Rn                  GSGS j_[         GR                  GR                  GR                  GS)GS j_[         GR                  GR                  Rp                  GSGS j_[         GR                  GR                  R                  GSGS j_[         GR                  GR                  R                  GSGS j_[         GR                  GR                  GR                  GS*GS j_[         GR                  GR                  GR                  GS+GS j_E0 [         GR                  GR                  R                  GS GS j_[         GR                  GR                  GR                  GS,GS j_[         GR                  GR                  GR                  GS,GS j_[         GR                  GR                  GR                  GS,GS j_[         GR                  GR                  GR                  GS,GS j_[         GR                  GR                  GR                   GSGS j_[         GR                  GR                  GR.                  GSGS j_[         GR                  GR                  GR0                  GS-GS j_[         GR                  GR                  GRX                  GS&GS j_[         GR                  GR                  GR                  GS.GS j_[         GR                  GR                  GR                  GS/GS j_[         GR                  GR                  GR                  GS/GS j_[         GR                  GR                  GR                  GS/GS j_[         GR                  GR                  GR
                  GS/GS j_[         GR                  GR                  GR                  GS0GS j_[         GR                  GR                  GR                  GS1GS j_[         GR                  GR                  GR                  GS2GS j_E0 [         GR                  GR                  GR                  GS3GS j_[         GR                  GR                  GR                  GS#GS j_[         GR                  GR                  GR                  GS4GS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GS5GS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                   GS6GS j_[         GR                  GR                  GR                  GS7GS j_[         GR                  GR                  GR"                  GSGS j_[         GR                  GR                  GR                  GS8GS j_[         GR                  GR                  GR.                  GS#GS j_[         GR                  GR                  GR                  GS9GS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                   GS:GS j_[         GR                  GR                  GR@                  GS;GS j_[         GR                  GR                  GR"                  GS _[         GR                  GR                  GR$                  GSGS j_E0 [         GR                  GR                  GR&                  GSGS j_[         GR                  GR                  GR(                  GSGS j_[         GR                  GR                  GRh                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR*                  GSGS j_[         GR                  GR                  GR                  GSGS j_[         GR                  GR                  GR,                  GSGS j_[         GR                  GR                  GR.                  GS<GS j_[         GR                  GR                  GR0                  GS<GS j_[         GR                  GR                  GR2                  GS<GS j_[         GR                  GR                  GR4                  GS8GS j_[         GR                  GR                  GR6                  GS=GS j_[         GR                  GR                  GR8                  GS>GS j_[         GR                  GR                  GR:                  GS?GS j_[         GR                  GR                  GR<                  GS)GS j_E0 [         GR                  GR                  GR>                  GS@GS j_[         GR                  GR                  GR@                  GSAGS j_[         GR                  GR                  GRB                  GS2GS j_[         GR                  GR                  GRD                  GSBGS j_[         GR                  GR                  GRF                  GSCGS j_[         GR                  GR                  GRH                  GSDGS j_[         GR                  GR                  GRJ                  GS _[         GR                  GR                  GRL                  GSGS j_[         GR                  GR                  GRN                  GSGS j_[         GR                  GR                  GRP                  GSEGS j_[         GR                  GR                  GRR                  GSFGS j_[         GR                  GR                  GRT                  GSGS j_[         GR                  GR                  GRV                  GSGS j_[         GR                  GR                  GRX                  GSGS j_[         GR                  GR                  GRZ                  GSGGS j_[         GR                  GR                  GR\                  GSHGS j_[         GR                  GR                  GR^                  GSIGS j_E0 [         GR                  GR                  GR`                  GS?GS j_[         GR                  GR                  GRb                  GS;GS j_[         GR                  GR                  GRd                  GS;GS j_[         GR                  GR                  GRf                  GSJGS j_[         GR                  GR                  GRh                  GSGS j_[         GR                  GR                  GRj                  GS _[         GR                  GR                  GRl                  GS _[         GR                  GR                  GRn                  GSGS j_[         GR                  GR                  GRp                  GSKGS j_[         GR                  GR                  GRr                  SSQSS<GS.GS j_[         GR                  GR                  GRt                  GS.GS j_[         GR                  GRv                  GRx                  GSLGS j_[         GR                  GRv                  GRz                  GSLGS j_[         GR                  GRv                  GR|                  GS _[         GR                  GRv                  GR~                  GSMGS j_[         GR                  GSGS j_[         GR                  SGS.GS j_E0 [         GR                  GS _[         GR                  GSNGS j_[         R                  GR                  GSOGS j_[         R                  GR                  GSPGS j_[         R                  GR                   GSQGS j_[         GR                  GSRGS j_[         GR                  GSNGS j_[         GR                  GS _[         GR                  GS _[         GR                  GSSGS j_[         GRF                  GSCGS j_[         GR                  GS _[         GR                  GSTGS j_[         GR                  GSGS j_[         GR                  GSUGS j_[         R                  GR                  GSVGS j_[         GR                  GS _E0 [         GR                  GS _[         GR                  GSGS j_[         GRH                  GS _[         GR                  GSGS j_[         GR                  GSGS j_[         GRJ                  GS _[         GR                  GS	GS j_[         GR                  GSGS j_[         GR                  GSGS  j_[         GR                  GSGS j_[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         R                  GR                  GSWGS j_E0 [         GR                  GSXGS	 j_[         GR                  GSXGS
 j_[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                  GS _[         GR                    GSYGS j_[         GR                    GSZGS j_[         GR                    GS[GS j_[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         GR                  GS _[         GR                  GSGS j_[         GR                  GSGS j_E0 [         R                  GR                  GSGS j_[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         GRL                  GSGS  j_[         GR                  GSGS! j_[         GR                  GSGS" j_[         GR                  GSGS# j_[         GR                  GS$ _[         GRP                  GSEGS% j_[         GR                  GS& _[         GR                  GSGS' j_[         GR                  GS( _[         GR                  GSGS) j_[         GR                  GSGS* j_[         GR                  GS\GS, j_[         GR                  GSGS- j_E0 [         GR                  GSGS. j_[         GR                   GS/ _[         GRR                  GSFGS0 j_[         GR                  GSGS1 j_[         GR                  GSGS2 j_[         GR                  GSGS3 j_[         GR                  GSSSGS4.GS5 jj_[         GR
                  GS6 _[         GR                  GSGS7 j_[         GR                  GSGS8 j_[         GR                  GS]GS9 j_[         GR                  GS: _[         GR                  GS; _[         GR                  GS^GS< j_[         GR                  GS^GS= j_[         GRT                  GSGS> j_[         GR                  GSGS? j_E0 [         GR                  GSGS@ j_[         GR                  GSGSA j_[         GR                   GSGSB j_[         GR"                  GSGSC j_[         GR$                  GSGSD j_[         GR&                  GSGSE j_[         GR(                  GSF _[         R                  GR(                  GSG _[         GR*                  GSGSH j_[         GR,                  GSGSI j_[         GRb                  GSGSJ j_[         R                  GR.                  GSGSK j_[         R                  GR0                  GSGSL j_[         GR2                  GSSSGSM.GSN jj_[         GR4                  GSGSO j_[         GR6                  GSGSP j_[         GR8                  GSGSQ j_E0 [         GR:                  GSGSR j_[         GR<                  GSGSS j_[         GR>                  GSGST j_[         GR@                  GSGSU j_[         GRB                  GSGSV j_[         GRD                  GSGSW j_[         GRF                  GS_GSX j_[         GRH                  GSGSY j_[         GRJ                  GSGSZ j_[         GRL                  GSGS[ j_[         GRN                  GS\ _[         GRP                  GS] _[         GRR                  GS^ _[         GRT                  GS_ _[         GRV                  GS` _[         GRX                  GSa _[         GRZ                  GSb _E0 [         GR\                  GSc _[         GR^                  GSd _[         GR`                  GSe _[         GRb                  GSf _[         GRd                  GSg _[         GRf                  GSh _[         GRh                  GSi _[         GRj                  GSj _[         GRl                  GSk _[         GRn                  GSl _[         GRp                  GSGSm j_[         GRr                  GS`GSn j_[         GRt                  GSaGSo j_[         R                  GRr                  GSGSp j_[         R                  GRv                  GSGSq j_[         GRx                  GSr _[         GRz                  GSs _E0 [         GR|                  GR~                  GSt _[         GR|                  GR                  GSu _[         GR|                  GR                  GSv _[         GR|                  GR                  GSw _[         GR|                  GR                  GSx _[         GR|                  GR                  GSGSy j_[         GR|                  GR                  GSGSz j_[         GR|                  GR                  GSGS{ j_[         GR|                  GR                  GSGS| j_[         GR|                  GR                  GS} _[         GR|                  GR                  GS~ _[         GR|                  GR8                  GS _[         GR|                  GR:                  GS _[         GR|                  GR                  GS _[         GR|                  GR<                  GS _[         GR|                  GR@                  GS _[         GR|                  GR                  GS _E0 [         GR|                  GRB                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GR                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GRD                  GS _[         GR|                  GR                  GS _[         GR|                  GR@                  GSGS j_[         GR|                  GRX                  GS _[         GR|                  GRZ                  GSGS j_E0 [         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GR                  GSGS j_[         GR|                  GR$                  GS _E0 [         GR|                  GRb                  GSGS j_[         GR|                  GR                  GS _[         GR|                  GR                  GSGS j_[         GR|                  GRN                  GSGS j_[         GR|                  GR                  GSGS j_[         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GSGS j_[         R                  GR                  GSGS j_[         R                  GR                  GSGS j_[         GR                  GSbGS j_[         GR                  GSGS j_[         GRn                  GSGS j_[         GR                  GS _[         GR                  GS!GS j_E0 [         GR                  GS _[         GR                  GS _[         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GScGS j_[         R                  GR                  GSSGS j_[         GR                  GSGS j_[         GRp                  GSKGS j_[         GR                  GSGS j_[         GR                  GS _[         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GS _[         GR                  GSdGS j_[         GR                  GSGS j_[         GR                   GS _[         GR                  GSGS j_E0 [         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GSGS j_[         R                  GR
                  GSGS j_[         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GS _[         GR                  GSGS j_[         GR                  GSGS j_[         GR                  GS _[         GR                  GS _[         GR                  GS	GS j_[         GR                  GS _[         GR                  GS _[         GR                   GS _[         GR"                  GS _[         GR$                  GS _E0 [         GR&                  GS _[         GR(                  GSGS j_[         GR*                  GS _[         GR,                  GSGS j_[         GR.                  SGS.GS j_[         GR0                  GS _[         GR2                  GS _[         GR4                  GS _[         GR6                  GS _[         GR8                  GS _[         GR:                  GS^GS j_[         GR<                  GSGS j_[         GR>                  GSGS j_[         GR@                  GS _[         GRB                  GS _[         GRD                  GS _[         GRF                  GS _E0 [         GRH                  GS _[         GRJ                  GS _[         GRL                  GS _[         GRN                  GS _[         GRP                  GS _[         GRR                  GS _[         GRT                  GS _[         GRV                  GS _[         GRX                  GSGS j_[         GRZ                  GS _[         GR\                  GS _[         GR^                  GS _U GR`                  GS _U GRb                  GS _U GRd                  GS _U GRf                  GS _U GRh                  GS _E0 U GRj                  GS _U GRl                  GS _U GRn                  GS _U GRp                  GS  _U GRr                  GS _U GRt                  GS _U GRv                  GS _U GRx                  GS _U GRz                  GS _U GR|                  GS _U GR~                  GS _U GR                  GS _U GR                  GS	 _U GR                  GS
 _U GR                  GS _U GR                  GS _U GR                  GS _E0 U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  SGS.GS j_U GR                  GS _U GR                  GS _U GR                  GR                  GS _E0 U GR                  GR                  GS  _U GR                  GR                  GS! _U GR                  GR                  GS" _U GR                  GR                  GS# _U GR                  GR                  GS$ _U GR                  GR                  GS% _U GR                  GR                  GS& _U GR                  GR                  GS' _U GR                  GR                  GS( _U GR                  GR                  GS) _U GR                  GR                  GS* _U GR                  GR                  GS+ _U GR                  GR                  GS, _U GR                  GS- _U GR                  GS. _U GR                  GS/ _U GR                  GR                  GS0 _E0 U GR                  GR                  GS1 _U GR                  GR                  GS2 _U GR                  GR                  GS3 _U GR                  GR                  GS4 _U GR                  GR                  GS5 _U GR                  GR                  GS6 _U GR                  GR                  GS7 _U GR                  GR                  GS8 _U GR                  GR                  GS9 _U GR                  GR                  GS: _U GR                  GR                  GS; _U GR                  GR                  GS< _U GR                  GR                  GS= _U GR                  GR                  GS> _U GR                  GR                  GS? _U GR                  GR                  GS@ _U GR                  GR                  GSA _E0 U GR                  GR                  GSB _U GR                  GR                  GSC _U GR                  GR                  GSD _U GR                  GR                  GSE _U GR                  GR                  GSF _U GR                  GR                  GSG _U GR                   GR                  GSH _U GR                  GR                  GSI _U GR                  GR                  GSJ _U GR                  GR                  GSK _U GR                  GR                  GSL _U GR                  GR                  GSM _U GR                  GR                  GSN _U GR
                  GR                  GSO _U GR                  GSGSP j_U GR                  GSQ _U GR                  GSR _E0 U GR                  GSS _U GR                  GST _U GR                  GSU _U GR                  GSV _U GR                  GSW _U GR                  GSX _U GR                  GSY _U GR                   GSZ _U R                  GS[ _U GR"                  GS\ _U GR$                  GS] _U GR&                  GS^ _U GR(                  GS/GS_ j_U GR*                  [         GR,                  4GS` j_U GR.                  [         GR,                  4GSa j_U GR0                  [         GR,                  4GSb j_U GR2                  [         GR,                  4GSc j_E0 U GR4                  GS+SGSd.GSe jj_U GR6                  GSf _U GR8                  GSg _U GR:                  [         GR<                  4GSh j_U GR>                  GSGSi j_U GR@                  [         GR,                  4GSj j_U GRB                  [         GR,                  4GSk j_U GRD                  [         GR,                  4GSl j_U GRF                  [         GR,                  4GSm j_U GRH                  [         GR,                  4GSn j_U GRJ                  GSo _U GRL                  GSp _U GRN                  GSq _U GR                  GSGSr j_U GRP                  GSs _U GRR                  GSGSt j_U GRT                  [         GR,                  4GSu j_E0 U GRV                  [         GR,                  4GSv j_U GRX                  GSw _U GRZ                  GSx _U GR\                  GSy _U GR^                  GSSGSd.GSz jj_U GR`                  GS{ _U GRb                  GS| _U GRd                  [         GR,                  4GS} j_U GRf                  [         GR,                  4GS~ j_U GRh                  SGSd.GS j_U GR                  GS _U GRj                  [         GR,                  4GS j_U GRl                  [         GR,                  4GS j_U GRn                  GS _U GRp                  [         GR,                  4GS j_U GRr                  GS _U GRt                  GS _E0 U GR                  GS _U GRv                  GS _U GRx                  GS _U GRz                  GS _U GR|                  GS _U GR~                  GSeSGSd.GS jj_U GR@                  GS _U GR                  [         GR,                  4GS j_U GR                  GS _U GR                  GS _U GR                  GSGS j_U GR                  GSGS j_U GR0                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _E0 U GR                  GS _U GRz                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GSGS j_U GR                  GS _U GR                  GSSGSd.GS jj_U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GSGS j_U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _E0 U GR                  GS _U GR                  GS _U GR                  GSfGS j_U GR                  GS _U GR                  GS _U GR                  [         GR,                  4GS j_U GR                  GS _U GR                  GS^GS j_U GR                  GS _U GR                  GS _U GR                  GSGS j_U GR                  GS _U GR                  GS _U GR>                  GSGS j_U GR                  GS _U GR                  GS _U GR                  GS _E0 U GR                  GS _U GR                  GS _U GR                  GS _U GR                  SS[         GR,                  4GS j_U GR                  GSSGS.GS jj_U GR                  GSGS j_U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GRt                  GS _U GRx                  GS+GS j_U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GS _U GR                  GSgGS j_EU GR                  GS U GR                  GS [         R                  GR                  GSGS j0En[         GR                  GR                  GR                  nG[        X5      (       a5  GSGS jUG[        X5      '   GS UG[        U GSU 35      GR                  '   0 nG[        5       nUGR                  5        GH  u  pVUGR                  UGR                  GS-   GSUGR                  -   GS-   GSUGR                  -   GS-   GSUGR                  -   GS-   /nUGR                  GR                  GS5      (       aH  UGR                  G[        GS5      S nUGR                  GSU-   GS-   GSU-   GS-   GSU-   GS-   /5        U H5  n	G[        X	S5      n
G[        U
5      (       d  M#  X;  d  M*  X;  d  M1  XcU
'   M7     GM	     UGR                  U5        [         GR                  GR	                  5       (       Ga]  S/SGKGJn  UGR                  0 UGR                  GS/GS j_UGR                  GSGS j_UGR                  GShGS j_UGR                  GSGS j_UGR                  GSGS j_UGR                  GSGS j_UGR                  GSGS j_UGR                  GShGS j_UGR                  GShGS j_UGR                  GSGS j_UGR                  GSGS j_UGR                  GS	GS j_UGR                   GSGS j_UGR"                  GSiGS j_UGR$                  GSiGS j_UGR&                  GSiGS j_UGR(                  GSiGS j_5        U$ (j  a:  Return a dict containing dummy overrides for all overridable functions

Returns
-------
Dict[Callable, Callable]
    A dictionary that maps overridable functions in the PyTorch API to
    lambda functions that have the same signature as the real function
    and unconditionally return -1. These lambda functions are useful
    for testing API coverage for a type that defines ``__torch_function__``.

Examples
--------
>>> import inspect
>>> my_add = torch.overrides.get_testing_overrides()[torch.add]
>>> inspect.signature(my_add)
<Signature (input, other, out=None)>
Nc                     gN inputouts     r/   <lambda>'get_testing_overrides.<locals>.<lambda>      2r3   c                     grG  rI  rJ  s     r/   rM  rN        r3   c                     grG  rI  rK  output_sizes     r/   rM  rN        br3   c                     grG  rI  )inputsrT  s     r/   rM  rN        rr3   c                     grG  rI  rJ  s     r/   rM  rN        Br3   c                     grG  rI  rK  s    r/   rM  rN        Rr3   c                     grG  rI  rJ  s     r/   rM  rN        br3   c                     grG  rI  rJ  s     r/   rM  rN        Rr3   c                     grG  rI  rJ  s     r/   rM  rN        rr3   c                     grG  rI  rK  otherrL  s      r/   rM  rN        "r3   c                     grG  rI  rK  batch1batch2alphabetarL  s         r/   rM  rN        rr3   c                     grG  rI  rK  tensor1tensor2valuerL  s        r/   rM  rN        "r3   c                     grG  rI  rp  s        r/   rM  rN    rt  r3   c                     grG  rI  rK  mat1mat2rm  rl  rL  s         r/   rM  rN    rt  r3   c                     grG  rI  )rK  matvecrm  rl  rL  s         r/   rM  rN        r3   c                     grG  rI  )rK  vec1vec2rm  rl  rL  s         r/   rM  rN        r3   c                     grG  rI  thetasizealign_cornerss      r/   rM  rN    r}  r3   c                     grG  rI  rK  dims     r/   rM  rN    rO  r3   Fc                     grG  rI  rK  rf  rtolatol	equal_nans        r/   rM  rN        VXr3   c                     grG  rI  rK  ptraininplaces       r/   rM  rN        Br3   c                     grG  rI  r  s     r/   rM  rN    rZ  r3   c                     grG  rI  r  s     r/   rM  rN    rZ  r3   c                     grG  rI  rK  r  keepdimrL  s       r/   rM  rN    r}  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN        Br3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   rH  )stablec                    grG  rI  )rK  r  
descendingr  s       r/   rM  rN        PRr3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  )rK  msgs     r/   rM  rN    rQ  r3   c                     grG  rI  rJ  s     r/   rM  rN    r_  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  rJ  s     r/   rM  rN    rc  r3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN    r_  r3   c                     grG  rI  re  s      r/   rM  rN        Br3   c                     grG  rI  re  s      r/   rM  rN        br3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  rJ  s     r/   rM  rN    rc  r3   c                      grG  rI  tensorss    r/   rM  rN    rO  r3   c                      grG  rI  r  s    r/   rM  rN    rO  r3   c                      grG  rI  r  s    r/   rM  rN    rO  r3   r   c                     grG  rI  )rK  kernel_sizer  padding	ceil_modecount_include_pads         r/   rM  rN        vxr3   c                     grG  rI  ri  s         r/   rM  rN    r  r3   c	                     grG  rI  )	rK  weightbiasrunning_meanrunning_vartrainingmomentumepscudnn_enableds	            r/   rM  rN        y{r3   c                     grG  rI  )grad_outrK  meaninvstdr  sum_dy
sum_dy_xmucount_tensors           r/   rM  rN    r  r3   c                     grG  rI  )r  rK  r  r  r  input_gweight_gbias_gs           r/   rM  rN        sur3   c                     grG  rI  )rK  r  r  r  r  r  s         r/   rM  rN    rn  r3   c                     grG  rI  rK  r  r  r  r  r  r  counts           r/   rM  rN        tvr3   c                     grG  rI  r  s           r/   rM  rN    	      ACr3   c                     grG  rI  rK  r  s     r/   rM  rN        2r3   c                     grG  rI  )rK  r  r  r  s       r/   rM  rN        Z\r3   c                     grG  rI  )rK  	generatorrL  s      r/   rM  rN        r3   c                     grG  rI  input1input2r  r  s       r/   rM  rN        Rr3   r  c                     grG  rI  rK  targetr  size_averagereduce	reduction
pos_weights          r/   rM  rN        rtr3   c                     grG  rI  )rK  weights	minlengths      r/   rM  rN    r  r3   c                     grG  rI  )r  probr  s      r/   rM  rN        Br3   c                     grG  rI  re  s      r/   rM  rN        "r3   c                     grG  rI  rJ  s     r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN        r3   c                     grG  rI  re  s      r/   rM  rN     r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN        "r3   c                      grG  rI  r  s    r/   rM  rN    rO  r3   c                     grG  rI  rK  ry  	out_dtyperL  s       r/   rM  rN    r  r3   c                      grG  rI  r  s    r/   rM  rN    rg  r3   c                     grG  rI  selfr  s     r/   rM  rN    rc  r3   c                     grG  rI  )rK  
boundaries	out_int32rightrL  s        r/   rM  rN        []r3   c                      grG  rI  r  s    r/   rM  rN    rc  r3   c                     grG  rI  r  r  rL  s      r/   rM  rN  	  r  r3   c                     grG  rI  r  s      r/   rM  rN  
      rr3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  )x1x2r  compute_modes       r/   rM  rN        _ar3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3         ?c                     grG  rI  rK  rl  r  s      r/   rM  rN    r  r3   )rL  c                     grG  rI  )rL  matricess     r/   rM  rN        r3   c                     grG  rI  rK  groupss     r/   rM  rN        Rr3   c                     grG  rI  rK  upperrL  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    r  r3   c                     grG  rI  rK  check_errorsrL  s      r/   rM  rN        br3   c                     grG  rI  r#  s      r/   rM  rN        Rr3   c                     grG  rI  )r  r  r$  rL  s       r/   rM  rN        Br3   c                     grG  rI  )rK  numeln_binsratio	bit_widths        r/   rM  rN        WYr3   c                     grG  rI  rK  chunksr  s      r/   rM  rN    rg  r3   c                     grG  rI  rK  minmaxrL  s       r/   rM  rN    r  r3   c                     grG  rI  r8  s       r/   rM  rN        r3   c                     grG  rI  )rK  r9  rL  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r:  rL  s      r/   rM  rN    r  r3   c                     grG  rI  r  rL  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  
correctionfweightsaweightss       r/   rM  rN        Rr3   c                     grG  rI  r\  s    r/   rM  rN        2r3   c                     grG  rI  )rK  rwith_replacements      r/   rM  rN        rr3   c                     grG  rI  )realimags     r/   rM  rN         "r3   c                     grG  rI  re  s      r/   rM  rN  !  r  r3   c                     grG  rI  )absangs     r/   rM  rN  "      br3   c                     grG  rI  )rK  ords     r/   rM  rN  #  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  $  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  %  r!  r3   c                     grG  rI  rJ  s     r/   rM  rN  &  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  '  r  r3   c                     grG  rI  )rK  padrs  s      r/   rM  rN  (      2r3   c                     grG  rI  rK  r  r  r  r  dilationr   s          r/   rM  rN  )      bdr3   c                     grG  rI  r_  s          r/   rM  rN  *  ra  r3   c                     grG  rI  r_  s          r/   rM  rN  +  ra  r3   c	                     grG  rI  )	rK  r  r  r  r  r`  
transposedoutput_addingr   s	            r/   rM  rN  ,      uwr3   c                     grG  rI  )rK  r  r  r\  s       r/   rM  rN  -  r]  r3   c                     grG  rI  rK  r  r  r  r  output_paddingr   r`  s           r/   rM  rN  .  	      Ar3   c                     grG  rI  rj  s           r/   rM  rN  /  rl  r3   c                     grG  rI  rj  s           r/   rM  rN  0  rl  r3   c                     grG  rI  r\  s    r/   rM  rN  1  rT  r3   c                     grG  rI  rJ  s     r/   rM  rN  2  rO  r3   c                     grG  rI  r  r  r  marginr  r  r  s          r/   rM  rN  3  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  4  rZ  r3   c                     grG  rI  )r  r  r  r  s       r/   rM  rN  5  r  r3   c                     grG  rI  r\  s    r/   rM  rN  6  rO  r3   c                     grG  rI  rK  rf  r  rL  s       r/   rM  rN  7  rU  r3   c                     grG  rI  rx  s       r/   rM  rN  8      2r3   c                     grG  rI  	log_probstargetsinput_lengthstarget_lengthsblankr  zero_infinitys          r/   rM  rN  :  r  r3   c                     grG  rI  rK  r  rL  s      r/   rM  rN  <  r  r3   c                     grG  rI  r  s      r/   rM  rN  =  r  r3   c                     grG  rI  rK  r  rL  rc   s       r/   rM  rN  >  r<  r3   c                     grG  rI  r  s       r/   rM  rN  ?  rX  r3   c                     grG  rI  yxr  s      r/   rM  rN  @  rU  r3   c                     grG  rI  r  s      r/   rM  rN  A  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  B  rc  r3   c                     grG  rI  r\  s    r/   rM  rN  C      r3   c                     grG  rI  r\  s    r/   rM  rN  D      r3   c                     grG  rI  r\  s    r/   rM  rN  E  r  r3   c                     grG  rI  r\  s    r/   rM  rN  F  r  r3   c                     grG  rI  rK  diagonalrL  s      r/   rM  rN  G  r  r3   c                     grG  rI  r  s      r/   rM  rN  H  rU  r3   c                     grG  rI  )rK  offsets     r/   rM  rN  I  rQ  r3   c                     grG  rI  )rK  nr  prependappendrL  s         r/   rM  rN  J      TVr3   c                     grG  rI  rK  r  dim1dim2s       r/   rM  rN  K  r<  r3   c                     grG  rI  r  s       r/   rM  rN  L  r  r3   c                     grG  rI  )rK  srcr  r  r  s        r/   rM  rN  M  rE  r3   c                     grG  rI  )r  r  r  r  storage_offsets        r/   rM  rN  N  r3  r3   c                     grG  rI  rJ  s     r/   rM  rN  O  rc  r3   c                     grG  rI  )rK  rf  r  s      r/   rM  rN  P  r_  r3   c                     grG  rI  rK  rf  rounding_moderL  s       r/   rM  rN  Q      br3   c                     grG  rI  r  s       r/   rM  rN  R  r  r3   c                     grG  rI  re  s      r/   rM  rN  S  rg  r3   c                     grG  rI  r  s       r/   rM  rN  T  rU  r3   c                     grG  rI  rK  ry  r  s      r/   rM  rN  U  r  r3   c                     grG  rI  )rx  ry  s     r/   rM  rN  V      rr3   c                     grG  rI  rK  indices_or_sectionss     r/   rM  rN  W  r  r3   c                     grG  rI  r@  s     r/   rM  rN  X  rQ  r3   c                     grG  rI  rJ  s     r/   rM  rN  Y  rg  r3   c                     grG  rI  rJ  s     r/   rM  rN  Z  r  r3   c                     grG  rI  rK  UPLOrL  s      r/   rM  rN  [  r  r3   c                     grG  rI  r  s      r/   rM  rN  \  r  r3   c                     grG  rI  )equationoperandss     r/   rM  rN  ]  rg  r3   c                     grG  rI  rK  r  padding_idxmax_norm	norm_typescale_grad_by_freqr   s          r/   rM  rN  _      z|r3   c
                     grG  rI  )
rK  r  offsetsr  r  r  moder   per_sample_weightsr  s
             r/   rM  rN  b  s	      hjr3   c                     grG  rI  rK  rc   rq   rb   requires_grads        r/   rM  rN  d      cer3   c                     grG  rI  re  s      r/   rM  rN  e      r3   c                     grG  rI  rK  rf  s     r/   rM  rN  f  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  g  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  h  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  i  r_  r3   c                     grG  rI  rJ  s     r/   rM  rN  j  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  k  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  l  ra  r3   c                     grG  rI  )rK  scale
zero_pointaxis	quant_min	quant_maxs         r/   rM  rN  m      mor3   c                     grG  rI  )rK  r  r  r  r  s        r/   rM  rN  n      fhr3   c                     grG  rI  )r  observer_onfake_quant_onaveraging_construnning_minrunning_maxr  r  r  r  ch_axisper_row_fake_quantsymmetric_quants                r/   rM  rN  p  s	      ACr3   c                     grG  rI  rK  packed_weightr  outputs       r/   rM  rN  r  r  r3   c                     grG  rI  r  s       r/   rM  rN  s      dfr3   c                     grG  rI  rK  r  packedcol_offsetsweight_scaleweight_zero_pointr  s          r/   rM  rN  t      {}r3   c                     grG  rI  r  s          r/   rM  rN  v      ^`r3   c                     grG  rI  r\  s    r/   rM  rN  x  r]  r3   c                     grG  rI  r\  s    r/   rM  rN  y  r  r3   c                     grG  rI  )rK  abs      r/   rM  rN  z  r<  r3   c                     grG  rI  rK  r  r  s      r/   rM  rN  {  r  r3   c                     grG  rI  r  s      r/   rM  rN  |  r  r3   c                     grG  rI  rK  r  r  norms       r/   rM  rN  }  r  r3   c                     grG  rI  r  s       r/   rM  rN  ~  r  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  rK  sr  r  s       r/   rM  rN    r}  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    rz  r3   c                     grG  rI  r  s       r/   rM  rN    rz  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r+  r3   c                     grG  rI  r  s       r/   rM  rN    rK  r3   c                     grG  rI  r  s       r/   rM  rN    r}  r3   c                     grG  rI  r  s       r/   rM  rN    r}  r3   c                     grG  rI  r  s       r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r!  r3   c                     grG  rI  r  s       r/   rM  rN    r<  r3   c                     grG  rI  rJ  s     r/   rM  rN    rO  r3   c                     grG  rI  )rK  	start_dimend_dims      r/   rM  rN    rU  r3   c                     grG  rI  rK  dimss     r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    rn  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  rK  exponentrL  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  )rK  
fill_valuerL  rc   rq   rb   r  s          r/   rM  rN    s	      BDr3   c                     grG  rI  )rK  r  	dep_tokens      r/   rM  rN    r  r3   c                     grG  rI  )LU_data	LU_pivotsunpack_dataunpack_pivotss       r/   rM  rN    r  r3   c                     grG  rI  )rK  r  indexrL  sparse_grads        r/   rM  rN    rE  r3   c                     grG  rI  re  s      r/   rM  rN    rg  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  rJ  s     r/   rM  rN    rO  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rK  r  rL  s      r/   rM  rN    r  r3   c                     grG  rI  rC  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  spacingr  
edge_orders       r/   rM  rN    r-  r3   c                     grG  rI  rK  gridinterpolation_modepadding_moder  s        r/   rM  rN        acr3   c                     grG  rI  rI  s        r/   rM  rN    r  r3   c                     grG  rI  rI  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  
num_groupsr  r  r  r  s         r/   rM  rN        kmr3   c	                     grG  rI  	rK  hxparams
has_biases
num_layersdropoutr  bidirectionalbatch_firsts	            r/   rM  rN        qsr3   c                     grG  rI  rK  rU  w_ihw_hhb_ihb_hhs         r/   rM  rN    r-  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rK  lambds     r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  r  rL  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  valuesrL  s      r/   rM  rN    r  r3   c                     grG  rI  rK  r  rs  r  r  r  s         r/   rM  rN        xzr3   c                     grG  rI  )rK  binsr9  r:  rL  s        r/   rM  rN    r+  r3   c                     grG  rI  )rK  ro  r9  r:  r  densityrL  s          r/   rM  rN    rR  r3   c                     grG  rI  )rK  ro  r   r  rq  s        r/   rM  rN    r3  r3   c                     grG  rI  rK  taus     r/   rM  rN    r  r3   c                     grG  rI  )rx  ry  rL  s      r/   rM  rN    rg  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r@  s     r/   rM  rN    rQ  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r!  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  rK  r  r9  sources       r/   rM  rN    r]  r3   c                     grG  rI  r~  s       r/   rM  rN    r  r3   c                     grG  rI  )rK  indicesrj  
accumulates       r/   rM  rN    rt  r3   c                     grG  rI  )rK  r  r9  rL  s       r/   rM  rN    r<  r3   c                     grG  rI  )rK  r  r9  rs  s       r/   rM  rN    r]  r3   c                     grG  rI  )rK  r  r9  r  r  include_inputs         r/   rM  rN    r  r3   c                     grG  rI  r]   s    r/   rM  rN    r  r3   c                     grG  rI  )eteassume_uniqueinverts       r/   rM  rN    r+  r3   c                     grG  rI  r  s    r/   rM  rN    r  r3   c                     grG  rI  r  s    r/   rM  rN    r]  r3   c                     grG  rI  rJ  s     r/   rM  rN    rQ  r3   c                     grG  rI  rJ  s     r/   rM  rN    rQ  r3   c	                     grG  rI  )	rK  r  r  r  r  use_input_statsr  r  r  s	            r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rT  r3   c                     grG  rI  rJ  s     r/   rM  rN    rc  r3   c                     grG  rI  rJ  s     r/   rM  rN    rg  r3   c                     grG  rI  r'  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r]  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rZ  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r  s        r/   rM  rN        UWr3   c                     grG  rI  r\  s    r/   rM  rN    rG  r3   c
                     grG  rI  )
rK  n_fft
hop_length
win_lengthwindowcenter
normalizedonesidedlengthreturn_complexs
             r/   rM  rN    	      bdr3   c                     grG  rI  rK  r  r  r  r  
log_targets         r/   rM  rN    s    prr3   c                     grG  rI  r  s     r/   rM  rN        r3   c                     grG  rI  )rK  kr  r  rL  s        r/   rM  rN    r-  r3   c                     grG  rI  )rK  	hermitianr(  rL  s       r/   rM  rN    rM  r3   c                     grG  rI  )rK  r  rL  s      r/   rM  rN    rt  r3   c                     grG  rI  )LDpivotsBr  rL  s        r/   rM  rN        QSr3   c                     grG  rI  )rK  normalized_shaper  r  r  r  s         r/   rM  rN    r\  r3   c                     grG  rI  re  s      r/   rM  rN    rg  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  endr  rL  s       r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    r_  r3   c                     grG  rI  )rK  r  r  Xr  iKnitertollargestmethodtrackerortho_iparamsortho_fparamsortho_bparamss                 r/   rM  rN    s	      IKr3   c                     grG  rI  rJ  s     r/   rM  rN    rO  r3   c                     grG  rI  rK  r  rc   s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  rL  s      r/   rM  rN    rZ  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    ra  r3   c                     grG  rI  )rK  namesr  rL  s       r/   rM  rN    rK  r3   c	                     grG  rI  )	databatch_sizesrU  rV  rW  rX  rY  r  rZ  s	            r/   rM  rN     r\  r3   c                     grG  rI  r^  s         r/   rM  rN    rE  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  )Apivot	get_infosrL  s       r/   rM  rN    rz  r3   c                     grG  rI  )r  r4  r5  rL  s       r/   rM  rN    r<  r3   c                     grG  rI  rr  s          r/   rM  rN    rl  r3   c                     grG  rI  )rK  maskrs  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  rL  s      r/   rM  rN  	  r]  r3   c                     grG  rI  re  s      r/   rM  rN  
  r!  r3   c                     grG  rI  rK  r  rL  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r(  rL  s       r/   rM  rN    r  r3   c                     grG  rI  )LUr  r  leftadjointrL  s         r/   rM  rN        Y[r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  s     r/   rM  rN    ra  r3   c                     grG  rI  rK  r  rL  s      r/   rM  rN    rU  r3   c                     grG  rI  )rK  r  r  s      r/   rM  rN        2r3   c                     grG  rI  r@  s     r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  rJ  s     r/   rM  rN    rO  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  rK  r  r  r  r`  r  s         r/   rM  rN        jlr3   c                     grG  rI  r  s         r/   rM  rN    r  r3   c                     grG  rI  r  s         r/   rM  rN    r  r3   c                     grG  rI  rK  r  r  r  r`  return_indicesr  s          r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rZ  r3   c                     grG  rI  )rK  r  r  rc   rL  s        r/   rM  rN     r  r3   c                     grG  rI  r  s     r/   rM  rN  !  r_  r3   c                     grG  rI  r  s     r/   rM  rN  "  r  r3   c                      grG  rI  )r  r&   s     r/   rM  rN  #  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  $  rO  r3   c                     grG  rI  re  s      r/   rM  rN  %  r  r3   c                     grG  rI  re  s      r/   rM  rN  &  r  r3   c                     grG  rI  )rK  r  r  r  r  r  exponential_average_factorepsilons           r/   rM  rN  (  r  r3   c	                     grG  rI  	rK  r  r  r  r  r`  r   	benchmarkdeterministics	            r/   rM  rN  *  r  r3   c	                     grG  rI  )	rK  r  zrl  r  r  r  r`  r   s	            r/   rM  rN  +  r  r3   c                     grG  rI  r_  s          r/   rM  rN  ,  r  r3   c
                     grG  rI  )
rK  r  r  r  rk  r  r`  r   r  r   s
             r/   rM  rN  .  rg  r3   c	                     grG  rI  r  s	            r/   rM  rN  1      egr3   c                     grG  rI  )rK  r  weight_stride0rU  cxr  hidden_sizerX  r[  rY  r  rZ  r  dropout_states                 r/   rM  rN  4  r  r3   c                     grG  rI  r  s       r/   rM  rN  6  r<  r3   c                     grG  rI  r  s       r/   rM  rN  7  rz  r3   c                     grG  rI  rK  r  destinations      r/   rM  rN  8  r  r3   c                     grG  rI  r/  s      r/   rM  rN  9  r]  r3   c                     grG  rI  )rK  r  rL  s      r/   rM  rN  :  rX  r3   c                     grG  rI  re  s      r/   rM  rN  ;  rg  r3   c                     grG  rI  re  s      r/   rM  rN  <  r  r3   c                     grG  rI  )rK  num_samplesreplacementrL  s       r/   rM  rN  =      SUr3   c                     grG  rI  )rK  r|  rL  s      r/   rM  rN  >  rc  r3   c                     grG  rI  rK  r  s     r/   rM  rN  ?  r  r3   c                     grG  rI  )rK  r  startr  s       r/   rM  rN  @  r  r3   c                     grG  rI  )rK  nanposinfneginfrL  s        r/   rM  rN  A  r  r3   c                     grG  rI  )rK  r  r  r  r  r  r  r  s           r/   rM  rN  B  r\  r3   c                     grG  rI  )rK  r  r  r  r  r  s         r/   rM  rN  C      ]_r3   c                     grG  rI  r  s      r/   rM  rN  D  r  r3   c                     grG  rI  rK  r  r  r  r  s        r/   rM  rN  E  r  r3   c                     grG  rI  rK  r  r  r  s       r/   rM  rN  F  r3  r3   c                     grG  rI  )rK  r  r  NCHxWgroupr  s           r/   rM  rN  G  r  r3   c                     grG  rI  )rK  r  r  r  rc   s        r/   rM  rN  H  r8  r3   c                     grG  rI  r  s     r/   rM  rN  I  r  r3   c                     grG  rI  re  s      r/   rM  rN  J  r  r3   c                     grG  rI  re  s      r/   rM  rN  K  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  L  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  M  rQ  r3   c                     grG  rI  re  s      r/   rM  rN  N  r  r3   c                     grG  rI  rS  s     r/   rM  rN  O  r-  r3   c                     grG  rI  rS  s     r/   rM  rN  P  r-  r3   c                     grG  rI  rK  rT  r  s      r/   rM  rN  Q  ra  r3   c                     grG  rI  rY  s      r/   rM  rN  R      oqr3   c                     grG  rI  rY  s      r/   rM  rN  S  ra  r3   c                     grG  rI  rY  s      r/   rM  rN  T  r[  r3   c                     grG  rI  rY  s      r/   rM  rN  U  ra  r3   c                     grG  rI  rY  s      r/   rM  rN  V  r[  r3   c                     grG  rI  r  s      r/   rM  rN  W  r  r3   c                     grG  rI  rK  r  r  r  s       r/   rM  rN  X  r  r3   c                     grG  rI  rK  r  r  r  r  r  divisor_overrides          r/   rM  rN  Z  	      @Br3   c                     grG  rI  rd  s          r/   rM  rN  ]  rf  r3   c                     grG  rI  )rK  r  r  r  r  r  r  r  s           r/   rM  rN  `  r  r3   c                     grG  rI  r  s       r/   rM  rN  b  r  r3   c                     grG  rI  rK  r  r  r  r  r  s         r/   rM  rN  d  rM  r3   c                     grG  rI  r  s          r/   rM  rN  g  r  r3   c                     grG  rI  r  s      r/   rM  rN  i  rt  r3   c                     grG  rI  rr  s          r/   rM  rN  k      gir3   c                     grG  rI  )rK  r  r  r  ignore_indexr  r  label_smoothings           r/   rM  rN  n  	      JLr3   c	                     grG  rI  )	rK  linear_weightr  linear_biasr  r  rq  rr  optionss	            r/   rM  rN  q  s	      Y[r3   c                     grG  rI  r|  s          r/   rM  rN  t  r  r3   c                     grG  rI  rb  s       r/   rM  rN  v      XZr3   c                     grG  rI  rb  s       r/   rM  rN  w  r  r3   c                     grG  rI  rb  s       r/   rM  rN  x  r  r3   c                     grG  rI  rb  s       r/   rM  rN  y  r  r3   c                     grG  rI  r  s      r/   rM  rN  z  r  r3   c                     grG  rI  r  s          r/   rM  rN  |  r  r3   c                     grG  rI  )rK  r  r  r  r  r  r  r   r  include_last_offsetr  s              r/   rM  rN    s	      HJr3   c                     grG  rI  rb  s       r/   rM  rN    ro  r3   c                     grG  rI  )rK  rT  r  r`  r  r  s         r/   rM  rN    rR  r3   c                     grG  rI  rK  r  rT  output_ratior  _random_sampless         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    rm  r3   c                     grG  rI  )rK  r  varr   r  r  s         r/   rM  rN    r  r3   c                     grG  rI  )rK  approximates     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  rJ  r  rL  r  s        r/   rM  rN    rm  r3   c                     grG  rI  )rK  rQ  r  r  r  s        r/   rM  rN    r&  r3   c                     grG  rI  )logitsru  hardr  r  s        r/   rM  rN    rM  r3   c                     grG  rI  rf  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  min_valmax_valr  s       r/   rM  rN    r  r3   c                     grG  rI  rl  s         r/   rM  rN        `br3   c                     grG  rI  )rK  r  r  r  r  r  r  r  s           r/   rM  rN    s	      GIr3   c                     grG  rI  )rK  r  scale_factorr  r  recompute_scale_factor	antialiass          r/   rM  rN    s	      KMr3   c                     grG  rI  r  s         r/   rM  rN    rl  r3   c                     grG  rI  rK  r  r  r  r  r  s         r/   rM  rN    r  r3   c                     grG  rI  rG  s        r/   rM  rN    rR  r3   c                     grG  rI  )rK  negative_sloper  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  s      r/   rM  rN    r+  r3   c                     grG  rI  )rK  r  rl  rm  r  s        r/   rM  rN    r&  r3   c                     grG  rI  rK  r  _stacklevelrc   s       r/   rM  rN    s    \^r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  rK  r  r  r  r  s        r/   rM  rN    rR  r3   c                     grG  rI  r  s        r/   rM  rN    rR  r3   c                     grG  rI  r  s        r/   rM  rN    rR  r3   c                     grG  rI  rr  s          r/   rM  rN    ro  r3   c                     grG  rI  rK  r  r  r  r`  r  r  s          r/   rM  rN    r  r3   c                     grG  rI  r  s          r/   rM  rN    r  r3   c                     grG  rI  r  s          r/   rM  rN    r  r3   c                     grG  rI  r  s          r/   rM  rN    r  r3   c                     grG  rI  r  s          r/   rM  rN    r  r3   c                     grG  rI  r  s          r/   rM  rN    r  r3   c                     grG  rI  rK  r  r  r  r  rT  s         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    rm  r3   c                     grG  rI  r  s         r/   rM  rN    r  r3   c                     grG  rI  )querykeyrs  embed_dim_to_check	num_headsin_proj_weightin_proj_biasbias_kbias_vadd_zero_attn	dropout_pout_proj_weightout_proj_biasr  key_padding_maskneed_weights	attn_maskuse_separate_proj_weightq_proj_weightk_proj_weightv_proj_weightstatic_kstatic_vaverage_attn_weights	is_causals                            r/   rM  rN    s	      ]_r3   c                     grG  rI  )rK  r  r  rs  r  r  r  r  s           r/   rM  rN    r  r3   c                     grG  rI  rK  r  r  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  rk  s         r/   rM  rN    rM  r3   c                     grG  rI  )rK  r  r  r  rq  r  r  s          r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  r  rL  s        r/   rM  rN    r  r3   c                     grG  rI  )r]   num_classess     r/   rM  rN    r  r3   c                     grG  rI  )rK  r\  r  rs  s       r/   rM  rN    r)  r3   c                     grG  rI  r  r  r  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  r  	log_inputr   r  r  r  r  s           r/   rM  rN    r  r3   c                     grG  rI  rK  r  s     r/   rM  rN    r  r3   c                     grG  rI  rK  r  s     r/   rM  rN    rX  r3   c                     grG  rI  r  s     r/   rM  rN    r<  r3   c                     grG  rI  rI  s       r/   rM  rN    rD  r3   c                     grG  rI  rK  lowerr$  r  r  s        r/   rM  rN    s    wyr3   c                     grG  rI  r  s     r/   rM  rN    rX  r3   c                     grG  rI  r  s     r/   rM  rN    rX  r3   c                     grG  rI  r  s     r/   rM  rN    rX  r3   c                     grG  rI  )r  r  rs  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  r  r  rm  s         r/   rM  rN    rl  r3   c                     grG  rI  )rK  r  r  deltar  s        r/   rM  rN        hjr3   c                     grG  rI  r  s        r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    rz  r3   c                     grG  rI  r  s       r/   rM  rN    rz  r3   c                     grG  rI  )rK  rm  	thresholds      r/   rM  rN    rt  r3   c                     grG  rI  rf  s     r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  rK  r  rs  r  s       r/   rM  rN    r  r3   c
                     grG  rI  
anchorpositivenegativers  r  r  swapr  r  r  s
             r/   rM  rN    rs  r3   )distance_functionrs  r  r  c                    grG  rI  )r  r   r  r  rs  r  r  s          r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r`  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  )r]   r   r  r  s       r/   rM  rN    rE  r3   c                     grG  rI  )r]   r  stdr  s       r/   rM  rN    r  r3   c                     grG  rI  )r]   vals     r/   rM  rN    r!  r3   c                     grG  rI  )r]   r   r  nonlinearityr  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  as_tuples     r/   rM  rN    r!  r3   )r0  c                    grG  rI  )rK  r  r0  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rT  r3   c                     grG  rI  rK  r  r  r  rL  rc   s         r/   rM  rN    r  r3   c                     grG  rI  rK  rV  r  r  rL  rc   s         r/   rM  rN    ra  r3   c                     grG  rI  r  s         r/   rM  rN    r  r3   c                     grG  rI  r  s         r/   rM  rN    s     13r3   c                     grG  rI  )vpowr  s      r/   rM  rN    r  r3   c                     grG  rI  r  s         r/   rM  rN    ra  r3   c                     grG  rI  r\  s    r/   rM  rN    rG  r3   c                     grG  rI  rt  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  r  input3r  	transposes        r/   rM  rN    rn  r3   c                     grG  rI  r  s        r/   rM  rN    r  r3   c                     grG  rI  r  r  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  qr  r  s       r/   rM  rN  	  rK  r3   c                     grG  rI  r;  s     r/   rM  rN  
  r  r3   c                     grG  rI  )rK  rconds     r/   rM  rN    r  r3   c                     grG  rI  )rK  r'  r  s      r/   rM  rN    rK  r3   c                     grG  rI  )rK  upscale_factors     r/   rM  rN    r]  r3   c                     grG  rI  )rK  downscale_factors     r/   rM  rN    rX  r3   c                     grG  rI  )rK  r  s     r/   rM  rN    r!  r3   c                     grG  rI  )rK  r  r  r   r  r  s         r/   rM  rN    r3  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    rQ  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  r  s        r/   rM  rN    ra  r3   c                     grG  rI  r*  s      r/   rM  rN    r!  r3   c                     grG  rI  )rK  rc   s     r/   rM  rN    r_  r3   c                     grG  rI  )rK  r9  r  r  s       r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rQ  r3   c                     grG  rI  r\  s    r/   rM  rN    rg  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r]  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  )rK  somerL  s      r/   rM  rN    r!  r3   c                     grG  rI  )rK  r  rL  s      r/   rM  rN    r  r3   c                     grG  rI  rK  r$  r  r  interpolationrL  s         r/   rM  rN    r  r3   c                     grG  rI  r?  s         r/   rM  rN     ro  r3   c                     grG  rI  )rK  scaleszero_pointsr  rc   s        r/   rM  rN  !  r  r3   c                     grG  rI  )rK  r  r  rc   s       r/   rM  rN  "  r  r3   c                     grG  rI  )rK  rc   reduce_ranges      r/   rM  rN  #  r)  r3   c                     grG  rI  )rK  r  r  r  r  r  output_scaleoutput_zero_points           r/   rM  rN  $  r\  r3   c                     grG  rI  rK  rU  r_  r`  ra  rb  	packed_ih	packed_hhcol_offsets_ihcol_offsets_hhscale_ihscale_hhzero_point_ihzero_point_hhs                 r/   rM  rN  &  	      _ar3   c                     grG  rI  rL  s                 r/   rM  rN  )  rU  r3   r      c                     grG  rI  r  s         r/   rM  rN  ,  s     "r3   c                     grG  rI  r  s         r/   rM  rN  1  s     !#r3   c                     grG  rI  r  s         r/   rM  rN  7  s     !#r3   c                     grG  rI  rL  s                 r/   rM  rN  >  rU  r3   c                     grG  rI  rL  s                 r/   rM  rN  A  rU  r3   c                     grG  rI  rJ  s     r/   rM  rN  C  rc  r3   c                     grG  rI  r\  s    r/   rM  rN  D  rG  r3   c                     grG  rI  rJ  s     r/   rM  rN  E  rZ  r3   c                     grG  rI  re  s      r/   rM  rN  F  r  r3   c                     grG  rI  rx  s       r/   rM  rN  G  r  r3   c                     grG  rI  r\  s    r/   rM  rN  H  rO  r3   c                     grG  rI  r\  s    r/   rM  rN  I  ra  r3   c                     grG  rI  rJ  s     r/   rM  rN  J  rg  r3   c                     grG  rI  r  s     r/   rM  rN  K  r  r3   c                     grG  rI  re  s      r/   rM  rN  L  r  r3   c                     grG  rI  )rK  r  r  maxnormrL  s        r/   rM  rN  M  rX  r3   c                     grG  rI  r  s     r/   rM  rN  N  r  r3   c                     grG  rI  )rK  shapes     r/   rM  rN  O  rZ  r3   c                     grG  rI  rI  s       r/   rM  rN  P  rn  r3   c	                     grG  rI  rT  s	            r/   rM  rN  Q  r  r3   c                     grG  rI  r^  s         r/   rM  rN  R  r  r3   c	                     grG  rI  rT  s	            r/   rM  rN  S  r  r3   c                     grG  rI  r^  s         r/   rM  rN  T  r  r3   c                     grG  rI  )rK  shiftsr#  s      r/   rM  rN  U  r!  r3   r   rY  c                     grG  rI  )rK  r  r#  s      r/   rM  rN  V  r!  r3   c                     grG  rI  rJ  s     r/   rM  rN  W  ra  r3   c                     grG  rI  r@  s     r/   rM  rN  X  r  r3   c                     grG  rI  )r  r  compressed_indices_dtypes      r/   rM  rN  Y  r)  r3   c                     grG  rI  r  s        r/   rM  rN  Z  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  [  ra  r3   c                     grG  rI  )rK  rf  rl  s      r/   rM  rN  \  rg  r3   c                     grG  rI  rw  s         r/   rM  rN  ]  r  r3   )rs  r  c                    grG  rI  )rK  r  r9  r  rs  r  s         r/   rM  rN  ^  r3  r3   c                     grG  rI  )rK  r  r9  r  s       r/   rM  rN  _  r  r3   c                     grG  rI  )rK  r  r9  r  r  include_selfs         r/   rM  rN  `  rz  r3   c                     grG  rI  )sorted_sequencerK  r	  r
  rL  s        r/   rM  rN  a  r  r3   c                     grG  rI  )r  r  lengthsr  r  r  unsafes          r/   rM  rN  b  r  r3   c                     grG  rI  )rK  r  r9  s      r/   rM  rN  c  rQ  r3   c                     grG  rI  )rK  r  r  r9  s       r/   rM  rN  d  r  r3   c                     grG  rI  rK  r  r  r=  r  steps         r/   rM  rN  e  r  r3   c                     grG  rI  r  s         r/   rM  rN  f  r  r3   c                     grG  rI  r  s     r/   rM  rN  g  r  r3   c                     grG  rI  rJ  s     r/   rM  rN  h  rc  r3   c                     grG  rI  rJ  s     r/   rM  rN  i  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  j  rc  r3   c                     grG  rI  rJ  s     r/   rM  rN  k  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  l  rO  r3   c                     grG  rI  rJ  s     r/   rM  rN  m  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  n  rZ  r3   c                     grG  rI  r\  s    r/   rM  rN  o  r]  r3   c                     grG  rI  r\  s    r/   rM  rN  p  rZ  r3   c                     grG  rI  r  s      r/   rM  rN  q  r  r3   c                     grG  rI  r  s      r/   rM  rN  r  r  r3   c                     grG  rI  r  s      r/   rM  rN  s  r  r3   c                     grG  rI  )r  r  r  rL  s       r/   rM  rN  t  rU  r3   c                     grG  rI  )r  r  r  r(  rL  s        r/   rM  rN  u  r  r3   )r  rL  c                    grG  rI  )rK  r  r  r  rL  s        r/   rM  rN  v  r3  r3   c                     grG  rI  r]   split_size_or_sectionsr  s      r/   rM  rN  w  rz  r3   c                     grG  rI  r  s      r/   rM  rN  x  r)  r3   c                     grG  rI  rJ  s     r/   rM  rN  y  rZ  r3   c                     grG  rI  rJ  s     r/   rM  rN  z  r_  r3   c                     grG  rI  r  s      r/   rM  rN  {  r  r3   c                     grG  rI  rw  s         r/   rM  rN  |  rE  r3   c                     grG  rI  r  s      r/   rM  rN  }  r  r3   c                     grG  rI  r  s     r/   rM  rN  ~  rO  r3   c                     grG  rI  r  s     r/   rM  rN    rQ  r3   c                     grG  rI  )rK  r  r  r  r  r  pad_moder  r  r  align_to_windows              r/   rM  rN    s	      ~@r3   c                     grG  rI  re  s      r/   rM  rN    rg  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r]  r3   c                     grG  rI  r   r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r]  r3   c                     grG  rI  )r   r  cs      r/   rM  rN    r  r3   c                     grG  rI  )r%   s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rT  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rT  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rT  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r_  r3   c                     grG  rI  )rK  r<  
compute_uvrL  s       r/   rM  rN    rK  r3   c                     grG  rI  )rK  r$  r  Ms       r/   rM  rN    rX  r3   c                     grG  rI  )rK  full_matricesrL  s      r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    r  r3   c                     grG  rI  rK  dim0r  s      r/   rM  rN    rg  r3   c                     grG  rI  )rK  axis0axis1s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    ra  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  r\  s    r/   rM  rN    rc  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    ra  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rZ  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  re  s      r/   rM  rN    rX  r3   c                     grG  rI  re  s      r/   rM  rN    r<  r3   c                     grG  rI  r\  s    r/   rM  rN    ra  r3   c                     grG  rI  r  s      r/   rM  rN    rK  r3   c                     grG  rI  r  s      r/   rM  rN    r}  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r}  r3   c                     grG  rI  r  s      r/   rM  rN    r}  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    r_  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s       r/   rM  rN    rE  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r;  s     r/   rM  rN    r!  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r\  s    r/   rM  rN    rX  r3   c                     grG  rI  r\  s    r/   rM  rN    rX  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s      r/   rM  rN    rU  r3   c                     grG  rI  r\  s    r/   rM  rN    r  r3   c                     grG  rI  re  s      r/   rM  rN    rU  r3   c                     grG  rI  re  s      r/   rM  rN    r  r3   c                     grG  rI  )r  rf  rL  s      r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    s    rr3   c                     grG  rI  )rK  r9  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  rL  s       r/   rM  rN    r  r3   c                     grG  rI  rJ  s     r/   rM  rN    rO  r3   c                     grG  rI  rJ  s     r/   rM  rN    rZ  r3   c                     grG  rI  )r   inds     r/   rM  rN    r  r3   c                     grG  rI  )r   r  r#  s      r/   rM  rN    r  r3   c                     grG  rI  )r   r  r#  rL  s       r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s       r/   rM  rN    r}  r3   c                     grG  rI  r"  s     r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r  r  rL  s        r/   rM  rN    r  r3   c                     grG  rI  r\  s    r/   rM  rN    rG  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    rc  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r$  r  unitriangulars        r/   rM  rN    r  r3   c                     grG  rI  )rK  r  r$  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c
                     grG  rI  r  s
             r/   rM  rN    rs  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rQ  r3   c                     grG  rI  rJ  s     r/   rM  rN    ra  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  )rK  r  sizess      r/   rM  rN    r  r3   c                     grG  rI  )rK  sortedreturn_inversereturn_countsr  s        r/   rM  rN    r  r3   c                     grG  rI  )rK  r&  r'  r  s       r/   rM  rN    r&  r3   c                     grG  rI  )r  rm  s     r/   rM  rN    r  r3   c                     grG  rI  r5  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    rt  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s      r/   rM  rN    r  r3   c                     grG  rI  )r  rK  s     r/   rM  rN    rc  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    rQ  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r@  s     r/   rM  rN    rQ  r3   c                     grG  rI  )	conditionr  r  s      r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r  s       r/   rM  rN    r  r3   c                     grG  rI  )rK  input_scaleinput_zero_point	prepacked	out_scaleout_zero_pointout_channels          r/   rM  rN     r  r3   c                     grG  rI  r  s        r/   rM  rN    r  r3   c                     grG  rI  )r  levels     r/   rM  rN    r  r3   c                     grG  rI  )primaltangentr?  s      r/   rM  rN    rU  r3   c                     grG  rI  r  s    r/   rM  rN    r_  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  )r  r  r  r  s       r/   rM  rN  	  rn  r3   c                     grG  rI  r  s     r/   rM  rN  
  r  r3   c                     grG  rI  )r  r  r  r  s       r/   rM  rN    r  r3   )implicitc                    grG  rI  )r  r  rK  s      r/   rM  rN    r  r3   c                     grG  rI  )r  r  r=  r  s       r/   rM  rN    r  r3   c                     grG  rI  )r  r#  s     r/   rM  rN    rc  r3   c                     grG  rI  r  r  r  s      r/   rM  rN    rU  r3   c                     grG  rI  )r  r  r9  s      r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  r=  r  r  s        r/   rM  rN    r-  r3   c                     grG  rI  )r  
split_sizer  s      r/   rM  rN    r  r3   c                     grG  rI  )r  split_sizesr  s      r/   rM  rN    r  r3   c                     grG  rI  r"  s     r/   rM  rN    r_  r3   c                     grG  rI  rD  s    r/   rM  rN    rG  r3   c                     grG  rI  )r  r  r  s      r/   rM  rN    r  r3   c                     grG  rI  r"  s     r/   rM  rN    rQ  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r_  r3   c                     grG  rI  rD  s    r/   rM  rN    ra  r3   c                     grG  rI  rD  s    r/   rM  rN    r_  r3   c                     grG  rI  rD  s    r/   rM  rN     ra  r3   c                     grG  rI  r"  s     r/   rM  rN  !  rc  r3   c                     grG  rI  r  rc   s     r/   rM  rN  "  ra  r3   c                     grG  rI  r  	dimensionr  r  s       r/   rM  rN  #  rX  r3   c                     grG  rI  rD  s    r/   rM  rN  $  r  r3   c                     grG  rI  r  rf  s     r/   rM  rN  %  r  r3   c                     grG  rI  rl  s     r/   rM  rN  &  rg  r3   c                     grG  rI  rl  s     r/   rM  rN  '  rg  r3   c                     grG  rI  rl  s     r/   rM  rN  (  rQ  r3   c                     grG  rI  rl  s     r/   rM  rN  )  r  r3   c                     grG  rI  rl  s     r/   rM  rN  *  r  r3   c                     grG  rI  rl  s     r/   rM  rN  +  rc  r3   c                     grG  rI  rl  s     r/   rM  rN  ,  rQ  r3   c                     grG  rI  rl  s     r/   rM  rN  -  rQ  r3   c                     grG  rI  rl  s     r/   rM  rN  .  rc  r3   c                     grG  rI  rl  s     r/   rM  rN  /  rQ  r3   c                     grG  rI  rl  s     r/   rM  rN  0  rQ  r3   c                     grG  rI  rl  s     r/   rM  rN  1  rZ  r3   c                     grG  rI  rl  s     r/   rM  rN  2  rO  r3   c                     grG  rI  rl  s     r/   rM  rN  3  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  4  r  r3   c                     grG  rI  rD  s    r/   rM  rN  5  r  r3   c                     grG  rI  rf  s     r/   rM  rN  6  r_  r3   c                     grG  rI  rD  s    r/   rM  rN  7  rT  r3   c                     grG  rI  rl  s     r/   rM  rN  8  r  r3   c                     grG  rI  rD  s    r/   rM  rN  9  r]  r3   c                     grG  rI  rD  s    r/   rM  rN  :  r  r3   c                     grG  rI  rl  s     r/   rM  rN  ;  rZ  r3   c                     grG  rI  rl  s     r/   rM  rN  <  ra  r3   c                     grG  rI  rl  s     r/   rM  rN  =  ra  r3   c                     grG  rI  )r  arrays     r/   rM  rN  >  r  r3   c                     grG  rI  )r  idxs     r/   rM  rN  ?  r_  r3   c                     grG  rI  )r  memos     r/   rM  rN  @  rQ  r3   c                     grG  rI  rD  s    r/   rM  rN  A  r]  r3   c                     grG  rI  rD  s    r/   rM  rN  B  rT  r3   c                     grG  rI  rD  s    r/   rM  rN  C  r  r3   c                     grG  rI  rD  s    r/   rM  rN  D  r]  r3   c                     grG  rI  )r  format_specs     r/   rM  rN  E  r!  r3   c                     grG  rI  )r  protos     r/   rM  rN  F  rg  r3   c                     grG  rI  rD  s    r/   rM  rN  G  rO  r3   )tensor_contentsc                    grG  rI  )r  r  s     r/   rM  rN  H  rX  r3   c                     grG  rI  )r  r  r  s      r/   rM  rN  I  rc  r3   c                     grG  rI  )r  ds     r/   rM  rN  J  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  K  r  r3   c                     grG  rI  rD  s    r/   rM  rN  L  r  r3   c                     grG  rI  rD  s    r/   rM  rN  M  r  r3   c                     grG  rI  rD  s    r/   rM  rN  N  r  r3   c                     grG  rI  rD  s    r/   rM  rN  O  r!  r3   c                     grG  rI  rD  s    r/   rM  rN  P  r  r3   c                     grG  rI  rD  s    r/   rM  rN  Q  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  R  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  S  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  T  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  U  r_  r3   c                     grG  rI  rD  s    r/   rM  rN  V  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  W  rQ  r3   c                     grG  rI  rD  s    r/   rM  rN  X  r_  r3   c                     grG  rI  )r  cuda_enabledcpu_enabled
cuda_dtype	cpu_dtypes        r/   rM  rN  Y  s    npr3   c                     grG  rI  )r  r  r  s      r/   rM  rN  Z  r  r3   c                     grG  rI  rD  s    r/   rM  rN  [  r  r3   c                     grG  rI  rD  s    r/   rM  rN  \  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  ]  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  ^  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  _  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  `  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  a  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  b  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  c  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  d  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  e  rg  r3   c                     grG  rI  rD  s    r/   rM  rN  f  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  g  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  h  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  i  rc  r3   c                     grG  rI  rD  s    r/   rM  rN  j  ra  r3   c                     grG  rI  rD  s    r/   rM  rN  k  rc  r3   c                     grG  rI  rD  s    r/   rM  rN  l  rg  r3   c                     grG  rI  rD  s    r/   rM  rN  m  rc  r3   c                     grG  rI  rD  s    r/   rM  rN  n  r  r3   c                     grG  rI  rD  s    r/   rM  rN  o  rc  r3   c                     grG  rI  rD  s    r/   rM  rN  p  r_  r3   c                     grG  rI  rD  s    r/   rM  rN  q  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  r  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  s  rZ  r3   c                     grG  rI  rD  s    r/   rM  rN  t  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  u  rc  r3   c                     grG  rI  rD  s    r/   rM  rN  v  r  r3   c                     grG  rI  rD  s    r/   rM  rN  w  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  x  r_  r3   c                     grG  rI  rD  s    r/   rM  rN  y  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  z  rO  r3   c                     grG  rI  rD  s    r/   rM  rN  {  rU  r3   c                     grG  rI  )r  rc   non_blockingr&   s       r/   rM  rN  |  r-  r3   c                     grG  rI  rD  s    r/   rM  rN  }  rG  r3   c                     grG  rI  rD  s    r/   rM  rN  ~  rG  r3   c                     grG  rI  rD  s    r/   rM  rN    rT  r3   c                     grG  rI  rD  s    r/   rM  rN    rT  r3   c                     grG  rI  rD  s    r/   rM  rN        "r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                     grG  rI  )r  callables     r/   rM  rN    r_  r3   c                     grG  rI  rP  s      r/   rM  rN    r  r3   c                     grG  rI  rP  s      r/   rM  rN    r  r3   c                     grG  rI  )r  gradientretain_graphcreate_graphrW  s        r/   rM  rN    s    ikr3   c                     grG  rI  r  rj   s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   )r  c                    grG  rI  )r  mediansigmar  s       r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rT  r3   c                     grG  rI  )r  	coalesceds     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rn  r3   c                     grG  rI  )r  r  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rZ  r3   c                     grG  rI  rD  s    r/   rM  rN    rT  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r  r  s        r/   rM  rN    rE  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  ambiguity_checks     r/   rM  rN    rU  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rt  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  rl  s     r/   rM  rN    r_  r3   c                    grG  rI  )r  rg  r  s      r/   rM  rN    r  r3   c                     grG  rI  r  rs  s     r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    r}  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                    grG  rI  )r  r  r  s      r/   rM  rN    rU  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  r  s     r/   rM  rN    r}  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                     grG  rI  r  s     r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r]   s     r/   rM  rN    rc  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                    grG  rI  )r  r  r  r  s       r/   rM  rN    r  r3   c                     grG  rI  r"  s     r/   rM  rN    r_  r3   c                     grG  rI  r  s     r/   rM  rN    rK  r3   c                     grG  rI  )r  r]   r  s      r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r  s       r/   rM  rN    r  r3   c                     grG  rI  )r  ry  r  s      r/   rM  rN    r  r3   c                     grG  rI  )r  rf  assigns      r/   rM  rN    rU  r3   c                     grG  rI  )r  ri  r=  r  s       r/   rM  rN    rz  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rT  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                     grG  rI  rD  s    r/   rM  rN    rG  r3   c                     grG  rI  r"  s     r/   rM  rN    rO  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  r]   r  s       r/   rM  rN    r+  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                    grG  rI  )r  from_tor  s       r/   rM  rN    rt  r3   c                     grG  rI  )r  streams     r/   rM  rN    r  r3   c                     grG  rI  r  hooks     r/   rM  rN    r  r3   c                     grG  rI  r/  s     r/   rM  rN    r  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  )r  r  s     r/   rM  rN    r<  r3   c                     grG  rI  rl  s     r/   rM  rN    rc  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    rO  r3   c                     grG  rI  rl  s     r/   rM  rN    r_  r3   c                     grG  rI  rl  s     r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r  r  s        r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r9  s       r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    r}  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  r  r=  r  r  s         r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  r  s     r/   rM  rN    rc  r3   c                     grG  rI  )r  r  accumulate_matchess      r/   rM  rN    r  r3   c                     grG  rI  r  size1size2	dense_dims       r/   rM  rN    r+  r3   c                     grG  rI  rE  s       r/   rM  rN    rn  r3   c                     grG  rI  )r  rx  ry  rm  rl  rL  s         r/   rM  rN    rE  r3   c                     grG  rI  rD  s    r/   rM  rN    r]  r3   c                     grG  rI  rD  s    r/   rM  rN    ra  r3   c                     grG  rI  rD  s    r/   rM  rN    rZ  r3   c                     grG  rI  rD  s    r/   rM  rN    rO  r3   c                     grG  rI  r  s     r/   rM  rN    rc  r3   c                     grG  rI  )r  repss     r/   rM  rN    r  r3   c                     grG  rI  )r  rc   r  copyrj   s        r/   rM  rN    s    lnr3   )masked_gradc                    grG  rI  r  rc   rT  s      r/   rM  rN    rK  r3   c                     grG  rI  rV  s      r/   rM  rN    r+  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  rl  s     r/   rM  rN    rZ  r3   c                     grG  rI  rh  s       r/   rM  rN    r]  r3   c                     grG  rI  )r  r*  r+  s      r/   rM  rN    r!  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   c                     grG  rI  )r  rm  s     r/   rM  rN    r  r3   c                     grG  rI  rl  s     r/   rM  rN    rZ  r3   c                     grG  rI  rD  s    r/   rM  rN    rG  r3   c                     grG  rI  )r  r-  max_version	dl_devicerS  s        r/   rM  rN    ra  r3   c                     grG  rI  rD  s    r/   rM  rN    rc  r3   c                     grG  rI  )r  r   r  s      r/   rM  rN    r  r3   c                     grG  rI  )r  r  r   drivers       r/   rM  rN    r  r3   c                     grG  rI  )r  rb   r  r&   s       r/   rM  rN     r  r3   c                     grG  rI  rD  s    r/   rM  rN    r  r3   is______i__rbitwise_c                     grG  rI  )r]   r  rN  async_op	group_srcs        r/   rM  rN  (  r&  r3   c                     grG  rI  )r]   oprN  rr  s       r/   rM  rN  )  r  r3   c                     grG  rI  )r]   dstru  rN  rr  	group_dsts         r/   rM  rN  *  rR  r3   c                     grG  rI  )r  ru  rN  rr  s       r/   rM  rN  +  r  r3   c                     grG  rI  )tensor_listr]   rN  rr  s       r/   rM  rN  ,  r  r3   c                     grG  rI  )output_tensorinput_tensorrN  rr  s       r/   rM  rN  -  r  r3   c                     grG  rI  )output_tensor_listsinput_tensor_listrN  rr  s       r/   rM  rN  .  r  r3   c                     grG  rI  )r]   gather_listrw  rN  rr  rx  s         r/   rM  rN  /  r  r3   c                     grG  rI  )r]   scatter_listr  rN  rr  rs  s         r/   rM  rN  0  r  r3   c                     grG  rI  )r  
input_listru  rN  rr  s        r/   rM  rN  1  r&  r3   c                     grG  rI  )r  rK  ru  rN  rr  s        r/   rM  rN  2  ro  r3   c                     grG  rI  )r  rK  output_split_sizesinput_split_sizesrN  rr  s         r/   rM  rN  3  s	      LNr3   c                     grG  rI  )output_tensor_listr  rN  rr  s       r/   rM  rN  4  rR  r3   c                     grG  rI  r]   rw  rN  tagrx  s        r/   rM  rN  5  rz  r3   c                     grG  rI  r]   r  rN  r  rs  s        r/   rM  rN  6  rz  r3   c                     grG  rI  r  s        r/   rM  rN  7  r3  r3   c                     grG  rI  r  s        r/   rM  rN  8  r3  r3   N)rY  rY  N)rY  N)h㈵>:0yE>F)F)NFN)rH  F)Nr   FT)NN)NNNr  N)Nr   )FFN)r   N)       @#use_mm_for_euclid_dist_if_necessary)r  F)FN)NNN)rY  NN)   F)NrY  r   rY  rY  )NrY  r   r   rY  rY  )r   NNr  )rY  r  )rH  N)r   r  FrG  )rY  rH  NNN)r   r   rY  )r   rH  )r  )LN)NNr  FF)Nr  Fr  FNN)NNNF)FF)NrH  N)Nr  rH  N)r   rH  )TT)NF)NNrY  )NNr  T)      ?)NFr   N)r  NNr  )d   r   r   N)r  NNNFN)NNF)T)NNNTFNNF)NNr  F)NNNNNNNNNNNNN)TFN)TN)Nr   rY  F)Nr   rY  FF)NFNN)rH  FN)        NNN)NNr  )Nr  )r  NFN)r  FF)Nr   FTN)NNF皙?r  )NNNr  )NNNr  r  )NNr  Nr  N)r  TF)	NNr  Fr  FNFN)rY  r   rY  )NNFN)Fư>r  )none)rH  )bilinearr   N)rY  Fg|=rH  )g      r  F)NNNNTr  r  )NNnearestNNF)NNr  N)g{Gz?F)g-C6?g      ?r  )Nr5   N)Nr   N)TNTNFNNNNNNF)rY  r  NNNr  )NNr  )NNr  Nr  )r  rY  g-q=N)r   r   )r  r  F)TFNr  Nr  )Nr  )g      ?gUUUUUU?FF)Nr  )NNr  r  )r  r  N)rY     )r  r  r  FNNr  )r  r  N)r   fan_in
leaky_reluN)froNFNN)NNFNN)r  NFNN)r  r  FNN)r  r   )TF)NTr  )V瞯<)r  F)reducedN)NFlinearN)rI  rW  rX  F)rI  )r   r   )rY  rY  F)rI  )r   r   r   )rY  rY  rY  F)rY  ru  )r:  NNNr   F)r   NNrY  )	NNNTreflectFTNN)TTN)   r  N)r  N)TFF)TFFN)rY  r  )Nr   NN)NNNN)NNNFN)NNr   N(  r7   r8   rR  absoluteadaptive_avg_pool1dadaptive_max_pool1dacosr  arccosacosharccoshr=  addbmmaddcdivaddcmuladdmmaddmvaddraffine_grid_generatorallallclosealpha_dropoutamaxaminaminmaxangleanyargmaxargminargsortasin_assert_asyncarcsinasinharcsinhatanarctanatan2arctan2atanharctanh
atleast_1d
atleast_2d
atleast_3d
avg_pool1dbaddbmm
batch_normbatch_norm_backward_elemtbatch_norm_backward_reducebatch_norm_elemtbatch_norm_gather_stats#batch_norm_gather_stats_with_countsbatch_norm_statsbatch_norm_update_stats	bernoullir   binary_cross_entropy_with_logitsbincountbinomialbitwise_andbitwise_not
bitwise_orbitwise_xorbitwise_left_shiftbitwise_right_shift
block_diagbmmbroadcast_tensorsbroadcast_to	bucketizecartesian_prodcatconcatconcatenatecdistceilceluchain_matmulchannel_shufflecholeskylinalgcholesky_excholesky_inversecholesky_solvechoose_qparams_optimizedchunkclampclip	clamp_min	clamp_maxcolumn_stackcovclonecombinationscomplexcopysignpolarr   conjconj_physicalresolve_conjresolve_negconstant_pad_ndconv1dconv2dconv3dconvolutionconv_tbcconv_transpose1dconv_transpose2dconv_transpose3dcorrcoefcoscosine_embedding_losscoshcosine_similaritycount_nonzerocrossctc_losscummaxcummincumprodcumsumcumulative_trapezoidlogcumsumexpdeg2rad
dequantizedetdetachdiag
diag_embeddiagflatdiffr  diagonal_scatteras_strided_scatterdigammadistdivdividedotrY  dsmmhsmmdsplitdstackr  eigvalseigheigvalsheinsum	embeddingembedding_bag
empty_likeeqequalerferfcerfinvexpexp2expm1 fake_quantize_per_channel_affinefake_quantize_per_tensor_affinefused_moving_avg_obs_fake_quantfbgemm_linear_fp16_weight)fbgemm_linear_fp16_weight_fp32_activationfbgemm_linear_int8_weight)fbgemm_linear_int8_weight_fp32_activationfbgemm_linear_quantize_weightfbgemm_pack_gemm_matrix_fp16fbgemm_pack_quantized_matrixfeature_alpha_dropoutfeature_dropoutr   ifftrfftirffthfftihffthfft2ihfft2hfftnihfftnfftnifftnrfftnirfftnfft2ifft2rfft2irfft2fftshift	ifftshiftfixflattenflipfliplrflipudfrobenius_normfloorfloor_dividefloat_powerfmodfracfrexp	full_likestrided_functional_assert_async	lu_unpackgathergcdge
get_devicegreater_equalgeqrfi0inneroutergerr  grid_samplergrid_sampler_2dgrid_sampler_3d
group_normgrugru_cellgtgreater
hardshrinkhash_tensor	heavisidehinge_embedding_losshistc	histogramhistogramddhouseholder_producthspmmhsplithstackhypotigammaigammacrN  	index_add
index_copy	index_putindex_select
index_fillindex_reduceisfiniteisinisinfisrealisposinfisneginfinstance_normint_reprinverseinvinv_ex
is_complexis_conjis_negis_distributedis_inferenceis_floating_point
is_nonzerois_same_size	is_signediscloseisnanistftkl_divkronkthvalueldl_factor_ex
ldl_factor	ldl_solve
layer_normlcmldexple
less_equallerplgammalobpcgloglog_softmaxlog10log1plog2	logaddexp
logaddexp2logdetxlogylogical_andlogical_not
logical_orlogical_xorlogit	logsumexplstm	lstm_cellltlesslulu_solvemargin_ranking_lossmasked_fillmasked_scattermasked_selectmatmul	lu_factorlu_factor_exmatrix_powermatrix_rank	multi_dot
matrix_expr:  maximumfmax
max_pool1d
max_pool2d
max_pool3dmax_pool1d_with_indicesr  nanmeanr  	nanmedianmeshgridr9  minimumfminmiopen_batch_normmiopen_convolutionmiopen_convolution_add_relumiopen_convolution_relumiopen_convolution_transposemiopen_depthwise_convolution
miopen_rnnmmr  movedimmoveaxismsortmulmultiplymultinomialmvmvlgammanarrow
nan_to_numnative_batch_norm_native_batch_norm_legitnative_dropoutnative_layer_norm_fused_rms_normnative_group_normnative_normnative_channel_shufflene	not_equalnegr  	nextafterr   r   adaptive_avg_pool2dadaptive_avg_pool3d adaptive_max_pool1d_with_indicesadaptive_max_pool2d adaptive_max_pool2d_with_indicesadaptive_max_pool3d adaptive_max_pool3d_with_indicesaffine_grid
avg_pool2d
avg_pool3dbinary_cross_entropycross_entropylinear_cross_entropy	dropout1d	dropout2d	dropout3delufoldfractional_max_pool2d"fractional_max_pool2d_with_indicesfractional_max_pool3d"fractional_max_pool3d_with_indicesgaussian_nll_lossgeluglugrid_samplegumbel_softmaxhardtanhinterpolatel1_lossr  r  local_response_norm
logsigmoid	lp_pool1d	lp_pool2d	lp_pool3dmax_pool2d_with_indicesmax_pool3d_with_indicesmax_unpool1dmax_unpool2dmax_unpool3dmse_lossmulti_head_attention_forwardmulti_margin_lossmultilabel_margin_lossmultilabel_soft_margin_lossnll_loss	normalizeone_hotr\  pairwise_distancepoisson_nll_lossprelurelurelu6rms_normrreluselusilumishscaled_dot_product_attentionsmooth_l1_loss
huber_losssoft_margin_losssoftmaxsoftminsoftplus
softshrinksoftsign
tanhshrinkr  triplet_margin_loss!triplet_margin_with_distance_lossunfoldr   uniform_normal_	constant_kaiming_uniform_nonzerononzero_staticargwherer  vector_normmatrix_normnorm_except_dimnuclear_normr/  orgqrormqrpermutepca_lowrankpdistpinversepinvpixel_shufflepixel_unshufflepoisson	polygammar   	ones_liker  prodputq_per_channel_axisq_per_channel_scalesq_per_channel_zero_pointsq_scaleq_zero_pointqrquantilenanquantilequantize_per_channelquantize_per_tensorquantize_per_tensor_dynamicquantized_batch_normquantized_gru_cellquantized_lstm_cellquantized_max_pool1dquantized_max_pool2dquantized_max_pool3dquantized_rnn_relu_cellquantized_rnn_tanh_cellrad2degravelrM  vdotvecdotview_as_realview_as_complex
reciprocal	remainderrenormrepeat_interleavereshapernn_relurnn_relu_cellrnn_tanhrnn_tanh_cellrollrot90round	row_stack_rowwise_prunersqrtrsubsaddmmscatterscatter_addscatter_reducesearchsorted_segment_reduceselectselect_scatterslice_inverseslice_scatterr   signsignbitsgnsinsincsinhslogdetsmmspmmr  solve_exsortsplitsplit_with_sizessqrtsquaresqueezesspaddmmstackr  std_meanstftsubsubtractsum	sym_floatsym_intsym_maxsym_minsym_notsym_itesym_sum	_sym_sqrt_sym_cos	_sym_cosh_sym_sin	_sym_sinh_sym_tan	_sym_tanh	_sym_asin	_sym_acos	_sym_atannansumsvdsvd_lowranksvdvalsswapaxesswapdimsspecialairy_ai	bessel_j0	bessel_j1	bessel_y0	bessel_y1chebyshev_polynomial_tchebyshev_polynomial_uchebyshev_polynomial_vchebyshev_polynomial_wentrerfcxexpitgammainc	gammainccgammalnhermite_polynomial_hhermite_polynomial_hei0ei1i1elaguerre_polynomial_llegendre_polynomial_plog_ndtrmodified_bessel_i0modified_bessel_i1modified_bessel_k0modified_bessel_k1multigammalnndtrndtripsiscaled_modified_bessel_k0scaled_modified_bessel_k1shifted_chebyshev_polynomial_tshifted_chebyshev_polynomial_ushifted_chebyshev_polynomial_vshifted_chebyshev_polynomial_wspherical_bessel_j0xlog1pyzetattaketake_along_dimtanr   	tensorinvtensorsolve	tensordottensor_splittiletopktracer  trapz	trapezoidtriangular_solvesolve_triangulartriltriutrue_dividetruncunbindr  uniqueunique_consecutiveunravel_indexunsafe_chunkunsafe_splitunsafe_split_with_sizes	unsqueezer   r  var_meanvsplitvstackwhere_wrapped_linear_prepack#_wrapped_quantized_linear_prepacked
zeros_like_fw_primal_copy_make_dual_copyview_as_real_copyview_as_complex_copy
_conj_copy_neg_view_copyas_strided_copy_sparse_broadcast_to_copydiagonal_copyexpand_copynarrow_copypermute_copy_reshape_alias_copyselect_copydetach_copy
slice_copy
split_copysplit_with_sizes_copysqueeze_copyt_copytranspose_copyunsqueeze_copy_indices_copy_values_copyindices_copyvalues_copycrow_indices_copycol_indices_copyccol_indices_copyrow_indices_copyunbind_copy	view_copyunfold_copy
alias_copy__floordiv____rfloordiv____ifloordiv____truediv____rtruediv____itruediv__
__lshift____rlshift____ilshift__
__rshift____rrshift____irshift____and____or____xor__	__float____complex__	__array____bool____contains____neg__
__invert____mod____rmod____imod____array_wrap____getitem____deepcopy____int____long__	__index____len__
__format____reduce_ex____reversed____repr____setitem____setstate__Tr.  HmTmH_backward_hooks_post_accumulate_grad_hooksrA  _cdatarB  rC  _grad_fngrad_fn
grad_dtype_version_autocast_to_reduced_precision_autocast_to_full_precision#_clear_non_serializable_cached_datar  rb   rc   is_cudais_cpuis_xlais_xpuis_ipuis_leafretains_gradis_metais_mpsis_mtia	is_nestedis_maia	is_mkldnnis_quantized	is_sparseis_sparse_csr	is_vulkanitemsizerq   namenbytesndim	output_nrr  rm  volatile__cuda_array_interface__type_dimI_dimV_indices_is_view_nnzcrow_indicescol_indicesccol_indicesrow_indices_valuesapply_rs   as_strided_backwardbfloat16preserve_formatboolbytecharcauchy_coalesce_coalesced_
contiguouscontiguous_formatcopy_cpucudamtiaxpuipuconst_data_ptrdata_ptrrH  r  	dim_orderdoublecdoubleelement_sizeexpand	expand_asexponential_fill_fill_diagonal_floatcfloat
geometric_halfchalfr  intis_coalescedis_contiguous	is_pinned	is_set_to	is_shareditemlog_normal_longmap_map2_module_load
ndimensionnelement_nested_tensor_size_nested_tensor_storage_offsets_nested_tensor_stridesnumpy
pin_memoryput_rk   random_record_streamregister_hook"register_post_accumulate_grad_hookrepeatrequires_grad_
reshape_asresizeresize_	resize_asresize_as_sparse_retain_gradset_share_memory_shortr  
sparse_dimsparse_mask_sparse_mask_projectionsparse_resize_sparse_resize_and_clear_storageuntyped_storager  storage_typesum_to_sizer+  to_dense	_to_dense	to_sparsetolist	to_mkldnntype_asrj  viewview_aszero_
__dlpack____dlpack_device__r9  r  utilsbackend_registration_privateuse1_backend_namehasattrgetattrr   items__name__
startswithlenextendr  updatedistributedis_availabletorch.distributed	broadcast
all_reducer  all_reduce_coalesced
all_gatherall_gather_singleall_gather_coalescedreduce_scatterreduce_scatter_singleall_to_all_single
all_to_allisendirecvsendrecv)r8   retprivateuse1_backend_nameret2ignoredr  r  r  subnamer
  r    r1  s               r/   r   r     sY   6 \\Fx%		-x%2x% 	!!#@x% 	!!#A	x%
 	

.x% 	'x% 	0x% 	/x% 	1x% 			4x% 	Qx% 	Lx% 	Lx% 	Lx% 	Jx%  	

K!x%" 	##%J#x%$ 			-%x%& 	X'x%( 	F)x%* 	

.+x%, 	

.-x%. 	J/x%0 	/1x%2 			F3x%4 	&5x%6 	&7x%8 	RR9x%: 	

.;x%< 	2=x%> 	0?x%@ 	/Ax%B 	1Cx%D 	

.Ex%F 	0Gx%H 	6Ix%J 	8Kx%L 	/Mx%N 	1Ox%P 	-Qx%R 	-Sx%T 	-Ux%V 	xWx%X 	RYx%Z 	{[x%\ 	''){]x%^ 	((*u_x%` 	 Qax%b 	%%'vcx%d 	11  4Cex%f 	 5gx%h 	%%'\ix%j 	Ckx%l 	?mx%n 	..tqx%t 	Cux%v 	>wx%x 	<yx%z 	5{x%| 	;}x%~ 	<x%@ 	  "CAx%B 	!!#DCx%D 	-Ex%F 			CGx%H 	!4Ix%J 	1Kx%L 	]Mx%N 	1Ox%P 			6Qx%R 	9Sx%T 	>Ux%V 	aWx%X 	

.Yx%Z 	

>[x%\ 	$:]x%^ 	7_x%` 	?ax%b 	9cx%d 	  "Pex%f 	 Ggx%h 	Nix%j 	&&(Ykx%l 	4mx%n 	Cox%p 	

Bqx%r 	8sx%t 	8ux%v 	8wx%x 			Oyx%z 	%{x%| 	I}x%~ 	,x%@ 	9Ax%B 	(Cx%D 	5Ex%F 	

.Gx%H 	7Ix%J 	6Kx%L 	5Mx%N 	=Ox%P 	dQx%R 	dSx%T 	dUx%V 	wWx%X 	=Yx%Z 	  !A[x%\ 	  !A]x%^ 	  !A_x%` 	(ax%b 			-cx%d 	##  &Cex%f 	

.gx%h 	!Cix%j 	-kx%l 	@mx%n 	Eox%p 	xsx%v 	5wx%x 	5yx%z 	B{x%| 	A}x%~ 	""$@x%@ 	;Ax%B 	1Cx%D 	*Ex%F 			#Gx%H 	*Ix%J 	&Kx%L 	

:Mx%N 	@Ox%P 	2Qx%R 	

VSx%T 	BUx%V 	KWx%X 	 OYx%Z 	  "Y[x%\ 	1]x%^ 	

0_x%` 			Hax%b 	Kcx%d 			4ex%f 	@gx%h 	

:ix%j 	

)kx%l 	;mx%n 	2ox%p 	4qx%r 	8sx%t 	?ux%v 	Cwx%x 	4yx%z 	|}x%@ 	 jCx%F 	eGx%H 	3Ix%J 	,Kx%L 			-Mx%N 	

.Ox%P 	0Qx%R 			-Sx%T 	

.Ux%V 	/Wx%X 	..0oYx%Z 	--/h[x%\ 	-- C_x%b 	'')Vcx%d 	779fex%f 	'')}gx%h 	77`kx%n 	++-=ox%p 	**,<qx%r 	**,Bsx%t 	##%?ux%v 	9wx%x 			Cyx%z 			C{x%| 			D}x%~ 			Cx%@ 			DAx%B 			JCx%D 			KEx%F 			DGx%H 			EIx%J 			EKx%L 			FMx%N 			FOx%P 			GQx%R 			ISx%T 			JUx%V 			JWx%X 			KYx%Z 			6[x%\ 			7]x%^ 			B_x%` 			-ax%b 	@cx%d 	

*ex%f 	&gx%h 	&ix%j 	Qkx%l 	/mx%n 	3ox%p 	?qx%r 	

5sx%t 	

.ux%v 	/wx%x 	t4PUP]P]fjz  Dyx%z 	&&(H{x%| 	\}x%~ 	Ox%@ 			4Ax%B 	3Cx%D 	*Ex%F 	>Gx%H 	/Ix%J 	,Kx%L 	6Mx%N 	5Ox%P 			3Qx%R 	NSx%T 	cUx%V 	fWx%X 	fYx%Z 	m[x%\ 			s]x%^ 	N_x%` 	3ax%b 	8cx%d 	5ex%f 	Vgx%h 	;ix%j 	""$zkx%l 	Gmx%n 	mox%p 	Yqx%r 	((*?sx%t 	4ux%v 	;wx%x 	2yx%z 	6{x%| 	7}x%~ 	8x%@ 	

.Ax%B 	=Cx%D 	>Ex%F 	LGx%H 	BIx%J 	=Kx%L 	\Mx%N 	)Ox%P 	

GQx%R 	&Sx%T 	'Ux%V 	2Wx%X 	2Yx%Z 	t]x%` 	(ax%b 	1cx%d 	4ex%f 	Kgx%h 	*ix%j 	'kx%l 	&mx%n 	.ox%p 	,qx%r 	!1sx%t 	*ux%v 	3wx%x 	)yx%z 	W{x%| 	%}x%~ 	 dA	x%D	 	rE	x%F	 	

+G	x%H	 	NI	x%J	 	""$cK	x%L	 	!LM	x%N	 	 SO	x%P	 	sQ	x%R	 			4S	x%T	 	6U	x%V	 	3W	x%X	 	;Y	x%Z	 	

;[	x%\	 	0]	x%^	 	  K_	x%`	 			-a	x%b	 	<c	x%d	 	/e	x%f	 	/g	x%h	 	

.i	x%j	 	:k	x%l	 	;m	x%n	 	&o	x%p	 	.q	x%r	 	<s	x%t	 	5u	x%v	 	;w	x%x	 	<y	x%z	 	/{	x%|	 	I}	x%~	 	

s	x%@
 	OA
x%B
 	3C
x%D
 	

5E
x%F
 	EG
x%H
 	BI
x%J
 	!!  $AK
x%L
 	8M
x%N
 	<O
x%P
 	=Q
x%R
 	7S
x%T
 	?U
x%V
 	 FW
x%X
 	!!#]Y
x%Z
 	[[
x%\
 	>]
x%^
 	/_
x%`
 	!!#@a
x%b
 	  "Mc
x%d
 	 <e
x%f
 	*g
x%h
 	!1i
x%j
 			-k
x%l
 	8m
x%n
 	

5o
x%p
 	lq
x%r
 	ls
x%t
 	lu
x%v
 	%%ty
x%|
 	

.}
x%~
 	V
x%@ 	0Ax%B 	3Cx%D 	5Ex%F 			-Gx%H 	8Ix%J 	

5Kx%L 	tOx%R 	  "}Sx%T 	))+vUx%V 	%%'hWx%X 	**w[x%^ 	**gax%d 	 dgx%j 	Bkx%l 	

Emx%n 	<ox%p 	=qx%r 	Asx%t 			4ux%v 	9wx%x 	Uyx%z 	1{x%| 	+}x%~ 	:x%@ 	WAx%B 	!sCx%D 	&&(_Ex%F 	8Gx%H 	!fIx%J 	YKx%L 	!VMx%N 	UOx%P 	$$&>Qx%R 	3Sx%T 	:Ux%V 			-Wx%X 	2Yx%Z 	:[x%\ 	//1N]x%^ 	//1N_x%` 	//1dax%b 	<<>qcx%d 	//1dex%f 	<<>qgx%h 	//1dix%j 	<<>qkx%l 	'')Smx%n 	))+aox%p 	&& Bsx%v 	&& Byx%| 	&&xx%B 	$$&RCx%D 	00cGx%J 	<<tMx%P 	  "LQx%R 	11iUx%X 	)) L[x%^ 	00 [ax%d 	$$xgx%j 	##%Zkx%l 	%%'\mx%n 	%%'\ox%p 	%%'\qx%r 	!Ksx%t 	%%|wx%z 	)) J}x%@ 	113iAx%B 	  "mCx%D 	11zGx%J 	>>zMx%P 	11zSx%V 	>>zYx%\ 	--/u]x%^ 	  "F_x%` 	!9ax%b 	'')zcx%d 	&&(gex%f 	**,cgx%h 	&&(Cix%j 	$$&`kx%l 	00box%r 	)) Iux%x 	'' M{x%~ 	""  %Ax%@ 	##%|Ax%B 	&&(mCx%D 	&&(\Ex%F 	""$GGx%H 	//1gIx%J 	'')^Kx%L 	&&(8Mx%N 	%%'mOx%P 	%%'mQx%R 	%%'mSx%T 	//iWx%Z 	&&t]x%` 	33tcx%f 	&&tix%l 	33tox%r 	&&tux%x 	33t{x%~ 	((*zx%@ 	((*zAx%B 	((*zCx%D 	$$&}Ex%F 	88 _Ix%L 	--tOx%R 	22VUx%X 	77c[x%^ 	$$vax%d 	%%'Xex%f 	##%Fgx%h 	!Pix%j 	--/akx%l 	,,}ox%r 	!!#;sx%t 	  "Aux%v 	!!#Bwx%x 	$$&_yx%z 	!!#y{x%| 	  "A}x%~ 	  "Ax%@ 	  "AAx%B 	88:uCx%D 	**  -AEx%F 	&&(jGx%H 	,,.xIx%J 	##%ZKx%L 	##%ZMx%N 	$$&LOx%P 	&&(CQx%R 	$$&6Sx%T 	&&(8Ux%V 	%%'XWx%X 	// L[x%^ 	==DHQT[`lrvax%d 	""$bex%f 	 Ogx%h 	Six%j 	!7kx%l 	&&(xmx%n 	7ox%p 	Fqx%r 	(sx%t 	

\ux%v 	dwx%x 	  "hyx%z 	   +/#3{x%B 	9Cx%D 	dEx%F 	%Gx%H 	*Ix%J 	QKx%L 	!SMx%N 	+Ox%P 	IQx%R 	*Sx%T 	5Ux%V 	IWx%X 	=Yx%Z 	A[x%\ 	7]x%^ 	 Y_x%` 	6ax%b 	2cx%d 	-ex%f 	dgx%h 			7ix%j 	

0kx%l 			Dmx%n 	  "2ox%p 	""$4qx%r 	'')9sx%t 	'ux%v 	,wx%x 	7yx%z 	C{x%| 	f}x%~ 	ix%@ 	""$VAx%B 	!!#MCx%D 	))+PEx%F 	""$sGx%H 	   aKx%N 	!! aQx%T 	""J#Wx%^ 	""L #ax%j 	""O 	#mx%x 	%% a{x%~ 	%% aAx%D 	1Ex%F 	%Gx%H 	

.Ix%J 	

5Kx%L 	FMx%N 	,Ox%P 	/Qx%R 	4Sx%T 	

3Ux%V 	:Wx%X 	AYx%Z 	!;[x%\ 	.]x%^ 	Q_x%` 	xax%b 	Scx%d 	xex%f 	Sgx%h 	

7ix%j 	7kx%l 	/mx%n 	5ox%p 	Pqx%r 	bsx%t 	/ux%v 	

4wx%x 	Myx%z 	YDQUY{x%| 	<}x%~ 	Zx%@ 	eAx%B 	|Cx%D 	2Ex%F 	?Gx%H 	WIx%J 	WKx%L 	

3Mx%N 	1Ox%P 	

.Qx%R 	1Sx%T 			-Ux%V 			-Wx%X 	

.Yx%Z 	

.[x%\ 	']x%^ 	._x%` 			9ax%b 	

:cx%d 	8ex%f 	@gx%h 	Wix%j 	

YeQUYkx%l 	Emx%n 	 Pox%p 	

.qx%r 	0sx%t 	;ux%v 	Owx%x 	8yx%z 			-{x%| 	2}x%~ 	

 @Ax%D 			4Ex%F 	9Gx%H 			-Ix%J 	)Kx%L 	'Mx%N 	Ox%P 	Qx%R 	'Sx%T 	)Ux%V 	Wx%X 	)Yx%Z 	([x%\ 	)]x%^ 	(_x%` 	)ax%b 	(cx%d 	)ex%f 	)gx%h 	)ix%j 	)kx%l 	0mx%n 			Iox%p 	Aqx%r 	Hsx%t 	8ux%v 	4wx%x 	6yx%z 	/{x%| 	!1}x%~ 	!1x%@ 	!1Ax%B 	!1Cx%D 	,,.KEx%F 	,,.KGx%H 	,,.KIx%J 	,,.KKx%L 	/Mx%N 	,Ox%P 	+Qx%R 	,Sx%T 	-Ux%V 	.Wx%X 	,Yx%Z 	-[x%\ 	-]x%^ 	 A_x%` 	!Bax%b 	/cx%d 	**,Iex%f 	++-Jgx%h 	*ix%j 	+kx%l 	*mx%n 	+ox%p 	++-Jqx%r 	++-Jsx%t 	-ux%v 	 0wx%x 	!!#Dyx%z 	-{x%| 	!O}x%~ 	((*:x%@ 	((*:Ax%B 	((*:Cx%D 	((*:Ex%F 	""$7Gx%H 	,Ix%J 	-Kx%L 	!>Mx%N 	+Ox%P 	-Qx%R 	//1ASx%T 	//1AUx%V 	446SWx%X 	446SYx%Z 	446S[x%\ 	446S]x%^ 	,_x%` 	@ax%b 	))+;cx%d 	@ex%f 	>gx%h 	<ix%j 	!kx%l 	

+mx%n 	Kox%p 			-qx%r 	

.sx%t 	 3ux%v 	  "<wx%x 	:yx%z 	H{x%| 	J}x%~ 	

*x%@ 	

KAx%B 	%Cx%D 	5Ex%F 	1Gx%H 	5Ix%J 	 eKx%L 	%%'aMx%N 	

:Ox%P 	!! LSx%V 	

:Wx%X 	2Yx%Z 	/[x%\ 	-]x%^ 	5_x%` 	hax%b 	  "gcx%d 	6ex%f 	;gx%h 	Lix%j 	%%'Wkx%l 	8mx%n 	1ox%p 			-qx%r 	2sx%t 	;ux%v 	2wx%x 	9yx%z 	%%'`{x%| 	11ox%B 	eCx%D 	5Ex%F 	@Gx%H 	Ix%J 	""OKx%L 	/Mx%N 	oOx%P 	QQx%R 	'')>Sx%T 	FUx%V 	%CWx%X 	>Yx%Z 	1[x%\ 	!!#@]x%^ 	6_x%` 	?ax%b 	Ncx%d 	<ex%f 	##%Hgx%h 	0ix%j 	okx%l 	9mx%n 	2ox%p 	_qx%r 	Osx%t 	Oux%v 	?wx%x 	yx%z 	{x%| 	}x%~ 	x%@ 	1Ax%B 	/Cx%D 	AEx%F 	/Gx%H 	3Ix%J 	4Kx%L 	4Mx%N 	2Ox%P 	3Qx%R 	3Sx%T 	1Ux%V 	2Wx%X 	2Yx%Z 	1[x%\ 	2]x%^ 	2_x%` 	.ax%b 	-cx%d 	.ex%f 	/gx%h 	Oix%j 	0kx%l 	mx%n 	3ox%p 	qx%r 	?sx%t 	.ux%v 	/wx%x 	/yx%z 	5{x%| 	0}x%~ 	2x%@ 	Ax%B 	Cx%D 	/Ex%F 	Gx%H 	7Ix%J 	4Kx%L 	_Mx%N 	AOx%P 	1Qx%R 	/Sx%T 	/Ux%V 	/Wx%X 			?Yx%Z 			?[x%\ 	&&]x%^ 	**22O_x%` 	oax%b 	cx%d 	_ex%f 	ogx%h 	ix%j 	kx%l 	!!?mx%n 	ox%p 	--/pqx%r 	**,Vsx%t 	22Oux%v 	_wx%x 	yx%z 	o{x%| 	}x%~ 	x%@ 	Ax%B 	Cx%D 	Ex%F 	Gx%H 	##_Ix%J 	Kx%L 	Mx%N 	Ox%P 	  /Qx%R 	Sx%T 	  /Ux%V 	##_Wx%X 	  /Yx%Z 	$$o[x%\ 	  /]x%^ 	_x%` 	ax%b 	_cx%d 	ex%f 	_gx%h 	  /ix%j 	$$okx%l 	omx%n 	ox%p 	_qx%r 	_sx%t 	''//ux%v 	Nwx%x 	oyx%z 	o{x%| 	}x%~ 	x%@ 	_Ax%B 	_Cx%D 	OEx%F 	_Gx%H 	OIx%J 	Kx%L 	Mx%N 	0Ox%P 	8Qx%R 	9Sx%T 	kUx%V 	E4I4IMWx%X 	0E0EIYx%Z 	0E0EI[x%\ 	0E0EI]x%^ 	MTM_x%` 	ax%b 	6cx%d 	e6M6MQex%f 	>gx%h 	

u/D/DHix%j 	0E0EIkx%l 	0E0EImx%n 	

u/D/DHox%p 	

u/D/DHqx%r 	sx%t 	ux%v 	/wx%x 	!Oyx%z 	

O{x%| 	@}x%~ 	%2G2GKx%@ 	53H3HLAx%B 	_Cx%D 	,Ex%F 	0Gx%H 	HHIx%J 	,Kx%L 	5Mx%N 	1F1FJOx%P 	%2G2GKQx%R 	@Sx%T 	?Ux%V 	0E0EIWx%X 	1F1FJYx%Z 	[x%\ 	

u/D/DH]x%^ 	__x%` 	oax%b 	_cx%d 	/ex%f 	1gx%h 	/ix%j 	_kx%l 	MTMmx%n 	0ox%p 	0E0EIqx%r 	6sx%t 	5ux%v 			8wx%x 	@yx%z 	E{x%| 	?}x%~ 	x%@  	""OA x%B  	--C x%D  	%%E x%F  	G x%H  	oI x%J  	,K x%L  	?M x%N  	GO x%P  	Q x%R  	LDLS x%T  	5U x%V  	3W x%X  	113HY x%Z  	-[ x%\  	B] x%^  	1_ x%`  	-a x%b  	-c x%d  	0e x%f  	  "8g x%h  	Oi x%j  	[k x%l  	?m x%n  	oo x%p  	1F1FJq x%r  	_s x%t  	Wu x%v  	?w x%x  	1y x%z  	&&(W{ x%|  	G} x%~  	'')Q x%@! 	OA!x%B! 	C!x%D! 	E!x%F! 	G!x%H! 	_I!x%J! 	1K!x%L! 	+M!x%N! 			EUZUjUjnO!x%P! 	IIQ!x%R! 	GS!x%T! 	/U!x%V! 	W!x%X! 	/Y!x%Z! 	.[!x%\! 	=]!x%^! 	7_!x%`! 	a!x%b! 	+c!x%d! 	.e!x%f! 	og!x%h! 	di!x%j! 	  /+Fo!x%Cv! 	((BB  v00F 	GF56 JYGFc":!;<=EEFD#%G		 JJJJ1::$AJJ%AJJ%
 ::  ,, jjZ!23GLL$&$(>RV@VW D6.D~~$/d6IT
 % . JJt
 %%''(

 g!W m ))+b	
 ![ &&(j ))+x v x ##%g **,i &&  )N !m 

Z 

Z  		Y!" 		Y#	
, Jr3   
dispatcherc                 d   ^  S[         [        [        4   S[         [        [        4   4U 4S jjnU$ )a=  Wraps a given function with ``__torch_function__`` -related functionality.

Parameters
----------
dispatcher: Callable
    A callable that returns an iterable of Tensor-likes passed into the function.

Note
----
This decorator may reduce the performance of your code. Generally, it's enough to express
your code as a series of functions that, themselves, support __torch_function__. If you
find yourself in the rare situation where this is not the case, e.g. if you're wrapping a
low-level library and you also need it to work for Tensor-likes, then this function is available.

Examples
--------
>>> def dispatcher(a):  # Must have the same signature as func
...     return (a,)
>>> @torch.overrides.wrap_torch_function(dispatcher)
>>> def func(a):  # This will make func dispatchable by __torch_function__
...     return a + 0
r    r#   c                    >^ ^ [         R                  " T 5      S[        R                  S[        R                  S[
        4UU U4S jj5       m[        [        [        [
        4   T5      $ )Nr%   r&   r#   c                     > T" U 0 UD6n[        U5      (       a+  [        [        [        [        [
        4   T5      U/U Q70 UD6$ T" U 0 UD6$ r  )r   r   r   r   r   r   )r%   r&   relevant_argsr  r    wrappeds      r/   r  3wrap_torch_function.<locals>.inner.<locals>.wrappedZ  sa    &77M!-00,"b&)73]EIMS  (((r3   )	functoolsr   r   r%   r&   r   r   r   )r    r  r  s   `@r/   r~  "wrap_torch_function.<locals>.innerY  sX    			)277 	)bii 	)B 	) 	) 
	) HRV$g..r3   )r   r   r   )r  r~  s   ` r/   r   r   ?  s/    4/HRV$ /"b&)9 / Lr3   r  get_type_fnc                    Uc  [         n[        R                  R                  5       (       d  / $ [	        5       n/ nU  H  nU" U5      nXR;  d  M  [        US5      (       d  M%  UR                  [        R                  R                  Ld  MN  U(       a]  UR                  U5        [        U5      n[        U5       H  u  px[        XQ" U5      5      (       d  M  Un  O   UR                  Xd5        M  U1nU/nM     U$ )a  Returns a list of arguments on which to call __torch_function__.

Checks arguments in relevant_args for __torch_function__ implementations,
storing references to the arguments and their types in overloaded_args and
overloaded_types in order of calling precedence. Only distinct types are
considered. If a type is a subclass of another type it will have higher
precedence, otherwise the precedence order is the same as the order of
arguments in relevant_args, that is, from left-to-right in the argument list.

The precedence-determining algorithm implemented in this function is
described in `NEP-0018`_.

See torch::append_overloaded_arg for the equivalent function in the C++
implementation.

Parameters
----------
relevant_args : iterable of array-like
    Iterable of array-like arguments to check for __torch_function__
    methods.

get_type_fn : callable, optional
    Function to call on each argument in relevant_args to get its type.

Returns
-------
overloaded_args : list
    Arguments from relevant_args on which to call __torch_function__
    methods, in the order in which they should be called.

.. _NEP-0018:
   https://numpy.org/neps/nep-0018-array-function-protocol.html
r  )r
  r7   _C_is_torch_function_enabledsetr
  r  _disabled_torch_function_implr=  r
  	enumerate
issubclassinsert)	r  r  overloaded_typesoverloaded_argsargarg_typer9  iold_args	            r/   _get_overloaded_argsr#  i  s    J  88..00	"%%!#Os# ,"677++8899:
   $$X. O,"+O"<JA!(K,@AA ! #=  &&u2$,: #&%; < r3   
public_apir%   r&   c           	         [        U5      n[        [        [        U5      5      n[	        5       (       a0  [        5        nUR                  XX#5      nSSS5        W[        La  U$ U H|  nUR                  n	[        U	S5      (       aF  U	R                  UL a7  U	[        R                  R                  La  [        R                  " S[        SS9  U	" XX#5      nU[        Ld  Mz  Us  $    U R                    SU R"                   3n
SU
 SU Vs/ s H  n[        U5      PM     sn 3n[	        5       (       a  US	[%        5        3-  n['        U5      e! , (       d  f       GN= fs  snf )
a  Implement a function with checks for ``__torch_function__`` overrides.

See torch::autograd::handle_torch_function for the equivalent of this
function in the C++ implementation.

Arguments
---------
public_api : function
    Function exposed by the public torch API originally called like
    ``public_api(*args, **kwargs)`` on which arguments are now being
    checked.
relevant_args : iterable
    Iterable of arguments to check for __torch_function__ methods.
args : tuple
    Arbitrary positional arguments originally passed into ``public_api``.
kwargs : tuple
    Arbitrary keyword arguments originally passed into ``public_api``.

Returns
-------
object
    Result from calling ``implementation`` or an ``__torch_function__``
    method, as appropriate.

Raises
------
TypeError : if no implementation is found.

Example
-------
>>> def func(a):
...     if has_torch_function_unary(a):
...         return handle_torch_function(func, (a,), a)
...     return a + 0
N__self__zDefining your `__torch_function__ as a plain method is deprecated and will be an error in future, please define it as a classmethod.r  
stacklevel.zno implementation found for 'z.' on types that implement __torch_function__: z nor in mode )r#  tuplemapr
  r   _pop_mode_temporarilyr  NotImplementedr
  r&  r7   r  r  r+   warnDeprecationWarning
__module__r
  _get_current_function_mode	TypeError)r$  r  r%   r&   r  typesr  resultoverloaded_argtorch_func_method	func_namer  r  s                r/   r   r     s_   T +=9O#dO,-E '(( #$,,ZMF %'M * +==%z22!**n<!)O)OOMMQ"	 #:dC'M+ *. (():+>+>*?@I
'	{ 35DE_cS	_EF	H  '((9;<==
C.I %$@  Fs   E	E

Ea  Check for __torch_function__ implementations in the elements of an iterable
    or if a __torch_function__ mode is enabled.  Considers exact ``Tensor`` s
    and ``Parameter`` s non-dispatchable.  Use this to guard a call to
    :func:`handle_torch_function`; don't use it to test if something
    is Tensor-like, use :func:`is_tensor_like` instead.
    Arguments
    ---------
    relevant_args : iterable
        Iterable or arguments to check for __torch_function__ methods.
    Returns
    -------
    bool
        True if any of the elements of relevant_args have __torch_function__
        implementations, False otherwise.
    See Also
    ________
    torch.is_tensor_like
        Checks if something is a Tensor-like, including an exact ``Tensor``.
    zSpecial case of `has_torch_function` for single inputs.
    Instead of:
      `has_torch_function((t,))`
    call:
      `has_torch_function_unary(t)`
    which skips unnecessary packing and unpacking work.
    a'  Special case of `has_torch_function` that skips tuple creation.

    This uses the METH_FASTCALL protocol introduced in Python 3.7

    Instead of:
      `has_torch_function((a, b))`
    call:
      `has_torch_function_variadic(a, b)`
    which skips unnecessary packing and unpacking work.
    c                     [         R                  " [        5      n 0 nS[        [        R                  4S[        R
                  [        R
                  R                  4S[        R                  R
                  [        [        R                  R
                  5      4S[        R                  R                  [        [        R                  R                  5      4S[        R                  [        [        R                  5      4S[        R                  [        [        R                  5      4S[        R                  [        [        R                  5      4S[        R                  [        [        R                  5      4/nU GH  u  p4nU GHt  nS	nU[        R                  Lan  UR                  S
5      (       a  M1  UR                  S5      (       a  SnOgUR                  S5      (       a  SnONUS   R                  5       (       d  SnO3US:X  a  M  O*[!        XF5      n[!        ["        US 5      U:X  a  M  US:X  a  M  [!        XF5      nU[        R                  L a  [!        ["        US 5      U:X  a  M  [%        U[&        R(                  5      (       a  GM  [%        U[*        R,                  5      (       a  GM*  [/        U5      (       d  [1        US5      (       a  U SU S3XR2                  '   U SU S3XR4                  '   U(       a  GM}  UR2                  [7        5       ;   aA  Sn	UR2                  [9        5       ;   a$  [;        U	R=                  XHR>                  5      5      eGM  X   RA                  UR2                  5        GM  [/        U5      (       d  GM	  U SU 3X'   U(       a  GM  U[7        5       ;   a7  Sn	U[9        5       ;   a$  [;        U	R=                  XHR>                  5      5      eGMa  X   RA                  U5        GMw     GM     X4$ )Nr7   ztorch.functionalztorch.nn.functionalztorch.nn.initztorch.Tensorztorch.linalgz	torch.fftztorch.specialFrm  rl  Tr   
unique_dim__weakref__r.  r)  z.__get__z.__set__zk{}.{} is in the tuple returned by torch._overrides.get_ignored_functions but still has an explicit override)!collectionsdefaultdictlistr7   __all__r   r   dirr   r8   r  r   r	  r
  endswithislowerr
  object
isinstancer3  
ModuleType
__future___Featurer  r
  r.  __set__r   r   AssertionErrorformatr
  r  )
overridable_funcsr9  tested_namespacesnamespace_str	namespacens_funcsr7  r(   r    r  s
             r/   _get_overridable_functionsrO  B  s/    $//5E	%'	U--u/?/?/G/GH	 3 3S9L9L5MN	%((--UXX]]);<	s5<<'89	s5<<'89	eiiUYY0	%--U]]);<	 /@*(!IF,''--))#..!F'',,!F"1--//!F,. / y469d3t;-90DELL(WVY-MQU-U$ 0 011$
 3 344D>>gdI&>&>)6q8&Lll#)6q8&Lll#<<#8#::=  ||'<'>>,SZZ	==-QRR%+224<<@D>>*O1YK8EK ,..9  022(I}})MNN(//5A " /@D ##r3   c                      [        5       S   $ )zList functions that are overridable via __torch_function__

Returns
-------
Dict[Any, List[Callable]]
    A dictionary that maps namespaces that contain overridable functions
    to functions in that namespace that can be overridden.
r   )rO  rI  r3   r/   r   r     s     &'**r3   c                     [        U [        R                  R                  [        R                  R                  45      (       a  [        U 5      $ [        5       S   R                  U 5      $ )zGet a human readable string name for a function passed to
__torch_function__

Arguments
---------
f : Callable
    Function to resolve the name of.

Returns
-------
str
    Name of the function; if eval'ed it should give back the input
    function.
rY  )rC  r7   _ops
OpOverloadOpOverloadPacketstrrO  get)fs    r/   r   r     sL      !ejj++UZZ-H-HIJJ1v%'*..q11r3   c                  R    [        5       n [        U [        R                     5      nU$ )z<Returns a set of the overridable methods on ``torch.Tensor``)r   r  r7   r8   )rJ  methodss     r/   _get_tensor_methodsrZ    s&     23#ELL12GNr3   c                 H    U [        5       ;   =(       d    U R                  S:H  $ )a7  
Returns True if the function passed in is a handler for a
method or property belonging to ``torch.Tensor``, as passed
into ``__torch_function__``.

.. note::
   For properties, their ``__get__`` method must be passed in.

This may be needed, in particular, for the following reasons:

1. Methods/properties sometimes don't contain a `__module__` slot.
2. They require that the first passed-in argument is an instance
   of ``torch.Tensor``.

Examples
--------
>>> is_tensor_method_or_property(torch.Tensor.add)
True
>>> is_tensor_method_or_property(torch.add)
False
r.  )rZ  r
  )r    s    r/   r   r     s!    . &((FDMMY,FFr3   c                 ^    [        U 5      [        R                  L =(       d    [        U S5      $ )a  
Returns ``True`` if the passed-in input is a Tensor-like.

Currently, this occurs whenever there's a ``__torch_function__``
attribute on the type of the input.

Examples
--------
A subclass of tensor is generally a Tensor-like.

>>> class SubTensor(torch.Tensor): ...
>>> is_tensor_like(SubTensor([0]))
True

Built-in or user types aren't usually Tensor-like.

>>> is_tensor_like(6)
False
>>> is_tensor_like(None)
False
>>> class NotATensor: ...
>>> is_tensor_like(NotATensor())
False

But, they can be made Tensor-like by implementing __torch_function__.

>>> class TensorLike:
...     @classmethod
...     def __torch_function__(cls, func, types, args, kwargs):
...         return -1
>>> is_tensor_like(TensorLike())
True
r  )r
  r7   r8   r
  )inps    r/   r   r     s%    D 9$J5I(JJr3   c                   T    \ rS rSr% SrS \S'   SS jrSS jrS rS	 r	\
S
 5       rSrg)TorchFunctionModei   a  
A ``TorchFunctionMode`` allows you to override the meaning of all
``__torch_function__`` overridable functions within a dynamic scope,
without having to actually create a tensor subclass or manually
monkey-patch functions in the PyTorch API.  Some common situations
where you should use a mode:

    * You want to override the meaning of factory functions, or other
      functions that do not otherwise take a tensor as an argument
      (these cannot be overridden with tensor subclasses).

    * You want to override the behavior of all functions without needing
      to wrap your inputs in tensor subclasses; e.g., if you are just
      interested in logging intermediate computations.

    * You want to control the order of execution of various tensor
      subclasses explicitly, rather than implicitly via the return of
      ``NotImplemented``.

Independent subclasses of :class:`TorchFunctionMode` are compositional:
modes can be pushed onto a stack using ``with MyMode():``.
When you call functions in the PyTorch API inside your
``__torch_function__`` implementation, by default, they will forward on to
the next mode on the mode stack.  If you want recursively call back into
your current ``__torch_function__`` implementation, either explicitly
invoke ``self.__torch_function__(...)``, or use the context manager
``enable_torch_function_mode(self, replace=self.inner)`` to make PyTorch
API self-referential (beware of infinite loops, in this case!)
r~  Nc                     g r  rI  rD  s    r/   r   TorchFunctionMode.__init__"  s    r3   rI  c                     [         er  )NotImplementedErrorr  r    r3  r%   r&   s        r/   r  $TorchFunctionMode.__torch_function__%  s    !!r3   c                     [        U 5        U $ r  )
_push_moderD  s    r/   	__enter__TorchFunctionMode.__enter__(  s    4r3   c                     [        5         g r  )	_pop_mode)r  exc_typeexc_valexc_tbs       r/   __exit__TorchFunctionMode.__exit__,  s    r3   c                 @    [         R                  " SSS9  U " U0 UD6nU$ )NzP`Mode.push()` is no longer necessary and can be replaced with just `with Mode()`r  r'  )r+   r.  )clsr%   r&   instances       r/   pushTorchFunctionMode.push/  s*    ^	
 ''r3   )r#   NrI  N)r
  r0  __qualname____firstlineno____doc____annotations__r   r  rh  ro  classmethodrt  __static_attributes__rI  r3   r/   r_  r_     s7    < "  r3   r_  c                  B    [        5       n U S:  a  [        U S-
  5      $ S $ )Nr   rY  )r   r   )	stack_lens    r/   r1  r1  9  s%    )+I4=M!)a-0KtKr3   c                  j    [        5       n [        U 5       Vs/ s H  n[        U5      PM     sn$ s  snf r  )r   r   r   )r~  r!  s     r/    _get_current_function_mode_stackr  >  s/    )+I/4Y/?@/?!"1%/?@@@s   0c                     [        U 5        g r  )r   )r  s    r/   rg  rg  C  s
    !$'r3   c                      [        5       n U $ r  )r   olds    r/   rk  rk  G  s    
#
%CJr3   c               #   `   #    [        5       n  U v   [        U 5        g ! [        U 5        f = f7fr  )rk  rg  r  s    r/   r,  r,  L  s$     
+C	3
3s   . .+.c                       \ rS rSrSS jrSrg)BaseTorchFunctionModeiU  rI  Nc                     Uc  0 nU" U0 UD6$ r  rI  rd  s        r/   r  (BaseTorchFunctionMode.__torch_function__V  s    >FT$V$$r3   rv  )r
  r0  rw  rx  r  r|  rI  r3   r/   r  r  U  s    %r3   r  c               #   Z  #    [         R                  R                  5       n  [         R                  R                  [         R                  R                  R
                  5        S v   [         R                  R                  U 5        g ! [         R                  R                  U 5        f = f7fr  )r7   r  _get_torch_function_state_set_torch_function_state_TorchFunctionStateENABLED)	old_states    r/   _enable_torch_functionr  \  se     224I6**588+G+G+O+OP**95**95s   B+AB ' B+!B((B+c               #      #    [         R                  R                  5           S v    S S S 5        g ! f = f! , (       d  f       g = f7fr  )r7   r  _RestorePythonTLSSnapshotrI  r3   r/   r   r   f  s9      
	+	+	-		 
.	- 	 
.	-s%   A61	A36
A Ac                 B    [         R                  R                  XX#5      $ )a	  Skip one level of ``__torch_function__`` dispatch and call the function.

This is primarily useful for **Tensor subclasses** that want to call into
a function's implementation while still intercepting PyTorch operations
inside that function.

Example with Tensor subclass. Only ops whose inputs include a
``LoggingTensor`` are intercepted; once ``redispatch_function`` returns
a plain ``torch.Tensor``, subsequent ops (here ``+ 1``) are not logged.

    >>> from torch.overrides import has_torch_function, handle_torch_function
    >>> class LoggingTensor(torch.Tensor):
    ...     depth = 0
    ...
    ...     @classmethod
    ...     def __torch_function__(cls, func, types, args, kwargs=None):
    ...         print(f"{'  ' * cls.depth}Calling {func.__name__}")
    ...         cls.depth += 1
    ...         r = torch.overrides.redispatch_function(func, types, args, kwargs)
    ...         cls.depth -= 1
    ...         return r
    >>> def scaled_mul(a, b):
    ...     if has_torch_function((a, b)):
    ...         return handle_torch_function(scaled_mul, (a, b), a, b)
    ...     return a * b + 1
    >>> x = LoggingTensor(torch.tensor([3.0]))
    >>> y = LoggingTensor(torch.tensor([4.0]))
    >>> result = scaled_mul(x, y)
    Calling scaled_mul
      Calling mul
    >>> result
    tensor([13.])

Note that only ``mul`` is logged, not ``add``: ``redispatch_function``
returns a plain ``torch.Tensor``, so the ``+ 1`` inside ``scaled_mul``
no longer sees a ``LoggingTensor`` input and ``__torch_function__`` is
not triggered.

With ``TorchFunctionMode`` the mode stays active across all inner ops,
so the ``+ 1`` is now visible too.  Use ``with self:`` after
``redispatch_function`` to re-enable the mode for those inner calls.

    >>> from torch.overrides import TorchFunctionMode
    >>> class LoggingMode(TorchFunctionMode):
    ...     def __init__(self):
    ...         self.depth = 0
    ...
    ...     def __torch_function__(self, func, types, args, kwargs=None):
    ...         print(f"{'  ' * self.depth}Calling {func.__name__}")
    ...         self.depth += 1
    ...         with self:
    ...             r = torch.overrides.redispatch_function(
    ...                 func, types, args, kwargs
    ...             )
    ...         self.depth -= 1
    ...         return r
    >>> a = torch.tensor([3.0])
    >>> b = torch.tensor([4.0])
    >>> with LoggingMode():
    ...     result = scaled_mul(a, b)
    Calling scaled_mul
      Calling mul
      Calling add
    >>> result
    tensor([13.])
)r7   r  _skip_one_hop_torch_function)r    r3  r%   r&   s       r/   r   r   v  s    F 8800dKKr3   )z.*is deprecated, please use.*r7   r  )Ery  rE  r;  
contextlibr  r;  r3  r+   collections.abcr   r   r   typingr   r   r   typing_extensionsr	   r7   torch._Cr
   r   r   r   r   r   r   r   r   r>  r   r   rU  r2   cacher  r   rD  dictr   r   r
  r=  r#  r%   r&   r   r   r   r   r*  rO  r   r   rZ  r
  r   r   r_  r1  r  rg  rk  contextmanagerr,  r  r  r   r   rI  r3   r/   <module>r     s  ,     
   .  % % ' 
 
 
 t_T]
 1 
2r6
     b"f	 F _s8} _  _D	 c(m  2 UtHh$67 U  Up$'Xc]*+'xB (2r6"223'X 15LC=L3%+&-L 
#YL^VR VC=V 77V ii	V
 Vr ! . '	  * 	  Q$Ed8n	tHcM22% Q$ Q$h 	+4T(^(;#< 	+ 	+ 2 2( S]   Gx GD G G2"KJ6 6rL
A
(
  %- % 6 6  CLr3   