Ë
    Z^(hŽ  ã                  óê  — 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«      «      ¬«       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d eej2                  «      dd¬«      d¬	«      Z edd«      Z ed ed ee«      ¬«       ed eej2                  «      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„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   Úmutated_viewÚmutated_view_idxÚreapply_viewszat::functionalizationÚInverseReturnModeÚinverse_return_mode)r   c               ó*  — |€|sJ ‚|rt        | j                  |«      S |sJ ‚| j                  €J ‚|r.| j                  j                  j                  j                  «       n-| j                  j                  j                  j                  «       }d|› d�S )Nz
at::_ops::z::call)Úreverse_nameÚviewÚ	view_copyÚfuncr   Úunambiguous_name)ÚgÚ
is_reverseÚinclude_namespacer   Úapi_names        ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torchgen/api/functionalization.pyr   r   [   s•   € ð Ðñ ÐˆzÙÜ˜AŸF™FÐ$5Ó6Ð6áÐÐØ�;‰;Ð"Ð"Ð"ñ ð 	
�‰�‰×Ñ×)Ñ)Ô+à�[‰[×Ñ×"Ñ"×3Ñ3Ó5ð ð
 ˜�z Ð(Ð(ó    c                ód   — | j                   j                  j                  «       }|rd|› d�S |› d�S )Nz+at::functionalization::FunctionalInverses::Ú_inverse)r$   r   r%   )Úfr(   r)   s      r*   r!   r!   s   s9   € ð �v‰v�{‰{×+Ñ+Ó-€HáØ<¸X¸JÀhÐOÐOà�˜8Ð$Ð$r+   c               ó$  — | j                   j                  }|d   j                  t        t        j
                  «      k(  sJ ‚|dd  }|D �cg c]  }t        j                  |d¬«      ‘Œ }}|rt        nt        g}|j                  |«       |S c c}w )Nr   é   T)Úremove_non_owning_ref_types)Ú	argumentsÚflat_allr   r   r   ÚTensorr   r   Úinverse_return_mode_bindingÚreapply_views_bindingÚextend)r$   r'   ÚargsÚnon_self_argsÚaÚnon_self_value_bindingsÚall_bindingss          r*   Úcapture_argumentsr=      s“   € ð �>‰>×"Ñ"€DØ�‰7�<‰<œ8¤F§M¡MÓ2Ò2Ð2Ð2Ø˜˜�H€MàJWöØEFŒ
×Ñ˜A¸4Ö@ðÐð ñ
 (2Õ#Ô7Lð€Lð ×ÑÐ/Ô0ØÐùòs   ÁBc                ó®   — t        | j                  «      dk\  sJ ‚| j                  D ]  }|j                  j                  «       rŒJ ‚ t	        t
        «      S )Nr0   )ÚlenÚreturnsr   Úis_tensor_liker   r   )r$   Úrets     r*   Úreturns_typerC   ‘   sO   € äˆt�|‰|Ó Ò!Ð!Ð!Ø�|‰|ò )ˆØ�x‰x×&Ñ&Õ(Ð(Ð(ð)ô ”WÓÐr+   c                ó@   — | rt         t        t        gS t         t        gS )N)Úbase_bindingÚmutated_view_bindingÚmutated_view_idx_binding)r'   s    r*   Úouter_argumentsrH   ›   s    € ÙÜÔ2Ô4LÐMÐMäÔ6Ð7Ð7r+   c                ó¾   — t        | j                  «      dkD  s?t        | j                  «      dk(  r-| j                  d   j                  j                  «       rt        S y )Nr0   r   )r?   r@   r   Úis_list_likerG   )r$   s    r*   Úinner_call_indexrK   ¢   sH   € ô ˆ4�<‰<Ó˜1ÒÜˆD�L‰LÓ˜QÒ 4§<¡<°¡?×#7Ñ#7×#DÑ#DÔ#Fä'Ð'Ør+   c                ó`  — | j                   j                  }|d   j                  t        t        j
                  «      k(  sJ ‚|dd  }|D �cg c]  }t        j                  |«      ‘Œ }}|s
t        g|z   S t        | «      }|�t        t        t        |g|z   S t        t        t        g|z   S c c}w )Nr   r0   )r2   r3   r   r   r   r4   r   r   rE   rK   rF   r5   )r$   r'   r8   r9   r:   Únon_self_bindingsÚindex_bindings          r*   Úinner_argumentsrO   ¬   sÅ   € Ø�>‰>×"Ñ"€DØ�‰7�<‰<œ8¤F§M¡MÓ2Ò2Ð2Ð2Ø˜˜�H€Mð :GÖG°Aœ×,Ñ,¨QÕ/ÐGÐÐGÙäˆ~Ð 1Ñ1Ð1ô
 )¨Ó.ˆØÐ$äÜ$Ü+Øð	ð
 "ñ"ð "ô Ü$Ü+ðð "ñ	"ð "ùò# Hs   ÁB+)
r&   r   r'   Úboolr(   rP   r   zbool | NoneÚreturnÚstr)r.   r   r(   rP   rQ   rR   )r$   r   r'   rP   rQ   úlist[Binding])r$   r   rQ   r
   )r'   rP   rQ   rS   )r$   r   rQ   zBinding | None)$Ú
__future__r   Útorchgen.apir   Útorchgen.api.typesr   r   r   r   r	   r
   r   r   r   Útorchgen.modelr   r   r   r   r   r   r4   rE   rF   rG   rP   r6   ÚInverseReturnModeTr5   r   r!   r=   rC   rH   rK   rO   © r+   r*   ú<module>rZ      sÑ  ðÝ "å #÷
÷ 
õ 
÷÷ ñ4 Ø	Ù˜6©±iÀÓ6HÓ(IÔJÙØ™( 6§=¡=Ó1¸4ÈDôð ô€ñ Ø	Ù˜>±¹iÈÓ>PÓ0QÔRÙØ™( 6§=¡=Ó1¸4ÈDôð ôÐ ñ #Ø	ÙÐ-±I¸eÓ4DÔEÙØ™( 6§=¡=Ó1¸4ÈDôð ôÐ ñ  Ø	Ù˜?±¸5Ó1AÔBÙØ¡8¨F¯K©KÓ#8À$ÐSWôð ôÐ ñ !Ð!8Ð:MÓNÐ Ù%Ø	ÙÐ0±yÐASÓ7TÔUÙØ"á�f—k‘kÓ"ØØôð ôÐ ð* "&ñ)Øð)ð ð)ð ð	)ð
 ð)ð 	ó)ó0	%óó$ó8óô"r+   