§
    �Štj‹  ã                   ó¼   — U d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	 da
ej        dz  ed<    e j        d¦  «        d„ ¦   «         Z G d„ d	e¦  «        Zd
„ Zd„ ZdS )é    N)Ú_len_torch_function_stack)Ú	_pop_modeÚ
_push_modeÚTorchFunctionMode©Úcontext_decoratorÚCURRENT_DEVICEé   c                  ó„  — h t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j	        ’t           j
        j        ’t           j
        j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j        ’t           j         ’t           j!        ’t           j"        ’t           j#        ’t           j$        ’t           j%        ’t           j&        ’S ©N)'ÚtorchÚemptyÚempty_permutedÚempty_stridedÚempty_quantizedÚonesÚarangeÚbartlett_windowÚblackman_windowÚeyeÚfftÚfftfreqÚrfftfreqÚfullÚhamming_windowÚhann_windowÚkaiser_windowÚlinspaceÚlogspaceÚnestedÚnested_tensorÚrandÚrandnÚrandintÚrandpermÚrangeÚsparse_coo_tensorÚsparse_compressed_tensorÚsparse_csr_tensorÚsparse_csc_tensorÚsparse_bsr_tensorÚsparse_bsc_tensorÚtril_indicesÚtriu_indicesÚzerosÚasarrayÚtensorÚ	as_tensorÚscalar_tensor© ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/utils/_device.pyÚ_device_constructorsr7      sä  € ð1åŒð1õ 	Ôð1õ 	Ôð	1õ
 	Ôð1õ 	Œ
