
    '}hJ                        d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$  ed e ee"                  Z% ed e ee#                  Z& e$ ee            Z' e$ ee!            Z( e e$ ee                  Z) e ee            Z* e ee#            Z+ G d de,      Z-dddd	eeee	f      d
eeee	f      de.de.dee   f
dZ/y)    )DictListNoReturnSequenceUnion)ArrayRefCType	BaseCTypeBindingboolTConstRefCTypedeviceTExprintArrayRefTiOptTensorListRefTlayoutT	ListCTypelongTmemoryFormatTMutRefCType
NamedCTypeopmath_tOptionalCTypeoptionalIntArrayRefToptionalScalarRefToptionalSymIntArrayRefToptionalTensorRefTscalar_tscalarTscalarTypeTSpecialArgNamesymIntArrayRefTSymIntTtensorOptionsTtensorTVectorCTypeoptionsoutc                       e Zd Zy)
UnsatErrorN)__name__
__module____qualname__     U/var/www/html/test/engine/venv/lib/python3.12/site-packages/torchgen/api/translate.pyr)   r)   K   s    r.   r)   F)methodallow_expensive_conversionsbindingsgoalsr0   r1   returnc                  	
 g }| D ]T  }t        |t              r1|j                  t        |j                  |j
                               D|j                  |       V g 	|D ]?  }t        |t              r	j                  |j
                         /	j                  |       A i |D ]  }|j                  |j                  <   |j                  }t        |t              rt        |j                  t              rt        |j                  j                  t              rt        |j                  j                  j                        dk(  r^d|j                   d|j                   dt        |j                  j                  j                  t        t        t                          <   |j                  t        t        t        t                          k(  rNd|j                   d|j                   d|j                   d	t        |j                  t        t                    <   |j                  t        t        t                     k(  r4d|j                   d
t        |j                  t        t"                    <   |j                  t        t        t        t                           k(  rAd|j                   d|j                   dt        |j                  t        t$                    <   |j                  t        t&              k(  r4d|j                   dt        |j                  t        t"                    <   |j                  t        t)        t        t        t                                k(  sd|j                   dt        |j                  t        t*                    <    |rJdt        dt-        t        t                          <   dt        dt        t        t                          <   dt        dt.        ffddt        dt0        dt        f	
fd
	D cg c]  }t         
|d      |       c}S c c}w )N)exprtypez
at::Tensor(z.has_value() ? *z : at::Tensor())z((z.has_value() && (*z&).defined()) ? at::OptionalTensorRef(*z) : at::OptionalTensorRef())z).to<opmath_t>()z'.has_value() ? at::OptionalScalarRef(&(z%.value())) : at::OptionalScalarRef())zstatic_cast<opmath_t>()zat::IOptTensorListRef(zconst_cast<Tensor&>(*this)selfgoalr4   c           	          dj                  d j                         D              }t        d| j                          d| j                   d| d      )N
c              3   h   K   | ]*  \  }}d |j                          d|j                   d|  , yw)z   z; // N)cpp_typename).0tes      r/   	<genexpr>z+translate.<locals>.unsat.<locals>.<genexpr>   s6      
59QbaxuQC0
s   02z&
Failed to synthesize the expression "r?   zI".
When I failed, the following bindings were available in the context:

z~

