§
    �ŠtjU  ã                  óæ   — d dl mZ d dlmZ d dlm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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rd dl!m"Z" d$d„Z#d%d„Z$d&d„Z%d'd„Z&d(d!„Z'd)d"„Z(d#S )*é    )Úannotations)ÚTYPE_CHECKING)Úassert_never)Úlocal)Úcpp)ÚArgNameÚ	BaseCTypeÚBindingÚboolTÚConstRefCTypeÚCTypeÚdeviceTÚlayoutTÚ	ListCTypeÚMutRefCTypeÚ
NamedCTypeÚOptionalCTypeÚscalarTÚscalarTypeTÚtensorT)ÚArgumentÚFunctionSchemaÚReturnÚSelfArgumentÚTensorOptionsArgumentsÚType)ÚSequenceÚfuncr   ÚreturnÚstrc                ó¦   — t          | j        j        ¦  «        }|                      ¦   «         r|dz  }| j        j        r|d| j        j        › �z  }|S )NÚ_outÚ_)r    ÚnameÚ	is_out_fnÚoverload_name)r   r$   s     úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/api/native.pyr$   r$   3   sX   € ÝˆtŒyŒ~ÑÔ€Dà‡~‚~ÑÔð Ø�‰ˆØ„yÔð .ØÐ-�D”IÔ+Ð-Ð-Ñ-ˆØ€Kó    Útr   ÚmutableÚboolÚbindsr   Úsymintr   c               ó  — t          | ¦  «        dk    rpt          t          t          ¦  «        ¦  «        }|r0t	          j        ¦   «         st          |t          |¦  «        ¦  «        S t          |t          |¦  «        ¦  «        S t          | ¦  «        dk    rIt          |t          t          t          t          t          ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        S t          | ¦  «        dk    r/t          |t          t          t          ¦  «        ¦  «        ¦  «        S t          | ¦  «        dk    r<t          |t          t          t          t          ¦  «        ¦  «        ¦  «        ¦  «        S t          j        | |||¬¦  «        S )NzTensor?z	Tensor?[]ÚScalarzScalar?©r*   r,   r-   )r    r   r	   r   r   Ú!use_const_ref_for_mutable_tensorsr   r   r   r   r   r   Úargumenttype_type)r)   r*   r,   r-   Útensor_types        r'   r2   r2   =   sB  € õ ˆ1�v„v�ÒÐÝ%2µ9½WÑ3EÔ3EÑ%FÔ%FˆØð 	A�5ÔBÑDÔDð 	AÝ˜e¥[°Ñ%=Ô%=Ñ>Ô>Ð>å˜e¥]°;Ñ%?Ô%?Ñ@Ô@Ð@Ý	ˆQ‰Œ�;Ò	Ð	ÝØ•=¥­=½Å7Ñ9KÔ9KÑ+LÔ+LÑ!MÔ!MÑNÔNñ
ô 
ð 	
õ 
ˆQ‰Œ�8Ò	Ð	Ý˜%¥­y½Ñ/AÔ/AÑ!BÔ!BÑCÔCÐCÝ	ˆQ‰Œ�9Ò	Ð	Ý˜%¥­}½YÅwÑ=OÔ=OÑ/PÔ/PÑ!QÔ!QÑRÔRÐRÝÔ  ¨G¸5ÈÐPÑPÔPÐPr(   ÚrsúSequence[Return]r   c               ó.   — t          j        | |¬¦  «        S )N©r-   )r   Úreturns_type)r4   r-   s     r'   r8   r8   Q   s   € ÝÔ˜B vÐ.Ñ.Ô.Ð.r(   Úar   c               ó<   — t          | j        | j        ||¬¦  «        S )Nr0   )r2   ÚtypeÚis_write)r9   r,   r-   s      r'   Úargument_typer=   U   s   € Ý˜QœV¨Q¬Z¸uÈVÐTÑTÔTÐTr(   ú0Argument | SelfArgument | TensorOptionsArgumentsÚis_outúlist[Binding]c               ó”  — | }t          | t          ¦  «        rZd }|r(| j        �!t          j        | j        | j        |¬¦  «        }t          t          | | j        |¬¦  «        | j        || ¬¦  «        gS t          | t          ¦  «        rt          | j
        ||¬¦  «        S t          | t          ¦  «        �rd }|rd}t          t          dt          t          t          ¦  «        ¦  «        ¦  «        d|| ¬¦  «        t          t          dt          t          t           ¦  «        ¦  «        ¦  «        d|| ¬¦  «        t          t          dt          t          t"          ¦  «        ¦  «        ¦  «        d|| ¬¦  «        t          t          d	t          t          t$          ¦  «        ¦  «        ¦  «        d	|| ¬¦  «        gS t'          | ¦  «         d S )
