Ë
    L²j¿ª  ã                   óœ3  — U 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 d dl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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,m-Z- d dl.m/Z0 d dl1m2Z2m3Z3 ddl4m5Z5m6Z6 ddlm7Z7m8Z8m9Z9  e
d«      Z: ed«      Z;ejx                  jz                  ejx                  j|                  z  Z?e	e@d<    ej‚                  eB«      ZCejˆ                  jŠ                  ZEejˆ                  jŒ                  ZFejˆ                  jŽ                  ZGejˆ                  j�                  ZHejˆ                  j’                  ZI eg eEj”                  ‘eEj–                  ‘eEj˜                  ‘eEjš                  ‘eEjœ                  ‘eEjž                  ‘eEj                   ‘eEj¢                  ‘eEj¤                  ‘eEj¦                  ‘eEj¨                  ‘eEjª                  ‘eEj¬                  ‘eEj®                  ‘eEj°                  ‘eEj²                  ‘eEj´                  ‘eEj¶                  ‘eEj¸                  ‘eEjº                  ‘eEj¼                  ‘eEj¾                  ‘eEjÀ                  ‘eEjÂ                  ‘eEjÄ                  ‘eEjÆ                  ‘eEjÈ                  ‘eEj^                  ‘eEjÊ                  ‘eEjÌ                  ‘eEjÎ                  ‘eEjÐ                  ‘eEjÒ                  ‘eEjÔ                  ‘e'‘eEjÖ                  ‘eEjØ                  ‘eEjÚ                  ‘eEjÜ                  jÞ                  ‘eEjà                  jâ                  ‘eEjä                  ‘eGjæ                  ‘eHjè                  ‘«      Zui  e«       ¥eu¥ZveEjî                  eEjð                  eEjò                  eEjô                  jö                  eEjø                  eEjú                  eEjü                  eEj8                  eEj^                  eEjþ                  eE�j                   eE�j                  eE�j                  eE�j                  eE�j                  �j
                  eE�j                  eE�j                  eE�j                  eE�j                  eE�j                  eE�j                  eE�j                  �j                  eE�j                  eE�j                  eE�j                   eE�j"                  �j                  eE�j$                  eE�j&                  eE�j(                  gZ•e–ejx                  �j.                  ejx                  j|                  z     e@d<    eeve•«       de?e–e?   z  deee;e:f   gee;e:f   f   fd„Z˜ e˜eE�j&                  �j                  g«      de�j
                  de�j
                  de™de�j
                  fd„«       Zš e˜eE�j&                  �j
                  g«      de�j
                  de�j
                  de�j
                  de�j
                  fd„«       Z› e˜eEj8                  g«      de�j
                  de�j
                  d eod!eod"eœde�j
                  fd#„«       Z� e˜eEj^                  «      d$e�j
                  d%e�j<                  de�j
                  dz  d&e�j
                  dz  d'e™deŸe�j
                  e�j
                  e�j
                  f   fd(„«       Z  e˜eE�jB                  jö                  g«      ddd)œd*e�jD                  d+e�jF                  �jH                  dz  d,e�jF                  �jH                  dz  ddfd-„«       Z¡ e˜eE�jJ                  g«      e	 	 dÂd.e�j
                  d+e�jF                  �jH                  dz  d,e�jF                  �jH                  dz  de�j
                  fd/„«       «       Z¥ e˜eE�j                  g«      ed.e�j
                  de�j
                  fd0„«       «       Zƒ e˜eE�jL                  g«      d1e–eoe�jD                  z     d2e�jF                  �jH                  d3ede�j
                  fd4„«       Z¦ e˜eEjþ                  g«      dd5œd.e�j
                  d6eod7e�j
                  d8e�j
                  d9e�jF                  �jH                  de�j
                  fd:„«       Z e˜eE�jN                  jö                  g«      d1e–eoe�jD                  z     d;e–eo   d3ede�j
                  fd<„«       Z§ e˜eE�jP                  g«      de�j
                  d$e�j
                  de�j
                  d=e–eo   d>eoe–eo   z  d?eoe–eo   z  d@eoe–eo   z  dAeœdBe–eo   dCeodDe–eœ   deŸe�j
                  e�j
                  e�j
                  f   fdE„«       Z¨ e˜eE�jR                  �jT                  g«      dÀd.e�j
                  dFeode�j
                  fdG„«       Z« e˜eE�jX                  g«      e	 dÃdHe�j
                  dIe�j
                  dJe�jZ                  dz  de�j
                  fdK„«       «       Z¬ e˜eE�j\                  g«      e	 	 	 dÄdHe�j
                  dLe�j
                  dMe�j
                  dJe�jZ                  dz  dNe�jF                  �jH                  d9e�jF                  �jH                  de�j
                  fdO„«       «       Z® e˜eE�j^                  g«      e	 dÃdHe�j
                  dPe�j
                  dJe�jZ                  dz  de�j
                  fdQ„«       «       Z¯ e˜eE�j`                  jö                  g«      	 dÀdRe–e�j
                     d6eode�j
                  fdS„«       Z° e˜eE�jb                  g«      d.e�j
                  de�j
                  fdT„«       Z± e˜eE�jd                  g«      dd5œd.e�j
                  dUe�j
                  d9e�jF                  �jH                  dz  de�j
                  fdV„«       Z² e˜eE�jf                  g«      dHe�j
                  de�j
                  fdW„«       Z³ e˜eE�jh                  eE�jj                  g«      dHe�j
                  de�j
                  fdX„«       Z´ e˜eE�jl                  eF�jl                  g«      dHe�j
                  dYe�j
                  de�j
                  fdZ„«       Z¶ e˜eE�jn                  eF�jn                  g«      dHe�j
                  dYe�j
                  de�j
                  fd[„«       Z· e˜eE�jp                  «      	 	 dÅdHe�j
                  d6eodz  d]eœde�j
                  fd^„«       Z¸ e˜eE�jr                  «      	 	 dÅdHe�j
                  d6eodz  d]eœde�j
                  fd_„«       Z¹ e˜eE�jt                  g«      dHe�j
                  d6eodeod`eode�j
                  f
da„«       Zº e˜eE�jv                  jö                  g«      dHe�j
                  d1e–eoe�jD                  z     de�j
                  fdb„«       Z¼ e˜eE�jv                  �jZ                  g«      dHe�j
                  dce�jZ                  de�j
                  fdd„«       Z½dHe�j
                  deŸe�j<                  e�j|                  f   fde„Z¿ e˜eE�j€                  «      dddd\d\e�j‚                  dfœdHe�j
                  d2eoe™z  dce�jZ                  dz  dge�j„                  dz  dhe�j†                  dz  dieœdjeœdke�jˆ                  de�j
                  fdl„«       ZÀdde�j‚                  dmœdnedoe�j
                  f   dHe�j
                  dce�jZ                  dz  dhe�j†                  dz  dke�jˆ                  d3ede�j
                  fdp„ZÅ e�j0                  eE�jŒ                  ge!«      dHe�j
                  d3ede�j
                  fdq„«       ZÆ e�j0                  eE�jŽ                  ge!«      dHe�j
                  d3ede�j
                  fdr„«       ZÇ e�j0                  eE�j�                  jö                  ge!«      dHe�j
                  dseod3ede�j
                  fdt„«       ZÈ e�j0                  eE�j�                  �j’                  ge!«      dHe�j
                  dueodseod3ede�j
                  f
