Ë
    g^(hä…  ã                   ót,  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZ d dlZd dlmZ d dlmZ d dlZd dlmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dl m!Z! d d	l"m#Z# d d
l$m%Z% d dlm&Z&m'Z'm(Z( d dl)m*Z*m+Z+ ddl,m-Z-m.Z. ddlm/Z/m0Z0m1Z1  ed«      Z2 ed«      Z3 ejh                  e5«      Z6ejn                  jp                  Z8ejn                  jr                  Z9ejn                  jt                  Z:ejn                  jv                  Z;ejn                  jx                  Z< eg e8jz                  ‘e8j|                  ‘e8j~                  ‘e8j€                  ‘e8j‚                  ‘e8j„                  ‘e8j†                  ‘e8jˆ                  ‘e8jŠ                  ‘e8jŒ                  ‘e8jŽ                  ‘e8j�                  ‘e8j’                  ‘e8j”                  ‘e8j–                  ‘e8j˜                  ‘e8jš                  ‘e8jœ                  ‘e8jž                  ‘e8j                   ‘e8j¢                  ‘e8j¤                  ‘e8j¦                  ‘e8j¨                  ‘e8jª                  ‘e8j¬                  ‘e8j®                  ‘e8j°                  ‘e8j²                  ‘e8j´                  ‘e8j¶                  ‘e8j¸                  ‘e8jº                  ‘e#‘e8j¼                  ‘e8j¾                  ‘e8jÀ                  ‘e8jÂ                  jÄ                  ‘e8jÆ                  jÈ                  ‘e:jÊ                  ‘e;jÌ                  ‘«      Zgi  e«       ¥eg¥Zhe8jÒ                  e8jÔ                  e8jÖ                  e8jØ                  jÚ                  e8jÜ                  e8jÞ                  e8jà                  e8jâ                  e8jä                  e8jæ                  e8jè                  e8jê                  jì                  e8jî                  e8jð                  e8jò                  e8jô                  gZ{ eehe{«       de|e	ejú                  jü                  ejú                  jþ                  f      deee3e2f   gee3e2f   f   fd„Z€ e€e8�j                  �j                  g«      dejì                  deƒddfd„«       Z„ e€e8�j
                  �j                  g«      dejì                  deƒddfd„«       Z† e€e8�j                  jÚ                  g«      dddœde�j                  dee�j                  �j                     dee�j                  �j                     ddfd„«       Z‡ e€e8�j                  g«      e	 	 d¯dejì                  dee�j                  �j                     dee�j                  �j                     dejì                  fd„«       «       Z‹ e€e8�j                  g«      d e|e	ebe�j                  f      d!e�j                  �j                  d"edejì                  fd#„«       ZŒ e€e8jâ                  g«      dd$œdejì                  d%ebd&ejì                  dejì                  d'e�j                  �j                  dejì                  fd(„«       Zq e€e8�j                  jÚ                  g«      d e|e	ebe�j                  f      d)e|eb   d"edejì                  fd*„«       Z� e€e8�j                  g«      d+ejì                  d,ejì                  d-ejì                  d.e|eb   d/e	ebe|eb   f   d0e	ebe|eb   f   d1e	ebe|eb   f   d2e�d3e|eb   d4ebd5e|e�   de�ejì                  ejì                  ejì                  f   fd6„«       ZŽ e€e8�j"                  �j$                  g«      d°dejì                  d7ebdejì                  fd8„«       Z“ e€e8�j(                  g«      ed9ejì                  d:ejì                  dejì                  fd;„«       «       Z” e€e8�j*                  g«      e	 	 d±d9ejì                  d<ejì                  d=ejì                  d>e�j                  �j                  d'e�j                  �j                  dejì                  fd?„«       «       Z• e€e8�j,                  g«      ed9ejì                  d@ejì                  dejì                  fdA„«       «       Z– e€e8�j.                  jÚ                  g«      	 d°dBe|ejì                     d%ebdejì                  fdC„«       Z— e€e8�j0                  g«      dejì                  dejì                  fdD„«       Z˜ e€e8�j2                  g«      dd$œdejì                  dEejì                  d'ee�j                  �j                     dejì                  fdF„«       Z™ e€e8�j4                  g«      d9ejì                  dejì                  fdG„«       Zš e€e8�j6                  e8�j8                  g«      d9ejì                  dejì                  fdH„«       Z› e€e8�j:                  e9�j:                  g«      d9ejì                  dIejì                  dejì                  fdJ„«       Z� e€e8�j<                  e9�j<                  g«      d9ejì                  dIejì                  dejì                  fdK„«       Zž e€e8�j>                  «      	 	 d²d9ejì                  d%eeb   dMe�dejì                  fdN„«       ZŸ e€e8�j@                  «      	 	 d²d9ejì                  d%eeb   dMe�dejì                  fdO„«       Z  e€e8�jB                  g«      d9ejì                  d%ebdPebdQebdejì                  f
dR„«       Z¡ e€e8�jD                  jÚ                  g«      d9ejì                  d e|e	ebe�j                  f      dejì                  fdS„«       Z£ e€e8�jD                  �jH                  g«      d9ejì                  dTe�jH                  dejì                  fdU„«       Z¥	 d³dejì                  dVee�jL                     de�jL                  fdW„Z§ e€e8�jP                  «      ddddXœd9ejì                  dTee�jH                     dYee�jR                     dVee�jL                     d"edejì                  fdZ„«       Z¨ e€e8�jT                  «      ddddXœd9ejì                  dTee�jH                     dYee�jR                     dVee�jL                     d"edejì                  fd[„«       Zª e€e8�jV                  «      ddddLdLe�jX                  d\œd9ejì                  d!e	ebe­f   dTee�jH                     d]ee�j\                     dYee�jR                     d^e�d_e�dVe�jL                  dejì                  fd`„«       Z« e€e8�j^                  jÚ                  «      ddddXœd9ejì                  daebdTee�jH                     dYee�jR                     dVee�jL                     d"edejì                  fdb„«       Z¯ e€e8�j^                  �j`                  «      ddddXœd9ejì                  dcebdaebdTee�jH                     dYee�jR                     dVee�jL                     d"edejì                  fdd„«       Z± e€e8�jd                  jÚ                  «      daebd e|e	ebe�j                  f      d"edejì                  fde„«       Z² e€e:jÊ                  jÚ                  «      d,ejì                  d-ejì                  dfejì                  dejì                  fdg„«       Ze e€e;jÌ                  jÚ                  «      d,ejì                  dhejì                  diejì                  d-ejì                  djejì                  dkejì                  dfejì                  dlejì                  dmejì                  dnebdejì                  fdo„«       Zf e€ejn                  jt                  �jf                  «      dpejì                  dejì                  fdq„«       Z´ e€e8�jj                  g«      e	 	 	 d´drejì                  dsejì                  dtebduebdve�dejì                  fdw„«       «       Zµ e€e8�jl                  �jn                  «      	 dµd9e|ejì                     dxe|ejì                     dye|ejì                     dze­de|ejì                     f
d{„«       Z¸ e€e8�jr                  �jn                  «      	 dµd9e|ejì                     dxe|ejì                     dye|ejì                     dze­de|ejì                     f
d|„«       Zº e€e8�jv                  �jn                  «      d}e|ejì                     d~e|ejì                     d-e�j                  �j                  de|ejì                     fd„«       Z¼ e€e8�jv                  �jz                  «      d}e|ejì                     d~e|ejì                     d€e|e�j                  �j                     de|ejì                     fd�„«       Z¾e8�j~                  jÚ                  �j�                  e�j‚                  �j„                  �j†                  «       e€e8�j~                  «      d,ejì                  d-ejì                  dfej                  ejì                     d‚ej                  ejì                     dƒej                  ejì                     d„e�d…e­d†e­de�ejì                  ejì                  ejì                  f   fd‡„«       «       Z¿ e �jˆ                  d«      deÅeedˆef   f   fd‰„«       ZÆdeÅeedˆef   f   fdŠ„ZÇ e€e8�j�                  «      d9ejì                  d‹ejì                  dŒejì                  dejì                  fd�„«       ZÈ e€e<�j’                  �j”                  «      d,ejì                  dŽebd�ebd�e­dTe�jH                  de�ejì                  ejì                  f   fd‘„«       ZË e€e8�j˜                  «      	 d¶d9ejì                  d&ejì                  dŒejì                  d’e�dejì                  f
d“„«       ZÌ e€e8�jš                  «      	 d¶d9ejì                  d&ejì                  dŒejì                  d’e�dejì                  f
d”„«       ZÍ e€e8jÜ                  jÚ                  «      ed+ejì                  d•ejì                  d%ebd–e�jH                  dejì                  f
d—„«       «       Zn e€e8�jœ                  «      d˜d™œd9ejì                  d%ebd&ejì                  dšejì                  d›eƒdœe�dejì                  fd�„«       ZÎ e€e8�jž                  «      	 	 	 	 d·dejì                  dže|eb   d/ee	ebe|eb   f      d0e	ebe|eb   f   d1e	ebe|eb   f   dŸe�de�ejì                  ejì                  f   fd „«       ZÏ e€e8�j                   «      dejì                  d¡e|eb   de�ejì                  ejì                  f   fd¢„«       ZÐ e€e8�j¢                  �jn                  «      dLdLddd£œd¤ejì                  d9e�j                  �j                  d¥e�d¦e�d§eeƒ   d¨eejì                     dejì                  fd©„«       ZÒ e€e8�j¦                  «      	 	 	 	 d¸d9ejì                  dªejì                  d«e­d¬e­d„e�d­ee�j¨                     de�ejì                  ejì                  f   fd®„«       ZÓy)¹é    N)ÚAnyÚCallableÚOptionalÚTypeVarÚUnion)Ú	ParamSpec)Úcore_aten_decompositionsÚget_decompositionsÚremove_decompositions)Ú_grid_sampler_2dÚ
_index_addÚpw_cast_for_opmath)Úextra_random_decomps)Úcounters)Ú	is_fbcode)Ú	out_dtype)Úpad_listlike)Úelementwise_dtypesÚELEMENTWISE_TYPE_PROMOTION_KINDÚtype_to_dtype)Údefinitely_trueÚguard_size_obliviousé   )ÚconfigÚinductor_prims)Úis_gpuÚ,needs_fallback_due_to_atomic_add_limitationsÚuse_scatter_fallbackÚ_TÚ_PÚopsÚreturnc                 óž   — t        | «      r| gn| D ]!  }|t        v sŒt        j                  d| «       Œ# t	        j
                  | t        «      S )Nzduplicate decomp: %s)ÚcallableÚdecompositionsÚlogÚwarningÚdecompÚregister_decomposition)r!   Úops     ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_inductor/decomposition.pyr)   r)   }   sI   € ô   ”}ˆs‰e¨#ò 5ˆØ”ÒÜ�K‰KÐ.°Õ4ð5ô ×(Ñ(¨¬nÓ=Ð=ó    ÚtensorÚmsgc                  ó   — y ©N© ©r-   r.   s     r+   Úassert_async_msg_decompr3   ˆ   ó   € à
