ó
    "Eñio$  ã                   óê   • S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SK	J
r  S SKrS SKJs  Jr  S SKJr  S r\" SS9S 5       rSS	.S
\R*                  S\S\4S jjr " S S5      r " S S5      rg)é    N)Údefaultdict)ÚStorageWeakRefc                  ó   ^ • U 4S jnU$ )zcLazily wrap a function with torch.compile on the first call

This avoids eagerly importing dynamo.
c                 óJ   >^ • [         R                  " T 5      UU 4S j5       nU$ )Nc                  ó¤   >• [         R                  " T40 TD6n[        R                  " T5      " U5      [	        5       TR
                  '   U" U 0 UD6$ ©N)ÚtorchÚcompileÚ	functoolsÚwrapsÚglobalsÚ__name__)ÚargsÚkwargsÚcompiled_fnÚcompile_kwargsÚfns      €€ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/utils/_content_store.pyÚcompile_hookÚ7lazy_compile.<locals>.decorate_fn.<locals>.compile_hook4   sD   ø€ äŸ-š-¨Ñ=¨nÑ=ˆKÜ%.§_¢_°RÔ%8¸Ó%EŒG‹I�b—k‘kÑ"Ù Ð/¨Ñ/Ð/ó    )r   r   )r   r   r   s   ` €r   Údecorate_fnÚ!lazy_compile.<locals>.decorate_fn3   s&   ù€ Ü	�Š˜Ó	õ	0ó 
ð	0ð
 Ðr   © )r   r   s   ` r   Úlazy_compiler   -   s   ø€ õð Ðr   T)Údynamicc                 óÀ  • [         R                  " SSU R                  U R                  [         R                  S9R                  5       nUS-  S-   R                  5       n[         R                  " SSU R                  U R                  [         R                  S9R                  5       R                  5       n[        R                  " X-  U-   R                  5       S/5      $ )Ni   €l        )ÚdeviceÚdtypeiÿÿÿé   r   )
r	   ÚrandintÚshaper   Úint32ÚabsÚlongÚprimsÚxor_sumÚint)ÚxÚaÚbs      r   Úhash_storage_kernelr,   C   s¡   € ô
 	�ŠØ�%˜Ÿ™¨¯©¼¿¹ñ	ç	�cƒeð ð ˆy‰/˜QÑ	×$Ñ$Ó&€Aä�Š�h  q§w¡w°q·x±xÄuÇ{Á{ÑSß	‰‹ß	‰‹ð ô �=Š=˜!™% !™)Ÿ™Ó*¨Q¨CÓ0Ð0r   F©Ústable_hashÚstorager.   Úreturnc                ó<  • SS K nSSKJn  U R                  R                  nU(       d  U" U5      (       dƒ  U R                  5       n[        R                  UR                  5       -  R                  UR                  5       5      n[        R                  " SS9nUR                  U5        UR                  5       $ US:X  a  UR                  R                   nO—US:X  a.  UR"                  R$                  U R                  R&                     nOcUS:X  a  UR(                  R+                  5       nOBUS:X  a.  UR,                  R$                  U R                  R&                     nO[/        S	U 35      eUR1                  5       n	 UR3                  S5        UR4                  " SUR6                  U R                  S
9R9                  U 5      n
U
R;                  5       * S-  nUS:”  a  [<        R>                  " U
SU4SS5      n
U
RA                  URB                  5      n
Sn[E        U5       Vs/ s H  n[G        U
5      RI                  5       PM     nn[J        RL                  " SSU-  -   /UQ76 RO                  5       URQ                  U	5        $ s  snf ! URQ                  U	5        f = f)Nr   )Úis_compile_supportedF)ÚusedforsecurityÚcpuÚcudaÚmpsÚxpuzunhandled device type ©r   r   é   Úconstanté   Ú>Úi))Útorch._dynamoÚtorch._dynamo.utilsr2   r   Útyper4   ÚctypesÚc_byteÚnbytesÚfrom_addressÚdata_ptrÚhashlibÚsha1ÚupdateÚ	hexdigestÚ_CÚdefault_generatorr5   Údefault_generatorsÚindexr6   Ú_get_default_mps_generatorr7   ÚAssertionErrorÚ	get_stateÚmanual_seedÚemptyÚuint8Úset_ÚnumelÚFÚpadÚviewr#   Úranger,   ÚitemÚstructÚpackÚhexÚ	set_state)r/   r.   r	   r2   Údevice_typeÚcpu_storageÚbufrG   Ú	generatorÚstater)   rW   ÚITERÚ_Úcss                  r   Úhash_storagerg   ^   s  € ÛÝ8à—.‘.×%Ñ%€KÞÑ.¨{×;Ñ;Ø—k‘k“mˆô �}‰}˜{×1Ñ1Ó3Ñ3×AÑAØ× Ñ Ó"ó
ˆô �|Š|¨EÑ2ˆØ�‰�CÔØ�~‰~ÓÐð �eÓØ—H‘H×.Ñ.‰	Ø	˜Ó	Ø—J‘J×1Ñ1°'·.±.×2FÑ2FÑG‰	Ø	˜Ó	Ø—I‘I×8Ñ8Ó:‰	Ø	˜Ó	Ø—I‘I×0Ñ0°·±×1EÑ1EÑF‰	äÐ5°k°]ÐCÓDÐDØ×ÑÓ!€Eð#Ø×Ñ˜aÔ Ø�KŠK˜ §¡°W·^±^ÑD×IÑIÈ'ÓRˆð �w‰w‹yˆj˜1‰nˆØ�‹7Ü—’�a˜!˜S˜ :¨qÓ1ˆAØ�F‰F�5—;‘;Óˆð ˆÜ5:¸4´[ÓA²[°Ô! !Ó$×)Ñ)Ö+±[ˆÐAÜ�{Š{˜3  t¡Ñ+Ð1¨bÒ1×5Ñ5Ó7à×Ñ˜EÕ"ùò Bøð 	×Ñ˜EÕ"ús   Å=B%J È"#JÉ,J ÊJ ÊJc                   ó¤   • \ rS rSrSS\S\SS4S jjrS\R                  S\4S jr	SS	\R                  4S
 jjrS\S	\R                  SS4S jrSrg)ÚContentStoreWriteré�   Úlocr.   r0   Nc                 ó:   • Xl         [        5       U l        X l        g r   )rk   ÚsetÚseen_storage_hashesr.   )Úselfrk   r.   s      r   Ú__init__ÚContentStoreWriter.__init__”   s   € ØŒÜ-0«UˆÔ Ø&Õr   r/   c                 ó¸  • [        XR                  S9nX R                  ;   a  U$ [        R                  R                  U R                  S5      n[        R                  " USS9  [        R                  R                  X25      n[        R                  R                  U5      (       a  U$ [        R                  " X5        U R                  R                  U5        U$ )Nr-   ÚstoragesT©Úexist_ok)rg   r.   rn   ÚosÚpathÚjoinrk   ÚmakedirsÚexistsr	   ÚsaveÚadd)ro   r/   ÚhÚ	subfolderÚtargets        r   Úwrite_storageÚ ContentStoreWriter.write_storageš   sš   € Ü˜×.>Ñ.>Ñ?ˆØ×(Ñ(Ó(ØˆHô —G‘G—L‘L §¡¨:Ó6ˆ	Ü
�Š�I¨Ò-Ü—‘—‘˜iÓ+ˆÜ�7‰7�>‰>˜&×!Ñ!ØˆHÜ�
Š
�7Ô#Ø× Ñ ×$Ñ$ QÔ'Øˆr   Útc                 ó  • Uc"  [        UR                  5       U R                  S9nUR                  UUR	                  5       [        UR                  5      UR                  5       [        R                  R                  U5      4$ )Nr-   )rg   Úuntyped_storager.   r   Ústorage_offsetÚtupler"   Ústrider	   Ú_utilsÚget_tensor_metadata)ro   r‚   r}   s      r   Úcompute_tensor_metadataÚ*ContentStoreWriter.compute_tensor_metadata©   sh   € Ø‰9Ü˜Q×.Ñ.Ó0¸d×>NÑ>NÑOˆAà�G‰GØØ×ÑÓÜ�!—'‘'‹NØ�H‰H‹JÜ�L‰L×,Ñ,¨QÓ/ð
ð 	
r   Únamec                 óŽ  • UR                  5       nU R                  U5      n[        R                  R	                  U5      u  pVU R                  X$S9n[        R                  R                  U R                  SU5      n[        R                  " USS9  [        R                  " U[        R                  R                  X†5      5        g )N)r}   ÚtensorsTrt   )r„   r€   rv   rw   ÚsplitrŠ   rx   rk   ry   r	   r{   )	ro   rŒ   r‚   r/   r}   ÚdÚfÚpayloadr~   s	            r   Úwrite_tensorÚContentStoreWriter.write_tensorµ   sŠ   € Ø×#Ñ#Ó%ˆØ×Ñ˜wÓ'ˆä�w‰w�}‰}˜TÓ"‰ˆØ×.Ñ.¨qÐ.Ð6ˆÜ—G‘G—L‘L §¡¨9°aÓ8ˆ	Ü
�Š�I¨Ò-Ü�
Š
�7œBŸG™GŸL™L¨Ó6Õ7r   )rk   rn   r.   )Fr   )r   Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrÚboolrp   r	   ÚUntypedStorager€   ÚTensorrŠ   r“   Ú__static_attributes__r   r   r   ri   ri   �   sc   † ñ'˜Cð '¨dð '¸tõ 'ð U×%9Ñ%9ð ¸cô ñ

¨¯©õ 

ð8 ð 8¨¯©ð 8¸$÷ 8r   ri   c                   ó˜   • \ rS rSrSS.S\SS4S jjrSS.S	\S\R                  4S
 jjrS\4S jr	SS.S\S\R                  4S jjrSrg)ÚContentStoreReaderéÀ   T)Úcacherk   r0   Nc                óV   • Xl         S U l        U(       a  [        [        5      U l        g g r   )rk   Ústorage_cacher   Údict)ro   rk   r    s      r   rp   ÚContentStoreReader.__init__Á   s+   € ØŒð ð 	Ôö Ü!,¬TÓ!2ˆDÕð r   ©r   r}   c          	      óP  • Ub  [         R                  " U5      nU R                  b  U R                  U   R                  U5      OS nUb.  [         R                  R                  UR                  5      nUb  U$ [         R                  " [        R                  R                  U R                  SU5      SUS9R                  nUc:  [        SU S[        R                  R                  U R                  S5       S35      eU R                  b  [        U5      U R                  U   U'   U$ )Nrs   T)Úweights_onlyÚmap_locationzexpected storage for hash z in z
, got None)r	   r   r¢   Úgetrš   Ú_new_with_weak_ptrÚcdataÚloadrv   rw   rx   rk   Ú_untyped_storagerO   r   )ro   r}   r   ÚwsÚss        r   Úread_storageÚContentStoreReader.read_storageÉ   s  € ØÑÜ—\’\ &Ó)ˆFð ×!Ñ!Ñ-ð ×Ñ˜vÑ&×*Ñ*¨1Ô-àð 	ð ‰>Ü×$Ñ$×7Ñ7¸¿¹ÓAˆAØ‰}Ø�Ü�JŠJÜ�G‰G�L‰L˜Ÿ™ :¨qÓ1ØØñ
÷ Ñ
ð	 	
ð
 ‰9Ü Ø,¨Q¨C¨t´B·G±G·L±LÀÇÁÈ:Ó4VÐ3WÐWaÐbóð ð ×ÑÑ)Ü,:¸1Ó,=ˆD×Ñ˜vÑ& qÑ)Øˆr   rŒ   c                 óà   • [         R                  R                  U R                  SU5      n[         R                  R	                  U5      (       d  [        U5      e[        R                  " USS9$ )NrŽ   T)r§   )rv   rw   rx   rk   rz   ÚFileNotFoundErrorr	   r¬   )ro   rŒ   r   s      r   Úread_tensor_metadataÚ'ContentStoreReader.read_tensor_metadataã   sK   € Ü�W‰W�\‰\˜$Ÿ(™( I¨tÓ4ˆÜ�w‰w�~‰~˜b×!Ñ!Ü# BÓ'Ð'Ü�zŠz˜"¨4Ñ0Ð0r   c                óî   • U R                  U5      u  p4pVpxU R                  XBS9n	[        R                  " / X9R                  S9n
U
R                  X•Xg5        [        R                  R                  X¨5        U
$ )Nr¥   r8   )r´   r°   r	   Útensorr   rT   rˆ   Úset_tensor_metadata)ro   rŒ   r   r   r}   r…   Úsizer‡   Úmetadatar/   r‚   s              r   Úread_tensorÚContentStoreReader.read_tensoré   sj   € Ø;?×;TÑ;TØó<
Ñ8ˆ�.¨ð ×#Ñ# AÐ#Ð5ˆÜ�LŠL˜ 5·±Ñ@ˆØ	�‰ˆw¨Ô5Ü�‰×(Ñ(¨Ô5Øˆr   )rk   r¢   )r   r•   r–   r—   r˜   rp   r	   rš   r°   r´   r›   r»   rœ   r   r   r   rž   rž   À   sc   † Ø*.ò 3˜Cð 3°4õ 3ð .2ò ˜cð °e×6JÑ6Jõ ð41¨ô 1ð 04ò  ð ¸¿¹÷ ð r   rž   )rA   r   rF   Úos.pathrv   r[   Úcollectionsr   r	   Útorch._primsÚ_primsr&   Útorch._utilsÚtorch.nn.functionalÚnnÚ
functionalrV   Ú torch.multiprocessing.reductionsr   r   r,   rš   r™   r˜   rg   ri   rž   r   r   r   Ú<module>rÆ      s‡   ðó> Û Û Û Û Ý #ã Ý Û ß Ð Ý ;òñ, �dÑñ1ó ð1ð4 HMò ,#˜%×.Ñ.ð ,#Àð ,#ÐQTõ ,#÷^08ñ 08÷f1ò 1r   