dv„«       ZÊ e˜eE�j–                  jö                  «      dseod1e–eoe�jD                  z     d3ede�j
                  fdw„«       ZË e˜eGjæ                  jö                  «      	 dÃd$e�j
                  de�j
                  d&e�j
                  dz  de�j
                  fdx„«       Zs e˜eHjè                  jö                  «      d$e�j
                  dye�j
                  dze�j
                  de�j
                  d{e�j
                  d|e�j
                  d&e�j
                  d}e�j
                  d~e�j
                  deode�j
                  fd€„«       Zt e˜ejˆ                  jŽ                  �j˜                  «      d�e�j
                  de�j
                  fd‚„«       ZÍ e˜eE�jœ                  g«      e	 	 	 dÆdƒe�j
                  d„e�j
                  d…eod†eod‡eœde�j
                  fdˆ„«       «       ZÎ e˜eE�jž                  �j                  «      d‰e–e�j
                     dŠe–e�j
                     de�jF                  �jH                  de–e�j
                     fd‹„«       ZÐ e˜eE�jž                  �j¢                  «      d‰e–e�j
                     dŠe–e�j
                     dŒe–e�jF                  �jH                     de–e�j
                     fd�„«       ZÒeE�j¦                  jö                  �j©                  e�jª                  �j¬                  �j®                  «       e˜eE�j¦                  «      d$e�j
                  de�j
                  d&e�j
                  dz  dŽe�j
                  dz  d�e�j
                  dz  d�eœd‘e™d’e™deŸe�j
                  e�j
                  e�j
                  f   fd“„«       «       ZÓe �j°                  deÙeedoef   f   fd”„«       ZÚdeÙeedoef   f   fd•„ZÛ e˜eE�j¸                  «      dHe�j
                  d–e�j
                  d—e�j
                  de�j
                  fd˜„«       ZÜ e˜eI�jº                  �j¼                  «      d$e�j
                  d™eodšeod'e™dce�jZ                  deŸe�j
                  e�j
                  f   fd›„«       Zß e˜eE�jÀ                  «      	 dÇdHe�j
                  d7e�j
                  d—e�j
                  dœeœde�j
                  f
d�„«       Zà e˜eE�jÂ                  «      	 dÇdHe�j
                  d7e�j
                  d—e�j
                  dœeœde�j
                  f
dž„«       Zá e˜eEjø                  jö                  «      ede�j
                  dŸe�j
                  d6eod e�jZ                  de�j
                  f
d¡„«       «       Z| e˜eE�jÄ                  «      d¢d£œdHe�j
                  d6eod7e�j
                  d¤e�j
                  d¥eãd¦eœde�j
                  fd§„«       Zâd.e�j
                  d¨e–eo   d>eoe–eo   z  dz  d?eoe–eo   z  d@eoe–eo   z  d©eœd6eodeŸe�j
                  e�j
                  f   fdª„Zä e˜eE�jÊ                  «      	 	 	 	 dÈd.e�j
                  d¨e–eo   d>eoe–eo   z  dz  d?eoe–eo   z  d@eoe–eo   z  d©eœdeŸe�j
                  e�j
                  f   fd«„«       Zå e˜eE�jÌ                  «      	 	 	 	 dÈd.e�j
                  d¨e–eo   d>eoe–eo   z  dz  d?eoe–eo   z  d@eoe–eo   z  d©eœdeŸe�j
                  e�j
                  f   fd¬„«       Zæ e˜eE�jÎ                  «      d.e�j
                  d­e–eo   deŸe�j
                  e�j
                  f   fd®„«       Zç e˜eE�jÐ                  �j                  «      d\d\ddd¯œd°e�j
                  dHe�jF                  �jH                  d±eœd²eœd³eãdz  d´e�j
                  dz  de�j
                  fdµ„«       Zé e˜eE�jÔ                  �j                  «      d\d\d¶œdHe�jF                  �jH                  d·e�j
                  d±eœd²eœde�j
                  f
d¸„«       Zë e˜eE�jØ                  «      	 	 	 	 dÉdHe�j
                  d¹e�j
                  dºe™d»e™d�eœd¼e�jÚ                  dz  deŸe�j
                  e�j
                  f   fd½„«       Zì e˜eE�jÜ                  �j
                  «      	 dÃd¾e�j
                  d­eodz  de�j
                  fd¿„«       Zï	 	 	 	 	 dÊd$e�j
                  de�j
                  d&e�j
                  dz  d>eŸeo   d?eŸeo   d@eŸeo   dCeode�j
                  fdÁ„Zðy)Ëé    N)ÚCallable)ÚAnyÚ	TypeAliasÚTypeVar)Ú	ParamSpec)Úcore_aten_decompositionsÚget_decompositionsÚremove_decompositions)Ú_grid_sampler_2dÚ
_index_addÚembedding_dense_backwardÚpw_cast_for_opmathÚ"pw_cast_for_opmath_non_tensor_args)Úextra_random_decomps)Úcounters)Ú	is_fbcode)Ú	out_dtype)Úpad_listlike)Úelementwise_dtypesÚELEMENTWISE_TYPE_PROMOTION_KINDÚsuggest_memory_formatÚtype_to_dtype)Únative_layer_norm)Úguard_or_falseÚstatically_known_trueé   )ÚconfigÚinductor_prims)Úis_gpuÚ,needs_fallback_due_to_atomic_add_limitationsÚuse_scatter_fallbackÚ_TÚ_PÚ_GenericOperatorÚdecomps_to_excludeÚopsÚreturnc                 ó¨   — t        | t        «      r| n| gD ]!  }|t        v sŒt        j	                  d| «       Œ# t        j                  | t        «      S )Nzduplicate decomp: %s)Ú
isinstanceÚlistÚdecompositionsÚlogÚwarningÚdecompÚregister_decomposition)r&   Úops     ú\/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_inductor/decomposition.pyr/   r/   ”   sL   € ô   ¤TÔ*‰c°°ò 5ˆØ”ÒÜ�K‰KÐ.°Õ4ð5ô ×(Ñ(¨¬nÓ=Ð=ó    ÚstartÚendÚweightc                 óè   — t        | «      }|t        j                  k7  r|j                  |¬«      }|| z
  }|dk\  s|dk  rt        j                  ||d|z
   ¬«      S t        j                  | ||¬«      S )N©Úmemory_formatç      à?g      à¿ç      ð?©Úalpha)r   ÚtorchÚcontiguous_formatÚ
contiguousÚadd)r3   r4   r5   ÚfmtÚdiffs        r1   Ú_lerp_scalarrC   �   sn   € ô   Ó
&€CØ
Œe×%Ñ%Ò%Ø�n‰n¨3ˆnÓ/ˆØ�‰;€DØ�‚}˜ $šÜ�y‰y˜˜d¨C°&©L¨/Ô:Ð:Ü�9‰9�U˜D¨Ô/Ð/r2   c                 ó,  — t        | «      }|t        j                  k7  r|j                  |¬«      }|| z
  }|j	                  «       dk\  }d|z
   }t        j
                  |||«      }t        j
                  ||| «      }t        j                  |||d¬«      S )Nr7   r9   r:   r   )Úvalue)r   r=   r>   r?   ÚabsÚwhereÚaddcmul)	r3   r4   r5   rA   rB   ÚmaskÚneg_omwÚwÚbases	            r1   Ú_lerp_tensorrM   ¬   s‰   € ô   Ó
&€CØ
Œe×%Ñ%Ò%Ø�n‰n¨3ˆnÓ/ˆØ�‰;€DØ�:‰:‹<˜3Ñ€DØ�f‘ˆo€GÜ�‰�D˜' 6Ó*€AÜ�;‰;�t˜S %Ó(€DÜ�=‰=˜˜q $¨aÔ0Ð0r2   Úgrad_outputÚindicesÚnum_weightsÚpadding_idxÚscale_grad_by_freqc                 óD   — | j                   rt        S t        | ||||«      S ©N)Úis_xpuÚNotImplementedÚdecomp_embedding_dense_backward)rN   rO   rP   rQ   rR   s        r1   Ú_embedding_dense_backwardrX   ½   s,   € ð ×ÒÜÐä*Ø�W˜k¨;Ð8Jóð r2   ÚinputÚnormalized_shapeÚbiasÚepsc                 óD   — | j                   rt        S t        | ||||«      S rT   )Úis_mtiarV   Údecomp_native_layer_norm)rY   rZ   r5   r[   r\   s        r1   Ú_native_layer_normr`   Ï   s%   € ð ‡}‚}ÜÐä# EÐ+;¸VÀTÈ3ÓOÐOr2   )ÚminÚmaxÚsymbolra   rb   c                 ó   — y rT   © )rc   ra   rb   s      r1   Úsym_constrain_range_for_sizerf   Ý   s   € ð r2   Úxc                 óR   — |�| j                  |«      } |�| j                  |«      } | S rT   )Ú	clamp_minÚ	clamp_max)rg   ra   rb   s      r1   Úclamprk   ç   s/   € ð €Ø�K‰K˜ÓˆØ
€Ø�K‰K˜ÓˆØ€Hr2   c                 óJ   — | d| j                  «       j                  «       z   z  S )Nr   )ÚnegÚexp)rg   s    r1   Úsiluro   ø   s    € ð ��A—E‘E“G—K‘K“MÑ!Ñ"Ð"r2   ÚsizeÚ
fill_valueÚkwargsc                 ó�   — |j                  d«      }|€.t        t        |«      «      |d<   t        j                  | |fi |¤ŽS t
        S )NÚdtype)Úgetr   Útyper=   ÚfullrV   )rp   rq   rr   rt   s       r1   rw   rw   þ   sF   € ð �J‰J�wÓ€EØ€}Ü'¬¨ZÓ(8Ó9ˆˆw‰Ü�z‰z˜$ 
