+
    –°³jA  ã                   óâ  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^R	IHtHtHtHt ^R
I H!t!H"t" ^RI#H$t$H%t% RR.t&]! R4      t']! R4      t(R R lt)R+R R llt*R+R R llt+ ! R R4      t,R R lt-R R lt.R R lt/R R lt0R  R! lt1 ! R" R#]Pd                  4      t3R$ R% lt4R& R' lt5R(t6]
R) 4       t7R* t8R# ),é    N)ÚCallableÚSequence)Úcontextmanager©Úwraps)ÚStats)ÚAnyÚcastÚTypeVar)ÚShardedTensor)ÚShard)Ú_is_wrapped_exceptionÚ_wrap_exceptionÚCheckpointExceptionÚWRAPPED_EXCEPTION)ÚMetadataIndexÚSTATE_DICT_TYPE)Ú _get_checkpointable_tensor_shardÚ_is_checkpointable_tensorÚfind_tensor_shardÚfind_state_dict_objectÚTÚRc                ó~   € V ^8„  d   QhR\         \        \        ,          ,          R\        \        \        3,          /# )é   ÚresultsÚreturn)Úlistr   r   ÚdictÚint)Úformats   "Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributed/checkpoint/utils.pyÚ__annotate__r#   #   s2   € ÷ ñ Ü”!Ô'Õ'Õ(ðä	Œ#Ô Ð
 Õ!ñó    c           
      ó°   € \        \        \        \        3,          \	        V 4       UUu/ uF  w  r\        V4      '       g   K  WbK  	  upp4      # u uppi ©N)r
   r   r    r   Ú	enumerater   )r   ÚiÚerrs   &  r"   Ú_get_failure_dictr*   #   sI   € ô ÜŒSÔ#Ð#Õ$Ü'¨Ô0ÔOÑ0‘F�AÔ4IÈ#×4NŒˆŠÑ0ÒOóð ùãOs   ªAÁAc                ó–   € V ^8„  d   QhR\         \        \        3,          R\        P                  R,          R\
        \        ,          /# )r   Ú
local_dictÚgroupNr   )r   Ústrr	   ÚdistÚProcessGroupÚset)r!   s   "r"   r#   r#   ,   s;   € ÷ =ñ =Ü”Sœ#�X•ð=Ü'+×'8Ñ'8¸4Õ'?ð=äŒ…Xñ=r$   c                óð   € \        V P                  4       4      pR.\        P                  ! V4      ,          p\        P                  ! W2VR7       \        \        P                  P                  V4      4      # )z*Gathers all keys, and returns them sorted.N©r-   )	r   Úkeysr/   Úget_world_sizeÚall_gather_objectr1   Ú	itertoolsÚchainÚfrom_iterable)r,   r-   r4   Úgathered_keyss   &&  r"   Ú_all_gather_keysr;   ,   sV   € ô �
—‘Ó!Ó"€DØ&* V¬d×.AÒ.AÀ%Ó.HÕ%H€Mä×Ò˜=°eÕ<ÜŒy�‰×,Ñ,¨]Ó;Ó<Ð<r$   c                óx   € V ^8„  d   QhR\         \        \        3,          R\        P                  R,          RR/# )r   Ú
state_dictÚprocess_groupNr   )r   r.   r	   r/   r0   )r!   s   "r"   r#   r#   7   s7   € ÷ 
ñ 
Ü”Sœ#�X•ð
Ü/3×/@Ñ/@À4Õ/Gð
à	ñ
r$   c                óÔ   € \         P                  ! V4      ^8X  d   R# \        W4      p\        V P	                  4       4      pW#,
          p\        V4      ^ 8”  d   \        RV 24      hR# )zÍ
Asserts that all ranks have the same keys in their state dict.
This is a collective call which requires all ranks in ``process_group`` to
join. It will also induce cross-rank communication and block CPU.
Nz<Key(s) present in other ranks but not this one, difference: )r/   r5   r;   r1   r4   ÚlenÚAssertionError)r=   r>   Úall_keysÚmy_keysÚdiffs   &&   r"   Ú_assert_same_keysrE   7   sd   € ô ×Ò˜=Ó)¨QÔ.Ùä 
Ó:€HÜ�*—/‘/Ó#Ó$€GØÕ€DÜ
ˆ4ƒy�1„}ÜØJÈ4È&ÐQó
ð 	
ñ r$   c                   óü   a € ] tR t^Lt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )Ú_DistWrappera3  
This is a wrapper around PG that provides a series of features around object collectives.

