Ë
    [^(h^Ð  ã                  óœ  — d Z ddlmZ ddlZddlZddlZddlmZ ddlZddlm	Z	 ddl
mZ ddlmZmZmZmZmZmZ ddlmZmZ erdd	lmZ g d
¢Z ej8                  ej:                  d¬«      Z ed«       ej>                  d«       ej@                  ddd«      d¸d„«       «       «       Z! ed«      d¹d„«       Z" ed«       ej@                  dd«      d¹d„«       «       Z# ed«       ej@                  dd«      d¹d„«       «       Z$ ed«      d¹d„«       Z% ed«       ej>                  d«       ej@                  ddd«      d¹d„«       «       «       Z& ed«      	 dº	 d¹d„«       Z' ed «       ej@                  dd«      d¹d!„«       «       Z( ed" ejR                  d#d$d%«      g¬&«       ed' ejR                  d(d)d%«      g¬&«       ed* ejR                  d+d,d%«      g¬&«       ed- ejR                  d.d$d/«      g¬&«       ed0 ejR                  d1d)d/«      g¬&«       ed2 ejR                  d3d,d/«      g¬&«       ed4 ejR                  d5d)d6«      g¬&«      d»d7„«       «       «       «       «       «       «       Z* ed8«       ej>                  ddddddd«      	 	 d¹d9„«       «       Z+ ed:«       ej@                  dddd«      dºd¹d;„«       «       Z, ed<«       ej@                  dddd«      d¹d=„«       «       Z- ed>«       ej@                  ddd?«      d¼d¹d@„«       «       Z. edA«      d¹dB„«       Z/ edC«      d¹dD„«       Z0 edE«      d¹dF„«       Z1 edG«      d¹dH„«       Z2 edI«      d¹dJ„«       Z3 edK«      d¹dL„«       Z4 edM«      d¼d¹dN„«       Z5 edO«      d¹dP„«       Z6 edQ«      d¹dR„«       Z7 edS«      d¹dT„«       Z8 edU«       ej>                  d«      d¹dV„«       «       Z9 edW«      d¹dX„«       Z: edY«       ej@                  dddd«      d¹dZ„«       «       Z; ed[«       ej@                  ddddd«      	 	 d¹d\„«       «       Z< ed]«       ej@                  dddddd?«      d¼d¹d^„«       «       Z= ed_«       ej@                  dddd?«      d¼d¹d`„«       «       Z> eda«       ej@                  dddd?«      d¼d¹db„«       «       Z? edc«       ej@                  dd«      d½d¹dd„«       «       Z@ ede«      d¹df„«       ZA edg«       ej@                  dddd«      d¼d¹dh„«       «       ZB edi«       ej@                  dddd«      d¼d¹dj„«       «       ZC edk«       ej@                  ddd«      d¾d¹dl„«       «       ZDd¹dm„ZE edn«      d¼d¹do„«       ZF edp«       edq«       edr«      d¹ds„«       «       «       ZG edt«       edu«       edv«      d¹dw„«       «       «       ZH edx«      	 	 	 	 	 	 	 	 	 	 d¿dy„«       ZI edz«      d¹d{„«       ZJ ed|«      d¹d}„«       ZK ed~«      d¹d„«       ZL ed€«       ej@                  dd«      d¹d�„«       «       ZM ed‚«       ej>                  dd¬ƒ«      d¼d¹d„„«       «       ZN ed…«      d¼d¹d†„«       ZO ed‡«      d¹dˆ„«       ZP ed‰«      d¹dŠ„«       ZQ ed‹«      d¹dŒ„«       ZR ed�«      d¹dŽ„«       ZS ed�«      d¹d�„«       ZT ed‘«       ed’«      d¹d“„«       «       ZU ed”«       ed•«      d¹d–„«       «       ZV	 	 d¹d—„ZWd¹d˜„ZXd¹d™„ZY edš«       ej@                  dd›d›d›d›«      d¹dœ„«       «       ZZ ed�«      d¹dž„«       Z[ edŸ«       ej>                  ddd«       ej@                  ddd«      d¹d „«       «       «       Z\ ed¡«       ej@                  ddd›d¢d«      	 	 	 	 	 	 dÀd£„«       «       Z] ed¤«       ej@                  ddddddddd«	      	 	 d¹d¥„«       «       Z^ ed¦«       ej@                  dddd«      d¹d§„«       «       Z_ ed¨«      d¹d©„«       Z` edª«      	 	 	 	 	 	 dÁ	 d¹d«„«       Za ed¬«      dÂd­„«       Zb ed®«      dÂd¯„«       Zc ed°«      dÂd±„«       Zd ed²«      d¹d³„«       Ze ed´«      dÃdµ„«       Zf ed¶«      dÃd·„«       Zgy)Äz(This file exports ONNX ops for opset 11.é    )ÚannotationsN)ÚTYPE_CHECKING)Ú_C)Ú_onnx)Ú_type_utilsÚerrorsÚsymbolic_helperÚsymbolic_opset10Úsymbolic_opset9Úutils)Ú	jit_utilsÚregistration)ÚSequence)9ÚaddÚappendÚarangeÚargsortÚ
atleast_1dÚ
atleast_2dÚ
atleast_3dÚcatÚchunkÚ	clamp_maxÚ	clamp_minÚclampÚconstant_pad_ndÚcumsumÚDeleteÚembedding_bagÚembedding_renormÚflattenÚgatherÚhardtanhÚhstackÚim2colÚ
index_fillÚindexÚ
index_copyÚ	index_putÚinsertÚ
linalg_detÚlinalg_vector_normÚlogdetÚmasked_scatterÚmasked_selectÚmmÚnarrowÚnormalÚpadÚpixel_shuffleÚpopÚprim_constant_chunkÚreflection_padÚrelu6Ú	remainderÚreplication_padÚroundÚscatterÚselectÚsizeÚsortÚsplit_with_sizesÚsplitÚsqueezeÚstackÚtopkÚunbindÚ
unique_dimÚ	unsqueezeÚvstacké   )Úopsetzaten::hardtanhTÚvÚfc                ó€  — t         j                  j                  |t         j                  j                  «      }| j	                  dt        j                  ||j                  «       ¬«      ¬«      }| j	                  dt        j                  ||j                  «       ¬«      ¬«      }t        j                  | d|||d¬«      S )NÚConstant©Údtype©Úvalue_tÚClipé   ©Úopset_before)
r   ÚJitScalarTypeÚ
from_valueÚFLOATÚopÚtorchÚtensorrP   r	   Ú_op_with_optional_float_cast)ÚgÚselfÚmin_valÚmax_valÚscalar_types        úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/onnx/symbolic_opset11.pyr#   r#   `   s«   € ô ×+Ñ+×6Ñ6ØŒk×'Ñ'×-Ñ-ó€Kð �d‰dØÜ—‘˜W¨K×,=Ñ,=Ó,?Ô@ð ó €Gð �d‰dØÜ—‘˜W¨K×,=Ñ,=Ó,?Ô@ð ó €Gô ×7Ñ7Ø	ˆ6�4˜ '¸ôð ó    zaten::clampc                ó*  ‡ — ˆ fd„}t         j                  j                  |t         j                  j                  «      }|t         j                  j                  k7  r |||«      } |||«      }t	        j
                  |«      rt        ‰ ||«      S t	        j
                  |«      rt        ‰ ||«      S t	        j                  |«      dk(  r3t	        j                  |«      dk(  rt	        j                  ‰ d|||d¬«      S t        ‰ t        ‰ ||«      |«      S )Nc                óz   •— | �7t        j                  | «      s"‰j                  d| |j                  «       ¬«      S | S )NÚCast©Úto_i)r	   Ú_is_nonerZ   Ú	onnx_type)r\   rP   r^   s     €rc   Ú_cast_if_not_nonez clamp.<locals>._cast_if_not_nonev   sC   ø€ ØÐ¤o×&>Ñ&>¸vÔ&FØ—4‘4ØØØ—_‘_Ó&ð ó ð ð ˆMrd   r   rS   rT   rU   )
r   rW   rX   Ú	UNDEFINEDr	   rj   r   r   Ú_get_tensor_rankr]   )r^   r_   ÚminÚmaxrl   rb   s   `     rc   r   r   t   sû   ø€ ôô ×+Ñ+×6Ñ6ØŒk×'Ñ'×1Ñ1ó€Kð ”k×/Ñ/×9Ñ9Ò9Ù  [Ó1ˆÙ  [Ó1ˆä×Ñ Ô$Ü˜˜D #Ó&Ð&Ü	×	!Ñ	! #Ô	&Ü˜˜D #Ó&Ð&ô ×,Ñ,¨SÓ1°QÒ6Ü×0Ñ0°Ó5¸Ò:ä"×?Ñ?Ø�6˜4  c¸ôð ô ˜Q¤	¨!¨T°3Ó 7¸Ó=Ð=rd   zaten::clamp_minc                óD  — | j                  d|t        j                  j                  |«      j	                  «       ¬«      }t        j                  |«      dk(  r0t        j                  | «      }t        j                  | d|||d¬«      S t        j                  | d||d¬«      S )Nrg   rh   r   rS   rT   rU   ÚMax©
rZ   r   rW   rX   rk   r	   rn   Úopset9Úunusedr]   )r^   r_   ro   rp   s       rc   r   r   —   ó“   € ð �$‰$ˆv�s¤×!:Ñ!:×!EÑ!EÀdÓ!K×!UÑ!UÓ!Wˆ$Ó
X€CÜ×'Ñ'¨Ó,°Ò1Ü�m‰m˜AÓˆÜ×;Ñ;Øˆv�t˜S #°Bô
ð 	
ô ×;Ñ;Øˆu�d˜C¨bô
ð 	
rd   zaten::clamp_maxc                óD  — | j                  d|t        j                  j                  |«      j	                  «       ¬«      }t        j                  |«      dk(  r0t        j                  | «      }t        j                  | d|||d¬«      S t        j                  | d||d¬«      S )Nrg   rh   r   rS   rT   rU   ÚMinrs   )r^   r_   rp   ro   s       rc   r   r   ¦   rv   rd   zaten::relu6c                óf  — t         j                  j                  |t         j                  j                  «      }| j	                  dt        j                  d|j                  «       ¬«      ¬«      }| j	                  dt        j                  d|j                  «       ¬«      ¬«      }t        | |||«      S )NrN   r   rO   rQ   é   )	r   rW   rX   rY   rZ   r[   r\   rP   r   )r^   Úinputrb   r`   ra   s        rc   r8   r8   µ   sš   € ä×+Ñ+×6Ñ6ØŒ{×(Ñ(×.Ñ.ó€Kð �d‰dØÜ—‘˜Q k×&7Ñ&7Ó&9Ô:ð ó €Gð �d‰dØÜ—‘˜Q k×&7Ñ&7Ó&9Ô:ð ó €Gô ��E˜7 GÓ,Ð,rd   zaten::selectÚic                ó,   — | j                  d|||¬«      S )NÚGather©Úaxis_i©rZ   )r^   r_   Údimr'   s       rc   r=   r=   Å   s   € ð
 �4‰4�˜$ ¨cˆ4Ó2Ð2rd   zaten::index_putFc                ó*  — t        j                  |«      rt        j                  |«      }n|g}t        j                  |d«      }t	        |«      dk(  r|S t	        |«      dkD  rÔt        t	        |«      «      D ]3  }t        j                  ||   «      sŒ| j                  d||   «      ||<   Œ5 |d   }|dd  D ]  }t        j                  | ||«      }Œ | j                  d|«      }	|D �cg c]0  }t        j                  | t        j                  | ||	d «      dg«      ‘Œ2 }} | j                  dg|¢­ddiŽ}nå|d   }|}