r,   c                  ó   — y r0   r1   r2   s     r+   Ú"functional_assert_async_msg_decompr6   Ž   r4   r,   )ÚminÚmaxÚsymbolr7   r8   c                 ó   — y r0   r1   )r9   r7   r8   s      r+   Úsym_constrain_range_for_sizer;   “   s   € ð r,   Úxc                 óR   — |�| j                  |«      } |�| j                  |«      } | S r0   )Ú	clamp_minÚ	clamp_max)r<   r7   r8   s      r+   Úclampr@   �   s/   € ð €Ø�K‰K˜ÓˆØ
€Ø�K‰K˜ÓˆØ€Hr,   ÚsizeÚ
fill_valueÚkwargsc                 ó�   — |j                  d«      }|€.t        t        |«      «      |d<   t        j                  | |fi |¤ŽS t
        S )NÚdtype)Úgetr   ÚtypeÚtorchÚfullÚNotImplemented)rA   rB   rC   rE   s       r+   rI   rI   «   sF   € ð �J‰J�wÓ€EØ€}Ü'¬¨ZÓ(8Ó9ˆˆw‰Ü�z‰z˜$ 
Ñ5¨fÑ5Ð5ÜÐr,   ©ÚalphaÚdimÚindexrL   c                ó~   — t        «       s#| j                  t        j                  k(  rt        S t        | |||d|¬«      S )NF)ÚinplacerL   )r   rE   rH   Úbfloat16rJ   r   )r<   rM   rN   r-   rL   s        r+   Ú	index_addrR   ¸   s3   € ô Œ;˜1Ÿ7™7¤e§n¡nÒ4ÜÐä˜!˜S %¨¸ÀeÔLÐLr,   Úphysical_layoutc                 óÆ   — dgt        | «      z  }t        |«      D ]
  \  }}|||<   Œ t        j                  |D �cg c]  }| |   ‘Œ	 c}fi |¤Žj	                  |«      S c c}w ©Nr   )ÚlenÚ	enumeraterH   ÚemptyÚpermute)rA   rS   rC   ÚpermÚpÚls         r+   Úempty_permutedr]   Î   se   € ð ˆ3”�T“‰?€DÜ˜/Ó*ò ‰ˆˆ1ØˆˆQŠðä�;‰;¨Ö9 A˜˜Q›Ò9ÑD¸VÑD×LÑLÈTÓRÐRùÒ9s   »AÚgrad_outputÚinputÚweightÚ