It works without distributed initialized, where most collectives turn into nops.

All variants that take functions are exception robust, meaning that if one or more
ranks raise errors, all ranks will observe those.
c                óN   <€ V ^8„  d   QhRS[ P                  R,          RS[RS[/# )r   r-   NÚuse_distÚcoordinator_rank)r/   r0   Úboolr    )r!   Ú__classdict__s   "€r"   r#   Ú_DistWrapper.__annotate__V   s4   ø€ ÷ 'ñ 'á× Ñ  4Õ'ð'ñ ð'ñ ñ	'r$   c                ó  € Wn         W n        W0n        V P                  '       dS   Ve   \        P                  ! W4      MTV n        \        P                  ! V4      V n        V P                  V8H  V n        R # ^ V n        ^ V n        RV n        R # )NT)	r-   rI   rJ   r/   Úget_global_rankÚglobal_coordinator_rankÚget_rankÚrankÚis_coordinator)Úselfr-   rI   rJ   s   &&&&r"   Ú__init__Ú_DistWrapper.__init__V   s{   € ð Œ
Ø ŒØ 0ÔØ�=�=ˆ=ð Ò$ô ×$Ò$ UÔ=à%ð Ô(ô
 Ÿš eÓ,ˆDŒIØ"&§)¡)Ð/?Ñ"?ˆDÖà+,ˆDÔ(ØˆDŒIØ"&ˆDÖr$   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r    )r!   rL   s   "€r"   r#   rM   l   s   ø€ ÷ ñ ™#ñ r$   c                ó   € V P                   # r&   )rR   ©rT   s   &r"   rQ   Ú_DistWrapper.get_rankl   s   € Ø�y‰yÐr$   c                ó    <€ V ^8„  d   QhRS[ /# rX   rY   )r!   rL   s   "€r"   r#   rM   o   s   ø€ ÷ ñ ¡ñ r$   c                ój   € V P                   '       d!   \        P                  ! V P                  4      # ^# )é   )rI   r/   r5   r-   r[   s   &r"   r5   Ú_DistWrapper.get_world_sizeo   s#   € Ø�=�=ˆ=Ü×&Ò& t§z¡zÓ2Ð2Ùr$   c                ó4   <€ V ^8„  d   QhRS[ R,          RS[ /# )r   ÚobjectNr   )r   )r!   rL   s   "€r"   r#   rM   t   s   ø€ ÷ 	'ñ 	'¡q¨4¥xð 	'±Añ 	'r$   c                ó´   € V.pV P                   '       d.   \        P                  ! VV P                  V P                  R7       \        \        V^ ,          4      # )z_Implement functionality similar to c10d::broadcast_object_list but without distributed enabled.)Úobject_listr-   Úsrc)rI   r/   Úbroadcast_object_listr-   rP   r
   r   )rT   rb   rd   s   && r"   Úbroadcast_objectÚ_DistWrapper.broadcast_objectt   sF   € à�hˆØ�=�=ˆ=Ü×&Ò&Ø'Ø—j‘jØ×0Ñ0õô
 ”A�{ 1•~Ó&Ð&r$   c                óD   <€ V ^8„  d   QhRS[ RS[S[ ,          R,          /# )r   rb   r   N©r   r   )r!   rL   s   "€r"   r#   rM      s#   ø€ ÷ ñ ¡Að ©$©q­'°D­.ñ r$   c                óf  € V P                   '       dœ   V P                  '       dB   \        \        \        ,          R.\
        P                  ! V P                  4      ,          4      MRp\
        P                  ! TV P                  '       d   TMRV P                  V P                  R7       TpV# V.pV# )zWImplement functionality similar to c10d::gather_object but without distributed enabled.N)ÚobjÚobject_gather_listÚdstr-   )
rI   rS   r
   r   r   r/   r5   r-   Úgather_objectrP   )rT   rb   Úgather_objsÚresults   &&  r"   ro   Ú_DistWrapper.gather_object   s–   € à�=�=ˆ=ð ×&×&Ð&ô ”Tœ!•W˜t˜f¤t×':Ò':¸4¿:¹:Ó'FÕFÔGàð ô ×ÒØØ26×2E×2EÐ2E¡;È4Ø×0Ñ0Ø—j‘jõ	ð !ˆFð ˆð �XˆFØˆr$   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# )r   rb   r   rj   )r!   rL   s   "€r"   r#   rM   “   s   ø€ ÷ 
ñ 
©ð 
©d±1­gñ 
r$   c                óú   € V P                   '       df   \        \        \        ,          R.\        P
                  ! V P                  4      ,          4      p\        P                  ! W!V P                  R7       V# V.pV# )z[Implement functionality similar to c10d::all_gather_object but without distributed enabled.N)rd   rl   r-   )rI   r
   r   r   r/   r5   r-   r6   )rT   rb   rp   s   && r"   r6   Ú_DistWrapper.all_gather_object“   s_   € à�=�=ˆ=Üœt¤A�w¨¨´×1DÒ1DÀTÇZÁZÓ1PÕ(PÓQˆKä×"Ò"Ø'¸4¿:¹:õð
 Ðð "˜(ˆKØÐr$   c                óD   <€ V ^8„  d   QhRS[ S[,          R,          RS[/# )r   rd   Nr   )r   r   )r!   rL   s   "€r"   r#   rM   Ÿ   s#   ø€ ÷ ñ ©$©q­'°D­.ð ¹Qñ r$   c                ó,  € V P                   '       dj   \        \        \        ,          R.4      p\        P
                  ! TV P                  '       d   TMRV P                  V P                  R7       V^ ,          pV# Vf   \        R4      hV^ ,          pV# )zXImplement functionality similar to c10d::scatter_object but without distributed enabled.N)Úscatter_object_output_listÚscatter_object_input_listre   r-   zobject_list is None)
rI   r
   r   r   r/   Úscatter_object_listrS   rP   r-   rA   )rT   rd   Úgather_resultÚlocal_replys   &&  r"   Úscatter_objectÚ_DistWrapper.scatter_objectŸ   s†   € à�=�=ˆ=Ü ¤¤a¥¨4¨&Ó1ˆMÜ×$Ò$Ø+8Ø9=×9L×9LÐ9L©+ÐRVØ×0Ñ0Ø—j‘jõ	ð (¨Õ*ˆKð
 Ðð Ò"Ü$Ð%:Ó;Ð;Ø% a�.ˆKØÐr$   c          	      ó~   <€ V ^8„  d   QhRS[ RS[. S[3,          RS[S[S[,          .S[S[,          3,          RS[/# ©r   ÚstepÚmap_funÚ
reduce_funr   ©r.   r   r   r   r   )r!   rL   s   "€r"   r#   rM   ±   sO   ø€ ÷ .ñ .áð.ñ ˜"™a˜%•ð.ñ ™d¡1�g˜Y©©Q­Ð/Õ0ð	.ñ
 
ñ.r$   c           	     óš  €  V! 4       pV P                  V4      pRpV P                  '       d¢   Vf   \	        R4      h\        V4      p\        V4      ^ 8X  dG    \        \        \        \        ,          ,          V! \        \        \        ,          V4      4      4      p\        V4      ^ 8”  d"   \        W4      .V P                  4       ,          pV P                  V4      p	\        V	\        4      '       d   V	hV	#   \          d   p\        T4      p Rp?ELRp?ii ; i  \          d"   p\        T4      Y€P                  &    Rp?L§Rp?ii ; i)a&  
Compute a value on each rank, then do centralized reduce on a single rank, followed by a scatter.

This method operates in the following way:
    Run ``map_fun`` on all ranks
    Gather results on rank 0
    Call ``reduce_fun`` on all those values
    Scatter to each rank part of the result.
Núall_data is None)ÚBaseExceptionr   ro   rS   rA   r*   r@   r
   r   r   r   r   rR   r5   r}   Ú
isinstance)
rT   r�   r‚   rƒ   Ú
local_dataÚeÚall_dataÚall_resultsÚnode_failuresrq   s
   &&&&      r"   Úreduce_scatterÚ_DistWrapper.reduce_scatter±   s$  € ð 	,Ù ›ˆJð ×%Ñ% jÓ1ˆØ<@ˆØ××ÐØÒÜ$Ð%7Ó8Ð8Ü-¨hÓ7ˆMä�=Ó! QÔ&ðBä"&ÜœQÔ!4Õ4Õ5Ù"¤4¬¬Q­°Ó#:Ó;ó#�Kô �=Ó! AÔ%ä'¨Ó<ðà×'Ñ'Ó)õ*�ð ×$Ñ$ [Ó1ˆÜ�fÔ1×2Ò2ØˆLØˆøô9 ô 	,Ü(¨Ó+ŽJûð	,ûô" %ô BÜ/>¸qÓ/A�M§)¡)Ö,ûðBús0   ‚C: ÁAD Ã:DÄDÄDÄE
