Ë
    g^(hÝ  ã                   ó€  — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlZd dlmZ g d¢Ze G d„ d	«      «       Z G d
„ de«      Ze G d„ d«      «       Ze G d„ d«      «       Ze G d„ d«      «       Zeeef   Zeeeee	f   f   Ze G d„ d«      «       Ze G d„ d«      «       Z ed¬«       G d„ d«      «       Zy)é    N)ÚSequence)Ú	dataclassÚfield)ÚEnum)ÚAnyÚOptionalÚUnion)Ú	StatefulT)ÚChunkStorageMetadataÚTensorStorageMetadataÚBytesStorageMetadataÚMetadataÚMetadataIndexÚTensorPropertiesÚStorageMetac                   óN   — e Zd ZU dZej
                  ed<   ej
                  ed<   y)r   zo
    Each chunk is expected to have the same properties of the TensorStorageMetadata
    that includes it.
    ÚoffsetsÚsizesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚtorchÚSizeÚ__annotations__© ó    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/metadata.pyr   r      s   … ñð
 �Z‰ZÓØ�:‰:Ôr   r   c                   ó   — e Zd ZdZdZdZdZy)Ú_MEM_FORMAT_ENCODINGz'Describe the memory format of a tensor.r   é   é   N)r   r   r   r   ÚTORCH_CONTIGUOUS_FORMATÚTORCH_CHANNELS_LASTÚTORCH_PRESERVE_FORMATr   r   r   r    r    "   s   „ Ù1àÐØÐØÑr   r    c                   ó4  — e Zd ZU dZ eej                  ¬«      Zej                  ed<    eej                  ¬«      Z
ej                  ed<   dZeed<    eej                  ¬«      Zej                  ed<   dZeed	<   d
„ Zd„ Zedej&                  dd fd„«       Zy)r   z)Properties used to create :class:`Tensor`©Údefault_factoryÚdtype)ÚdefaultÚlayoutFÚrequires_gradÚmemory_formatÚ
pin_memoryc                 ól  — | j                   }|t        j                  k(  rt        j                  }nV|t        j
                  k(  rt        j                  }n2|t        j                  k(  rt        j                  }nt        d|› �«      ‚| j                  | j                  | j                  || j                  fS )NzInvalid torch.memory_format: )r-   r   Úcontiguous_formatr    r#   Úchannels_lastr$   Úpreserve_formatr%   ÚRuntimeErrorr)   r+   r,   r.   )Úselfr-   Úmem_format_encodings      r   Ú__getstate__zTensorProperties.__getstate__9   s›   € à×*Ñ*ˆØœE×3Ñ3Ò3Ü"6×"NÑ"NÑØœe×1Ñ1Ò1Ü"6×"JÑ"JÑØœe×3Ñ3Ò3Ü"6×"LÑ"LÑäÐ!>¸}¸oÐNÓOÐOð �J‰JØ�K‰KØ×ÑØØ�O‰Oð
ð 	
r   c                 óX  — |\  | _         | _        | _        }| _        |t        j
                  k(  rt        j                  }|| _        y |t        j                  k(  rt        j                  }|| _        y |t        j                  k(  rt        j                  }|| _        y t        d|› �«      ‚)Nz&Invalid torch.memory_format encoding: )r)   r+   r,   r.   r    r#   r   r0   r$   r1   r%   r2   r3   r-   )r4   Ústater5   r-   s       r   Ú__setstate__zTensorProperties.__setstate__M   s±   € ð ñ	
ØŒJØŒKØÔØØŒOð Ô"6×"NÑ"NÒNÜ!×3Ñ3ˆMð +ˆÕð !Ô$8×$LÑ$LÒLÜ!×/Ñ/ˆMð +ˆÕð !Ô$8×$NÑ$NÒNÜ!×1Ñ1ˆMð +ˆÕô	 Ø8Ð9LÐ8MÐNóð r   ÚtensorÚreturnc                 ó–   — t        | j                  | j                  | j                  t        j
                  | j                  «       ¬«      S )N)r)   r+   r,   r-   r.   )r   r)   r+   r,   r   r0   Ú	is_pinned)r:   s    r   Úcreate_from_tensorz#TensorProperties.create_from_tensorf   s;   € äØ—,‘,Ø—=‘=Ø ×.Ñ.Ü×1Ñ1Ø×'Ñ'Ó)ô
