+
     Bi                     8   ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIt ! R R]4      t ! R R]4      t	 ! R R	]4      t
 ! R
 R]4      t ! R R]4      t ! R R4      t]! 4       t]! 4       tR t ! R R]4      tR t]R8X  d   ^ RIHt ]! R^RR7       ]! 4        R# R# )    )ConfigParserN)Fontc                       ] tR t^#tRtR# )InvalidConfigType N__name__
__module____qualname____firstlineno____static_attributes__r       %/usr/lib/python3.14/idlelib/config.pyr   r   #   s    Dr   r   c                       ] tR t^$tRtR# )InvalidConfigSetr   Nr   r   r   r   r   r   $   s    4r   r   c                       ] tR t^%tRtR# )InvalidThemer   Nr   r   r   r   r   r   %   s    tr   r   c                   @   a  ] tR t^'t o RR ltRR ltR tR tRtV t	R# )	IdleConfParserNc                B    Wn         \        P                  ! WR R7       R# )F)defaultsstrictN)filer   __init__)selfcfgFilecfgDefaultss   &&&r   r   IdleConfParser.__init__+   s     	dGr   c                    V P                  W4      '       g   V# VR 8X  d   V P                  W4      # VR8X  d   V P                  W4      # V P                  WVR7      # )boolintraw)
has_option
getbooleangetintget)r   sectionoptiontypedefaultr#   s   &&&&&&r   GetIdleConfParser.Get2   sW     w//N6>??733U];;w//88G855r   c                V    V P                  V4      '       d   V P                  V4      # . # N)has_sectionoptionsr   r(   s   &&r   GetOptionListIdleConfParser.GetOptionListC   s'    G$$<<((Ir   c                d    V P                   '       d   V P                  V P                   4       R # R # r/   )r   readr   s   &r   LoadIdleConfParser.LoadJ   s     999IIdii  r   r   r/   )NNF)
r	   r
   r   r   r   r,   r3   r8   r   __classdictcell____classdict__s   @r   r   r   '   s     H6"! !r   r   c                   D   a  ] tR t^Ot o R tR tR tR tR tR t	Rt
V tR# )	IdleUserConfParserc                    V P                  W4      '       d-   V P                  W4      V8X  d   R # V P                  WV4       R# V P                  V4      '       g   V P	                  V4       V P                  WV4       R# )FT)r$   r'   setr0   add_section)r   r(   r)   values   &&&&r   	SetOptionIdleUserConfParser.SetOptionT   sh    
 ??7++xx(E1%0##G,,  )HHWe,r   c                V    V P                  V4      '       d   V P                  W4      # R # F)r0   remove_option)r   r(   r)   s   &&&r   RemoveOptionIdleUserConfParser.RemoveOptione   s)    
 G$$%%g66r   c                Z    V P                  V4      '       g   V P                  V4       R # R # r/   )r0   rB   r2   s   &&r   
AddSectionIdleUserConfParser.AddSectionn   s&    ((W% )r   c                    V P                  4        F-  pV P                  V4      '       d   K  V P                  V4       K/  	  R # r/   )sectionsr3   remove_sectionr2   s   & r   RemoveEmptySections&IdleUserConfParser.RemoveEmptySectionss   s1    }}G%%g..##G, 'r   c                L    V P                  4        V P                  4       '       * # r/   )rQ   rO   r7   s   &r   IsEmptyIdleUserConfParser.IsEmptyy   s      "==?""r   c                   V P                   pV'       d   V^ ,          R8w  d   V P                  4       '       g4    \        VR4      pV;_uu_ 4        V P                  V4       RRR4       R# \        P                  P                  V P                   4      '       d#   \        P                  ! V P                   4       R# R# R# R#   \         d&    \        P
                  ! T4       \        TR4      p Li ; i  + '       g   i     R# ; i)r   #wN)
r   rT   openOSErrorosunlinkwritepathexistsremove)r   fnamer   s   &  r   SaveIdleUserConfParser.Save~   s     		U1X_<<>>/"5#.G WJJw' W		**		$))$ + %5  /IIe$"5#.G/ WWs   C C6-C32C36D	r   N)r	   r
   r   r   rD   rI   rL   rQ   rT   rb   r   r;   r<   s   @r   r?   r?   O   s(     
"&
-#
% %r   r?   c                      a  ] tR t^t o RR ltR tR tR R ltR tR t	R t
R	 tR
 tR tR t]R 4       tR!R ltR tR tR tR tR tR tR tR tR t0 R"mtR#R ltR tR tR tR t R t!Rt"V t#R# )$IdleConfc                    RV n         / V n        / V n        / V n        V'       g#   V P	                  4        V P                  4        R# R# )mainN)rg   	highlightkeys