bias_sizesÚstrideÚpaddingÚdilationÚ
transposedÚoutput_paddingÚgroupsÚoutput_maskc                 ó.  — |
d   rt        | j                  j                  «      st        S t        j                  | dgt        t        d| j                  «       «      «      z   «      }t        j                  | |||||||||	|
d   |
d   dg«      \  }}}|||fS )Né   r   r   F)
r   ÚdevicerG   rJ   ÚatenÚsumÚlistÚrangerM   Úconvolution_backward)r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   Ú	grad_biasÚgrad_inpÚgrad_weightÚ_s                  r+   rp   rp   Ú   s¤   € ð �qŠ>¤¨×(:Ñ(:×(?Ñ(?Ô!@ÜÐÜ—‘˜ q c¬D´°q¸+¿/¹/Ó:KÓ1LÓ,MÑ&MÓN€IÜ#×8Ñ8ØØØØØØØØØØØ	�Q‰˜ Q™¨Ð/ó Ñ€Hˆk˜1ð �k 9Ð-Ð-r,   Údecimalsc                 óH   — d|z  }t         j                  | |z  «      d|z  z  S )Ng      $@g      ð?)rl   Úround)r<   ru   Úten_pow_decimalss      r+   Ú	round_decry   û   s,   € à˜X‘~ÐÜ�:‰:�aÐ*Ñ*Ó+¨sÐ5EÑ/EÑFÐFr,   ÚselfÚbatch2c                 ó”  — t         j                  r„| j                  j                  dk7  rkt	        | j
                  d   dk(  «      st	        |j
                  d   dk(  «      r5| j                  d«      |j                  d«      z  j                  d¬«      }|S | j                  j                  dk(  r–t	        | j                  d«      dk(  «      ryt	        |j                  d«      dk(  «      r\t        d   dxx   dz  cc<   t        j                  | j                  d«      |j                  d«      z  dd¬	«      j                  d«      S t        S )
NÚcpur   rj   éÿÿÿÿ©rM   ÚinductorÚdecompose_bmmT©rM   Úkeepdim)r   Úcoordinate_descent_tuningrk   rG   r   ÚshapeÚ	unsqueezerm   rA   r   rH   ÚsqueezerJ   )rz   r{   Úouts      r+   Úbmmr‰     s  € ô ×'Ò'¨D¯K©K×,<Ñ,<ÀÒ,EÜ §
¡
¨1¡°Ñ 2Ô3Ô7KØ�L‰L˜‰O˜qÑ ô8
ð —>‘> "Ó%¨×(8Ñ(8¸Ó(;Ñ;×@Ñ@ÀQÐ@ÓGˆCØˆJØ‡{�{×Ñ˜5Ò Ü §	¡	¨!£°Ñ 1Ô2Ô7KØ�K‰K˜‹O˜qÑ ô8
ô �ZÑ  Ó1°QÑ6Ó1Ü—9‘9Ø—‘˜Q“ &§.¡.°Ó"4Ñ4¸!ÀTôç‰i˜‹lðô Ðr,   Úmat1Úmat2Úbetac                 ó°  — | j                   j                  dk(  �r7t        |j                  d«      dk(  «      r„t        |j                  d«      dk(  «      rgt        d   dxx   dz  cc<   t        j                  |j                  d«      |j                  d«      z  dd¬«      j                  d«      }||z  || z  z   S t        |j                  d«      dk(  «      ryt        |j                  d«      d	k  «      r\t        |j                  d«      d	k  «      r?t        d   dxx   dz  cc<   |j                  |z  j                  dd¬«      }||z  || z  z   S t        S )
Nr}   r   r   r~   r€   Údecompose_addmmTr‚   é   )rk   rG   r   rA   r   rH   rm   r‡   r†   r   ÚTrJ   )rz   rŠ   r‹   rŒ   rL   rˆ   s         r+   Úaddmmr‘     s2  € ð ‡{�{×Ñ˜5Ó Ü §	¡	¨!£°Ñ 1Ô2Ô7KØ�I‰I�b‹M˜QÑô8
ô �ZÑ Ð!2Ó3°qÑ8Ó3Ü—)‘)Ø—‘˜Q“ $§,¡,¨rÓ"2Ñ2¸À4ôç‰i˜‹lð ð ˜3‘; ¨¡Ñ,Ð,ä  §¡¨1£°Ñ!2Ô3Ü §	¡	¨!£°Ñ 2Ô3Ü §	¡	¨!£°Ñ 2Ô3ä�ZÑ Ð!2Ó3°qÑ8Ó3Ø—6‘6˜D‘=×%Ñ%¨!°TÐ%Ó:ˆCØ˜3‘; ¨¡Ñ,Ð,ÜÐr,   Úinput2c           	      óœ  — t         j                  r‚| j                  j                  dk7  rit	        | j
                  d   dk(  «      st	        |j
                  d   dk(  «      r3| j                  d«      |j                  d«      z  j                  d¬«      S | j                  j                  dk(  �r–t	        | j                  d«      dk(  «      rãt	        | j                  d«      dkD  «      rÆt	        |j                  d«      dk(  «      r©| j                  |j                  k(  r�t        t        j                  | «      t        j                  |«      z   dk  «      rYt        d   d	xx   dz  cc<   t        j                  t        | j                  d«      «      D �cg c]  }| |d d …f   |z  ‘Œ c}«      S t	        | j                  d«      dk(  «      ryt	        |j                  d«      dk(  «      r\t        d   d	xx   dz  cc<   t        j                  | j!                  d«      |j!                  d«      z  dd
¬«      j                  d«      S t"        S c c}w )Nr}   r   r   rj   r   r~   é    r€   Údecompose_mmTr‚   )r   r„   rk   rG   r   r…   r†   rm   rA   rE   r   rH   Únumelr   Úcatro   r‡   rJ   )rz   r’   Úis      r+   Úmmr™   5  sÑ  € ô ×'Ò'¨D¯K©K×,<Ñ,<ÀÒ,EÜ §
¡
¨1¡°Ñ 2Ô3Ô7KØ�L‰L˜‰O˜qÑ ô8
ð —N‘N 1Ó%¨×(8Ñ(8¸Ó(;Ñ;×@Ñ@ÀQÐ@ÓGÐGØ‡{�{×Ñ˜5Ó ä  §¡¨2£°!Ñ!3Ô4Ü$ T§Y¡Y¨q£\°AÑ%5Ô6Ü$ V§[¡[°£^°qÑ%8Ô9Ø—‘˜vŸ|™|Ò+Ü¤§¡¨TÓ!2´U·[±[ÀÓ5HÑ!HÈRÑ OÔPä�ZÑ  Ó0°AÑ5Ó0Ü—9‘9¼5ÀÇÁÈ1ÃÓ;NÖO°a˜d 1¢a 4™j¨6Ó1ÒOÓPÐPÜ §	¡	¨!£°Ñ 1Ô2Ô7KØ�K‰K˜‹O˜qÑ ô8
ô �ZÑ  Ó0°AÑ5Ó0Ü—9‘9Ø—‘˜Q“ &§.¡.°Ó"4Ñ4¸!ÀTôç‰i˜‹lðô Ðùò Ps   ÆI	Útensorsc                 ó°  ‡‡‡— ddl mŠ dt        j                  dt        fˆˆfd„}t        t        || «      «      Št        ‰«      dk(  r‰d   j                  «       S dt        ‰«      cxk  rt        | «      k  r#n n t        j                  j                  ‰‰«      S t        ‰«      dkD  r§t        ˆfd„‰D «       «      r“‰d   }t        |j                  «      }‰dk  r‰t        |j                  «      z   n‰Š|j                  ‰t        ‰«      «        |j                  ‰«      j                   |Ž j#                  ‰‰dz   «      j                  «       S t$        S )Nr   )r   r<   r"   c                 óÊ   •— t        | j                  «      dk(  r ‰| j                  d   dk(  «      ry‰t        | j                  «      k  r ‰| j                  ‰   dk(  «      ryy)Nr   r   FT)rV   r…   )r<   rM   r   s    €€r+   Únon_empty_tensorzcat.<locals>.non_empty_tensora  sW   ø€ ô" ˆq�w‰w‹<˜1ÒÑ!5°a·g±g¸a±jÀA±oÔ!FØà”�Q—W‘W“ÒÑ"6°q·w±w¸s±|ÀqÑ7HÔ"IØàr,   r   c              3   ó,   •K  — | ]  }|‰d    u –— Œ y­w)r   Nr1   )Ú.0ÚtÚfiltered_tensorss     €r+   ú	<genexpr>zcat.<locals>.<genexpr>ƒ  s!   øè ø€ ò )Ø%&ˆÐ˜aÑ Ô ñ)ùs   ƒ)Ú%torch.fx.experimental.symbolic_shapesr   rH   ÚTensorÚboolrn   ÚfilterrV   Úclonerl   r—   ÚdefaultÚallr…   Úinsertr†   ÚexpandÚflattenrJ   )rš   rM   r�   Úinpr…   r¡   r   s    `   @@r+   r—   r—   Z  s/  ú€ õ
 KðœEŸL™Lð ¬Tö ô2 œFÐ#3°WÓ=Ó>Ðä
ÐÓ Ò!Ø Ñ"×(Ñ(Ó*Ð*Ø	
ŒSÐ!Ó"Ô	1¤S¨£\Õ	1ä�x‰x×ÑÐ 0°#Ó6Ð6ô ÐÓ˜qÒ ¤Só )Ø*:ô)ô &ð ˜qÑ!ˆÜ�S—Y‘Y“ˆØ&)¨A¢gˆc”C˜Ÿ	™	“NÒ"°3ˆØ�‰�Sœ#Ð.Ó/Ô0Ø(ˆs�}‰}˜SÓ!×(Ñ(¨%Ð0×8Ñ8¸¸cÀA¹gÓF×LÑLÓNÐNô Ðr,   c                 ó"  — | j                  «       ret        j                  t        j                  | j                  «      t        d«      t        j                  | j                  | j                  «      «      S t        | t        j                  ¬«      \  }}t        j                  t        j                  || j                  ¬«      }t        j                  | dk  |d«      }t        j                  t        j                  | «      t        d«      |«      S )NÚnan)Útype_promotion_kind©rE   rk   r   g        )Ú
is_complexrH   ÚwhereÚisnanÚrealÚfloatÚatan2Úimagr   r   ÚINT_TO_FLOATÚscalar_tensorÚmathÚpirk   )r<   rt   rE   r¼   Úrets        r+   Úangler¾   �  s¶   € à‡|�|„~Ü�{‰{Ü�K‰K˜Ÿ™Ó¤ u£¬u¯{©{¸1¿6¹6À1Ç6Á6Ó/Jó
ð 	
ô "Ø	Ü;×HÑHô�H€A€uô 
×	Ñ	œTŸW™W¨E¸!¿(¹(Ô	C€BÜ
�+‰+�a˜!‘e˜R Ó
%€CÜ�;‰;”u—{‘{ 1“~¤u¨U£|°SÓ9Ð9r,   Úyc                ób  — t        j                  | «      xr | j                  «       }t        j                  |«      xr |j                  «       }|r|st        S |}|�||z  }t        j                  | j
                  |j
                  «      }dt         j                  dt         j                  fd„} || j                  | j                  j
                  «      «      } ||j                  |j                  j
                  «      «      }	t        j                  ||	z   d¬«      j                  |«      }
|
S )Nr-   r"   c                 ó„   — | j                   �^ }}|dz  dk7  rt        d«      ‚g |¢|dz  ‘d‘­}| j                  |«      }|S )zNReshape tensor from [*initial_dims, last_dim] to *initial_dims, last_dim/2, 2]rj   r   zQThe size of the last dimension must be even to reshape it to [..., last_dim/2, 2])r…   ÚAssertionErrorÚview)r-   Úinitial_dimsÚlast_dimÚ	new_shapeÚreshaped_tensors        r+   Úreshape_tensor_complexz#add.<locals>.reshape_tensor_complex·  s^   € ð #)§,¡,Ñˆ�xð �a‰<˜1ÒÜ Øcóð ð
 6�lÐ5 H°¡MÐ5°1Ñ5ˆ	Ø Ÿ+™+ iÓ0ˆØÐr,   éþÿÿÿ)Ú	start_dim)
rH   Ú	is_tensorr²   rJ   Úpromote_typesrE   r¤   rÃ   rµ   r¬   )r<   r¿   rL   Úx_is_complex_tensorÚy_is_complex_tensorÚzÚcomplex_typerÈ   Ú
x_reshapedÚ
z_reshapedÚresults              r+   ÚaddrÔ   ¤  sê   € ô  Ÿ/™/¨!Ó,Ò?°·±³ÐÜŸ/™/¨!Ó,Ò?°·±³ÐÙÑ&9ÜÐØ	€AØÐØ�A‰IˆÜ×&Ñ& q§w¡w°·±Ó8€Lð¤u§|¡|ð ¼¿¹ó ñ" (¨¯©¨q¯v©v¯|©|Ó(<Ó=€JÙ'¨¯©¨q¯v©v¯|©|Ó(<Ó=€JÜ�]‰]˜:¨
Ñ2¸bÔA×FÑFÀ|ÓT€FØ€Mr,   c                 ó4   — | j                  «       rJ d«       ‚| S )NzTODO: implement this)r²   ©rz   s    r+   Úconj_physicalr×   Î  s   € à�‰Ô Ð8Ð"8Ó8Ð Ø€Kr,   c                 ó   — | S r0   r1   rÖ   s    r+   ÚliftrÙ   Ô  s   € à€Kr,   Úotherc                 ób   — t        j                  t        j                  |«      || kD  z  | |«      S r0   ©rH   r³   r´   ©rz   rÚ   s     r+   ÚfminrÞ   Ù  ó'   € ä�;‰;”u—{‘{ 5Ó)¨U°T©\Ñ:¸DÀ%ÓHÐHr,   c                 ób   — t        j                  t        j                  |«      || k  z  | |«      S r0   rÜ   rÝ   s     r+   Úfmaxrá   Þ  rß   r,   Frƒ   c                 óx   — | j                   t        j                  k(  rt        j                  | ||¬«      S t        S ©Nr‚   )rE   rH   r¥   ÚanyrJ   ©rz   rM   rƒ   s      r+   Úamaxræ   ã  ó-   € ð ‡z�z”U—Z‘ZÒÜ�y‰y˜ 3°Ô8Ð8ÜÐr,   c                 óx   — | j                   t        j                  k(  rt        j                  | ||¬«      S t        S rã   )rE   rH   r¥   r©   rJ   rå   s      r+   Úaminré   î  rç   r,   ÚstartÚlengthc                 óN   — t        j                  | |||«      j                  «       S r0   )rH   Únarrowr§   )rz   rM   rê   rë   s       r+   Únarrow_copyrî   ù  s"   € ô �<‰<˜˜c 5¨&Ó1×7Ñ7Ó9Ð9r,   c                 óJ   — t         j                  | |«      j                  «       S r0   )rl   rÃ   r§   )rz   rA   s     r+   Úview_copy_defaultrð     s   € ô
 �9‰9�T˜4Ó ×&Ñ&Ó(Ð(r,   rE   c                 ó@   — | j                  |«      j                  «       S r0   )Útor§   )rz   rE   s     r+   Úview_copy_dtyperó     s   € ð
 �7‰7�5‹>×ÑÓ!Ð!r,   Úmemory_formatc                 óX   — |t         j                  u s|€t        j                  | «      S |S r0   )rH   Úpreserve_formatÚutilsÚsuggest_memory_format)r-   rô   s     r+   Úget_like_layoutrù     s.   € ð
 œ×-Ñ-Ñ-°Ð1FÜ×*Ñ*¨6Ó2Ð2àÐr,   )rE   rk   rô   rk   c                óÀ   — t        j                  g | j                  «       ¢f|xs | j                  |xs | j                  dœ|¤Žj                  t        | |«      ¬«      S ©Nr±   ©rô   )rH   ÚrandrA   rE   rk   rò   rù   ©rz   rE   rk   rô   rC   s        r+   Ú	rand_likerÿ     s^   € ô �:‰:Øˆ$�)‰)‹+ˆðàÒ!�t—z‘zØÒ$˜Ÿ™ñð ñ	÷
 	�b” t¨]Ó;€bÓ<ð=r,   c                óÀ   — t        j                  g | j                  «       ¢f|xs | j                  |xs | j                  dœ|¤Žj                  t        | |«      ¬«      S rû   )rH   ÚrandnrA   rE   rk   rò   rù   rþ   s        r+   Ú
