Ë
    rPêjÈ€  ã                   óL  — d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZmZ ddlZddlmZ d	d
lmZmZmZmZmZmZmZmZmZmZmZ d	dlm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z-m.Z.  e(d¬«      Z/ e	d¬«       G d„ d«      «       Z0 ejb                  d«      Z2h d£Z3h d£Z4h d£Z5 ejb                  d«      Z6dddddœZ7i Z8 e9e5«      D ]  Z:e:e8e:<   e:› d�e8e:› d�<   e:› d �e8e:› d!�<   Œ  ed"e8e;e<¬#«      Z= e	d¬«       G d$„ d%«      «       Z>e?eedz  f   Z@eAeeBe;   f   ZCd&eeeBe   f   d'e>fd(„ZDd)eEd*eEd+eEd'e;fd,„ZFd&eeeBe   f   d'dfd-„ZGd.ed'e?eAe;ef   eAe;e?eef   f   f   fd/„ZHd0e;d'efd1„ZId2ed'e;fd3„ZJd.ed4eKd'e?eLe@   eCf   fd5„ZMd6e;d7eCd'eeedz  eNgeKf   fd8„ZOd9eNdz  d:e;d;eNd'eKfd<„ZPd=e;d'e?ee@ge?ed>f   f   eKf   fd?„ZQd.ed@eLe;   d'e0fdA„ZRd.edBeAe;ef   d'e0fdC„ZSe/j©                  dDg dE¢¬F«      	 	 	 	 	 	 drdHee;dz   e+dI¬«      f   dJeeK e+dK¬«      f   dLeeLe;   dz   e+dMdNdO¬«      f   dPee=dz   e+dQ¬«      f   dReeEdz   e+dS¬«      f   dTeeK e+dU¬«      f   d'dfdV„«       ZUe/j©                  g dW¢¬F«      	 	 	 dsd@eeLe;    e*dX¬«      f   dHee;dz   e+dI¬«      f   dYeeK e+dZd[d\¬«      f   d]eeK e+d^¬«      f   d'df
d_„«       ZVe/j©                  d`dag¬F«      	 	 	 dsdHee;dz   e+dI¬«      f   dYeeK e+dZd[d\¬«      f   d]eeK e+d^¬«      f   d'dfdb„«       ZWe/j©                  g dc¢¬F«      e$j°                  ddddGdGdfdde#dee$dfe%dHee;dz   e+dg¬«      f   dhee;dz   e+di¬«      f   djeeK e+dkdl¬«      f   dmeeK e+dndo¬«      f   dpe&d'dfdq„«       ZYy)tzHContains the 'hf cache' command group with cache management subcommands.é    N)Údefaultdict)ÚCallableÚMapping)Ú	dataclassÚfield)ÚEnum)Ú	AnnotatedÚAny)ÚCLIErroré   )ÚANSIÚCachedFileInfoÚCachedRepoInfoÚCachedRevisionInfoÚCacheNotFoundÚHFCacheInfoÚHfUriÚ_format_sizeÚ_shared_blobsÚparse_hf_uriÚscan_cache_dir)Úparse_durationÚ
parse_sizeé   )Ú	RepoIdArgÚRepoTypeOptÚRevisionOptÚTokenOptÚ
get_hf_apiÚtyper_factory)ÚArgumentÚOption)Ú_ascii_safeÚoutzManage local cache directory.)ÚhelpT)Úfrozenc                   ór   — e Zd ZU ee   ed<   eeee   f   ed<   e	edf   ed<    e
e¬«      Zeeef   ed<   y)Ú_DeletionResolutionÚ	revisionsÚselected.Úmissing)Údefault_factoryÚfilesN)Ú__name__Ú
__module__Ú__qualname__Ú	frozensetÚstrÚ__annotations__Údictr   r   Útupler   r-   r   © ó    ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/huggingface_hub/cli/cache.pyr(   r(   5   sI   … à˜‰~ÓØ�> 9Ð-?Ñ#@Ð@ÑAÓAØ�3˜�8‰_ÓÙ',¸TÔ'B€Eˆ4� Ð#Ñ$ÔBr7   r(   z?(?P<key>[a-zA-Z_]+)\s*(?P<op>==|!=|>=|<=|>|<|=)\s*(?P<value>.+)>   ú<ú=ú>ú!=ú<=ú>=>   ÚrefsÚsizeÚtypeÚaccessedÚmodified>   Únamer@   rB   rC   z,(?P<key>[a-zA-Z_]+)(?::(?P<order>asc|desc))?ÚdescÚasc)rB   rC   r@   rD   z:ascÚ_ascz:descÚ_descÚSortOptions)rA   Úmodulec                   ó0   — e Zd ZU dZeed<   eed<   eed<   y)ÚCacheDeletionCountsz>Simple counters summarizing cache deletions for CLI messaging.Ú
repo_countÚpartial_revision_countÚtotal_revision_countN)r.   r/   r0   Ú__doc__Úintr3   r6   r7   r8   rL   rL   U   s   … áHàƒOØÓØÔr7   rL   Úselected_by_repoÚreturnc                 óè   — d}d}d}| j                  «       D ]H  \  }}|t        |«      z  }t        |«      t        |j                  «      k(  sŒ6|dz  }|t        |«      z  }ŒJ ||z
  }t        |||«      S )z(Summarize deletions across repositories.r   r   )ÚitemsÚlenr)   rL   )rR   rM   Útotal_revisionsÚrevisions_in_full_reposÚrepor)   rN   s          r8   Úsummarize_deletionsrZ   b   s‰   € ð €JØ€OØÐà+×1Ñ1Ó3ò 6‰ˆˆiØœ3˜y›>Ñ)ˆÜˆy‹>œS §¡Ó0Ó0Ø˜!‰OˆJØ#¤s¨9£~Ñ5Ñ#ð	6ð -Ð/FÑFÐÜ˜zÐ+AÀ?ÓSÐSr7   Úrevision_countÚincomplete_countÚshared_blob_countc                 ó  — g }| r|j                  | › d�«       |r|j                  |› d�«       |r|j                  |› d�«       t        |«      dkD  rdj                  |dd «      dz   |d   z   S d	j                  |«      S )
zMBuild the human-readable summary of what `hf cache prune` is about to delete.z unreferenced revision(s)z incomplete download(s)z unreferenced shared blob(s)r   z, Néÿÿÿÿú and Ú )ÚappendrV   Újoin)r[   r\   r]   Úpartss       r8   Ú_prune_summaryre   t   s�   € à€EÙØ�‰˜Ð'Ð'@ÐAÔBÙØ�‰Ð(Ð)Ð)@ÐAÔBÙØ�‰Ð)Ð*Ð*FÐGÔHÜ
ˆ5ƒz�A‚~Ø�y‰y˜˜s ˜Ó$ wÑ.°°r±Ñ:Ð:Ø�7‰7�5‹>Ðr7   c           
      ó  — t        | j                  «       d„ ¬«      D ]ã  }|j                  › d|j                  › �}t        | |   d„ ¬«      }t	        |«      t	        |j
                  «      k(  rt        j                  d|› d�«       Œjt        j                  d|› d�«       |D ]\  }dj                  t        |j                  «      «      xs d	}t        j                  d
|j                  › d|› d|j                  › �«       Œ^ Œå y)zBPretty-print selected cache revisions during confirmation prompts.c                 óN   — | j                   | j                  j                  «       fS ©N©Ú	repo_typeÚrepo_idÚlower©rY   s    r8   ú<lambda>z0print_cache_selected_revisions.<locals>.<lambda>„   s   € À$Ç.Á.ÐRV×R^ÑR^×RdÑRdÓRfÐAg€ r7   ©Úkeyú/c                 ó   — | j                   S rh   ©Úcommit_hash©Úrevs    r8   rn   z0print_cache_selected_revisions.<locals>.<lambda>†   ó
   € À3Ç?Á?€ r7   ú  - z (entire repo)ú:ú z
(detached)z      z [z] N)ÚsortedÚkeysrj   rk   rV   r)   r$   Útextrc   r?   rt   Úsize_on_disk_str)rR   rY   Úrepo_keyr)   Úrevisionr?   s         r8   Úprint_cache_selected_revisionsr�   ‚   sí   € äÐ'×,Ñ,Ó.Ñ4gÔhò 
[ˆØ—n‘nÐ% Q t§|¡| nÐ5ˆÜÐ+¨DÑ1Ñ7RÔSˆ	Üˆy‹>œS §¡Ó0Ò0Ü�H‰H�t˜H˜: ^Ð4Ô5Øä�‰�4˜�z Ð#Ô$Ø!ò 	[ˆHØ—8‘8œF 8§=¡=Ó1Ó2ÒB°lˆDÜ�H‰H�v˜h×2Ñ2Ð3°2°d°V¸2¸h×>WÑ>WÐ=XÐYÕZñ	[ñ
[r7   Úhf_cache_infoc                 óÒ   — i }i }| j                   D ]Q  }|j                  j                  «       }|||<   |j                  D ]!  }||f||j                  j                  «       <   Œ# ŒS ||fS )zPCreate lookup tables so CLI commands can resolve repo ids and revisions quickly.)ÚreposÚcache_idrl   r)   rt   )r‚   Úrepo_lookupÚrevision_lookuprY   r   r€   s         r8   Úbuild_cache_indexrˆ   ‘   s�   € ð .0€KØLN€OØ×#Ñ#ò MˆØ—=‘=×&Ñ&Ó(ˆØ $ˆ�HÑØŸ™ò 	MˆHØ=AÀ8Ð<LˆO˜H×0Ñ0×6Ñ6Ó8Ò9ñ	MðMð
 ˜Ð'Ð'r7   Útargetc                 óž   — t        | «      }|j                  st        d«      ‚|j                  �|j                  rdnd}t        d|› �«      ‚|S )z;Parse and validate an hf:// target passed to `hf cache rm`.z:Only repository hf:// URIs are supported by `hf cache rm`.z@Drop '@<revision>' to delete the file from all cached revisions.z>Pass the revision hash instead, see 'hf cache ls --revisions'.z<Revisions in hf:// URIs are not supported by `hf cache rm`. )r   Úis_repor   r€   Úpath_in_repo)r‰   ÚuriÚhints      r8   Ú_parse_hf_uri_targetr�   ¢   s^   € ä
�vÓ
€CØ�;Š;ÜÐSÓTÐTØ
‡|�|Ðð ×Òñ OàQð 	ô
 ÐUÐVZÐU[Ð\Ó]Ð]Ø€Jr7   r�   c                 ó8   — | j                   › d| j                  › �S )z,Return the `type/id` cache id of a repo URI.rq   )rA   Úid)r�   s    r8   Ú	_cache_idr’   ±   s   € à�h‰hˆZ�q˜Ÿ™˜Ð!Ð!r7   Úinclude_revisionsc          	      ó²  — g }i }t        | j                  d„ ¬«      }|D ]�  }t        |j                  D ��ch c]  }|j                  D ]  }|’Œ Œ c}}«      ||<   |r1t        |j                  d„ ¬«      D ]  }|j                  ||f«       Œ Œo|j                  |df«       Œƒ |r|j                  d„ ¬«       ||fS |j                  d„ ¬«       ||fS c c}}w )z;Flatten cache metadata into rows consumed by `hf cache ls`.c                 óN   — | j                   | j                  j                  «       fS rh   ri   rm   s    r8   rn   z'collect_cache_entries.<locals>.<lambda>¼   s   € ÀÇÁÐQU×Q]ÑQ]×QcÑQcÓQeÐ@f€ r7   ro   c                 ó   — | j                   S rh   rs   ru   s    r8   rn   z'collect_cache_entries.<locals>.<lambda>À   rw   r7   Nc                 óN   — | d   j                   | d   �| d   j                  fS dfS )Nr   r   ra   )r…   rt   ©Úentrys    r8   rn   z'collect_cache_entries.<locals>.<lambda>Æ   s6   € Ø�a‘×!Ñ!Ø(-¨a©Ð(<��a‘×$Ñ$ð€ àBDð€ r7   c                 ó    — | d   j                   S )Nr   )r…   r˜   s    r8   rn   z'collect_cache_entries.<locals>.<lambda>Ì   s   €  u¨Q¡x×'8Ñ'8€ r7   )r{   r„   r1   r)   r?   rb   Úsort)r‚   r“   ÚentriesÚrepo_refs_mapÚsorted_reposrY   r€   Úrefs           r8   Úcollect_cache_entriesr    ¶   sí   € ð !#€GØ!#€MÜ˜-×-Ñ-Ñ3fÔg€LØò )ˆÜ'¸T¿^¹^×(e°ÐW_×WdÑWdÒ(eÐPSªÐ(e¨Ó(eÓfˆ�dÑÙÜ" 4§>¡>Ñ7RÔSò 1�Ø—‘  hÐ/Õ0ñ1ð �N‰N˜D $˜<Õ(ð)ñ Ø�‰ñð 	ô 	
ð �MÐ!Ð!ð 	�‰Ñ8ˆÔ9Ø�MÐ!Ð!ùó )fs   ¶CÚexprr�   c           
      óv  ‡‡‡‡‡	‡
‡— t         j                  | j                  «       «      }|st        d| › d�«      ‚|j	                  d«      j                  «       Š|j	                  d«      Š|j	                  d«      j                  «       Š‰t        vr"t        d‰› d| › dt        t        «      › d	�«      ‚‰t        vr"t        d
‰› d| › dt        t        «      › d	�«      ‚‰dk(  rt        ‰«      Š
ˆˆ
fd„S ‰dv r>t        ‰j                  «       «      Š	dt        dt        dz  dt        dt        fˆˆˆ	fd„}|S ‰dk(  rG‰j                  «       Š‰dk7  rt        d‰› d�«      ‚dt        dt        dz  dt        dt        fˆfd„}|S ‰dk7  rt        d‰› d	�«      ‚dt        dt        dz  dt        dt        fˆˆfd„}|S )zqConvert a `hf cache ls` filter expression into the yes/no test we apply to each cache entry before displaying it.zInvalid filter expression: 'z'.rp   ÚopÚvaluezUnsupported operator 'z' in filter 'ú'. Must be one of ú.zUnsupported filter key 'ú' in 'r@   c                 óZ   •— t        |�|j                  ‰‰«      S | j                  ‰‰«      S rh   )Ú_compare_numericÚsize_on_disk)rY   r€   Ú_r£   Úsize_thresholds      €€r8   rn   z&compile_cache_filter.<locals>.<lambda>ä   s7   ø€ Ô)9Ø%-Ð%9ˆH×!Ñ!ØØó*
€ Ø?C×?PÑ?PØØó*
€ r7   >   rB   rC   rY   r€   NÚnowrS   c                 ó€   •— ‰dk(  r| j                   n|�|j                  n| j                  }|€yt        ||z
  ‰‰«      S )NrB   F)Úlast_accessedÚlast_modifiedr©   )rY   r€   r­   Ú	timestamprp   r£   Úsecondss       €€€r8   Ú_time_filterz*compile_cache_filter.<locals>._time_filterí   sW   ø€ ð ˜*Ò$ð ×"Ò"ð Ð'ð ×+Ò+à×'Ñ'ð ð Ð ØÜ# C¨)¡O°R¸ÓAÐAr7   rA   r:   z/Only '=' is supported for 'type' filters. Got 'r«   c                 ó>   •— | j                   j                  «       ‰k(  S rh   )rj   rl   )rY   r€   r«   Úexpecteds      €r8   Ú_type_filterz*compile_cache_filter.<locals>._type_filter  s   ø€ Ø—>‘>×'Ñ'Ó)¨XÑ5Ð5r7   z.Only '=' is supported for 'refs' filters. Got c                 óº   •— |�|j                   n‰j                  | t        «       «      }‰j                  «       |D �cg c]  }|j                  «       ‘Œ c}v S c c}w rh   )r?   Úgetr1   rl   )rY   r€   r«   r?   rŸ   r�   Ú	value_raws        €€r8   Ú_refs_filterz*compile_cache_filter.<locals>._refs_filter
  sK   ø€ Ø$,Ð$8�8—=’=¸m×>OÑ>OÐPTÔV_ÓVaÓ>bˆDØ—?‘?Ó$ÀÖ(E¸¨¯©­Ò(EÐEÐEùÒ(Es   ½A)Ú_FILTER_PATTERNÚ	fullmatchÚstripÚ
ValueErrorÚgrouprl   Ú_ALLOWED_OPERATORSÚlistÚ_FILTER_KEYSr   r   r   r   ÚfloatÚbool)r¡   r�   Úmatchr³   r¶   rº   rµ   rp   r£   r²   r¬   r¹   s    `    @@@@@@r8   Úcompile_cache_filterrÆ   Ð   sù  þ€ ô ×%Ñ% d§j¡j£lÓ3€EÙÜÐ7¸°v¸RÐ@ÓAÐAà
�+‰+�eÓ
×
"Ñ
"Ó
$€CØ	�‰�TÓ	€BØ—‘˜GÓ$×*Ñ*Ó,€Ià	Ô#Ñ#ÜÐ1°"°°]À4À&ÐHZÔ[_Ô`rÓ[sÐZtÐtuÐvÓwÐwà
”,ÑÜÐ3°C°5¸¸t¸fÐDVÔW[Ô\hÓWiÐVjÐjkÐlÓmÐmà
ˆf‚}Ü# IÓ.ˆô
ð 	
ð Ð&Ñ&Ü  §¡Ó!2Ó3ˆð
	Bœ~ð 
	BÔ9KÈdÑ9Rð 
	BÔY^ð 
	BÔcg÷ 
	Bð Ðà