extensions)config_types
defaultCfguserCfgcfgCreateConfigHandlersLoadCfgFiles)r   _utests   &&r   r   IdleConf.__init__   sA    G
 %%' r   c           	        \         P                  P                  \        4      p\        P
                  '       d   R MV P                  4       ;V n        pV P                   F  p\        \         P                  P                  VRV R24      4      V P                  V&   \        \         P                  P                  T;'       g    RRV R24      4      V P                  V&   K  	  R# ) zconfig-z.defrW   z.cfgN)r[   r^   dirname__file__idlelibtestingGetUserCfgDiruserdirrk   r   joinrl   r?   rm   )r   idledirrz   cfg_types   &   r   ro   IdleConf.CreateConfigHandlers   s    ''//(+'.D<N<N<PPw))H(6Wz&>?)ADOOH%%7W^^wxj-EF&HDLL" *r   c                "   R p\         P                  P                  R4      pVR8w  dj   \         P                  P                  V4      '       gE   \        P
                  '       g-   RV,           R,           p \        V\        P                  R7       RpVR8X  d   \         P                  ! 4       p\         P                  P                  W!4      p\         P                  P                  V4      '       g    \         P                  ! V4       V# V#   \         d     Li ; i  \         df    \        P
                  '       gI   RT,           R,           p \        T\        P                  R7       \        h  \         d	     \        hi ; i\        hi ; i)z.idlerc~z.
 Warning: os.path.expanduser("~") points to
 z,
 but the path does not exist.r:   z2
 Warning: unable to create user config directory
z(
 Check path and permissions.
 Exiting!
)r[   r^   
expanduserr_   rw   rx   printsysstderrrZ   getcwdr{   mkdir
SystemExit)r   cfgDiruserDirwarns   &   r   ry   IdleConf.GetUserCfgDir   sA   
 ''$$S)c>77>>'**N#$&HIDd4 c>iikG'',,w/ww~~g&&
!! w) #   !R#$&STDd4 !  #     !sH   5D 3D DD F?FE1+F1F<FF
FNc                F    V P                   V,          P                  W#4      '       d%   V P                   V,          P                  W#WWR 7      #   V P
                  V,          P                  W#4      '       d%   V P
                  V,          P                  W#WWR 7      #  V'       d   RV: RV: RV: 2p\	        WW#4       V#   \         dD    RT: RT: RT: RT P                   T,          P                  Y#TR7      : 2p\	        YY#4        Li ; i  \         d     Li ; i))r*   r#   z5
 Warning: config.py - IdleConf.GetOption -
 invalid z  value for configuration option z
 from section z: r"   zU
 Warning: config.py - IdleConf.GetOption -
 problem retrieving configuration option .
 returning default value: )rm   r$   r,   
ValueError_warnrl   )	r   
configTyper(   r)   r+   r*   warn_on_defaultr#   warnings	   &&&&&&&& r   	GetOptionIdleConf.GetOption   s   
	8||J'227CC||J/33G9= 4 H H D	z*55gEEz266d 7 = = F ?
 	2G
 'w7+  	8 fg||J/33G3M	OG
 'w7	8  		s&   AC AD ADDD D c                L    V P                   V,          P                  W#V4       R # r/   )rm   rD   )r   r   r(   r)   rC   s   &&&&&r   rD   IdleConf.SetOption   s    Z **7EBr   c                    W P                   9   g   \        R 4      hVR8X  d$   V P                  V,          pVP                  4       # VR8X  d$   V P                  V,          pVP                  4       # \	        R4      h)zInvalid configType specifieduserr+   Invalid configSet specified)rk   r   rm   rl   r   rO   )r   	configSetr   	cfgParsers   &&& r   GetSectionListIdleConf.GetSectionList  sz     ///#$BCCZ0I
 !!##	 )#ooj1I !!## ##@AAr   c                    V P                   R ,          P                  V4      '       d   RMRpV P                  W14      pWBR,           ,          pVR8X  d   RpWBR,           ,          pRVRV/# )	rh   r+   r   z-foregroundcursornormalz-background