Ä)EÅE
c                ón   <€ V ^8„  d   QhRS[ RS[. S[3,          RS[S[S[,          .S[3,          RS[/# r€   r„   )r!   rL   s   "€r"   r#   rM   á   sJ   ø€ ÷ )%ñ )%áð)%ñ ˜"™a˜%•ð)%ñ ™d¡1�g˜Y©˜\Õ*ð	)%ñ
 
ñ)%r$   c                ó@  €  V! 4       pV P                  V4      pRpV P                  '       dh   Vf   \	        R4      h\        V4      p\        V4      ^ 8X  d#    V! \        \        \        ,          V4      4      p\        V4      ^ 8”  d   \        W4      pV P                  V4      p	\        V	\        4      '       d   V	h\        \        V	4      #   \          d   p\        T4      p Rp?LàRp?ii ; i  \          d"   p\        T4      Y€P                  &    Rp?LžRp?ii ; i)a)  
Compute a value on each rank, then do centralized reduce on a single rank, followed by a broadcast.

This method operates in the following way:
    Run ``map_fun`` on all ranks
    Gather results on rank 0
    Call ``reduce_fun`` on all those values
    Broadcast the reduced value to all ranks.
Nr†   )r‡   r   ro   rS   rA   r*   r@   r
   r   r   rR   r   rg   rˆ   r   )
rT   r�   r‚   rƒ   r‰   rŠ   r‹   rq   r�   Úfinal_results
   &&&&      r"   Ú
all_reduceÚ_DistWrapper.all_reduceá   s  € ð 	,Ù ›ˆJð ×%Ñ% jÓ1ˆØ15ˆØ××ÐØÒÜ$Ð%7Ó8Ð8Ü-¨hÓ7ˆMÜ�=Ó! QÔ&ðBÙ'¬¬T´!­W°hÓ(?Ó@�Fô �=Ó! AÔ%Ü,¨TÓA�ð ×,Ñ,¨VÓ4ˆÜ�lÔ$7×8Ò8ØÐä”A�|Ó$Ð$øô/ ô 	,Ü(¨Ó+�Jûð	,ûô %ô BÜ/>¸qÓ/A�M§)¡)Ö,ûðBús/   ‚C Á!C1 ÃC.ÃC)Ã)C.Ã1DÃ<DÄDc                óP   <€ V ^8„  d   QhRS[ RS[. S[3,          RS[S[,          /# ©r   r�   r‚   r   )r.   r   r   r   )r!   rL   s   "€r"   r#   rM     s5   ø€ ÷ *ñ *áð*ñ ˜"™a˜%•ð*ñ 
‰a�ñ	*r$   c                óü   €  V! 4       pV P                  V4      p\        V4      p\	        V4      ^ 8”  d   \        W4      h\        \        \        ,          V4      #   \          d   p\        T4      p Rp?LmRp?ii ; i)z¨
Compute a value on each rank, then all_gather them.

This method operates in the following way:
    Run ``map_cp`` on all ranks
    all_gather the values to all ranks
N)	r‡   r   r6   r*   r@   r   r
   r   r   )rT   r�   r‚   rq   rŠ   rŒ   r�   s   &&&    r"   Ú
all_gatherÚ_DistWrapper.all_gather  so   € ð	(Ù“YˆFð ×,Ñ,¨VÓ4ˆä)¨+Ó6ˆÜˆ}Ó Ô!Ü% dÓ:Ð:Ü”Dœ•G˜[Ó)Ð)øô ô 	(Ü$ QÓ'�Fûð	(ús   ‚A ÁA;Á&A6Á6A;c                ó@   <€ V ^8„  d   QhRS[ RS[. S[3,          RS[/# r–   )r.   r   r   )r!   rL   s   "€r"   r#   rM   %  s1   ø€ ÷ %ñ %áð%ñ ˜"™a˜%•ð%ñ 
ñ	%r$   c                ó  € RpV P                   '       d	    V! 4       pV P                  V4      p\        V\        4      '       d   Vh\        \        V4      #   \         d+   p\        YP                  \	        T4      /4      p Rp?LiRp?ii ; i)zŽ
Compute a value on rank 0 and broadcast it.

This method operates in the following way:
    Run ``map_cp`` on rank 0
    broadcast the value
N)	rS   r‡   r   rR   r   rg   rˆ   r
   r   )rT   r�   r‚   rq   rŠ   r’   s   &&&   r"   Ú	broadcastÚ_DistWrapper.broadcast%  s�   € ð 26ˆØ××ÐðTÙ ›�ð ×,Ñ,¨VÓ4ˆÜ�lÔ$7×8Ò8ØÐä”A�|Ó$Ð$øô !ô TÜ,¨T·I±I¼ÈqÓ?QÐ3RÓS•ûðTús   –A ÁBÁ! BÂBc                ó   <€ V ^8„  d   QhRR/# )r   r   N© )r!   rL   s   "€r"   r#   rM   >  s   ø€ ÷ 'ñ '˜ñ 'r$   c                óp   € V P                   '       g   R# \        P                  ! V P                  R7       R# )z÷