t        j                  |
«      rŸt        j                  |«      }|�|dk(  rt        j                  | ||
|«      S t        j                  |
«      }t        j                  |«      }|�1|�/||kD  r*t        j                  | |
t        t        ||«      «      «      }
t        | ||
|«      S | j                  d|«      }	t        j                  | |dg«      }t        j                   | | j                  d|«      dgt	        |«      gt"        j$                  g¬	«      }| j                  d|	|d¬
«      }t        j                  |«      }|�|dk(  rt        j                  | ||d «      }t        j&                  | ||«      }t(        j*                  j-                  |t(        j*                  j.                  «      }|t(        j*                  j.                  k7  r`t(        j*                  j-                  |t(        j*                  j.                  «      }||k7  r;| j                  d||j1                  «       ¬«      }n|rt3        j4                  d|«      ‚|rk| j                  d| j                  d|«      t7        j8                  dg|j;                  «       ¬«      ¬«      }| j                  d|||«      }t        | ||«      }|S | j                  d|||«      }|S c c}w )NÚbr   é   ÚNonZeroÚShapeéÿÿÿÿÚConcatr€   ©ÚaxesÚstartsÚendsr   rg   rh   z'self does not have a valid scalar type.ÚConstantOfShaperO   rQ   Ú	ScatterND)r	   Ú_is_packed_listÚ_unpack_listÚ
_parse_argÚlenÚrangeÚ_is_boolrZ   rt   r   Ú_unsqueeze_helperÚexpandrn   Úmasked_fillÚlistr.   Ú_slice_helperÚsysÚmaxsizeÚ_reshape_helperr   rW   rX   rm   rk   r   ÚSymbolicValueErrorr[   r\   rP   )r^   r_   Úindices_list_valueÚvaluesÚ
accumulateÚindices_listÚidx_r'   ÚindÚbroadcast_index_shapeÚbool_inpÚrankÚ	mask_rankÚ	self_rankÚsub_data_shapeÚvalues_shapeÚself_scalar_typeÚvalues_scalar_typeÚzerosÚresults                       rc   r)   r)   Í   s÷  € ô ×&Ñ&Ð'9Ô:Ü&×3Ñ3Ð4FÓG‰à*Ð+ˆÜ ×+Ñ+¨J¸Ó<€Jä
ˆ<Ó˜AÒØˆä
ˆ<Ó˜1ÒÜœ#˜lÓ+Ó,ò 	IˆDÜ×'Ñ'¨°TÑ(:Õ;Ø%&§T¡T¨)°\À$Ñ5GÓ%H�˜TÒ"ð	Ið ˜Q‘ˆà  Ð#ò 	.ˆCÜ—J‘J˜q %¨Ó-‰Eð	.à !§¡ W¨eÓ 4Ðð
 $ö	
ð ô ×-Ñ-Ø”6—=‘=  CÐ)>ÀÓEÈÀtõð
ˆð 
ð �—‘�XÐ8 Ò8°RÑ8‰ðP ˜Q‘ˆØˆÜ×#Ñ# HÔ-Ü"×3Ñ3°FÓ;ˆDØÐ D¨A¢IÜ×)Ñ)¨!¨T°8¸VÓDÐDÜ'×8Ñ8¸ÓBˆIÜ'×8Ñ8¸Ó>ˆIàÐ%ØÐ)Ø 	Ò)ô +×<Ñ<Ø�x¤¤e¨I°yÓ&AÓ!Bó�ô " ! T¨8°VÓ<Ð<Ø !§¡ W¨eÓ 4ÐÜ×1Ñ1°!°U¸R¸DÓAˆÜ$×2Ñ2Ø	ˆ1�4‰4�˜Ó a S´#°lÓ2CÐ1DÌCÏKÉKÈ=ô€Nð —4‘4˜Ð"7¸ÐPQ�4ÓR€Lä×+Ñ+¨FÓ3€DØÐ˜D AšIÜ—‘˜q &¨,¸Ó=ˆÜ×,Ñ,¨Q°¸ÓE€Fä"×0Ñ0×;Ñ;ØŒk×'Ñ'×1Ñ1óÐð œ;×4Ñ4×>Ñ>Ò>Ü(×6Ñ6×AÑAØ”K×-Ñ-×7Ñ7ó
Ðð Ð1Ò1Ø—T‘T˜& &Ð/?×/IÑ/IÓ/K�TÓL‰FÙ	Ü×'Ñ'Ð(QÐSWÓXÐXáØ—‘ØØ�D‰D�˜$ÓÜ—L‘L ! Ð,<×,BÑ,BÓ,DÔEð ó 
ˆð
 —‘�k 5¨%°Ó8ˆÜ�Q˜˜fÓ%ˆð €Mð —‘�k 4¨°Ó7ˆà€MùòG
s   Ã)5Pzaten::pixel_shufflec                ó�   — t        j                  |«      }|�|dk7  rt        j                  dd«      S | j                  d||d¬«      S )Né   r4   zonly support 4d inputÚDepthToSpaceÚCRD)Úblocksize_iÚmode_s)r	   rn   Ú_unimplementedrZ   )r^   r_   Úupscale_factorr§   s       rc   r4   r4   I  sK   € ô ×+Ñ+¨DÓ1€DØÐ˜D AšIÜ×-Ñ-¨oÐ?VÓWÐWØ�4‰4� °.Èˆ4ÓOÐOrd   zaten::upsample_nearest1dÚupsample_nearest1dé   Únearest)Údecoratezaten::upsample_nearest2dÚupsample_nearest2dr±   zaten::upsample_nearest3dÚupsample_nearest3dé   zaten::upsample_linear1dÚupsample_linear1dÚlinearzaten::upsample_bilinear2dÚupsample_bilinear2dzaten::upsample_trilinear3dÚupsample_trilinear3dzaten::upsample_bicubic2dÚupsample_bicubic2dÚcubicc                ó0   — t        j                  | ||«      S ©N)r	   Ú_interpolate_helper)Únamer‚   Úinterpolate_modes      rc   Ú_interpolaterÊ   R  s   € ô: ×.Ñ.¨t°SÐ:JÓKÐKrd   zaten::__interpolatec           	     ó8   — t        j                  | ||||||«      S rÆ   )r	   Ú__interpolate_helper)r^   r{   r>   Úscale_factorÚmodeÚalign_cornersÚrecompute_scale_factorÚ	antialiass           rc   Ú__interpolaterÒ   r  s'   € ô ×/Ñ/Ø	ˆ5�$˜ d¨MÐ;Qóð rd   zaten::gatherc                ó„   — t        j                  |d«      rt        j                  dd«      S | j                  d|||¬«      S )Nr|   r"   zsparse_grad == TrueÚGatherElementsr   )r	   Ú_maybe_get_constr¶   rZ   )r^   r_   r‚   r'   Úsparse_grads        rc   r"   r"   ƒ  s@   € ô ×'Ñ'¨°SÔ9Ü×-Ñ-¨hÐ8MÓNÐNØ�4‰4Ð  $¨°cˆ4Ó:Ð:rd   zaten::scatterc           
     óØ  — t         j                  j                  |«      }t        j                  |«      }t        j
                  |«      r| j                  d||||¬«      S t         j                  j                  |«      |k7  r?| j                  d|t         j                  j                  |«      j                  «       ¬«      }| j                  d||t        j                  | ||«      |¬«      S )NÚScatterElementsr   rg   rh   )
r   rW   rX   r	   Ú_maybe_get_scalarÚ	_is_valuerZ   rk   rt   Ú	expand_as)r^   r_   r‚   r'   ÚsrcÚsrc_types         rc   r<   r<   ‹  sÖ   € ô ×(Ñ(×3Ñ3°CÓ8€HÜ
×
+Ñ
+¨CÓ
0€CÜ× Ñ  Ô%Ø�t‰tÐ% t¨U°CÀˆtÓDÐDô ×$Ñ$×/Ñ/°Ó5¸ÒAØ—$‘$ØØÜ ×.Ñ.×9Ñ9¸$Ó?×IÑIÓKð ó ˆCð
 �t‰tØ˜t U¬F×,<Ñ,<¸QÀÀUÓ,KÐTWð ó 
ð 	
rd   zaten::cumsumÚnonec                ó|  — | j                  dt        j                  |t        j                  ¬«      ¬«      }|rn|j	                  «       j                  «       dk7  rMt        j                  |dd«      }| j                  d|t        j                  |«      j                  «       ¬«      }n|}| j                  d	||«      }|S )
NrN   rO   rQ   zprim::Constantr|   rP   rg   rh   ÚCumSum)rZ   r[   r\   ÚintÚnodeÚkindr	   Ú
_get_constr   rW   rk   )r^   r_   r‚   rP   Ú
dim_tensorÚparsed_dtypeÚcastÚcsums           rc   r   r      sŸ   € ð —‘�j¬%¯,©,°sÄ%Ç)Á)Ô*L�ÓM€JÙ�—‘“×"Ñ"Ó$Ð(8Ò8Ü&×1Ñ1°%¸¸gÓFˆØ�t‰tØ�Dœ{×8Ñ8¸ÓF×PÑPÓRð ó 
‰ð ˆØ�4‰4�˜$ 
Ó+€DØ€Krd   zaten::masked_selectc                ó~   — t        j                  | t        j                  | ||«      «      }| j                  d||«      S )NÚGatherND)rt   ÚnonzerorÛ   rZ   )r^   r_   Úmaskr'   s       rc   r/   r/   ¯  s4   € ä�N‰N˜1œf×.Ñ.¨q°$¸Ó=Ó>€EØ�4‰4�
˜D %Ó(Ð(rd   zaten::masked_scatterc                ó¬  — t        j                  | t        j                  | ||«      «      }t        j                  | |t        j                  dg«      «      }t        j                  | |t        j                  dg«      t        j                  dg«      t        j                  | |t        j                  dg«      «      ¬«      }| j                  d|||«      S )Nrˆ   r   rŠ   r�   )
rt   rë   rÛ   r	   r�   r[   Ú
LongTensorrš   r>   rZ   )r^   r_   rì   Úsourcer'   s        rc   r.   r.   µ  s®   € ä�N‰N˜1œf×.Ñ.¨q°$¸Ó=Ó>€Eô ×,Ñ,¨Q°¼×8HÑ8HÈ"ÈÓ8NÓO€FÜ×*Ñ*Ø	ØÜ×Ñ˜q˜cÓ"Ü×Ñ  Ó$Ü�[‰[˜˜E¤5×#3Ñ#3°Q°CÓ#8Ó9ô€Fð �4‰4�˜T 5¨&Ó1Ð1rd   z	aten::lenc           
     ó&  — t        j                  |«      s!|j                  «       j                  «       dk(  r| j	                  d|«      S t        | || j	                  dt        j                  dg«      ¬«      «      }t        j                  | |dg«      S )Nzonnx::SplitToSequenceÚSequenceLengthrN   r   rQ   )	r	   Ú_is_tensor_listrâ   rã   rZ   r>   r[   rî   Ú_squeeze_helper)r^   r_   Úsz_0s      rc   Ú_lenrõ   Æ  s{   € ô 	×'Ñ'¨Ô-Ø�9‰9‹;×ÑÓÐ!8Ò8à�t‰tÐ$ dÓ+Ð+Ü��4˜Ÿ™˜j´%×2BÑ2BÀAÀ3Ó2G˜ÓHÓI€DÜ×*Ñ*¨1¨d°Q°CÓ8Ð8rd   zaten::__getitem_c                ór   — t        j                  |«      r| j                  d||«      S ddlm}  || ||«      S )NÚ
SequenceAtr   )Ú
__getitem_)r	   rò   rZ   Útorch.onnx.symbolic_opset9rø   )r^   r_   r|   Úgetitems       rc   rø   rø   Ñ  s5   € ä×&Ñ& tÔ,à�t‰t�L $¨Ó*Ð*åDá�q˜$ Ó"Ð"rd   zaten::_set_itemc                óP   — | j                  d||«      }| j                  d|||«      S )NÚSequenceEraseÚSequenceInsertr�   )r^   Útensor_listr|   rK   s       rc   Ú	_set_itemrÿ   Ü  s*   € à—$‘$�¨°QÓ7€KØ�4‰4Ð  +¨q°!Ó4Ð4rd   zaten::appendc                ó(   — | j                  d||«      S ©Nrý   r�   )r^   r_   r\   s      rc   r   r   â  s   € à�4‰4Ð  $¨Ó/Ð/rd   z	aten::addc                ó^  — t        j                  |«      r�t        j                  |«      rl|j                  «       }|j	                  «       dk7  rt        j
                  dd«      S t        j                  |«      }|}|D ]  }| j                  d||«      }Œ |S t        j                  | |||«      S )Nzprim::ListConstructr   z6does not support adding dynamic tensor list to anotherrý   )
r	   rÚ   rò   râ   rã   r¶   r‘   rZ   rt   r   )r^   r_   ÚotherÚalphaÚtensor_list_nodeÚtensorsÚlÚts           rc   r   r   ç  s§   € ä× Ñ  Ô&¬?×+JÑ+JÈ4Ô+PØ Ÿ:™:›<ÐØ× Ñ Ó"Ð&;Ò;Ü"×1Ñ1ØÐOóð ô "×.Ñ.¨uÓ5ˆØˆØò 	-ˆAØ—‘Ð% q¨!Ó,‰Að	-àˆä�:‰:�a˜˜u eÓ,Ð,rd   zaten::insertc                ó*   — | j                  d|||«      S r  r�   )r^   r_   Úposr\   s       rc   r*   r*   ø  s   € à�4‰4Ð  $¨°Ó4Ð4rd   z	aten::popc                ó(   — | j                  d||«      S ©Nrü   r�   ©r^   rþ   r‚   s      rc   r5   r5   ý  ó   € à�4‰4� ¨cÓ2Ð2rd   zaten::Deletec                ó(   — | j                  d||«      S r  r�   r  s      rc   r   r     r  rd   z	aten::catc                ó°   — t        j                  |«      rt        j                  | ||«      S t        j                  |dd«      }| j                  d||¬«      S )Nr|   r‚   ÚConcatFromSequencer   )r	   r�   rt   r   rä   rZ   r  s      rc   r   r     sO   € ô ×&Ñ& {Ô3Ü�z‰z˜!˜[¨#Ó.Ð.ä×(Ñ(¨¨c°5Ó9ˆØ�t‰tÐ(¨+¸cˆtÓBÐBrd   zaten::stackc                ó²   — t        j                  |«      rt        j                  | ||«      S t        j                  |dd«      }| j                  d||d¬«      S )Nr|   r‚   r  r…   ©r€   Ú
new_axis_i)r	   r�   rt   rC   rä   rZ   r  s      rc   rC   rC     sO   € ä×&Ñ& {Ô3Ü�|‰|˜A˜{¨CÓ0Ð0ä×(Ñ(¨¨c°5Ó9ˆØ�t‰tÐ(¨+¸cÈaˆtÓPÐPrd   zaten::_unique2c                ó@   — | j                  d||d¬«      \  }}}}|||fS )NÚUniquer±   )Úsorted_iÚoutputsr�   )	r^   r_   ÚsortedÚreturn_inverseÚreturn_countsÚuÚ_indicesÚinverse_indicesÚcountss	            rc   Ú_unique2r     s8   € ð ,-¯4©4Ø�$ °ð ,0ó ,Ñ(€A€x� &ð ˆo˜vÐ%Ð%rd   zaten::unique_dimc                óB   — | j                  d|||d¬«      \  }}}}	|||	fS )Nr  r±   )r€   r  r  r�   )
r^   r_   r‚   r  r  r  r  r  r  r  s
             rc   rF   rF   #  s:   € ð
 ,-¯4©4Ø�$˜s¨V¸Qð ,0ó ,Ñ(€A€x� &ð ˆo˜vÐ%Ð%rd   z
aten::topkc           	     ó:   — t        j                  | ||||||¬«      S )N)Úlargestr  Úout)r	   Ú_topk_helper)r^   r_   Úkr‚   r#  r  r$  s          rc   rD   rD   .  s&   € ô ×'Ñ'Ø	ˆ4��C °¸Sôð rd   z
aten::sortc                ó6   — t        j                  | ||||¬«      S ©N)Ú	decendingr$  ©r	   Ú_sort_helper)r^   r_   r‚   r)  r$  s        rc   r?   r?   6  s   € ô ×'Ñ'¨¨4°À	ÈsÔSÐSrd   zaten::argsortc                ó@   — t        j                  | ||||¬«      \  }}|S r(  r*  )r^   r_   r‚   r)  r$  Ú_Úindicess          rc   r   r   <  s*   € ô !×-Ñ-Ø	ˆ4� 	¨sô�J€A€wð €Nrd   zaten::roundc                óŒ  — t        j                  |«      s|S |dk(  r| j                  d|«      S | j                  d|| j                  dt        j                  t        d|«      «      ¬«      «      }| j                  d|«      }| j                  d|| j                  dt        j                  t        dd|z  «      «      ¬«      «      S )Nr   ÚRoundÚMulrN   é
   rQ   rˆ   )r	   Ú_is_fprZ   r[   r\   Úpow)r^   r_   ÚdecimalsÚmulr;   s        rc   r;   r;   E  s§   € ô ×!Ñ! $Ô'ØˆØ�1‚}Ø�t‰t�G˜TÓ"Ð"Ø
�$‰$ˆu�d˜AŸD™D ´U·\±\Ä#ÀbÈ(ÓBSÓ5T˜DÓUÓ
V€CØ�D‰D�˜#Ó€EØ�4‰4Øˆu�a—d‘d˜:¬u¯|©|¼CÀÀBÈÁMÓ<RÓ/S�dÓTóð rd   zaten::remainderc                ó®   — t        j                  |«      st        j                  |«      rt        j                  | ||«      S | j	                  d||d¬«      S )NÚModr   )Úfmod_i)r	   r3  rt   r9   rZ   )r^   r{   r  s      rc   r9   r9   S  sI   € ä×Ñ˜eÔ$¬×(>Ñ(>¸uÔ(EÜ×Ñ  5¨%Ó0Ð0Ø�4‰4��u˜e¨Aˆ4Ó.Ð.rd   zaten::splitc                óÀ  — t        j                  ||«      �s¥| j                  d|||¬«      }|€|S t        j                  |«      �rt	        t        j
                  |«      «      |k(  röt        j
                  |«      D �cg c]  }t        j                  | |dg«      ‘Œ }}| j                  dt        j                  dgt        j                  ¬«      ¬«      }| j                  dt        j                  |gt        j                  ¬«      ¬«      }	g }
t        |«      D ]>  }| j                  d|||   «      }|
j                  | j                  d||||	«      «       |}Œ@ |
S t        |«      D �cg c]J  }| j                  d	|| j                  dt        j                  |gt        j                  ¬«      ¬«      «      ‘ŒL c}S t        j                  | ||||«      S c c}w c c}w )
NÚSplitToSequencer   r   rN   rO   rQ   ÚAddÚSlicer÷   )r	   Ú_is_split_staticrZ   r�   r“   r‘   r–   r[   r\   Úlongr”   r   rt   rA   )r^   r_   Úsplit_size_or_sizesr‚   Ú_outputsÚ	split_outrK   Úsplit_sizesÚstartÚaxisÚresr|   Úends                rc   rA   rA   Z  sº  € ô ×+Ñ+Ð,?ÀÕJØ—D‘DÐ*¨DÐ2EÈc�DÓRˆ	ØÐØÐô ×+Ñ+Ð,?Õ@Ü”O×0Ñ0Ð1DÓEÓFÈ(ÒRô )×5Ñ5Ð6IÓJöàô  ×1Ñ1°!°Q¸¸Õ<ðˆKð ð —D‘D˜¬U¯\©\¸1¸#ÄUÇZÁZÔ-P�DÓQˆEØ—4‘4˜
¬E¯L©L¸#¸ÄeÇjÁjÔ,Q�4ÓRˆDØˆCÜ˜8“_ò �Ø—d‘dØ˜5 +¨a¡.ó�ð —
‘
˜1Ÿ4™4 ¨¨u°c¸4Ó@ÔAØ‘ðð ˆJô ˜8“_ö
ð ð �D‰DØØØ—‘�Z¬¯©°q°cÄÇÁÔ)L�ÓMõò
ð 	
ô �|‰|˜A˜tÐ%8¸#¸xÓHÐHùò/ùò
s   Á?GÅ+AGzaten::split_with_sizesc                ó    — t        | ||||«      S rÆ   )rA   )r^   r_   rC  r‚   rA  s        rc   r@   r@   €  s   € ô ��D˜+ s¨HÓ5Ð5rd   zaten::unbindc                óÊ   — |€J| j                  d|| j                  dt        j                  dt        j                  ¬«      ¬«      |d¬«      S t	        j
                  | |||«      S )Nr;  rN   r…   rO   rQ   r   )r€   Ú
keepdims_i)rZ   r[   r\   r?  rt   rE   )r^   r_   r‚   rA  s       rc   rE   rE   †  sb   € ð ÐØ�t‰tØØØ�D‰D�¤U§\¡\°!¼5¿:¹:Ô%FˆDÓGØØð ó 
ð 	
ô �}‰}˜Q  c¨8Ó4Ð4rd   c                óF  — t        j                  |«      s?t        j                  |«      r*t        j                  |«      r| j	                  d|dd¬«      }t        j                  | || j	                  dt        j                  dg«      ¬«      «      }t        j                  |«      }|€#| j	                  d| j	                  d|«      «      }n6| j	                  dt        j                  |t        j                  ¬	«      ¬«      }| j	                  d
| j	                  d|| j	                  dt        j                  dt        j                  ¬	«      ¬«      «      |«      }| j	                  d|t        j                  j                  ¬«      }| j	                  d|| j	                  d|t        j                  dgt        j                  ¬	«      ¬«      d¬«      }t        j                  | || j	                  dt        j                  ddg«      ¬«      «      }| j	                  dt        j                   | |dg«      ddg¬«      }t        j                  | || j	                  dt        j                  dg«      ¬«      «      }| j	                  d|t        j                  j                  ¬«      }|S )a!  Generate paddings in ONNX order based on pad in pytorch.

    Args:
        input: the input tensor.
        pad: the paddings in pytorch.
            The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ..., dim_m_begin, dim_m_end,
            where m is in range [0, n].
    r  r   r…   r  rN   rQ   ÚSizer‡   rO   ÚSubr1  é   rg   rh   r‰   rŽ   r   rˆ   Ú	Transpose©Úperm_i)r	   r�   Ú_is_listÚ_is_scalar_listrZ   rt   r>   r[   r\   rn   Úint64Ú_C_onnxÚTensorProtoDataTypeÚINT64r�   Úopset10Úflip)r^   r{   r3   Úpad_lenr§   Ú	extensionÚpaddingsÚ	padding_cs           rc   Ú_prepare_onnx_paddingsr^  •  s  € ô ×+Ñ+¨CÔ0Ü×$Ñ$ SÔ)Ü×+Ñ+¨CÔ0à�d‰dÐ'¨°QÀ1ˆdÓEˆô
 �k‰k˜!˜S !§$¡$ z¼5¿<¹<ÈÈÓ;L $Ó"MÓN€Gä×+Ñ+¨EÓ2€DØ€|Ø�t‰t�F˜AŸD™D ¨%Ó0Ó1‰à�t‰t�J¬¯©°TÄÇÁÔ(MˆtÓNˆØ—‘ØØ	�‰ˆU�D˜!Ÿ$™$˜z´5·<±<ÀÌÏÉÔ3U˜$ÓVÓWØó€Ið �$‰$ˆv�s¤×!<Ñ!<×!BÑ!Bˆ$Ó
C€CØ�t‰tØØØ	�‰Ø˜y´%·,±,À¸sÌ%Ï+É+Ô2Vð 	ó 	
ð ð ó €Hô ×.Ñ.Ø	ˆ8�Q—T‘T˜*¬e¯l©l¸BÀ¸7Ó.C�TÓDó€Hð �t‰t�K¤§¡¨a°¸A¸3Ó!?ÈÈAÈˆtÓO€HÜ×.Ñ.Ø	ˆ8�Q—T‘T˜*¬e¯l©l¸B¸4Ó.@�TÓAó€Hð —‘�V˜X¬G×,GÑ,G×,MÑ,M�ÓN€IØÐrd   zaten::constant_pad_ndc                ó¢   — d}t        j                  |«      }t        j                  ||«      }t        | ||«      }| j	                  d||||¬«      S )NÚconstantÚPad©rµ   )r	   rÙ   Ú_if_scalar_type_asr^  rZ   )r^   r{   ÚpaddingÚvaluerÎ   r3   s         rc   r   r   Î  sP   € à€DÜ×-Ñ-¨eÓ4€EÜ×.Ñ.¨u°eÓ<€EÜ
   E¨7Ó
3€CØ�4‰4��u˜c 5°ˆ4Ó6Ð6rd   zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                óJ   — d}t        | ||«      }| j                  d|||¬«      S )NÚreflectra  rb  ©r^  rZ   ©r^   r{   rd  rÎ   r\  s        rc   r7   r7   ×  s.   € ð €DÜ% a¨°Ó8€HØ�4‰4��u˜h¨tˆ4Ó4Ð4rd   zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                óJ   — d}t        | ||«      }| j                  d|||¬«      S )NÚedgera  rb  rh  ri  s        rc   r:   r:   à  s.   € ð €DÜ% a¨°Ó8€HØ�4‰4��u˜h¨tˆ4Ó4Ð4rd   z	aten::padc                ó  — t        j                  |d«      }|dk(  rt        | ||«      S |dk(  rt        | ||«      S |dk(  rt	        | |||«      S |dk(  rt        j                  | ||«      S t        j                  d|› �|«      ‚)NÚsÚ	replicaterg  r`  ÚcircularzUnrecognized padding mode )	r	   r’   r:   r7   r   rt   Ú_pad_circularr   rž   )r^   r{   r3   rÎ   re  s        rc   r3   r3   é  s•   € ô ×%Ñ% d¨CÓ0€DØˆ{ÒÜ˜q %¨Ó-Ð-Ø	�Ò	Ü˜a ¨Ó,Ð,Ø	�Ò	Ü˜q %¨¨eÓ4Ð4Ø	�Ò	Ü×#Ñ# A u¨cÓ2Ð2ä×'Ñ'Ð*DÀTÀFÐ(KÈUÓSÐSrd   zaten::linalg_detc                ó&   — | j                  d|«      S )NÚDetr�   )r^   r_   s     rc   r+   r+   þ  s   € à�4‰4��tÓÐrd   zaten::logdetc                óB   — t        j                  | t        | |«      «      S rÆ   )rt   Úlogr+   )r^   r{   s     rc   r-   r-     s   € ä�:‰:�aœ A uÓ-Ó.Ð.rd   úaten::arangec                óx  — d„ }t        |«      dk(  r´t        d„ |D «       «      r¢t        j                  }| j	                  dt        j
                  |d   |¬«      ¬«      }| j	                  dt        j
                  |d   |¬«      ¬«      }| j	                  dt        j
                  d|¬«      ¬«      }| j	                  d	|||«      S t        |«      dk(  st        |«      d
k(  r¼t        |«      dk(  rd }n ||d   «      }t        j                  | |d   |¬«      \  }}}}| j	                  dt        j
                  d|j                  «       ¬«      ¬«      }	| j	                  dt        j
                  d|j                  «       ¬«      ¬«      }| j	                  d	|	||«      S t        |«      dk(  st        |«      dk(  rXt        |«      dk(  rd }n ||d   «      }t        j                  | |d   |d   |d   |¬«      \  }
}}}| j	                  d	|||«      S t        |«      dk(  ry ||d   «      }t        j                  | |d   |d   |¬«      \  }}}}| j	                  dt        j
                  d|j                  «       ¬«      ¬«      }| j	                  d	|||«      S t        j                  ddt        |«      › d�«      S )Nc                ó2   — t        j                  | d«      } | S )Nr|   )r	   rÕ   rO   s    rc   Ú_get_arange_dtypez!arange.<locals>._get_arange_dtype
  s   € Ü×0Ñ0°¸Ó<ˆØˆrd   rN  c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wrÆ   )Ú