randn_liker  /  s^   € ô �;‰;Øˆ$�)‰)‹+ˆðàÒ!�t—z‘zØÒ$˜Ÿ™ñð ñ	÷
 	�b” t¨]Ó;€bÓ<ð=r,   )rE   Úlayoutrk   Ú
pin_memoryÚrequires_gradrô   r  r  r  c                óà   — t        j                  g | j                  «       ¢||xs | j                  |xs | j                  |xs | j
                  |¬«      j                  t        | |«      ¬«      S )N)rE   r  rk   r  rü   )rH   rI   rA   rE   r  rk   rò   rù   )rz   rB   rE   r  rk   r  r  rô   s           r+   Ú	full_liker  @  sa   € ô �:‰:Øˆ$�)‰)‹+ˆØØÒ!�t—z‘zØÒ$˜Ÿ™ØÒ$˜Ÿ™Ø#ô÷ 	�b” t¨]Ó;€bÓ<ð=r,   Úhighc                óØ   — t        j                  j                  d|g | j                  «       ¢f|xs | j                  |xs | j
                  dœ|¤Žj                  t        | |«      ¬«      S )Nr   r±   rü   ©rl   ÚrandintÚlowrA   rE   rk   rò   rù   )rz   r  rE   rk   rô   rC   s         r+   Úrandint_liker  V  sl   € ô �<‰<×ÑØ	ØØˆ$�)‰)‹+ˆðð Ò!�t—z‘zØÒ$˜Ÿ™ñð ñ÷ 	�b” t¨]Ó;€bÓ<ð=r,   r  c                óØ   — t        j                  j                  ||g | j                  «       ¢f|xs | j                  |xs | j
                  dœ|¤Žj                  t        | |«      ¬«      S rû   r
  )rz   r  r  rE   rk   rô   rC   s          r+   Úrandint_like_lowr  j  sl   € ô �<‰<×ÑØØØˆ$�)‰)‹+ˆðð Ò!�t—z‘zØÒ$˜Ÿ™ñð ñ÷ 	�b” t¨]Ó;€bÓ<ð=r,   c                 óF   — t        j                  j                  d| |fi |¤ŽS rU   )rl   r  r  )r  rA   rC   s      r+   r  r    s"   € ô �<‰<×Ñ˜A˜t TÑ4¨VÑ4Ð4r,   Úbiasc                 óÎ   — t         j                  j                  j                  |«      }t         j                  j                  j	                  | |||j                  «       d   «      S rU   )rH   r!   Ú