ð1õ 	Œð1õ 	Ôð1õ 	Ôð1õ 	Œ	ð1õ 	Œ	Ôð1õ 	Œ	Ôð1õ 	Œ
ð1õ 	Ôð1õ 	Ôð1õ  	Ôð!1õ" 	Œð#1õ$ 	Œð%1õ& 	ŒÔ"ð'1õ, 	Œ
ð-1õ. 	Œð/1õ0 	Œð11õ2 	Œð31õ4 	Œð51õ6 	Ôð71õ8 	Ô&ð91õ: 	Ôð;1õ< 	Ôð=1õ> 	Ôð?1õ@ 	ÔðA1õB 	ÔðC1õD 	ÔðE1õF 	ŒðG1õH 	ŒðI1õL 	ŒðM1õN 	ŒðO1õP 	ÔðQ1ð 1r5   c                   ó*   — e Zd Zdd„Zd„ Zd„ Zd	d„ZdS )
ÚDeviceContextÚreturnNc                 óF   — t          j        |¦  «        | _        d | _        d S r   )r   ÚdeviceÚ	prev_mode)Úselfr<   s     r6   Ú__init__zDeviceContext.__init__E   s   € Ý”l 6Ñ*Ô*ˆŒØ/3ˆŒˆˆr5   c                 ó  — t           | _        | j        a d„ t          t	          ¦   «         ¦  «        D ¦   «         }t          | ¦  «         t          |¦  «        D ].}t          |t          ¦  «        r|| _	        Œt          |¦  «         Œ/d S )Nc                 ó*   — g | ]}t          ¦   «         ‘ŒS r4   )r   )Ú.0Ú_s     r6   ú
<listcomp>z+DeviceContext.__enter__.<locals>.<listcomp>Q   s   € ÐMÐMÐM Q•Y‘[”[ÐMÐMÐMr5   )
r	   Ú
old_devicer<   r&   r   r   ÚreversedÚ
isinstancer9   r=   )r>   Ú	cur_stackÚmodes      r6   Ú	__enter__zDeviceContext.__enter__I   s�   € å(ˆŒØœˆð
 NÐM­%Õ0IÑ0KÔ0KÑ*LÔ*LÐMÑMÔMˆ	å�4ÑÔÐå˜YÑ'Ô'ð 	!ð 	!ˆDÝ˜$¥Ñ.Ô.ð !Ø!%�”�å˜4Ñ Ô Ð Ð ð		!ð 	!r5   c                 óè  — | j         ag }t          t          ¦   «         dz
  ¦  «        D ]I}t	          ¦   «         }t          |t          ¦  «        rt          d¦  «        ‚|                     |¦  «         ŒJt          ¦   «         dk    r2t	          ¦   «         }t          |t          ¦  «        st          d¦  «        ‚| j	        �t          | j	        ¦  «         t          |¦  «        D ]}t          |¦  «         Œd S )Nr
   z@Found nested DeviceContext on the mode stack where none expectedr   z8Expected a DeviceContext at the bottom of the mode stack)rE   r	   r&   r   r   rG   r9   ÚAssertionErrorÚappendr=   r   rF   )r>   Úexc_typeÚexc_valÚexc_tbrH   rC   rI   s          r6   Ú__exit__zDeviceContext.__exit__[   s	  € àœˆØˆ	õ Õ0Ñ2Ô2°QÑ6Ñ7Ô7ð 	#ð 	#ˆAÝ‘;”;ˆDÝ˜$¥Ñ.Ô.ð Ý$ØVñô ð ð ×Ò˜TÑ"Ô"Ð"Ð"å$Ñ&Ô&¨Ò*Ð*Ý‘;”;ˆDÝ˜d¥MÑ2Ô2ð Ý$ØNñô ð ð Œ>Ð%Ý�t”~Ñ&Ô&Ð&å˜YÑ'Ô'ð 	ð 	ˆDÝ�tÑÔÐÐð	ð 	r5   r4   c                 óx   — |pi }|t          ¦   «         v r|                     d¦  «        €
| j        |d<    ||i |¤ŽS )Nr<   )r7   Úgetr<   )r>   ÚfuncÚtypesÚargsÚkwargss        r6   Ú__torch_function__z DeviceContext.__torch_function__v   sO   € Ø�˜2ˆØÕ'Ñ)Ô)Ð)Ð)¨f¯jªj¸Ñ.BÔ.BÐ.JØ#œ{ˆF�8ÑØˆt�TÐ$˜VÐ$Ð$Ð$r5   )r:   N)r4   N)Ú__name__Ú
__module__Ú__qualname__r?   rJ   rQ   rX   r4   r5   r6   r9   r9   D   sZ   € € € € € ð4ð 4ð 4ð 4ð!ð !ð !ð$ð ð ð6%ð %ð %ð %ð %ð %r5   r9   c                 ó*   ‡ — t          ˆ fd„|¦  «        S )Nc                  ó   •— ‰ S r   r4   ©r<   s   €r6   ú<lambda>z"device_decorator.<locals>.<lambda>   s   ø€  V€ r5   r   )r<   rT   s   ` r6   Údevice_decoratorr`   ~   s   ø€ Ý˜^˜^˜^˜^¨TÑ2Ô2Ð2r5   c                 ó   ‡ — ˆ fd„S )zð
    Set the default device inside of the wrapped function by decorating it with this function.

    If you would like to use this as a context manager, use device as a
    context manager directly, e.g., ``with torch.device(device)``.
    c                 óH   •— t          t          j        ‰¦  «        | ¦  «        S r   )r`   r   r<   )rT   r<   s    €r6   r_   zset_device.<locals>.<lambda>‰   s   ø€ Õ(­¬°fÑ)=Ô)=¸tÑDÔD€ r5   r4   r^   s   `r6   Ú
set_devicerc   ‚   s   ø€ ð EÐDÐDÐDÐDr5   )Ú	functoolsr   Útorch._Cr   Útorch.overridesr   r   r   Útorch.utils._contextlibr   r	   r<   Ú__annotations__Ú	lru_cacher7   r9   r`   rc   r4   r5   r6   ú<module>rj      sû   ðà Ð Ð Ð Ð à €€€Ø .Ð .Ð .Ð .Ð .Ð .Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 5Ð 5Ð 5Ð 5Ð 5Ð 5ð '+€�”˜tÑ#Ð *Ð *Ñ *ð €Ô�QÑÔð2ð 2ñ Ôð2ðl6%ð 6%ð 6%ð 6%ð 6%Ð%ñ 6%ô 6%ð 6%ðt3ð 3ð 3ðEð Eð Eð Eð Er5   