isinstancerá   )Ú.0Úvals     rc   ú	<genexpr>zarange.<locals>.<genexpr>  s   è ø€ ÒC°sœj¨¬c×2ÑCùs   ‚rN   r   rO   rQ   r…   ÚRanger¾   )rG  rP   r±   é   r¹   )rD  rG  ÚsteprP   rz   )rD  rG  rP   ru  zwith z
 arguments)
r“   Úallr[   rT  rZ   r\   r	   Ú_arange_cast_helperrP   r¶   )r^   Úargsrx  rP   rD  rG  Údelta_defaultÚtype_r€  Ústart_defaultr-  s              rc   r   r     s¨  € òô ˆ4ƒy�A‚~œ#ÑC¸dÔCÔCä—‘ˆà—‘ØÜ—L‘L  a¡°Ô6ð ó 
ˆð
 �d‰dØÜ—L‘L  a¡°Ô6ð ó 
ˆð
 Ÿ™ØÜ—L‘L ¨%Ô0ð ó 
ˆð �t‰t�G˜U C¨Ó7Ð7Ü	ˆT‹�aŠœ3˜t›9¨š>Üˆt‹9˜Š>à‰Eñ & d¨1¡gÓ.ˆEÜ"1×"EÑ"EØ�4˜‘7 %ô#
Ñˆˆs�E˜4ð Ÿ™ØÜ—L‘L ¨%¯+©+«-Ô8ð ó 
ˆð Ÿ™ØÜ—L‘L ¨%¯+©+«-Ô8ð ó 
ˆð �t‰t�G˜]¨C°Ó?Ð?Ü	ˆT‹�aŠœ3˜t›9¨š>Üˆt‹9˜Š>à‰Eñ & d¨1¡gÓ.ˆEÜ-×AÑAØ�T˜!‘W $ q¡'°°Q±¸uô
Ñˆˆ3��tð �t‰t�G˜U C¨Ó.Ð.Ü	ˆT‹�aŠá! $ q¡'Ó*ˆÜ"1×"EÑ"EØ�T˜!‘W $ q¡'°ô#
Ñˆˆs�E˜4ð Ÿ™ØÜ—L‘L ¨%¯+©+«-Ô8ð ó 
ˆð �t‰t�G˜U C¨Ó7Ð7ä×-Ñ-Ø˜e¤C¨£I ;¨jÐ9ó
ð 	
rd   zaten::_dim_arangec           
     ó¸   — | j                  d|«      }| j                  d|| j                  dt        j                  |«      ¬«      d¬«      }t        | |dd d d «      S )Nr‡   r~   rN   rQ   r   r   r±   )rZ   r[   r\   r   )r^   Úliker‚   Ú