_quantizedÚ$wrapped_fbgemm_pack_gemm_matrix_fp16Ú!wrapped_fbgemm_linear_fp16_weightrA   )r_   r`   r  Úpacked_weights       r+   Ú#linear_dynamic_fp16_unpacked_weightr  ˆ  sO   € ô —I‘I×(Ñ(×MÑMÈfÓU€MÜ�9‰9×Ñ×AÑAØˆ}˜d F§K¡K£M°!Ñ$4óð r,   Úinput_scaleÚinput_zero_pointÚweight_scaleÚweight_zero_pointÚ	out_scaleÚout_zero_pointÚout_channelc
           	      ó¸   — t         j                  j                  j                  ||||«      }
t         j                  j                  j	                  | |||
|||	«      S r0   )rH   r!   r  Ú_wrapped_linear_prepackÚ#_wrapped_quantized_linear_prepacked)r_   r  r  r`   r  r  r  r  r  r  r  s              r+   Úwrapped_quantized_linearr"  ”  s\   € ô —I‘I×(Ñ(×@Ñ@Ø�Ð/°ó€Mô �9‰9×Ñ×CÑCØØØØØØØóð r,   Úpackedc                 óÞ   — dt         j                  dt         j                  fd„} || ddd…f   «      } || ddd …f   «      }| dd d…f   j                  t         j                  «      |z  |z   S )NÚu8r"   c                 ó  ‡ — ˆ fd„dD «       \  }}}}t         j                  dk(  r4||dz  z   |dz  z   |dz  z   j                  t        j                  «      d   S |dz  |dz  z   |dz  z   |z   j                  t        j                  «      d   S )Nc              3   óf   •K  — | ](  }‰d |f   j                  t        j                  «      –— Œ* y­w©.N)rò   rH   Úint32)rŸ   Únr%  s     €r+   r¢   zPq_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32.<locals>.<genexpr>²  s&   øè ø€ ÒG°Q�b˜˜a˜‘j—m‘m¤E§K¡K×0ÑGùs   ƒ.1)r   r   rj   é   Úlittleé   r�   é   r(  )ÚsysÚ	byteorderrÃ   rH   Úfloat32)r%  r<   r¿   rÏ   Úws   `    r+   Úbitcast_u8_to_f32z=q_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32±  sŠ   ø€ ÛG¸,ÔG‰
ˆˆ1ˆa�Ü�=‰=˜HÒ$Ø˜˜a™‘L A¨¡GÑ,°°R±Ñ8×>Ñ>¼u¿}¹}ÓMÈiÑXÐXà˜"‘W  b¡Ñ)¨Q°!©VÑ4°qÑ8×>Ñ>¼u¿}¹}ÓMÈiÑXÐXr,   .iøÿÿÿéüÿÿÿ)rH   r¤   rò   r1  )r#  r3  ÚscalesÚoffsetss       r+   Ú"q_embedding_bag_byte_unpack_decompr7  ¯  sz   € ðYœeŸl™lð Y¬u¯|©|ó Yñ ˜v c¨2¨b¨5 jÑ1Ó2€FÙ  s¨B©C xÑ 0Ó1€GØ�#�s˜�s�(Ñ×ÑœuŸ}™}Ó-°Ñ6¸Ñ@Ð@r,   ÚaÚgridÚinterpolation_modeÚpadding_modeÚalign_cornersc                 óÀ   — | j                   t        j                   d«      k(  xr' |dk(  xr  | j                  t        j                  ¬«       }t	        | |||||¬«      }|S )Nr}   r   rü   )r9  r:  r;  r<  Ú_expand_grid)rk   rH   Úis_contiguousÚcontiguous_formatÚdecomp_grid_sampler_2d)r8  r9  r:  r;  r<  r>  Úoutputs          r+   Úgrid_sampler_2drC  ½  sm   € ð 	
�‰”E—L‘L Ó'Ñ'ò 	CØ !Ñ#ò	Cà�O‰O¬%×*AÑ*AˆOÓBð€Lô $Ø	ØØ-Ø!Ø#Ø!ô€Fð €Mr,   Úleft_tensorsÚright_tensorsÚscalarc                 ó‚   — t         j                  j                  | t         j                  j                  ||«      |¬«      S ©NrK   )rl   Ú_foreach_addÚListÚ_foreach_mul©rz   rD  rE  rF  s       r+   Ú_foreach_addcmul_scalarrM  Ü  ó<   € ô ×Ñ×!Ñ!ØŒd×Ñ×$Ñ$ \°=ÓAÈð "ó ð r,   c                 ó‚   — t         j                  j                  | t         j                  j                  ||«      |¬«      S rH  )rl   rI  rJ  Ú_foreach_divrL  s       r+   Ú_foreach_addcdiv_scalarrQ  è  rN  r,   Ústart_tensorsÚend_tensorsc           	      óº   — t         j                  j                  | t         j                  j	                  t         j
                  j                  || «      |«      «      S r0   )rl   rI  rJ  rK  ÚScalarÚ_foreach_sub)rR  rS  r`   s      r+   Ú_foreach_lerp_scalarrW  ô  sL   € ô ×Ñ×!Ñ!ØÜ×Ñ× Ñ Ü×Ñ×"Ñ" ;°Ó>Àó	
óð r,   Úscalarsc           	      óº   — t         j                  j                  | t         j                  j	                  t         j
                  j                  || «      |«      «      S r0   )rl   rI  rJ  rK  Ú
ScalarListrV  )rR  rS  rX  s      r+   Ú_foreach_lerp_scalarlistr[    sL   € ô ×Ñ×!Ñ!ØÜ×Ñ×$Ñ$Ü×Ñ×"Ñ" ;°Ó>Àó	
óð r,   Úrunning_meanÚrunning_varÚtrainingÚexponential_average_factorÚepsilonc           
      ó–   — t         j                  | |||||||«      \  }}	}
|r||	|
fS ||j                  d«      |j                  d«      fS )N©r   )rl   Únative_batch_normÚ	new_zeros)r_   r`   r  r\  r]  r^  r_  r`  r8  ÚbÚcs              r+   Úmiopen_batch_normrg    sl   € ô ×$Ñ$ØØØØØØØ"Øó	�G€A€qˆ!ñ Ø�1�aˆyÐà	Ø×Ñ˜ÓØ×Ñ˜Óðð r,   .c                  ó   — i t         ¥t        ¥S r0   )r%   r   r1   r,   r+   Úfast_random_decompsri  0  s   € à5ŒnÐ5Ô 4Ð5Ð5r,   c                  óB   — t         j                  rt        S t        «       S )z"decomps can change based on config)r   Úfallback_randomr%   ri  r1   r,   r+   Úselect_decomp_tablerl  7  s   € ä×ÒÜÐÜÓ Ð r,   ÚmaskÚsourcec                 ó„  — ddl m}m}  || j                  |j                  «      r–t
        j                  | |g«      \  } }|j                  d«      j                  d«      dz
  }d„ | ||fD «       \  }}}t
        j                  |||gd«      }	t        j                  ||	|«      j                  | j                  «      S t        S )Nr   )ÚBackendFeatureÚhas_backend_featurer~   r   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr0   )r¬   )rŸ   r<   s     r+   r¢   z!masked_scatter.<locals>.<genexpr>K  s   è ø€ Ò,W¸Q¨Q¯Y©Y¯[Ñ,Wùs   ‚)Úcodegen.commonrp  rq  rk   ÚMASKED_SCATTER_WITH_INDEXrl   Úbroadcast_tensorsÚreshapeÚcumsumÚ_unsafe_masked_indexrH   r³   rÃ   r…   rJ   )
rz   rm  rn  rp  rq  Ú
source_idxÚ	self_flatÚ	mask_flatÚsource_flatrÓ   s
             r+   Úmasked_scatterr}  >  s­   € ÷ Dá˜4Ÿ;™;¨×(PÑ(PÔQô ×+Ñ+¨T°4¨LÓ9‰
ˆˆdØ—\‘\ "Ó%×,Ñ,¨QÓ/°!Ñ3ˆ
Ù,WÀ4ÈÈvÐBVÔ,WÑ)ˆ	�9˜kÜ×*Ñ*¨;¸	ÀJÀ<ÐQRÓSˆÜ�{‰{˜9 f¨iÓ8×=Ñ=¸d¿j¹jÓIÐIÜÐr,   Ú	quant_minÚ	quant_maxÚepsc                 óÈ  — t        j                  | «      \  }}||z
  t        ||z
  «      z  }t        j                  |t        j                  |g«      «      }|t        j
                  ||z  «      j                  t         j                  «      z
  }t        j                  |||«      }|j                  t         j                  «      |j                  t         j                  «      fS r0   )rH   Úaminmaxr¶   r8   r¤   rw   rò   Úintr@   Úfloat64Úint64)	r_   r~  r  r€  rE   Úmin_valÚmax_valÚscaleÚ