Add a synchronization point across all processes when using distributed.
If torch.distributed is initialized, this function will invoke a barrier across the global process group.
If torch.distributed is not initialized, this function is a no-op.
Nr3   )rI   r/   Úbarrierr-   r[   s   &r"   r¡   Ú_DistWrapper.barrier>  s    € ð �}�}ˆ}ÙÜ�Š˜4Ÿ:™:×&r$   )rJ   rP   r-   rS   rR   rI   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rU   rQ   r5   rg   ro   r6   r}   rŽ   r“   r˜   rœ   r¡   Ú__static_attributes__Ú__classdictcell__)rL   s   @r"   rG   rG   L   s„   ø‡ € ñ÷'ð '÷,ð ÷ð ÷
	'ð 	'÷ð ÷(
ð 
÷ð ÷$.ð .÷`)%ð )%÷V*ð *÷2%ð %÷2'ö 'r$   rG   c                ó<   € V ^8„  d   QhR\         R\        R\        /# ©r   ÚtensorÚindexr   )r   r   r   )r!   s   "r"   r#   r#   I  s&   € ÷ Yñ Yœð Y¬mð YÄñ Yr$   c                 óN  € VP                   f   \        RVP                   R24      hV P                  4       pVP                  ev   \        V4      VP                  8”  d\   \        P                  ! W!P                  ,          P                  P                  4      VP                   8X  d   W!P                  ,          # V F@  p\        P                  ! VP                  P                  4      VP                   8X  g   K>  Vu # 	  \        RVP                    RVP                   R24      h)NzCannot lookup z5 since its a ShardedTensor and no offset was providedzCould not find shard at 'z' for FQN: 'Ú')
ÚoffsetÚ
ValueErrorÚfqnÚlocal_shardsr­   r@   ÚtorchÚSizeÚmetadataÚshard_offsets)r¬   r­   ÚshardsÚshards   &&  r"   Ú_find_shardrº   I  sÝ   € Ø‡|�|ÒÜØ˜UŸY™Y˜KÐ'\Ð]ó
ð 	
ð × Ñ Ó"€Fà‡{�{Òä�‹K˜%Ÿ+™+Ô%Ü—
’
˜6§+¡+Õ.×7Ñ7×EÑEÓFÈ%Ï,É,ÔVàŸ+™+Õ&Ð&ãˆÜ�:Š:�e—n‘n×2Ñ2Ó3°u·|±|ÖCØŠLñ ô Ð0°·±°¸lÈ5Ï9É9È+ÐUVÐWÓ
XÐXr$   c                ód   € V ^8„  d   QhR\         P                  R\        R\         P                  /# r«   )r´   ÚTensorr   )r!   s   "r"   r#   r#   ^  s)   € ÷ ñ œeŸl™lð ´=ð ÄUÇ\Á\ñ r$   c                 óÎ  € \        V R 4      '       d   V P                  V4      # \        V 4      '       d   \        W4      # \	        V \
        4      '       d   \        W4      P                  # VP                  em   VP                  \        P                  ! ^ .\        V P                  4       4      ,          4      8X  d   V # \        RVP                   RVP                   R24      hV # )Ú__get_tensor_shard__úFQN: 'ú1' is not a ShardedTensor, can't find by offset: 'r¯   )Úhasattrr¾   r   r   rˆ   r   rº   r¬   r°   r´   rµ   r@   Úsizer±   r²   )r¬   r­   s   &&r"   r   r   ^  s¿   € ÜˆvÐ-×.Ò.à×*Ñ*¨5Ó1Ð1Ü  ×(Ò(Ü/°Ó>Ð>Ü�&œ-×(Ò(Ü˜6Ó)×0Ñ0Ð0Ø‡|�|Òà�<‰<œ5Ÿ:š: q c¬C°·±³Ó,>Õ&>Ó?Ô?ØˆMÜØ�U—Y‘Y�KÐPÐQV×Q]ÑQ]ÐP^Ð^_Ð`ó
ð 	
ð €Mr$   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   r=   r­   r   )r   r   r	   )r!   s   "r"   r#   r#   p  s"   € ÷ ñ ¤ð ¼}ð ÔQTñ r$   c                 ó<  € VP                   V 9  d   \        R VP                    R24      hWP                   ,          p\        V\        P                  4      '       d   \        W!4      # VP                  e'   \        RVP                    RVP                   R24      hV# )zCould not find FQN: 'r¯   r¿   rÀ   )r²   r±   rˆ   r´   r¼   r   r°   )r=   r­   rl   s   && r"   r   r   p  s�   € Ø‡y�y˜
Ô"ÜÐ0°·±°¸1Ð=Ó>Ð>Ø
—Y‘YÕ
€Cä�#”u—|‘|×$Ò$Ü  Ó,Ð,Ø	�‰Ò	!ÜØ�U—Y‘Y�KÐPÐQV×Q]ÑQ]ÐP^Ð^_Ð`ó
ð 	
ð €Jr$   c                ó~   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        \        ,          /# ©r   ÚaÚbr   ©r   r    r   )r!   s   "r"   r#   r#   ~  ó-   € ÷ 1ñ 1œ¤#�ð 1¬8´C­=ð 1¼TÄ#½Yñ 1r$   c                 óX   € \        W4       UUu. uF  w  r#W#,           NK  	  upp# u uppi r&   ©Úzip©rÇ   rÈ   Úi_aÚi_bs   &&  r"   Ú_element_wise_addrÑ   ~  ó$   € Ü&)¨!¤iÔ0¡i™(˜#ˆC�IˆI¡iÒ0Ð0ùÓ0ó   �&c                ó~   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        \        ,          /# rÆ   rÉ   )r!   s   "r"   r#   r#   ‚  rÊ   r$   c                 óX   € \        W4       UUu. uF  w  r#W#,
          NK  	  upp# u uppi r&   rÌ   rÎ   s   &&  r"   Ú_element_wise_subrÖ   ‚  rÒ   rÓ   c                   ó°   a a€ ] tR tRt oV3R lV 3R llt]P                  3V3R lR lltV3R lR ltV3R lR	 lt	V3R
 lR lt