like_shapeÚstops        rc   Ú_dim_aranger‹  P  s^   € ð —‘�g˜tÓ$€JØ�4‰4Ø�*˜aŸd™d :´u·|±|ÀCÓ7H˜dÓIÐRSð ó €Dô �!�T˜1˜d D¨$Ó/Ð/rd   z
aten::size)Úquantize_outputc                óX   — |€| j                  d|«      S t        j                  | ||«      S )Nr‡   )rZ   r	   Ú_size_helper©r^   r_   r‚   s      rc   r>   r>   Z  s/   € ð €{Ø�t‰t�G˜TÓ"Ð"Ü×'Ñ'¨¨4°Ó5Ð5rd   zaten::squeezec                ó  — |€| j                  d|«      S t        j                  |«      st        j                  | ||g«      S t        j                  |dd«      }t        j
                  |«      }|}|�
|dk  r||z  }t        j                  ||«      }|dk  r|�|�€| j                  dt        j                  |g«      ¬«      }t        j                  | ||«      }| j                  dt        j                  dt        j                  ¬«      ¬«      }| j                  d	||«      }	t        j                  | d
|	d¬«      \  }
\  }}}t        j                  |||g«      }t        j                  |j                   |«       |j                  d|«      }t        j                  |j                   |«       |
S |}|dkD  r>t#        j$                  dt'        |«      z   dz   dz   t'        |«      z   dz   dz   dz   «       |S t        j                  | ||g«      S )NÚSqueezer|   r‚   r   rN   rQ   r…   rO   ÚEqualÚIfrN  )Ún_blocksÚIdentityz5This model contains a squeeze operation on dimension z. The size of z%this dimension in the given input is z. The model will zWbe exported without the squeeze node. If the model is intended to be used with dynamic z7input shapes, please export with dynamic_axes argument.)rZ   r	   Ú_is_constantró   rä   rn   Ú_get_tensor_dim_sizer[   r\   rŽ  ÚonesrT  r   Úadd_op_with_blocksr   Ú_add_output_to_blockÚblockÚwarningsÚwarnÚstr)r^   r_   r‚   Ú
input_rankÚadjusted_dimÚdim_sizeÚdim_constantr>   Ú	const_oneÚcondÚif_opÚ
if_contextÚelse_contextr-  Úsqueeze_Ú	identity_s                   rc   rB   rB   b  s  € à
€{Ø�t‰t�I˜tÓ$Ð$ô ×'Ñ'¨Ô,Ü×.Ñ.¨q°$¸¸Ó>Ð>ä
×
$Ñ
$ S¨#¨uÓ
5€Cä ×1Ñ1°$Ó7€JØ€LØÐ #¨¢'Ø˜
Ñ"ˆÜ×3Ñ3°D¸,ÓG€HØˆaŠ�JÐ&¨8Ñ+;ð —t‘t˜J´·±¸c¸UÓ0C�tÓDˆÜ×+Ñ+¨A¨t°\ÓBˆØ—D‘D˜¬U¯Z©Z¸ÄÇÁÔ-M�DÓNˆ	Ø�t‰t�G˜T 9Ó-ˆä/8×/KÑ/KØˆt�T Aô0
Ñ,ˆÑ)�
˜L¨1ô #×2Ñ2°:¸tÀcÀUÓKˆÜ×"Ñ" :×#3Ñ#3°XÔ>Ø —O‘O J°Ó5ˆ	Ü×"Ñ" <×#5Ñ#5°yÔAØˆð €CØ�!‚|Ü�‰ØCÜ�#‹hñàñð 6ñ6ô �(‹mñ	ð
 "ñ"ð hñhð HñHô		