zero_points	            r+   Úchoose_qparams_tensorrŠ  Q  s¨   € ô —}‘} UÓ+Ñ€GˆWØ�wÑ¤%¨	°IÑ(=Ó">Ñ>€EÜ�I‰I�eœUŸ\™\¨3¨%Ó0Ó1€EØœUŸ[™[¨°5©Ó9×<Ñ<¼U¿Y¹YÓGÑG€JÜ—‘˜Z¨°IÓ>€JØ�8‰8”E—M‘MÓ" J§M¡M´%·+±+Ó$>Ð>Ð>r,   Ú
accumulatec                 ó¼   — | j                  «       }t        j                  ||g|j                  |j                  «      |«      }|j                  | j                  «      S r0   )r¬   rH   Ú	index_putrv  r…   )rz   rN   rn  r‹  Ú	flatteneds        r+   Úputr�  a  sL   € ð —‘“€IÜ—‘Ø�E�7˜FŸN™N¨5¯;©;Ó7¸ó€Ið ×Ñ˜TŸZ™ZÓ(Ð(r,   c                 óV   — t         j                  | |||¬«      }| j                  |«      S )N)r‹  )rl   r�  Úcopy_)rz   rN   rn  r‹  rˆ   s        r+   Úput_r’  o  s(   € ô �(‰(�4˜ °:ˆ(Ó
>€CØ�:‰:�c‹?Ðr,   rB  Úinput_dtypec                 óÌ   — | |z  }t        j                  ||d¬«      }t        j                  | ||«      }| j                  |k7  r|j                  |«      }|j                  «       S )NTr‚   )rH   rm   r   ÚfmarE   rò   Ú
contiguous)r^   rB  rM   r“  Únew_grad_outputÚsum_new_gradÚ
grad_inputs          r+   Ú_softmax_backward_datarš  z  sc   € ð " FÑ*€OÜ—9‘9˜_°#¸tÔD€Lä×#Ñ# V G¨\¸?ÓK€Jð ×Ñ˜KÒ'Ø—]‘] ;Ó/ˆ
Ø× Ñ Ó"Ð"r,   T©Úinclude_selfÚsrcÚreduction_typerœ  c                óÀ  — |dk(  rðt        | j                  «      sÛ| j                  j                  xs | j                  j                  }t	        j
                  |«      }|r)| }t	        j
                  | «      j                  |||«      }	nN| j                  ||d«      }t	        j                  | «      j                  |||«      }	|	j                  |	dk  d«      }	|j                  |||«      }|r||	z  S ||	z  S t        t        j                  j                  || j                  |j                  |j                  j                  d«      rt         S | j"                  |dz   d  j%                  «       | j"                  d | j%                  «       z  }
|j%                  «       g| j"                  |dz   d  ¢| j"                  d | ¢­}g t'        | j(                  |z
  | j(                  «      ¢d‘t'        d| j(                  |z
  «      ¢­}|j+                  t        j,                  «      j/                  |
«      j1                  |«      j3                  |«      }| j5                  |||||¬«      S )NÚmeanr   r   Tr›  )r   rE   Úis_floating_pointr²   rH   Ú	ones_likerR   Ú
index_fillÚ
zeros_likeÚmasked_fillr   rl   Úscatter_reduce_Útwork   rG   rJ   r…   r–   ro   Úndimrò   r…  Úrepeat_interleaverv  rY   Úscatter_reduce)rz   rM   rN   r�  rž  rœ  Útrue_divisionÚonesrˆ   ÚcountsÚrepeatsÚindex_shaperZ   Úscatter_indexs                 r+   Úindex_reducer±  �  s  € ð ˜ÒÔ(TØ�
‰
ô)ð Ÿ
™
×4Ñ4ÒM¸¿
¹
×8MÑ8MˆÜ�‰˜sÓ#ˆÙØˆCÜ—_‘_ TÓ*×4Ñ4°S¸%ÀÓF‰Fà—/‘/ # u¨aÓ0ˆCÜ×%Ñ% dÓ+×5Ñ5°c¸5À$ÓGˆFØ×'Ñ'¨°©
°AÓ6ˆFØ�m‰m˜C ¨Ó,ˆÙ,ˆs�V‰|Ð?°#¸±-Ð?äÜ×Ñ× Ñ ØØ�
‰
Ø�	‰	Ø�
‰
�‰Øôô Ðà�j‰j˜˜q™˜Ð#×)Ñ)Ó+¨d¯j©j¸¸#Ð.>×.DÑ.DÓ.FÑF€GØ—;‘;“=ÐL 4§:¡:¨c°A©g¨iÐ#8ÐL¸4¿:¹:ÀdÀsÐ;KÑL€KØNŒU�4—9‘9˜s‘? D§I¡IÓ.ÐN°ÐN´E¸!¸T¿Y¹YÈ¹_Ó4MÑN€Dà�‰”—‘Óß	Ñ	˜7Ó	#ß	‰�Ó	ß	‰�‹ð	 ð ×ÑØØØØØ!ð ó ð r,   Úkernel_sizeÚ	ceil_modec                 óü  — |dk(  rddg}|dk(  rddg}|s|}t        |d«      }t        |d«      }t        |d«      }t        |d«      }|d   |d   z  }t        j                  j                  j	                  ||«      s0|t        j
                  t        j                  «      j                  kD  rt        S t        j                  | |||||«      \  }}t        j                  ||d   | j                  d«      ||«      }	||	fS )Nr   r   rj   r~   )r   rH   Ú	_inductorÚloweringÚ'should_fallback_max_pool2d_with_indicesÚiinfoÚint8r8   rJ   ÚprimsÚ#_low_memory_max_pool2d_with_offsetsÚ)_low_memory_max_pool2d_offsets_to_indicesrA   )
r<   r²  rb   rc   rd   r³  Úwindow_sizeÚvalsr6  Úindicess
             r+   Úmax_pool2d_with_indicesrÀ  Å  s  € ð �1‚}Ø�q�6ˆà�!‚|Ø�a�&ˆáØˆä˜{¨AÓ.€KÜ˜H aÓ(€HÜ˜7 AÓ&€GÜ˜& !Ó$€Fà˜a‘. ;¨q¡>Ñ1€Kô 	�‰× Ñ ×HÑHØ˜ô	
ð œŸ™¤U§Z¡ZÓ0×4Ñ4Ò4äÐä×=Ñ=Ø	ØØØØØó�M€Dˆ'ô ×=Ñ=ØØ�A‰Ø	�‰ˆr‹
ØØó€Gð �ˆ=Ðr,   Úoutput_sizec                 ó   — | j                   �^ }}}|\  }}|dk(  s|dk(  r:g |¢|‘|‘}| j                  |«      | j                  |t        j                  ¬«      fS ||z  dk(  r(||z  dk(  r ||z  ||z  g}t        j                  | |«      S t        S )Nr   )rE   )r…   Ú	new_emptyrH   r…  rl   rÀ  rJ   )	r<   rÁ  ÚbatchÚh_inÚw_inÚh_outÚw_outÚo_sizer²  s	            r+   Úadaptive_max_pool2drÊ  ø  s¥   € ð Ÿ™Ñ€UˆD�$Ø�L€Eˆ5à�‚z�U˜a’ZØ'�5Ð'˜%Ð' Ð'ˆØ�{‰{˜6Ó" A§K¡K°¼e¿k¹k KÓ$JÐJÐJàˆe�|�qÒ˜T E™\¨QÒ.Ø˜u‘} d¨e¡mÐ4ˆÜ×+Ñ+¨A¨{Ó;Ð;äÐr,   ©Ú	out_int32ÚrightÚsideÚsorterÚsorted_sequencerÌ  rÍ  rÎ  rÏ  c                ó~   — t         j                  | t        j                  |g| j                  ¬«      ||||¬«      d   S )N)rk   rË  r   )rl   ÚsearchsortedrH   r-   rk   )rÐ  rz   rÌ  rÍ  rÎ  rÏ  s         r+   Úsearchsorted_scalarrÓ  
  sK   € ô ×ÑØÜ�‰�d�V O×$:Ñ$:Ô;ØØØØð ó ð ñ	ð 	r,   ÚnoiseÚlowerÚupperÚ	generatorc                 ó  — |rS| dk  }t         j                  | |||¬«      }t        j                  || |z  | «      }t        j                  ||d«      }	||	fS ||z   dz  }
t         j	                  | |
«      t        j
                  «       fS )Nr   )r×  r   rj   )rl   ÚuniformrH   r³   Ú