ˆf‚}Ø—?‘?Ó$ˆà�Š9ÜÐNÈrÈdÐRTÐUÓVÐVð	6œ~ð 	6Ô9KÈdÑ9Rð 	6ÔW\ð 	6Ôaeõ 	6ð Ðð �Š9ÜÐMÈbÈTÐQRÐSÓTÐTð	Fœ~ð 	FÔ9KÈdÑ9Rð 	FÔW\ð 	FÔaeö 	Fð Ðr7   Úleftr£   Úrightc                 ól   — | €y| |k(  | |k7  | |kD  | |k  | |k\  | |k  dœ}||vrt        d|› �«      ‚||   S )z)Evaluate numeric comparisons for filters.F)r:   r<   r;   r9   r>   r=   z)Unsupported numeric comparison operator: )r¾   )rÇ   r£   rÈ   Úcomparisonss       r8   r©   r©     sd   € à€|Øð �U‰]Ø�e‰mØ�E‰\Ø�E‰\Ø�e‰mØ�e‰mñ€Kð 
�ÑÜÐDÀRÀDÐIÓJÐJà�r‰?Ðr7   Ú	sort_expr.c           
      óž  ‡— t         j                  | j                  «       j                  «       «      }|st	        d| › d�«      ‚|j                  d«      j                  «       Š|j                  d«      }‰t        vr"t	        d‰› d| › dt        t        «      › d�«      ‚|r|nt        ‰   }|d	k(  }d