foreground
background)rl   r0   GetThemeDict)r   themeelementrn   
theme_dictforebacks   &&&    r   GetHighlightIdleConf.GetHighlight  sn     !OOK8DDUKKy 	&&s2
M12hGM12dL$77r   c                   VR 8X  d   V P                   R,          pM&VR8X  d   V P                  R,          pM\        R4      h/ RRbRRbRRbR	RbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRRRRRRRRRRRRRRRR RR!RR"RR#RR$RR%R/CpV Fm  pVP                  W%4      '       g9   VP	                  R*4      '       g"   R&V: R'V: R(WE,          : 2p\        VRW%4       VP                  W%WE,          R)7      WE&   Ko  	  V# )+r   rh   r+   zInvalid theme type specifiedznormal-foregroundz#000000znormal-backgroundz#ffffffzkeyword-foregroundzkeyword-backgroundzbuiltin-foregroundzbuiltin-backgroundzcomment-foregroundzcomment-backgroundzstring-foregroundzstring-backgroundzdefinition-foregroundzdefinition-backgroundzhilite-foregroundzhilite-backgroundgrayzbreak-foregroundzbreak-backgroundzhit-foregroundzhit-backgroundzerror-foregroundzerror-backgroundzcontext-foregroundzcontext-backgroundzlinenumber-foregroundzlinenumber-backgroundzcursor-foregroundzstdout-foregroundzstdout-backgroundzstderr-foregroundzstderr-backgroundzconsole-foregroundzconsole-backgroundzL
 Warning: config.IdleConf.GetThemeDict -
 problem retrieving theme element z
 from theme z.
 returning default color: r+   )zcontext-zlinenumber-)rm   rl   r   r$   
startswithr   r,   )r   r*   	themeNamer   r   r   r   s   &&&    r   r   IdleConf.GetThemeDict"  s    6>[1IY4I=>>!#I !#I!$Y! %Y! %Y	!
 %Y! %Y! %Y! $I! $I! (	! (	! $I! $F! #9! #9!  !!!" !"9"9$Y$Y'	'	#I#I#I#I#I$Y$YA!D G((<<&&'BCC $Y	@
 g{I?&]] + @EN  r   c                $    V P                  R 4      # )Themecurrent_colors_and_keysr7   s   &r   CurrentThemeIdleConf.CurrentThemef  s    ++G44r   c                $    V P                  R 4      # )Keysr   r7   s   &r   CurrentKeysIdleConf.CurrentKeysj  s    ++F33r   c                |   VR 8X  d   RMRpV P                  RVRRRR7      pRpV'       d   V P                  RVR	RR
7      pV'       g   V P                  RVRRR
7      pV'       d@   V'       d   V P                  MV P                  pWR,          P                  V4      '       d   V# VR 8X  d   R# V P	                  4       # )r   rh   ri   rg   r+   r    Tr*   r+   rt   name2r   namezIDLE Classic)r   rl   rm   r0   default_keys)r   r(   cfgnamer+   r   sources   &&    r   r    IdleConf.current_colors_and_keysn  s    0 ")G!3+..)&,d ! <>>&'7B>GD>>&'62>FD(/T__T\\F**400!(G!3~L9J9J9LLr   c                 p    \         P                  R ,          R8X  d   R# \         P                  R8X  d   R# R# ):N   NwinzIDLE Classic WindowsdarwinzIDLE Classic OSXzIDLE Modern Unix)r   platformr   r   r   r   IdleConf.default_keys  s(    <<u$)\\X%%%r   c           
     &   V P                  V P                  R R4      4      pV P                  V P                  RR4      4      pV F  pWd9  g   K  VP                  V4       K  	  R F  pVP                  V4       K  	  V'       d   . pV F  pV P	                  RVRRRR7      '       g   K!  V'       g	   V'       d?   V'       d   RpMRpV P	                  RWhRRR	R
7      '       d   VP                  V4       Km  Ko  VP                  V4       K  	  V# V# )r+   rj   r   enableTr    r+   r*   enable_editorenable_shellF)r+   r*   r   )AutoCompleteCodeContextFormatParagraph
ParenMatch)RemoveKeyBindNamesr   appendr`   r   )	r   active_onlyeditor_only
shell_onlyextns	userExtnsextnactiveExtnsr)   s	   &&&&     r   GetExtensionsIdleConf.GetExtensions  s    ''##I|<>++##FL9;	D T" 5DLL5
 K>>,h'- " / / #j&%4F%3F>>,26V:? * A A (..t4A
 $**40  Lr   c                `    V Uu. uF  q"P                  R4      '       d   K  VNK  	  up# u upi )	_bindings)r   _cfgBindings)endswith)r   extnNameListns   && r   r   IdleConf.RemoveKeyBindNames  s&    'Y<azz:W/X<YYYs   ++c                    R pRV,           R,           pV P                  ^ R7       F%  pV P                  V4       F  pWS8X  g   K  TpK  	  K'  	  V# )N<<>>r   )r   GetExtensionKeys)r   virtualEventextNamevEventr   events   &&    r   GetExtnNameForEventIdleConf.GetExtnNameForEvent  sV     $t+&&1&5D..t4?"G 5 6 r   c                   VR ,           pV P                  4       p/ pV P                  R,          P                  V4      '       dH   V P                  R,          P                  V4      pV F  pRV,           R,           pW7,          pWV&   K!  	  V# )r   rj   r   r   )GetCurrentKeySetrl   r0   r3   )	r   extensionNamekeysName