Ñ5¨fÑ5Ð5ÜÐr2   r;   ÚdimÚindexÚtensorr<   c                ó~   — t        «       s#| j                  t        j                  k(  rt        S t        | |||d|¬«      S )NF)Úinplacer<   )r   rt   r=   Úbfloat16rV   r   )rg   rx   ry   rz   r<   s        r1   Ú	index_addr~     s3   € ô Œ;˜1Ÿ7™7¤e§n¡nÒ4ÜÐä˜!˜S %¨¸ÀeÔLÐLr2   Úphysical_layoutc                 óH  — t        |«      t        t        t        |«      «      «      k(  }|rt        j                  | fi |¤ŽS dgt        | «      z  }t        |«      D ]
  \  }}|||<   Œ t        j                  |D �cg c]  }| |   ‘Œ	 c}fi |¤Žj                  |«      S c c}w ©Nr   )r*   ÚrangeÚlenr=   ÚemptyÚ	enumerateÚpermute)rp   r   rr   Úis_identityÚpermÚpÚls          r1   Úempty_permutedr‹   !  s›   € ô �Ó'¬4´´c¸/Ó6JÓ0KÓ+LÑL€KáÜ�{‰{˜4Ñ* 6Ñ*Ð*àˆs”S˜“Y‰ˆÜ˜oÓ.ò 	‰DˆAˆqØˆD�ŠGð	ä�{‰{¨_Ö=¨˜D ›GÒ=ÑHÀÑH×PÑPÐQUÓVÐVùÒ=s   Á<BÚ
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   Údevicerv   rV   ÚatenÚsumr*   r‚   rx   Úconvolution_backward)rN   rY   r5   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   Ú	grad_biasÚgrad_inpÚgrad_weightÚ_s                  r1   r™   r™   2  s¤   € ð �qŠ>¤¨×(:Ñ(:×(?Ñ(?Ô!@ÜÐÜ—‘˜ q c¬D´°q¸+¿/¹/Ó:KÓ1LÓ,MÑ&MÓN€IÜ#×8Ñ8ØØØØØØØØØØØ	�Q‰˜ Q™¨Ð/ó Ñ€Hˆk˜1ð �k 9Ð-Ð-r2   Údecimalsc                 óH   — d|z  }t         j                  | |z  «      d|z  z  S )Ng      $@r:   )r—   Úround)rg   rž   Úten_pow_decimalss      r1   Ú	round_decr¢   S  s,   € à˜X‘~ÐÜ�:‰:�aÐ*Ñ*Ó+¨sÐ5EÑ/EÑFÐFr2   ÚselfÚbatch2r   c                 ó$  — t        | j                  d   dk(  «      st        |j                  d   dk(  «      r| |z  j                  «       S t        j                  rƒ| j
                  j                  dv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 )Nr•   r   ©ÚcpuÚmpséÿÿÿÿ©rx   r§   ÚinductorÚdecompose_bmmT©rx   Úkeepdim)r   Úshaper?   r   Úcoordinate_descent_tuningr–   rv   Ú	unsqueezer˜   rp   r   r=   ÚsqueezerV   )r£   r¤   r   Úouts       r1   Úbmmr´   Y  sW  € ô ˜TŸZ™Z¨™]¨aÑ/Ô0Ô4IØ�‰�Q‰˜1Ñô5ð �v‘×)Ñ)Ó+Ð+ô ×'Ò'¨D¯K©K×,<Ñ,<ÀNÑ,RÜ  §¡¨A¡°!Ñ!3Ô4Ô8MØ�L‰L˜‰O˜qÑ ô9