leaky_relur¤   )rz   rÔ  rÕ  rÖ  r^  r×  Únot_positiveÚrrB  Ú	noise_outÚnegative_slopes              r+   Úrrelu_with_noise_functionalrß    sƒ   € ñ Ø˜q‘yˆÜ�L‰L˜˜u e°yˆLÓAˆÜ—‘˜\¨4°!©8°TÓ:ˆÜ—K‘K ¨a°Ó3ˆ	Ø�yÐ Ð à %™-¨1Ñ,ˆÜ�‰˜t ^Ó4´e·l±l³nÐDÐDr,   )NNrb  )r   r   )NFr0   )r   r   F)r   )F)Nr   r   F)g      À?gUUUUUUÕ?FN)ÕÚ	functoolsÚloggingr»   r/  Útypingr   r   r   r   r   Útyping_extensionsr   rH   Útorch._decompÚ_decompr(   Útorch._prims_commonÚ_prims_commonr÷   Ú$torch.ao.quantization.fx._decomposedr	   r
   r   Útorch._decomp.decompositionsr   rA  r   r   Ú$torch._decomp.decompositions_for_rngr   Útorch._dynamo.utilsr   Útorch._environmentr   Ú!torch._higher_order_ops.out_dtyper   Útorch._inductor.utilsr   r   r   r   r£   r   r   Ú r   r   r   r   r   r   r    Ú	getLoggerÚ__name__r&   r!   rl   rº  Ú	quantizedr  Úquantized_decomposedÚ_adaptive_avg_pool2d_backwardÚindex_selectÚaddmvÚarangeÚbitwise_and_Úbitwise_or_Ú
clamp_min_ÚdistÚ
empty_likeÚflipÚgeluÚhardtanhÚlcmrÚ  Úlinalg_vector_normÚ_log_softmaxÚ max_pool2d_with_indices_backwardÚ_native_batch_norm_legitÚ#_native_batch_norm_legit_functionalÚ$_native_batch_norm_legit_no_trainingÚ_batch_norm_with_updateÚ"_batch_norm_with_update_functionalÚ_batch_norm_no_updateÚbatch_norm_backwardrc  Únative_group_normÚnative_layer_normÚnll_loss2d_backwardÚpermute_copyÚrrelu_with_noise_backwardÚ_softmaxÚsin_Úsqrt_Ú_to_copyÚtril_indicesÚtriu_indicesÚunbind_copyrƒ  Úupsample_bilinear2dÚvecr  r"  Úinductor_decompositionsr%   Ú_unsafe_indexrx  Ú#_unsafe_masked_index_put_accumulateÚ+_scaled_dot_product_flash_attention_for_cpur¨   rš  r?   r>   rR   ÚgluÚselect_scatterÚslice_scatterÚsplitr¤   r‡   rm   ÚunbindÚbaddbmmÚdecomps_to_excludern   Ú_opsÚOperatorBaseÚOpOverloadPacketr)   Ú_assert_asyncr.   Ústrr3   Ú_functional_assert_asyncr6   r;   ÚSymIntÚtypesÚNumberr@   rI   r]   rp   r¥   Útuplerw   ru   ry   r‰   r‘   r™   r—   r¾   rÔ   r×   rÙ   Údetach_rÞ   rá   ræ   ré   rî   Ú	view_copyrð   rE   ró   rô   rù   rÿ   rk   r  r  rö   r¶   r  r  Ú	low_dtyper  r  Úembedding_bag_byte_unpackr7  rC  Ú_foreach_addcmulrU  rM  Ú_foreach_addcdivrQ  Ú_foreach_lerprW  rZ  r[  rg  Úpy_implÚ_CÚDispatchKeyÚAutogradÚ	lru_cacheÚdictri  rl  r}  Úchoose_qparamsr-   rŠ  r�  r’  r±  rÀ  rÊ  rÒ  rÓ  rß  Ú	Generatorr1   r,   r+   ú<module>r=     ss  ðã Û Û Û 
Û ß :Õ :Ý 'ã Ý Ý #Û +÷ñ ÷
ñ õ
 FÝ (Ý (Ý 7Ý .÷ñ ÷
 Xç $÷ñ ñ ˆTƒ]€Ùˆtƒ_€à€g×Ñ˜Ó!€Ø‡y�y‡~�~€Ø�	‰	�‰€Ø�I‰I×Ñ€	Ø�Y‰Y×!Ñ!€
Ø—y‘y×5Ñ5Ð á,ð*Ø×*Ñ*ð*à×Ñð*ð 	�
‰
ð*ð 	�‰ð	*ð
 	×Ñð*ð 	×Ñð*ð 	�‰ð*ð 	�	‰	ð*ð 	�‰ð*ð 	�	‰	ð*ð 	�	‰	ð*ð 	�‰ð*ð 	�‰ð*ð 	�‰ð*ð 	×Ñð*ð  	×Ñð!*ð" 	×-Ñ-ð#*ð$ 	×%Ñ%ð%*ð& 	×0Ñ0ð'*ð( 	×1Ñ1ð)*ð* 	×$Ñ$ð+*ð, 	×/Ñ/ð-*ð. 	×"Ñ"ð/*ð0 	× Ñ ð1*ð2 	×Ñð3*ð4 	×Ñð5*ð6 	×Ñð7*ð8 	× Ñ ð9*ð: 	×Ñð;*ð< 	×&Ñ&ð=*ð> 	�‰ð?*ð@ 	�	‰	ðA*ðB 	�
‰
ðC*ðD 	ðE*ðF 	�‰ðG*ðH 	×ÑðI*ðJ 	×ÑðK*ðL 	×Ñ×ÑðM*ðN 	× Ñ ×$Ñ$ðO*ðP 	×5Ñ5ðQ*ðR 	×+Ñ+ðS*ó,Ð ðZ KÑ,Ó.ÐJÐ2IÐJ€ð
 	×ÑØ×ÑØ×,Ñ,Ø×4Ñ4×<Ñ<Ø×ÑØ‡N�NØ‡N�NØ‡N�NØ‡H�HØ×ÑØ×ÑØ‡J�J×ÑØ‡L�LØ‡H�HØ‡K�KØ‡L�Lð!Ð ñ& �nÐ&8Ô 9ð>Ø	ˆe�E—J‘J×+Ñ+¨U¯Z©Z×-HÑ-HÐHÑIÑ	Jð>àˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ó>ñ ˜×+Ò+×/Ò/Ð0Ó1ð E§L¡Lð °sð ¸tò ó 2ðñ
 ˜×6Ò6×:Ò:Ð;Ó<ð¨u¯|©|ð À#ð È$ò ó =ðñ ˜×:Ò:×BÑBÐCÓDð )-Ø(,ò	Ø�LŠLðð 
�%—+’+×$Ò$Ñ	%ðð 
�%—+’+×$Ò$Ñ	%ð	ð
 
òó Eðñ ˜Ÿš˜Ó%Øð )-Ø(,ñ	Ø‡|�|ð	à	�%—+’+×$Ò$Ñ	%ð	ð 
�%—+’+×$Ò$Ñ	%ð	ð ‡\�\ò		ó ó &ð	ñ ˜Ÿš˜Ó$ð	Ø
ˆu�S˜%Ÿ,š,Ð&Ñ'Ñ
(ð	à—’×"Ò"ð	ð ð	ð ‡\�\ò		ó %ð	ñ ˜Ÿ™Ð(Ó)ð !"òMØ‡|�|ðMà	ðMð �<‰<ðMð �L‰Lð	Mð �;Š;×ÒðMð ‡\�\òMó *ðMñ* ˜×,Ò,×4Ñ4Ð5Ó6ðSØ
ˆu�S˜%Ÿ,š,Ð&Ñ'Ñ
(ðSà˜#‘YðSð ðSð ‡\�\ò	Só 7ðSñ ˜×2Ò2Ð3Ó4ð.Ø—‘ð.à�<‰<ð.ð �L‰Lð.ð �S‘	ð	.ð
 �#�t˜C‘y�.Ñ!ð.ð �3˜˜S™	�>Ñ"ð.ð �C˜˜c™�NÑ#ð.ð ð.ð ˜‘Ið.ð ð.ð �d‘ð.ð ˆ5�<‰<˜Ÿ™ u§|¡|Ð3Ñ4ò.ó 5ð.ñ@ ˜Ÿš×,Ò,Ð-Ó.ñG�—‘ð G¨ð G°U·\±\ò Gó /ðGñ
 ˜Ÿš˜
Ó#ØðØ
�,‰,ðà�L‰Lðð ‡\�\òó ó $ðñ* ˜Ÿš˜Ó%Øð
  !Ø !ñØ
�,‰,ðà
�,‰,ðð �,‰,ðð �+Š+×
Ò
ð	ð
 �;Š;×Òðð ‡\�\òó ó &ðñ6 ˜Ÿš˜	Ó"ØðØ
�,‰,ðà�L‰Lðð ‡\�\òó ó #ðñF ˜Ÿš×)Ñ)Ð*Ó+ð ñ2Ø�%—,‘,Ñð2à	ð2ð ‡\�\ò2ó ,ð2ñj ˜Ÿš˜Ó%ð:ˆU�\‰\ð :˜eŸl™lò :ó &ð:ñ& ˜Ÿš˜
Ó#ð
 +/ò	&Ø‡|�|ð&à‡|�|ð&ð �E—K’K×&Ò&Ñ'ð	&ð
 ‡\�\ò&ó $ð&ñR ˜×+Ò+Ð,Ó-ð˜Ÿ™ð ¨¯©ò ó .ðñ
 ˜Ÿš D§L¢LÐ1Ó2ðˆu�|‰|ð  §¡ò ó 3ðñ ˜Ÿš E§J¢JÐ/Ó0ðIˆu�|‰|ð I E§L¡Lð I°U·\±\ò Ió 1ðIñ ˜Ÿš E§J¢JÐ/Ó0ðIˆu�|‰|ð I E§L¡Lð I°U·\±\ò Ió 1ðIñ ˜Ÿ	š	Ó"ð ØñØ
�,‰,ðà	�#‰ðð ðð ‡\�\ò	ó #ðñ ˜Ÿ	š	Ó"ð ØñØ
�,‰,ðà	�#‰ðð ðð ‡\�\ò	ó #ðñ ˜×)Ò)Ð*Ó+ð:Ø
�,‰,ð:à	ð:ð ð:ð ð	:ð
 ‡\�\ò:ó ,ð:ñ ˜Ÿš×/Ñ/Ð0Ó1ð)Ø
�,‰,ð)à
ˆu�S˜%Ÿ,š,Ð&Ñ'Ñ
(ð)ð ‡\�\ò)ó 2ð)ñ ˜Ÿš×-Ò-Ð.Ó/ð"Ø
�,‰,ð"à�;Š;ð"ð ‡\�\ò"ó 0ð"ð 48ñØ�L‰Lðà˜E×/Ò/Ñ0ðð ×Òóñ ˜ŸšÓ'ð $(Ø%)Ø37ò=Ø
�,‰,ð=ð �E—K’KÑ ð=ð �U—\’\Ñ"ð	=ð
 ˜E×/Ò/Ñ0ð=ð ð=ð ‡\�\ò=ó (ð=ñ  ˜ŸšÓ(ð $(Ø%)Ø37ò=Ø
�,‰,ð=ð �E—K’KÑ ð=ð �U—\’\Ñ"ð	=ð
 ˜E×/Ò/Ñ0ð=ð ð=ð ‡\�\ò=ó )ð=ñ  ˜ŸšÓ'ð
 $(Ø%)Ø%)ØØØ).×)>Ò)>ò=Ø
