
    >Ci1                        S SK r S SKrS SKrS SKrS SKJr  S\R                  ;  a  \" \5      R                  R                  R                  R                  S-  R                  5       (       aF  \R                  R                  S \" \" \5      R                  R                  R                  5      5        S SKJr  \ R                  " S5      rS\SS4S	 jrS
\S\R$                  SS4S jrSS jr\S:X  a  \" 5         gg)    N)PathNO_LOCAL_GGUFzgguf-py)
GGUFReaderzgguf-set-metadatafilenamereturnc                     [        U S5      nUR                  S   nUc  g UR                  S   nSUR                  U   S'   g )Nr+ztokenizer.ggml.bos_token_idr      )r   fieldsdataparts)r   readerfield
part_indexs       X/home/james-whalen/.local/lib/python3.13/site-packages/gguf/scripts/gguf_set_metadata.pyminimal_exampler      sE    $'FMM78E}AJ!"EKK
A    r   argsc                    U R                  UR                  5      nUcB  [        R                  S[	        UR                  5       S35        [
        R                  " S5        UR                  (       a(  U R                  R                  UR                  S   5      OS nUcN  [        R                  S[	        UR                  5       SUR                   35        [
        R                  " S5        UR                  UR                  S      S   nU" UR                  5      n[        R                  S[	        UR                  5       SU S	U 35        XE:X  aD  [        R                  S
[	        UR                  5       SU 35        [
        R                  " S5        UR                  (       a  [
        R                  " S5        UR                  (       d{  [        R!                  S5        [        R!                  S5        [        R!                  S5        [#        S5      nUS:w  a+  [        R                  S5        [
        R                  " S5        XRR                  UR                  S      S'   [        R                  S5        g )Nz! Field z
 not found   r   z2! This tool only supports changing simple values, z has unsupported type z* Preparing to change field z from z to z- Key z  already set to requested value z&*** Warning *** Warning *** Warning **zP* Changing fields in a GGUF file can make it unusable. Proceed at your own risk.z<* Enter exactly YES if you are positive you want to proceed:zYES, I am sure> YESz(You didn't enter YES. Okay then, see ya!z'* Field changed. Successful completion.)	get_fieldkeyloggererrorreprsysexittypesgguf_scalar_to_npgetr   r   valueinfodry_runforcewarninginput)r   r   r   handlercurrent_value	new_valueresponses          r   set_metadatar,   ,   s   TXX&E}xTXX/z:; ?Dkkf&&**5;;q>:tGI$txx.IYYopup{p{o|}~KK

1.q1M

#I
KK.tDHH~.>f]OSWXaWbcd!fT$((^,,L]O\]||::?@ijUV+,uKKBCHHQK$-KK

1q!
KK9:r   c                     [         R                  " SS9n U R                  S[        SS9  U R                  S[        SS9  U R                  S[        S	S9  U R                  S
SSS9  U R                  SSSS9  U R                  SSSS9  U R	                  [        [        R                  5      S:  a  S OS/5      n[        R                  " UR                  (       a  [        R                  O[        R                  S9  [        R                  SUR                   35        [!        UR                  UR"                  (       a  SOS5      n[%        X!5        g )Nz(Set a simple value in GGUF file metadata)descriptionmodelzGGUF format model filename)typehelpr   zMetadata key to setr"   zMetadata value to setz	--dry-run
store_truezDon't actually change anything)actionr1   z--forcez%Change the field without confirmationz	--verbosezincrease output verbosityr   z--help)levelz* Loading: rr	   )argparseArgumentParseradd_argumentstr
parse_argslenr   argvloggingbasicConfigverboseDEBUGINFOr   r#   r/   r   r$   r,   )parserr   r   s      r   mainrC   L   s   $$1[\F
#?[\
#?TU
#?VW
L?_`
	L?fg
GbcS]Q%6TXJGDt||gmmN
KK+djj\*+

4<<CTBFr   __main__)r   N)r=   r6   osr   pathlibr   environ__file__parentexistspathinsertr9   ggufr   	getLoggerr   r   	Namespacer,   rC   __name__ r   r   <module>rR      s      	 
  "**$$x.*?*?*F*F*M*M*T*TW`*`)h)h)j)jHHOOAs4>0077>>?@ 			.	/#c #d #6; ;8+=+= ;$ ;@$ zF r   