t        dt        t        df   fˆfd„}||fS )zÿConvert a `hf cache ls` sort expression into a key function for sorting entries.

    Returns:
        A tuple of (key_function, reverse_flag) where reverse_flag indicates whether
        to sort in descending order (True) or ascending order (False).
    zInvalid sort expression: 'z5'. Expected format: 'key' or 'key:asc' or 'key:desc'.rp   ÚorderzUnsupported sort key 'r§   r¥   r¦   rE   r™   rS   .c                 óŠ  •— | \  }}‰dk(  r|j                   j                  «       }|fS ‰dk(  r |�|j                  }|fS |j                  }|fS ‰dk(  r |j                  �|j                  }|fS d}|fS ‰dk(  r?|� |j                  �|j                  }|fS d}|fS |j                  �|j                  nd}|fS t        d‰› �«      ‚)NrD   r@   rB   g        rC   zUnsupported sort key: )r…   rl   rª   r¯   r°   r¾   )r™   rY   r€   r¤   rp   s       €r8   Ú	_sort_keyz%compile_cache_sort.<locals>._sort_key:  s  ø€ Ø‰ˆˆhà�&Š=àŸ™×,Ñ,Ó.ˆEØ�8ˆOà�&Š=à-5Ð-A�H×)Ñ)ˆEØ�8ˆOð HL×GXÑGXˆEØ�8ˆOà�*Òð +/×*<Ñ*<Ð*H�D×&Ñ&ˆEØ�8ˆOð ORˆEØ�8ˆOà�*ÒàÐ#Ø2:×2HÑ2HÐ2T˜×.Ñ.�ð �8ˆOð [^�ð �8ˆOð /3×.@Ñ.@Ð.L˜×*Ò*ÐRU�Ø�8ˆOô Ð1°#°Ð7Ó8Ð8r7   )Ú_SORT_PATTERNr¼   r½   rl   r¾   r¿   Ú