ð —>‘> "Ó%¨×(8Ñ(8¸Ó(;Ñ;×@Ñ@ÀQÐ@ÓGˆCØˆJØ‡{�{×Ñ˜5Ò Ü  §¡¨1£°Ñ!2Ô3Ô8MØ�K‰K˜‹O˜qÑ ô9
ô �ZÑ  Ó1°QÑ6Ó1Ü—9‘9Ø—‘˜Q“ &§.¡.°Ó"4Ñ4¸!ÀTôç‰i˜‹lðô Ðr2   Úmat1Úmat2Úbetac                 óÖ  — |j                   j                  dvr{t        |j                  d«      dk(  «      r^t        |j                  d«      dk7  «      rAt        |j                  d«      dk7  «      r$t        d   dxx   dz  cc<   ||z  }||z  || z  z   S | 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_addmmr§   Tr­   é   )r–   rv   r   rp   r   r=   r˜   r²   r±   r   ÚTrV   )r£   rµ   r¶   r   r·   r<   r³   s          r1   Úaddmmr¼   z  sµ  € ð ‡{�{×Ñ˜~Ñ-ä! $§)¡)¨B£-°1Ñ"4Ô5Ü% d§i¡i°£l°aÑ&7Ô8Ü% d§i¡i°£l°aÑ&7Ô8ä�ZÑ Ð!2Ó3°qÑ8Ó3Ø˜‘+ˆCØ˜3‘; ¨¡Ñ,Ð,à‡{�{×Ñ˜5Ó Ü  §¡¨1£°Ñ!2Ô3Ô8MØ�I‰I�b‹M˜QÑô9
ô �ZÑ Ð!2Ó3°qÑ8Ó3Ü—)‘)Ø—‘˜Q“ $§,¡,¨rÓ"2Ñ2¸À4ôç‰i˜‹lð ð ˜3‘; ¨¡Ñ,Ð,ä! $§)¡)¨A£,°!Ñ"3Ô4Ü˜tŸy™y¨›|¨rÑ1Ô2Ü˜tŸy™y¨›|¨rÑ1Ô2ä�ZÑ Ð!2Ó3°qÑ8Ó3Ø—6‘6˜D‘=×%Ñ%¨!°TÐ%Ó:ˆCØ˜3‘; ¨¡Ñ,Ð,ÜÐr2   Úinput2c                 óæ  — t         j                  r�| j                  j                  dvrit	        | j
                  d   dk(  «      st	        |j
                  d   dk(  «      r3| j                  d«      |j                  d«      z  j                  d¬«      S t	        | j                  d«      dk(  «      �rt	        | j                  d«      dk7  «      rñt	        |j                  d«      dk7  «      rÔ| j                  j                  dvs£| j                  j                  dk(  r£t	        | j                  d«      dkD  «      r†t	        |j                  d«      dk(  «      ri| j                  |j                  k(  rPt        t        j                  | «      t        j                  |«      z   dk  «      rt        d	   d
xx   dz  cc<   | |z  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 )Nr¦   r   r   r•   rª   r©   r§   é    r«   Údecompose_mmTr­   )r   r°   r–   rv   r   r¯   r±   r˜   rp   rt   r   r=   Únumelr   r²   rV   )r£   r½   r   s      r1   ÚmmrÂ   ¢  sñ  € ô ×'Ò'¨D¯K©K×,<Ñ,<ÀNÑ,RÜ  §¡¨A¡°!Ñ!3Ô4Ô8MØ�L‰L˜‰O˜qÑ ô9
ð —N‘N 1Ó%¨×(8Ñ(8¸Ó(;Ñ;×@Ñ@ÀQÐ@ÓGÐGô 	˜dŸi™i¨›m¨qÑ0Õ1Ü! $§)¡)¨A£,°!Ñ"3Ô4Ü! &§+¡+¨a£.°AÑ"5Ô6à�;‰;×Ñ >Ñ1Ø�K‰K×Ñ Ò%Ü% d§i¡i°£l°QÑ&6Ô7Ü% f§k¡k°!£n¸Ñ&9Ô:Ø—‘˜vŸ|™|Ò+Ü¤§¡¨DÓ 1´E·K±KÀÓ4GÑ GÈBÑNÔOä�ZÑ  Ó0°AÑ5Ó0Ø˜&‘=Ð Ø‡{�{×Ñ˜5Ò Ü  §¡¨1£°Ñ!2Ô3Ô8MØ�K‰K˜‹O˜qÑ ô9
ô �ZÑ  Ó0°AÑ5Ó0Ü—9‘9Ø—‘˜Q“ &§.¡.°Ó"4Ñ4¸!ÀTôç‰i˜‹lðô Ðr2   Útensorsc                 ó  ‡‡— dt         j                  dt        fˆfd„}t        t	        || «      «      Št        ‰«      dk(  rRt        | dt        j                  iŽd   }‰d   }||j                  k(  r|j                  «       S |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 )	Nrg   r'   c                 óÖ   •— t        | j                  «      dk(  rt        | j                  d   dk(  «      ry‰t        | j                  «      k  rt        | j                  ‰   dk(  «      ryy)Nr   r   FT)rƒ   r¯   r   )rg   rx   s    €r1   Únon_empty_tensorzcat.<locals>.non_empty_tensorÖ  sU   ø€ ô" ˆq�w‰w‹<˜1Ò¤°·±¸±
¸a±Ô!@Øà”�Q—W‘W“Ò¤.°·±¸±ÀÑ1BÔ"CØàr2   r   Útype_promotion_kindr   ©rt   c              3   ó,   •K  — | ]  }|‰d    u –— Œ y­w)r   Nre   )Ú.0ÚtÚfiltered_tensorss     €r1   ú	<genexpr>zcat.<locals>.<genexpr>  s!   øè ø€ ò )Ø%&ˆÐ˜aÑ Ô ñ)ùs   ƒ)r=   ÚTensorÚboolr*   Úfilterrƒ   r   r   ÚDEFAULTrt   ÚcloneÚtor—   ÚcatÚdefaultÚallr¯   Úinsertr±   ÚexpandÚflattenrV   )rÃ   rx   rÆ   Úpromoted_dtypeÚ
filtered_tÚinpr¯   rÌ   s    `     @r1   rÔ   rÔ   Ñ  s€  ù€ ð
œEŸL™Lð ¬Tõ ô2 œFÐ#3°WÓ=Ó>Ðä
ÐÓ Ò!ä+Øð
ä ?× GÑ Gñ
ð ñˆð & aÑ(ˆ
ð  ×!1Ñ!1Ò1ð ×ÑÓð	
ð —‘ ^�Ó4ð	
ð
 
Œ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ô Ðr2   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)rÇ   ©rt   r–   r   g        )Ú
is_complexr=   rG   ÚisnanÚrealÚfloatÚatan2Úimagr   r   ÚINT_TO_FLOATÚscalar_tensorÚmathÚpir–   )rg   r�   rt   ré   Úrets        r1   Ú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Ð9r2   Úyc                ó¨  — t        j                  | «      xr | j                  «       }t        j                  |«      xr |j                  «       }|r|st        S dt         j                  dt
        fd„}d}| j                  dk(  r|j                  dk(  rd}| j                  dk(  r| j                  d«      } |j                  dk(  r|j                  d«      }|}|�||z  }t        j                  | j                  |j                  «      } || «      s ||«      rt        S dt         j                  dt         j                  fd„}	| dz   } |dz   } |	| j                  | j                  j                  «      «      }
 |	|j                  |j                  j                  «      «      }t        j                  |
|z   d	¬
«      j                  |«      }|r|d   S |S )Nrz   r'   c                 óN   — | j                   dk(  ry| j                  «       d   dk7  S )Nr   Fr©   r   )Úndimr�   )rz   s    r1   Ú_requires_fallbackzadd.<locals>._requires_fallback0  s'   € Ø�;‰;˜!ÒØà�}‰}‹˜rÑ" aÑ'Ð'r2   Fr   Tr   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]r•   r   zQThe size of the last dimension must be even to reshape it to [..., last_dim/2, 2])r¯   ÚAssertionErrorÚview)rz   Úinitial_dimsÚlast_dimÚ	new_shapeÚreshaped_tensors        r1   Úreshape_tensor_complexz#add.<locals>.reshape_tensor_complexI  s^   € ð #)§,¡,Ñˆ�xð �a‰<˜1ÒÜ Øcóð ð
 6�lÐ5 H°¡MÐ5°1Ñ5ˆ	Ø Ÿ+™+ iÓ0ˆØÐr2   éþÿÿÿ)Ú	start_dim)r=   Ú	is_tensorrà   rV   rÎ   rÏ   rï   ÚreshapeÚpromote_typesrt   ró   râ   rÙ   )rg   rì   r<   Úx_is_complex_tensorÚy_is_complex_tensorrð   Úoutput_size_zeroÚzÚcomplex_typerø   Ú
x_reshapedÚ
z_reshapedÚresults                r1   r@   r@   #  s‰  € ô  Ÿ/™/¨!Ó,Ò?°·±³ÐÜŸ/™/¨!Ó,Ò?°·±³ÐÙÑ&9ÜÐð(¤5§<¡<ð (´Dó (ð ÐØ‡v�v�‚{�q—v‘v ’{ØÐà‡v�v�‚{Ø�I‰I�a‹LˆØ‡v�v�‚{Ø�I‰I�a‹Lˆà	€AØÐØ�A‰IˆÜ×&Ñ& q§w¡w°·±Ó8€Lá˜!ÔÑ 2°1Ô 5ÜÐð¤u§|¡|ð ¼¿¹ó ð$ 	
ˆA‰€AØ	ˆA‰€Aá'¨¯©¨q¯v©v¯|©|Ó(<Ó=€JÙ'¨¯©¨q¯v©v¯|©|Ó(<Ó=€JÜ�]‰]˜:¨
Ñ2¸bÔA×FÑFÀ|ÓT€FáØ�a‰yÐØ€Mr2   c                 ó2   — | j                  «       rt        S | S rT   )rà   rV   ©r£   s    r1   Úconj_physicalr  g  s   € à‡�ÔÜÐØ€Kr2   c                 ó   — | S rT   re   r  s    r1   Úliftr
  n  s   € à€Kr2   Úotherc                 ób   — t        j                  t        j                  |«      || kD  z  | |«      S rT   ©r=   rG   rá   ©r£   r  s     r1   Úfminr  s  ó'   € ä�;‰;”u—{‘{ 5Ó)¨U°T©\Ñ:¸DÀ%ÓHÐHr2   c                 ób   — t        j                  t        j                  |«      || k  z  | |«      S rT   r  r  s     r1   Úfmaxr  x  r  r2   Fr®   c                 óx   — | j                   t        j                  k(  rt        j                  | ||¬«      S t        S ©Nr­   )rt   r=   rÏ   ÚanyrV   ©r£   rx   r®   s      r1   Úamaxr  }  ó-   € ð ‡z�z”U—Z‘ZÒÜ�y‰y˜ 3°Ô8Ð8ÜÐr2   c                 óx   — | j                   t        j                  k(  rt        j                  | ||¬«      S t        S r  )rt   r=   rÏ   rÖ   rV   r  s      r1   Úaminr  ˆ  r  r2   Úlengthc                 ón   — t        j                  | |||«      j                  t         j                  ¬«      S )Nr7   )r=   ÚnarrowrÒ   r>   )r£   rx   r3   r  s       r1   Únarrow_copyr  “  s4   € ô �<‰<˜˜c 5¨&Ó1×7Ñ7Ü×-Ñ-ð 8ó ð r2   c                 óJ   — t         j                  | |«      j                  «       S rT   )r—   ró   rÒ   )r£   rp   s     r1   Úview_copy_defaultr   ¡  s   € ô
 �9‰9�T˜4Ó ×&Ñ&Ó(Ð(r2   rt   c                 ó@   — | j                  «       j                  |«      S rT   )rÒ   ró   )r£   rt   s     r1   Úview_copy_dtyper"  ©  s   € ð
 �:‰:‹<×Ñ˜UÓ#Ð#r2   c                 óÊ   — t        j                  | «      \  }}|D �cg c]  }| j                  |   ‘Œ }}dgt        |«      z  }t	        |«      D ]
  \  }}|||<   Œ ||fS c c}w r�   )ÚutilsÚ3compute_elementwise_output_logical_to_physical_permr¯   rƒ   r…   )r£   r   r�   rŠ   r¯   Úpermutationr‰   s          r1   Ú_get_shape_permutation_liker'  ±  sx   € ô ×RÑRÐSWÓXÑ€O�QØ$3Ö4˜qˆT�Z‰Z˜‹]Ð4€EÐ4à�#œ˜E›
Ñ"€KÜ˜/Ó*ò ‰ˆˆ1Øˆ�AŠðð �;ÐÐùò 5s   �A )rt   Úlayoutr–   Ú
pin_memoryÚrequires_gradr8   r(  r–   r)  r*  r8   c          	      óø  — |€| j                   n|}|€| j                  n|}|€| j                  n|}|t        j                  k7  r8t        j
                  | j                  ||||||¬«      }|j                  |¬«      S |t        j                  k(  sJ ‚t        | «      \  }	}
t        j
                  |	||||||¬«      }|
t        t        t        |
«      «      «      k(  r|S |j                  |
«      j                  «       S )N)rt   r(  r–   r)  r*  r7   )rt   r(  r–   r=   Úpreserve_formatrw   r¯   rÓ   Ústridedr'  r*   r‚   rƒ   r†   rÒ   )r£   rq   rt   r(  r–   r)  r*  r8   r  r¯   r&  s              r1   Ú	full_liker.  ¾  sõ   € ð  ˜-ˆD�JŠJ¨U€EØ"˜NˆT�[Š[°€FØ"˜NˆT�[Š[°€Fàœ×-Ñ-Ò-Ü—‘Ø�J‰JØØØØØ!Ø'ô
ˆð �y‰y }ˆyÓ5Ð5ð œŸ™Ò&Ð&Ð&Ü8¸Ó>Ñˆˆ{Ü—‘ØØØØØØ!Ø'ô
ˆð œ$œu¤S¨Ó%5Ó6Ó7Ò7ØˆMØ�~‰~˜kÓ*×0Ñ0Ó2Ð2r2   )rt   r–   r8   Úrand_fn.c                ój  — |€|j                   n|}|€|j                  n|}|t        j                  k7  r& | |j                  f||dœ|¤Žj                  |¬«      S t        |«      \  }} | |f||dœ|¤Ž}|t        t        t        |«      «      «      k(  r|S |j                  |«      j                  «       S )Nrß   r7   )rt   r–   r=   r,  r¯   rÓ   r'  r*   r‚   rƒ   r†   rÒ   )	r/  r£   rt   r–   r8   rr   r¯   r&  r  s	            r1   Ú
_rand_liker1  ë  sÐ   € ð  ˜-ˆD�JŠJ¨U€EØ"˜NˆT�[Š[°€Fàœ×-Ñ-Ò-ÙØ�J‰Jð
àØñ
ð ñ	
÷
 ‰"˜=ˆ"Ó
)ð	*ô 5°TÓ:Ñ€Eˆ;ÙØðàØñð ñ	€Fð ”dœ5¤ [Ó!1Ó2Ó3Ò3ØˆØ�>‰>˜+Ó&×,Ñ,Ó.Ð.r2   c                 ó8   — t        t        j                  | fi |¤ŽS rT   )r1  r=   Úrand©r£   rr   s     r1   Ú	rand_liker5    s   € ä”e—j‘j $Ñ1¨&Ñ1Ð1r2   c                 ó8   — t        t        j                  | fi |¤ŽS rT   )r1  r=   Úrandnr4  s     r1   Ú
randn_liker8    s   € ä”e—k‘k 4Ñ2¨6Ñ2Ð2r2   Úhighc                 óv   — t        t        j                  t        j                  j
                  d|«      | fi |¤ŽS r�   ©r1  Ú	functoolsÚpartialr—   ÚrandintÚlow)r£   r9  rr   s      r1   Úrandint_liker@    s-   € ä”i×'Ñ'¬¯©×(8Ñ(8¸!¸TÓBÀDÑSÈFÑSÐSr2   r?  c                 óv   — t        t        j                  t        j                  j
                  ||«      | fi |¤ŽS rT   r;  )r£   r?  r9  rr   s       r1   Úrandint_like_lowrB    s/   € ô ”i×'Ñ'¬¯©×(8Ñ(8¸#¸tÓDÀdÑUÈfÑUÐUr2   c                 óF   — t        j                  j                  d| |fi |¤ŽS r�   )r—   r>  r?  )r9  rp   rr   s      r1   r>  r>  !  s"   € ô �<‰<×Ñ˜A˜t TÑ4¨VÑ4Ð4r2   c                 óÎ   — t         j                  j                  j                  |«      }t         j                  j                  j	                  | |||j                  «       d   «      S r�   )r=   r&   Ú
_quantizedÚ$wrapped_fbgemm_pack_gemm_matrix_fp16Ú!wrapped_fbgemm_linear_fp16_weightrp   )rY   r5   r[   Úpacked_weights       r1   Ú#linear_dynamic_fp16_unpacked_weightrI  *  sO   € ô —I‘I×(Ñ(×MÑMÈfÓU€MÜ�9‰9×Ñ×AÑAØˆ}˜d F§K¡K£M°!Ñ$4óð r2   Ú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 rT   )r=   r&   rE  Ú_wrapped_linear_prepackÚ#_wrapped_quantized_linear_prepacked)rY   rJ  rK  r5   rL  rM  r[   rN  rO  rP  rH  s              r1   Úwrapped_quantized_linearrT  6  s\   € ô —I‘I×(Ñ(×@Ñ@Ø�Ð/°ó€Mô �9‰9×Ñ×CÑCØØØØØØØóð r2   Ú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Ó   r=   Úint32)rÊ   ÚnrW  s     €r1   rÍ   zPq_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32.<locals>.<genexpr>T  s&   øè ø€ ÒG°Q�b˜˜a˜‘j—m‘m¤E§K¡K×0ÑGùs   ƒ.1)r   r   r•   é   Úlittleé   rº   é   rZ  )ÚsysÚ	byteorderró   r=   Úfloat32)rW  rg   rì   r  rK   s   `    r1   Úbitcast_u8_to_f32z=q_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32S  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ÐXr2   .iøÿÿÿéüÿÿÿ)r=   rÎ   rÓ   rc  )rU  rd  ÚscalesÚoffsetss       r1   Ú"q_embedding_bag_byte_unpack_decomprh  Q  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¸Ñ@Ð@r2   Ú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   r7   )rj  rk  rl  rm  Ú_expand_grid)r–   r=   Úis_contiguousr>   Údecomp_grid_sampler_2d)ri  rj  rk  rl  rm  ro  Úoutputs          r1   Úgrid_sampler_2drs  _  sm   € ð 	
�‰”E—L‘L Ó'Ñ'ò 	CØ !Ñ#ò	Cà�O‰O¬%×*AÑ*AˆOÓBð€Lô $Ø	ØØ-Ø!Ø#Ø!ô€Fð €Mr2   Ústart_tensorsÚend_tensorsc           	      óº   — t         j                  j                  | t         j                  j	                  t         j
                  j                  || «      |«      «      S rT   )r—   Ú_foreach_addÚListÚ_foreach_mulÚScalarÚ_foreach_sub)rt  ru  r5   s      r1   Ú_foreach_lerp_scalarr|  �  sL   € ô ×Ñ×!Ñ!ØÜ×Ñ× Ñ Ü×Ñ×"Ñ" ;°Ó>Àó	
óð r2   Úscalarsc           	      óº   — t         j                  j                  | t         j                  j	                  t         j
                  j                  || «      |«      «      S rT   )r—   rw  rx  ry  Ú
ScalarListr{  )rt  ru  r}  s      r1   Ú_foreach_lerp_scalarlistr€  �  sL   € ô ×Ñ×!Ñ!ØÜ×Ñ×$Ñ$Ü×Ñ×"Ñ" ;°Ó>Àó	
óð r2   Úrunning_meanÚrunning_varÚtrainingÚexponential_average_factorÚepsilonc           
      ó–   — t         j                  | |||||||«      \  }}	}
