+
    –°³joL  ã                   óô  € ^ RI t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 ^ RIH
t
HtHt ^ RIHt ^ RIt^ RIHt ^ RIHtHtHtHtHtHtHt ^ RIHt ^ R	IHt ^ R
IH t H!t! ]! R4      t"]! R4      t#]R R l4       t$]R R l4       t$]R R l4       t$]R R l4       t$R t$R R lt%R t& ! R R4      t'R R lt(R0R R llt)R R  lt*R! R" lt+R#R$/R% R& llt,R#R$R'R$R(R$/R) R* llt-R+ R, lt.R- t/R. R/ lt0R# )1é    N)ÚCallableÚSequence)Úwraps)ÚGenericAlias)Ú
NamedTupleÚoverloadÚTypeVar)Ú	ParamSpec)ÚCustomOutParamAnnotationÚELEMENTWISE_TYPE_PROMOTION_KINDÚNumberÚ
NumberTypeÚ	ShapeTypeÚ
TensorLikeÚTensorLikeType)Ú_pytree)Ú
_fast_bind)Útree_flattenÚtree_unflattenÚ_TÚ_Pc                óP   € V ^8„  d   QhR\         R\        P                  R\         /# ©é   ÚaÚdtypeÚreturn)r   Útorchr   )Úformats   "Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_prims_common/wrappers.pyÚ__annotate__r!   "   s%   € ÷ 	ñ 	œ~ð 	´e·k±kð 	Änñ 	ó    c                 ó   € R # ©N© ©r   r   s   &&r    Ú_maybe_convert_to_dtyper'       ó   € ñ 	r"   c                óP   € V ^8„  d   QhR\         R\        P                  R\         /# r   )r   r   r   )r   s   "r    r!   r!   (   s%   € ÷ 	ñ 	œzð 	´%·+±+ð 	Ä*ñ 	r"   c                 ó   € R # r$   r%   r&   s   &&r    r'   r'   &   r(   r"   c                óP   € V ^8„  d   QhR\         R\        P                  R\         /# r   )r   r   r   )r   s   "r    r!   r!   .   s%   € ÷ 	ñ 	œxð 	´·±ð 	Äñ 	r"   c                 ó   € R # r$   r%   r&   s   &&r    r'   r'   ,   r(   r"   c                ó@   € V ^8„  d   QhRRR\         P                  RR/# )r   r   Nr   r   )r   r   )r   s   "r    r!   r!   3   s%   € ÷ 	ñ 	˜tð 	¬E¯K©Kð 	¸Dñ 	r"   c                 ó   € R # r$   r%   r&   s   &&r    r'   r'   2   s   € ár"   c                 ó¨  a€ \        V \        4      '       d%   V P                  S8w  d   V P                  S4      # V # \        V \        4      '       d   \
        P                  ! S4      ! V 4      # \        V \        4      '       d3   \        ;QJ d    . V3R  lV  4       F  NK  	  5# ! V3R  lV  4       4      # V f   R# \        R\        V 4       R24      h)c              3   ó<   <"  € T F  p\        VS4      x € K  	  R # 5ir$   ©r'   )Ú.0Úxr   s   & €r    Ú	<genexpr>Ú*_maybe_convert_to_dtype.<locals>.<genexpr>@   s   øé € ÐBÁ¸1Ô,¨Q°×6Ð6Ãùó   ƒNzReceived unsupported type z+. Expected TensorLike, Number, or Sequence.)Ú