_SORT_KEYSrÁ   Ú_SORT_DEFAULT_ORDERÚ
CacheEntryr5   r
   )rË   rÅ   Úexplicit_orderrÍ   ÚreverserÏ   rp   s         @r8   Úcompile_cache_sortrÖ   %  sØ   ø€ ô ×#Ñ# I§O¡OÓ$5×$;Ñ$;Ó$=Ó>€EÙÜÐ5°i°[Ð@uÐvÓwÐwà
�+‰+�eÓ
×
"Ñ
"Ó
$€CØ—[‘[ Ó)€Nà
”*ÑÜÐ1°#°°f¸Y¸KÐGYÔZ^Ô_iÓZjÐYkÐklÐmÓnÐnñ -‰NÔ2EÀcÑ2J€EØ�v‰o€Gð9œð 9¬¬c°3¨h©õ 9ð< �gÐÐr7   Útargetsc                 ó¤  — |D �cg c]  }|j                  «       x}sŒ|‘Œ }}|D �ci c]   }|j                  d«      sŒ|t        |«      “Œ" }}|j                  «       D ��ci c]  \  }}|j                  sŒ||“Œ }}}|r7t        |«      t        t        |«      «      k7  rt        d«      ‚t        | |«      S t        | «      \  }}t        t        «      }	t        «       }
g }|D �]
  }|j                  «       }t        j                  d|«      rZ|j                  |«      }|€|j                  |«       ŒO|\  }}|	|   j!                  |«       |