activeKeysextKeys
eventNames	eventNamer   bindings	   &&       r   r   IdleConf.GetExtensionKeys  s     !>1**,
??<(44X>>6DDXNJ'	y(4/$+!( ( r   c                .   VR ,           p/ pV P                   R,          P                  V4      '       db   V P                   R,          P                  V4      pV F9  pV P                  RW%RR7      P	                  4       pRV,           R,           pWcV&   K;  	  V# )r   rj   rt   r   r   r   )rl   r0   r3   r   split)r   r   r   r   r   r   r   r   s   &&      r   __GetRawExtensionKeysIdleConf.__GetRawExtensionKeys  s     !/??<(44X>>6DDXNJ'	..$h2 ) GGLuw y(4/!(	 (
 r   c                L   VR ,           pV P                  V4      pV P                  R,          P                  V4      '       db   V P                  R,          P                  V4      pV F9  pV P	                  RW%RR7      P                  4       pRV,           R,           pWcV&   K;  	  V# )r   rj   rt   r   r   r   )r   rl   r0   r3   r   r   )r   r   	bindsNameextBindsr   r   r   r   s   &&      r   GetExtensionBindingsIdleConf.GetExtensionBindings  s     "K/	((7??<(44Y??6DDYOJ'	..$iB ) HHM y(4/")	 ( r   c                V    V^R pV P                  RWRRR7      P                  4       pV# )   ri   rt   F)r+   r   )r   r   )r   
keySetNameeventStrr   r   s   &&&  r   GetKeyBindingIdleConf.GetKeyBinding  s:     QrN	..16 ! 88= 	r   c                   V P                  V P                  4       4      p\        P                  R 8X  dF   VP	                  4        F1  w  r#V Uu. uF  qDP                  RR4      NK  	  ppW58w  g   K-  WQV&   K3  	  V# u upi )r   z<Alt-z<Option-)	GetKeySetr   r   r   itemsreplace)r   resultkvxv2s   &     r   r   IdleConf.GetCurrentKeySet  so     0 0 23<<8# ?@Bq!yy*5qB7 "1I '
 	 Cs   A<c                    V P                  V4      pV P                  ^R7      pV FP  pV P                  V4      pV'       g   K  V F,  pWV,          VP                  4       9   d   RWV&   WV,          W&&   K.  	  KR  	  V# )   r   rt   )GetCoreKeysr   _IdleConf__GetRawExtensionKeysvalues)r   r  keySetr   r   r   r   s   &&     r   r
  IdleConf.GetKeySet,  sw     !!*-((Q(7D006Gw$E~8)+$+NFM	 %   r   c                D    R V,           R,           V P                  4       9   # )r   r   )r  )r   r   s   &&r   IsCoreBindingIdleConf.IsCoreBinding>  s"     \!$&4+;+;+===r   c                v   / R RR.bRRR.bRRR.bR	R
R.bRR.bRR.bRR.bRR.bRR.bRR.bRR.bRR.bRR.bRR.bRR.bR R!.bR"R#.b/ R$R%.bR&R'.bR(R).bR*R+.bR,R-.bR.R/.bR0R1.bR2R3.bR4R5.bR6R7.bR8R9.bR:R;.bR<R=.bR>R?R@.bRARB.bRCRD.bRERF.bC/ RGRH.bRIRJ.bRKRL.bRMRNRO.bRPRQ.bRRRS.bRTRU.bRVRW.bRXRY.bRZR[.bR\R].bR^R_.bR`Ra.bRbRc.bRdRe.bRfRg.bRhRi.bCRjRk.RlRm.RnRo.RpRq.RrRs.RtRu.RvRw./CpV'       d   V P                   Rx,          P                  V4      '       g?   V P                  Rx,          P                  V4      '       g   RyV: Rz2p\        VRxV4       V# V FU  pV P	                  W4      pV'       d   WRV&   K"  W@P
                  9  g   K4  R{V: R|V: R}W$,          : 2p\        VRxW4       KW  	  V# )~z<<copy>>z<Control-c>z<Control-C>z<<cut>>z<Control-x>z<Control-X>z	<<paste>>z<Control-v>z<Control-V>z<<beginning-of-line>>z<Control-a>z<Home>z<<center-insert>>z<Control-l>z<<close-all-windows>>z<Control-q>z<<close-window>>z<Alt-F4>z<<do-nothing>>z<<end-of-file>>z<Control-d>z<<python-docs>>z<F1>z<<python-context-help>>z
<Shift-F1>z<<history-next>>z<Alt-n>z<<history-previous>>z<Alt-p>z<<interrupt-execution>>z<<view-restart>>z<F6>z<<restart-shell>>z<Control-F6>z<<open-class-browser>>z<Alt-c>z<<open-module>>z<Alt-m>z<<open-new-window>>z<Control-n>z<<open-window-from-file>>z<Control-o>z<<plain-newline-and-indent>>z<Control-j>z<<print-window>>z<Control-p>z<<redo>>z<Control-y>z<<remove-selection>>z<Escape>z<<save-copy-of-window-as-file>>z<Alt-Shift-S>z<<save-window-as-file>>z<Alt-s>z<<save-window>>z<Control-s>z<<select-all>>z<Alt-a>z<<toggle-auto-coloring>>z<Control-slash>z<<undo>>z<Control-z>z<<find-again>>z<Control-g>z<F3>z<<find-in-files>>z<Alt-F3>z<<find-selection>>z<Control-F3>z<<find>>z<Control-f>z<<replace>>z<Control-h>z<<goto-line>>z<Alt-g>z<<smart-backspace>>z<Key-BackSpace>z<<newline-and-indent>>z<Key-Return>z<Key-KP_Enter>z<<smart-indent>>z	<Key-Tab>z<<indent-region>>z<Control-Key-bracketright>z<<dedent-region>>z<Control-Key-bracketleft>z<<comment-region>>z<Alt-Key-3>z<<uncomment-region>>z<Alt-Key-4>z<<tabify-region>>z<Alt-Key-5>z<<untabify-region>>z<Alt-Key-6>z<<toggle-tabs>>z<Alt-Key-t>z<<change-indentwidth>>z<Alt-Key-u>z<<del-word-left>>z<Control-Key-BackSpace>z<<del-word-right>>z<Control-Key-Delete><<force-open-completions>>z<Control-Key-space><<expand-word>>z<Alt-Key-slash><<force-open-calltip>>z<Control-Key-backslash><<flash-paren>>z<Control-Key-0><<format-paragraph>>z<Alt-Key-q><<run-module>>z<Key-F5><<run-custom>>z<Shift-Key-F5><<check-module>>z<Alt-Key-x><<zoom-height>>z<Alt-Key-2>ri   z7
 Warning: config.py - IdleConf.GetCoreKeys -
 key set z( is not defined, using default bindings.zX
 Warning: config.py - IdleConf.GetCoreKeys -
 problem retrieving key binding for event z
 from key set r   )rm   r0   rl   r   r  former_extension_events)r   r  keyBindingsr   r   r   s   &&    r   r  IdleConf.GetCoreKeysP  s    <6< }5< -7	<
 $mX%><  -< $m_< < }o< < x< &~< < #YK< &<  !<"  .!1#<$ %yk%<& 	{'<( "M?)<* (-+<, +]O-<. /<0 1<2 #ZL3<4 ./@5<6 &	{7<8 9<: yk;<< '):(;=<> ?<@ }f5A<B  *C<D !>"2E<F G<H M?I<J i[K<L "$5#6M<N %~7G&HO<P Q<R  ">!?S<T  "=!>U<V !=/W<X #]OY<Z  -[<\ "M?]<^ _<` %}oa<b  ";!<c<d !#9":e<f )+@*Ag<h  12i<j %'@&A 12"]Ozl/0w<| LL(44Z@@OOF+77
