+
    =i                         ^ RI t ^ RIt^RIHt ^RIHt ^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht . ROtRR	 ltR
 R lt ! R R]4      t ! R R]4      tR# )    N)Command)_cfg_read_utf8_with_fallback)log)DistutilsOptionError)convert_pathoption_basesetoptc                   V R8X  d   R# V R8X  dL   \         P                  P                  \         P                  P                  \        P
                  4      R4      # V R8X  dT   \         P                  R8H  ;'       d    R;'       g    Rp\         P                  P                  \        R	V R
24      4      # \        RV 4      h)zyGet the filename of the distutils, local, global, or per-user config

`kind` must be one of "local", "global", or "user"
localz	setup.cfgglobalzdistutils.cfguserposix. z~/zpydistutils.cfgz7config_file() type must be 'local', 'global', or 'user')
ospathjoindirname	distutils__file__name
expanduserr   
ValueError)kinddots   & |/Users/tonyclaw/.openclaw/workspace/scripts/youtube-playlists/venv/lib/python3.14/site-packages/setuptools/command/setopt.pyconfig_filer      s    
 wxww||BGGOOI,>,>?QQv~gg ((S..Bww!!,C5/H"IJJ
NPT
UU    c                    V ^8  d   QhRR/#    returnN )formats   "r   __annotate__r%      s     & &t &r   c           	        \         P                  ! RV 4       \        P                  ! 4       pR Vn        \        W 4       VP                  4        EF&  w  r4Vf+   \         P                  ! RW04       VP                  V4       K4  VP                  V4      '       g)   \         P                  ! RW04       VP                  V4       VP                  4        F  w  rVVfm   \         P                  ! RW5V 4       VP                  W54       VP                  V4      '       g+   \         P                  ! RW04       VP                  V4       Ks  Ku  \         P                  ! RW5W`4       VP                  W5V4       K  	  EK)  	  \         P                  ! R	V 4       \        V R
RR7      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)aE  Edit a configuration file to include `settings`

`settings` is a dictionary of dictionaries or ``None`` values, keyed by
command/section name.  A ``None`` value means to delete the entire section,
while a dictionary lists settings to be changed or deleted in that section.
A setting of ``None`` means to delete that setting.
zReading configuration from %sc                     V # Nr#   )	optionstrs   &r   <lambda>edit_config.<locals>.<lambda>(   s    r   NzDeleting section [%s] from %szAdding new section [%s] to %szDeleting %s.%s from %sz#Deleting empty [%s] section from %szSetting %s.%s to %r in %sz
Writing %swzutf-8)encoding)r   debugconfigparserRawConfigParseroptionxformr   itemsinforemove_sectionhas_sectionadd_sectionremove_optionoptionssetopenwrite)filenamesettingsoptssectionr8   optionvaluefs   &&      r   edit_configrC      s`    II-x8'')D2D 0$NN,?HH4gH(##G,,		97M  )!(=II6R&&w7<<00A7 ++G4	 1 II3We HHWe4 "1 -. HH\8$	hg	.	.!

1 
/	.	.	.s   (GG	c                   L   a  ] tR t^Gt o Rt. R	OtRR.tR tV 3R lR ltRt	V t
R# )
r   z<Abstract base class for commands that mess with config filesglobal-configuser-configc                0    R V n         R V n        R V n        R # r(   )global_configuser_configr<   selfs   &r   initialize_optionsoption_base.initialize_optionsU   s    !r   c                   < V ^8  d   QhRR/# r    r#   )r$   __classdict__s   "r   r%   option_base.__annotate__Z   s     % %$ %r   c                   . pV P                   '       d   VP                  \        R 4      4       V P                  '       d   VP                  \        R4      4       V P                  e   VP                  V P                  4       V'       g   VP                  \        R4      4       \        V4      ^8  d   \        RV4      hVw  V n        R# )r   r   Nr   z/Must specify only one configuration file option)rH   appendr   rI   r<   lenr   )rK   	filenamess   & r   finalize_optionsoption_base.finalize_optionsZ   s    	[23[01==$T]]+[12y>A&A9  %r   )r<   rH   rI   N))rE   gz0save options to the site-wide distutils.cfg file)rF   uz7save options to the current user's pydistutils.cfg file)z	filename=rB   z-configuration file to use (default=setup.cfg))__name__
__module____qualname____firstlineno____doc__user_optionsboolean_optionsrL   rU   __static_attributes____classdictcell__rO   s   @r   r   r   G   s-     FL 	O

% %r   c                      a  ] tR t^kt o RtRt. RO]P                  ,           t]P                  R.,           tR t	V 3R lR lt
V 3R lR ltR	tV tR
# )r	   z#Save command-line options to a filez1set an option in setup.cfg or another config fileremovec                h    \         P                  V 4       R V n        R V n        R V n        R V n        R # r(   )r   rL   commandr@   	set_valuerd   rJ   s   &r   rL   setopt.initialize_optionsy   s,    &&t,r   c                   < V ^8  d   QhRR/# r    r#   )r$   rO   s   "r   r%   setopt.__annotate__   s     O O$ Or   c                    \         P                  V 4       V P                  e   V P                  f   \	        R4      hV P
                  f    V P                  '       g   \	        R4      hR # R # )Nz%Must specify --command *and* --optionz$Must specify --set-value or --remove)r   rU   rf   r@   r   rg   rd   rJ   s   &r   rU   setopt.finalize_options   sU    $$T*<<4;;#6&'NOO>>!$+++&'MNN +6!r   c                   < V ^8  d   QhRR/# r    r#   )r$   rO   s   "r   r%   rj      s     
 
T 
r   c                    \        V P                  V P                  V P                  P	                  R R4      V P
                  //4       R# )-_N)rC   r<   rf   r@   replacerg   rJ   s   &r   run
setopt.run   s7    MM\\DKK//S94>>JK	
r   )rf   r@   rd   rg   N))zcommand=czcommand to set an option for)zoption=ozoption to set)z
set-value=szvalue of the option)rd   rzremove (unset) the value)rY   rZ   r[   r\   r]   descriptionr   r^   r_   rL   rU   rr   r`   ra   rb   s   @r   r	   r	   k   sS     -EK
 	  !L "11XJ>OO O
 
r   )r   rC   r   r	   )r   )r/   r   r   r   unicode_utilsr   r   r   distutils.errorsr   distutils.utilr   __all__r   rC   r   r	   r#   r   r   <module>r}      sG     	  8   1 '
AV&R!%' !%H 
[  
r   