Ë
    ùÿæi�   ã                  óf  — 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
mZmZmZ d dlmZmZmZmZmZmZ  ed ed e	 ee«      «      ¬«       ed eej*                  «      dd¬«      d¬	«      Z ed
 ed
 ee«      ¬«       ed
 eej.                  «      dd¬«      d¬	«      Z ed ed e	 ee«      «      ¬«       ed eej*                  «      dd¬«      d¬	«      Z ed ed ee«      ¬«       ed eej4                  «      dd¬«      d¬	«      Z ed ed ee«      ¬«       ed eej.                  «      dd¬«      d¬	«      Z edd«      Z ed ed ee«      ¬«       ed eej.                  «      dd¬«      d¬	«      Zddd„Zddœ	 	 	 	 	 	 	 	 	 dd„Z dd„Z!dd„Z"d d„Z#d!d„Z$d!d„Z%d"d#d„Z&d$d„Z'y)%é    )Úannotations)Ú
dispatcher)	ÚBaseCppTypeÚ	BaseCTypeÚBindingÚboolTÚConstRefCTypeÚCTypeÚlongTÚ
NamedCTypeÚtensorT)ÚArgumentÚBaseTyÚBaseTypeÚFunctionSchemaÚNativeFunctionÚNativeFunctionsViewGroupÚbase)ÚnameÚtypeN)r   r   ÚdefaultÚ
annotation)r   ÚnctypeÚargumentr   Úhas_symbolic_inputsÚmutated_viewÚ	out_indexÚreapply_viewszat::functionalizationÚInverseReturnModeÚinverse_return_modec                óL   — |rdnd}|› | j                   j                  «       › d�S )Nzat::functionalization::Ú Ú	_ViewMeta)r   Úunambiguous_name)ÚfuncÚwith_namespaceÚ	namespaces      ús/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchgen/api/functionalization.pyÚ	classnamer)   _   s+   € Ù-;Ñ)À€IØˆ[˜Ÿ™×3Ñ3Ó5Ð6°iÐ@Ð@ó    )r   c               ó`  — |€|st        d«      ‚|rt        | j                  |«      S |st        d«      ‚| j                  €t        d«      ‚|r.| j                  j                  j
                  j                  «       n-| j                  j                  j
                  j                  «       }d|› d�S )Nz*reapply_views can only be None for reversez*include_namespace must be True for forwardz&view_copy must be non-None for forwardz
at::_ops::z::call)ÚAssertionErrorÚreverse_nameÚviewÚ	view_copyr%   r   r$   )ÚgÚ
is_reverseÚinclude_namespacer   Úapi_names        r(   r   r   e   s¨   € ð Ðñ Ü Ð!MÓNÐNÙÜ˜AŸF™FÐ$5Ó6Ð6áÜÐIÓJÐJØ‡{�{ÐÜÐEÓFÐFñ ð 	
�‰�‰×Ñ×)Ñ)Ô+à�[‰[×Ñ×"Ñ"×3Ñ3Ó5ð ð
 ˜�z Ð(Ð(r*   c                ód   — | j                   j                  j                  «       }|rd|› d�S |› d�S )Nz+at::functionalization::FunctionalInverses::Ú_inverse)r%   r   r$   )Úfr2   r3   s      r(   r-   r-   €   s9   € ð �v‰v�{‰{×+Ñ+Ó-€HáØ<¸X¸JÀhÐOÐOà�˜8Ð$Ð$r*   c                óì   — t        | j                  «      dk  rt        d«      ‚| j                  D ]4  }|j                  j	                  «       rŒt        d|j                  › �«      ‚ t        t        «      S )Né   z"Expected at least one return valuez&Expected tensor-like return type, got )ÚlenÚreturnsr,   r   Úis_tensor_liker   r   )r%   Úrets     r(   Úreturns_typer=   Œ   sa   € ä
ˆ4�<‰<Ó˜1ÒÜÐAÓBÐBØ�|Œ|ˆØ�x‰x×&Ñ&Õ(Ü Ð#IÈ#Ï(É(ÈÐ!TÓUÐUð ô
 ”WÓÐr*   c                ó¼   — t        | j                  «      dkD  xsC t        | j                  «      dk(  xr) | j                  d   j                  j                  «       d uS )Nr8   r   )r9   r:   r   Úis_list_like©r%   s    r(   Úis_multi_outputrA   ™   sO   € Üˆt�|‰|Ó˜qÑ ò ÜˆD�L‰LÓ˜QÑÒR 4§<¡<°¡?×#7Ñ#7×#DÑ#DÓ#FÈdÐ#Rðr*   c                óT   — t         g}t        | «      r|j                  t        «       |S )N)Úhas_symbolic_inputs_bindingrA   ÚappendÚout_index_binding)r%   Ú	argumentss     r(   Úbase_ctor_argumentsrG       s)   € ä,Ð-€Iô �tÔØ×ÑÔ*Ô+àÐr*   c                ó   — t        | d¬«      S )NF)Úowning)Ú
attributesr@   s    r(   Úextra_ctor_argumentsrK   °   s   € Ü�d 5Ô)Ð)r*   c                ó(  — | j                   j                  }|d   j                  t        t        j
                  «      k7  rt        d|d   j                  › �«      ‚t        t        g|dd  D �cg c]  }t        j                  ||¬«      ‘Œ c}¢S c c}w )Nr   ú%Expected first arg to be Tensor, got r8   )Úremove_non_owning_ref_types)rF   Úflat_allr   r   r   ÚTensorr,   Úreapply_views_bindingÚinverse_return_mode_bindingr   r   )r%   rI   ÚargsÚas       r(   rJ   rJ   ¸   s‹   € Ø�>‰>×"Ñ"€DØˆA�w‡|�|”x¤§¡Ó.Ò.ÜÐDÀTÈ!ÁWÇ\Á\ÀNÐSÓTÐTäÜ#ðð OSÐSTÐSUÉhÓ	WÉhÈŒ*×
Ñ
˜a¸VÖ
DÈhÑ	Wðð ùò 
Xs   Á-Bc                ó–  — | j                   j                  }|d   j                  t        t        j
                  «      k7  rt        d|d   j                  › �«      ‚|dd  }|D �cg c]  }t        j                  |«      ‘Œ }}|s
t        g|z   S t        | «      rt        t        t        t        g|z   S t        t        t        g|z   S c c}w )Nr   rM   r8   )rF   rO   r   r   r   rP   r,   r   r   Úbase_bindingrA   Úmutated_view_bindingrR   rE   )r%   r1   rS   Únon_self_argsrT   Únon_self_bindingss         r(   Úop_argumentsrZ   Ã   sÓ   € Ø�>‰>×"Ñ"€DØˆA�w‡|�|”x¤§¡Ó.Ò.ÜÐDÀTÈ!ÁWÇ\Á\ÀNÐSÓTÐTØ˜˜�H€Mñ :GÓG¹°Aœ×,Ñ,¨QÕ/¸ÐÐGÙäˆ~Ð 1Ñ1Ð1ô
 ˜4Ô äÜ$Ü+Ü!ð	ð
 "ñ"ð "ô Ü$Ü+ðð "ñ	"ð "ùò! Hs   Á$C)F)r%   r   r&   ÚboolÚreturnÚstr)
r0   r   r1   r[   r2   r[   r   zbool | Noner\   r]   )r6   r   r2   r[   r\   r]   )r%   r   r\   r
   )r%   r   r\   r[   )r%   r   r\   úlist[Binding])T)r%   r   rI   r[   r\   r^   )r%   r   r1   r[   r\   r^   )(Ú
__future__r   Útorchgen.apir   Útorchgen.api.typesr   r   r   r   r	   r
   r   r   r   Útorchgen.modelr   r   r   r   r   r   rP   rV   r[   rC   rW   ÚintrE   rQ   ÚInverseReturnModeTrR   r)   r   r-   r=   rA   rG   rK   rJ   rZ   © r*   r(   Ú<module>rf      s  ðÝ "å #÷
÷ 
õ 
÷÷ ñ& Ø	Ù˜6©±iÀÓ6HÓ(IÔJÙØ™( 6§=¡=Ó1¸4ÈDôð ô€ñ &Ø	ÙÐ0±yÀÓ7GÔHÙØ"Ù�f—k‘kÓ"ØØô	ð ô
Ð ñ Ø	Ù˜>±¹iÈÓ>PÓ0QÔRÙØ™( 6§=¡=Ó1¸4ÈDôð ôÐ ñ Ø	Ù˜;©Y°uÓ-=Ô>ÙØ™x¨¯
©
Ó3¸TÈdôð ôÐ ñ  Ø	Ù˜?±¸5Ó1AÔBÙØ¡8¨F¯K©KÓ#8À$ÐSWôð ôÐ ñ !Ð!8Ð:MÓNÐ Ù%Ø	ÙÐ0±yÐASÓ7TÔUÙØ"á�f—k‘kÓ"ØØôð ôÐ ôAð "&ñ)Øð)ð ð)ð ð	)ð
 ð)ð 	ó)ó6	%ó	óó	ó *ôô"r*   