+
   3                   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                ,   V P                   '       dn   \        P                  P                  V P                   4      '       d=   \	        V P                   R RR7      ;_uu_ 4       pV P                  V4       RRR4       R# R# R#   + '       g   i     R# ; i)utf-8replace)encodingerrorsN)r   ospathexistsopen	read_file)r   fs   & r   LoadIdleConfParser.LoadJ   s\    999		22dii')DDq! ED 39DDDs   "BB	r   r/   )NNF)
r	   r
   r   r   r   r,   r3   r@   r   __classdictcell____classdict__s   @r   r   r   '   s     H6"" "r   r   c                   D   a  ] tR t^Pt 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.SetOptionU   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.RemoveOptionf   s)    
 G$$%%g66r   c                Z    V P                  V4      '       g   V P                  V4       R # R # r/   )r0   rJ   r2   s   &&r   
AddSectionIdleUserConfParser.AddSectiono   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.RemoveEmptySectionst   s1    }}G%%g..##G, 'r   c                L    V P                  4        V P                  4       '       * # r/   )rY   rW   r   s   &r   IsEmptyIdleUserConfParser.IsEmptyz   s      "==?""r   c                   V P                   pV'       d   V^ ,          R8w  d   V P                  4       '       g6    \        VRRR7      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RR7      p Li ; i  + '       g   i     R# ; i)r   #wr6   r8   N)
r   r]   r=   OSErrorr:   unlinkwriter;   r<   remove)r   fnamer   s   &  r   SaveIdleUserConfParser.Save   s     		U1X_<<>>A"5#@G WJJw' W		**		$))$ + %5  AIIe$"5#@GA WWs   C C:/C76C7:D	r   N)r	   r
   r   r   rL   rQ   rT   rY   r]   rh   r   rC   rD   s   @r   rG   rG   P   s(     
"&
-#
% %r   rG   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)rm   	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.defr`   z.cfgN)r:   r;   dirname__file__idlelibtestingGetUserCfgDiruserdirrq   r   joinrr   rG   rs   )r   idledirr   cfg_types   &   r   ru   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.rB   z2
 Warning: unable to create user config directory
z(
 Check path and permissions.
 Exiting!
)r:   r;   
expanduserr<   r}   r~   printsysstderrrc   getcwdr   mkdir
SystemExit)r   cfgDiruserDirwarns   &   r   r   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: )rs   r$   r,   
ValueError_warnrr   )	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/   )rs   rL   )r   r   r(   r)   rK   s   &&&&&r   rL   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)rq   r   rs   rr   r   rW   )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/# )	rn   r+   r   z-foregroundcursornormalz-background
foreground
background)rr   r0   GetThemeDict)r   themeelementrt   
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   rn   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-)rs   rr   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_keysr\   s   &r   CurrentThemeIdleConf.CurrentThemeg  s    ++G44r   c                $    V P                  R 4      # )Keysr   r\   s   &r   CurrentKeysIdleConf.CurrentKeysk  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   rn   ro   rm   r+   r    Tr*   r+   rz   name2r   namezIDLE Classic)r   rr   rs   r0   default_keys)r   r(   cfgnamer+   r   sources   &&    r   r    IdleConf.current_colors_and_keyso  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+   rp   r   enableTr    r+   r*   enable_editorenable_shellF)r+   r*   r   )AutoCompleteCodeContextFormatParagraph
ParenMatch)RemoveKeyBindNamesr   appendrf   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 2pV P                  4       p/ p\        4       pV P                  R,          P                  V4      '       d3   V\        V P                  R,          P	                  V4      4      ,          pV P
                  R,          P                  V4      '       d3   V\        V P
                  R,          P	                  V4      4      ,          pV F%  pRV R2pVP                  VR4      pVf   K!  WV&   K'  	  V# )r   rp   r   r   N)GetCurrentKeySetrI   rs   r0   r3   rr   r'   )	r   extensionNamebindings_sectioncurrent_keysetextension_keysevent_names
event_namer   bindings	   &&       r   r   IdleConf.GetExtensionKeys  s     ,_L9..0e<<%112BCC3\*889IJ K ??<(445EFF3-;;<LM K &JB'E$((5G$+5! & r   c                   V R 2p/ p\        4       pV P                  R,          P                  V4      '       d3   V\        V P                  R,          P                  V4      4      ,          pV P                  R,          P                  V4      '       d3   V\        V P                  R,          P                  V4      4      ,          pV F0  pV P                  RVVRR7      P                  4       pRV R2pWcV&   K2  	  V# )r   rp   rz   r   r   r   )rI   rs   r0   r3   rr   r   split)r   extension_namer   r   r   r   r   r   s   &&      r   __GetRawExtensionKeysIdleConf.__GetRawExtensionKeys  s     --\:e<<%112BCC3\*889IJ K ??<(445EFF3-;;<LM K &Jnn 	 % 
 eg  B'E$+5! & r   c                   V R 2pV P                  V4      p\        4       pV P                  R,          P                  V4      '       d3   V\        V P                  R,          P	                  V4      4      ,          pV P
                  R,          P                  V4      '       d3   V\        V P
                  R,          P	                  V4      4      ,          pV F0  pV P                  RVVRR7      P                  4       pRV R2pWcV&   K2  	  V# )r   rp   rz   r   r   r   )r   rI   rs   r0   r3   rr   r   r   )r   r   r   r   r   r   r   r   s   &&      r   GetExtensionBindingsIdleConf.GetExtensionBindings  s    ,_I6..}= e<<%112BCC3\*889IJ K ??<(445EFF3-;;<LM K &Jnn 	 % 
 eg  B'E$+5! & r   c                V    V^R pV P                  RWRRR7      P                  4       pV# )   ro   rz   F)r+   r   )r   r   )r   
keySetNameeventStr	eventNamer   s   &&&  r   GetKeyBindingIdleConf.GetKeyBinding5  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   itemsr7   )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   rz   )GetCoreKeysr   _IdleConf__GetRawExtensionKeysvalues)r   r
  keySetr   r   extKeysr   s   &&     r   r  IdleConf.GetKeySetQ  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.IsCoreBindingc  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>ro   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   )rs   r0   rr   r   r  former_extension_events)r   r
  keyBindingsr   r   r   s   &&    r   r  IdleConf.GetCoreKeysu  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   rm   r+   r   	HelpFiles;r   rz   c                     V ^,          # )r  r   )r  s   &r   <lambda>1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>  s    qtr   )key)
rs   rr   r   r3   r,   findr   stripr   sort)	r   r   helpSourcesr   r1   r)   rK   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   )r>  )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   rI  r   r(   rJ  rK  rM  r?   
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/   )rr   r@   rs   r   r6  s   & r   rv   IdleConf.LoadCfgFiles  s:    ??COOC %%'LL""$ #r   c                n    V P                    F$  pV P                   V,          P                  4        K&  	  R # r/   )rs   rh   rS  s   & r   SaveUserCfgFilesIdleConf.SaveUserCfgFiles   s%    <<CLL""$  r   )rt   rq   rr   rs   r   rO   )NNTF)TFF>	   r*  r)  r%  r'  r,  r+  r(  r&  r$  r/   )$r	   r
   r   r   r   ru   r   r   rL   r   r   r   r   r   r   staticmethodr   r   r   r   r   r  r  r  r   r  r!  r-  r  r>  rB  rP  rv   rV  r   rC   rD   s   @r   rk   rk      s      H"H&PC$ 8BH54$ML & &'RZ:>@	"$>`D@<4%% %r   rk   c                     V 3V,           pV\         9  d4    \        V \        P                  R 7       \         P                  V4       R# R#   \         d     L&i ; i)rB   N)_warnedr   r   r   rc   add)msgr6  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	# )