ð ˆÜ×*Ñ*¨1¨d°S°EÓ:Ð:rd   zaten::unsqueezec                óŠ   — t        j                  |«      rt        j                  |dd«      }t        j                  | ||g«      S )Nr|   r‚   )r	   r–  rä   r–   r�  s      rc   rG   rG   •  s;   € ä×#Ñ# CÔ(Ü×(Ñ(¨¨c°5Ó9ˆä×,Ñ,¨Q°°s°eÓ<Ð<rd   zaten::mmc                ó.   — | j                  d||dd¬«      S )NÚGemmg        g      ð?)Úbeta_fÚalpha_fr�   )r^   r_   r  s      rc   r0   r0   �  s   € à�4‰4�˜˜e¨C¸ˆ4Ó=Ð=rd   zaten::indexc                óÌ  — t        j                  |«      rt        j                  |«      }n|g}t        |«      dk(  r’|d   }t        j                  |«      sxt        j
                  |«      s:t        j                  j                  |«      t        j                  j                  k(  r)t        j                  | |«      }| j                  d||«      S t        j                  | ||«      S )Nr…   r   rê   )r	   r�   r‘   r“   rj   r•   r   rW   rX   ÚUINT8rt   rë   rZ   r'   )r^   r_   r'   r.  s       rc   r'   r'   ¢  sº   € ä×&Ñ& uÔ-Ü!×.Ñ.¨uÓ5‰à�'ˆô ˆ7ƒ|�qÒØ˜‘
ˆÜ×'Ñ'¨Ô.Ü×$Ñ$ UÔ+Ü×(Ñ(×3Ñ3°EÓ:Ü×(Ñ(×.Ñ.ò/ô —N‘N 1 eÓ,ˆEØ—4‘4˜
 D¨%Ó0Ð0Ü�<‰<˜˜4 Ó'Ð'rd   zaten::index_fillc                óÜ   — t        j                  | |||«      \  }}t        j                  |«      }t        j                  ||«      }t	        j
                  | ||d «      }t        | ||||«      S rÆ   )r	   Ú_index_fill_reshape_helperrÙ   rc  rt   r—   r<   )r^   r_   r‚   r'   re  Úexpanded_index_shapeÚexpanded_indexÚexpanded_values           rc   r&   r&   ¶  sm   € ä+:×+UÑ+UØ	ˆ4��eó,Ñ(Ð˜.ô ×-Ñ-¨eÓ4€EÜ×.Ñ.¨u°dÓ;€EÜ—]‘] 1 eÐ-AÀ4ÓH€NÜ�1�d˜C °Ó@Ð@rd   zaten::index_copyc                óV   — t        j                  | |||«      \  }}t        | ||||«      S rÆ   )r	   r²  r<   )r^   r_   r‚   r'   rï   Ú_expanded_index_shaper´  s          rc   r(   r(   Á  s6   € ä,;×,VÑ,VØ	ˆ4��eó-Ñ)Ð˜>ô �1�d˜C °Ó8Ð8rd   zaten::bitwise_right_shiftzaten::__rshift_c                ó¼  — t         j                  j                  |t         j                  j                  «      t         j                  j                  |«      k7  r?| j	                  d|t         j                  j                  |«      j                  «       ¬«      }t         j                  j                  |t         j                  j                  «      t         j                  j                  k(  r| j	                  d||d¬«      S | j	                  dt        j                  dt        j                  ¬«      ¬	«      }t        j                  |«      s,| j	                  d|t        j                  j                  ¬«      }| j	                  d