|r||	|
fS ||j                  d«      |j                  d«      fS )N©r   )r—   Únative_batch_normÚ	new_zeros)rY   r5   r[   r�  r‚  rƒ  r„  r…  ri  ÚbÚcs              r1   Úmiopen_batch_normrŒ  �  sl   € ô ×$Ñ$ØØØØØØØ"Øó	�G€A€qˆ!ñ Ø�1�aˆyÐà	Ø×Ñ˜ÓØ×Ñ˜Óðð r2   c                  ó   — i t         ¥t        ¥S rT   )r+   r   re   r2   r1   Úfast_random_decompsrŽ  ½  s   € à5ŒnÐ5Ô 4Ð5Ð5r2   c                  óö   — t         j                  rt        S t         j                  rHt        j	                  t
        j                  j                  j                  j                  d«       t        S t        «       } | S )z"decomps can change based on configN)r   Úfallback_randomr+   Ú"fallback_embedding_bag_byte_unpackÚpopr=   r&   Ú	quantizedÚembedding_bag_byte_unpackrÕ   rŽ  )r  s    r1   Úselect_decomp_tabler•  Ä  sT   € ä×ÒÜÐÜ×0Ò0ä×Ñœ5Ÿ9™9×.Ñ.×HÑH×PÑPÐRVÔWÜÐÜ Ó"€FØ€Mr2   rI   Ú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rT   )rÙ   )rÊ   rg   s     r1   rÍ   z!masked_scatter.<locals>.<genexpr>Ý  s   è ø€ Ò,W¸Q¨Q¯Y©Y¯[Ñ,Wùs   ‚)Úcodegen.commonr˜  r™  r–   ÚMASKED_SCATTER_WITH_INDEXr—   Úbroadcast_tensorsrü   ÚcumsumÚ_unsafe_masked_indexr=   rG   ró   r¯   rV   )
