§
    X�’j¥	  ã                   óz  — U d dl mZ d dlZd dlmZ d dlmZ dee         fd„Zdee         fd„Z	eeedz                    Z
eed<   ee         Zeed	<   ej        gZ e¦   «         	 dde
dedeeej        ej        f         ee
ef         f         fd„¦   «         Zdej        defd„Zdee         dej        defd„ZdS )é    )Ú	TypeAliasN)ÚTensor)Úno_gradÚreturnc                  óF   — dddt           j                             ¦   «         gS )z:Return the device type list that supports foreach kernels.ÚcudaÚxpuÚmtia©ÚtorchÚ_CÚ_get_privateuse1_backend_name© ó    úHC:\Projects\DSCons\.venv\Lib\site-packages\torch\utils\_foreach_utils.pyÚ&_get_foreach_kernels_supported_devicesr      s   € à�E˜6¥5¤8×#IÒ#IÑ#KÔ#KÐLÐLr   c                  óL   — ddddddt           j                             ¦   «         gS )zEReturn the device type list that supports fused kernels in optimizer.Úmpsr   r	   ÚhpuÚcpur
   r   r   r   r   Ú$_get_fused_kernels_supported_devicesr      s1   € ð 	ØØØØØÝŒ×.Ò.Ñ0Ô0ðð r   ÚTensorListListÚIndicesFÚtensorlistlistÚwith_indicesc                 óB   — t           j                             | |¦  «        S ©N)r   r   Ú"_group_tensors_by_device_and_dtype)r   r   s     r   r   r   *   s   € õ
 Œ8×6Ò6°~À|ÑTÔTÐTr   Údevicec                 ór   — | j         t          ¦   «         dgz   v ot          j                             ¦   «          S )Nr   )Útyper   r   ÚjitÚis_scripting)r   s    r   Ú_device_has_foreach_supportr$   2   s8   € àŒÕ>Ñ@Ô@ÀEÀ7ÑJÐKð 	)Ý”	×&Ò&Ñ(Ô(Ð(ðr   Útensorsc                 óR   — t          |¦  «        ot          d„ | D ¦   «         ¦  «        S )Nc              3   óJ   K  — | ]}|d u pt          |¦  «        t          v V — Œd S r   )r!   Ú_foreach_supported_types)Ú.0Úts     r   ú	<genexpr>z'_has_foreach_support.<locals>.<genexpr>:   sH   è è € ð 7ð 7Ø=>ˆˆTˆ	Ð8•T˜!‘W”WÕ 8Ð8ð7ð 7ð 7ð 7ð 7ð 7r   )r$   Úall)r%   r   s     r   Ú_has_foreach_supportr-   9   s?   € Ý& vÑ.Ô.ð µ3ð 7ð 7ØBIð7ñ 7ô 7ñ 4ô 4ð r   )F)Útypingr   r   r   Útorch.autograd.grad_moder   ÚlistÚstrr   r   r   Ú__annotations__Úintr   r(   ÚboolÚdictÚtupler   Údtyper   r$   r-   r   r   r   ú<module>r8      s™  ðØ Ð Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðM°°S´	ð Mð Mð Mð Mð

¨d°3¬ið 
ð 
ð 
ð 
ð !  f¨t¡mÔ!4Ô5€�	Ð 5Ð 5Ñ 5Ø˜#”Y€ˆÐ Ð Ñ Ø!œL˜>Ð ð 	€�„ð ðUð UØ"ðUàðUð 
ˆ%�”˜eœkÐ)Ô
*¨E°.À'Ð2IÔ,JÐ
JÔKðUð Uð Uñ „ðUð¨¬ð ¸ð ð ð ð ð $ v¤,ð ¸¼ð Èð ð ð ð ð ð r   