CC  " 
 gvz2   )E"00CG-4E*&B&BB #J0B	D   gvzA ) r   c                   . pVR 8X  d   V P                   R,          pM&VR8X  d   V P                  R,          pM\        R4      hVP                  R4      pV F  pVP	                  RVRR7      pVP                  R4      R
8X  d   RpRpM?VP                  R4      pV^ ,          P                  4       pV^,          P                  4       pV'       g   K{  V'       g   K  VP                  WxV34       K  	  VP                  R R	7       V# )r   rg   r+   r   	HelpFiles;r   rt   c                     V ^,          # )r  r   )r  s   &r   <lambda>1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>  s    qtr   )key)
rm   rl   r   r3   r,   findr   stripr   sort)	r   r   helpSourcesr   r1   r)   rC   menuItemhelpPaths	   &&       r   GetExtraHelpSourceListIdleConf.GetExtraHelpSourceList  s     V,I)#/I"#@AA''4F--VS-AEzz#"$kk#&q)q)xHH""Xv$>@  	^,r   c                T    V P                  R 4      V P                  R4      ,           pV# )r+   r   )r8  )r   allHelpSourcess   & r   GetAllExtraHelpSourcesList#IdleConf.GetAllExtraHelpSourcesList  s-    
 55i@++F34r   c                @   V P                  W#R RR7      pV P                  W#RRRR7      pV P                  W#R^ RR	7      pVR