R tRR ltRtVtV ;t# )Ú_ReaderViewi†  c                ó@   <€ V ^8„  d   QhRS[ P                  RS[RS[/# )r   Úbase_streamr°   r@   ©ÚioÚIOBaser    )r!   rL   s   "€r"   r#   Ú_ReaderView.__annotate__‡  s&   ø€ ÷ ñ ¡B§I¡Ið ±sð Áñ r$   c                ój   <€ \         SV `  4        W n        W0n        Wn        V P                  ^ 4       R# ©r   N)ÚsuperrU   r°   r@   rÚ   Úseek)rT   rÚ   r°   r@   Ú	__class__s   &&&&€r"   rU   Ú_ReaderView.__init__‡  s)   ø€ Ü‰ÑÔØŒØŒØ&ÔØ�	‰	�!Žr$   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r   r°   Úwhencer   rY   )r!   rL   s   "€r"   r#   rÞ   Ž  s"   ø€ ÷ 5ñ 5™3ð 5©ð 5Áñ 5r$   c               ó  € V\         P                  8X  d   V P                  V,           pMIV\         P                  8X  d5   \         P                  pV P                  V P                  ,           V,
          pV P
                  P                  W4      # r&   )ÚosÚSEEK_SETr°   ÚSEEK_ENDr@   rÚ   râ   )rT   r°   ræ   s   """r"   râ   Ú_ReaderView.seekŽ  s_   € Ø”R—[‘[Ô Ø—[‘[ 6Õ)‰FØ”r—{‘{Ô"Ü—[‘[ˆFØ—k‘k D§H¡HÕ,°Õ6ˆFØ×Ñ×$Ñ$ VÓ4Ð4r$   c                ó    <€ V ^8„  d   QhRS[ /# rX   rY   )r!   rL   s   "€r"   r#   rÞ   –  s   ø€ ÷ 5ñ 5‘cñ 5r$   c                óX   € V P                   P                  4       V P                  ,
          # r&   )rÚ   Útellr°   r[   s   &r"   rî   Ú_ReaderView.tell–  s    € Ø×Ñ×$Ñ$Ó&¨¯©Õ4Ð4r$   c                ó    <€ V ^8„  d   QhRS[ /# rX   ©rK   )r!   rL   s   "€r"   r#   rÞ   ™  ó   ø€ ÷ +ñ +™$ñ +r$   c                ó6   € V P                   P                  4       # r&   )rÚ   Úreadabler[   s   &r"   rô   Ú_ReaderView.readable™  ó   € Ø×Ñ×(Ñ(Ó*Ð*r$   c                ó    <€ V ^8„  d   QhRS[ /# rX   rñ   )r!   rL   s   "€r"   r#   rÞ   œ  rò   r$   c                ó6   € V P                   P                  4       # r&   )rÚ   Úseekabler[   s   &r"   rù   Ú_ReaderView.seekableœ  rö   r$   c                óÈ   € V P                   V P                  4       ,
          pV^ 8X  d   ^ # \        V4      V8”  d   \        V4      RV pV P                  P	                  V4      # rà   )r@   rî   Ú
