
    ȅi              
          % S SK r S SKrS SKrS SKJr  S SKJr  S SKrSr\	\
S'   SrSrSrS	rS
rSrSrSrSrSr\R*                  \R,                  \R.                  \R0                  \R2                  \R4                  \R6                  \R8                  \R:                  S.	rSr\ \
S'   Sr!S	r"Sr#Sr$Sr%Sr&\ " S S5      5       r' S%S\(S\(S\(S-  S\	4S jjr)S\ RT                  S\+\\(4   4S  jr,S!\	S\RZ                  4S" jr.S#\S\S-  4S$ jr/g)&    N)	dataclass)Anyzmodel.safetensors.index.json_metadata_fnzmodel-{cpt_idx}-of-{num_files}z0shard-{shard_idx}-model-{cpt_idx}-of-{num_files}z.safetensorsDCP_SHARDING_INFO__metadata__saved_offsetsshapedatadtypedata_offsets)	F16F32F64I8U8I16I32I64BF16g      ?HF_DCP_VERSIONDCP_VERSIONformatpt   shardedc                   `    \ rS rSr% Sr\\S'   \R                  \S'   \R                  \S'   Sr
g)_HFStorageInfo1   z#This is the per entry storage info.relative_pathr	   r    N)__name__
__module____qualname____firstlineno____doc__str__annotations__torchSizer   __static_attributes__r        `/home/james-whalen/.local/lib/python3.13/site-packages/torch/distributed/checkpoint/_hf_utils.pyr   r   1   s    -::;;r+   r   indexlargest_indexshard_indexreturnc                    UbL  [         R                  U R                  S5      U  R                  S5      U R                  S5      S9[        -   $ [        R                  U  R                  S5      U R                  S5      S9[        -   $ )N   )	shard_idxcpt_idx	num_files)r4   r5   )SHARDED_FILE_NAMEr   zfillSUFFIX	FILE_NAME)r-   r.   r/   s      r,   _gen_file_namer:   :   s     $$(M003 '((+*O2215 % 
 	
  '((+-7O7OPQ7R   	
r+   
file_bytesc                     U R                  [        5      n[        R                  " SU5      S   nU R                  U5      n[        R
                  " U5      nXB[        -   4$ )Nz<Qr   )readNUM_BYTES_FOR_HEADER_LENstructunpackjsonloads)r;   header_len_bytes
header_lenheader_jsonmetadatas        r,   _get_safetensors_file_metadatarG   O   sU     "'?@t%56q9J//*-Kzz+&H#;;<<r+   	dtype_strc                 f     [         U    nU$ ! [         a    [        R                  " 5       n U$ f = fN)	DTYPE_MAPKeyErrorr(   get_default_dtype)rH   r   s     r,   
_get_dtyperN   \   s<    *)$ L  *'')L*s   	 00rF   c                 x    [         U ;   a0  U [            n[        U;   a  [        R                  " U[           5      $ g rJ   )DEFAULT_EXTRA_METADATA_KEYCUSTOM_METADATA_KEYrA   rB   )rF   custom_metadatas     r,   _get_dcp_custom_metadatarS   e   s5    !X-"#=>/1::o.ABCCr+   rJ   )0iorA   r?   dataclassesr   typingr   r(   r   r&   r'   r9   r6   r8   rQ   rP   SAVED_OFFSETS_KEY	SHAPE_KEYDATA_KEY	DTYPE_KEYDATA_OFFSETS_KEYfloat16float32float64int8uint8int16int32int64bfloat16rK   r   floatDCP_VERSION_KEYDCP_SHARDING_INFO_KEY
FORMAT_KEYFORMAT_VALUEr>   SHARDED_DIR_NAMEr   intr:   IOBasetuplerG   r   rN   rS   r    r+   r,   <module>rn      sf   	   !   3c 2,	F 	 * + # 		!  ======
**
++;;;;;;NN
	  + 
      ?C

"
14t

*
=ryy 
=U38_ 
=# %++ s sTz r+   