r£   rI   r–  r˜  r™  Ú
source_idxÚ	self_flatÚ	mask_flatÚsource_flatr  s
             r1   Ú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ÜÐr2   Ú	quant_minÚ	quant_maxc                 óÈ  — 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 rT   )r=   Úaminmaxrã   rb   rÎ   r    rÓ   Úintrk   Úfloat64Úint64)	rY   r¥  r¦  r\   rt   Úmin_valÚmax_valÚscaleÚ
zero_points	            r1   Úchoose_qparams_tensorr°  ã  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´%·+±+Ó$>Ð>Ð>r2   Ú
accumulatec                 ó¼   — | j                  «       }t        j                  ||g|j                  |j                  «      |«      }|j                  | j                  «      S rT   )rÙ   r=   Ú	index_putrü   r¯   )r£   ry   r–  r±  Ú	flatteneds        r1   Úputrµ  ó  sL   € ð —‘“€IÜ—‘Ø�E�7˜FŸN™N¨5¯;©;Ó7¸ó€Ið ×Ñ˜TŸZ™ZÓ(Ð(r2   c                 óV   — t         j                  | |||¬«      }| j                  |«      S )N)r±  )r—   rµ  Úcopy_)r£   ry   r–  r±  r³   s        r1   Úput_r¸    s(   € ô �(‰(�4˜ °:ˆ(Ó
>€CØ�:‰:�c‹?Ðr2   rr  Úinput_dtypec                 óÌ   — | |z  }t        j                  ||d¬«      }t        j                  | ||«      }| j                  |k7  r|j                  |«      }|j                  «       S )NTr­   )r=   r˜   r   Úfmart   rÓ   r?   )rN   rr  rx   r¹  Únew_grad_outputÚsum_new_gradÚ
grad_inputs          r1   Ú_softmax_backward_datar¿    sc   € ð " FÑ*€OÜ—9‘9˜_°#¸tÔD€Lä×#Ñ# V G¨\¸?ÓK€Jð ×Ñ˜KÒ'Ø—]‘] ;Ó/ˆ
Ø× Ñ Ó"Ð"r2   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    rt   Úis_floating_pointrà   r=   Ú	ones_liker~   Ú
index_fillÚ
zeros_likeÚmasked_fillr!   r—   Úscatter_reduce_Útwor–   rv   rV   r¯   rÁ   r‚   rï   rÓ   r«  Úrepeat_interleaverü   r†   Úscatter_reduce)r£   rx   ry   rÂ  rÃ  rÁ  Útrue_divisionÚonesr³   ÚcountsÚrepeatsÚindex_shaperˆ   Úscatter_indexs                 r1   Ú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Ó	#ß	‰�Ó	ß	‰�‹ð	 ð ×ÑØØØØØ!ð ó ð r2   Úkernel_sizeÚ	ceil_modec                 ó2  — |dk(  rdg|z  }|dk(  rdg|z  }|s|}t        ||«      }t        ||«      }t        ||«      }t        ||«      }t        j                  t        j                  |«      }t
        j                  j                  j                  ||¬«      s0|t        j                  t
        j                  «      j                  kD  rt        S t        j                  | |||||«      \  }}	t        j                  |	|| j                   | d  |||«      }
||
fS )Nr   r   )Ún_dim)r   r<  ÚreduceÚoperatorÚmulr=   Ú	_inductorÚloweringÚ%should_fallback_max_pool_with_indicesÚiinfoÚint8rb   rV   ÚprimsÚ!_low_memory_max_pool_with_offsetsÚ'_low_memory_max_pool_offsets_to_indicesr¯   )rg   rÖ  r�   rŽ   r�   r×  rx   Úwindow_sizeÚvalsrg  rO   s              r1   Ú_max_pool_with_indicesrç  X  s"  € ð �1‚}Ø�3˜‘9ˆà�!‚|Ø�#˜‘)ˆáØˆô ˜{¨CÓ0€Kä˜H cÓ*€Hä˜7 CÓ(€Gä˜& #Ó&€Fä×"Ñ"¤8§<¡<°Ó=€Kô 	�‰× Ñ ×FÑFØ˜sð 	Gô 	
ð œŸ™¤U§Z¡ZÓ0×4Ñ4Ò4äÐä×;Ñ;Ø	ØØØØØó�M€Dˆ'ô ×;Ñ;ØØØ	�‰���ˆØØØó€Gð �ˆ=Ðr2   c           	      ó&   — t        | |||||d¬«      S )Nr•   rª   ©rç  ©rg   rÖ  r�   rŽ   r�   r×  s         r1   Úmax_pool2d_with_indicesrë  �  ó    € ô "Ø	ˆ;˜ ¨°9À!ôð r2   c           	      ó&   — t        | |||||d¬«      S )Nr]  rª   ré  rê  s         r1   Úmax_pool3d_with_indicesrî  ž  rì  r2   Ú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   rÈ   )r¯   Ú	new_emptyr=   r«  r—   rë  rV   )	rg   rï  ÚbatchÚh_inÚw_inÚh_outÚw_outÚo_sizerÖ  s	            r1   Ú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¨{Ó;Ð;äÐr2   ©Ú	out_int32ÚrightÚsideÚsorterÚsorted_sequencerú  rû  rü  rý  c                ó~   — t         j                  | t        j                  |g| j                  ¬«      ||||¬«      d   S )N©r–   rù  r   )r—   Úsearchsortedr=   rz   r–   )rþ  r£   rú  rû  rü  rý  s         r1   Úsearchsorted_scalarr  ¾  sK   € ô ×ÑØÜ�‰�d�V O×$:Ñ$:Ô;ØØØØð ó ð ñ	ð 	r2   ©rú  rû  Ú
boundariesc                ó’   — t         j                  t        j                  | g|j                  ¬«      |||¬«      j                  d«      S )Nr   r  r   )r—   Ú	bucketizer=   rz   r–   r²   )r£   r  rú  rû  s       r1   Úbucketize_scalarr  Ò  sD   € ô �>‰>Ü�‰�d�V J×$5Ñ$5Ô6ØØØð	 ó ÷
 �gˆaƒjðr2   Ú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   r•   )r—   Úuniformr=   rG   Ú