isinstancer   r   Útor   ÚutilsÚdtype_to_type_ctorr   ÚtupleÚ
ValueErrorÚtyper&   s   &fr    r'   r'   8   s©   ø€ Ü�!”Z× Ò Ø�7‰7�eÔØ—4‘4˜“;ÐØˆÜ�!”V×ÒÜ×'Ò'¨Ô.¨qÓ1Ð1Ü�!”X×ÒßŒuÔBÁÓB�uÐBˆuÔBÁÓBÓBÐBð 	‚yÙä
Ø
$¤T¨!£W IÐ-XÐYóð r"   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   r   Útypr   )r   r=   )r   s   "r    r!   r!   K   s!   € ÷ ñ œjð ¬tð ¼
ñ r"   c                 óþ   € \        V \        4      '       g   R \        V 4       R2p\        V4      h\        P
                  ! \        V 4      V4      '       g!   RV  R\        V 4       RV R2p\        V4      hV! V 4      # )zFound unknown type z  when trying to convert scalars!zScalar z	 of type z cannot be safely cast to type Ú!)r7   r   r=   r<   r9   Úis_weakly_lesser_type)r   r?   Úmsgs   && r    Ú_maybe_convert_to_typerD   K   sv   € Ü�aœ× Ò Ø#¤D¨£G 9Ð,LÐMˆÜ˜‹oÐÜ×&Ò&¤t¨A£w°×4Ò4Ø˜�s˜)¤D¨£G 9Ð,KÈCÈ5ÐPQÐRˆÜ˜‹oÐáˆq‹6€Mr"   c                 ó¼   a € \         P                  ! V4      pV'       d;   \        ;QJ d    V 3R  lV 4       F  '       g   K   R# 	  R# ! V 3R  lV 4       4      # S VJ # )c              3   ó>   <"  € T F  p\        SVR 7      x € K  	  R# 5i))r?   Ú
annotationN)Ú_annotation_has_type)r2   r   r?   s   & €r    r4   Ú'_annotation_has_type.<locals>.<genexpr>Y   s   øé € ÐMÉÀ1Ô'¨C¸A×>Ñ>Ëùs   ƒTF)ÚtypingÚget_argsÚany)r?   rG   Úargss   d$ r    rH   rH   V   sH   ø€ Ü�?Š?˜:Ó&€Dßß‹sÔMÉÓM�sŒsÐMŠsÐMˆsÔMÉÓMÓMÐMØ�*ÐÐr"   c                   óP   a € ] tR t^]t o RtRR/V 3R lR lltV 3R lR ltRtV tR# )	Ú"elementwise_type_promotion_wrapperaê  
Adds elementwise type promotion to a Python reference implementation.

Takes two kwargs, type_promoting_args and type_promotion_kind.

type_promoting_args must be a string Sequence specifying the argument names of all
arguments that participate in type promotion (and should be type promoted). If the
arg specifies a Sequence-type then every element of the Sequence will participate in
type promotion.

type_promotion_kind must be one of the kinds specified by ELEMENTWISE_TYPE_PROMOTION_KIND.
See its documentation for details.

The return_dtype will be coerced to the wrapped function's dtype arg if it is available and
not None.

