§
    M�’jN  ã                   ó–   — d dl mZ d dlZd dlmZ dZdej        dee         dee         dej        fd	„Zdej        d
edej        fd„Z	dS )é    )ÚSequenceN)ÚShardMetadataz@Please use DTensor instead and we are deprecating ShardedTensor.ÚtensorÚoffsetsÚsizesÚreturnc                 ó¶   — | }t          t          ||¦  «        ¦  «        D ]8\  }\  }}||                      |¦  «        k     r|                     |||¦  «        }Œ9|S )zC
    Narrow the tensor according to ``offsets`` and ``sizes``.
    )Ú	enumerateÚzipÚsizeÚnarrow)r   r   r   Únarrowed_tensorÚidxÚoffsetr   s          úMC:\Projects\DSCons\.venv\Lib\site-packages\torch\distributed\_shard\_utils.pyÚnarrow_tensor_by_indexr   
   sl   € ð €OÝ(­¨W°eÑ)<Ô)<Ñ=Ô=ð Hð HÑˆ‰^ˆf�dØ�&—+’+˜cÑ"Ô"Ò"Ð"ð .×4Ò4°S¸&À$ÑGÔGˆOøØÐó    Úmetadatac                 ó8   — t          | |j        |j        ¦  «        S )z5
    Narrow the tensor according to the metadata
    )r   Úshard_offsetsÚshard_sizes)r   r   s     r   Únarrow_tensorr      s   € õ " &¨(Ô*@À(ÔBVÑWÔWÐWr   )
Úcollections.abcr   ÚtorchÚ!torch.distributed._shard.metadatar   ÚDEPRECATE_MSGÚTensorÚintr   r   © r   r   ú<module>r       s¾   ðØ $Ð $Ð $Ð $Ð $Ð $à €€€Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ð S€ðØŒLðà�cŒ]ðð �CŒ=ðð „\ð	ð ð ð ð$X˜%œ,ð X°-ð XÀEÄLð Xð Xð Xð Xð Xð Xr   