ð 	
r   N)r   r   r   r   r   r   Úget_default_dtyper)   r   Ústridedr+   r,   Úboolr0   r-   r.   r6   r9   ÚstaticmethodÚTensorr>   r   r   r   r   r   *   s—   … á3ñ ¨u×/FÑ/FÔG€Eˆ5�;‰;ÓGá ¨¯©Ô7€FˆE�L‰LÓ7à€M�4Óá).°u×7NÑ7NÔ)O€M�5×&Ñ&ÓOà€J�Óò
ò(+ð2 ð
 5§<¡<ð 
Ð4Fò 
ó ñ
r   r   c                   óF   — e Zd ZU eed<   ej                  ed<   ee   ed<   y)r   Ú
propertiesÚsizeÚchunksN)	r   r   r   r   r   r   r   Úlistr   r   r   r   r   r   q   s   … à Ó Ø
�*‰*ÓØÐ%Ñ&Ô&r   r   c                   ó   — e Zd Zy)r   N)r   r   r   r   r   r   r   r   x   s   „ àr   r   c                   ó†   — e Zd ZU dZeeej                  df   ed<   dZ	e
e   ed<   dZe
e   ed<    ee¬«      Zee   ed<   y)r   NÚcheckpoint_idÚsave_idÚload_idr'   Úmodules)r   r   r   rK   r	   ÚstrÚosÚPathLiker   rL   r   rM   r   rH   rN   r   r   r   r   r   �   sK   … à37€M�5˜˜bŸk™k¨4Ð/Ñ0Ó7Ø!€GˆX�c‰]Ó!Ø!€GˆX�c‰]Ó!Ù¨tÔ4€GˆT�#‰YÔ4r   r   c                   óV   — e Zd ZU dZeeef   ed<   dZe	ed<   dZ
e	ed<   dZee   ed<   y)r   z5This class represents the metadata of the checkpoint.Ústate_dict_metadataNÚplanner_dataÚstorage_dataÚstorage_meta)r   r   r   r   ÚdictrO   ÚSTORAGE_TYPESr   rT   r   rU   rV   r   r   r   r   r   r   r   ‰   s<   … á?ð ˜c =Ð0Ñ1Ó1ð
 €L�#ÓØ€L�#ÓØ*.€L�(˜;Ñ'Ô.r   r   T)Úfrozenc                   óœ   — e Zd ZU dZeed<   	 dZeej                     ed<   	  e
ddd¬«      Zee   ed<   	 	 	 d	dedeee      dee   fd„Zy)
r   zIThis class represents a lookup key for items in a state dict or Metadata.ÚfqnNÚoffsetF)ÚhashÚcomparer*   Úindexc                 óº   — t         j                  | d|«       t         j                  | d|«       |�+t         j                  | dt        j                  |«      «       y y )Nr[   r_   r\   )ÚobjectÚ__setattr__r   r   )r4   r[   r\   r_   s       r   Ú__init__zMetadataIndex.__init__®   sN   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨%Ô0ØÐÜ×Ñ˜t X¬u¯z©z¸&Ó/AÕBð r   )NN)r   r   r   r   rO   r   r\   r   r   r   r   r_   Úintr   rc   r   r   r   r   r   ˜   sy   … áSà	ƒHØ,à#'€FˆH�U—Z‘ZÑ Ó'ØMá  e°UÀDÔI€Eˆ8�C‰=ÓIð	ð +/Ø#ñ	
Càð
Cð ˜ #™Ñ'ð
Cð ˜‰}ô	
Cr   r   )rP   Úcollections.abcr   Údataclassesr   r   Úenumr   Útypingr   r   r	   r   Ú%torch.distributed.checkpoint.statefulr
   Ú__all__r   r    r   r   r   rX   rW   rO   ÚSTATE_DICT_TYPEr   r   r   r   r   r   ú<module>rl      s  ðã 	Ý $ß (Ý ß 'Ñ 'ã Ý ;ò€ð ÷ð ó ðô˜4ô ð ÷C
ð C
ó ðC
ðL ÷'ð 'ó ð'ð ÷	ð 	ó ð	ð Ð+Ð-AÐAÑB€Ø�s˜E )¨S .Ñ1Ð1Ñ2€ð ÷5ð 5ó ð5ð ÷/ð /ó ð/ñ �$Ô÷Cð Có ñCr   