memoryviewrÚ   Úreadinto)rT   rÈ   Úmax_sizes   && r"   rý   Ú_ReaderView.readintoŸ  sS   € Ø—8‘8˜dŸi™i›kÕ)ˆØ�qŒ=ÙÜˆq‹6�HÔÜ˜1“˜i˜xÐ(ˆAØ×Ñ×(Ñ(¨Ó+Ð+r$   c                ó˜   € V P                   V P                  4       ,
          pVR8X  g   W8”  d   TpV P                  P                  V4      # )r_   éÿÿÿÿ)r@   rî   rÚ   Úread)rT   rÂ   rþ   s   && r"   r  Ú_ReaderView.read§  s=   € Ø—8‘8˜dŸi™i›kÕ)ˆØ�2Œ:˜œØˆDØ×Ñ×$Ñ$ TÓ*Ð*r$   )rÚ   r@   r°   )r  )r£   r¤   r¥   r¦   rU   rè   ré   râ   rî   rô   rù   rý   r  r¨   r©   Ú__classcell__)rã   rL   s   @@r"   rØ   rØ   †  sO   ù‡ € ÷ó ð /1¯k©k÷ 5ò 5÷5ð 5÷+ð +÷+ð +ò,÷+ô +r$   rØ   c                óp   € V ^8„  d   QhR\         P                  R\        R\        R\         P                  /# )r   Úfiler°   Úlengthr   rÛ   )r!   s   "r"   r#   r#   ®  s0   € ÷ -ñ -œBŸI™Ið -¬sð -¼Cð -ÄBÇIÁIñ -r$   c                 ó   € \        WV4      # r&   )rØ   )r  r°   r  s   &&&r"   Ú_create_file_viewr	  ®  s   € ä�t VÓ,Ð,r$   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   Údevice_typeÚ	device_idr   )r.   r    )r!   s   "r"   r#   r#   ³  s!   € ÷ (ñ (¬ð (¼ð (Äñ (r$   c                ó"   € V R8X  d   R# V  RV 2# )zDevice info normalization.ÚcpuÚ:rŸ   )r  r  s   &&r"   Ú_normalize_device_infor  ³  s   € à�eÔÙØˆ]˜!˜I˜;Ð'Ð'r$   Fc               #   óæ  "  € \         '       d�   \        P                  ! 4       '       d   \        P                  ! 4       ^ 8X  dh   \        P
                  ! 4       p V P                  4         Rx € V P                  4        \        V 4      pVP                  R4      P                  ^
