Ë
    g^(hª  ã                   óZ   — d dl mZ 	 d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zy)é    )ÚOrderedDictc                 ó:   — | j                  «       rt        d«      ‚y )NzzNYI: Named tensors don't support serialization. Please drop names via `tensor = tensor.rename(None)` before serialization.)Ú	has_namesÚRuntimeError)Útensors    úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_namedtensor_internals.pyÚcheck_serializing_named_tensorr	      s&   € Ø×ÑÔÜðMó
ð 	
ð ó    c                 ó|   — t        t        | j                  «      D ��cg c]  \  }}|€|n||f‘Œ c}}«      S c c}}w )zkReturns a map of { dim: dim_name } where dim is a name if the dim is named
    and the dim index otherwise.)r   Ú	enumerateÚnames)r   ÚidxÚnames      r   Úbuild_dim_mapr      s:   € ô Ü@IÈ&Ï,É,Ó@W×X±9°3¸��‰# 4¨Ò	.ÓXóð ùÛXs   ž8
c                 óê   — t        | t        «      r| j                  «       } t        | d«      s't        | t        «      st        dt        | «      › �«      ‚t        | «      dk(  rt        d«      ‚t        | Ž S )NÚ__iter__zBExpected namedshape to be OrderedDict or iterable of tuples, got: r   z!Expected namedshape to non-empty.)	Ú
isinstancer   ÚitemsÚhasattrÚtupler   ÚtypeÚlenÚzip)Ú
namedshapes    r   Úunzip_namedshaper      sq   € Ü�*œkÔ*Ø×%Ñ%Ó'ˆ
Ü�:˜zÔ*´:¸jÌ%Ô3PÜØPÔQUÐV`ÓQaÐPbÐcó
ð 	
ô ˆ:ƒ˜!ÒÜÐ>Ó?Ð?Ü�
ÐÐr
   c                 ó
   — | ryy)NÚrename_Úrename© )Úinplaces    r   Únamer_api_namer!   (   s   € ÙØàr
   c                 ó"   — | t         k(  xs | dk(  S )Nz...)ÚEllipsis)Úitems    r   Úis_ellipsisr%   /   s   € Ø”8ÑÒ,˜t u™}Ð,r
   c                 óÆ   — t        | «      D ��cg c]  \  }}t        |«      sŒ|‘Œ }}}t        |«      dk\  rt        |› d| › d�«      ‚t        |«      dk(  r|d   S y c c}}w )Né   z1: More than one Ellipsis ('...') found in names (z-). This function supports up to one Ellipsis.é   r   )r   r%   r   r   )r   Úfn_nameÚir   Úellipsis_indicess        r   Úsingle_ellipsis_indexr,   3   s{   € Ü)2°5Ó)9×O™g˜a ¼[ÈÕ=NšÐOÐÑOÜ
ÐÓ Ò!ÜØˆiÐHØˆgÐBðDó
ð 	
ô ÐÓ Ò!Ø Ñ"Ð"Øùó Ps
   �A£Ac                 ó$   — || t        |«      |z
   S )N)r   )Únumel_pre_globÚnumel_post_globr   s      r   Úexpand_single_ellipsisr0   ?   s   € Ø�¤# e£*¨Ñ">Ð?Ð?r
   c                 ó\   — t        | t        |«      | z
  dz
  |«      }|d |  |z   || dz   d  z   S )Nr(   )r0   r   )Úellipsis_idxr   Útensor_namesÚglobbed_namess       r   Úreplace_ellipsis_by_positionr5   C   sG   € Ü*Ø”c˜%“j <Ñ/°!Ñ3°\ó€Mð ��,Ð -Ñ/°%¸ÀqÑ8HÐ8JÐ2KÑKÐKr
   c                 ó<   — t        | |«      }|€| S t        || |«      S )zX
    Expands ... inside `names` to be equal to a list of names from `tensor_names`.
    )r,   r5   )r   r3   r)   r2   s       r   Úresolve_ellipsisr7   J   s*   € ô )¨°Ó8€LØÐØˆÜ'¨°e¸\ÓJÐJr
   c           	      ó¬   — t        |«      dk(  r|d   €| j                  d |«      S | j                  t        || j                  t	        |«      «      |«      S )Nr(   r   )r   Ú_update_namesr7   r   r!   )r   r   r    s      r   Úupdate_names_with_listr:   T   sS   € ä
ˆ5ƒz�Q‚˜5 ™8Ð+Ø×#Ñ# D¨'Ó2Ð2à×ÑÜ˜ §¡¬n¸WÓ.EÓFÈóð r
   c                 ó&  — t        | «      }|j                  «       D ]K  }||   }||j                  «       v r|||<   Œ t        t        |«      › d|› d|› d| j                  › d|› d�
«      ‚ | j                  t        |j                  «       «      |«      S )Nz: Tried to rename dim 'z	' to dim z in Tensor[z] but dim 'z' does not exist)r   Úkeysr   r!   r   r9   r   Úvalues)r   Ú
rename_mapr    Údim_mapÚold_dimÚnew_dims         r   Úupdate_names_with_mappingrB   ^   s¤   € Ü˜FÓ#€GØ—?‘?Ó$ò ˆØ˜WÑ%ˆØ�g—l‘l“nÑ$Ø&ˆG�GÒäÜ! 'Ó*Ð+Ð+BÀ7À)È9Ø�)˜; v§|¡| n°KÀ¸yÐHXðZóð ðð ×Ñ¤ g§n¡nÓ&6Ó 7¸ÓAÐAr
   c           	      óô   — t        |«      dkD  }t        |«      }|r1|r/t        t        |«      › dt        |«      › dt        |«      › d�«      ‚|s|st	        | ||«      S |rt	        | ||«      S t        | ||«      S )aî  There are two usages:

    tensor.rename(*names) returns a view on tensor with named dims `names`.
    `names` must be of length `tensor.dim()`; otherwise, if '...' is in `names`,
    then it is expanded greedily to be equal to the corresponding names from
    `tensor.names`.

    For example,
    ```
    >>> # xdoctest: +SKIP
    >>> x = torch.empty(2, 3, 5, 7, names=('N', 'C', 'H', 'W'))
    >>> x.rename('...', 'height', 'width').names
    ('N', 'C', 'height', 'width')

    >>> # xdoctest: +SKIP
    >>> x.rename('batch', '...', 'width').names
    ('batch', 'C', 'H', 'width')

    ```

    tensor.rename(**rename_map) returns a view on tensor that has rename dims
        as specified in the mapping `rename_map`.

    For example,
    ```
    >>> # xdoctest: +SKIP
    >>> x = torch.empty(2, 3, 5, 7, names=('N', 'C', 'H', 'W'))
    >>> x.rename(W='width', H='height').names
    ('N', 'C', 'height', 'width')

    ```

    Finally, tensor.rename has an in-place version called tensor.rename_.
    r   zW: This function takes either positional args or keyword args, but not both. Use tensor.z!(*names) to name dims and tensor.z(**rename_map) to rename dims.)r   Úboolr   r!   r:   rB   )r   r   r>   r    r   Úhas_rename_pairss         r   Úupdate_namesrF   l   sŸ   € ôF �E“
˜Q‘€IÜ˜JÓ'ÐÙÑ%ÜÜ˜gÓ&Ð'ð (>Ü>LÈWÓ>UÐ=Vð W'Ü'5°gÓ'>Ð&?ð @ðó
ð 	
ñ Ñ-Ü% f¨e°WÓ=Ð=áÜ% f¨e°WÓ=Ð=Ü$ V¨Z¸ÓAÐAr
   N)Úcollectionsr   r	   r   r   r!   r%   r,   r0   r5   r7   r:   rB   rF   r   r
   r   ú<module>rH      sN   ðå #ðò
òò	òò-ò	ò@òLòKòòBó3Br
   