ConfigChangesi3  c                    . V n         \        P                   F(  p/ W&   V P                   P                  W,          4       K*  	  R # r/   )pagesidleConfrq   r   )r   config_types   & r   r   ConfigChanges.__init__F  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   rb  r(   itemrK   pages   &&&&& r   
add_optionConfigChanges.add_optionM  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/   )ra  rr   r$   r,   rs   rQ   rL   )rb  r(   rf  rK   s   &&&&r   save_optionConfigChanges.save_optionU  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# )rm   Fr1  T)ro   rn   )ra  rs   rh   rX   r  rk  clear)r   changedrb  cfg_type_changedrg  r(   rf  rK   s   &       r   save_allConfigChanges.save_allb  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/   )ra  rs   rX   rh   )r   rb  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`  rn  )r   rg  s   & r   rn  ConfigChanges.clear  s     JJDJJL r   )r`  N)r	   r
   r   r   r   rh  rX  rk  rq  ru  rn  r   rC   rD   s   @r   r^  r^  3  s9     &1$ 
M 
M<	 r   r^  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  r6   rb   N)re  encoder   )objtxtcrcrz  lines   & r   sprint_dump.<locals>.sprint  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   sortedrW   r1   r,   )rt   r6  rW   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 = rz   )sepN)zlibrz  ra  rr   rs   r   )r  r  rz  r  r  s    @@@@r   _dumpr    sJ    1ID#K H H	,j#26r   __main__)rm   zidlelib.idle_test.test_configF)	verbosityexit)configparserr   r:   r   tkinter.fontr   r}   	Exceptionr   r   r   r   rG   rk   ra  rI   rZ  r   dictr^  r  r	   unittestrm   r   r   r   <module>r     s   8 & 	 
   (	 ( 'y ' #9 #'"\ '"R@% @%DQ
% Q
%h :
%_D _F7< z	(AEB	G	 r   