||«      }| j	                  d|t         j                  j                  |«      j                  «       ¬«      }| j	                  d||«      }|S )Nrg   rh   ÚBitShiftÚRIGHT©Údirection_srN   rN  rO   rQ   ÚPowÚDiv©r   rW   rX   rm   rZ   rk   r°  r[   r\   Úfloat32r	   r3  rU  rV  rY   )r^   r_   r  ÚtwoÚtwo_powÚrshifts         rc   Ú	__rshift_rÄ  É  s{  € ô
 × Ñ ×+Ñ+ØŒ{×(Ñ(×2Ñ2óä	×	"Ñ	"×	-Ñ	-¨dÓ	3ò4ð —‘ØØÜ×*Ñ*×5Ñ5°dÓ;×EÑEÓGð ó 
ˆô 	×!Ñ!×,Ñ,¨T´;×3LÑ3L×3VÑ3VÓWÜ×$Ñ$×*Ñ*ò	+ð �t‰t�J  e¸ˆtÓAÐAà
�$‰$ˆz¤5§<¡<°¼¿¹Ô#Gˆ$Ó
H€Cä×!Ñ! $Ô'Ø—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ�d‰d�5˜#˜uÓ%€GØ�d‰dØØÜ×&Ñ&×1Ñ1°$Ó7×AÑAÓCð ó €Gð
 �T‰T�%˜˜wÓ'€FØ€Mrd   zaten::bitwise_left_shiftzaten::__lshift_c                ó¼  — t         j                  j                  |t         j                  j                  «      t         j                  j                  |«      k7  r?| j	                  d|t         j                  j                  |«      j                  «       ¬«      }t         j                  j                  |t         j                  j                  «      t         j                  j                  k(  r| j	                  d||d¬«      S | j	                  dt        j                  dt        j                  ¬«      ¬	«      }t        j                  |«      s,| j	                  d|t        j                  j                  ¬«      }| j	                  d
||«      }| j	                  d|t         j                  j                  |«      j                  «       ¬«      }| j	                  d||«      }|S )Nrg   rh   r¹  ÚLEFTr»  rN   rN  rO   rQ   r½  r1  r¿  )r^   r_   r  rÁ  rÂ  Úlshifts         rc   Ú	__lshift_rÈ  ë  s{  € ô
 × Ñ ×+Ñ+ØŒ{×(Ñ(×2Ñ2óä	×	"Ñ	"×	-Ñ	-¨dÓ	3ò4ð —‘ØØÜ×*Ñ*×5Ñ5°dÓ;×EÑEÓGð ó 
ˆô 	×!Ñ!×,Ñ,¨T´;×3LÑ3L×3VÑ3VÓWÜ×$Ñ$×*Ñ*ò	+ð �t‰t�J  e¸ˆtÓ@Ð@à
�$‰$ˆz¤5§<¡<°¼¿¹Ô#Gˆ$Ó
H€Cä×!Ñ! $Ô'Ø—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ�d‰d�5˜#˜uÓ%€GØ�d‰dØØÜ×&Ñ&×1Ñ1°$Ó7×AÑAÓCð ó €Gð
 �T‰T�%˜˜wÓ'€FØ€Mrd   c                óô  — | j                  d|| j                  dt        j                  |dz  «      ¬«      «      }| j                  d|| j                  dt        j                  ||dz
  z  «      ¬«      «      }| j                  d| j                  dt        j                  d«      ¬«      || j                  dt        j                  |«      ¬«      «      }t        j                  d||z  |«      }| j                  d|j	                  d«      ¬«      }t        j                  | |dg«      }t        j                  | || j                  dt        j                  d	dg«      ¬«      «      }	| j                  d||	«      }
|
S )
Nr<  rN   rN  rQ   rM  r…   r~  r   rˆ   )rZ   r[   r\   r   rG   r	   r–   r�   )r^   Úinput_dÚkernel_size_dÚ
dilation_dÚ	padding_dÚstride_dÚblocks_dÚblocks_d_indicesÚkernel_gridÚkernel_maskÚ
block_masks              rc   Ú_get_im2col_indices_along_dimrÔ    sU  € ð �t‰tØˆw˜Ÿ™˜Z´·±¸iÈ!¹mÓ1L˜ÓMó€Hð �t‰tØØØ	�‰ˆZ¤§¡¨j¸MÈAÑ<MÑ.NÓ!OˆÓPó€Hð —t‘tØØ	�‰ˆZ¤§¡¨a£ˆÓ1ØØ	�‰ˆZ¤§¡¨hÓ!7ˆÓ8ó	Ðô —,‘,˜q -°*Ñ"<¸jÓI€KØ—$‘$�z¨;×+@Ñ+@ÀÓ+C�$ÓD€Kô '×8Ñ8Ø	Ð˜a˜SóÐô "×1Ñ1Ø	ˆ;˜Ÿ™˜Z´·±¸rÀ1¸gÓ1F˜ÓGó€Kð —‘�eÐ-¨{Ó;€JàÐrd   c           	     ó‚   — | j                  dt        j                  dd||gdz  «      ¬«      }| j                  d||«      S )NrN   r   rN  rQ   ra  )rZ   r[   rî   )r^   r{   Ú	padding_hÚ	padding_wr3   s        rc   Ú_get_im2col_padded_inputrØ  8  sC   € ð �$‰$ˆz¤5×#3Ñ#3°Q¸¸9ÀiÐ4PÐSTÑ4TÓ#Uˆ$Ó
V€CØ�4‰4��u˜cÓ"Ð"rd   c                ó  — t        | || j                  dt        j                  d«      ¬«      «      }t        | || j                  dt        j                  d«      ¬«      «      }| j                  d|| j                  dt        j                  ||z  «      ¬«      «      }| j                  dt	        j
                  | |dg«      t	        j
                  | |dg«      | j                  dt        j                  dg«      ¬«      d¬«      S )	NrN   r   rQ   r…   r1  r‰   rˆ   r   )r>   rZ   r[   r\   r	   r–   )r^   r{   Úkernel_hÚkernel_wÚ	batch_dimÚchannel_dimÚchannel_unfoldeds          rc   Ú_get_im2col_output_shaperß  @  sÛ   € Ü�Q˜˜qŸt™t J¼¿¹ÀQ»˜tÓHÓI€IÜ�q˜% §¡ j¼%¿,¹,Àq»/ Ó!JÓK€KØ—t‘tØˆ{˜AŸD™D ´U·\±\À(ÈXÑBUÓ5V˜DÓWóÐð �4‰4ØÜ×)Ñ)¨!¨Y¸¸Ó<Ü×)Ñ)¨!Ð-=À¸sÓCØ	�‰ˆZ¤§¡¨r¨dÓ!3ˆÓ4Øð ó ð rd   zaten::im2colÚisc           
     ó<  — t        | || j                  dt        j                  d«      ¬«      «      }t        | || j                  dt        j                  d«      ¬«      «      }|d   |d   }	}|d   |d   }}
|d   |d   }}|d   |d   }}t	        | ||||
|«      }t	        | |||||	«      }t        | |||«      }t        | ||
|«      }| j                  d||d¬«      }| j                  d||d	¬«      }| j                  d
|g d¢¬«      }t        j                  | ||«      S )NrN   rN  rQ   r¹   r   r…   r~   r   r±   rO  )r   r…   rN  r±   r¹   r¾   rP  )	r>   rZ   r[   r\   rÔ  rß  rØ  r	   r�   )r^   r{   Úkernel_sizeÚdilationrd  ÚstrideÚinput_hÚinput_wÚstride_hÚstride_wrÖ  r×  Ú
dilation_hÚ
dilation_wrÚ  rÛ  Úblocks_row_indicesÚblocks_col_indicesÚoutput_shapeÚpadded_inputÚoutputs                        rc   r%   r%   P  s<  € ô �1�e˜QŸT™T *´e·l±lÀ1³o˜TÓFÓG€GÜ�1�e˜QŸT™T *´e·l±lÀ1³o˜TÓFÓG€Gà ™ F¨1¡Iˆh€HØ" 1™: w¨q¡zˆy€IØ% a™[¨(°1©+�
€JØ$ Q™¨°Q©ˆh€Hä6Ø	ˆ7�H˜j¨)°XóÐô 7Ø	ˆ7�H˜j¨)°XóÐô ,¨A¨u°hÀÓI€LÜ+¨A¨u°iÀÓK€Lð2 �T‰T�(˜LÐ*<ÀQˆTÓG€FØ�T‰T�(˜FÐ$6¸qˆTÓA€FØ�T‰T�+˜vÒ.@ˆTÓA€FÜ×*Ñ*¨1¨f°lÓCÐCrd   zaten::narrowc                ó\   — | j                  d||«      }t        j                  | ||||¬«      S )Nr<  rŠ   )rZ   r	   rš   )r^   r{   r‚   rD  ÚlengthrG  s         rc   r1   r1   …  s.   € à
�$‰$ˆu�e˜VÓ
$€CÜ×(Ñ(¨¨E¸ÀEÐPSÔTÐTrd   zaten::flattenc                óV  — t        j                  |«      }|dk(  r|S |dk(  r#|dk(  s
|�G||dz
  k(  r?| j                  d||¬«      S |dk(  r&|dk(  s
|�||dz
  k(  r| j                  d||dz   ¬«      S |€t        j                  dd	«      S |dk  r||z   }t        j                  | ||||«      S )
Nr…   rˆ   ÚFlattenr   r   éþÿÿÿrN  r‚   zfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.)r	   rn   rZ   r¶   Ú_flatten_helper)r^   r{   Ú	start_dimÚend_dimr‚   s        rc   r!   r!   ‹  sÓ   € ô ×
*Ñ
*¨5Ó
1€CØ
ˆa‚xØˆà�A‚~Ø�bŠ=˜S˜_°¸CÀ!¹GÒ1CØ—4‘4˜	 5°�4Ó;Ð;Ø	�aŠØ�bŠ=˜S˜_°¸CÀ!¹GÒ1CØ—4‘4˜	 5°¸1±�4Ó=Ð=Ø
€{Ü×-Ñ-Øð7ó
ð 	
ð �‚{Ø˜‘-ˆä×*Ñ*¨1¨e°YÀÈÓMÐMrd   zaten::linalg_vector_normr„   c                ó6   — t        j                  | |||||«      S rÆ   )r	   Ú_linalg_vector_norm_helper)r^   r_   Úordr‚   ÚkeepdimrP   s         rc   r,   r,   ¦  s    € ô ×5Ñ5°a¸¸sÀCÈÐRWÓXÐXrd   zaten::embedding_bagc
                ó>   — t        j                  | |||||||||	«
      S rÆ   )r	   Ú_embedding_bag_helper)
r^   Úembedding_matrixr.  ÚoffsetsÚscale_grad_by_freqrÎ   ÚsparseÚper_sample_weightsÚinclude_last_offsetÚpadding_idxs
             rc   r   r   ³  s5   € ô ×0Ñ0Ø	ØØØØØØØØØóð rd   zaten::embedding_renormc           
     ód  — | j                  d|«      }| j                  d||«      }t        |«      }|dk(  rd}n"|dk(  rd}nt        j                  d|› d�|«      ‚| j                  ||dgd¬	«      }| j                  d