Other type promotion behavior, like validating the Python type of scalar arguments, must
be handled separately.
Útype_promoting_argsNc                óD   <€ V ^8„  d   QhRS[ RS[S[,          R,          /# )r   Útype_promotion_kindrP   N)r   r   Ústr)r   Ú__classdict__s   "€r    r!   Ú/elementwise_type_promotion_wrapper.__annotate__r   s*   ø€ ÷ 7ñ 7ñ =ð7ñ &¡c�]¨TÕ1ñ	7r"   c               ó   € W n         Wn        R # r$   ©Útype_promoting_arg_namesrR   )ÚselfrR   rP   s   &$$r    Ú__init__Ú+elementwise_type_promotion_wrapper.__init__r   s   € ð )<Ô%Ø#6Ö r"   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úfnr   ©r   )r   rT   s   "€r    r!   rU   {   s   ø€ ÷ +ñ +™8ð +©ñ +r"   c                ó˜   a aa€ \         P                  ! S4      o\        P                  \	        S4      VV V3R  l4       4       pSVn        V# )c                  óv  <a	a
€ \        S.V O5/ VB o	\        ;QJ d!    . V	3R  lSP                   4       F  NK  	  5M! V	3R  lSP                   4       4      p\        P                  ! V!  p\
        P                  ! VRSP                  / w  po
SP                   Uu/ uF4  pVS	P                  9   g   K  V\        S	P                  V,          V4      bK6  	  ppS	P                  P                  V4       S! R/ S	P                  B pRS	P                  9   d   S	P                  R,          pV'       d   Vo
\        V\        4      '       d   \        VS
4      # \        V\        4      '       d3   \        ;QJ d    . V
3R lV 4       F  NK  	  5# ! V
3R lV 4       4      # \        R\        V4       24      hu upi )c              3   óp   <"  € T F+  pVSP                   9   g   K  SP                   V,          x € K-  	  R # 5ir$   )Ú	arguments)r2   r3   Úbounds   & €r    r4   ÚKelementwise_type_promotion_wrapper.__call__.<locals>._fn.<locals>.<genexpr>„   s2   øé € ð (á6�AØ˜Ÿ™Ñ'ô #�—‘ ×"Ò"Û6ùs   ƒ6›6rR   r   c              3   ó<   <"  € T F  p\        VS4      x € K  	  R # 5ir$   r1   )r2   r3   Úresult_dtypes   & €r    r4   re   ¢   s   øé € ÐVÉvÈ!Ô4°Q¸×EÐEËvùr6   zUnhandled result type: r%   )r   r;   rX   ÚpytreeÚarg_tree_leavesr9   Úelementwise_dtypesrR   rc   r'   Úupdater7   r   r   ÚAssertionErrorr=   )rM   ÚkwargsrP   Úflattened_type_promoting_argsÚcompute_dtyper3   Úpromoted_argsÚresultÚmaybe_dtyperd   rg   r^   rY   Úsigs   *,       @@€€€r    Ú_fnÚ8elementwise_type_promotion_wrapper.__call__.<locals>._fn€   s…  ú€ ô ˜sÐ4 TÒ4¨VÑ4ˆEß"'¤%ô (à×6Ò6ó(§%¡%ô (à×6Ò6ó(ó #Ðô -3×,BÒ,BÐDWÑ,XÐ)Ü*/×*BÒ*BØ.ð+à$(×$<Ñ$<ñ+Ñ'ˆM˜<ð ×6Ò6óá6�AØ˜Ÿ™Ñ'ô N�Ô*¨5¯?©?¸1Õ+=¸}ÓMÒMÙ6ð ð ð
 �O‰O×"Ñ" =Ô1áÑ*˜%Ÿ/™/Ñ*ˆFð ˜%Ÿ/™/Ô)Ø#Ÿo™o¨gÕ6�ßØ#.�Lä˜&¤*×-Ò-Ü.¨v°|ÓDÐDÜ˜&¤(×+Ò+ß”uÔVÉvÓV—uÐV�uÔVÉvÓVÓVÐVÜ Ð#:¼4À»<¸.Ð!IÓJÐJùò's   ÂF6Â6"F6)ÚinspectÚ	signaturer   Ú_disable_dynamor   Ú__signature__)rY   r^   rt   rs   s   ff @r    Ú__call__Ú+elementwise_type_promotion_wrapper.__call__{   sK   ú€ Ü×Ò Ó#ˆô 
×	Ñ	Ü	ˆr‹ö!	Kó 
ó 
ð!	KðF  ˆÔØˆ
r"   rW   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rZ   rz   Ú__static_attributes__Ú__classdictcell__)rT   s   @r    rO   rO   ]   s(   ø‡ € ñð(7ð 59÷	7ò 7÷+ö +r"   rO   c                ó0   € V ^8„  d   QhR\         R\        /# )r   ÚoutÚshape)r   r   )r   s   "r    r!   r!   ª   s   € ÷ ñ œnð ´Yñ r"   c                 óä   € \         P                  ! V P                  V4      '       d   R # V P                  4       ^ 8w  d2   R\	        V P                  4       R2p\
        P                  ! V^R7       R# )FzCAn output with one or more elements was resized since it had shape a   which does not match the required output shape {str(shape)}. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0).)Ú
stacklevelT)r9   Ú
same_shaper…   ÚnumelrS   ÚwarningsÚwarn)r„   r…   rC   s   && r    Ú_resize_output_checkrŒ   ª   sd   € ä×Ò˜Ÿ	™	 5×)Ò)ÙØ
‡y�yƒ{�aÔàQÔRUÐVY×V_ÑV_ÓR`ÐQað btð tð 	ô 	�Š�c aÕ(Ùr"   c                ó^   € V ^8„  d   QhR\         R\        R\        P                  R,          /# )r   r„   r…   Úmemory_formatN)r   r   r   rŽ   )r   s   "r    r!   r!   »   s1   € ÷ ñ Ü	ðäðô ×&Ñ&¨Õ-ñr"   c                 óL   € \        W4      '       d   V P                  WR 7      # V # ))rŽ   )rŒ   Úresize_)r„   r…   rŽ   s   &&&r    Ú_maybe_resize_outr‘   »   s%   € ô
 ˜C×'Ò'Ø�{‰{˜5ˆ{Ó>Ð>àˆ
r"   c                ó0   € V ^8„  d   QhR\         R\        /# )r   r3   r   ©r   Úbool)r   s   "r    r!   r!   Æ   s   € ÷ 3ñ 3”^ð 3¬ñ 3r"   c                 ój   € V P                  4       ^ 8H  ;'       d    V P                  P                  R8H  # )r   Úcpu)ÚdimÚdevicer=   )r3   s   &r    Úis_cpu_scalarr™   Æ   s'   € Ø�5‰5‹7�a‰<×2Ð2˜AŸH™HŸM™M¨UÑ2Ð2r"   c                ó4   € V ^8„  d   QhR\         R\         RR/# )r   Ú	copy_fromÚcopy_tor   N©r   )r   s   "r    r!   r!   Ê   s"   € ÷  ñ  ¤^ð  ¼nð  ÐQUñ  r"   c                 óŒ   € V P                   VP                   8w  d)   R V P                    RVP                    R2p\        V4      hR# )zAttempting to copy from device z to device z*, but cross-device copies are not allowed!N)r˜   ÚRuntimeError)r›   rœ   rC   s   $$ r    Úcheck_copy_devicesr    Ê   sR   € Ø×Ñ˜7Ÿ>™>Ô)à-¨i×.>Ñ.>Ð-?ð @Ø Ÿ™Ð(Ð(RðTð 	ô ˜3ÓÐñ *r"   Úexact_dtypeFc                ó<   € V ^8„  d   QhR\         R\         R\        /# )r   r›   rœ   r¡   r“   )r   s   "r    r!   r!   Ó   s$   € ÷ $ñ $Ü ð$Ü+9ð$ÜHLñ$r"   c                 óh  a a€ \        S 4      '       g   \        S SR 7       V'       d5   \        P                  ! S P                  SP                  8H  V V3R l4       MF\        P                  ! \
        P                  ! S P                  SP                  R7      V V3R l4       SP                  S 4      # )©r›   rœ   c                  ó>   <€ R S P                    RSP                    R2# )z"Expected out tensor to have dtype z	 but got z instead©r   r¤   s   €€r    Ú<lambda>Ú _safe_copy_out.<locals>.<lambda>Þ   s%   ø€ Ð8¸¿¹Ð8Ið JØ—}‘}�o Xñ/r"   )Ú	cast_fromÚcast_toc                  ó>   <€ R S P                    RSP                    R2# )zAttempting to cast from z to out tensor with dtype z0, but this can't be cast because it is not safe!r¦   r¤   s   €€r    r§   r¨   ä   s)   ø€ Ð.¨y¯©Ð.?Ð?YÐZa×ZgÑZgÐYhð i=ñ =r"   )r™   r    r   Ú_checkr   r9   Úcan_safe_cast_toÚcopy_©r›   rœ   r¡   s   dd$r    Ú_safe_copy_outr°   Ó   s|   ù€ ô ˜×#Ò#Ü Y¸Õ@÷ Ü�ŠØ�O‰O˜wŸ}™}Ñ,õ/õ	
ô 	�ŠÜ×"Ò"¨Y¯_©_ÀgÇmÁmÔTõ=ô	
ð �=‰=˜Ó#Ð#r"   Úpass_is_outÚpreserve_memory_formatc                ó¼   € V ^8„  d   QhR\         R\        R\        R\        R\        \        \        \        3,          .\        \        \        3,          3,          /# )r   Ú	out_namesr¡   r±   r²   r   )rS   r”   r   r   r   )r   s   "r    r!   r!   ë   s`   € ÷ Dñ DÜðDäðDô ðDô !ð	Dô
 ŒxœœB˜ÕÐ ¤(¬2¬r¨6Õ"2Ð2Õ3ñDr"   c                 ó€   a aaaaaa€ Ro\        S4      ^ 8X  d   So\        S4      ^8H  oV3R loR VV VVVV3R llpV# )r„   c                 óD   <€ S'       d   \         P                  ! V 4      # R # r$   )r9   Úsuggest_memory_format)Útr²   s   &€r    Úmaybe_compute_memory_formatÚ0out_wrapper.<locals>.maybe_compute_memory_formatþ   s   ø€ ß1GŒu×*Ò*¨1Ó-ÐQÈTÐQr"   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# r]   )r   r   r   )r   s   "r    r!   Ú!out_wrapper.<locals>.__annotate__  s0   € ÷ lñ lœ¤"¤b &Õ)ð l¬h´r¼2°vÕ.>ñ lr"   c                óê  <a aaa	a
€ S'       d   \         M]\        \        \        ;QJ d&    . R \        \	        S4      4       4       F  NK  	  5M! R \        \	        S4      4       4       4      4      pS'       d   \         Mh\
        P                  ! \        \        ;QJ d&    . R \        \	        S4      4       4       F  NK  	  5M! R \        \	        S4      4       4       4      4      pS'       d   \         M-\        RS P                   2S Uu. uF
  q3\         3NK  	  up4      o	\        P                  ! S 4      o
Ro\        ;QJ d    V
3R lS 4       F  '       d   K   RM	  RM! V
3R lS 4       4      o\        S 4      R VVV VVVVVV	3	R ll4       p\        P                  ! R	\        P                  P                  R
VR7      p\        S
P                  \         \"        34      '       g<   S
P                  S
P$                  W39   g   \'        RS
P                   RV RV 24      h. S
P(                  P+                  4       OVN5p\-        VR R7      p\        P.                  ! VS	R7      Vn        \3        \5        S R/ 4      4      Vn        WP6                  R	&   S	VP6                  R&   S'       d"   SS8w  d   S^ ,          VP6                  \8        &   R\:        P<                   R2Vn        V# u upi )z/
Adds the out parameter to a Python reference.
c              3   ó.   "  € T F  p\         x € K  	  R # 5ir$   r�   ©r2   Ú_s   & r    r4   Ú4out_wrapper.<locals>._out_wrapper.<locals>.<genexpr>	  ó   é € ÐKÑ5J°Ÿ^™^Ó5Jùó   ‚c              3   ó.   "  € T F  p\         x € K  	  R # 5ir$   r�   r¿   s   & r    r4   rÁ     rÂ   rÃ   Úreturn_types_c              3   ó@   <"  € T F  qSP                   9   x € K  	  R # 5ir$   )Ú
parameters)r2   Úprs   s   & €r    r4   rÁ   !  s   øé € ÐH¹°A §¡Ö/»ùs   ƒFTc                óX   € V ^8„  d   QhR\         P                  R\         P                  /# )r   rM   rm   )r   rM   rm   )r   s   "r    r!   Ú7out_wrapper.<locals>._out_wrapper.<locals>.__annotate__$  s&   € ÷ \	;ñ \	;”r—w‘wð \	;¬"¯)©)ñ \	;r"   c                  ó^  <	a aa€ VP                  R R4      oS'       d&   Se"   S
 F  p\        SV4      pW!9  g   K  W1V&   K  	  V 3R lp\        S\        \        34      '       d   S F  pV! V4       K  	  MV! S4       S'       d   S! S RSRJ/VB oMS! S / VB oS\
        J d   \
        # \        S\        4      '       d	   S'       gz   \        S\        4      '       d   \        S4      \        S4      8X  gK   SP                  R8X  d   \        S\        \        34      '       g   \        R\        S4       RS RS 24      hSEeU   S'       dk   SP                  R8w  dZ   \        S\        4      '       g   \        R\        S4       24      h\        SSP                  S! S4      4       \        SSS	R	7       MäSP                  R8w  d/   \        S\        4      '       g   \        R
\        S4       24      hM3\        S\        \        34      '       g   \        R\        S4       24      h\        P                  ! \        S4      \        S4      8H  VV3R l4       \!        SS4       F.  w  re\        WVP                  S! V4      4       \        WeS	R	7       K0  	  MSoS'       d   S# S! S!  # )r„   Nc                 óž   <€ \        V \        4      '       d6   \        S^ ,          \        4      '       d   \        S^ ,          V R7       R# R# R# )r   r¤   N)r7   r   r    )r„   rM   s   &€r    Úmaybe_check_copy_devicesÚPout_wrapper.<locals>._out_wrapper.<locals>._fn.<locals>.maybe_check_copy_devices,  s7   ø€ Ü˜c¤:×.Ò.´:¸dÀ1½gÄz×3RÒ3RÜ&°°aµÀ#×Fñ 4SÑ.r"   Úis_outÚunbindzUnexpected result type: z, is_tensor=z, out_names=zout must be TensorLike, got r¯   zout must be tuple, got zout must be list or tuple, got c                  ó8   <€ R \        S4       R\        S 4       2# )zexpected tuple of z elements but got ©Úlen)r„   rq   s   €€r    r§   Ú@out_wrapper.<locals>._out_wrapper.<locals>._fn.<locals>.<lambda>w  s    ø€ Ð"4´S¸³[°MÐASÔTWÐX[ÓT\ÐS]Ñ ^r"   )ÚpopÚgetattrr7   r;   ÚlistÚNotImplementedr   rÓ   r|   rl   r=   r‘   r…   r°   r   Ú_check_typeÚzip)rM   rm   ÚkÚout_attrrÍ   ÚoÚrr„   rq   r¡   Úfactory_kwargsr^   Úis_factory_fnÚ	is_tensorr¹   r´   r±   Úreturn_types   j,     @@€€€€€€€€€r    rt   Ú.out_wrapper.<locals>._out_wrapper.<locals>._fn#  sf  û€ à—*‘*˜U DÓ)ˆCß ¢Û'�AÜ& s¨A›�HØ–Ø$,˜q›	ñ (õ
Gô ˜#¤¤t˜}×-Ò-Û�AÙ,¨QÖ/ò ñ )¨Ô-çÙ˜TÐF¨3°d¨?ÐF¸vÑF‘á˜TÐ, VÑ,�ØœÓ'Ü%Ð%ä˜F¤J×/Ò/·Iä˜v¤u×-Ò-Ü˜F›¤s¨9£~Ô5ð —K‘K 8Ô+´
¸6ÄDÌ%À=×0QÒ0Qô %Ø.¬t°F«|¨n¸LÈÈð T!Ø!* ð-óð ð
 ‹÷"  §¡°Ô!8Ü% c¬:×6Ò6Ü,Ø:¼4À»9¸+ÐFóð ô &ØØŸ™Ù3°FÓ;ôô
 #Ø"(Ø #Ø$/öð —{‘{ hÔ.Ü)¨#¬u×5Ò5Ü"0Ð3JÌ4ÐPSË9È+Ð1VÓ"WÐWð  6ô  *¨#´´e¨}×=Ò=Ü"0Ø"AÄ$ÀsÃ)ÀÐ Mó#ð ô ×%Ò%Ü˜C›¤C¨£KÑ/Ý^ôô !$ F¨CÖ 0™˜ä)¨!¯W©WÑ6QÐRSÓ6TÔUÜ&°È;×Wò !1ð
 �ç#�3Ð:©°cÑ):Ð:r"   r„   N)ÚkindÚdefaultrG   zUnexpected return annotation: z , expected str, TypeVar, empty, z, or c                 ó   € V P                   # r$   )rä   )rÈ   s   &r    r§   Ú3out_wrapper.<locals>._out_wrapper.<locals>.<lambda>–  s   € ¨a¯fªfr"   )Úkey)rÇ   Úreturn_annotationÚ__annotations__r   zThis function is wrapped by z.out_wrapper)r˜   r   ) r   r   r;   ÚrangerÓ   Útypesr   r|   rv   rw   Úallr   Ú	ParameterÚKEYWORD_ONLYr7   ré   rS   r	   Úemptyrl   rÇ   ÚvaluesÚsortedÚ	Signaturery   ÚdictrÖ   rê   r   Úout_wrapperr}   Ú!_torch_decompositions_out_wrapper)r^   Úout_typeÚbc_out_typerÝ   rt   Ú	out_paramÚparamsrß   rà   râ   rs   Údefault_out_namesr¡   rá   r¹   r´   r±   s   f      @@@@€€€€€€r    Ú_out_wrapperÚ!out_wrapper.<locals>._out_wrapper  s|  ý€ ÷ õ äÜ—u”uÑK´U¼3¸y»>Ô5JÓK—u‘uÑK´U¼3¸y»>Ô5JÓKÓKóð 	÷ õ ä×#Ò#Ü—u”uÑK´U¼3¸y»>Ô5JÓK—u‘uÑK´U¼3¸y»>Ô5JÓKÓKóð 	÷ õ äØ §¡˜}Ð-á.7Ó8©i¨”^Ó$©iÑ8óð 	ô ×Ò Ó#ˆØ,ˆß›ÔH¹ÓHŸŸšÔH¹ÓHÓHˆä	ˆr‹÷\	;÷ \	;ó 
ð\	;ô| ×%Ò%ØÜ×"Ñ"×/Ñ/ØØô	
ˆ	ô �s×,Ñ,¬s´G¨n×=Ò=Ø×$Ñ$¨¯©°HÐ(JÔJä Ø0°×1FÑ1FÐ0Gð H1Ø19°
¸%À¸}ðNóð ð 5�#—.‘.×'Ñ'Ó)Ð4¨9Ñ4ˆô
 ˜Ñ$4Ô5ˆä#×-Ò-ØØ)ô
ˆÔô
 #¤7¨2Ð/@À"Ó#EÓFˆÔØ%-×Ñ˜EÑ"Ø(3ˆ×Ñ˜HÑ%÷ ˜Ð&7Ô7Ø<EÀa½LˆC×ÑÔ 8Ñ9ð +¬;×+AÑ+AÐ*BÀ,ÐOð 	Ô-ð ˆ
ùòe 9s   ÄK0
)r„   rÒ   )r¡   r±   r²   r´   rü   rû   rá   r¹   s   dddj @@@r    rõ   rõ   ë   sE   þ€ ð !ÐÜ
ˆ9ƒ~˜Ôà%ˆ	ä�I“ !Ñ#€IõR÷lõ lð\ Ðr"   c                ó$   € V ^8„  d   QhR\         /# )r   r^   r_   )r   s   "r    r!   r!   ²  s   € ÷ ñ ¤(ñ r"   c                 ó4   € \         P                  ! V R  R7      # )c                 ó$   € \        V R 4      '       * # )rö   )Úhasattr)Úfs   &r    r§   Ú+_maybe_remove_out_wrapper.<locals>.<lambda>µ  s   € œ7 1Ð&IÓJÕJr"   )Ústop)rv   Úunwrap)r^   s   &r    Ú_maybe_remove_out_wrapperr  ²  s   € Ü�>Š>Ø
ÙJôð r"   c                 óŽ   a aa€ V 3R  lo ! V3R lR\         P                  P                  4      o\        S 4      VV3R l4       pV# )c                 óž   <€ \         P                  P                  4       ;_uu_ 4        S! V / VB uuR R R 4       #   + '       g   i     R # ; ir$   )r   Ú_CÚ_AutoDispatchBelowAutograd)rM   rm   Úprims   &&€r    Úredispatch_primÚ0backwards_not_supported.<locals>.redispatch_primº  s2   ø€ Ü�X‰X×0Ñ0×2Õ2Ù˜Ð( Ñ(÷ 3×2×2Ó2ús	   ¨;»A	c                   óH   <a € ] tR tRt o ]V3R l4       t]R 4       tRtV tR# )Ú6backwards_not_supported.<locals>.BackwardsNotSupportedi¾  c                ó.   <€ \        W!4      w  r4S! W44      # r$   )r   )ÚctxÚ	args_specÚ	flat_argsrM   rm   r  s   &&*  €r    ÚforwardÚ>backwards_not_supported.<locals>.BackwardsNotSupported.forward¿  s   ø€ ô *¨)Ó?‰LˆDÙ" 4Ó0Ð0r"   c                ó   € \        R 4      h)zbackwards not supported on prim)rŸ   )r  rM   s   &*r    ÚbackwardÚ?backwards_not_supported.<locals>.BackwardsNotSupported.backwardÅ  s   € äÐ@ÓAÐAr"   r%   N)	r|   r}   r~   r   Ústaticmethodr  r  r�   r‚   )rT   r  s   @€r    ÚBackwardsNotSupportedr  ¾  s-   ù‡ € Ø	ô	1ó 
ð	1ð 
ñ	Bó 
ö	Br"   r  c                  ó  <€ \        W34      w  r#\        P                  ! 4       '       dO   \        ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   SP                  ! V.VO5!  # S! W4      # )c              3   ó~   "  € T F3  p\        V\        P                  4      '       g   K%  VP                  x € K5  	  R # 5ir$   )r7   r   ÚTensorÚrequires_grad)r2   r   s   & r    r4   ÚBbackwards_not_supported.<locals>._autograd_impl.<locals>.<genexpr>Ì  s&   é € ð +
Ù%. ´*¸QÄÇÁ×2MŒOˆA�OŽO£Yùs   ‚"=©=TF)r   r   Úis_grad_enabledrL   Úapply)rM   rm   r  r  r  r  s   *,  €€r    Ú_autograd_implÚ/backwards_not_supported.<locals>._autograd_implÉ  sr   ø€ ä+¨T¨NÓ;Ñˆ	Ü× Ò ×"Ò"§s£sñ +
Ù%.ó+
§s§s¢sñ +
Ù%.ó+
÷ (
ò (
ð )×.Ò.¨yÐE¸9ÓEÐEá" 4Ó0Ð0r"   )r   ÚautogradÚFunctionr   )r  r"  r  r  s   f @@r    Úbackwards_not_supportedr&  ¹  s@   ú€ õ)÷	B¤§¡× 7Ñ 7ô 	Bô ˆ4ƒ[õ1ó ð1ð& Ðr"   c                óŠ   € V ^8„  d   QhR\         \        \        3,          R\         \        \        \        ,          3,          /# r]   )r   r   r   r   )r   s   "r    r!   r!   ã  s3   € ÷ ñ Ü””R�ÕðäŒb”"”z•/Ð!Õ"ñr"   c                óh   a € \         P                  ! S 4      p\        S 4      V 3R l4       pWn        V# )zI
Allows unary operators that accept tensors to work with Python numbers.
c                  ó²  <€ \        V 4      ^ 8”  dÀ   \        V ^ ,          \        4      '       d£   \        P                  ! \        V ^ ,          4      4      p\        V 4      p\        P                  ! V ^ ,          VR7      V^ &   S! V/ VB p\        V\        P                  4      '       g   \        R\        V4       24      hVP                  4       # S! V / VB # )r   r¦   zExpected torch.Tensor, got )rÓ   r7   r   r9   Útype_to_dtyper=   r×   r   Útensorr  rl   Úitem)rM   rm   r   Úargs_rq   r^   s   *,   €r    rt   Ú-elementwise_unary_scalar_wrapper.<locals>._fnë  s¬   ø€ äˆt‹9�qŒ=œZ¨¨Q­´×8Ò8Ü×'Ò'¬¨T°!­W«Ó6ˆEÜ˜“JˆEÜ—|’| D¨¥G°5Ô9ˆE�!‰Há˜Ð) &Ñ)ˆFÜ˜f¤e§l¡l×3Ò3Ü$Ð'BÄ4ÈÃ<À.Ð%QÓRÐRØ—;‘;“=Ð ñ �4Ð"˜6Ñ"Ð"r"   )rv   rw   r   ry   )r^   rs   rt   s   f  r    Ú elementwise_unary_scalar_wrapperr/  ã  s8   ø€ ô ×
Ò
˜BÓ
€Cä
ˆ2ƒYô#ó ð#ð Ôà€Jr"   r$   )1rv   rì   rJ   rŠ   Úcollections.abcr   r   Ú	functoolsr   r   r   r   r	   Útyping_extensionsr
   r   Útorch._prims_commonÚ_prims_commonr9   r   r   r   r   r   r   r   Útorch.utilsr   rh   Útorch.utils._inspectr   Útorch.utils._pytreer   r   r   r   r'   rD   rH   rO   rŒ   r‘   r™   r    r°   rõ   r  r&  r/  r%   r"   r    Ú<module>r8     s  ðã Û Û Û ß .Ý Ý ß 0Ñ 0Ý 'ã Ý #÷÷ ñ õ *Ý +ß <ñ ˆTƒ]€Ùˆtƒ_€ð 
ô	ó 
ð	ð 
ô	ó 
ð	ð 
ô	ó 
ð	ð 
ô	ó 
ð	ò
õ&ò÷Iñ IõZ÷"õ3õ ð$ØOT÷$ð0DàðDð ðDð $)÷	DõNò$÷Tr"   