leaky_relurÎ   )r£   r  r	  r
  rƒ  r  Únot_positiveÚrrr  Ú	noise_outÚnegative_slopes              r1   Ú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ÐDr2   Úrepeatc                 óN  — t         j                  j                  rt        S |�t	        |«      t
        urt        S | j                  j                  dk(  rt        S | j                  t        j                  t        j                  fv sJ ‚| j                  dk(  sJ ‚| j                  d«      }t        j                  || j                  ¬«      }t        j                  ||| j                  t        j                  k(  d¬«      }t        j                  || j!                  d«      dz
  ¬«      S )Nr¨   r   r   r   Tr  )rb   )r   ÚtritonÚautotune_at_compile_timerV   rv   r©  r–   rt   r=   r[  r«  rï   rž  Úaranger  rk   rp   )r  rï  rž  ÚposrO   s        r1   Úrepeat_interleave_Tensorr  ö  sâ   € ô
 ‡}�}×-Ò-ô ÐØÐœd ;Ó/´sÑ:ÜÐØ‡}�}×Ñ˜UÒ"ÜÐØ�<‰<œEŸK™K¬¯©Ð5Ñ5Ð5Ð5Ø�;‰;˜!ÒÐÐØ�]‰]˜1Ó€FÜ
�,‰,�{¨6¯=©=Ô
9€CÜ× Ñ Ø� §¡´·±Ñ ;ÀDô€Gô �;‰;�w F§K¡K°£N°QÑ$6Ô7Ð7r2   r‡  c           	      ó8  — | j                  «       dk(  r|j                  «       dk(  sJ d«       ‚|d   }|d   }|d   }| j                  d«      }|j                  d«      }t        j                  j	                  ||||df|df|df|¬«      }	|	j                  d«      S )Nr]  z,Expect (N,C_in,L) and (C_out,C_in//groups,K)r   r©   r   )r�   rŽ   r�   r’   )rx   r±   r—   Úconv2drÕ   r²   )
rY   r5   r[   r�   rŽ   r�   r’   Úinput_2dÚ	weight_2dÚout_2ds
             r1   Úconv1d_to_conv2dr     s¹   € ð �9‰9‹;˜!Ò §
¡
£°Ò 1ð Ø6óÐ1ð
 �A‰Y€Fà�a‰j€Gà˜‰{€Hð �‰˜rÓ"€Hà× Ñ  Ó$€Iô �[‰[× Ñ ØØØØ˜ˆ{Ø˜!�Ø˜A�Øð !ó €Fð �>‰>˜"ÓÐr2   )NNrT   )Nr   r   )NF)r   r   F)F)Nr   r   F)g      À?gUUUUUUÕ?FN)N©r   r‡  r!  r   )ñr<  Úloggingrè   rÛ  ra  Úcollections.abcr   Útypingr   r   r   Útyping_extensionsr   r=   Útorch._decompÚ_decompr.   Útorch._prims_commonÚ_prims_commonr$  Ú$torch.ao.quantization.fx._decomposedr   r	   r
   Útorch._decomp.decompositionsr   rq  r   r   rW   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   Útorch._refsr   r_   Ú%torch.fx.experimental.symbolic_shapesr   r   Ú r   r   r   r    r!   r"   r#   Ú_opsÚOperatorBaseÚOpOverloadPacketr$   Ú__annotations__Ú	getLoggerÚ__name__r,   r&   r—   râ  r“  rE  Úquantized_decomposedÚ_adaptive_avg_pool2d_backwardÚindex_selectÚaddmvr  Úbitwise_and_Úbitwise_or_Ú
clamp_min_ÚdistÚeluÚ
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_backwardrˆ  Únative_group_normÚnll_loss2d_backwardÚpermute_copyÚrrelu_with_noise_backwardÚ_softmaxÚsin_Úsqrt_Ú_to_copyÚtril_indicesÚtriu_indicesÚunbind_copyr©  Úupsample_bilinear2dÚvecÚhann_windowrI  rT  Úinductor_decompositionsr+   Ú_unsafe_indexrŸ  Ú#_unsafe_masked_index_put_accumulateÚ+_scaled_dot_product_flash_attention_for_cpurÕ   r¿  rj   ri   r~   ÚgluÚselect_scatterÚslice_scatterro   ÚsplitrÎ   r²   r˜   ÚunbindÚbaddbmmrH   Úaddcmul_Ú_foreach_addcmulrz  Ú_foreach_addcmul_ÚaddcdivÚaddcdiv_Ú_foreach_addcdivÚ_foreach_addcdiv_ÚlerpÚlerp_r%   r*   Ú
OpOverloadr/   rã   rC   rM   rÏ   rX   Ú	ShapeTypeÚtupler`   rf   ÚSymIntÚtypesÚNumberrk   rw   r‹   r™   r    rž   r¢   r´   rt   r¼   rÂ   rÔ   rë   r@   r  r
  Údetach_r  r  r  r  r  Ú	view_copyr   r"  Ú
StrideTyper'  r.  r,  r(  r–   r8   r1  r5  r8  r@  Ú	low_dtyperB  r>  r”  rh  rs  Ú_foreach_lerpr|  r  r€  rŒ  Úpy_implÚ_CÚDispatchKeyÚAutogradÚcacheÚdictrŽ  r•  r¤  Úchoose_qparamsrz   r°  rµ  r¸  rÕ  Ústrrç  rë  rî  rø  r  r  r  r  r  Ú	GeneratorrÍ  r  r   re   r2   r1   ú<module>r‡     s¨  ðä Û Û Û Û 
Ý $ß *Ñ *Ý 'ã Ý Ý #Û +÷ñ ÷
õ õ FÝ (Ý (Ý 7Ý .÷ó õ Fß Wç $÷ñ ñ ˆTƒ]€Ùˆtƒ_€à#Ÿj™j×5Ñ5¸¿
¹
×8SÑ8SÑSÐ �)Ó Sà€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 	× Ñ ×$Ñ$ðQ,ðR 	×ÑðS,ðT 	×5Ñ5ðU,ðV 	×+Ñ+ðW,ó.Ð ð^ KÑ,Ó.ÐJÐ2IÐJ€ð
 	×ÑØ×ÑØ×,Ñ,Ø×4Ñ4×<Ñ<Ø×ÑØ‡N�NØ‡N�NØ×!Ñ!Ø×ÑØ‡N�NØ‡H‚HØ×ÒØ×ÒØ‡I‚IØ‡J‚J×ÒØ‡L‚LØ‡H‚HØ‡K‚KØ‡L‚Là‡L‚LØ‡M‚MØ×Ò× Ò Ø×ÒØ‡L‚LØ‡M‚MØ×Ò× Ò Ø×ÒØ‡I‚IØ‡J‚Jð=QÐ �D˜Ÿ™×.Ò.°·±×1LÑ1LÑLÑMó ñB �nÐ&8Ô 9ð>Ø	˜DÐ!1Ñ2Ñ	2ð>àˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ó>ñ ˜Ÿš×)Ò)Ð*Ó+ð0˜Ÿšð 0¨5¯<ª<ð 0Àð 0È5Ï<Ê<ò 0ó ,ð0ñ ˜Ÿš×)Ò)Ð*Ó+ð1Ø�<Š<ð1Ø#Ÿlšlð1Ø49·L²Lð1à
‡\‚\ò1ó ,ð1ñ  ˜×6Ñ6Ð7Ó8ðØ—’ðà�\Š\ðð ðð ð	ð
 ðð ‡\‚\òó 9ðñ" ˜×.Ñ.Ó/ð
PØ�<Š<ð
Pà—o’oð
Pð �LŠL˜4Ñð
Pð �,Š,˜Ñ
ð	
Pð
 
ð
Pð ˆ5�<Š<˜Ÿš u§|¢|Ð3Ñ4ò
Pó 0ð
Pñ ˜×:Ò:×BÑBÐCÓDð &*Ø%)ò	Ø�LŠLðð 
�Š×	Ò	˜dÑ	"ðð 
�Š×	Ò	˜dÑ	"ð	ð
 
òó Eðñ ˜Ÿš˜Ó%Ø#ð &*Ø%)ñ	Ø‡|‚|ð	à	�Š×	Ò	˜dÑ	"ð	ð 
�Š×	Ò	˜dÑ	"ð	ð ‡\‚\ò		ó $ó &ð	ñ ˜Ÿš˜Ó$Øð#ˆE�LŠLð #˜UŸ\š\ò #ó ó %ð#ñ ˜Ÿš˜Ó$ð	Ø
ˆs�U—\’\Ñ!Ñ
"ð	à—’×"Ò"ð	ð ð	ð ‡\‚\ò		ó %ð	ñ ˜Ÿ™Ð(Ó)ð !"òMØ‡|‚|ðMà	ðMð �<Š<ðMð �LŠLð	Mð �;Š;×ÒðMð ‡\‚\òMó *ðMñ* ˜×,Ò,×4Ñ4Ð5Ó6ðWØ
ˆs�U—\’\Ñ!Ñ
"ðWà˜#‘YðWð ðWð ‡\‚\ò	Wó 7ðWñ  ˜×2Ò2Ð3Ó4ð.Ø—’ð.à�<Š<ð.ð �LŠLð.ð �S‘	ð	.ð
 �$�s‘)‰Oð.ð �4˜‘9‰_ð.ð �D˜‘I‰oð.ð ð.ð ˜‘Ið.ð ð.ð �d‘ð.ð ˆ5�<Š<˜Ÿš u§|¢|Ð3Ñ4ò.ó 5ð.ñ@ ˜Ÿš×,Ò,Ð-Ó.ñG�—’ð G¨ð G°U·\²\ò Gó /ðGñ
 ˜Ÿš˜
Ó#Øð %)ñØ
�,Š,ðà�LŠLðð �{Š{˜TÑ!ðð ‡\‚\ò	ó ó $ðñ> ˜Ÿš˜Ó%Øð
 %)Ø Ø !ñ#Ø
�,Š,ð#à
�,Š,ð#ð �,Š,ð#ð �{Š{˜TÑ!ð	#ð
 �+Š+×
Ò
ð#ð �;Š;×Òð#ð ‡\‚\ò#ó ó &ð#ñL ˜Ÿš˜	Ó"Øð %)ñ&Ø
�,Š,ð&à�LŠLð&ð �{Š{˜TÑ!ð&ð ‡\‚\ò	&ó ó #ð&ñZ ˜Ÿš×)Ñ)Ð*Ó+ð ñ:Ø�%—,’,Ñð:à	ð:ð ‡\‚\ò:ó ,ð:ñz ˜Ÿš˜Ó%ð:ˆU�\Š\ð :˜eŸlšlò :ó &ð:ñ& ˜Ÿš˜
Ó#ð
 (,ò	@Ø‡|‚|ð@à‡|‚|ð@ð �;Š;×Ò Ñ$ð	@ð
 ‡\‚\ò@ó $ð@ñF ˜×+Ò+Ð,Ó-ð˜Ÿšð ¨¯ªò ó .ðñ ˜Ÿš 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ñ ˜Ÿ	š	Ó"ð ØñØ
�,Š,ðà	ˆt‰ðð ðð ‡\‚\ò	ó #ðñ ˜Ÿ	š	Ó"ð ØñØ
�,Š,ðà	ˆt‰ðð ðð ‡\‚\ò	ó #ðñ ˜×)Ò)Ð*Ó+ð
Ø
�,Š,ð
à	ð
ð ð
ð ð	
ð
 ‡\‚\ò
ó ,ð
ñ ˜Ÿš×/Ñ/Ð0Ó1ð)Ø
�,Š,ð)à
ˆs�U—\’\Ñ!Ñ
"ð)ð ‡\‚\ò)ó 2ð)ñ ˜Ÿš×-Ò-Ð.Ó/ð$Ø
�,Š,ð$à�;Š;ð$ð ‡\‚\ò$ó 0ð$ð
 Ø
�,Š,ð
 à
ˆ5�?Š?˜E×,Ò,Ð,Ñ-ó
 ñ ˜ŸšÓ'ð
 !%Ø"&Ø"&ØØØ).×)>Ò)>ò)3Ø
�,Š,ð)3à�e‘ð)3ð �;Š;˜Ñð	)3ð
 �LŠL˜4Ñð)3ð �LŠL˜4Ñð)3ð ð)3ð ð)3ð ×&Ò&ð)3ð ‡\‚\ò)3ó (ð)3ð` !%Ø"&Ø).×)>Ò)>ò/Ø�c˜5Ÿ<š<Ð'Ñ(ð/à