4       R# Rx € R#   T P                  4        \        T 4      pTP                  R4      P                  ^
4       i ; i5i)r   NÚtime)ÚENABLE_PROFILEr/   Úis_availablerQ   ÚcProfileÚProfileÚenableÚdisabler   Ú
sort_statsÚprint_stats)ÚprofilerÚstatss     r"   Ú_profiler  ¾  s©   é € ÷ ƒ~œt×0Ò0×2Ò2´d·m²m³oÈÔ6JÜ×#Ò#Ó%ˆØ�‰Ôð	5Ûà×ÑÔÜ˜(“OˆEØ×Ñ˜VÓ$×0Ñ0°Ö4åøð	 ×ÑÔÜ˜(“OˆEØ×Ñ˜VÓ$×0Ñ0°Õ4üs#   ‚'C1ª?C1Á*B1 Á.AC1Â1=C.Ã.C1c                 ó6   a € \        S 4      R  V 3R ll4       pV# )c                ó$   € V ^8„  d   QhR\         /# rX   )r	   )r!   s   "r"   r#   Ú#_api_bc_check.<locals>.__annotate__Ñ  s   € ÷ )ñ )¤sñ )r$   c                  ó8  <€ \        V 4      ^8X  dþ   \        P                  ! RSP                   R2^R7       \        P
                  ! S4      pVP                  P                  4        Uu. uF+  q3P                  VP                  8X  g   K  VP                  NK-  	  ppRV9   d$   RV9   d   \        RW3 24      hV ^,          VR&   M8RV9   d$   RV9   d   \        RW3 24      hV ^,          VR&   M\        RV 24      hS! V ^ ,          3/ VB # S! V / VB # u upi )	r   zThe argument order of zG has been changed. Please check the document to avoid future breakages.)Ú