This probably means there is a missing rule in the rules of torchgen.api.translate.
Check this module for more information.
)joinitemsr)   r@   rA   )r;   ctx_descctxs     r/   unsatztranslate.<locals>.unsat   se    99 
=@YY[
 
 &&*mmo%6a		{ C 

 	

 
	
r.   directc          
      (   dt         dt        ffd}| v r|    S t        | j                  t              r<	  t        | j
                  t        | j                  j                              |      S t        | j                  t              r3	  t        | j
                  | j                  j                        |      S | j                  t        t        t                    k(  r+ t        | j
                  t        t                    |      S |r |        | t        dt        t        t                          k(  rV |t        t        j                   t        t        t                                }t"        v r|S 	  |t"              }d| d| dS | t        d	t        t$                    k(  r |t        d
t        t        t&                                } |t        dt        t        t(                                } |t        dt        t        t*                                } |t        dt        t        t,                                }d| d| d| d| d	S | t        d
t        t        t&                          k(  r	  |t"              }d| dS | t        dt        t        t,                          k(  r	  |t"              }| dS | t        dt        t        t*                          k(  r	  |t"              }| dS | t        dt        t        t(                          k(  r	  |t"              }| dS | j                  t        t              k(  r!	  |t        | j
                  t0                    S | j                  t        t2              k(  r0	  |t        | j
                  t        t                          }d| dS | j                  t        t6              k(  r) |t        | j
                  t        t                          S | j                  t        t        t6                    k(  r: |t        | j
                  t        t        t                                }| d| dS | j                  t        t              k(  r. |t        | j
                  t        t6                          }| dS | j                  t        t        t                    k(  r: |t        | j
                  t        t        t6                                }| d | d!S | j                  t        t8              k(  r!	  |t        | j
                  t:                    S | j                  t        t<              k(  r1 |t        | j
                  t        t8                          }| d#| dS | j                  t        t>              k(  r  |t        | j
                  t@                    S | j                  t        tB              k(  r  |t        | j
                  tD                    S r| j                  tG        t        t                    k(  r0t        | j
                  t        t                    } ||      }| d$S | j                  tG        t        t6                    k(  r0t        | j
                  t        t2                    } ||      }| d$S | j                  t        tG        t        t                          k(  r3t        | j
                  t        t8                    } ||      }| d | d%S | j                  t        t        tH                    k(  r3t        | j
                  t        t>                    } ||      }| d | d&S | j                  t        t        tH                    k(  r3t        | j
                  t        tB                    } ||      }| d | d&S | j                  t        t        tJ                    k(  r:t        | j
                  t	        t        tJ                          } ||      }d'| dS  |        y # t        $ r Y w xY w# t        $ r Y w xY w# t        $ r |cY S w xY w# t        $ r  |t.              }	|	 dcY S w xY w# t        $ r  |t.              }	|	 dcY S w xY w# t        $ r  |t.              }	|	 dcY S w xY w# t        $ r  |t.              }	Y yw xY w# t        $ r2  |t        | j
                  t        t2                          }
d|
 dcY S w xY w# t        $ r#  |t        | j
                  t4                    cY S w xY w# t        $ r4  |t        | j
                  t        t<                          }| d"| dcY S w xY w)(Nr;   r4   c                      | d      S )NTrK   r-   )r;   solves    r/   direct_solvez.translate.<locals>.solve.<locals>.direct_solve   s    d++r.   rN   memory_formatz:c10::impl::check_tensor_options_and_extract_memory_format(z, r9   r&   dtype
pin_memorydevicelayoutzTensorOptions().dtype(z	).layout(z	).device(z).pinned_memory(zc10::optTypeMetaToScalarType(z.dtype_opt())z.scalar_type()z.layout_opt()z	.layout()z.device_opt()z	.device()z.pinned_memory_opt()zc10::nulloptzC10_AS_INTARRAYREF_SLOW(zc10::fromIntArrayRefSlow(z/.has_value() ? c10::make_optional(c10::SymInt(*z)) : c10::nulloptz.guard_int(__FILE__, __LINE__)z".has_value() ? c10::make_optional(z/->guard_int(__FILE__, __LINE__)) : c10::nulloptz;.has_value() ? c10::make_optional(C10_AS_INTARRAYREF_SLOW(*z<.has_value() ? c10::make_optional(c10::fromIntArrayRefSlow(*z.vec()z->vec()) : c10::nulloptz) : c10::nulloptzconst_cast<Tensor&>()&r   str
isinstancer7   r   rA   r   elemr)   r   r	   r   r   r   r   r     possibly_redundant_memory_formatoptions_ctyper#   r   r   r   r   out_tensor_ctypelongVec_ctyper!   longSymVec_ctyper"   r   optionalLongVec_ctyper   r   optionalScalar_ctyper   optionalTensor_ctyper%   r   r$   )r;   rK   rP   rQ   r&   rR   rS   rT   rU   
out_tensorsymIntArrayRef_typerargnamesymInt_typeintArrayRef_ctypesymIntArrayRef_ctypeoptionalIntArrayRef_ctypeoptionalScalarRef_ctypeoptionalTensorRef_ctypeconst_ref_tensor_ctyper1   rI   goal_ctypesrO   rJ   s                       r/   rO   ztranslate.<locals>.solve   s   	,z 	,c 	, 3;t9 dii/ tyy+diinn*EFv  dii-Z		499>>B6RR 99i&677DIIy/FGPVWW$K :o}Y}=U/VWW("CC!)M":;M +$$%&}5ST[S\\^_l^mmnoo Z	9^+DEE 7M)K2H$IJE &<y7G)HIJ "8]9W3E%FGF "8]9W3E%FGF ,E7)F89VHTdeodppqrrZy7M)NOO5&}56wi}MM
 Z-	'8J*KLL0&}5!-00
 Z-	'8J*KLL0&}5!-00
 ZmIe<L.MNN&&}5!"677 YY)L11I#Jtyy-$HII YY)O44M DIIy7N!OP21#Q77 YY)G,,