Nr7   )r,   r-   )Únctyper$   ÚdefaultÚargument)r?   r-   z{}ÚdtypeÚlayoutÚdeviceÚ
pin_memory)Ú
isinstancer   rC   r   Údefault_exprr;   r
   r=   r$   r   rD   r   r   r   r	   r   r   r   r   r   )r9   r?   r-   Úshould_defaultrC   s        r'   rD   rD   Y   sÛ  € ð  �Z€NÝ�!•XÑÔð 1Ø"ˆØð 	I˜aœiÐ3ÝÔ& q¤y°!´&ÀÐHÑHÔHˆGåÝ$ Q¨a¬f¸VÐDÑDÔDØ”VØØð	ñ ô ð
ð 	
õ 
�A•|Ñ	$Ô	$ð %å˜œ
¨6¸&ÐAÑAÔAÐAÝ	�AÕ-Ñ	.Ô	.ñ "ØˆØð 	ØˆGõ
 Ý! '­=½Å;Ñ9OÔ9OÑ+PÔ+PÑQÔQØØØð	ñ ô õ Ý! (­M½)ÅGÑ:LÔ:LÑ,MÔ,MÑNÔNØØØð	ñ ô õ Ý! (­M½)ÅGÑ:LÔ:LÑ,MÔ,MÑNÔNØØØð	ñ ô õ Ý! ,µ½iÍÑ>NÔ>NÑ0OÔ0OÑPÔPØ!ØØð	ñ ô ð'
ð 	
õ6 	�Q‰Œˆˆˆr(   c               ó¤   ‡ ‡— g }|                      ‰ j        j        ¦  «         |                      ‰ j        j        ¦  «         ˆ ˆfd„|D ¦   «         S )Nc                ób   •— g | ]+}t          |‰‰                     ¦   «         ¬ ¦  «        D ]}|‘ŒŒ,S ))r-   r?   )rD   r%   )Ú.0ÚargÚrr   r-   s      €€r'   ú
<listcomp>zarguments.<locals>.<listcomp>�   sS   ø€ ð ð ð Ø¥8¨C¸ÀtÇ~Â~ÑGWÔGWÐ#XÑ#XÔ#Xðð Øˆðð ð ð r(   )ÚextendÚ	argumentsÚnon_outÚout)r   r-   Úargss   `` r'   rS   rS   ™   sg   øø€ ØCE€DØ‡K‚K�”Ô&Ñ'Ô'Ð'Ø‡K‚K�”Ô"Ñ#Ô#Ð#ðð ð ð ð Øðñ ô ð r(   N)r   r   r   r    )
r)   r   r*   r+   r,   r   r-   r+   r   r   )r4   r5   r-   r+   r   r   )r9   r   r,   r   r-   r+   r   r   )r9   r>   r?   r+   r-   r+   r   r@   )r   r   r-   r+   r   r@   ))Ú
__future__r   Útypingr   Útyping_extensionsr   Útorchgenr   Útorchgen.apir   Útorchgen.api.typesr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   Úcollections.abcr   r$   r2   r8   r=   rD   rS   © r(   r'   ú<module>r`      s   ðØ "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ðQð Qð Qð Qð(/ð /ð /ð /ðUð Uð Uð Uð=ð =ð =ð =ð@ð ð ð ð ð r(   