8X  dL   \        R
RVR7      p\        P                  ! V4      pVR,          pVR,          pV^ 8:  d   ^
pVR,          R8H  pYEV'       d   R3# R3# )fontcourierr   z	font-sizer!   10r   z	font-boldr    r   TkFixedFontT)r   r_   rootfamilysizeweightboldr   )r   r   actual)	r   rC  r   r(   rD  rE  rG  f
actualFonts	   &&&&     r   GetFontIdleConf.GetFont  s     
VYO~~j;U&*  ,~~j;#)  +m#-4@AQJ)Ff%Dqyh'61Df;;(;;r   c                    V P                    FE  pV P                   V,          P                  4        V P                  V,          P                  4        KG  	  R # r/   )rl   r8   rm   r   r0  s   & r   rp   IdleConf.LoadCfgFiles  s:    ??COOC %%'LL""$ #r   c                n    V P                    F$  pV P                   V,          P                  4        K&  	  R # r/   )rm   rb   rN  s   & r   SaveUserCfgFilesIdleConf.SaveUserCfgFiles  s%    <<CLL""$  r   )rn   rk   rl   rm   rz   rG   )NNTF)TFF>	   r$  r#  r  r!  r&  r%  r"  r   r  r/   )$r	   r
   r   r   r   ro   ry   r   rD   r   r   r   r   r   r   staticmethodr   r   r   r   r   r  r   r  r   r
  r  r'  r  r8  r<  rK  rp   rQ  r   r;   r<   s   @r   re   re      s      H"H&PC$ 8BH54$ML & &'RZ$$(	"$>`D@<4%% %r   re   c                     V 3V,           pV\         9  d4    \        V \        P                  R 7       \         P                  V4       R# R#   \         d     L&i ; i)r:   N)_warnedr   r   r   rZ   add)msgr0  s   &*r   r   r     sO    &3,C
'	#CJJ' 	C   		s   A AAc                   N   a  ] tR tRt o R tR t]R 4       tR tR t	R t
RtV tR	# )
ConfigChangesi  c                    . V n         \        P                   F(  p/ W&   V P                   P                  W,          4       K*  	  R # r/   )pagesidleConfrk   r   )r   config_types   & r   r   ConfigChanges.__init__!  s6    
#00K "DJJd/0 1r   c                V    W,          p\        V4      pW%9  d   / WR&   WEV,          V&   R # r/   )str)r   r]  r(   itemrC   pages   &&&&& r   
add_optionConfigChanges.add_option(  s,     E
DM#Wdr   c                J   \         P                  V ,          P                  W4      '       dR   \         P                  V ,          P                  W4      V8X  d'   \         P                  V ,          P                  W4      # \         P                  V ,          P                  WV4      # r/   )r\  rl   r$   r,   rm   rI   rD   )r]  r(   ra  rC   s   &&&&r   save_optionConfigChanges.save_option0  sx     {+66wEE"";/33GBeK''4AA'PP,66weLLr   c           	     >   \         P                  R ,          P                  4        RpV  F  pRpW,          pV Fm  pVR8X  d)   \         P                  R ,          P                  R4       RpWE,          P	                  4        F!  w  rgV P                  W%Wg4      '       g   K  RpK#  	  Ko  	  V'       g   K  \         P                  V,          P                  4        RpK  	  R F(  p\         P                  V,          P                  4        K*  	  V P                  4        V# )rg   Fr+  T)ri   rh   )r\  rm   rb   rP   r  rf  clear)r   changedr]  cfg_type_changedrb  r(   ra  rC   s   &       r   save_allConfigChanges.save_all=  s     	 %%'K$$Dk)$$V,;;KH'+$#'=#6#6#8KD''dJJ+/( $9	      -224   1K[)..0 1 	

 r   c                    W V,          9   d
   W,          V \         P                  V,          pVP                  V4       VP                  4        R # r/   )r\  rm   rP   rb   )r   r]  r(   
configpages   &&& r   delete_sectionConfigChanges.delete_section[  sB    
 ;''!'*%%k2
!!'*r   c                L    V P                    F  pVP                  4        K  	  R # r/   )r[  ri  )r   rb  s   & r   ri  ConfigChanges.clearf  s     JJDJJL r   )r[  N)r	   r
   r   r   r   rc  rS  rf  rl  rp  ri  r   r;   r<   s   @r   rY  rY    s9     &1$ 
M 
M<	 r   rY  c                     aaaa ^ RI Ho ^ ^ uooVVV3R loV3R lp V ! \        P                  4       V ! \        P                  4       \        RSRSRR7       R# )	r   )crc32c                 x   < \        V 4      pS^,          oS! VP                  RR7      S4      o\        V4       R# )r  zutf-8)encodingN)r`  encoder   )objtxtcrcru  lines   & r   sprint_dump.<locals>.sprintu  s3    #h	CJJJ0#6c
r   c           
      Z  < \        R V R 4       \        V 4       F  pW,          P                  4       pS! V4       S! V4       V F^  pW,          P                  V4      pS! V4       S! V4       V F.  pS! VR,           W,          P	                  W54      ,           4       K0  	  K`  	  K  	  R# )
z = N)r   sortedrO   r1   r,   )rn   r0  rO   r(   r1   r)   r}  s   &     r   dumpCfg_dump.<locals>.dumpCfg}  s    dC#;Cx((*H3K8#(**73ww%F6E>CHLL,IIJ &	 $	 r   z	
lines = z, crc = rt   )sepN)zlibru  r\  rl   rm   r   )r  r{  ru  r|  r}  s    @@@@r   _dumpr  q  sJ    1ID#K H H	,j#26r   __main__)rg   zidlelib.idle_test.test_configF)	verbosityexit)configparserr   r[   r   tkinter.fontr   rw   	Exceptionr   r   r   r   r?   re   r\  rA   rU  r   dictrY  r  r	   unittestrg   r   r   r   <module>r     s   8 & 	 
   (	 ( 'y ' #9 #&!\ &!P@% @%Dm	% m	%` :
%_D _F7< z	(AEB	G	 r   