499i6F GHHYY-	'(:;;"499mIe4D&EFG YMgYVghhYY)E**&z$))Yw=O'PQK!]"@AAYY-	%(899"499mIg4F&GHG Y@	IxyyYY)$899y#Jtyy:O$PQQ YY)$;<< #499i0D&EFG YZ[bZcctuuYY)$677
4996J KLLYY)$677
4996J KLL 'yyK	%(899$.tyy)L:Q$R!&'89!&))yyK	'(:;;'1$))Y=W'X$&';<!&))mK	%8H,IJJ,6IIy)=>-) ''@A!"DWIMdeemIg,>??*4IIy);<+' ''>?!"DWIM]^^mIg,>??*4IIy);<+' ''>?!"DWIM]^^ 99Ig$677%/		=7);<&" ##9:G)'!44ds    6  %$$%*  5)*:;
$^445  0)*:;
$Y//0  0)*:;
$Y//0  & **:;
%	&  I&2tyy)O*DE'# 22E1FaHHI  M#Jtyy:J$KLLM(  y&tyy)4K*LM ""]^e]ffwxx	ys   :`; 1a  a a, >b 5b, ,c c' .d% 0e ;	aa	aaa)(a),b	b	b)(b),c	c	c$#c$'8d"!d"%)ee:ffFrN   )rW   r
   appendr   rA   nctyper6   r7   r   rX   r   r	   rV   r   r$   r   r   r   r   r   r   r   r   r   bool)r2   r3   r0   r1   binding_exprsbgrC   rI   rl   rO   rJ   s      `    @@@@r/   	translaters   `   s    !#M 	$a!     #	$ %'K "a!qxx(q!	" "$C B3ffAFF@ FFq-(166=1166;;	2AFFKK$$%5 AFF8+AFF83CD 166;;++]9W;M-NO 66]=71C#DEE QVVH.qvvh6\]^]c]c\d  eA  B 1669-?#@A 66]9W#566=>qvvhFV;WC
1669X#67866]=71C#DEE AFF8B166(Jop 1669-?#@A 66Yx(( )2 1669X#67
 66]9]9W;M-N#OPP )2 1669-?#@AAB3J  ) 	v{9W+=>?	

 ) 	v}Yw-?@A	

J 
8 
.JJ J4 JC J JX 6AADq'+AAAs   .QN)0typingr   r   r   r   r   torchgen.api.typesr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   rZ   r[   r\   r]   r^   r_   r`   RuntimeErrorr)   ro   rs   r-   r.   r/   <module>rw      s+   8 8       z 9mIn4M&NOe]9W3E%FG Ie,-y12 %k)E2B&CD $Yw%78 $Yw%78 	 	2 (-NBuT7]+,NBE*g-./NB 	NB
 "&NB 
$ZNBr.   