stacklevelÚstorage_writerzstorage_writer in kwargs: Ústorage_readerzstorage_reader in kwargs: zUnexpected kwonlyargs = )r@   ÚwarningsÚwarnr£   ÚinspectÚ	signatureÚ
parametersÚvaluesÚkindÚKEYWORD_ONLYÚnamerA   ÚRuntimeError)ÚargsÚkwargsÚsigÚpÚ
kwonlyargsÚfuncs   *,   €r"   Ú
inner_funcÚ!_api_bc_check.<locals>.inner_funcÐ  s+  ø€ äˆt‹9˜Œ>Ü�MŠMØ(¨¯©¨ð 8Gð Gàõô
 ×#Ò# DÓ)ˆCà #§¡× 5Ñ 5Ô 7óÙ 7˜1¿6¹6ÀQÇ^Á^Ñ;S”�—”Ñ 7ð ð ð   :Ô-Ø# vÔ-Ü(Ð+EÀtÀnÐEUÐ)VÓWÐWØ+/°­7�Ð'Ò(Ø! ZÔ/Ø# vÔ-Ü(Ð+EÀtÀnÐEUÐ)VÓWÐWØ+/°­7�Ð'Ò(ä"Ð%=¸j¸\Ð#JÓKÐKÙ˜˜Q�Ñ* 6Ñ*Ð*á˜Ð( Ñ(Ð(ùòs   Á*DÂDr   )r4  r5  s   f r"   Ú_api_bc_checkr7  Ï  s!   ø€ Ü
ˆ4ƒ[÷)ó ð)ð2 Ðr$   r&   )9r  r'  rÜ   r7   rè   r%  Úcollections.abcr   r   Ú
contextlibr   Ú	functoolsr   Úpstatsr   Útypingr	   r
   r   r´   Útorch.distributedÚdistributedr/   Ú'torch.distributed._shard.sharded_tensorr   Ú-torch.distributed._shard.sharded_tensor.shardr   Úapir   r   r   r   r¶   r   r   Úprotocolr   r   Ú__all__r   r   r*   r;   rE   rG   rº   r   r   rÑ   rÖ   rÝ   rØ   r	  r  r  r  r7  rŸ   r$   r"   Ú<module>rD     s×   ðã Û Û 	Û Û 	Û ß .Ý %Ý Ý ß %Ñ %ã Ý  Ý AÝ ?÷ó ÷ 5ß Qð Ð 8Ð
9€áˆCƒL€ÙˆCƒL€õ÷=÷
÷*z'ñ z'õzYõ*õ$õ1õ1ô%+�"—)‘)ô %+õP-õ
(ð €ð ñó ðô r$   