a „oeÊxã @s®ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z ddl mZddl mZmZmZmZdZdZejdZd ejejejZe d ¡Zgd ¢Zd ejfd e jfde j fde j!fde j"fde j#fde j$fde j%fde j&fde j'fg Z(gZ)dd„Z*e*ƒ[[(e j+ej,fe j-ej.fe j/ej0fe j1ej2fe j3ej4fe jej5fe j6ej7fgZ8dd„Z9dd„Z:Gdd„de j;ej<ƒZ=dd„Z>da?e>ƒdS) éN)ÚdialogÚdocviewé)ÚIDLEenvironment)ÚbindingsÚcontrolÚkeycodesÚ scintillaconiiòé9z._zimport (?P.*))zwin32ui.ID_FILE_LOCATEzwin32ui.ID_FILE_CHECKzafxres.ID_FILE_CLOSEzafxres.ID_FILE_NEWzafxres.ID_FILE_OPENzafxres.ID_FILE_SAVEzafxres.ID_FILE_SAVE_ASzwin32ui.ID_FILE_SAVE_ALLzafxres.ID_EDIT_UNDOzafxres.ID_EDIT_REDOzafxres.ID_EDIT_CUTzafxres.ID_EDIT_COPYzafxres.ID_EDIT_PASTEzafxres.ID_EDIT_SELECT_ALLzafxres.ID_EDIT_FINDzafxres.ID_EDIT_REPEATzafxres.ID_EDIT_REPLACEzwin32ui.ID_VIEW_WHITESPACEzwin32ui.ID_VIEW_FIXED_FONTzwin32ui.ID_VIEW_BROWSEzwin32ui.ID_VIEW_INTERACTIVEzafxres.ID_WINDOW_ARRANGEzafxres.ID_WINDOW_CASCADEzafxres.ID_WINDOW_NEWzafxres.ID_WINDOW_SPLITzafxres.ID_WINDOW_TILE_HORZzafxres.ID_WINDOW_TILE_VERTzafxres.ID_APP_EXITzafxres.ID_APP_ABOUTZ EditDeleteZ LocateModuleZGotoLineZDbgBreakpointToggleZDbgGoZ DbgStepOverZDbgStepZ DbgStepOutZDbgBreakpointClearAllZDbgClosecCsjtD]D}t|ƒ}| d¡dd…}dd„|Dƒ}d |¡}t ||f¡qtD]\}}t ||f¡qNdS)NÚ_rcSsg|] }| ¡‘qS©)Ú capitalize)Ú.0Úpr r ú?C:\Program Files\Certbot\pkgs\pythonwin\pywin\scintilla\view.pyÚ Tóz!_CreateEvents..Ú)Ú_event_commandsÚevalÚsplitÚjoinÚevent_commandsÚappendÚ_extra_event_commands)ÚnameÚvalZ name_partsÚeventÚidr r rÚ _CreateEventsPs  rcCs”| ¡}d}|r| |d¡}| |¡}d}}|dvr@|d}|dkrT|dvrT|}|dkrh| |d¡}|dkr„|dkr„| |¡n | ||¡dS)Nú réÿÿÿÿz[](){}r)ZSCIGetCurrentPosÚ SCIGetCharAtZ SCIBraceMatchZSCIBraceBadHighlightZSCIBraceHighlight)rZcurPosZ charBeforeZcharAtZ braceAtPosZ braceOppositer r rÚ DoBraceMatchjs    r#cCsXg}z<|t|ƒ}|jD]$}t|ƒD]}||vr$| |¡q$qWntyRYn0|S©N)ÚdirÚ __bases__Ú_get_class_attributesrÚAttributeError)ÚobÚitemsÚiÚitemr r rr's    r'cs¢eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dedd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdfdd„Zdgd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„Zd:d;„Zdd?„Z d@dA„Z!dBdC„Z"dDdE„Z#dhdFdG„Z$dHdI„Z%dJdK„Z&‡fdLdM„Z'didOdP„Z(djdQdR„Z)dkdSdT„Z*dUdV„Z+dWdX„Z,dYdZ„Z-d[d\„Z.d]d^„Z/d_d`„Z0dadb„Z1dcdd„Z2‡Z3S)lÚCScintillaViewcCsvtj ||dtjtjBtjBtjBtjB¡d|_ d|_ d|_ d|_ t  |¡|_ t |¡|_|j d¡|jj|_dS)NZ ScintillaérrZ AutoExpand)rÚCtrlViewÚ__init__Úwin32conZWS_CHILDZ WS_VSCROLLZ WS_HSCROLLZWS_CLIPCHILDRENZ WS_VISIBLEÚ _tabWidthÚbAutoCompleteAttributesÚ bShowCallTipsÚ bMatchBracesrZBindingsManagerrZIDLEEditorWindowÚidleZ IDLEExtensionÚ_obj_Z SendMessageÚ SendScintilla©ÚselfÚdocr r rr0s.ÿþýüü ÿ   zCScintillaView.__init__cCs0tj | ¡ ¡¡d}ddlm}| ||¡S)Nr)Ú formatter)ÚosÚpathÚsplitextÚ GetDocumentÚ GetPathNamerr<ZBuiltinPythonSourceFormatter)r:Úextr<r r rÚ_MakeColorizer¨s zCScintillaView._MakeColorizercCs||_tj ||¡dSr$)r2rZCScintillaEditInterfaceÚSCISetTabWidth)r:Úwidthr r rrD±szCScintillaView.SCISetTabWidthcCs|jSr$)r2©r:r r rÚ GetTabWidth¶szCScintillaView.GetTabWidthcCs–tD]\}}|jj|d|dqtD]$\}}|j|fdd„}| ||¡q$| |jtj¡|  |j tj¡| |j tj ¡|  |j tj ¡| |jtj¡|  |jtj¡| |jtj¡|  |jtj¡| |jtj¡|  |jtj¡| |jtj¡| |jtj¡| |jtj¡| |jtj¡| |jtj ¡| |j!t"j#¡| |j!t"j$¡| |j%tj&¡| '|j(t)j*¡| '|j(t)j+¡| ,¡dS)N)ZcidcSs ||ƒo dS©Nrr )rÚcodeÚssZtosendr r rÚÂsz-CScintillaView.HookHandlers..)-rrZbindÚcommand_reflectorsr8Z HookCommandÚ OnCmdViewWSÚwin32uiZID_VIEW_WHITESPACEZHookCommandUpdateÚOnUpdateViewWSÚOnCmdViewIndentationGuidesZID_VIEW_INDENTATIONGUIDESÚOnUpdateViewIndentationGuidesÚOnCmdViewRightEdgeZID_VIEW_RIGHT_EDGEÚOnUpdateViewRightEdgeÚ OnCmdViewEOLZ ID_VIEW_EOLÚOnUpdateViewEOLÚOnCmdViewFixedFontZID_VIEW_FIXED_FONTÚOnUpdateViewFixedFontÚOnCmdFileLocateÚID_FILE_LOCATEÚ OnCmdEditFindZ ID_EDIT_FINDÚOnCmdEditRepeatZID_EDIT_REPEATÚOnCmdEditReplaceZID_EDIT_REPLACEÚ OnCmdGotoLineÚID_EDIT_GOTO_LINEÚ OnFilePrintÚafxresZ ID_FILE_PRINTZID_FILE_PRINT_DIRECTÚOnFilePrintPreviewZID_FILE_PRINT_PREVIEWZ HookMessageÚ OnKeyDownr1Z WM_KEYDOWNZ WM_SYSKEYDOWNZ HookFormatter)r:rrZcommandZ reflectionZhandlerr r rÚ HookHandlers¹s>  ÿÿÿzCScintillaView.HookHandlerscCsº| ¡}| tjtjd¡| tjdd¡| tjdtj¡| tjdd¡| tjdtj¡| tjdtj ¡| tj dd¡| ¡  |¡|  ¡|  d¡| ¡| ¡ |¡dS)Nrréé)r@r8r ZSCI_SETCODEPAGEZ SC_CP_UTF8ZSCI_SETKEYSUNICODEZSCI_SETMARGINTYPENZSC_MARGIN_SYMBOLZSCI_SETMARGINMASKNZSC_MASK_FOLDERSZSCI_SETMARGINSENSITIVENZHookViewNotificationsrcÚOnWinIniChangeÚSetSelZFinalizeViewCreationr9r r rÚOnInitialUpdateäs. ÿ ÿ ÿÿ ÿzCScintillaView.OnInitialUpdatecCsdSr$r rFr r rÚ_GetSubConfigNamessz!CScintillaView._GetSubConfigNamesNcCs2|j ¡z| ¡W|j ¡n |j ¡0dSr$)rZprepare_configureÚDoConfigChangeZcomplete_configure)r:Úsectionr r rrf s  zCScintillaView.OnWinIniChangecCsbddlm}|ddƒ|_|ddƒ|_t || ¡¡tjrHt  tjd¡|ddƒ|_ |  d¡dS)Nr)ÚGetEditorOptionzAutocomplete AttributesrzShow Call TipszConfiguration Errorz Match Braces) Zpywin.framework.editorrlr3r4Ú configManagerZ configureriÚ last_errorrNÚ MessageBoxr5ÚApplyFormattingStyles)r:rlr r rrjs    zCScintillaView.DoConfigChangecCs:|j ¡d|_|j ¡d|_tj |¡tj ||¡Sr$)rÚcloser6rÚCScintillaColorEditInterfacerr/Ú OnDestroy©r:Úmsgr r rrss    zCScintillaView.OnDestroycCsP|dd?}| tj¡}||d}| tj|¡| tj|d>tjBd¡dS)Nreéé(r)Z GetScrollPosr1ZSB_VERTZ SetScrollPosr8Z WM_VSCROLLZSB_THUMBPOSITION)r:ruZzDeltaZvposr r rÚ OnMouseWheel%s   ÿzCScintillaView.OnMouseWheelcCs|js dSt|ƒdSr$)r5r#)r:ÚstdÚextrar r rÚ OnBraceMatch.szCScintillaView.OnBraceMatchcCs| |¡}| |j¡dSr$)ZSCIUnpackNotifyMessageÚEnsureCharsVisibleZposition)r:ryrzÚnotifyr r rÚ OnNeedShown3s zCScintillaView.OnNeedShowncCsL|dur |}| t||ƒ¡}| t||ƒ¡}||krH| |¡|d}q,dS©Nr)Ú LineFromCharÚminÚmaxÚSCIEnsureVisible)r:ÚstartÚendZ lineStartZlineEndr r rr|<s z!CScintillaView.EnsureCharsVisiblerrcCsž|dur|dusJdƒ‚d}nL|j |¡}|durFtd||fƒdSt || ¡¡}|durj|d|}|dur~tjtjB}|rŒ|tj B}|  |||¡dS)NzNo event or custom flags!rzLView.AppendMenu(): Unknown event "%s" specified for menu text "%s" - ignoredú ) rZget_command_idÚprintrmZget_key_bindingrir1Z MF_STRINGZ MF_ENABLEDZ MF_CHECKEDÚ AppendMenu)r:ZmenuÚtextrÚflagsÚcheckedZcmdidZkeynamer r rrˆFs& ÿÿ   zCScintillaView.AppendMenucCs |j |¡Sr$)rZfire_key_eventrtr r rrb\szCScintillaView.OnKeyDowncCs| d¡dS)Nr!)rg)r:rr r rÚGotoEndOfFileEvent_sz!CScintillaView.GotoEndOfFileEventcCs4| ¡\}}||krdS| d¡|jr0| ¡dS)NrÚ.)ÚGetSelZ SCIAddTextr3Ú _AutoComplete)r:rÚsÚer r rÚ KeyDotEventbs   zCScintillaView.KeyDotEventcCs| ¡}| | ¡dSr$)Ú SCIGetViewWSZ SCISetViewWS)r:ÚcmdrIZviewWSr r rrMmszCScintillaView.OnCmdViewWScCs| | ¡¡| ¡dSr$)ÚSetCheckr“ÚEnable©r:Úcmduir r rrOqszCScintillaView.OnUpdateViewWScCs| ¡}| | ¡dSr$)ÚSCIGetIndentationGuidesZSCISetIndentationGuides)r:r”rIZviewIGr r rrPusz)CScintillaView.OnCmdViewIndentationGuidescCs| | ¡¡| ¡dSr$)r•r™r–r—r r rrQysz,CScintillaView.OnUpdateViewIndentationGuidescCs*| ¡tjkrtj}ntj}| |¡dSr$)ÚSCIGetEdgeModer Ú EDGE_NONEZEDGE_BACKGROUNDZSCISetEdgeMode)r:r”rIÚmoder r rrR}sz!CScintillaView.OnCmdViewRightEdgecCs | | ¡tjk¡| ¡dSr$)r•ršr r›r–r—r r rrS„sz$CScintillaView.OnUpdateViewRightEdgecCs| ¡}| | ¡dSr$)Ú SCIGetViewEOLZ SCISetViewEOL)r:r”rIZviewEOLr r rrTˆszCScintillaView.OnCmdViewEOLcCs| | ¡¡| ¡dSr$)r•rr–r—r r rrUŒszCScintillaView.OnUpdateViewEOLcCs(| ¡j | ¡_| d¡| ¡dSrH)Ú _GetColorizerÚ bUseFixedrpZ ScrollCaret)r:r”rIr r rrVs z!CScintillaView.OnCmdViewFixedFontcCs.| ¡}|dur| |j¡| |du¡dSr$)ržr•rŸr–)r:r˜Úcr r rrW–s z$CScintillaView.OnUpdateViewFixedFontcCsddlm}| ¡dS©Nr)Úfind)rr¢ZShowFindDialog©r:r”rIr¢r r rrZœs zCScintillaView.OnCmdEditFindcCsddlm}| ¡dSr¡)rr¢ZFindNextr£r r rr[¡s zCScintillaView.OnCmdEditRepeatcCsddlm}| ¡dSr¡)rr¢ZShowReplaceDialogr£r r rr\¦s zCScintillaView.OnCmdEditReplacecCsl| ¡ ¡}ddl}t |¡}|rd| d¡}|jj |¡}|durTt   d|¡dSt   ¡  |¡ndSdS)NrrzCan't locate module %sr) ZGetLineÚstripÚpywin.framework.scriptutilsÚ patImportÚmatchÚgroupÚ frameworkÚ scriptutilsZLocatePythonFilerNÚ SetStatusTextZGetAppZOpenDocumentFile)r:r”rÚlineÚpywinÚmZmodNameZfileNamer r rrX«s   zCScintillaView.OnCmdFileLocatec CsFzttdƒƒd}Wnttfy,YdS0| |¡| |¡dS)NzEnter Line Numberrr)ÚintÚinputÚ ValueErrorÚKeyboardInterruptrƒZ SCIGotoLine)r:r”rZlineNor r rr]¾s  zCScintillaView.OnCmdGotoLinecCs&| ¡}|j|||d| d¡dS)N)Úencodingrr)r@Z_SaveTextToFileZSetModifiedFlag)r:Úfilenamer³r;r r rÚ SaveTextFileÇs zCScintillaView.SaveTextFilec Cs¸dd„}| ¡|jdd}|dur0|jdd}i}|durnzt|dƒrxz| |t|jƒƒ¡WntyvYn0z| |t|ƒƒ¡Wnty Yn0t|dƒrÀ| |t|jƒƒ¡z | |jj ¡| |jj ¡WntyòYn0t|dƒrBz4t d|j   ¡ƒD]}|j  |¡}| ||¡qWn Yn0Wn(t d tt ¡dƒf¡Yn0d d „| ¡Dƒ}d d „|Dƒ}|s’| ¡\}}|d kr®dS| ¡\} } } | | ¡} | | | ¡| ¡} zt d|d| ¡}Wntjy g}Yn0t|ƒd}i}|D]}d|||d…<q | rT|dkrT| || ¡dd „| ¡Dƒ}z| |dd…¡Wnt yYn0|r´| !¡| "d¡| #|¡dS)NcSsi}|D] }d||<q|Sr$r )ÚlÚretr+r r rÚ list2dictÎs z/CScintillaView._AutoComplete..list2dictr)Ú bAllowCallsrr7Ú __class__Ú_oleobj_z.Error attempting to get object attributes - %scSsg|] }t|ƒ‘qSr )Ústr©rÚkr r rrrz0CScintillaView._AutoComplete..cSsg|]}| d¡s|‘qS)r )Ú startswithr½r r rrrrz\bz\.\w+r:cSs0g|](}|dd…dks(|dd…dkr|‘qS)NreÚ__éþÿÿÿr )rZwordr r rr%s)$ZSCIAutoCCancelÚ_GetObjectAtPosÚhasattrÚupdater%r7r(r'rºZ_prop_map_get_Z_prop_map_put_Úranger»ZGetTypeInfoCountZ GetTypeInfoÚ_UpdateWithITypeInforNr«ÚreprÚsysÚexc_infoÚkeysÚ _GetWordSplitÚ_GetClassInfoFromBrowserZ LineIndexZ GetTextRangeÚreÚfindallÚerrorÚlenÚ_UpdateWithClassMethodsÚremover±ÚsortZSCIAutoCSetAutoHideZ SCIAutoCShow)r:r¸r)Ú items_dictZiTIÚtypeInfor*ÚleftÚrightÚminlineÚmaxlineÚcurclassÚendposr‰r¶ÚprefixÚuniqueZlir r rrÍs†           ÿÿ       ÿ zCScintillaView._AutoCompletec Csºddl}|g}|jdi}t|ƒdkr¶| ¡}| ¡}|j|vrd||j<td|jƒD].}| |¡}|  |j ¡d} | |vrTd|| <qTtd|j ƒD]"} |  | ¡} |  | ¡} | | ¡qqdSrH)Ú pythoncomZ IID_IDispatchrÐÚpopZ GetTypeAttrZiidrÅZcFuncsZ GetFuncDescZGetNamesZmemidZ cImplTypesZGetRefTypeOfImplTypeZGetRefTypeInfor) r:rÔrÕrÞZ typeInfosZ inspectedIIDsZtypeAttrZiFunZfunDescZfunNameZ iImplTypeZiRefTypeZ refTypeInfor r rrÆ2s"        z#CScintillaView._UpdateWithITypeInfocs@t|dƒsdS| |j¡|jD]}t|dƒr | ||¡q dS)NÚmethods)rÃrÄràÚsuperrÑ)r:ÚdictZ classinforá©rºr rrÑOs     z&CScintillaView._UpdateWithClassMethodsr!cCsJd}| ¡d}| ¡ ¡}d}z|dur6| ¡d}WntyJYn0|dur^||dfS|jsn||dfS| ¡ ¡}|sˆ||dfSddl}|j j   |¡\}}z|jj j } WntyÌ||dfYS0| |¡} d} |  ¡D]Z} | j|krä| jd} || kr| kr nn| }| } | | kr6|kränqä| }qä||| fS)Nrr)Z GetLineCountZGetParentFrameZGetActiveDocumentZ GetAllViewsÚ IndexErrorÚlistr@rAr¥r©rªZGetPackageModuleNameÚrootÚclbrdatar(r€ÚvaluesÚmoduleÚlineno)r:ÚposrØrÙr;Zbrowserr>r­Z curmodulerçZcurlinerÚr,Z item_linenor r rrÌ[sD           ÿz'CScintillaView._GetClassInfoFromBrowserc Cs¶| ||¡\}}|r²tj ¡}| tj¡zZddlm}|j dur‚|j j dur‚|j j   ¡dd…\}}|rt| |¡|r‚| |¡Wnt y–Yn0z t ||ƒWSYn0dS)Nr)Úinteractre)rËrÈÚmodulesÚcopyrÄÚ__main__Ú__dict__Zpywin.frameworkrìZeditZ currentViewZ GetContextÚ ImportErrorr) r:rër¹rÖr×Ú namespacerìZglobsZlocsr r rrƒs&      zCScintillaView._GetObjectAtPosc Csº|dkr| ¡dd}| ¡}g}g}|d}t}|r@|d}|dkrr| |¡}||vr\qr| d|¡|d}q@|}||kr¦| |¡}||vr’q¦| |¡|d}qvd |¡d |¡fS)Nr!rrz()[]r)rŽÚ GetTextLengthÚ wordbreaksr"Úinsertrr) r:rër¹ÚlimitZbeforeZafterÚindexZwordbreaks_useÚcharr r rrË›s.      zCScintillaView._GetWordSplitcCs^| ¡rZ| ¡sN|jdurN| ¡d}|dkrN|j|| ¡krN| d¡dS| tj¡dS)Nrr) Z IsPrintingZ GetPreviewÚstartsÚ GetCurPageróZSetContinuePrintingZ SetMapModer1ZMM_TEXT)r:ÚdcÚpInfoZprevPager r rÚ OnPrepareDC´s  zCScintillaView.OnPrepareDCcCs>tjtjBtjB}| d¡| d¡| d¡| |¡}|Sr)rNZPD_USEDEVMODECOPIESZ PD_ALLPAGESZPD_NOSELECTIONZ SetMinPageZ SetFromPageZ SetToPageZDoPreparePrinting)r:rürŠr·r r rÚOnPreparePrintingÁsÿ    z CScintillaView.OnPreparePrintingcCsd|_|j ||¡Sr$)rùr7ÚOnBeginPrinting)r:rûrür r rrÿÏszCScintillaView.OnBeginPrintingc Csœddi|_| ¡}| ¡\}}}}||td|ddƒ||f}d} d} | ¡} | | kr€| || | |d¡} | d} | |j| <qR| |j| d<| | ¡dS)Nré ÚtmHeightrer)rùÚGetTextMetricsÚGetDrawr¯róÚ FormatRangeZ SetMaxPage) r:rûrüÚmetricsrÖÚtopr×ÚbottomÚrcÚ pageStartZmaxPageZtextLenr r rÚCalculatePageRangesÓs   z"CScintillaView.CalculatePageRangescGs|j ¡dSr$)r7ra©r:Úargr r rraçsz!CScintillaView.OnFilePrintPreviewcGs|j ¡dSr$)r7r_r r r rr_êszCScintillaView.OnFilePrintc Cshd}| ¡}| ¡}t ||||d|d|d|d|d|d|d|d||¡ } | t|| ¡} | S)zË typedef struct _formatrange { HDC hdc; HDC hdcTarget; RECT rc; RECT rcPage; CHARRANGE chrg;} FORMATRANGE; Z PPIIIIIIIIllrrreé)ZGetHandleOutputZGetHandleAttribÚstructÚpackr8ÚEM_FORMATRANGE) r:rûr Z lengthDocrZdrawZfmtZ hdcRenderZ hdcFormatÚfrÚ nextPageStartr r rrís( ózCScintillaView.FormatRangecCs| ¡}|jdur| ||¡| ¡d}| ¡}|d}|d}| ¡\}} } } | dd|| ¡¡t  t j ¡|df} |  t j¡| | d|| ¡|  t j¡| td|dƒ} | || ¡| | | ¡| |} || | | f} | ||j||j|d| d¡}dS)NrZtmAveCharWidthrrreé)rrùr rúr@rZTextOutZGetTitlerNZ LoadStringr`ZAFX_IDS_PRINTPAGENUMZ SetTextAlignr1ZTA_RIGHTZTA_LEFTr¯ZMoveToZLineTor)r:rûrürZpageNumr;ZcxCharZcyCharrÖrr×rZ pagenum_strrrr r rÚOnPrint s*        ÿzCScintillaView.OnPrint)N)N)rNNr)N)r!)r!r)r!r)4Ú__name__Ú __module__Ú __qualname__r0rCrDrGrcrhrirfrjrsrxr{r~r|rˆrbrŒr’rMrOrPrQrRrSrTrUrVrWrZr[r\rXr]rµrrÆrÑrÌrÂrËrýrþrÿr rar_rrÚ __classcell__r r rãrr-s` +"      e (   r-cCs‚ddlm}t ddd¡}}||ƒatjr~d}d|tjf}|dkrR|d}d}t |¡|r~|dƒatjr~t d tj¡dS) Nr)Ú ConfigManagerZEditorzKeyboard ConfigÚdefaultrz$Error loading configuration '%s' %sz+ The default configuration will be loaded.z)Error loading configuration 'default' %s)ZconfigrrNZ GetProfileValrmrnro)rZ configNamerZ bTryDefaultrur r rÚLoadConfiguration%s* þ ÿÿr)@Zarrayr=rÍÚstringrrÈrïr`r1rNZ pywin.mfcrrrrrrrr Z PRINTDLGORDZIDC_PRINT_MAG_EDITZWM_USERrZascii_uppercaseZascii_lowercaseÚdigitsrôÚcompiler¦rZ ID_EDIT_CLEARrYr^Z IDC_DBG_ADDZ IDC_DBG_GOZIDC_DBG_STEPOVERZ IDC_DBG_STEPZIDC_DBG_STEPOUTZ IDC_DBG_CLEARZ IDC_DBG_CLOSErrrZ ID_EDIT_UNDOZWM_UNDOZ ID_EDIT_REDOZSCI_REDOZ ID_EDIT_CUTZWM_CUTZ ID_EDIT_COPYZWM_COPYZ ID_EDIT_PASTEZWM_PASTEZWM_CLEARZID_EDIT_SELECT_ALLZ SCI_SELECTALLrLr#r'r/rrr-rrmr r r rÚsj   &ö         ù