|| j                  dt	        j
                  d«      ¬«      «      }	t	        j
                  |«      }| j                  d||	«      }
| j                  d||
«      }| j                  d| j                  d||«      ||«      }| j                  d|t        j                  | |dg«      |«      S )Nr  r~   r…   ÚReduceL1rN  ÚReduceL2z8Unsupported: ONNX export of embedding_renorm with norm: z. Only 1. and 2. are supported.)Úaxes_irJ  r<  rN   gH¯¼šò×z>rQ   r¾  r1  ÚWhereÚGreaterr�   )rZ   rá   r   rž   r[   r\   r	   r–   )r^   Úweightr.  Úmax_normÚ	norm_typeÚunique_indicesÚpartial_weightÚnorm_iÚpartial_weight_normÚpartial_weight_norm_ÚscalesÚpartial_weight_renorms               rc   r    r    Ï  sI  € ð —T‘T˜( GÓ,€NØ—T‘T˜( F¨NÓ;€NÜ�‹^€FØ�‚{Ø‰	Ø	�1ŠØ‰	ä×'Ñ'ØFÀvÀhð O,ð ,àó
ð 	
ð
 Ÿ$™$˜y¨.À!ÀÐQR˜$ÓSÐð Ÿ4™4ØÐ" A§D¡D¨¼U¿\¹\È$Ó=O DÓ$PóÐô �|‰|˜HÓ%€HØ�T‰T�%˜Ð#7Ó8€FØŸD™D ¨¸Ó?ÐØŸD™DØØ	�‰ˆYÐ+¨XÓ6ØØó	Ðð �4‰4ØØÜ×)Ñ)¨!¨^¸a¸SÓAØó	ð rd   zaten::chunkc                óä  — | j                  d| j                  d|«      |d¬«      }| j                  d|| j                  dt        j                  dgt        j                  ¬«      ¬	«      «      }| j                  d
| j                  d||«      |«      }t	        j
                  | ||d «      | j                  d|| j                  d||«      «      g} | j                   dg|¢­ddiŽ}t        | |||«      S )Nr~   r‡   r   r   rM  rN   r…   rO   rQ   r¾  r<  r1  r‰   r€   )rZ   r[   r\   r?  rt   r—   rA   )r^   r_   Úchunksr‚   r¡  Úchunk_size_sÚ
chunk_sizeÚ	chunk_vecs           rc   r   r   ö  sÞ   € ð �t‰t�H˜aŸd™d 7¨DÓ1°3¸qˆtÓA€HØ—4‘4Øˆv�q—t‘t˜J´·±¸a¸SÌÏ
É
Ô0S�tÓTó€Lð —‘�e˜QŸT™T %¨°<Ó@À&ÓI€Jô 	�‰�a˜ \°4Ó8Ø	�‰ˆU�H˜aŸd™d 5¨*°lÓCÓDð€Ið �—‘�XÐ4 	Ò4°!Ñ4€IÜ��D˜) SÓ)Ð)rd   zaten::normalc	                óÈ   — |�-t        j                  |«      st        j                  | ||d «      }t        j                  | || j                  d|«      «      }	t        | |	|«      S )NÚRandomNormalLike)r	   rj   rt   r—   r6  rZ   r   )
r^   ÚmeanÚstdÚsizesÚ	generatorrP   ÚlayoutÚdeviceÚ
pin_memoryr¯   s
             rc   r2   r2     sX   € ð" Ð¤×!9Ñ!9¸%Ô!@Ü�}‰}˜Q  e¨TÓ2ˆÜ�Z‰Z˜˜3 §¡Ð%7¸Ó >Ó?€FÜˆq�&˜$ÓÐrd   zaten::atleast_1dc                ó:  — t        j                  |«      r¯t        j                  |«      ršt        j                  |«      }g }|D ]k  }|}t        j                  |«      }|dk(  r<t        j
                  | || j                  dt        j                  dg«      ¬«      «      }|j                  |«       Œm  | j                  dg|¢­Ž S t        j                  |«      }|dk(  r<t        j
                  | || j                  dt        j                  dg«      ¬«      «      }|S )Nr   rN   r…   rQ   ÚSequenceConstruct)
r	   rÚ   r�   r‘   rn   r�   rZ   r[   r\   r   ©r^   r_   rþ   Únew_tensor_listr\   Ú
new_tensorÚtensor_ranks          rc   r   r     s  € ô
 × Ñ  Ô&¬?×+JÑ+JÈ4Ô+PÜ%×2Ñ2°4Ó8ˆØˆØ!ò 	/ˆFØˆJÜ)×:Ñ:¸6ÓBˆKØ˜aÒÜ,×<Ñ<Ø�z 1§4¡4¨
¼E¿L¹LÈ!ÈÓ<M 4Ó#Nó�
ð ×"Ñ" :Õ.ð	/ð ˆq�t‰tÐ'Ð:¨/Ò:Ð:ä!×2Ñ2°4Ó8€KØ�aÒÜ×.Ñ.Øˆt�Q—T‘T˜*¬e¯l©l¸A¸3Ó.?�TÓ@ó
ˆð €Krd   zaten::atleast_2dc                ó¼  — t        j                  |«      rÏt        j                  |«      rºt        j                  |«      }g }|D ]‹  }|}t        j                  |«      }|dk(  r>t        j
                  | || j                  dt        j                  ddg«      ¬«      «      }n|dk(  rt        j                  | |dg¬«      }|j                  |«       Œ�  | j                  dg|¢­Ž S t        j                  |«      }|dk(  r?t        j
                  | || j                  dt        j                  ddg«      ¬«      «      }|S |dk(  rt        j                  | |dg¬«      }|S )Nr   rN   r…   rQ   ©r  r$  ©r	   rÚ   r�   r‘   rn   r�   rZ   r[   r\   r–   r   r%  s          rc   r   r   8  sR  € ô × Ñ  Ô&¬?×+JÑ+JÈ4Ô+PÜ%×2Ñ2°4Ó8ˆØˆØ!ò 	/ˆFØˆJÜ)×:Ñ:¸6ÓBˆKØ˜aÒÜ,×<Ñ<Ø�z 1§4¡4¨
¼E¿L¹LÈ!ÈQÈÓ<P 4Ó#Qó‘
ð  Ò!Ü,×>Ñ>Ø�z¨1¨#ô�
ð ×"Ñ" :Õ.ð	/ð ˆq�t‰tÐ'Ð:¨/Ò:Ð:ä!×2Ñ2°4Ó8€KØ�aÒÜ×.Ñ.Øˆt�Q—T‘T˜*¬e¯l©l¸A¸q¸6Ó.B�TÓCó
ˆð
 €Kð 
˜Ò	Ü×0Ñ0°°DÀ!ÀÔEˆØ€Krd   zaten::atleast_3dc                ó   — t        j                  |«      �rt        j                  |«      ròt        j                  |«      }g }|D ]Ã  }|}t        j                  |«      }|dk(  r>t        j
                  | || j                  dt        j                  g d¢«      ¬«      «      }nV|dk(  r3t        j                  | |dg¬«      }t        j                  | |dg¬«      }n|dk(  rt        j                  | |dg¬«      }|j                  |«       ŒÅ  | j                  d	g|¢­Ž S t        j                  |«      }|dk(  r?t        j
                  | || j                  dt        j                  g d¢«      ¬«      «      }|S |dk(  r4t        j                  | |dg¬«      }t        j                  | |dg¬«      }|S |dk(  rt        j                  | |dg¬«      }|S )
Nr   rN   )r…   r…   r…   rQ   r…   r*  rˆ   rN  r$  r+  r%  s          rc   r   r   Y  sÅ  € ô × Ñ  Õ&¬?×+JÑ+JÈ4Ô+PÜ%×2Ñ2°4Ó8ˆØˆØ!ò 	/ˆFØˆJÜ)×:Ñ:¸6ÓBˆKØ˜aÒÜ,×<Ñ<Ø�z 1§4¡4¨
¼E¿L¹LÊÓ<S 4Ó#Tó‘
ð  Ò!Ü,×>Ñ>Ø�z¨1¨#ô�
ô -×>Ñ>Ø�z¨2¨$ô‘
ð  Ò!Ü,×>Ñ>Ø�z¨2¨$ô�
ð ×"Ñ" :Õ.ð%	/ð& ˆq�t‰tÐ'Ð:¨/Ò:Ð:ä!×2Ñ2°4Ó8€KØ�aÒÜ×.Ñ.Øˆt�Q—T‘T˜*¬e¯l©lº9Ó.E�TÓFó
ˆð €Kð 
˜Ò	Ü×0Ñ0°°DÀ!ÀÔEˆÜ×0Ñ0°°DÀ"ÀÔFˆð €Kð 
˜Ò	Ü×0Ñ0°°DÀ"ÀÔFˆØ€Krd   zprim::ConstantChunkc           
     óh  — | j                  d|«      }| j                  dt        j                  |gt        j                  ¬«      ¬«      }| j                  d||d¬«      }| j                  dt        j                  dgt        j                  ¬«      ¬«      }| j                  dt        j                  |gt        j                  ¬«      ¬«      }| j                  dt        j                  |dz
  gt        j                  ¬«      ¬«      }	| j                  d	||	«      }