j!                  |j"                  «       Œ„||v rt%        ||   «      n|}|j                  |j                  «       «      }|€|j                  |«       ŒË|j&                  D ]1  }|	|   j!                  |«       |
j!                  |j"                  «       Œ3 �Œ |	j                  «       D ��ci c]  \  }}|t)        |«      “Œ }}}t+        t)        |
«      |t-        |«      ¬«      S c c}w c c}w c c}}w c c}}w )z8Resolve the deletion targets into a deletion resolution.zhf://zAFile targets cannot be mixed with repository or revision targets.z[0-9a-fA-F]{40})r)   r*   r+   )r½   Ú
startswithr�   rU   rŒ   rV   Úsetr   Ú_resolve_file_targetsrˆ   r   rl   Úrer¼   r¸   rb   Úaddrt   r’   r)   r1   r(   r5   )r‚   r×   r‰   ÚstrippedÚurisr�   Ú	file_urisr†   r‡   r*   r)   r+   ÚloweredrÅ   rY   r€   r…   Úmatched_repoÚrevsÚfrozen_selecteds                       r8   Ú_resolve_deletion_targetsrå   [  s%  € à&-ÖN˜F¸f¿l¹l»nÐ2L°(Ñ2LŠxÐN€GÐNØ?FÖe°VÈ&×J[ÑJ[Ð\cÕJdˆFÔ(¨Ó0Ñ0Ðe€DÐeØ04·
±
³×Q¡ ¨À×@PÓ@P�˜‘ÐQ€IÑQÙÜˆy‹>œS¤ W£Ó.Ò.ÜÐ^Ó_Ð_Ü$ ]°IÓ>Ð>ä#4°]Ó#CÑ €K�ä>IÌ#Ó>N€HÜ›%€IØ€Gàó 0ˆØ—,‘,“.ˆä�<‰<Ð*¨GÔ4Ø#×'Ñ'¨Ó0ˆEØˆ}Ø—‘˜vÔ&ØØ"‰NˆD�(Ø�T‰N×Ñ˜xÔ(Ø�M‰M˜(×.Ñ.Ô/Øà.4¸©n”9˜T &™\Ô*À&ˆØ"—‘ x§~¡~Ó'7Ó8ˆØÐØ�N‰N˜6Ô"Øà$×.Ñ.ò 	0ˆHØ�\Ñ"×&Ñ& xÔ0Ø�M‰M˜(×.Ñ.Õ/ò	0ð'0ð. @H¿~¹~Ó?O×P±°°t�tœY t›_Ñ,ÐP€OÑPÜÜ˜IÓ&Ø Ü�g“ôð ùòM OùÚeùÛQùóF Qs&   …H<�H<§I¾IÁ!IÁ6IÈIrà   c                 óˆ  — t        | «      \  }}i }g }|j                  «       D ]ø  \  }}|j                  t        |«      j	                  «       «      }|€|j                  |«       ŒB|j                  D �	�
ci c]|  }	|	j                  D ]k  }
|
j                  j                  |	j                  «      j                  «       |j                  k(  r)|
|j                  › d|	j                  › d|j                  › �“Œm Œ~ }}	}
|s|j                  |«       |j                  |«       Œú t!        t#        «       i t%        |«      |¬«      S c c}
}	w )zYSelect the cached files matching hf:// file URIs, in every cached revision of their repo.ú@rq   )r)   r*   r+   r-   )rˆ   rU   r¸   r’   rl   rb   r)   r-   Ú	file_pathÚrelative_toÚsnapshot_pathÚas_posixrŒ   r…   rt   Úupdater(   r1   r5   )r‚   rà   r†   r«   r-   r+   r‰   r�   rY   r€   ÚfileÚmatchess               r8   rÛ   rÛ   Š  s1  € ä& }Ó5�N€K�Ø')€EØ€GØ —‘Ó(ò ‰ˆ�Ø�‰œy¨›~×3Ñ3Ó5Ó6ˆØˆ<Ø�N‰N˜6Ô"Øð !ŸN™N÷
àØ Ÿ™ò
ð Ø�~‰~×)Ñ)¨(×*@Ñ*@ÓA×JÑJÓLÐPS×P`ÑP`Ò`ð �T—]‘]�O 1 X×%9Ñ%9Ð$:¸!¸C×<LÑ<LÐ;MÐNÑNð
Øð
ˆñ 
ñ Ø�N‰N˜6Ô"Ø�‰�WÕðô ¬«¸rÌ5ÐQXË>ÐafÔgÐgùó
s   Á4BD>z	list | ls)zhf cache lszhf cache ls --revisionsz*hf cache ls --filter "size>1GB" --limit 20zhf cache ls --format json)ÚexamplesFÚ	cache_dirz9Cache directory to scan (defaults to Hugging Face cache).r)   zCInclude revisions in the output instead of aggregated repositories.Úfilterz-fz--filterzZFilter entries (e.g. 'size>1GB', 'type=model', 'accessed>7d'). Can be used multiple times.r›   a  Sort entries by key. Supported keys: 'accessed', 'modified', 'name', 'size'. Append ':asc' or ':desc' to explicitly set the order (e.g., 'modified:asc'). Defaults: 'accessed', 'modified', 'size' default to 'desc' (newest/biggest first); 'name' defaults to 'asc' (alphabetical).ÚlimitzSLimit the number of results returned. Returns only the top N entries after sorting.Úshow_warningsz*Show warnings about cache inconsistencies.c                 óH	  — 	 t        | «      }|xs g }t	        ||¬«      \  }	}
	 |D �cg c]  }t        ||
«      ‘Œ }}t        j                  «       }|D ]"  }|	D �cg c]  } ||d   |d   |«      sŒ|‘Œ }	}Œ$ |r,	 t        |j                  «      \  }}|	j                  ||¬«       |�#|dk  rt        j                  d|› d�«      ‚|	d| }	|rŸ|	D ��cg c]t  \  }}|�m|j                  |j                  |j                   |j"                  t        |j$                  «      |j&                  |j(                  t+        |j,                  «      d	œ‘Œv }}}t/        j0                  |g d
¢dddi¬«       nš|	D ��cg c]p  \  }}|j                  |j                  |j                   |j&                  |j2                  xs d|j(                  t+        |
j5                  |t7        «       «      «      dœ‘Œr }}}t/        j0                  |g d¢dddi¬«       |	r¶|	D ��ch c]  \  }}|’Œ	 }}}t9        |«      }|r%t;        d„ |	D «       «      }t;        d„ |	D «       «      }n5t;        d„ |D «       «      }|s|�t;        d„ |D «       «      }n|j<                  }t/        j>                  tA        jB                  d|› d|› dtE        |«      › d�«      «       t9        |jF                  «      rp|rB|jF                  D ]2  }t/        jH                  t        |«      jK                  d«      dz   «       Œ4 n,t/        jH                  dt9        |jF                  «      › d�«       |jL                  }|r8t/        jN                  dt9        |«      › dtE        |jP                  «      › d�«       |j                  �htS        jT                  |j                  «      x}rFt/        jN                  dt9        |«      › d tE        t;        |jW                  «       «      «      › d�«       yyy# t        $ r}t        d|j                  › �«      |‚d}~ww xY wc c}w # t        $ r$}t        j                  t        |«      «      |‚d}~ww xY wc c}w # t        $ r$}t        j                  t        |«      «      |‚d}~ww xY wc c}}w c c}}w c c}}w )!z&List cached repositories or revisions.úCache directory not found: N)r“   r   r   )rp   rÕ   z&Limit must be a positive integer, got r¦   )r‘   rk   rj   r€   rê   r@   r°   r?   )r‘   r€   r@   r°   r?   r€   r@   rÈ   )ÚheadersÚid_keyÚ
alignmentsra   )r‘   rk   rj   r@   r¯   r°   r?   )r‘   r@   r¯   r°   r?   r‘   c              3   ó,   K  — | ]  \  }}|€Œ	d–— Œ y ­w)Nr   r6   ©Ú.0r«   rv   s      r8   ú	<genexpr>zls.<locals>.<genexpr>$  s   è ø€ Ò L¡v q¨#¸C¹O¤Ñ Lùs   ‚
�c              3   ó@   K  — | ]  \  }}|€Œ	|j                   –— Œ y ­wrh   ©rª   rú   s      r8   rü   zls.<locals>.<genexpr>%  s   è ø€ ÒW±&°!°SÀsÁ˜S×-Õ-ÑWùs   ‚
�c              3   óF   K  — | ]  }t        |j                  «      –— Œ y ­wrh   )rV   r)   ©rû   rY   s     r8   rü   zls.<locals>.<genexpr>'  s   è ø€ Ò N¸¤ T§^¡^×!4Ñ Nùs   ‚!c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrh   rþ   r   s     r8   rü   zls.<locals>.<genexpr>)  s   è ø€ Ò L°t ×!2Õ!2Ñ Lùó   ‚z
Found z repo(s) for a total of z revision(s) and z	 on disk.z. Repo ignored.zFound zF cache inconsistencies. Re-run with `--show-warnings` to display them.z" incomplete download(s) totalling z$. Remove them with 'hf cache prune'.z' unreferenced shared blob(s) totalling ),r   r   r   rð   r    rÆ   r¾   ÚclickÚBadParameterr2   ÚtimerÖ   r¤   r›   r…   rk   rj   rt   rê   r~   Úlast_modified_strr{   r?   r$   ÚtableÚlast_accessed_strr¸   r1   rV   Úsumrª   r}   r   Úboldr   ÚwarningsÚwarningÚrstripÚincomplete_filesrŽ   Úincomplete_size_on_diskr   Úunreferenced_shared_blobsÚvalues)rð   r)   rñ   r›   rò   ró   r‚   ÚexcÚfiltersrœ   r�   r¡   Ú
filter_fnsr­   Úfnr™   Úsort_key_fnrÕ   rY   r€   rU   r«   Úunique_reposrM   r[   Ú
total_sizer  r  Úunreferenced_blobss                                r8   Úlsr  £  s§  € ðjOÜ& yÓ1ˆð Šl˜€Gä2°=ÐT]Ô^Ñ€Gˆ]ð4ØLSÖTÀDÔ*¨4°Õ?ÐTˆ
ÐTô �)‰)‹+€CØò NˆØ&-ÖM˜U±°E¸!±H¸eÀA¹hÈÕ1L’5ÐMˆÑMðNñ ð	8Ü#5°d·j±jÓ#AÑ ˆK˜Ø�L‰L˜[°'ˆLÔ:ð
 ÐØ�1Š9Ü×$Ñ$Ð'MÈeÈWÐTUÐ%VÓWÐWØ˜&˜5�/ˆáð #*÷
ñ ��hØÐ#ð —m‘mØŸ<™<Ø!Ÿ^™^Ø$×0Ñ0Ü!$ X×%;Ñ%;Ó!<Ø ×1Ñ1Ø!)×!;Ñ!;Ü˜xŸ}™}Ó-ó	ð
ˆñ 
ô 	�	‰	ØÚGØØ Ð(ö		
ð" #÷
ñ ��að —m‘mØŸ<™<Ø!Ÿ^™^Ø×-Ñ-Ø!%×!7Ñ!7Ò!=¸2Ø!%×!7Ñ!7Ü˜}×0Ñ0°´y³{ÓCÓDóð
ˆñ 
ô 	�	‰	ØÚLØØ Ð(õ		
ñ Ø,3×4¡  qšÐ4ˆÑ4Ü˜Ó&ˆ
ÙÜ Ñ L°Ô LÓLˆNÜÑW¸GÔWÓW‰Jä Ñ NÀÔ NÓNˆNÙ˜%Ð+Ü Ñ L¸|Ô LÓL‘
ð +×7Ñ7�
Ü�‰Ü�I‰IØ˜:˜,Ð&>¸~Ð>Nð OÜ$ ZÓ0Ð1°ð<óô	
ô ˆ=×!Ñ!Ô"ÙØ(×1Ñ1ò J�Ü—‘œC ›L×/Ñ/°Ó4Ð7HÑHÕIñJô �K‰KØœ˜]×3Ñ3Ó4Ð5Ð5{Ð|ôð %×5Ñ5ÐÙÜ�‰Ø”SÐ)Ó*Ð+Ð+MÜ˜M×AÑAÓBÐCð D1ð1ô	
ð ×ÑÐ*Ü+×EÑEÀm×F]ÑF]Ó^Ð^ÐÐ^ä�‰Ø”SÐ+Ó,Ð-Ð-TÜœCÐ 2× 9Ñ 9Ó ;Ó<Ó=Ð>Ð>bðdõ	
ð 	_ð +øôW ò OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOüò UøÜò 4Ü× Ñ ¤ S£Ó*°Ð3ûð4üò
 Nøô ò 	8Ü×$Ñ$¤S¨£XÓ.°CÐ7ûð	8üó
ùó*
ùó( 5sv   ‚O> ¤P- ¨P(»P- ÁQÁ0QÁ;+Q" ÃA9RÅ1A5RÈRÏ>	P%ÐP Ð P%Ð(P- Ð-	QÐ6QÑQÑ"	RÑ+R
Ò
R)zhf cache rm model/gpt2z-hf cache rm hf://models/openai-community/gpt2z?hf cache rm hf://models/openai-community/gpt2/model.safetensorszhf cache rm <revision_hash>z hf cache rm model/gpt2 --dry-runzhf cache rm model/gpt2 --yeszmOne or more repo IDs (e.g. model/bert-base-uncased), hf:// URIs (repo or file), or revision hashes to delete.Úyesz-yz--yeszSkip confirmation prompt.Údry_runz,Preview deletions without removing anything.c           	      óþ  — 	 t        |«      }t	        || «      }|j
                  r:dj                  d„ |j
                  D «       «      }t        j                  d|› �«       |j                  �rL |j                  |j                  Ž }t        j                  dt        |j                  «      › d|j                  › d�«       t        |j                  j                  «       «      D ]  }	t        j                  d	|	› �«       Œ |r7t        j                   d
dt        |j                  «      |j                  ¬«       yt        j"                  d|¬«       |j%                  «        t        j                   dt        |j                  «      › d|j                  › d�t        |j                  «      |j                  ¬«       yt        |j&                  «      dk(  r5t        j                  d«       t(        j*                  j-                  d¬«      ‚ |j.                  t        |j&                  «      Ž }t1        |j2                  «      }
g }|
j4                  r|j7                  |
j4                  › d�«       |
j8                  r|j7                  |
j8                  › d�«       |s|j7                  |
j:                  › d�«       dj                  |«      }t        j                  d|› d|j                  › d�«       t=        |j2                  «       |r9t        j                   d
d|
j4                  |
j:                  |j                  ¬«       yt        j"                  d|¬«       |j%                  «        t1        |j2                  «      }
t        j                   d|
j4                  › d|
j:                  › d|j                  › d�|
j4                  |
j:                  |j                  ¬«       y# t        $ r}t        d|j                  › �«      |‚d}~ww xY w)z/Remove cached repositories, revisions or files.rõ   Nú
c              3   ó&   K  — | ]	  }d |› �–— Œ y­w©rx   Nr6   )rû   r™   s     r8   rü   zrm.<locals>.<genexpr>}  s   è ø€ ÒK¨u˜d 5 'œNÑKùó   ‚zCould not find in cache:
úAbout to delete z file(s) totalling r¦   rx   úDry run: no files were deleted.T)r  r-   r@   zProceed with deletion?©r  úDeleted z file(s); freed )Úfiles_deletedÚfreedr   zNothing to delete.©Úcodez repo(s)z revision(s)r`   z totalling )r  r„   r)   r@   z repo(s) and z revision(s); freed )Úrepos_deletedÚrevisions_deletedr'  )r   r   r   rð   rå   r+   rc   r$   r  r-   Údelete_filesr}   rV   Úexpected_freed_size_strr{   r  ÚresultÚconfirmÚexecuter)   r  Ú
exceptionsÚExitÚdelete_revisionsrZ   r*   rM   rb   rN   rO   r�   )r×   rð   r  r  r‚   r  Ú
resolutionÚdetailsÚstrategyÚlabelÚcountsÚsummary_partsÚsummary_texts                r8   Úrmr;  N  sx  € ðNOÜ& yÓ1ˆô +¨=¸'ÓB€Jà×ÒØ—)‘)ÑK¸
×8JÑ8JÔKÓKˆÜ�‰Ð0°°	Ð:Ô;à×ÓØ-�=×-Ñ-¨z×/?Ñ/?Ð@ˆÜ�‰Ð#¤C¨
×(8Ñ(8Ó$9Ð#:Ð:MÈh×NnÑNnÐMoÐopÐqÔrÜ˜J×,Ñ,×3Ñ3Ó5Ó6ò 	%ˆEÜ�H‰H�t˜E˜7�^Õ$ð	%áÜ�J‰JØ1ØÜ˜*×*Ñ*Ó+Ø×5Ñ5õ	ð Ü�‰Ð,°#Õ6Ø×ÑÔÜ�
‰
Ø”s˜:×+Ñ+Ó,Ð-Ð-=¸h×>^Ñ>^Ð=_Ð_`ÐaÜ˜j×.Ñ.Ó/Ø×2Ñ2õ	
ð
 	ä
ˆ:×ÑÓ  AÒ%Ü�‰Ð%Ô&Ü×Ñ×#Ñ#¨Ð#Ó+Ð+à-ˆ}×-Ñ-¬v°j×6JÑ6JÓ/KÐL€HÜ  ×!4Ñ!4Ó5€Fà!€MØ×ÒØ×Ñ × 1Ñ 1Ð2°(Ð;Ô<Ø×$Ò$Ø×Ñ × =Ñ =Ð>¸lÐKÔLÙØ×Ñ × ;Ñ ;Ð<¸LÐIÔJà—<‘< Ó.€LÜ‡H�HÐ ˜~¨[¸×9YÑ9YÐ8ZÐZ[Ð\Ô]Ü" :×#6Ñ#6Ô7áÜ�
‰
Ø-ØØ×#Ñ#Ø×1Ñ1Ø×1Ñ1õ	
ð 	ä‡K�KÐ(¨cÕ2à×ÑÔÜ  ×!4Ñ!4Ó5€FÜ‡J�JØ
�6×$Ñ$Ð% ]°6×3NÑ3NÐ2Oð PØ×2Ñ2Ð3°1ð	6à×'Ñ'Ø ×5Ñ5Ø×.Ñ.öøôA ò OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOús   ‚O Ï	O<ÏO7Ï7O<zhf cache prunezhf cache prune --dry-runc           
      óì  — 	 t        | «      }i }t	        «       }|j
                  D ]>  }t        d„ |j                  D «       «      }|sŒ"|||<   |j                  d„ |D «       «       Œ@ |j                  }	|j                  �t        j                  |j                  «      ni }
t        |«      dk(  r|	s|
st        j                  d«       y |j                  t!        |«      Ž }t#        |«      }|j$                  |j&                  z   t)        |
j+                  «       «      z   }t-        |j.                  t        |	«      t        |
«      «      }t        j                  d|› dt1        |«      › d	�«       t3        |«       |rAt        j4                  d
d|j.                  t        |	«      t        |
«      t1        |«      ¬«       yt        j6                  d|¬«       |j9                  «        |	D ]  }	 |j:                  j=                  «        Œ |j                  �(|
D ]#  }t        jD                  ||j                  ¬«       Œ% t        j4                  d|› dt1        |«      › d�|j.                  t        |	«      t        |
«      t1        |«      ¬«       y# t        $ r}t        d|j                  › �«      |‚d}~ww xY w# t>        $ r Y ŒÙt@        $ r0}t        jB                  d|j:                  › d|› �«       Y d}~�Œd}~ww xY w)zBRemove detached revisions and incomplete downloads from the cache.rõ   Nc              3   óR   K  — | ]  }t        |j                  «      d k(  sŒ|–— Œ! y­w)r   N)rV   r?   ©rû   r€   s     r8   rü   zprune.<locals>.<genexpr>à  s!   è ø€ Ò`¨(ÌÈHÏMÉMÓHZÐ^_ÓH_œXÑ`ùs   ‚' 'c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrh   rs   r>  s     r8   rü   zprune.<locals>.<genexpr>ä  s   è ø€ ÒG°(˜×-Õ-ÑGùr  r   zXNo unreferenced revisions, incomplete downloads or shared blobs found. Nothing to prune.r"  ú (z total).r#  T)r  r)   Ú
incompleteÚshared_blobsr@   zProceed?r$  z!Could not delete incomplete file z: )rð   r%  z; freed r¦   )r+  Úincomplete_deletedÚshared_blobs_deletedr'  )#r   r   r   rð   rÚ   r„   r1   r)   rì   r  r   r  rV   r$   r}   r3  r{   rZ   Úexpected_freed_sizer  r	  r  re   rO   r   r�   r.  r/  r0  rè   ÚunlinkÚFileNotFoundErrorÚOSErrorr  Úsweep_shared_blob)rð   r  r  r‚   r  r*   r)   rY   Údetachedr  r  r6  r8  Útotal_freedÚsummaryÚincomplete_fileÚ
store_paths                    r8   ÚprunerO  À  sØ  € ð0OÜ& yÓ1ˆð EG€HÜ›%€IØ×#Ñ#ò HˆÜÑ`°d·n±nÔ`Ó`ˆÙØØ!ˆ�‰Ø×ÑÑG¸hÔGÕGðHð %×5Ñ5Ðð MZ×LcÑLcÐLoŒ×/Ñ/°×0GÑ0GÔHÐuwð ô ˆ9ƒ~˜ÒÑ#3Ñ<NÜ�‰ÐkÔlØà-ˆ}×-Ñ-¬v°iÓ/@ÐA€HÜ  Ó*€Fà×$Ñ$ }×'LÑ'LÑLÌsÐSe×SlÑSlÓSnÓOoÑoð ô ˜V×8Ñ8¼#Ð>NÓ:OÔQTÐUgÓQhÓi€GÜ‡H�HÐ ˜y¨¬<¸Ó+DÐ*EÀXÐNÔOÜ" 8Ô,áÜ�
‰
Ø-ØØ×1Ñ1ÜÐ+Ó,ÜÐ/Ó0Ü˜kÓ*õ	
ð 	ä‡K�K�
 Õ$à×ÑÔØ+ò `ˆð	`Ø×%Ñ%×,Ñ,Õ.ð`ð ×ÑÐ*Ø,ò 	[ˆJÜ×+Ñ+¨JÀ-×BYÑBYÖZð	[ä‡J�JØ
�7�)˜8¤L°Ó$=Ð#>¸aÐ@Ø ×5Ñ5ÜÐ/Ó0Ü Ð!3Ó4Ü˜;Ó'öøôq ò OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOûôb !ò 	ÙÜò 	`Ü�K‰KÐ;¸O×<UÑ<UÐ;VÐVXÐY\ÐX]Ð^×_Ò_ûð	`ús5   ‚J Ç&J0Ê	J-ÊJ(Ê(J-Ê0	K3Ê;K3Ë%K.Ë.K3)zhf cache verify gpt2z)hf cache verify gpt2 --revision refs/pr/1z.hf cache verify my-dataset --repo-type datasetrk   rj   r€   zXCache directory to use when verifying files from cache (defaults to Hugging Face cache).Ú	local_dirz?If set, verify files under this directory instead of the cache.Úfail_on_missing_filesz--fail-on-missing-filesz?Fail if some files exist on the remote but are missing locally.Úfail_on_extra_filesz--fail-on-extra-fileszLFail if some files exist locally but are not present on the remote revision.Útokenc           
      ó  — |�7|�5t        j                  d«       t        j                  j	                  d¬«      ‚t        |¬«      }|j                  | t        |d«      r|j                  n
t        |«      ||||¬«      }	d}
t        d	d
«      }|	j                  r>dj                  d„ |	j                  D «       «      }t        j                  |› d|› �«       d}
|	j                  rl|r?dj                  d„ |	j                  D «       «      }t        j                  |› d|› �«       d}
n+t        j                  t!        |	j                  «      › d�«       |	j"                  rl|r?dj                  d„ |	j"                  D «       «      }t        j                  |› d|› �«       d}
n+t        j                  t!        |	j"                  «      › d�«       |	j$                  }|
dk7  rUt        j                  d| › d|j                  › d|› d|	j&                  › �«       t        j                  j	                  |
¬«      ‚t        j(                  d|	j*                  › d|j                  › d| › d�| |j                  |	j*                  t        |«      ¬«       y)a«  Verify checksums for a single repo revision from cache or a local directory.

    Examples:
      - Verify main revision in cache: `hf cache verify gpt2`
      - Verify specific revision: `hf cache verify gpt2 --revision refs/pr/1`
      - Verify dataset: `hf cache verify karpathy/fineweb-edu-100b-shuffle --repo-type dataset`
      - Verify local dir: `hf cache verify deepseek-ai/DeepSeek-OCR --local-dir /path/to/repo`
    NzCCannot pass both --local-dir and --cache-dir. Use one or the other.r   r(  )rS  r¤   )rk   rj   r€   rP  rð   rS  r   u   â�Œz[FAIL]r  c           
   3   óP   K  — | ]  }d |d   › d|d   › d|d   › d|d   › �–— Œ  y­w)	rx   Úpathz: expected rµ   r@  Ú	algorithmz), got ÚactualNr6   )rû   Úms     r8   rü   zverify.<locals>.<genexpr>^  sF   è ø€ ò 
àð �1�V‘9�+˜[¨¨:©¨°r¸!¸K¹.Ð9IÈÐQRÐS[ÑQ\ÐP]Ô^ñ
ùs   ‚$&z9 Checksum verification failed for the following file(s):
r   c              3   ó&   K  — | ]	  }d |› �–— Œ y­wr   r6   ©rû   Úps     r8   rü   zverify.<locals>.<genexpr>g  s   è ø€ ÒI¨q $ q c¤
ÑIùr!  z3 Missing files (present remotely, absent locally):
zM remote file(s) are missing locally. Use --fail-on-missing-files for details.c              3   ó&   K  — | ]	  }d |› �–— Œ y­wr   r6   r[  s     r8   rü   zverify.<locals>.<genexpr>r  s   è ø€ ÒG¨q $ q c¤
ÑGùr!  z1 Extra files (present locally, absent remotely):
zV local file(s) do not exist on the remote repo. Use --fail-on-extra-files for details.zVerification failed for 'z' (z) in z.
  Revision: z	Verified z file(s) for z 'z'. All checksums match.)rk   rj   ÚcheckedrV  )r$   Úerrorr  r1  r2  r   Úverify_repo_checksumsÚhasattrr¤   r2   r#   Ú
mismatchesrc   r}   Úmissing_pathsr  rV   Úextra_pathsÚverified_pathr€   r.  Úchecked_count)rk   rj   r€   rð   rP  rQ  rR  rS  Úapir.  Ú	exit_codeÚfailedr5  Úverified_locations                 r8   Úverifyrk    si  € ð` Ð Ð!6Ü�	‰	ÐWÔXÜ×Ñ×#Ñ#¨Ð#Ó+Ð+ä
˜5Ô
!€Cà×&Ñ&ØÜ%,¨Y¸Ô%@�)—/’/ÄcÈ)ÃnØØØØð 'ó €Fð €IÜ˜ Ó)€Fà×ÒØ—)‘)ñ 
à×&Ñ&ô
ó 
ˆô 	�‰�F�8ÐUÐV]ÐU^Ð_Ô`Øˆ	à×ÒÙ Ø—i‘iÑI°F×4HÑ4HÔIÓIˆGÜ�H‰H˜�xÐSÐT[ÐS\Ð]Ô^Ø‰Iä�K‰KÜ�v×+Ñ+Ó,Ð-ð .;ð ;ôð
 ×ÒÙØ—i‘iÑG°F×4FÑ4FÔGÓGˆGÜ�H‰H˜�xÐQÐRYÐQZÐ[Ô\Ø‰Iä�K‰KÜ�v×)Ñ)Ó*Ð+ð ,9ð 9ôð
 ×,Ñ,Ðà�A‚~Ü�	‰	Ø'¨ y°°I·O±OÐ3DÀEÐJ[ÐI\Ð\kÐlr×l{Ñl{Ðk|Ð}ô	
ô ×Ñ×#Ñ#¨Ð#Ó3Ð3ä‡J�JØ
�F×(Ñ(Ð)¨°y·±Ð6GÀrÈ'ÈÐRiÐjØØ—/‘/Ø×$Ñ$ÜÐ"Ó#ör7   )NFNNNF)NFF)ZrP   rÜ   r  Úcollectionsr   Úcollections.abcr   r   Údataclassesr   r   Úenumr   Útypingr	   r
   r  Úhuggingface_hub.errorsr   Úutilsr   r   r   r   r   r   r   r   r   r   r   Úutils._parsingr   r   Ú
_cli_utilsr   r   r   r   r   r    Ú
_frameworkr!   r"   Ú_outputr#   r$   Ú	cache_clir(   Úcompiler»   rÀ   rÂ   rÑ   rÐ   rÒ   Ú_sort_options_dictr{   rp   r2   r.   rI   rL   r5   rÓ   r4   r1   ÚRepoRefsMaprZ   rQ   re   r�   rˆ   r�   r’   rÄ   rÁ   r    rÃ   rÆ   r©   rÖ   rå   rÛ   Úcommandr  r;  rO  Úmodelrk  r6   r7   r8   ú<module>r}     sR  ðñ Oã 	Û Ý #ß -ß (Ý ß !ã å +÷÷ ÷ ñ ÷ 8ß `× `ß (ß %ñ Ð>Ô?€	ñ �$Ô÷Cð Có ðCð �"—*‘*Ð_Ó`€Ú6Ð Ú?€Ú5€
Ø�—
‘
ÐJÓK€ð ØØØñÐ ð Ð Ù�*Óò 6€CØ!Ð�sÑØ*-¨¨d |Ð˜#˜˜d�|Ñ$Ø+.¨%¨u¨Ð˜#˜˜e�}Ò%ð6ñ
 �=Ð"4¸3ÀxÔP€ñ �$Ô÷ð ó ðð �>Ð#5¸Ñ#<Ð<Ñ=€
