
    ȅi                    L    S SK J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  S SKJ	r	J
r
JrJr  S SKJr  S SKrS SKrS SKrS SKJr  S SKJr  S SKJr  S SKJrJrJrJrJrJrJrJ r J!r!J"r"J#r#  S S	K$J%r%J&r&J'r'J(r(J)r)J*r*  S S
K+J,r,  S SK-J.r.  \
(       a  S SK/J0r0J1r1  S SK$J2r2  S SK3J4r4  \\'\Rj                  4   r6\" S5      r7\" S5      r8\" S5      r9\R(                  Rt                  r;/ SQr<0 r=/ r>\R~                  R                  R                  rASYS jrBSZS jrC\B" / \AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  Rj                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P\AR                  R                  P76 r[\B" \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  5      re\AR                  4rgS[S jrh\R                  S\S j5       rj    S]S jrkS^S jrlS_S jrm\k" \=R                  5                S`S j5       ro\k" \j5      \k" / \[Q5                SaS j5       5       rp\k" \AR                  R                  5                SbS j5       rq\k" \R                  R                  R                  R                  5       Sc         SdS jj5       rs\k" \R                  R                  R                  R                  5              SeS j5       rt\k" \R                  R                  R                  R                  5       Sc         SfS jj5       ru\k" \AR                  R                  5      \k" \AR                  R                  5                SaS  j5       5       rvS^S! jrw\k" \w5                SaS" j5       rx\k" \AR                  R                  5                SaS# j5       ry\k" \AR                  R                  5                SaS$ j5       rz\k" S% 5                SgS& j5       r{   ShS'S(.                 SiS) jjjr|\k" \AR                  R                  5         Sh             SjS* jj5       r~\k" \AR                  GR                   5                  SkS+ j5       r\k" \AGR                  R                  5         Sh               SlS, jj5       r\k" \AGR                  R                  5         Sm             SnS- jj5       r So         SpS. jjr      SqS/ jr Sr       SsS0 jjr\k" \AGR                  R                  5                StS1 j5       r\k" \AGR                  R                  5      \k" \AGR                  R                  5                SuS2 j5       5       r\k" \AGR                  R                  5      SS3.           SvS4 jj5       r\k" \AGR                  Rj                  5       Sc         SwS5 jj5       r\k" \R                  R                  GR                  R                  5      \k" \R                  R                  GR                   R                  5              SxS6 j5       5       r\k" \R                  R                  GR$                  R                  5              SyS7 j5       r\k" \R                  R                  GR&                  R                  5      SzS8 j5       r\k" \R                  R                  GR(                  R                  5       Sc           S{S9 jj5       rS|S: jr\k" \R                  R                  GR,                  Rj                  5          S}               S~S; jj5       r\k" \R                  R                  GR0                  R                  5                SS< j5       r\k" \R                  R                  GR2                  R                  5         SSSS=.                 SS> jjj5       r\k" S? 5                SgS@ j5       r        SSA jr          SSB jr\B" SCSDSE5      rS^SF jrS\SG jr\k" SH 5                SSI j5       r\k" \AGRD                  Rj                  5                SaSJ j5       r\k" \AGRH                  R                  5                SSK j5       r\k" \AGRL                  R                  5      \k" \AGRN                  R                  5      \k" \AGRP                  R                  5      \k" \AGRR                  R                  5      \k" \AGRT                  R                  5                SaSL j5       5       5       5       5       r\k" \AGRN                  R                  5      \k" \AGRR                  R                  5                SaSM j5       5       r\k" \AGRZ                  R                  5      \k" \AGR\                  R                  5                SaSN j5       5       r\k" \AR                  R                  5      \k" \AR                  R                  5      \k" \AGR`                  R                  5      \k" \AGRb                  R                  5                SgSO j5       5       5       5       r\k" \e V s/ s Hv  n U \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  \AR                  R                  4;  d  Mt  U PMx     sn 5      SgSP j5       r\k" \AGRh                  R                  \AGRj                  R                  /5                SSQ j5       r\k" \R                  R                  GRn                  R                  5        S           SSR jj5       r\k" \R                  R                  GRp                  R                  5                  SSS j5       r0 r    SST jr      SSU jr\GRx                  4     SSV jjr So       SSW jjr\R                  SSX j5       rgs  sn f )    )annotationsN)reduce)AnyTYPE_CHECKINGTypeVarUnion)	ParamSpec)no_python_dispatcher)
OpOverload)canonicalize_dimelementwise_dtypesELEMENTWISE_TYPE_PROMOTION_KINDis_boolean_dtypeis_contiguous(is_contiguous_for_memory_format_or_falseis_contiguous_or_falseis_float_dtypeis_integer_dtypemake_contiguous_strides_for	ShapeType)DataDependentOutputExceptionDynamicOutputShapeException
FakeTensorin_kernel_invocation_managerrun_fallback_kernelUnsupportedOperatorException)_normalize_function_or_errorcount_label)CallableSequence)FakeTensorMode)IntLikeType_P_R_T)op_implementations_checksget_fast_op_implsstride_incorrect_ophas_metac                 .    [         R                  U S5      $ )NT)dictfromkeys)itemss    V/home/james-whalen/.local/lib/python3.13/site-packages/torch/_subclasses/fake_impls.pyordered_setr0   G   s    ==%%    c                     U R                   S:g  $ )Nhpu)typedevices    r/   is_noncontiguous_supportedr7   M   s    ;;%r1   c                    [         R                  R                  R                  5       nU R	                  U5      =(       d     [        S U R                  5        5       5      $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fN)contains_tensor_types).0es     r/   	<genexpr>(contains_tensor_types.<locals>.<genexpr>   s      1*@Qa  *@s   )torch_C
TensorTypegetisSubtypeOfanycontainedTypes)type_tensor_types     r/   r;   r;      sO    ((%%))+K[) S 1*/*>*>*@1 . r1   c                L   [        U [        5      (       d   eU R                  n[        S UR                   5       5      (       a  g[        UR                  5      S:H  =(       aA    UR                  S   R                  [        R                  R                  R                  5       L $ )Nc              3  L   #    U  H  n[        UR                  5      v   M     g 7fr:   )r;   r4   )r<   args     r/   r>   )_is_tensor_constructor.<locals>.<genexpr>   s     
G6Fs **6Fs   "$F   r   )
isinstancer   _schemarE   	argumentslenreturnsr4   r@   rA   rB   rC   )funcschemas     r/   _is_tensor_constructorrU      s|    dJ''''\\F

Gf6F6F
GGG 	FNNq XV^^A%6%;%;uxx?R?R?V?V?X%Xr1   c                   ^  SU 4S jjnU$ )Nc                0  > [        T[        5      (       a  T[        ;  d
   ST 35       eU [        T'   U $ [        T[        [        45      (       a  T H  n[        U5      " U 5        M     U $ [        T5      (       d   e[        R                  TU 45        U $ )Nzduplicate registration: )	rN   r   op_implementations_dictlisttupleregister_op_implcallabler'   append)op_imploprun_impl_checks     r/   impl_decorator(register_op_impl.<locals>.impl_decorator   s    nj11!)@@ *>*:;@ 7>#N3  u66$ $W- %  N++++%,,ng-FGr1   r^   Callable[_P, _R]returnrd    )r`   ra   s   ` r/   r[   r[      s     r1   c                    U [         ;   $ r:   rX   r_   s    r/   _is_op_registered_to_fake_rulerj      s    (((r1   c                    [         R                  U S 5        [         H!  u  pXL d  M  [        R                  X45          g    g r:   )rX   popr'   remove)r_   checkimpls      r/   _deregister_op_implrp      s6    D)0;%,,e]; 1r1   c                (    [         U   " X/UQ70 UD6$ r:   rh   	fake_moderS   argskwargss       r/   #dispatch_to_op_implementations_dictrv      s     #4(J4J6JJr1   c                   U[         ;  d   e[        XUSS9u  pESU;   a  [        U5      eU[        ;   a"  US   R                  nUR                  S5      4nO[        R                  " S5      nSnUR                  SS 5      nUb  UOUn[        R                  " S5      US'   [        U 5         U" U0 UD6nS S S 5        [        U WU5      $ ! , (       d  f       N= f)	NTrt   ru   normalize_to_only_use_kwargsnamesinputcpurf   r6   meta)	_non_kwarg_device_constructorsr   r   _like_tensor_constructorsr6   rl   r@   r   r   )	rs   rS   rt   ru   _
new_kwargsdefault_device
out_devicers	            r/   constructorsr      s    
 55550TMA &*400((#G,33w') e,$/J)5>J <</Jx 
&i	0$%*% 
1iJ// 
1	0s   ,	C


Cc                    [        XUSS9u  pEUR                  S5      n[        U 5         U" U5      nS S S 5        U$ ! , (       d  f       W$ = f)NTry   r{   )r   rl   r   )rs   rS   rt   ru   r   r   inpr   s           r/   non_kwarg_is_pinnedr      sR     1FMA ..
!C 
&i	0I 
1H 
1	0Hs	   	=
Ac                    [        U 5         U" X#5      nS S S 5        [        R                  " WSS9n[        X[        R                  " S5      5      $ ! , (       d  f       NC= f)Nr}   r5   r|   )r   r@   
empty_liker   r6   )rs   rS   namert   real_handlemeta_handles         r/   _record_function_enterr      sN    
 
&i	04& 
1 "";v>Kiell5.ABB 
1	0s   	A
A c                    g r:   rf   )rs   rS   handles      r/   _record_function_exitr     s     	r1   c                ^    [        U 5         U" X#5      sS S S 5        $ ! , (       d  f       g = fr:   r   )rs   rS   r   rt   s       r/   _record_function_enter_newr     s      
&i	0D 
1	0	0   
,c                @   [        XUSS9u  pEUS   nU(       a  UOUS   R                  n[        R                  " S5      US'   UR                  S5      n[	        U 5         U" U40 UD6n	S S S 5        U R
                  R                  U W	U5      $ ! , (       d  f       N+= f)NTr   r6   r{   r}   )r   r6   r@   rl   r   fake_tensor_converterfrom_meta_and_device)
rs   rS   rt   ru   r   r   input_devicer   r   r   s
             r/   non_kwarg_tor     s    
 1FMA h'L!-:g3F3M3MJ <</Jx
..
!C	%i	0#
# 
1 **??1j  
1	0s    
B
Bc                    g)NFrf   ri   s    r/   r)   r)   /  s    r1   c           	     "  ^ SS jmU R                   (       an  [        U4S j[        R                  " X#R	                  5       5       5       5      nU(       d0  [
        R                  X#45      u  pV[        U UUU[        S5      5      $ [        U5      e)Nc                    [        U [        5      (       a  U R                  $ [        U [        R                  [        R
                  [        R                  45      (       a  gg)NTF)rN   r   _has_symbolic_sizes_stridesr@   SymIntSymFloatSymBoolxs    r/   is_symbolic3workaround_stride_incorrect_op.<locals>.is_symbolic:  sA    a$$000a%,,FGGr1   c              3  4   >#    U  H  nT" U5      v   M     g 7fr:   rf   )r<   r   r   s     r/   r>   1workaround_stride_incorrect_op.<locals>.<genexpr>C  s      
$JqKNN$Js   z2Cannot run fallback kernel for stride_incorrect_op)r   objectre   bool)
allow_fallback_kernelsrE   	itertoolschainvaluespytreetree_flattenr   RuntimeErrorr   )rs   rS   rt   ru   require_dynamic	flat_args	args_specr   s          @r/   workaround_stride_incorrect_opr   4  s     '' 
$-OOD--/$J
 
 #)#6#6~#F I& QR  't
,,r1   c                ^    [        U 5         U" U0 UD6sS S S 5        $ ! , (       d  f       g = fr:   r   rr   s       r/   
resize_as_r   W  s%     
&i	0T$V$ 
1	0	0r   c                     [        X/UQ70 UD6$ r:   )r   rr   s       r/   (_sparse_coo_tensor_with_dims_and_tensorsr   _  s     	9$9&99r1   c                    [         R                  R                  U R                  ;   =(       aP    U [        R
                  R                  [        R                  R                  [        R                  R                  4;  $ r:   )
r@   Tagdynamic_output_shapetagsatenindexTensornonzerodefaultrepeat_interleaverS   s    r/   <lambda>r   h  sV    //499< TJJt||33T5K5K5R5RS	TTr1   c                    [        U5      er:   )r   rr   s       r/   	dyn_shaper   g  s     &d
++r1   Funique_consecutivec                  U R                   b  U R                   R                  (       d  [        U5      eU(       a  UR                  OUR                  nUc  Uc  SSKJn	Jn
  U
" UR                  5       5      (       d  UR                  5       S:X  a  SnOoU R                   R                  5       n[        R                  S-
  nUc  UR                  5       OUR                  U5      nU
" U5      (       d  [        U5      nU	" XS9  Uc  U(       a  Xl        OXl        Uc  UR                  U45      /nO4UR                  " / UR                  S U QUPUR                  US-   S  Q76 /nUS L=(       a#    UR                   ["        R$                  " S5      :H  nU(       d  U(       a/  UR                  Uc  UR                  OUR                  U   45      nOUR                  S5      nUR'                  U5        U(       d  U(       a5  UR                  Uc  US   R                  OUS   R                  U   45      nOUR                  S5      nUR'                  U5        [)        U5      $ )Nr   _constrain_range_for_sizehas_free_symbolsrM   maxr|   )	shape_envallow_dynamic_output_shape_opsr   unique_consecutive_memounique_memo%torch.fx.experimental.symbolic_shapesr   r   numelcreate_unbacked_symintsysmaxsizesizeint	new_emptyshapefake_devicer@   r6   r]   rZ   )rs   rS   rK   dimsortedreturn_inversereturn_countsr   nnzr   r   maxvalr   retreturn_if_dim_and_cpuinversecountss                    r/   _uniquer   r  s    	#""AA *$//);#
%
%C #+	

  		,,1A C%%<<>C[[1_F#&;CIIKCHHSME#E**U%c6;!.1+"%
{}}cV$% }}JciioJsJSYYsQwy5IJKtOV5<<PUCV0V.--S[		syy~>OP--"JJw-s{s1v||QcAR@TUq!JJv:r1   c           	          [        XUS X4U5      $ r:   r   )rs   rS   rK   r   r   r   s         r/   unique2r     s     9Cv}UUr1   c                   SSK Jn  UR                  (       a  [        $ UR	                  5       n[
        R                  " US:g  S 5        US:  a  UOX6-   nUR                  U5      n[        UR                  5       5      n[        UR                  5       5      n	S n
U" US:  5      (       a  UR                  5       XIU   -  -   n
O*U" US:  5      (       a  UR                  5       XG-   X   -  -   n
U
c^  U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      eU R                  R                  5       n
X	 X	 U
c   eUR                  XU
5      $ )Nr   guard_or_falsec                     g)Nz-select() cannot be applied to a 0-dim tensor.rf   rf   r1   r/   r   meta_select.<locals>.<lambda>  s    ?r1   )r   r   	is_sparseNotImplementedr   r@   _check_indexr   rY   stridestorage_offsetr   allow_scalar_outputsr   r   
as_strided)rs   rS   selfr   r   r   ndimr   new_size
new_stridenew_storage_offsets              r/   meta_selectr     sF    E~~88:D		?
 #szC99S>DDIIK Hdkkm$Jeqj!!!002U_5LL			"	"!002eljo5UU!&##8822.t44 '00GGI)))??81CDDr1   c           
     b    [        U UUUS:  a  UOU[        UR                  S5      -  UUU5      $ )Nr   rM   )r   r   r   )rs   rS   rK   r   r   r   r   s          r/   
unique_dimr     s>     axS3sxx#33	 	r1   c                "    [        U UUUSUUSS9$ )NFTr   r   )rs   rS   rK   r   r   r   s         r/   r   r     s)     	 	r1   c                  ^^^ SSK JmJmJn  SUU4S jjnSUU4S jjn[	        U 5      S:X  a  S/[	        U5      -  $ [        [        R                  U S5      nU" US:H  5      nU(       a  U" U" X5      5      (       a  [        U5      $ S/[	        U5      -  n	U(       aU  [        [	        U5      S-
  SS5       H6  n
U
[	        U5      S-
  :X  a  SX'   M  [        X*S-      S5      XS-      -  X'   M8     U	$ [	        U5      S-
  n
US   nSnSn[        [	        U 5      S-
  SS5       H  nXU   -  nUS:X  d0  U" XS-
     S:g  5      (       d  M'  U" XS-
     X-  :g  5      (       d  M@  U
S:  a^  U" X:  5      (       d  U" X*   S:H  5      (       a=  X-  X'   XU
   -  nU
S-  n
U
S:  a%  U" X:  5      (       a  M)  U" X*   S:H  5      (       a  M=  U" X:g  5      (       a    g US:  d  M  XS-
     nSnSnM     U
S:w  a  g U	$ )Nr   )r   guard_or_truesym_eqc                &   > T(       a  T" U 5      $ U $ r:   rf   )r   r   size_obliviouss    r/   maybe_guard_or_false-_compute_stride.<locals>.maybe_guard_or_false5  s    !!$$r1   c                &   > T(       a  T" U 5      $ U $ r:   rf   )r   r  r  s    r/   maybe_guard_or_true,_compute_stride.<locals>.maybe_guard_or_true;  s     ##r1   rM   )r   r   re   r   )r   r   r  r  rQ   r   operatormulrY   ranger   )	old_shape
old_stride	new_shaper  r  r  r	  r   
zero_numelr   view_dchunk_base_stridetensor_numel
view_numeltensor_dr   r  s      `           @@r/   _compute_strider  )  s5       9~sS^##8<<A.E%eqj1J*6)+GHHJ%&C#i.$8JC	NQ.B7FY!++%&
" 	1*-q1Jz4JJ "	 8 ^aF%/^ !LJ#i.1,b"5(++q=	Q, 71 <==#a<(L,LL  A+#J$=>>'	(9Q(>??%/%C
"//
! A+#J$=>>'	(9Q(>?? #:#=>>!|$.!|$<! 
/ 60 |r1   c                  ^ SSK Jm  [        R                  " USS9n[	        U4S jU R                  5        5       5      =(       d?    [	        U4S jU R                  5        5       5      =(       d    [	        U4S jU 5       5      $ )Nr   has_hintFvalidatec              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr:   rf   r<   sr  s     r/   r>   +_view_has_unbacked_input.<locals>.<genexpr>  s     .XOOX   c              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr:   rf   r  s     r/   r>   r!    s     3
18A;
r"  c              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr:   rf   r  s     r/   r>   r!    s     .18A;r"  )r   r  utilsextract_shape_from_varargsrE   r   r   )ar   r  s     @r/   _view_has_unbacked_inputr(  x  sa     ?,,UUCE 	.QVVX.. 	/3
33	/...r1   c                b  ^ ^ SSK Jn  SSKJnJn  [
        R                  " TSS9m[
        R                  " TT R                  5       5      mT R                  S:X  aS  T nT H<  n[        R                  " US:H  5        [        R                  R                  US5      nM>     UT L a  U" T 5      $ U$ [        T5      S:X  a]  T nT R                   H<  n[        R                  " US:H  5        [        R                  R!                  US5      nM>     UT L a  U" T 5      $ U$ [#        [$        R&                  TS5      n[        R                  " T R                  5       U:H  U U4S j5        [        T5      [        T R                  5      :X  a&  U" U" TT R                  5      5      (       a  U" T 5      $ U(       a  [)        T 5      (       a.  O[+        T 5      (       a  [-        T5      n	T R/                  TU	5      $ [1        T R3                  5       T R5                  5       TUS	9n
U
b  T R/                  TU
5      $ U(       aO  [        R6                  R8                  R:                  R<                  (       d  [?        T T5      (       a  [A        T TSS
9$ ST R                   ST R5                  5        ST S3n[C        U5      e)Nr   )view_ofr   r  Fr  rM   r  c                 *   > ST R                    ST S3$ )Nz&Could not reshape a tensor with shape  as a tensor with shape !)r   )r'  r   s   r/   r   %_view_unbacked_meta.<locals>.<lambda>  s    8	AYZ_Y``abr1   )r  )size_oblivious_enabledz Cannot view a tensor with shape z and strides r-  r.  )"torch._primsr*  r   r   r  r%  r&  
infer_sizer   r   r@   _check_refs	unsqueezerQ   r   squeezer   r  r  r   r   r   r   r  r   r   fxexperimental_configbacked_size_obliviousr(  _view_unbacked_meta
ValueError)r'  r   r0  r*  r   r  _alengthshape_numelstridesnew_stridesmsgs   ``          r/   r;  r;    s-   
 %L ,,UUCE UAGGI.E 	vv{FLL1%&&r2.B  71:I 5zQggFLL1%$$R,B  71:Iua0K	LL		[ b
 5zS\!nVE1775K&L&Lqz$:a  a@P@P-e4||E7++!	!((*e4JK ||E;// %%;;#Au--"1eEJJ,QWWI]188:,Nfglfmmn
oC
S/r1   c                d   UR                   (       d  UR                  (       a  [        $ [        R                  " / UQUR                  5       P76 n[        U5      (       a*  [        XU/UQ76 nUR                  [        R                  S9$ [        U UUR                  [        R                  S9/UQ76 $ Nmemory_format)r   	is_mkldnnr   r%  r2  r   r   
_view_metacloner@   contiguous_format)rs   rS   r'  r   views        r/   _reshape_copyrL    s     	{{akk /e/QWWY/Ea  )15u5zz11  
 	
 GG%"9"9G:	

 
 	
r1   c                    [         R                  R                  R                  R                  (       d  [        X#5      (       a  [        X#5      $ [         R                  R                  " U/UQ7SS06$ )N
allow_copyF)	r@   r7  r8  r9  r:  r(  r;  r4  _reshape_view_helper)rs   rS   r'  r   s       r/   rH  rH    sY    
 xx$$::>V	? ? #1,,{{//LELeLLr1   )outc               T    [        XU/UQ76 nUb  U$ [        R                  S U5      $ )Nc                <    U R                  [        R                  S9$ rD  )rI  r@   rJ  r   s    r/   r   !_view_meta_copy.<locals>.<lambda>  s    !''(?(?'@r1   )rH  r   tree_map)rs   rS   r'  rP  r   results         r/   _view_meta_copyrV    s6     	3U3F
??@ r1   c                    Uc[  U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        UR                  U5      $ Nr   r   )r   r   r   r   r   r   r   )rs   rS   repeatsoutput_sizer   s        r/   repeat_interleave_tensorr\    sc     '&&EE-d33))@@B 	T!+.[))r1   c                *   UR                   =nb  U$ U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      e[	        UR
                  5      (       a  U R                  R                  5       nO[        UR
                  5      (       a  U R                  R                  5       nOM[        UR
                  5      (       a  U R                  R                  5       nO[        SUR
                   35      eX2l         U$ )Nz local_scalar_dense/item NYI for )	item_memor   r   r   r   dtypecreate_unbacked_symfloatr   r   r   create_unbacked_symboolNotImplementedError)rs   rS   rK   r   s       r/   local_scalar_denserc    s    
 ]]'"44.. +400cii  88:	#))	$	$668	#))	$	$779!$DSYYK"PQQMHr1   c                    [         R                  R                  R                  R	                  U5      R                  S5      $ )NrM   )r@   opsr   r   r   unbind)rs   rS   rK   s      r/   nonzero_numpyrg  7  s.     99>>!!))#.55a88r1   c                h   U R                   b  U R                   R                  (       d  [        U5      eUR                  =nGc@  SSKJnJn  SSKJn  SSK	J
n  U" UR                  5       5      (       d  UR                  5       S:X  a  SnOU R                   R                  5       n[        R                  S-
  nU" UR                  5       5      (       d  [        UR                  5       5      nO[         R"                  " UR$                  5      R&                  n	U" U	R(                  U	R                   R*                  5      n
[-        U
R.                  U5      (       a  [        R                  S-
  nOU
R.                  nU" X8S9  X2l        UR1                  X2R3                  5       4SU4[4        R6                  S9$ )Nr   r   IntInfinitybound_sympyrM   r   )r_  )r   r   r   nonzero_memor   r   r   torch.utils._sympy.numbersrj  torch.utils._sympy.value_rangesrl  r   r   r   r   r   mathprodr   nodeexprvar_to_rangerN   uppernew_empty_stridedr   r@   int64)rs   rS   rK   r   r   r   rj  rl  r   	prod_node
prod_ranges              r/   r   r   >  sL    	#""AA *$//(	
 	;?		,,1A C%%<<>C[[1_F#CIIK00SYY[) IIcii055	(NNI$7$7$D$D
 j..<< [[1_F'--F%c6  #wwy!1As85;; OOr1   c                   [        U5      S:X  d   eU(       d  U R                  b  U R                  R                  (       d  [        U5      eU R                  R	                  5       n[
        R                  S-
  nSSKJnJ	n  U" UR                  5       5      (       d  [        UR                  5       5      nU" USUS9  U/UR                  SS  Q7nUR                  U5      $ )NrM   r   r   )minr      )rQ   r   r   r   r   r   r   r   r   r   r   r   r   r   )	rs   rS   paddedoffsetstotal_Lr   r   r   output_shapes	            r/   _padded_dense_to_jagged_forwardr  q  s     w<1'&&EE .d33%%<<>q	

  //(F!'qf=/fll12./LL))r1   c                    SSK JnJn  U" U" US:  X:*  5      5      (       a  U$ U" U" US:  X* :  5      5      (       a  X-   $ U" X* :  5      (       a  gU" X:  5      (       a  U $ g )Nr   )r   sym_and)r   r   r  )r   r   r   r  s       r/   _compute_slice_indexr    sk    Mgeqj%-899		5E>:	;	;|		&	&		%	%r1   c                   SSK JnJn  U R                  n	UR	                  5       n
U
S:X  a  [        S5      e[        UR	                  5       U5      n[        UR                  5       5      n[        UR                  5       5      nUS::  a  [        S5      eUc  SO[        X   U5      nU" U[        R                  :H  5      (       d  Uc  X   O[        X   U5      nS nUb1  Ub.  U" X:  5      (       a  X-
  U-   S-
  U-  nOU" X:  5      (       a  SnUcN  U	c   S5       eU	R                  5       n[        R                  " US:  5        [        R                  " XU   :*  5        X   U-  nUb  UR!                  5       XU   -  -   nO3U	c   S5       eU	R                  5       n[        R                  " US:  5        XU'   UX'   UR"                  (       a  [%        S5      eUR'                  XU5      $ )Nr   )r   statically_known_truez,slice() cannot be applied to a 0-dim tensor.zslice step must be positiverM   z$Must have shape_env to create symintz<Slice decomposition for quantized tensors aren't implemented)r   r   r  r   r   r   r   rY   r   r   r  r   r   r   r@   r3  r   is_quantizedrb  r   )rs   rS   r   r   startendstepr   r  r   r   sizesr@  start_index	end_indexr   r   r   s                     r/   slice_forwardr    s   
 ##I88:DqyIJJ
488:s
+CE4;;=!Gqy899 }!*>uz5*QK !!344 	
!%*c2  $(H9#8)233!/$6:tCHK455H $L&LL$335X]#Xs+, $J ,,.s|1KK$L&LL$"99;^q()#JGL!J
 	
 u~>>r1   c                   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       n[        R
                  S-
  nSSKJnJn  SSK	J
n  SSKJn	  U" UR                  5       5      (       d  [        UR                  5       5      n
O[        R                   " UR"                  5      R$                  nU	" UR&                  UR                   R(                  5      n[+        UR,                  U5      (       a  [        R
                  S-
  n
OUR,                  n
U
S:  a  U
nU" XES9  UR/                  U45      $ )NrM   r   r   ri  rk  r|  r   )r   r   r   r   r   r   r   r   r   rn  rj  ro  rl  r   r   rp  rq  r   rr  rs  rt  rN   ru  r   )rs   rS   r   maskr   r   r   r   rj  rl  num_elementsrx  ry  s                r/   masked_selectr    s   
 	#""AA *$//



4
4
6C [[1_F 7;
 DJJL))4::<(IIdjj)..	 1D1D1Q1QR
j&&44;;?L%++Lac.>>3&!!r1   )r6   layoutc                  Ub/  UR                  5       U:X  d   SU SUR                  5        35       eUb/  UR                  5       U:X  d   SU SUR                  5        35       eUb'  UR                  U:X  d   SU SUR                   35       eUb'  UR                  U:X  d   SU SUR                   35       eUb(  UR                  U:X  d   SU SUR                   35       eg g )Nz!Tensor sizes mismatch! Expected: z, Got: z#Tensor strides mismatch! Expected: z!Tensor dtype mismatch! Expected: z"Tensor layout mismatch! Expected: z"Tensor device mismatch! Expected: )r   r   r_  r  r6   )rs   rS   tr  r@  r_  r6   r  s           r/   assert_tensor_metadatar    s    vvx5  	
/wgaffhZH	
  xxzW$ 	
1''!((*N	
$ ww% 	
/wgaggYG	
 xx6! 	
0zJ	
! xx6! 	
0zJ	
! r1   c                P    [         R                  R                  U R                  ;   $ r:   )r@   r   data_dependent_outputr   r   s    r/   r   r   :  s    uyy>>$))Kr1   c                    [        U5      er:   )r   rr   s       r/   data_depr  :  s     't
,,r1   c                    U HA  nUc  M  UR                   [        R                  [        R                  4;   d  M8  [	        U 5      e   g r:   )r_  r@   r   uint8r   )rS   r   indicesr   s       r/   check_no_bool_index_tensorsr  C  s7     U[[0I!I-d33 r1   c                   [        XUSS9u  pEUS   R                  n[        U 5         U" U0 UD6n[        U5      (       d  UR	                  UR
                  5      nS S S 5        WUS   L a  U$ [        XU5      $ ! , (       d  f       N$= fNTrx   r{   )r   r6   r   r7   r   r   r   )rs   rS   rt   ru   r   r   r   rP  s           r/   )run_and_return_new_tensor_of_input_devicer  K  s     1TMA G$++J	%i	0D#F#)*55--		*C 
1
 j!!
ij11 
1	0s   4A::
Br   primsprimc                (    U R                   [        ;   $ r:   )	namespace_is_builtin_namespacesri   s    r/   
is_builtinr  c  s    <<111r1   c                ^    [         R                  R                  U R                  5       S5      $ )NMeta)r@   rA   ._dispatch_has_computed_kernel_for_dispatch_keyr   r   s    r/   r*   r*   g  s     88BB499;PVWWr1   c                    [        U 5      =(       a1    U R                  5       R                  S5      =(       a    [        U 5      $ )Nzaten::_foreach_)r  r   
startswithr*   r   s    r/   r   r   m  s4    D! 		01r1   c           	        [         R                  " X#R                  5       5       Vs/ s HX  n[        U[        [
        45      (       d  M   [        U5      (       d  M2  [        US   [        R                  5      (       d  MV  UPMZ     nn [        U 5         U" U0 UD6nS S S 5        W(       d  U$ U(       d   e/ n[        U5       H[  u  p[        R                  " X V
s/ s H  oU   PM	     sn
5      u  pUR                  U R                   R#                  X	U5      5        M]     U$ s  snf ! , (       d  f       N= f! [         a	    [        s $ f = fs  sn
f Nr   )r   r   r   rN   rY   rZ   rQ   r@   r   r   rb  r   	enumerater   _find_common_devicer]   r   r   )rs   rS   rt   ru   rK   tensor_listsout_metaout_fakeimeta_ttlr6   r   s                r/    foreach_run_and_map_input_devicer  l  s)    ??499CcD%=) 	 H 	 s1vu||,	 	9  ))4T,V,H 5
 <Hx(	224,9W,BQ%,9WX	++@@6	
 ) O9 54  :XsM   D%
D% D% D%	D; 	D*D; E*
D84D; 8D; ;EEc                    SSK Jn  [        XUSS9u  pVUS   R                  nU    U" U0 UD6nUR	                  U5      sS S S 5        $ ! , (       d  f       g = f)Nr   )meta_index_TensorTrx   r{   )torch._meta_registrationsr  r   r6   to)	rs   rS   rt   ru   r  r   r   r   rP  s	            r/   index_tensorr    sT     <0TMA G$++J	00vvj! 
s   A
Ac                X    SSK Jn  U    U" U0 UD6sS S S 5        $ ! , (       d  f       g = f)Nr   )meta_embedding_bag)r  r  )rs   rS   rt   ru   r  s        r/   embedding_bagr    s!     =	!4262 
s   
)c                    [        XX#5      $ r:   )r  rr   s       r/   multi_device_op_defaultr    s     5YdSSr1   c                    [        U 5         U" U0 UD6  S S S 5        [        XUSS9u  pEUS   $ ! , (       d  f       N = fr  )r   r   )rs   rS   rt   ru   r   r   s         r/   multi_device_op_outr    sI    
 
&i	0df 
1 1TMA g 
1	0s   	/
=c                `  ^^^ [        TX#SS9u  pEUS   mUS   R                  m[        R                  " TTR                  :H  =(       d)    TR                  S:H  =(       a    TR                  5       S:H  UUU4S j5        [        U TX#5      nT[        R                  R                  L a  US   $ U$ )NTrx   r   r{   r   rM   c                 0   > ST  ST STR                    S3$ )NzMismatching z device between self (z) and values ()r5   )rS   self_devicer   s   r/   r    index_put_impl.<locals>.<lambda>  s$    ,tf$:;-~V\VcVcUddefr1   )
r   r   r@   r3  r   r   r  r   
index_put_r   )	rs   rS   rt   ru   r   r   rP  r  r   s	    `     @@r/   index_put_implr    s    
 14TMA !FW%11K	LLv)))WfkkQ.>.V6<<>UVCVf
 4ItT
RCt&&&'""
r1   c                    [        U5      er:   )r   rr   s       r/   nested_tensors_unsupportedr    s     't
,,r1   c                ,    U[         ;  d
   SU 35       eg )NzNYI: )_device_not_kwarg_opsrr   s       r/   nyir    s      ,,<dVn<,r1   c                l  ^ ^ [        XUSS9u  pEUS   R                  mT    US   R                  nUS   R                  S   nSSKJn  U" U5      (       d  S n	GO4U[        R                  R                  L a!  [        R                  R                  " S0 UD6n
OA[        R                  R                  US   US   S US   US   US	   US
   US   US   US   S9
n
US:X  a  US   R                  (       d  US   R                  (       d  US   R                  5       R                  S5      US'   US   R                  S5      US'   [!        US   5      S:X  aT  US   R#                  SS5        US   R#                  SS5        US	   R#                  SS5        US   R#                  SS5        [        R                  R%                  US   US   U
5      n	US:X  a  US   R                  (       d  US   R                  (       d  US   R'                  S5      US'   US   R'                  S5      US'   [!        US   5      S:X  aP  US   R)                  S5        US   R)                  S5        US	   R)                  S5        US   R)                  S5        S S S 5              SUU 4S jjn[+        T 5         U" S0 UD6nU[        R                  R                  L a  U" UW	5      sS S S 5        $ U" US   W	5      U" US   U	5      U" US   S 5      4sS S S 5        $ ! , (       d  f       N= f! , (       d  f       g = f)NTrx   r{   weightr   r  r   paddingdilation
transposedoutput_paddinggroups
bias_sizes)biasr   r  r  r  r  r  r     r|  rM   c                   > U c  U $ Ube  U R                  5       S:X  aB  U[        R                  :X  a.  U R                  S5      R	                  US9R                  S5      n OU R	                  US9n [        TU T5      $ )Nr  r|  rE  )r   r@   channels_lastr5  r  r6  r   )r  mem_fmtr6   rs   s     r/   convertconv.<locals>.convertH  st     9Huuw!|5+>+> >KKN%%G%<DDQGDDwD/)Q//r1   rf   )r  ztorch.Tensor | Noner  ztorch.memory_format | Nonere   FakeTensor | None)r   r   r   r   r   r  r   convolutionr   r@   rA   _select_conv_backendrG  is_xpu
contiguousr5  rQ   insert%_conv_determine_backend_memory_formatr6  rl   r   )rs   rS   rt   ru   r   r   kbatchr  r  conv_backendr  rP  r6   s   `            @r/   convr    sS    1TMA  ,,F	x %%7#))!, 	C Gt''///$xx<<JzJ$xx<<w'x(%h/&y1'
3),7#-.>#?%h/),7  =    Q"7+55"7+22 '1&9&D&D&F&P&PQR&S
7#'1(';'E'Ea'H
8$z(+,1x(//15y)00A6z*11!Q7/0771=hhDD7#Z%9<G
 Q"7+55"7+22&0&9&A&A!&D
7#'1(';'C'CA'F
8$z(+,1x(,,Q/y)--a0z*..q1/044Q7w 
z00)C0	0 0 
&i	0 Z 4##+++3(	 
1	0 A(A(A% 
1	0U 
T 
1	0s   I-L0.L%("L%
L"%
L3c                
   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        [        R                  " XT:  5        UR                  U5      $ rX  )	r   r   r   r   r   r   r@   r3  r   )rs   rS   inputsweights	minlengthr   r   s          r/   bincountr  b  sk     	#""AA *$//""99;HOh'	LL&'H%%r1   c                T   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        U(       d  UR                  SS5      nUR                  SS  nUR                  U5      nUR                  U45      n	X4$ )Nr   rY  rM   )	r   r   r   r   r   r   	transposer   r   )
rs   rS   r  lengthsbatch_firstnew_batch_sizer   res_sizepacked_data
batch_sizes
             r/   _pack_padded_sequencer  z  s     	#""AA *$//((??ANOn-!!!Q'||ABH""8,K!!>"34J$$r1   c                   ^  SU 4S jjnU$ )Nc                   > U [         T'   U $ r:   )FAST_OP_IMPLEMENTATIONS)r^   rS   s    r/   ra   -register_fast_op_impl.<locals>.impl_decorator  s    (/%r1   rc   rf   )rS   ra   s   ` r/   register_fast_op_implr    s     r1   c                  ^
^^ SSK Jn  [        U 5      n[        U5      n[        X45      nS/U-  n[	        US-
  SS5       H  m
US-
  T
-
  nUS-
  U-
  nUS-
  U-
  n	US:  a  X   OSmU	S:  a  X   OSm[
        R                  " U" TS:H  5      =(       d    U" TS:H  5      =(       d    TT:H  U
UU4S j5        U" TS:H  5      (       a  TOTUT
'   M     [        U5      $ )Nr   r   rM   r  c                    > ST ST ST  S3$ )NzThe size of tensor a (z#) must match the size of tensor b (z) at non-singleton dimension r  rf   )r  sizeAsizeBs   r/   r   infer_size.<locals>.<lambda>  s%    ,UG 4005w 7**+A/r1   )r   r   rQ   r   r  r@   r3  rZ   )r'  br   dimsAdimsBr   expandedSizesoffsetdimAdimBr  r  r   s             @@@r/   r2  r2    s     EFEFEuD()sTzM4!8R$Aqy6!qy6!19!19! 	5A:&V.!*DVQV/	
 %35A:$>$>5Ea1 %2 r1   c                   ^ ^ SU U4S jjnU$ )Nc           
     v  >^ ^^ SUUU U4S jjn[        S5        TnS nU H@  n[        U[        R                  5      (       a  UR                  OSnUc  Un[        XW5      nMB     Uc   eSSKJnJn	  U Hh  n[        U[        R                  5      (       d  M$  [        UR                  5      [        U5      :X  d  MH  U" U	" UR                  U5      5      (       d  Mh    O
   U" S5      $ [        R                  " S5      n
U
nS nSnU H  n[        U[        R                  5      (       d  S	nM&  X:X  a&  UR                  R                  S:w  a  UR                  nUc&  T[        R                  :w  a  S	nMl  UR                  nMz  XR                  :w  d  M  S	nM     U(       a  [        US
T06u  pSnSnU H~  n[        U[        R                  5      (       d  M$  X:w  a;  UR!                  5       S:X  a'  UR                  U
:X  a  UU:  a
  U" S5      s  $ US-  nMd  UR                  U:w  d  Mv  U" S5      s  $    S	nS	n[#        U5      (       al  U Hf  n[        U[        R                  5      (       d  M$  U=(       a    [%        U[        R&                  S9nU=(       a    [%        U[        R(                  S9nMh     U(       a9  [        S5        [+        T [        R,                  " UUS[        R&                  S9US9$ U(       a9  [        S5        [+        T [        R,                  " UUS[        R(                  S9US9$ U" S5      $ )Nc                j   > [        SU  35        T   T" T0 TD6sS S S 5        $ ! , (       d  f       g = f)Nzslow r   )rB  rt   ru   modeslow_refs    r/   slow=make_fast_binary_impl.<locals>.fast_binary_impl.<locals>.slow  s+    %u&00 s   $
2zattempt fastrf   r   r+  z#both tensors nontrivially broadcastr|   FTtype_promotion_kindrM   errorrE  zfast is_contiguousr}   )r_  r6   rF  r5   zfast channels_lastzno contiguity match)rB  strre   r   )r   rN   r@   r   r   r2  r   r   r  rQ   r6   r4   r   DEFAULTr_  r   r   r7   r   rJ  r  r   empty)r  rt   ru   r  operandsfinal_shaper_   r   r   r  r|   common_devicecommon_dtypehas_different_input_dtypesr   current_cpu_scalars_on_non_cpumax_cpu_scalars_on_non_cpudefinitely_contiguousdefinitely_channels_lastr  r  s   ```                r/   fast_binary_impl/make_fast_binary_impl.<locals>.fast_binary_impl  s   	1 	1
 	N#  )-B+5b%,,+G+GrxxRE"#
 %[8K  &&&P B2u||,,MS%55"6"((K#@AA  =>> ll5!&)+/%*"Bb%,,//-1*#		%(? "		#&*I*Q*QQ15.#%88L)-1*  & 1/BOA *+&%&"Bb%,,//#A"))s:J15OO=(.!3.m+G}$  !%#' 
 &m44!"ell33) @%*A*A & - @%*=*= )  !,-&!"'"9"9	 %	 	 $,-&!"'"5"5	 %	 	 )**r1   )r  r"   rt   r   ru   r   re   r   rf   )r  r  r  s   `` r/   make_fast_binary_implr     s    J+ J+X r1   c                v   [        5          [        U 5         [        R                  R                  R
                  R                  U5      nS S S 5        S S S 5        U(       a   [        U WUR                  UR                  S9$ [        U WUR                  5      $ ! , (       d  f       NT= f! , (       d  f       N]= f)N)real_tensor)
r
   r   r@   re  r   detachr   r   r6   r"  )rs   r   include_realrP  s       r/   fast_detachr%  c  sy     
	!=i!Hiinn##++A. "I	)S!((NNiahh//	 "I!H		s"   B*4BB*
B'	#B**
B8c                 Z   SS K n [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  [        R                  S95        [        U R                  R                  R                  R                  5      " [        5        [         $ )Nr   )r  )torch._refsr  re  r   addr   r   r4  subr  divr   INT_TO_FLOATr#  r   r%  r  )r@   s    r/   r(   r(   m  s   %))..,,334ekkoo. %))..,,334ekkoo. %))..,,334ekkoo. %))..,,334KKOO ? L L	
 %))..//778E""r1   )r.   r&   re   zdict[_T, bool])r6   ztorch.devicere   r   )rG   r   re   r   )rS   r   re   r   )r`   zUCallable[[OpOverload], bool] | OpOverload | list[OpOverload] | tuple[OpOverload, ...]re   .Callable[[Callable[_P, _R]], Callable[_P, _R]])r_   r   re   r   )r_   r   re   None)
rs   r"   rS   r   rt   r   ru   r   re   r   )
rs   r"   rS   r   rt   r   ru   r   re   r   )
rs   r"   rS   r   rt   r   ru   r   re   r   r:   )
rs   r"   rS   r   r   r  rt   object | Nonere   r   )rs   r"   rS   r   r   r   re   r-  )
rs   r"   rS   r   r   r  rt   r.  re   r   )
rs   r"   rS   r   rt   r   ru   r   re   r-  )TFF)rs   r"   rS   r   rK   r   r   
int | Noner   r   r   r   r   r   r   r   re   )tuple[FakeTensor, FakeTensor, FakeTensor])rs   r"   rS   r   rK   r   r   r   r   r   r   r   re   r0  )rs   r"   rS   r   r   r   r   r   r   r#   re   r   )rs   r"   rS   r   rK   r   r   r   r   r   r   r   r   r   re   r0  )FFN)rs   r"   rS   r   rK   r   r   r   r   r   r   r/  re   r0  )F)
r  Sequence[IntLikeType]r  r1  r  r1  r  r   re   zlist[IntLikeType] | None)r'  r   r   ShapeType | tuple[ShapeType]re   r   )T)r'  r   r   r2  r0  r   re   r   )
rs   r"   rS   r   r'  r   r   r   re   zFakeTensor | Exception)
rs   r"   rS   r   r'  r   r   r   re   r   )rs   r"   rS   r   r'  r   r   r#   rP  r  re   r   )
rs   r"   rS   r   rZ  r   r[  IntLikeType | Nonere   r   )rs   r"   rS   r   rK   r   re   zBint | float | bool | torch.SymInt | torch.SymFloat | torch.SymBool)rs   r"   rS   r   rK   r   re   list[FakeTensor])rs   r"   rS   r   rK   r   re   r   )rs   r"   rS   r   r}  r   r~  r4  r  r3  re   r   )r   r#   r   r#   re   r3  )r   NNrM   )rs   r"   rS   r   r   r   r   r   r  r/  r  r/  r  r   re   r   )
rs   r"   rS   r   r   r   r  r   re   r   )NNN)rs   r"   rS   r   r  r   r  ztorch.Size | Noner@  ztuple[int, ...] | Noner_  ztorch.dtype | Noner6   ztorch.device | Noner  ztorch.layout | Nonere   r-  )rS   r   r   r   r  zlist[FakeTensor | None]re   r-  )
rs   r"   rS   r   rt   ztuple[Any, ...]ru   zdict[str, Any]re   r   )
rs   r"   rS   r   rt   r   ru   r   re   zlist[FakeTensor] | None)
rs   r"   rS   r   rt   r   ru   r   re   z5tuple[FakeTensor, FakeTensor, FakeTensor, FakeTensor])
rs   r"   rS   r   rt   r   ru   r   re   zKFakeTensor | tuple[FakeTensor | None, FakeTensor | None, FakeTensor | None]r  )rs   r"   rS   r   r  r   r  r  r  r#   re   r   )rs   r"   rS   r   r  r   r  r   r  r   re   ztuple[FakeTensor, FakeTensor])rS   r   re   r,  )r'  r1  r  r1  re   ztuple[IntLikeType, ...])r  zCallable[..., Any]r  r   re   zCallable[..., FakeTensor])rs   r"   r   r   r$  r   re   r   )re   z$dict[OpOverload, Callable[..., Any]])
__future__r   	functoolsr   rp  r  r   r   typingr   r   r   r   typing_extensionsr	   r@   torch._custom_optorch._loggingtorch._prims_common_prims_commonr%  torch._dispatch.pythonr
   
torch._opsr   r   r   r   r   r   r   r   r   r   r   r   torch._subclasses.fake_tensorr   r   r   r   r   r   torch.fx.operator_schemasr   torch.utils._statsr   collections.abcr    r!   r"   torch.typesr#   r   FakeTensorLiker$   r%   r&   _pytreer   __all__rX   r'   _opsre  r   r0   r7   r   r   rP  	full_like	ones_like	rand_like	generatorgenerator_out
randn_likerandint_likeTensor_generator
Tensor_outTensor_generator_out	low_dtypelow_generator_dtypelow_dtype_outlow_generator_dtype_out
zeros_liker   rv  new_full	new_zerosnew_onesr   _resize_output__nested_tensor_from_tensor_list
pin_memoryr  r6   prim_Device	is_pinned_pin_memory_resize_outputr  _list_to_tensorr~   r;   cacherU   r[   rj   rp   __contains__rv   r   r   profilerr   r   r   r   r)   r   r   r   r   r   _unique2r   selectr   r   r   r   r  r(  r;  rL  rK  _unsafe_viewrH  	view_copyrV  r   r\  item_local_scalar_denserc  rg  r   r  r  slicer  r  _assert_tensor_metadatar  r  r  r  r  r  r*   r  r   r  _embedding_bagr  _unsafe_index_putcopycopy_slice_scatterdiagonal_scatterr  r  	index_putr  r  _nested_view_from_buffer_nested_view_from_buffer_copyr  r  r  convolution_backwardr  r  r  r  r  r2  r  r   r%  r(   r   s   0r/   <module>rw     s   "     
  5 5 '    # 7 !     C * 2<' z5<</0t_T]T]			    zz~~&  ( 'OO'OO' 	NN' 	NN	'
 	NN' 	NN' 	NN' 	NN' 	NN' 	NN  ' 	OO' 	OO' 	OO' 	OO!!' 	'  	!'" 	#'$ 	&&%'& 	  ''( 	**)'* 	+', 	##-'. 	/'0 	))1'2 	##3'4 	--5'6 	OO7'8 	OO9': 	NN;'< 	NN='> 	""?'@ 	A'B 	MMC'D 	MME'F 	NNG'H 	NNI'J 	MMK'L 	MMM' T $  ((00((,,OOGGNNGGNN  #'"6"6!8   
 40) )667KK%/K8;KGJKK 8K ().-./00%/08;0GJ00 0 *0: $..(()%/8;GJ	 *  %))$$;;CCDRV	C	C%/	C7:	CBO	C	C E	C %))$$::BBC		%/	9<			 D	 %))$$??GGHRV  %/ 7: BO   I  $''%%&$''..!%/8;GJ " '$
 %&--%/-8;-GJ-- '-D $//))*%%%/%8;%GJ%% +% $??GGH::%/:8;:GJ:: I: T
,,%/,8;,GJ,	,
,  K  %KK
K 
K 
	K
 K K K K /K\ $--''(
  VV
V 
V 	V
 V V /V )V $++//"-E-E
-E -E 
	-E
 -E -E #-E` $//))*  
 
 
	
    / +* $))112
 !
 
 	
  
 / 32 !	L$L%L %L 	L
 L^6	" $(FF'F !F 	FR $$$,,-

%/
4>
HK

 .
. $))##$$##++,MM%/M4>MHKMM - %M $..(() "
  	
 
  *" $((//0
 '+	**
* * $	*
 * 1*. %))..%%--.%))..44<<=%/6@G > /. %))....66799%/96@99 89 %))..((001/P 2/Pd %))..@@HHI #'"*"*
"* "* 	"*
  "* "* J"*J %))..&&--.
 B?B?
B? B? 
	B?
 B? 
B? B? B? /B?J %))....667("("%/("7A("IS("(" 8("V %))..88@@A
  $&* $
 #'"&



 
 	

 $
 
  
  
 

 B
D KL--%/-8;-GJ-	- M-4
4&41H4	422
2 2 	2
 2* %VWf= 2X
 
%/8;GJ
J $**##$""%/"8;"GJ"" %"$ $%%--.33%/38;3GJ3:3 /3 $((001$))##$$**$$%$$$,,-$''//0TT%/T8;TGJTT 1 . & % 2
T $))-- $$$(()

%/
8;
GJ

 * !
 $..(()$//))*%/8;GJ + *( $66>>?$66::;$//778$44<<=--%/-8;-GJ-	- > 9 < @-  '&A NN""GGNNGG00880044

 	
&== 4##++T-F-F-N-NOP\\%/\8;\GJ\P\ Q\~ %))..))112
 "&&&
& & 	&
 & & 3&. %))..66>>?%%
% % 	%
 % #% @%<  

3" " !6" " N <[;b;bP P8P Pl DI00",0<@00 # #}s   0A3A@!'A@!