| j                  d
|
|«      }g }t	        |«      D ]u  }| j                  dt        j                  |dz   gt        j                  ¬«      ¬«      }| j                  d||«      }|j                  | j                  d||||«      «       |}Œw |S )Nr‡   rN   rO   rQ   r~   r   r   r…   r<  r¾  r1  r=  )rZ   r[   r\   r?  r”   r   )r^   r_   r  r‚   Úinput_shaperE  Úinput_shape_dimrD  r  Úchunk_size_minus_1Úinput_shape_dim_shiftÚ	chunk_dimrF  r|   r'   rG  s                   rc   r6   r6   …  sb  € à—$‘$�w Ó%€KØ�4‰4�
¤E§L¡L°#°¼e¿j¹jÔ$Iˆ4ÓJ€DØ—d‘d˜8 [°$¸q�dÓA€OØ�D‰D�¤U§\¡\°1°#¼U¿Z¹ZÔ%HˆDÓI€EØ—‘�j¬%¯,©,¸°xÄuÇzÁzÔ*R�ÓS€JØŸ™ØœEŸL™L¨&°1©*¨¼U¿Z¹ZÔHð ó Ðð ŸD™D ¨Ð9KÓLÐØ—‘�UÐ1°:Ó>€IØ
€CÜ�6‹]ò ˆØ—‘�Z¬¯©°q¸1±u°gÄUÇZÁZÔ)P�ÓQˆØ�d‰d�5˜) UÓ+ˆØ�
‰
�1—4‘4˜  u¨c°4Ó8Ô9Ø‰ð	ð
 €Jrd   zaten::hstackc                óØ  — t        | |«      }| j                  d|| j                  dt        j                  dt        j                  ¬«      ¬«      «      }| j                  d|«      }| j                  d|«      }| j                  dt        j                  dt        j                  ¬«      ¬«      }| j                  d	||«      }t        j                  | d
|dd¬«      \  }\  }}	}
|j                  d|dd¬«      }t        j                  |j                  |«       |	j                  d|dd¬«      }t        j                  |	j                  |«       |j                  «       j                  «       }|S )Nr÷   rN   r   rO   rQ   r‡   rL  r…   r’  r“  rN  )r”  r  r  r  )r   rZ   r[   r\   r?  r   r™  r   rš  r›  râ   rï  )r^   rþ   Úfirst_tensorÚfirst_tensor_shapeÚfirst_tensor_dimr£  Úequal_to_oneÚif_op_greaterÚif_context_equalÚelse_context_equalr-  Ú	result_ifÚresult_elser¯   s                 rc   r$   r$   š  sQ  € ä˜Q Ó,€KØ—4‘4ØØØ	�‰ˆZ¤§¡¨a´u·z±zÔ!BˆÓCó€Lð
 Ÿ™˜g |Ó4ÐØ—t‘t˜FÐ$6Ó7Ðà—‘�Z¬¯©°a¼u¿z¹zÔ)J�ÓK€IØ—4‘4˜Ð!1°9Ó=€Lô 	×$Ñ$ Q¨¨lÀQÐPQÔRñ	ØÙ.Ð	Ð-Ø	à ×#Ñ#Ø˜k°!Àð $ó €Iô 
×ÑÐ/×5Ñ5°yÔAØ$×'Ñ'Ø˜k°!Àð (ó €Kô 
×ÑÐ1×7Ñ7¸ÔEØ×ÑÓ!×(Ñ(Ó*€Fà€Mrd   zaten::vstackc                óD   — t        | |«      }| j                  d|dd¬«      S )Nr  r   r  )r   rZ   )r^   rþ   s     rc   rH   rH   º  s&   € ä˜Q Ó,€KØ�4‰4Ð$ k¸!Èˆ4ÓJÐJrd   )r^   újit_utils.GraphContextr_   ú_C.Valuer`   Úfloatra   r@  )r^   r>  )F)rÈ   rž  r‚   rá   rÉ   rž  rÆ   )r   )r   N)
r^   r>  r{   r?  r3   r?  rÎ   r?  re  r?  )r^   r>  r‚   zSequence[int] | Nonerû  Úbool)NNNNNN)r^   r>  r_   ztorch._C.Value)r^   r>  rþ   r?  )hÚ__doc__Ú
__future__r   Ú	functoolsr›   rœ  Útypingr   r[   r   Útorch._Cr   rU  Ú
torch.onnxr   r   r	   r
   rX  r   rt   r   Útorch.onnx._internalr   r   Úcollections.abcr   Ú__all__ÚpartialÚonnx_symbolicÚ_onnx_symbolicÚquantized_argsÚ
parse_argsr#   r   r   r   r8   r=   r)   r4   Ú_apply_paramsrÊ   rÒ   r"   r<   r   r/   r.   rõ   rø   rÿ   r   r   r*   r5   r   r   rC   r   rF   rD   r?   r   r;   r9   rA   r@   rE   r^  r   r7   r:   r3   r+   r-   r   r‹  r>   rB   rG   r0   r'   r&   r(   rÄ  rÈ  rÔ  rØ  rß  r%   r1   r!   r,   r   r    r   r2   r   r   r   r6   r$   rH   © rd   rc   ú<module>rR     s'  ðñ /å "ã Û 
Û Ý  ã Ý Ý %÷÷ ÷ 9ñ Ý(ò:€ðx #�×"Ñ" <×#=Ñ#=ÀRÔH€ñ Ð Ó!Ø€×Ñ Ó%Ø€×Ñ˜C  cÓ*òó +ó &ó "ðñ" �Óò>ó ð>ñD Ð!Ó"Ø€×Ñ˜C Ó%ò

ó &ó #ð

ñ Ð!Ó"Ø€×Ñ˜C Ó%ò

ó &ó #ð

ñ �Óò-ó ð-ñ �Óà€×Ñ Ó%Ø€×Ñ˜C  cÓ*ò3ó +ó &ó  ð3ñ Ð!Ó"àLQðxØòxó #ðxñv Ð%Ó&Ø€×Ñ˜C Ó%òPó &ó 'ðPñ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,?ÀÀHÓMÐNôñ ØØ+ˆo×+Ñ+Ð,AÀ1ÀhÓOÐPôñ Ø Ø+ˆo×+Ñ+Ð,BÀAÀxÓPÐQôñ ØØ+ˆo×+Ñ+Ð,@À!ÀWÓMÐNôòLó	ó	ó	ó	ó	ó	ó	ð8Lñ Ð%Ó&Ø€×Ñ  e¨U°E¸5À%ÈÓOðØòó Pó 'ðñ �ÓØ€×Ñ˜C  c¨3Ó/ó;ó 0ó  ð;ñ �Ó Ø€×Ñ˜C  c¨3Ó/ò
ó 0ó !ð
ñ& �ÓØ€×Ñ˜C  fÓ-ó
ó .ó  ð
ñ Ð%Ó&ò)ó 'ð)ñ
 Ð&Ó'ò2ó (ð2ñ  �Óò9ó ð9ñ Ð"Ó#ò#ó $ð#ñ Ð!Ó"ò5ó #ð5ñ
 �Óò0ó  ð0ñ �Óó-ó ð-ñ  �Óò5ó  ð5ñ �Óò3ó ð3ñ �Óò3ó  ð3ñ �ÓØ€×Ñ Ó%òCó &ó ðCñ �ÓòQó ðQñ Ð Ó!Ø€×Ñ˜C  c¨3Ó/ò&ó 0ó "ð&ñ Ð"Ó#Ø€×Ñ˜C  c¨3°Ó4ð&Øò&ó 5ó $ð&ñ �ÓØ€×Ñ˜C  c¨3°°VÓ<óó =ó ðñ �ÓØ€×Ñ˜C  c¨6Ó2óTó 3ó ðTñ �Ó Ø€×Ñ˜C  c¨6Ó2óó 3ó !ðñ �ÓØ€×Ñ˜C Ó%ó	ó &ó ð	ñ Ð!Ó"ò/ó #ð/ñ �ÓØ€×Ñ˜C  c¨3Ó/ó!Ió 0ó ð!IñH Ð(Ó)Ø€×Ñ˜C  c¨3Ó/ó6ó 0ó *ð6ñ �ÓØ€×Ñ˜C  cÓ*ó
5ó +ó  ð
5ó6ñr Ð'Ó(ó7ó )ð7ñ Ð(Ó)ÙÐ(Ó)ÙÐ(Ó)ò5ó *ó *ó *ð5ñ Ð)Ó*ÙÐ)Ó*ÙÐ)Ó*ò5ó +ó +ó +ð5ñ �ÓðTØðTàðTð 
ðTð ð	Tð
 òTó ðTñ( Ð"Ó#òó $ðñ �Óò/ó  ð/ñ �ÓòD
ó  ðD
ñN Ð#Ó$Ø€×Ñ˜C Ó%ò0ó &ó %ð0ñ �ÓØ€×Ñ °eÔ<ó6ó =ó ð6ñ �Ó ó/;ó !ð/;ñd Ð!Ó"ò=ó #ð=ñ �
Óò>ó ð>ñ �Óò(ó ð(ñ& Ð"Ó#òAó $ðAñ Ð"Ó#ò9ó $ð9ñ Ð+Ó,ÙÐ!Ó"òó #ó -ðñ@ Ð*Ó+ÙÐ!Ó"òó #ó ,ðð@(Øó(óV#óñ  �ÓØ€×Ñ˜C  t¨T°4Ó8ò0Dó 9ó  ð0Dñf �ÓòUó  ðUñ
 �Ó Ø€×Ñ  e¨UÓ3Ø€×Ñ˜C  cÓ*òNó +ó 4ó !ðNñ0 Ð*Ó+Ø€×Ñ˜C  d¨C°Ó5ðYØðYð 
ð	Yð
 òYó 6ó ,ðYñ Ð%Ó&Ø€×Ñ˜C  c¨3°°S¸#¸sÀCÓHðØòó Ió 'ðñ4 Ð(Ó)Ø€×Ñ˜C  c¨3Ó/ò"ó 0ó *ð"ñJ �Óò*ó ð*ñ  �Óð
 ØØ
ØØØð Øò ó  ð ñ, Ð"Ó#òó $ðñ2 Ð"Ó#òó $ðñ@ Ð"Ó#ò(ó $ð(ñV Ð%Ó&òó 'ðñ( �Óòó  ðñ> �ÓòKó  ñKrd   