+
    TV-j~"  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIH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 ^ R
IHt ^RIHt Rt]	] ! R R4      4       4       tR t R t!R t"R t#RR lt$RR lt%R t&R# )é    N)Ú	dataclass)ÚpartialÚtotal_ordering)ÚPath)ÚTemporaryDirectory)ÚLiteralÚOptional)ÚLocalEntryNotFoundError)ÚHostfile)Úlaunch_jacclÚlaunch_ring)Útqdm)Úhf_repo_to_pathc                   óH   a € ] tR t^t o R tR t]R 4       tV 3R ltRt	V t
R# )ÚDirectoryEntryc                óÈ   € \        ^ ^^R7      pW P                  ,          pW!P                  ,          pW48  ;'       g&    W48H  ;'       d    V P                  VP                  8  # )r   ©Ú	directoryÚsymlinkÚfile)ÚdictÚ
entry_typeÚpath)ÚselfÚotherÚ
order_typeÚo1Úo2s   &&   Ú]/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/share.pyÚ__lt__ÚDirectoryEntry.__lt__    sQ   € Ü A¨q°qÔ9ˆ
ØŸ™Õ(ˆØ×(Ñ(Õ)ˆØ‰w×?Ð?˜2™8×>Ð>¨¯	©	°E·J±JÑ(>Ð?ó    c                ó¸   € V P                   VP                   8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # ©N)r   r   Údst)r   r   s   &&r   Ú__eq__ÚDirectoryEntry.__eq__&   sM   € à�O‰O˜u×/Ñ/Ñ/÷ &ð &Ø—	‘	˜UŸZ™ZÑ'÷&ð &à—‘˜EŸI™IÑ%ð	
r"   c                ó  € RRRRRR/VP                  4       VP                  4       3,          pVP                  4       '       d   VP                  4       MRpV ! V\        VP	                  V4      4      \        V4      4      # )Tr   r   r   N)TF)FT)FF)Úis_dirÚ
is_symlinkÚreadlinkÚstrÚrelative_to)ÚclsÚrootr   r   r%   s   &&&  r   Ú	from_pathÚDirectoryEntry.from_path-   st   € ð ˜;Ø˜9Ø˜Fð
ð �+‰+‹-˜Ÿ™Ó*Ð
*õ	,ˆ
ð
 "&§¡×!2Ò!2ˆd�m‰mŒo¸ˆá�:œs 4×#3Ñ#3°DÓ#9Ó:¼CÀ»HÓEÐEr"   c                ó\   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[;R&   S[S[,          ;R&   # )é   r   r   r%   r   )r   r,   r	   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚDirectoryEntry.__annotate__   s5   ø‡ ‚ ñ Ð6Õ7Ñ7ñ ñ �Iñ	 ñ
 
‘#�Ñò r"   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    r&   Úclassmethodr0   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r5   s   @r   r   r      s-   ø‡ € ò@ò
ð ñFó ðF÷+ ƒ r"   r   c                  óN   € \         P                  VR &   \        R.V ORN5/ VB  R# )r   z[31m[ERROR]z[0mN)ÚsysÚstderrÚprint)ÚargsÚkwargss   *,r   ÚerrorrG   9   s'   € Ü—Z‘Z€Fˆ6�NÜ	Ð
Ð8˜dÐ8 IÒ8°Ô8r"   c           
      ó°  € V P                   f   \        R4      h\        P                  ! V P                   4      pVP                  R8X  d   \        R4      h\        VP                  4      ^8X  d   \        R4      h\        P                  ! VP                  \        \        P                  ! 4       4      VP                  RR R^R7      p\        P                  RR	R
.pV P                  e   VRV P                  .,          pV P                   e   VRV P                   .,          pV P"                  e   VRV P"                  .,          pV P$                  e   VRV P$                  .,          pVP                  R8X  d   \'        R VP                  W#4       R # VP                  R8X  g   VP                  R8X  d   \)        R VP                  W#4       R # \        R4      h)NzNo hostfile providedÚ z,Backend needs to be defined in the hostfile.z.More than one node needs to be in the hostfileFiC~  )ÚbackendÚcwdÚenvÚverboseÚpythonÚstarting_portÚconnections_per_ipz-mÚmlx_lmÚshareú--pathú--modelú--tmpdirú--dstÚringÚjacclz
jaccl-ringz7Only ring, jaccl and jaccl-ring backends are supported.)ÚhostfileÚ
ValueErrorr   Ú	from_filerJ   ÚlenÚhostsÚargparseÚ	Namespacer,   r   rK   ÚenvsrB   Ú
executabler   ÚmodelÚtmpdirr%   r   r   )rE   rY   Úlaunch_argsÚcmds   &   r   Úlaunchrf   >   s€  € Ø‡}�}ÒÜÐ/Ó0Ð0ä×!Ò! $§-¡-Ó0€HØ×Ñ˜2ÔÜÐGÓHÐHÜ
ˆ8�>‰>Ó˜aÔÜÐIÓJÐJä×$Ò$Ø× Ñ Ü”—’“
‹OØ�M‰MØØØØô€Kô 	�‰ØØØð	€Cð ‡y�yÒØ�˜$Ÿ)™)Ð$Õ$ˆØ‡z�zÒØ�	˜4Ÿ:™:Ð&Õ&ˆØ‡{�{ÒØ�
˜DŸK™KÐ(Õ(ˆØ‡x�xÒØ�˜Ÿ™Ð"Õ"ˆà×Ñ˜6Ô!Ü�D˜(Ÿ.™.¨+Ö;Ø	×	Ñ	˜WÔ	$¨×(8Ñ(8¸LÔ(HÜ�T˜8Ÿ>™>¨;Ö<äÐRÓSÐSr"   c                 ó  € V P                  4       '       g.   V P                  \        P                  V P                  V 4      .3# V P	                  R 4       Uu. uF  p\        P                  W4      NK  	  ppV \        V4      3# u upi )Ú*)r)   Úparentr   r0   ÚrglobÚsorted)r   ÚfÚfiless   &  r   Ú	get_filesrn   h   sl   € Ø�;‰;�=Š=Ø�{‰{œ^×5Ñ5°d·k±kÀ4ÓHÐIÐIÐIà8<¿
¹
À3¼ÓH¹°1Œ^×%Ñ% dÖ.¹€EÐHØ”˜“ÐÐùò Is   ÁBc                 ó†   € V R 8¼  d   V R ,          R R2# V R8¼  d   V R,          R R2# V R8¼  d   V R,          R R2# V R R2# )g    eÍÍAz.2z GB/sg    €„.Az MB/sg     @�@z KB/sz B/sr8   )Úxs   &r   Ú	format_bwrq   p   s^   € ØˆC„xØ�c•'˜"�˜UÐ#Ð#ØˆC„xØ�c•'˜"�˜UÐ#Ð#ØˆC„xØ�c•'˜"�˜UÐ#Ð#Ø�ˆV�4ˆ=Ðr"   c                 ó¶  € T;'       g    \         P                  P                  4       p\        \         P                  P                  VR 7      p^ p\
        P
                  ! 4       pVP                  4       V8X  Ed   \        W,          R4      ;_uu_ 4       pVP                  ^ ^4       VP                  4       pVP                  ^ 4       \        VRRV^RR7      p VP                  \        4      p	V	'       g   \         P                  ! V! ^ 4      4       M]\         P                  ! V! \        V	4      4      4       \         P                  ! V! V	4      4       VP!                  \        V	4      4       K˜  VP#                  4        RRR4       EM\        W,          R4      ;_uu_ 4       pRp	V! ^ 4      P%                  4       p
V
^ 8”  dC   V! \         P&                  ! V
\         P(                  R7      4      p	\         P                  ! V	4       V
^ 8”  d€   RpV! ^ 4      P%                  4       p
V
^ 8”  dC   V! \         P&                  ! V
\         P(                  R7      4      p\         P                  ! V4       VP+                  \-        V	4      4       Tp	K†   RRR4       V\
        P
                  ! 4       V,
          3#   + '       g   i     L.; i  + '       g   i     LA; i)	©ÚgroupÚrbÚBTF)ÚtotalÚunitÚ
unit_scaleÚdescÚpositionÚleaveNÚwb©Údtype)ÚmxÚdistributedÚinitr   Úall_sumÚtimeÚrankÚopenÚseekÚtellr   ÚreadÚ
CHUNK_SIZEÚevalr\   Ú
async_evalÚupdateÚcloseÚitemÚzerosÚuint8ÚwriteÚbytes)r   r   Úsrcrt   rƒ   Ú
total_sizeÚ
start_timerl   ÚpbarÚdataÚ
chunk_sizeÚ	next_datas   &&&&        r   Ú
share_filer›   z   sô  € Ø×*Ð*”R—^‘^×(Ñ(Ó*€EÜ”b—n‘n×,Ñ,°EÔ:€GØ€JÜ—’“€Jà‡z�zƒ|�sÕÜ�$•+˜t×$Ô$¨Ø�F‰F�1�aŒLØŸ™›ˆJØ�F‰F�1ŒIäØ ØØØØØôˆDð Ø—v‘vœjÓ)�ßÜ—G’G™G A›JÔ'Øä—’™¤ D£	Ó*Ô+Ü—’™g d›mÔ,Ø—‘œC ›IÖ&Ø�J‰JŒL÷- %Ñ$ô2 �$•+˜t×$Ô$¨ØˆDÙ  ›Ÿ™Ó*ˆJØ˜AŒ~ÙœrŸxšx¨
¼"¿(¹(ÔCÓD�Ü—’˜”à˜q”.Ø �	Ù$ Q›ZŸ_™_Ó.�
Ø ”>Ù '¬¯ª°Ä2Ç8Á8Ô(LÓ M�IÜ—M’M )Ô,à—‘œ˜d›Ô$Ø ’ð !÷ %ð" ”t—y’y“{ ZÕ/Ð/Ð/÷U %×$ú÷2 %×$ús!   ÂA"J5Ã8B
J5Æ&C(KÊ5K	ËK	c                 ó’  € T;'       g    \         P                  P                  4       p\        \         P                  P                  VR 7      pVP                  4       V8X  dY   \        P                  ! V4      p\         P                  ! V! \        V4      4      4       \         P                  ! V! V4      4       MÛV! ^ 4      P                  4       pV! \         P                  ! V\         P                  R7      4      p\        P                  ! \        V4      4      pV Ft  pVP                  R8X  d#   WP                   ,          P#                  4        K6  VP                  R8X  g   KI  WP                   ,          P%                  VP&                  4       Kv  	  ^ p	Rp
\)        \        V4      R^ VP                  4       V8g  R7      pV Fn  pVP                  R8X  d)   \+        WP                   W#4      w  rÍWœ,          p	W­,          p
VP-                  ^4       VP/                  \1        Wš,          4      R7       Kp  	  VP3                  4        R	# )
rs   r~   r   r   g�íµ ÷Æ°>ÚFiles)rw   rz   r{   Údisabler   )ÚspeedN)r€   r�   r‚   r   rƒ   r…   ÚpickleÚdumpsr‹   r\   r�   r�   r‘   Úloadsr“   r   r   ÚmkdirÚ
symlink_tor%   r   r›   r�   Úset_postfixrq   rŽ   )r   rm   r”   rt   rƒ   Ú	file_listÚfile_list_sizer˜   r   r•   Ú
total_timer—   ÚsÚts   &&&&          r   Úshare_filesr«   ®   s’  € Ø×*Ð*”R—^‘^×(Ñ(Ó*€EÜ”b—n‘n×,Ñ,°EÔ:€Gà‡z�zƒ|�sÔä—L’L Ó'ˆ	Ü
�Š‘œ˜I›Ó'Ô(Ü
�Š‘˜	Ó"Õ#ñ ! ›Ÿ™Ó*ˆÙ”r—x’x ´b·h±hÔ?Ó@ˆÜ—’œU 4›[Ó)ˆó ˆDØ�‰ +Ô-ØŸ	™	Õ!×(Ñ(Ö*Ø—‘ IÖ-ØŸ	™	Õ!×-Ñ-¨d¯h©hÖ7ñ	 ð €JØ€JÜ”c˜%“j w¸ÀEÇJÁJÃLÐTWÑDWÔX€DÛˆØ�?‰?˜fÔ$Ü˜d§I¡I¨sÓ:‰DˆAØ�OˆJØ�OˆJØ�‰�AŒØ×Ñœy¨Õ)@ÓAÐÖBñ ð 	‡J�J†Lr"   c                  ón	  € \         P                  ! R R7      p V P                  R\        RR7       V P                  R\        RR7       V P                  R\        RR7       V P                  R	\        R
R7       V P                  R\        RR7       V P	                  4       pVP
                  VP                  u;J d   f   M MV P                  R4       \        P                  ! \        P                  4       \        P                  P                  4       pVP                  4       ^8X  d   \        V4       R# Rp. pVP
                  e:   \        VP
                  4      ;pP!                  4       '       d   \#        V4      w  r4MwVP                  ej    \%        VP                  4      pVP&                  P(                  R8w  d   \+        R\        V4       24      h\#        VP&                  P&                  4      w  r4\        P                  P/                  \1        V4      ^ 8„  4      pVP3                  4       P5                  4       pVP7                  4       P5                  4       pV'       g-   \        R4       \        R4       \8        P:                  ! ^4       VP<                  Ef4   VP?                  4       V8X  d‹   \        V4      PA                  R4      p\        PB                  ! \        P                  PE                  \1        V4      4      4       \        PB                  ! \        P                  PE                  V4      4       M¾\        P                  PE                  ^ 4      P5                  4       p	\        P                  PE                  \        PF                  ! V	\        PH                  R7      4      p\        \K        V4      PM                  R4      4      pM*VP?                  4       V8w  d   \        VP<                  4      p\O        VPP                  R7      ;_uu_ 4       p
VP?                  4       V8X  d   \S        W4Wr4       M?\S        \        V
4      WGV4       VPU                  RRR7       \V        PX                  ! W£4       RRR4       R#   \,         d   p Rp?EL¢Rp?ii ; i  + '       g   i     R# ; i)z8Distribute a model to other nodes using MLX distributed.)ÚdescriptionrS   z"Path to a file or folder to share.)ÚtypeÚhelprT   z.The path to a local model or Hugging Face repoz
--hostfilez8The file containing the hosts and connection informationrV   zCThe destination path in other nodes (defaults to --path or --model)rU   z?Intermediate temporary directory to ensure successfull transferNz)One of --path or --model must be providedÚ	snapshotsz=The model repository appears to be corrupted, it resolved to z/The --path needs to exist in at least one node.zAIf it is a remote repository download it first with `hf download`zutf-8r~   )ÚdirT)ÚparentsÚexist_ok)-r^   ÚArgumentParserÚadd_argumentr,   Ú
parse_argsr   rb   rG   r€   Úset_default_deviceÚcpur�   r‚   Úsizerf   r   Úexistsrn   r   ri   ÚnamerZ   Ú	ExceptionÚ
all_gatherr\   Úargmaxr�   ÚanyrB   Úexitr%   r…   Úencoder‹   rƒ   r�   r‘   r“   Údecoder   rc   r«   r£   ÚosÚrename)ÚparserrE   Úworldr   rm   ÚeÚhas_filer”   r˜   Ú	data_sizeÚtmps              r   ÚmainrË   Ó   ss  € Ü×$Ò$ØNô€Fð ×Ñ˜¤sÐ1UÐÔVØ
×ÑØœÐ"Rð ô ð ×ÑØÜØGð ô ð
 ×ÑØÜØRð ô ð
 ×ÑØÜØNð ô ð ×ÑÓ€Dà‡y�y�D—J‘J×&Ó&Ø�‰Ð@ÔAä×Òœ"Ÿ&™&Ô!Ü�N‰N×ÑÓ!€Eà‡z�zƒ|�qÔÜˆtŒÙð €DØ€EØ‡y�yÒ¬$¨t¯y©y«/Ð"9 $×!AÑ!A×!CÒ!CÜ “o‰ˆˆeØ	�‰Ò	ð	Ü" 4§:¡:Ó.ˆDØ�{‰{×Ñ ;Ô.Ü ØSÔTWÐX\ÓT]ÐS^Ð_óð ô $ D§K¡K×$6Ñ$6Ó7‰KˆDô �~‰~×(Ñ(¬¨U«°a©Ó8€HØ
�/‰/Ó
×
 Ñ
 Ó
"€CØ�|‰|‹~×"Ñ"Ó$€HçÜÐ?Ô@ÜÐQÔRÜ�Š�Œð ‡x�xÓØ�:‰:‹<˜3ÔÜ�t“9×#Ñ# GÓ,ˆDÜ�GŠG”B—N‘N×*Ñ*¬3¨t«9Ó5Ô6Ü�GŠG”B—N‘N×*Ñ*¨4Ó0Õ1äŸ™×.Ñ.¨qÓ1×6Ñ6Ó8ˆIÜ—>‘>×)Ñ)¬"¯(ª(°9ÄBÇHÁHÔ*MÓNˆDÜœ˜d›×*Ñ*¨7Ó3Ó4‰DØ	�‰‹˜Ô	Ü�D—H‘H‹~ˆä	 §¡×	,Õ	,°Ø�:‰:‹<˜3ÔÜ˜ SÕ0äœ˜S›	 5¨uÔ5Ø�J‰J˜t¨dˆJÔ3Ü�IŠI�cÔ ÷ 
-Ñ	,øô1 ô 	Ýûð	ú÷0 
-×	,Ð	,ús    ÆA(R
 ÐA"R#Ò
R ÒR Ò#R4	i  @r$   )'r^   rÃ   r    rB   r„   Údataclassesr   Ú	functoolsr   r   Úpathlibr   Útempfiler   Útypingr   r	   Úmlx.coreÚcorer€   Úhuggingface_hub.errorsr
   Úmlx._distributed_utils.commonr   Úmlx._distributed_utils.launchr   r   r   Úutilsr   rŠ   r   rG   rf   rn   rq   r›   r«   rË   r8   r"   r   Ú<module>r×      sˆ   ðó Û 	Û Û 
Û Ý !ß -Ý Ý 'ß $å Ý :Ý 2ß CÝ å "à€
ð Ø
÷Fð Fó ó ðFò<9ò
'TòTòô10ôh"ôJO!r"   