Ø�> 9¨S¡>Ð1Ñ2€ðTØ˜n¨iÐ8JÑ.KÐKÑLðTàóTð$ 3ð ¸#ð ÐRUð ÐZ]ó ð[°W¸^ÈYÐWiÑMjÐ=jÑ5kð [Ðptó [ð(Øð(à
ØˆˆnÐ	ÑØˆˆe�NÐ$6Ð6Ñ7Ð	7Ñ8ð:ñó(ð" ð ¨ó ð"�5ð "˜Só "ð
"Øð"Ø6:ð"à
ˆ4�
Ñ˜[Ð(Ñ)ó"ð4>Ø
ð>Ø)ð>àˆ~Ð1°DÑ8¸%Ð@À$ÐFÑGó>ðB˜5 4™<ð ¨Sð ¸ð À4ó ð(3 #ð 3¨%°¸*¸ÀuÈSÐRUÈXÁÐ9VÑ0WÐY]Ð0]Ñ*^ó 3ðl,¨[ð ,À4ÈÁ9ð ,ÐQdó ,ð^h¨ð hÀÀcÈ5ÀjÑAQð hÐVió hð2 ×ÑØòð ó ð 	ð 	ð 	ð 	ð 	ð 	ñS_
ØØˆd‰
ÙØLô	
ð	ñð_
ð ØÙØVô	
ð	ñð_
ð ØˆS‰	�DÑÙØØØmô	
ð	ñð_
ð* Ø�dÑÙð7ô	
ð	ñð+_
ð< Øˆd‰
ÙØfô	
ð	ñð=_
ðH ØÙØ=ô	
ð	ñðI_
ðT 
òU_
óð_
ðD ×Ñòð ó 	ð, 	ð 	ð 	ñ5eØØˆS‰	Ùð Aô	
ð	ñðeð Øˆd‰
ÙØLô	
ð	ñðeð 
ØÙØØØ,ô	
ð	ñ
ðeð* ØÙØ?ô	
ð	ñð+eð6 
ò7eó	ðeðP ×ÑÐ-Ð/IÐJÐÓKð 	ð 	ð 	ñ)WØØˆd‰
ÙØLô	
ð	ñðWð 
ØÙØØØ,ô	
ð	ñ
ðWð ØÙØ?ô	
ð	ñðWð* 
ò+Wó LðWðt ×Ñòð ó ð )×.Ñ.Ø ð 	ð 	ð 	ð 	Øñ=gØðgàðgð ðgð Øˆd‰
ÙØkô	
ð	ñð	gð Øˆd‰
ÙØRô	
ð	ñðgð  %ØÙØ%ØRô	
ð	ñð!gð. #ØÙØ#Ø_ô	
ð	ñð/gð< ð=gð> 
ò?góñgr7   