�,‰,ð=à�c˜5�jÑ!ð=ð �E—K’KÑ ð	=ð
 �U—\’\Ñ"ð=ð �U—\’\Ñ"ð=ð ð=ð ð=ð ×&Ò&ð=ð ‡\�\ò=ó (ð=ñ* ˜×)Ò)×1Ñ1Ó2ð
 $(Ø%)Ø37ò=Ø
�,‰,ð=à
ð=ð �E—K’KÑ ð	=ð
 �U—\’\Ñ"ð=ð ˜E×/Ò/Ñ0ð=ð ð=ð ‡\�\ò=ó 3ð=ñ& ˜×)Ò)×3Ò3Ó4ð $(Ø%)Ø37ò=Ø
�,‰,ð=à	ð=ð ð=ð
 �E—K’KÑ ð=ð �U—\’\Ñ"ð=ð ˜E×/Ò/Ñ0ð=ð ð=ð ‡\�\ò=ó 5ð=ñ( ˜Ÿš×,Ñ,Ó-ð5Ø
ð5à
ˆu�S˜%Ÿ,š,Ð&Ñ'Ñ
(ð5ð ð5ð ‡\�\ò	5ó .ð5ñ ˜	×EÑE×MÑMÓNðØ�<‰<ðà�L‰Lðð �,‰,ðð ‡\�\ò	ó Oðñ ˜
×;Ñ;×CÑCÓDðØ�<‰<ðà—‘ðð —l‘lðð �L‰Lð	ð
 —,‘,ðð —|‘|ðð �,‰,ðð �|‰|ðð —L‘Lðð ðð ‡\�\òó Eðñ4 ˜Ÿ	™	×+Ñ+×EÒEÓFð
A¨u¯|©|ð 
AÀÇÁò 
Aó Gð
Añ ˜×-Ò-Ð.Ó/Øð  ØØñØ‡|�|ðà
�,‰,ðð ðð ð	ð
 ðð ‡\�\òó ó 0ðñ: ˜×-Ò-×4Ò4Ó5ð
 ñ	Ø
ˆu�|‰|Ñ
ðà�u—|‘|Ñ$ðð ˜Ÿ™Ñ%ðð ð	ð
 
ˆ%�,‰,Ñòó 6ðñ ˜×-Ò-×4Ò4Ó5ð
 ñ	Ø
ˆu�|‰|Ñ
ðà�u—|‘|Ñ$ðð ˜Ÿ™Ñ%ðð ð	ð
 
ˆ%�,‰,Ñòó 6ðñ ˜×*Ò*×1Ò1Ó2ð
Ø˜Ÿ™Ñ%ð
à�e—l‘lÑ#ð
ð �KŠK×Òð
ð 
ˆ%�,‰,Ñò	
ó 3ð
ñ ˜×*Ò*×5Ò5Ó6ð
Ø˜Ÿ™Ñ%ð
à�e—l‘lÑ#ð
ð �%—+’+×$Ò$Ñ%ð
ð 
ˆ%�,‰,Ñò	
ó 7ð
ð ×Ò×Ñ×'Ò'¨¯ª×(<Ò(<×(EÒ(EÓFÙ˜×.Ò.Ó/ðØ�<‰<ðà�L‰Lðð �/‰/˜%Ÿ,™,Ñ
'ðð —/‘/ %§,¡,Ñ/ð	ð
 —‘ §¡Ñ.ðð ðð !&ðð ðð ˆ5�<‰<˜Ÿ™ u§|¡|Ð3Ñ4òó 0ó Gðð< €×Ò�TÓð6˜T # x°°S°Ñ'9Ð"9Ñ:ò 6ó ð6ð!˜T # x°°S°Ñ'9Ð"9Ñ:ó !ñ ˜×+Ò+Ó,ðØ
�,‰,ðà
�,‰,ðð �L‰Lðð ‡\�\ò	ó -ðñ$ Ð,×;Ò;×BÒBÓCð?Ø�<‰<ð?àð?ð ð?ð 
ð	?ð
 �;Š;ð?ð ˆ5�<‰<˜Ÿ™Ð%Ñ&ò?ó Dð?ñ ˜ŸšÓ!ð
 ñ	
)Ø
�,‰,ð
)à�<‰<ð
)ð �L‰Lð
)ð ð	
)ð
 ‡\�\ò
)ó "ð
)ñ ˜Ÿ	š	Ó"ð
 ñ	Ø
�,‰,ðà�<‰<ðð �L‰Lðð ð	ð
 ‡\�\òó #ðñ ˜×3Ñ3×;Ñ;Ó<Øð#Ø—‘ð#à�L‰Lð#ð 
ð#ð —’ð	#ð
 ‡\�\ò#ó ó =ð#ñ( ˜×)Ò)Ó*ð ò1Ø
�,‰,ð1à	ð1ð �<‰<ð1ð 
�‰ð	1ð
 ð1ð ð1ð ‡\�\ò1ó +ð1ñh ˜×4Ò4Ó5ð /3Ø%&Ø&'Øñ/Ø‡|�|ð/à�c‘ð/ð �U˜3  S¡	˜>Ñ*Ñ+ð/ð �3˜˜S™	�>Ñ"ð	/ð
 �C˜˜c™�NÑ#ð/ð ð/ð ˆ5�<‰<˜Ÿ™Ð%Ñ&ò/ó 6ð/ñd ˜×0Ò0Ó1ðØ‡|�|ðØ"& s¡)ðà
ˆ5�<‰<˜Ÿ™Ð%Ñ&òó 2ðñ" ˜×)Ò)×0Ò0Ó1ð
 ØØØ%)ò	Ø—\‘\ð	à
�+Š+×
Ò
ð	ð ð		ð
 ð	ð �3‰-ð	ð �U—\‘\Ñ"ð	ð ‡\�\ò	ó 2ð	ñ& ˜×8Ò8Ó9ð Ø%ØØ+/ñEØ
�,‰,ðEà�<‰<ðEð ðEð ð	Eð
 ðEð ˜ŸšÑ(ðEð ˆ5�<‰<˜Ÿ™Ð%Ñ&òEó :ñEr,   