�,Š,ð/ð �;Š;˜Ñð	/ð
 �LŠL˜4Ñð/ð ×&Ò&ð/ð ð/ð ‡\‚\ó/ð@ €×Ò §¢Ð/Ð1EÓFð2�E—L’Lð 2¨Cð 2°E·L²Lò 2ó Gð2ð €×Ò §¢Ð0Ð2FÓGð3�U—\’\ð 3¨Sð 3°U·\²\ò 3ó Hð3ð €×Ò × 1Ò 1× 9Ñ 9Ð:Ð<PÓQðT�u—|’|ð T¨3ð T¸#ð TÀ%Ç,Â,ò Tó RðTð €×Ò × 1Ò 1× ;Ò ;Ð<Ð>RÓSðVØ
�,Š,ðVØ ðVØ(+ðVØ7:ðVà
‡\‚\òVó TðVñ ˜Ÿš×,Ñ,Ó-ð5Ø
ð5à
ˆs�U—\’\Ñ!Ñ
"ð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ðñ@ ˜×*Ò*×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ðð< ‡‚ð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ð#ð 
ð#ð —’ð	#ð
 ‡\‚\ò#ó ó =ð#ñ( ˜×)Ò)Ó*ð ò2Ø
�,Š,ð2à	ð2ð �<Š<ð2ð 
�Šð	2ð
 ð2ð ð2ð ‡\‚\ò2ó +ð2ðj5Ø‡|‚|ð5à�c‘ð5ð �$�s‘)‰O˜dÑ"ð5ð �4˜‘9‰_ð	5ð
 �D˜‘I‰oð5ð ð5ð 
ð5ð ˆ5�<Š<˜ŸšÐ%Ñ&ó5ñp ˜×4Ò4Ó5ð &*Ø Ø !Øñ
Ø‡|‚|ð
à�c‘ð
ð �$�s‘)‰O˜dÑ"ð
ð �4˜‘9‰_ð	
ð
 �D˜‘I‰oð
ð ð
ð ˆ5�<Š<˜ŸšÐ%Ñ&ò
ó 6ð
ñ ˜×4Ò4Ó5ð &*Ø Ø !Øñ
Ø‡|‚|ð
à�c‘ð
ð �$�s‘)‰O˜dÑ"ð
ð �4˜‘9‰_ð	
ð
 �D˜‘I‰oð
ð ð
ð ˆ5�<Š<˜ŸšÐ%Ñ&ò
ó 6ð
ñ ˜×0Ò0Ó1ðØ‡|‚|ðØ"& s¡)ðà
ˆ5�<Š<˜ŸšÐ%Ñ&òó 2ðñ" ˜×)Ò)×0Ò0Ó1ð
 ØØØ"&ò	Ø—\’\ð	à
�+Š+×
Ò
ð	ð ð		ð
 ð	ð �‰*ð	ð �LŠL˜4Ñð	ð ‡\‚\ò	ó 2ð	ñ& ˜Ÿš×-Ò-Ó.ð
 ØòØ
�+Š+×
Ò
ðà—’ðð ð	ð
 ðð ‡\‚\òó /ðñ ˜×8Ò8Ó9ð Ø%ØØ(,ñEØ
�,Š,ðEà�<Š<ðEð ðEð ð	Eð
 ðEð �Š Ñ%ðEð ˆ5�<Š<˜ŸšÐ%Ñ&òEó :ðEñ& ˜×.Ò.×5Ò5Ó6ð #ñ8Ø�LŠLð8à�t‘ð8ð ‡\‚\ò8ó 7ð8ð4 !%ØØØØñ)Ø�<Š<ð)à�LŠLð)ð �,Š,˜Ñ
ð)ð �#‰Jð	)ð
 �3‰Zð)ð �C‰jð)ð ð)ð ‡\‚\ô)r2   