summaryrefslogtreecommitdiff
path: root/LiteEditor
diff options
context:
space:
mode:
authorJames Cowgill <james410@cowgill.org.uk>2015-05-12 21:04:54 +0100
committerJames Cowgill <james410@cowgill.org.uk>2015-05-12 21:04:54 +0100
commita4eb61cf4875ae307adae614b3e26887b4db7c97 (patch)
treef76fa47f114bda597246edcc5ab7b13fc2c5db2f /LiteEditor
parentaa2c06da65aa3aaf5b5d7eb5947b24f723b2e1b3 (diff)
Imported Upstream version 8.0.1+dfsg
Diffstat (limited to 'LiteEditor')
-rw-r--r--LiteEditor/AboutDlg.wxcp3198
-rw-r--r--LiteEditor/AboutDlg_bitmaps.cpp9501
-rw-r--r--LiteEditor/AccelTableBaseDlg.cpp10
-rw-r--r--LiteEditor/AccelTableBaseDlg.h10
-rw-r--r--LiteEditor/AccelTableBaseDlg.wxcp22
-rw-r--r--LiteEditor/AccelTableBaseDlg_liteeditor_bitmaps.cpp95
-rw-r--r--LiteEditor/AddFunctionsImpDlg.cpp5
-rw-r--r--LiteEditor/AddIncludeFile.wxcp30
-rw-r--r--LiteEditor/BuildTabSettings.wxcp1819
-rw-r--r--LiteEditor/CMakeLists.txt193
-rw-r--r--LiteEditor/ClangOutputTab.cpp64
-rw-r--r--LiteEditor/ClangOutputTab.h14
-rw-r--r--LiteEditor/CodeLiteUpgradeFrame.wxcp4
-rw-r--r--LiteEditor/CodeLiteUpgradeFrameBase.cpp2
-rw-r--r--LiteEditor/CodeLiteUpgradeFrameBase.h5
-rw-r--r--LiteEditor/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp95
-rw-r--r--LiteEditor/CompilerMainPage.cpp9
-rw-r--r--LiteEditor/CompilersFoundDlg.cpp103
-rw-r--r--LiteEditor/CompilersModifiedDlg.cpp5
-rw-r--r--LiteEditor/ContextJavaScript.cpp283
-rw-r--r--LiteEditor/ContextJavaScript.h74
-rw-r--r--LiteEditor/ContextPhp.cpp16
-rw-r--r--LiteEditor/ContextPhp.h1
-rw-r--r--LiteEditor/FileExplorerTabToolBar.cpp9
-rw-r--r--LiteEditor/FileExplorerTabToolBar.h7
-rw-r--r--LiteEditor/ImportFilesDialogNew.cpp5
-rw-r--r--LiteEditor/LiteEditor.project329
-rw-r--r--LiteEditor/NewCompilerDlg.cpp5
-rw-r--r--LiteEditor/NewThemeDialog.cpp5
-rw-r--r--LiteEditor/NewVirtualFolderDlg.cpp6
-rw-r--r--LiteEditor/OpenFolderDlg.cpp8
-rw-r--r--LiteEditor/OpenWindowsPanelBase.wxcp2
-rw-r--r--LiteEditor/OpenWindowsPanelBase_liteeditor_bitmaps.cpp17
-rw-r--r--LiteEditor/ProjectCustomBuildTragetDlg.cpp5
-rw-r--r--LiteEditor/SelectProjectsDlg.cpp5
-rw-r--r--LiteEditor/SyntaxHighlightBaseDlg.wxcp1308
-rw-r--r--LiteEditor/WelcomePage.cpp7
-rw-r--r--LiteEditor/acceltabledlg.cpp9
-rw-r--r--LiteEditor/addincludefiledlg.cpp7
-rw-r--r--LiteEditor/addincludefiledlgbase.cpp10
-rw-r--r--LiteEditor/addincludefiledlgbase.h16
-rw-r--r--LiteEditor/addoptioncheckdlg.cpp253
-rw-r--r--LiteEditor/advance_settings.wxcp909
-rw-r--r--LiteEditor/advance_settings_base.cpp62
-rw-r--r--LiteEditor/advance_settings_base.h34
-rw-r--r--LiteEditor/advance_settings_liteeditor_bitmaps.cpp30
-rw-r--r--LiteEditor/advanced_settings.cpp29
-rw-r--r--LiteEditor/advanced_settings.h1
-rw-r--r--LiteEditor/app.cpp170
-rw-r--r--LiteEditor/app.h6
-rw-r--r--LiteEditor/assignedfilesmodel.cpp34
-rw-r--r--LiteEditor/assignedfilesmodel.h31
-rw-r--r--LiteEditor/attachdbgprocdlg.cpp189
-rw-r--r--LiteEditor/autoversion.cpp2
-rw-r--r--LiteEditor/breakpoint_dlg_liteeditor_bitmaps.cpp30
-rw-r--r--LiteEditor/breakpointdlg.wxcp7026
-rw-r--r--LiteEditor/breakpointdlgbase.cpp68
-rw-r--r--LiteEditor/breakpointdlgbase.h67
-rw-r--r--LiteEditor/breakpointpropertiesdlg.cpp153
-rw-r--r--LiteEditor/breakpointsmgr.cpp28
-rw-r--r--LiteEditor/breakpointsmgr.h2
-rw-r--r--LiteEditor/build_page.cpp14
-rw-r--r--LiteEditor/buildsettingstab.cpp89
-rw-r--r--LiteEditor/buildsettingstab.h17
-rw-r--r--LiteEditor/buildsettingstab_liteeditor_bitmaps.cpp5
-rw-r--r--LiteEditor/buildsettingstabbase.cpp170
-rw-r--r--LiteEditor/buildsettingstabbase.h60
-rw-r--r--LiteEditor/buildtabsettingsdata.cpp2
-rw-r--r--LiteEditor/buildtabsettingsdata.h5
-rw-r--r--LiteEditor/cc_box.cpp1055
-rw-r--r--LiteEditor/cc_box.h138
-rw-r--r--LiteEditor/cc_boxbase.cpp82
-rw-r--r--LiteEditor/cc_boxbase.h99
-rw-r--r--LiteEditor/clInitializeDialog.cpp7
-rw-r--r--LiteEditor/cl_editor.cpp540
-rw-r--r--LiteEditor/cl_editor.h123
-rw-r--r--LiteEditor/clang_code_completion.cpp164
-rw-r--r--LiteEditor/clang_driver.cpp29
-rw-r--r--LiteEditor/clang_pch_maker_thread.cpp34
-rw-r--r--LiteEditor/clsplashscreen.cpp43
-rw-r--r--LiteEditor/clsplashscreen.h6
-rw-r--r--LiteEditor/code_completion_box.cpp202
-rw-r--r--LiteEditor/code_completion_box.h90
-rw-r--r--LiteEditor/code_completion_manager.cpp65
-rw-r--r--LiteEditor/code_completion_manager.h1
-rw-r--r--LiteEditor/code_completion_page.cpp2
-rw-r--r--LiteEditor/code_parser.rc9
-rw-r--r--LiteEditor/configuration_manager_dlg.cpp541
-rw-r--r--LiteEditor/context_base.cpp123
-rw-r--r--LiteEditor/context_base.h10
-rw-r--r--LiteEditor/context_cpp.cpp222
-rw-r--r--LiteEditor/context_cpp.h140
-rw-r--r--LiteEditor/context_manager.cpp2
-rw-r--r--LiteEditor/dbgcommanddlg.cpp18
-rw-r--r--LiteEditor/debugcoredump.cpp374
-rw-r--r--LiteEditor/debuggerasciiviewerbase.cpp2
-rw-r--r--LiteEditor/debuggerasciiviewerbase.fbp2
-rw-r--r--LiteEditor/debuggersettingsdlg.cpp180
-rw-r--r--LiteEditor/depends_dlg.cpp63
-rw-r--r--LiteEditor/editcmpfileinfodlg.cpp68
-rw-r--r--LiteEditor/editor_options_bookmarks.wxcp24
-rw-r--r--LiteEditor/editor_options_bookmarks_liteeditor_bitmaps.cpp114
-rw-r--r--LiteEditor/editor_options_comments.fbp1294
-rw-r--r--LiteEditor/editor_options_comments_base.wxcp1056
-rw-r--r--LiteEditor/editor_options_comments_base_liteeditor_bitmaps.cpp47
-rw-r--r--LiteEditor/editor_options_docking_windows.wxcp3759
-rw-r--r--LiteEditor/editor_options_docking_windows_liteeditor_bitmaps.cpp114
-rw-r--r--LiteEditor/editor_options_folding.fbp764
-rw-r--r--LiteEditor/editor_options_folding.wxcp765
-rw-r--r--LiteEditor/editor_options_folding_liteeditor_bitmaps.cpp47
-rw-r--r--LiteEditor/editor_options_general_guides_panel.cpp107
-rw-r--r--LiteEditor/editor_options_general_guides_panel.h7
-rw-r--r--LiteEditor/editor_options_guides.wxcp1617
-rw-r--r--LiteEditor/editor_options_guides_liteeditor_bitmaps.cpp95
-rw-r--r--LiteEditor/editor_options_misc.wxcp60
-rw-r--r--LiteEditor/editor_options_misc_liteeditor_bitmaps.cpp114
-rw-r--r--LiteEditor/editoroptionsgeneralguidespanelbase.cpp173
-rw-r--r--LiteEditor/editoroptionsgeneralguidespanelbase.h59
-rw-r--r--LiteEditor/editorsettingsbookmarksbasepanel.cpp15
-rw-r--r--LiteEditor/editorsettingsbookmarksbasepanel.h23
-rw-r--r--LiteEditor/editorsettingscomments.cpp7
-rw-r--r--LiteEditor/editorsettingscommentsbase.cpp185
-rw-r--r--LiteEditor/editorsettingscommentsbase.h115
-rw-r--r--LiteEditor/editorsettingsdockingwidows.cpp164
-rw-r--r--LiteEditor/editorsettingsdockingwidows.h81
-rw-r--r--LiteEditor/editorsettingsdockingwindowsbase.cpp168
-rw-r--r--LiteEditor/editorsettingsdockingwindowsbase.h55
-rw-r--r--LiteEditor/editorsettingsfolding.cpp76
-rw-r--r--LiteEditor/editorsettingsfolding.h20
-rw-r--r--LiteEditor/editorsettingsfoldingbase.cpp205
-rw-r--r--LiteEditor/editorsettingsfoldingbase.h118
-rw-r--r--LiteEditor/editorsettingslocal.cpp502
-rw-r--r--LiteEditor/editorsettingslocalbase.cpp44
-rw-r--r--LiteEditor/editorsettingslocalbase.h69
-rw-r--r--LiteEditor/editorsettingslocalbase_formbuilder_bitmaps.cpp72
-rw-r--r--LiteEditor/editorsettingsmiscbasepanel.cpp24
-rw-r--r--LiteEditor/editorsettingsmiscbasepanel.h55
-rw-r--r--LiteEditor/envvar_table.cpp389
-rw-r--r--LiteEditor/filechecklist.cpp37
-rw-r--r--LiteEditor/fileexplorer.cpp26
-rw-r--r--LiteEditor/fileexplorer.h1
-rw-r--r--LiteEditor/fileview.cpp140
-rw-r--r--LiteEditor/fileview.h9
-rw-r--r--LiteEditor/findinfiles_dlg.cpp24
-rw-r--r--LiteEditor/findinfiles_dlg.h42
-rw-r--r--LiteEditor/findinfiles_dlg_formbuilder_bitmaps.cpp53
-rw-r--r--LiteEditor/findinfilesdlg.cpp53
-rw-r--r--LiteEditor/findinfilesdlg.h2
-rw-r--r--LiteEditor/findreplacedlg.cpp785
-rw-r--r--LiteEditor/findresultstab.cpp11
-rw-r--r--LiteEditor/frame.cpp482
-rw-r--r--LiteEditor/frame.h32
-rw-r--r--LiteEditor/implement_parent_virtual_functions.cpp7
-rw-r--r--LiteEditor/importfilessettings.cpp20
-rw-r--r--LiteEditor/importfilessettings.h65
-rw-r--r--LiteEditor/mainbook.cpp116
-rw-r--r--LiteEditor/mainbook.h7
-rw-r--r--LiteEditor/manage_perspective_dlg.cpp116
-rw-r--r--LiteEditor/manager.cpp58
-rw-r--r--LiteEditor/manager.h3
-rw-r--r--LiteEditor/menu_event_handlers.cpp43
-rw-r--r--LiteEditor/menu_event_handlers.h174
-rw-r--r--LiteEditor/menumanager.cpp123
-rw-r--r--LiteEditor/messagepane.wxcp2188
-rw-r--r--LiteEditor/messagepane_base.cpp42
-rw-r--r--LiteEditor/messagepane_base.h41
-rw-r--r--LiteEditor/messagepane_liteeditor_bitmaps.cpp34
-rw-r--r--LiteEditor/navbar.cpp7
-rw-r--r--LiteEditor/new_build_tab.cpp6
-rw-r--r--LiteEditor/new_item_dlg.cpp5
-rw-r--r--LiteEditor/new_quick_watch_dlg.cpp50
-rw-r--r--LiteEditor/new_quick_watch_dlg.h20
-rw-r--r--LiteEditor/newquickwatch.cpp41
-rw-r--r--LiteEditor/newquickwatch.h41
-rw-r--r--LiteEditor/newquickwatch.wxcp2393
-rw-r--r--LiteEditor/newquickwatch_liteeditor_bitmaps.cpp46
-rw-r--r--LiteEditor/newworkspacedlg.cpp7
-rw-r--r--LiteEditor/openwindowspanel.cpp63
-rw-r--r--LiteEditor/openwindowspanel.h1
-rw-r--r--LiteEditor/options_base_dlg2.cpp48
-rw-r--r--LiteEditor/options_base_dlg2.h36
-rw-r--r--LiteEditor/options_dlg2.cpp20
-rw-r--r--LiteEditor/optionsdialogbase2.wxcp1114
-rw-r--r--LiteEditor/optionsdialogbase2_liteeditor_bitmaps.cpp34
-rw-r--r--LiteEditor/plugindlgbase.cpp43
-rw-r--r--LiteEditor/plugindlgbase.h42
-rw-r--r--LiteEditor/plugindlgbase.wxcp2320
-rw-r--r--LiteEditor/plugindlgbase_liteeditor_bitmaps.cpp34
-rw-r--r--LiteEditor/pluginmanager.cpp49
-rw-r--r--LiteEditor/pluginmgrdlg.cpp94
-rw-r--r--LiteEditor/project_settings.wxcp434
-rw-r--r--LiteEditor/project_settings_base_dlg.cpp99
-rw-r--r--LiteEditor/project_settings_base_dlg.h87
-rw-r--r--LiteEditor/project_settings_dlg.cpp19
-rw-r--r--LiteEditor/project_settings_liteeditor_bitmaps.cpp30
-rw-r--r--LiteEditor/ps_completion_page.cpp5
-rw-r--r--LiteEditor/ps_custom_build_page.cpp281
-rw-r--r--LiteEditor/ps_custom_build_page.h11
-rw-r--r--LiteEditor/quickdebugdlg.cpp9
-rw-r--r--LiteEditor/quickfindbar.cpp47
-rw-r--r--LiteEditor/quickfindbar.h4
-rw-r--r--LiteEditor/quickoutlinedlg.cpp142
-rw-r--r--LiteEditor/reconcileproject.cpp448
-rw-r--r--LiteEditor/reconcileproject.wxcp9691
-rw-r--r--LiteEditor/reconcileproject_liteeditor_bitmaps.cpp404
-rw-r--r--LiteEditor/reconcileprojectbase.cpp82
-rw-r--r--LiteEditor/reconcileprojectbase.h74
-rw-r--r--LiteEditor/renamesymboldlg.cpp7
-rw-r--r--LiteEditor/res/100_x_400_white.pngbin0 -> 830 bytes
-rw-r--r--LiteEditor/res/arrow-left-24.pngbin0 -> 233 bytes
-rw-r--r--LiteEditor/res/down-10.pngbin0 -> 295 bytes
-rw-r--r--LiteEditor/res/quickfindbar/next-16.pngbin243 -> 191 bytes
-rw-r--r--LiteEditor/res/up-10.pngbin0 -> 282 bytes
-rw-r--r--LiteEditor/resources.cpp16136
-rw-r--r--LiteEditor/resources.xrc85
-rw-r--r--LiteEditor/setters_getters_dlg.cpp5
-rw-r--r--LiteEditor/singleinstancethreadjob.cpp134
-rw-r--r--LiteEditor/singleinstancethreadjob.h105
-rw-r--r--LiteEditor/stalefilesmodel.cpp34
-rw-r--r--LiteEditor/stalefilesmodel.h31
-rw-r--r--LiteEditor/symbols_dialog.cpp7
-rw-r--r--LiteEditor/symbols_dialog_base.cpp4
-rw-r--r--LiteEditor/syntaxhighlightbasedlg.cpp140
-rw-r--r--LiteEditor/syntaxhighlightbasedlg.h86
-rw-r--r--LiteEditor/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp369
-rw-r--r--LiteEditor/syntaxhighlightdlg.cpp208
-rw-r--r--LiteEditor/syntaxhighlightdlg.h5
-rw-r--r--LiteEditor/tabgroupbasedlgs.cpp6
-rw-r--r--LiteEditor/tabgroupdlg.cpp135
-rw-r--r--LiteEditor/tags_options_base_dlg.cpp44
-rw-r--r--LiteEditor/tags_options_base_dlg.h67
-rw-r--r--LiteEditor/tags_options_base_dlg_formbuilder_bitmaps.cpp114
-rw-r--r--LiteEditor/tags_options_dlg.cpp7
-rw-r--r--LiteEditor/tags_parser_search_path_dlg.cpp121
-rw-r--r--LiteEditor/tasks_find_what_dlg.cpp226
-rw-r--r--LiteEditor/workspace_pane.cpp17
-rw-r--r--LiteEditor/workspace_pane.h8
-rw-r--r--LiteEditor/workspacesettingsbase.cpp60
-rw-r--r--LiteEditor/workspacesettingsbase.h55
-rw-r--r--LiteEditor/workspacesettingsbase.wxcp3807
-rw-r--r--LiteEditor/workspacesettingsbase_liteeditor_bitmaps.cpp114
-rw-r--r--LiteEditor/workspacesettingsdlg.cpp86
-rw-r--r--LiteEditor/workspacetab.cpp28
-rw-r--r--LiteEditor/workspacetab.h3
-rw-r--r--LiteEditor/wxcAboutDlg.cpp48
-rw-r--r--LiteEditor/wxcAboutDlg.h48
-rw-r--r--LiteEditor/wxcrafter.cpp192
-rw-r--r--LiteEditor/wxcrafter.h65
-rw-r--r--LiteEditor/wxcrafter.wxcp1390
-rw-r--r--LiteEditor/wxcrafter_liteeditor_bitmaps.cpp460
250 files changed, 49832 insertions, 41581 deletions
diff --git a/LiteEditor/AboutDlg.wxcp b/LiteEditor/AboutDlg.wxcp
index 8e57759f..ad765bdc 100644
--- a/LiteEditor/AboutDlg.wxcp
+++ b/LiteEditor/AboutDlg.wxcp
@@ -1,1580 +1,1622 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 1,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxC3415InitBitmapResources",
- "m_bitmapsFile": "AboutDlg_bitmaps.cpp",
- "m_GenerateCodeTypes": 5,
- "m_outputFileName": "wxcAboutDlg",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "AboutDlgBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "About CodeLite"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "aboutdlg"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "AboutDlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "mainSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4442,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_notebook1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "About"
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer3"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4409,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bitmap"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": "../Runtime/images/splashscreen.png"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel4"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Credits"
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer4"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4423,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxHW_SCROLLBAR_AUTO"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_htmlWin3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "HTML Code:",
- "m_value": "<b>wxHtmlWindow control!</b>"
- }, {
- "type": "string",
- "m_label": "URL:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "License"
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer5"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_RICH2", "wxTE_READONLY", "wxTE_MULTILINE", "wxTE_DONTWRAP"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlLicense"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 2,
- "m_options": ["Vertical", "Horizontal", "wxVERTICAL"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticTextHomePage"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Home Page:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4438,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxHL_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_hyperlink1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "http://www.codelite.org"
- }, {
- "type": "string",
- "m_label": "URL:",
- "m_value": "http://www.codelite.org"
- }, {
- "type": "colour",
- "m_label": "Normal Colour:",
- "colour": "white"
- }, {
- "type": "colour",
- "m_label": "Visited Colour:",
- "colour": "white"
- }, {
- "type": "colour",
- "m_label": "Hover Colour:",
- "colour": "white"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "CodeLite Forum:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4438,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxHL_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_hyperlink2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "http://forums.codelite.org"
- }, {
- "type": "string",
- "m_label": "URL:",
- "m_value": "http://forums.codelite.org"
- }, {
- "type": "colour",
- "m_label": "Normal Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Visited Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Hover Colour:",
- "colour": "<Default>"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Version:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticTextInformation"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4409,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bitmapPayPal"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": "../codelite-icons/about/32/paypal.png"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4438,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxHL_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_hyperlink3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Support CodeLite"
- }, {
- "type": "string",
- "m_label": "URL:",
- "m_value": "http://codelite.org/support.php"
- }, {
- "type": "colour",
- "m_label": "Normal Colour:",
- "colour": "white"
- }, {
- "type": "colour",
- "m_label": "Visited Colour:",
- "colour": "white"
- }, {
- "type": "colour",
- "m_label": "Hover Colour:",
- "colour": "white"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "buttonSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonOk"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": true
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnOK(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 1,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxC3415InitBitmapResources",
+ "m_bitmapsFile": "AboutDlg_bitmaps.cpp",
+ "m_GenerateCodeTypes": 5,
+ "m_outputFileName": "wxcAboutDlg",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "AboutDlgBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "About CodeLite"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "AboutDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "aboutdlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4442,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_notebook1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "About"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4409,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bitmap"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../Runtime/images/splashscreen.png"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel4"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Credits"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer4"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4423,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxHW_SCROLLBAR_AUTO"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_htmlWin3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "HTML Code:",
+ "m_value": "<b>wxHtmlWindow control!</b>"
+ }, {
+ "type": "string",
+ "m_label": "URL:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "License"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer5"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_RICH2", "wxTE_READONLY", "wxTE_MULTILINE", "wxTE_DONTWRAP"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlLicense"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4449,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "sbSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 2,
+ "m_options": ["Vertical", "Horizontal", "wxVERTICAL"]
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4403,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticTextHomePage"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Home Page:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4438,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxHL_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_hyperlink1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "http://www.codelite.org"
+ }, {
+ "type": "string",
+ "m_label": "URL:",
+ "m_value": "http://www.codelite.org"
+ }, {
+ "type": "colour",
+ "m_label": "Normal Colour:",
+ "colour": "white"
+ }, {
+ "type": "colour",
+ "m_label": "Visited Colour:",
+ "colour": "white"
+ }, {
+ "type": "colour",
+ "m_label": "Hover Colour:",
+ "colour": "white"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "CodeLite Forum:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4438,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxHL_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_hyperlink2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "http://forums.codelite.org"
+ }, {
+ "type": "string",
+ "m_label": "URL:",
+ "m_value": "http://forums.codelite.org"
+ }, {
+ "type": "colour",
+ "m_label": "Normal Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Visited Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Hover Colour:",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Version:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticTextInformation"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4409,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bitmapPayPal"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../codelite-icons/about/32/paypal.png"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4438,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxHL_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_hyperlink3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Support CodeLite"
+ }, {
+ "type": "string",
+ "m_label": "URL:",
+ "m_value": "http://codelite.org/support.php"
+ }, {
+ "type": "colour",
+ "m_label": "Normal Colour:",
+ "colour": "white"
+ }, {
+ "type": "colour",
+ "m_label": "Visited Colour:",
+ "colour": "white"
+ }, {
+ "type": "colour",
+ "m_label": "Hover Colour:",
+ "colour": "white"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "buttonSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonOk"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&OK"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnOK(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/AboutDlg_bitmaps.cpp b/LiteEditor/AboutDlg_bitmaps.cpp
index a8ae1c0d..34cb292b 100644
--- a/LiteEditor/AboutDlg_bitmaps.cpp
+++ b/LiteEditor/AboutDlg_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : AboutDlg_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -111,1455 +86,8039 @@ static unsigned char xml_res_file_0[] = {
2,222,252,115,58,202,235,79,1,6,0,97,231,180,27,227,20,92,140,0,0,0,0,73,
69,78,68,174,66,96,130};
-static size_t xml_res_size_1 = 29145;
+static size_t xml_res_size_1 = 162362;
static unsigned char xml_res_file_1[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,96,0,0,0,255,8,6,0,
-0,0,207,38,12,110,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,
-0,0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,
-73,77,69,7,221,1,20,20,28,45,56,232,70,173,0,0,32,0,73,68,65,84,120,218,
-236,189,121,148,228,200,125,223,249,13,0,153,89,89,103,87,95,211,221,211,
-231,116,247,220,39,57,7,111,114,196,67,188,134,228,104,40,209,164,72,153,
-18,69,145,180,215,146,189,54,87,178,44,113,169,149,222,122,41,74,214,147,
-158,108,174,109,234,160,168,115,159,100,153,203,181,44,222,210,80,164,120,
-141,56,156,155,51,211,51,163,238,233,179,186,238,60,1,68,252,246,15,0,153,
-129,64,4,128,204,202,170,202,172,66,212,203,151,71,33,145,200,3,31,124,
-241,141,223,1,20,163,24,197,40,70,49,138,81,140,98,20,163,24,197,40,70,
-49,138,81,140,98,20,163,24,197,40,70,49,182,234,96,197,71,80,140,226,247,
-48,176,65,197,71,80,140,98,135,43,70,241,221,23,80,46,70,177,19,22,99,4,
-190,103,86,252,62,214,5,174,253,254,175,24,197,142,89,140,45,250,253,178,
-62,190,255,226,55,210,63,68,169,199,251,197,40,0,92,140,45,10,93,150,178,
-44,91,35,164,11,0,199,239,83,10,96,169,128,113,49,138,157,107,107,127,151,
-44,5,166,204,112,187,0,240,224,0,28,221,39,5,184,148,3,198,5,136,11,0,23,
-99,11,129,151,105,46,105,143,35,7,148,11,248,230,3,175,14,192,164,129,113,
-1,226,109,58,156,226,35,216,146,224,101,41,23,43,229,126,47,202,184,128,
-175,94,221,70,183,133,2,91,97,128,176,201,166,96,5,136,11,0,23,99,52,224,
-171,3,175,37,93,103,221,214,129,185,80,194,249,149,175,9,180,66,186,159,
-118,59,205,158,96,5,132,11,11,162,24,195,175,122,45,3,120,45,0,182,114,
-173,222,86,129,140,28,48,46,0,156,84,190,58,200,10,0,220,112,173,3,177,
-40,108,137,66,1,23,99,180,84,175,14,164,182,114,113,194,199,29,5,200,118,
-134,26,46,14,216,102,0,166,169,94,174,0,215,15,111,251,210,255,228,101,
-152,100,61,136,66,13,23,0,46,198,240,195,87,6,167,10,85,71,130,109,73,121,
-204,209,0,218,210,168,104,211,4,221,118,31,100,176,29,84,248,114,9,190,
-190,116,219,211,60,206,37,240,50,105,93,172,128,112,1,224,98,108,62,124,
-117,214,128,45,93,171,128,117,66,240,58,0,202,210,237,146,6,204,50,188,
-211,252,224,237,172,130,211,162,29,34,0,115,5,192,190,116,241,164,107,87,
-121,76,190,176,240,185,44,69,13,23,16,46,0,92,140,77,132,175,234,227,170,
-208,45,133,208,45,75,240,149,175,229,101,237,233,61,83,213,59,222,124,219,
-241,29,7,167,119,91,85,123,220,25,179,198,74,213,242,120,184,183,179,64,
-106,7,251,59,39,222,19,128,185,224,33,53,122,227,133,80,184,35,136,43,247,
-69,174,245,184,194,213,160,148,140,175,195,13,235,101,44,120,3,209,251,
-17,16,4,0,94,195,111,216,158,211,242,90,94,163,125,206,187,252,248,95,159,
-58,85,187,92,111,105,0,235,74,240,141,174,93,233,126,244,157,250,26,240,
-22,16,222,6,167,182,197,24,61,248,218,26,149,27,65,183,34,93,100,24,151,
-95,252,195,119,156,188,246,213,87,223,62,123,108,226,218,86,181,185,207,
-115,218,227,4,98,122,217,71,49,144,134,16,54,64,147,103,3,153,228,245,248,
-33,15,41,215,242,20,48,175,115,173,225,41,136,39,215,69,190,126,253,66,
-164,240,43,252,159,240,133,244,250,217,250,152,136,72,120,162,97,151,237,
-11,222,57,241,253,179,127,123,233,219,223,255,204,115,79,41,192,117,1,180,
-165,139,12,98,249,34,91,19,106,180,68,90,182,93,49,10,0,23,99,64,240,149,
-111,203,86,129,172,98,117,208,29,147,174,199,110,122,229,245,87,190,248,
-39,238,120,195,248,85,206,11,106,246,202,142,236,243,237,2,188,61,129,87,
-90,167,250,182,72,136,37,127,73,124,247,169,63,61,243,215,103,191,118,233,
-12,128,86,120,105,75,215,58,24,203,30,113,100,109,152,98,143,139,81,0,184,
-24,235,168,124,101,187,193,150,172,6,21,186,99,0,170,209,245,15,253,204,
-91,94,120,252,158,35,111,95,158,184,116,88,144,200,252,190,55,2,188,105,
-240,221,74,224,237,172,179,187,141,228,84,237,211,11,95,108,252,197,183,
-255,235,67,223,1,208,12,1,220,84,160,28,93,100,37,236,35,25,186,86,40,225,
-2,192,197,88,103,245,171,194,215,145,44,135,8,188,85,9,188,227,0,170,55,
-189,242,250,195,175,251,119,175,252,192,234,212,194,241,2,188,155,14,94,
-117,123,201,42,89,167,30,254,143,79,255,231,139,223,92,56,29,2,184,161,
-0,89,86,196,242,36,157,172,132,11,21,92,0,184,24,235,12,95,75,129,111,73,
-163,120,199,163,139,101,89,19,239,249,196,143,188,179,114,3,189,86,88,162,
-84,128,119,168,192,219,93,212,23,0,99,94,243,98,251,11,223,252,197,71,255,
-4,160,122,8,225,232,162,42,98,79,129,176,40,32,60,250,195,46,62,130,161,
-133,47,52,202,87,133,111,21,192,4,128,73,0,19,55,189,242,250,99,239,254,
-221,123,63,226,93,217,120,1,49,178,243,130,55,130,35,39,174,141,86,16,224,
-153,81,12,242,115,57,249,160,112,226,62,13,188,209,242,36,8,160,238,181,
-17,188,164,1,175,208,131,215,104,47,135,175,33,124,33,1,63,5,93,50,120,
-41,5,188,20,128,55,250,159,110,123,35,240,74,16,183,75,19,246,201,171,238,
-61,240,98,119,78,60,177,250,124,189,145,34,138,242,100,196,21,130,170,0,
-112,49,214,0,96,53,201,66,142,239,45,33,233,243,70,240,157,124,245,251,
-94,113,199,93,31,190,249,231,86,157,229,157,5,120,135,30,188,241,151,18,
-152,218,253,130,153,151,57,85,251,236,194,163,43,151,161,47,196,99,170,
-162,70,40,210,197,11,0,23,99,224,214,131,10,223,178,4,224,241,16,190,19,
-0,38,239,253,232,27,222,112,229,125,187,62,228,178,118,185,0,239,232,128,
-87,126,175,36,168,52,125,108,226,69,51,87,77,54,46,126,107,225,180,2,224,
-180,42,106,133,237,176,5,118,252,98,12,23,124,45,3,124,171,18,120,39,0,
-76,221,243,243,175,123,205,222,55,78,255,4,179,152,157,5,94,25,134,209,
-56,58,121,21,14,77,28,197,164,51,133,29,229,157,24,179,171,168,216,99,40,
-91,165,144,53,241,253,219,151,124,221,56,96,125,13,251,68,2,194,1,208,146,
-143,171,224,22,6,160,11,8,9,252,146,127,172,49,112,121,34,121,131,167,30,
-80,68,184,94,151,123,230,47,139,137,216,54,53,121,19,62,249,104,243,22,
-106,254,10,150,220,69,252,227,242,51,88,61,221,136,249,203,38,240,170,183,
-73,16,159,127,100,229,119,30,251,175,207,126,9,192,42,128,186,116,137,38,
-231,228,48,181,40,68,173,0,115,1,224,98,12,0,192,106,146,69,25,241,201,
-182,9,0,83,0,38,223,242,225,215,191,106,223,219,102,62,40,152,176,123,1,
-239,225,201,99,184,122,234,6,92,59,115,61,38,156,201,196,243,4,137,100,
-230,153,1,136,4,145,11,210,189,0,186,23,72,167,1,186,251,188,193,193,57,
-13,208,50,156,27,188,129,179,141,211,120,248,236,131,168,157,107,100,130,
-183,163,204,195,71,47,63,184,252,137,199,127,239,185,191,5,80,147,64,44,
-79,206,69,16,230,26,8,23,0,46,44,136,98,172,193,122,144,39,222,228,80,179,
-8,192,147,183,190,241,198,107,174,253,201,35,255,74,88,188,148,215,106,
-56,58,121,21,94,119,224,30,188,124,239,171,113,96,252,74,148,173,114,2,
-188,129,157,64,9,160,233,193,43,98,123,185,79,190,38,181,183,107,79,200,
-224,77,64,50,178,39,20,127,128,19,79,128,90,132,175,157,120,76,122,157,
-224,121,60,193,33,213,118,17,100,182,91,56,113,200,232,117,185,167,77,85,
-102,44,10,74,136,182,133,96,51,27,179,229,93,184,102,247,245,184,98,255,
-21,152,179,46,160,189,224,118,109,13,201,178,72,90,34,204,170,94,81,185,
-197,171,241,71,106,167,27,203,136,199,255,102,149,175,44,196,85,1,224,98,
-172,65,253,202,240,149,125,223,206,164,219,204,222,233,157,247,253,214,
-27,62,210,114,26,83,121,192,59,238,140,227,7,15,220,131,187,247,189,30,
-179,229,157,90,197,91,128,119,48,224,21,225,251,144,215,61,225,76,226,196,
-236,213,152,220,59,137,243,151,207,67,184,194,0,222,72,253,3,0,115,118,
-223,52,125,235,249,175,207,127,149,183,133,135,100,29,97,83,151,141,98,
-20,0,46,70,15,0,214,77,188,201,246,131,236,253,142,3,152,122,223,167,222,
-249,211,141,153,149,19,89,224,5,2,143,247,190,35,239,198,161,137,163,90,
-240,6,215,188,0,239,58,128,87,254,76,4,17,166,203,59,112,229,190,35,56,
-239,158,134,187,226,27,192,219,217,80,144,192,248,222,59,102,15,156,253,
-202,220,119,20,248,234,10,186,23,42,184,0,112,49,6,160,126,213,52,99,57,
-209,98,234,205,255,242,117,47,173,190,200,186,55,42,158,147,22,213,112,
-237,204,205,120,219,225,119,160,106,143,27,193,27,45,95,128,119,125,192,
-171,250,199,142,101,227,170,61,39,112,222,57,131,214,188,171,5,47,168,251,
-152,85,98,7,42,59,74,255,184,240,232,202,69,36,139,184,155,148,112,49,70,
-100,88,197,71,48,84,10,88,110,35,84,82,84,240,216,88,181,50,113,252,222,
-131,239,33,16,227,130,119,38,216,56,241,196,164,210,181,51,55,227,205,7,
-239,133,29,6,71,16,168,3,57,209,129,86,23,104,68,113,248,18,68,184,60,197,
-192,171,78,176,5,144,241,19,224,149,193,41,111,31,145,136,77,138,113,226,
-240,133,31,123,109,17,190,118,226,49,240,88,4,132,47,60,237,100,157,252,
-89,200,239,85,7,94,143,252,88,244,131,110,130,45,0,111,119,123,68,248,89,
-82,120,128,161,4,252,125,120,34,128,184,188,189,209,118,89,204,198,15,28,
-249,65,236,184,122,170,11,95,65,129,234,37,53,28,15,108,223,75,118,189,
-183,52,230,76,160,91,96,169,44,253,62,44,229,82,20,209,47,20,112,49,250,
-80,191,114,220,111,84,221,76,246,126,39,126,228,87,239,189,215,63,212,184,
-61,43,142,247,232,228,85,120,203,161,183,195,177,74,133,226,221,100,197,
-171,251,142,162,131,198,225,233,99,120,190,253,28,220,101,47,89,65,77,154,
-164,19,30,141,239,184,102,170,125,241,155,11,79,162,91,152,71,45,208,99,
-242,130,11,16,23,10,184,24,61,0,89,141,1,174,0,168,148,42,165,241,29,47,
-28,123,189,73,241,6,128,224,216,89,217,133,183,28,250,97,56,86,41,183,226,
-29,179,171,152,112,38,49,225,76,162,106,79,96,204,174,194,177,156,14,124,
-11,197,187,54,197,43,131,87,62,48,216,150,141,151,94,243,106,56,19,118,
-12,188,82,76,112,39,33,100,226,202,177,215,91,142,85,69,55,42,70,238,108,
-82,40,223,66,1,23,99,141,214,131,41,241,98,28,192,228,219,62,242,198,215,
-211,85,238,93,89,153,107,111,60,248,67,216,93,185,34,83,241,218,204,198,
-76,121,22,83,206,126,148,216,24,24,19,176,152,5,155,89,176,152,5,139,217,
-97,152,26,133,48,41,20,239,90,20,175,250,217,69,222,125,137,217,216,113,
-197,12,78,159,58,147,204,194,139,39,29,143,77,31,27,95,153,123,96,233,25,
-232,107,5,235,138,182,23,99,200,71,209,146,104,120,96,172,182,24,138,117,
-184,184,242,69,123,94,181,132,249,4,120,229,113,253,204,109,184,106,242,
-100,34,170,33,128,64,60,44,106,220,58,28,222,107,1,172,165,15,135,10,227,
-89,43,86,5,109,209,77,166,216,170,9,20,209,38,9,80,231,181,211,162,26,212,
-237,77,124,126,202,1,42,2,175,250,190,119,87,174,192,206,235,166,49,255,
-232,114,244,193,107,199,228,225,241,87,1,248,60,226,30,112,212,237,58,186,
-200,29,150,229,223,88,1,229,194,130,40,70,202,41,162,41,20,173,116,213,
-157,71,175,88,25,95,60,36,131,87,87,26,242,165,123,95,145,57,185,54,83,
-158,197,132,117,181,22,182,68,34,6,18,95,116,129,85,182,74,176,153,83,88,
-13,57,173,6,21,190,242,164,169,252,253,248,130,224,9,142,219,14,222,158,
-10,95,225,19,152,197,14,239,186,105,102,143,2,95,91,177,33,138,81,0,184,
-24,125,218,17,186,182,242,165,151,254,211,219,239,22,16,150,9,188,0,112,
-203,236,237,152,41,237,72,141,106,152,46,205,192,17,39,194,51,87,0,172,
-5,65,94,2,32,92,177,46,2,224,81,1,222,30,192,43,199,103,167,129,151,66,
-237,95,182,39,176,235,134,25,45,120,69,88,239,88,120,100,93,121,247,158,
-187,37,248,234,0,172,182,177,42,70,1,224,98,164,64,87,13,63,75,180,29,154,
-58,54,126,67,86,49,244,27,119,220,154,26,78,230,176,18,42,184,90,179,37,
-173,14,60,226,160,235,90,23,4,209,153,140,179,152,85,128,119,128,224,141,
-236,14,34,129,107,246,95,167,5,111,103,50,14,192,216,174,242,141,146,2,
-182,53,22,132,85,64,120,116,70,225,1,15,15,140,181,173,230,45,203,42,185,
-147,173,131,105,62,231,149,227,135,176,119,108,95,2,188,178,106,221,89,
-186,6,32,192,182,56,8,190,86,237,170,94,166,170,126,3,239,179,240,120,101,
-240,170,235,208,121,188,129,157,67,177,137,56,121,27,58,246,80,105,22,165,
-73,27,237,37,191,3,222,196,123,177,217,65,128,149,0,146,225,107,27,224,
-91,140,66,1,23,35,3,190,38,8,219,0,236,155,223,116,195,209,38,171,87,116,
-240,137,160,112,104,252,104,66,241,202,240,45,91,101,48,84,19,202,87,144,
-30,88,157,8,10,162,196,236,125,161,120,251,87,188,234,54,116,118,66,70,
-193,118,66,96,250,232,100,76,241,198,94,87,16,132,71,99,123,239,220,113,
-72,177,31,88,97,63,20,0,46,198,96,128,28,131,240,177,219,15,94,101,2,85,
-20,147,187,191,122,101,106,230,218,132,51,25,66,21,128,164,126,35,251,33,
-225,59,146,136,169,95,53,22,56,0,80,1,222,65,129,87,14,241,219,61,187,71,
-11,222,78,49,121,95,96,246,218,233,227,136,123,191,118,142,125,185,0,114,
-97,65,20,128,53,216,15,76,57,133,236,248,121,147,7,39,14,10,52,99,167,193,
-106,179,203,93,149,61,9,240,202,163,194,174,148,212,173,175,61,149,142,
-128,99,82,191,145,253,160,90,20,133,213,208,187,213,96,177,168,2,93,242,
-96,180,183,122,5,30,195,147,9,11,130,252,110,5,181,202,142,210,65,36,61,
-223,34,21,185,0,112,49,6,0,103,121,199,178,43,83,165,157,53,170,105,193,
-11,0,21,123,12,85,103,66,11,222,232,57,12,99,32,178,67,255,55,190,195,171,
-96,82,61,94,221,58,125,225,39,224,91,128,119,109,224,141,190,211,138,53,
-22,131,175,12,222,104,216,101,107,39,226,190,175,85,168,220,2,192,197,232,
-31,188,186,139,5,192,18,14,175,164,181,119,159,42,77,107,65,25,123,78,226,
-21,205,254,111,28,142,148,80,191,68,241,196,142,205,6,111,124,91,70,23,
-188,242,243,75,147,14,218,11,237,4,120,59,239,219,177,198,12,138,87,119,
-209,254,4,138,81,0,184,128,110,114,194,36,177,3,217,37,187,162,3,111,71,
-13,41,173,224,116,173,127,24,88,184,7,42,254,47,197,237,135,8,140,129,50,
-22,70,171,162,243,90,224,5,120,7,8,222,206,251,179,153,22,188,210,65,120,
-44,5,182,133,10,46,0,92,140,62,172,7,85,253,50,0,204,165,150,163,131,111,
-180,19,143,217,85,35,120,101,59,65,16,96,179,116,251,33,94,91,161,59,249,
-38,175,135,136,98,245,26,10,240,14,14,188,209,4,159,101,168,208,18,21,233,
-97,22,28,221,111,165,128,112,1,224,98,12,214,142,176,84,248,198,234,46,
-8,210,194,87,245,113,59,5,114,16,1,213,51,88,14,66,91,118,50,241,186,33,
-212,228,84,229,97,4,175,252,255,81,0,111,244,29,168,199,179,78,117,52,138,
-209,213,234,65,1,23,181,32,10,0,23,35,135,10,54,62,166,3,175,26,43,154,
-86,36,167,51,1,167,20,222,81,67,192,212,204,183,36,48,69,39,236,172,0,239,
-96,193,107,82,188,177,2,237,130,64,196,80,40,221,2,192,197,216,24,59,162,
-187,35,107,192,235,11,63,187,58,25,217,0,147,0,35,249,191,38,59,66,7,173,
-40,205,153,36,8,141,58,120,85,248,110,54,120,9,34,232,138,193,41,1,222,
-148,179,165,2,198,5,128,139,177,6,181,155,14,63,131,226,85,173,225,180,
-178,144,80,226,127,211,194,207,116,209,15,38,160,22,224,29,28,120,59,207,
-151,224,155,0,175,64,81,197,187,0,112,49,54,106,112,18,169,224,245,149,
-106,102,148,162,134,211,30,19,161,189,96,82,191,81,236,111,100,63,200,81,
-19,5,120,7,3,94,221,65,55,6,222,117,62,208,23,163,0,112,49,148,29,135,98,
-59,178,244,120,199,31,36,35,120,59,64,35,192,98,250,9,184,228,228,90,220,
-255,213,77,190,69,175,149,150,50,92,128,183,119,240,250,194,15,62,95,78,
-90,240,118,190,107,87,152,108,136,98,20,0,46,198,160,85,138,14,188,58,224,
-168,224,77,95,167,116,202,171,132,159,201,246,67,92,132,137,84,229,91,128,
-119,109,224,141,69,179,104,192,155,35,142,161,0,113,1,224,98,12,8,204,113,
-37,172,3,175,79,74,60,174,190,44,100,44,2,2,201,246,67,186,240,51,21,16,
-221,214,70,250,8,136,237,10,94,25,190,131,0,47,145,84,120,39,63,120,11,
-16,23,0,46,198,122,12,65,34,1,95,242,41,177,35,235,192,107,84,191,137,9,
-56,115,233,73,138,21,102,167,2,188,235,8,94,249,32,72,68,102,240,82,17,
-210,91,0,184,24,27,50,98,59,169,79,90,64,167,129,55,153,88,193,83,97,236,
-135,37,46,133,154,162,172,216,15,50,124,11,240,14,6,188,209,65,78,120,102,
-248,10,79,20,250,182,0,112,49,54,114,232,192,155,165,120,227,69,114,146,
-19,112,186,122,183,130,52,237,212,99,128,144,32,12,234,9,188,42,176,10,
-240,106,192,107,248,124,58,224,13,197,47,43,0,92,0,184,24,27,165,128,245,
-222,172,16,82,234,106,70,89,72,19,200,162,231,235,252,95,93,244,131,60,
-204,133,208,11,240,174,23,120,59,235,224,133,5,81,0,184,24,155,50,132,208,
-23,208,73,43,11,73,240,19,41,200,93,0,243,14,64,100,251,65,7,100,30,118,
-171,240,148,52,229,2,188,253,131,87,125,127,209,123,211,129,215,244,27,
-40,70,1,224,98,108,48,120,229,29,54,79,89,200,128,148,45,237,228,28,17,
-37,236,135,104,93,157,214,66,154,117,22,224,29,60,120,57,241,176,222,67,
-241,155,47,0,92,140,205,7,47,184,30,190,34,25,145,64,148,63,93,42,171,254,
-131,92,251,65,29,145,253,80,128,119,176,224,21,136,171,223,196,231,195,
-69,180,161,197,40,0,92,140,205,33,178,228,247,250,162,211,236,210,4,89,
-221,125,158,146,62,156,182,30,57,249,130,49,1,78,27,7,222,8,190,91,25,188,
-210,74,180,224,21,81,61,224,98,22,174,0,112,49,54,23,188,0,140,93,19,210,
-138,228,152,38,224,228,226,235,29,191,55,252,147,163,31,34,255,55,80,199,
-5,120,7,9,94,245,44,70,5,111,164,126,201,42,252,137,2,192,197,216,112,248,
-234,192,43,20,255,215,4,94,83,17,118,57,1,131,119,224,26,47,61,169,183,
-70,244,237,221,11,240,174,29,188,17,124,133,161,38,68,49,10,0,23,99,131,
-6,23,62,132,200,175,120,117,240,53,115,61,178,22,242,41,42,78,60,244,127,
-185,82,127,98,115,193,43,8,177,101,71,21,188,81,60,183,240,168,11,223,2,
-188,5,128,139,177,137,226,23,2,121,231,214,82,193,171,132,161,81,142,2,
-3,114,233,73,161,164,29,71,64,218,110,224,245,132,7,151,187,240,200,13,
-63,27,191,243,122,140,177,160,246,6,179,193,152,149,104,152,154,5,222,216,
-235,167,124,231,194,43,44,136,2,192,197,216,220,65,217,224,229,90,104,198,
-211,139,1,36,202,79,70,254,47,105,224,39,3,77,110,120,57,236,224,141,182,
-163,23,240,182,120,19,117,191,134,186,91,131,223,224,240,91,126,247,96,
-40,127,254,49,171,128,18,143,91,54,131,85,178,96,57,12,118,197,134,85,177,
-80,169,148,59,219,44,119,60,73,11,65,83,30,103,57,111,19,182,119,242,242,
-80,31,173,10,0,15,251,175,71,221,27,149,54,53,166,198,152,50,120,193,90,
-26,155,66,116,0,212,181,17,164,83,106,67,248,25,99,2,36,68,160,252,64,91,
-14,188,117,191,134,37,119,1,173,213,54,120,59,44,82,36,12,7,190,12,240,
-2,65,214,154,215,214,31,32,75,227,14,236,49,11,206,88,112,109,234,130,209,
-121,156,83,18,177,113,216,154,46,219,13,194,100,56,32,13,29,144,11,0,143,
-224,79,170,91,174,48,94,108,39,111,117,50,25,238,186,250,15,58,107,35,22,
-253,0,2,215,148,165,28,85,240,182,120,19,75,238,34,150,151,150,193,219,
-221,117,175,21,188,209,164,105,226,115,15,151,107,47,123,192,50,0,106,129,
-217,12,229,169,18,74,147,78,199,126,72,128,55,250,238,89,172,29,189,165,
-92,228,118,245,36,109,253,118,242,45,116,93,160,73,3,228,77,255,76,10,0,
-15,249,224,196,59,63,19,25,188,105,138,215,4,222,120,8,90,122,171,162,0,
-146,94,82,57,131,182,140,226,109,250,13,204,181,47,162,190,212,4,121,98,
-195,192,219,181,49,186,247,73,16,154,243,110,112,185,220,6,119,57,44,199,
-2,179,152,86,21,75,144,101,6,16,11,5,196,91,25,194,58,216,178,12,40,211,
-48,192,184,0,240,40,252,186,12,224,133,160,112,54,158,114,41,222,188,192,
-87,235,74,232,236,135,120,173,137,209,2,175,39,60,92,108,158,195,234,82,
-125,211,193,171,251,94,133,39,224,173,4,103,28,86,217,130,83,181,193,108,
-22,189,233,168,41,167,12,93,91,186,142,46,17,96,196,54,0,176,14,198,189,
-168,127,25,198,27,250,25,21,0,30,246,95,19,39,45,120,85,56,106,207,195,
-152,1,8,210,111,76,78,192,208,66,78,154,180,147,237,135,81,4,175,47,124,
-44,180,231,177,184,180,176,161,86,67,94,240,18,167,68,165,51,225,10,184,
-174,128,85,98,176,171,118,16,105,225,17,147,64,235,72,215,14,128,146,2,
-223,237,2,96,21,184,148,242,56,13,11,136,11,0,143,210,208,64,192,231,190,
-17,188,221,166,156,94,34,90,33,238,29,43,45,235,73,141,150,200,232,67,55,
-2,224,109,139,22,46,212,207,161,189,232,246,6,94,233,115,223,72,240,198,
-63,107,128,187,4,238,250,65,36,69,213,182,20,224,150,1,4,1,218,221,119,
-98,75,247,197,176,120,158,235,100,57,64,3,93,97,184,79,57,96,188,97,32,
-46,0,60,162,224,213,237,176,166,234,100,42,216,100,88,153,160,106,10,63,
-235,216,15,160,145,9,39,155,111,207,97,113,97,9,228,137,145,3,175,106,69,
-113,151,192,61,33,131,183,12,160,130,160,234,126,4,14,59,188,47,52,32,218,
-106,0,38,131,234,149,129,43,148,207,66,253,95,22,136,215,237,115,43,0,60,
-236,236,245,9,140,153,193,75,130,178,203,66,42,73,24,81,17,119,57,2,66,
-86,198,106,129,246,200,255,21,130,107,179,230,134,21,188,190,240,112,174,
-254,60,218,139,238,186,130,183,3,211,1,128,151,4,65,248,113,219,41,49,1,
-71,96,18,120,199,36,216,70,240,141,212,48,87,0,188,85,225,171,130,88,134,
-45,87,0,44,148,199,152,6,198,27,166,134,11,0,143,2,132,51,149,82,190,178,
-144,93,190,152,19,55,34,208,69,203,169,112,148,147,51,134,21,188,0,208,
-240,235,184,48,127,62,158,60,49,236,224,245,146,7,87,131,38,99,10,124,35,
-72,56,0,92,9,192,91,81,1,147,193,122,32,69,225,170,176,229,154,139,250,
-127,166,172,131,173,183,26,46,0,60,10,191,56,195,78,43,124,1,225,83,110,
-240,154,129,156,76,192,80,253,223,68,70,157,224,240,98,117,122,135,3,188,
-156,124,172,184,43,184,124,113,46,14,216,17,3,175,70,245,202,71,92,43,132,
-47,87,108,135,82,8,95,95,115,218,189,149,44,8,157,245,32,67,88,7,93,95,
-186,237,105,30,183,20,8,99,35,212,112,1,224,97,255,149,233,58,33,251,73,
-239,54,173,44,164,41,100,44,106,65,36,67,47,0,154,169,190,176,159,152,196,
-235,5,188,17,124,215,11,188,0,112,185,117,9,203,151,86,178,83,134,55,8,
-188,166,3,168,14,188,6,187,33,102,71,1,128,101,131,1,24,15,31,150,225,27,
-121,193,170,255,187,85,34,32,242,168,95,21,190,190,4,217,232,224,228,73,
-183,125,233,49,75,122,158,26,69,162,130,119,32,106,184,0,240,240,140,204,
-84,81,227,228,79,142,178,144,201,231,24,154,125,66,223,122,72,8,30,43,247,
-232,137,100,87,229,205,4,47,39,142,115,43,103,59,81,14,163,12,222,137,3,
-85,88,14,67,101,182,172,133,50,179,89,233,72,107,215,97,219,70,219,182,
-237,150,101,49,207,182,45,143,49,230,219,54,243,25,99,156,49,70,0,136,49,
-80,112,187,151,70,114,189,148,96,219,156,101,25,3,1,140,92,151,139,51,103,
-86,151,79,159,190,92,91,94,110,187,10,128,101,184,70,215,174,114,29,221,
-150,189,115,47,92,135,175,128,120,224,16,46,0,60,2,35,21,12,62,165,130,
-87,87,171,65,164,192,87,223,253,152,98,106,155,139,120,230,221,102,130,
-151,136,224,147,143,115,151,207,194,107,248,35,3,94,187,98,225,248,139,
-143,226,246,127,248,0,246,238,189,128,169,169,75,24,31,191,12,198,120,14,
-241,71,211,120,57,238,75,206,71,233,150,95,203,50,131,94,39,165,189,167,
-62,151,137,123,51,158,135,70,187,141,133,90,205,155,59,117,106,249,137,
-63,253,211,71,191,241,200,35,23,231,37,208,202,151,118,120,237,72,16,118,
-67,176,250,202,53,214,3,194,5,128,135,29,190,57,106,245,230,5,111,228,247,
-234,34,32,124,225,43,203,117,235,63,8,105,157,193,148,155,24,10,240,6,147,
-128,62,206,205,157,3,111,242,161,7,111,105,202,193,93,47,187,3,119,158,
-122,17,246,236,121,2,204,247,128,155,191,208,195,89,55,109,0,36,71,17,188,
-157,251,172,84,194,68,169,68,19,147,147,206,161,125,251,118,190,224,37,
-47,121,249,59,93,151,205,159,62,221,124,240,83,159,250,135,207,125,237,
-107,231,206,134,224,109,3,104,133,215,37,233,177,8,194,86,8,109,132,170,
-24,41,16,46,20,240,182,243,134,165,157,61,171,44,164,12,69,29,144,187,250,
-33,158,128,33,171,94,79,242,133,125,17,181,35,18,155,6,222,192,6,241,112,
-254,226,57,240,182,24,106,240,206,28,159,192,125,171,63,143,227,199,255,
-14,246,170,7,236,125,184,71,187,179,0,111,246,235,235,151,103,12,172,82,
-17,187,79,158,172,188,230,151,127,249,69,63,176,186,74,167,191,240,133,
-51,159,253,237,223,254,206,55,16,120,230,173,240,18,37,182,68,105,221,114,
-157,13,157,63,34,67,184,111,21,92,0,120,200,189,95,242,68,108,9,82,96,18,
-1,205,4,222,104,130,78,215,88,51,107,116,186,95,40,29,30,8,2,22,163,152,
-39,188,17,224,237,216,36,68,104,248,13,204,93,184,4,226,195,11,222,201,
-67,85,188,155,254,21,142,236,123,0,108,255,87,242,30,90,215,17,188,27,5,
-243,65,129,119,176,235,100,12,214,244,52,142,222,119,223,161,127,241,198,
-55,30,252,225,207,126,246,236,31,125,226,19,223,126,32,84,192,81,114,139,
-92,91,67,46,233,25,249,200,3,133,112,1,224,17,84,188,114,198,21,111,115,
-99,77,222,188,33,105,114,92,111,116,59,153,53,39,199,255,18,132,52,249,
-181,145,224,37,16,234,126,13,151,207,205,119,162,2,134,13,188,86,137,225,
-77,111,124,19,94,116,73,192,182,191,85,128,119,147,193,171,123,172,90,197,
-190,119,188,227,202,255,245,53,175,57,248,232,47,253,210,55,254,203,67,
-15,157,63,31,242,48,2,176,78,253,210,160,149,112,1,224,97,7,111,80,244,
-55,1,222,52,152,230,1,175,28,130,214,1,156,148,128,161,71,4,193,21,221,
-144,182,132,111,188,206,224,21,36,208,228,13,92,62,59,175,45,148,51,12,
-147,107,51,199,39,240,47,166,222,139,201,249,239,71,85,203,10,240,14,17,
-120,149,125,139,237,220,73,55,254,214,111,189,248,227,95,250,210,220,167,
-126,249,151,191,250,21,116,139,28,165,1,152,16,47,243,217,247,40,0,60,228,
-246,132,187,226,217,165,113,199,8,222,78,134,154,6,188,106,173,6,25,130,
-178,117,144,166,98,229,250,15,209,8,236,135,141,5,47,0,212,252,85,44,158,
-91,146,26,86,14,87,56,217,209,87,28,192,79,186,47,132,227,124,191,0,111,
-223,183,55,210,55,142,126,183,126,229,238,187,103,126,242,224,193,215,28,
-251,192,7,190,248,251,18,120,211,20,112,148,129,168,230,89,246,164,130,
-11,0,15,9,104,141,62,236,138,111,187,75,62,170,87,140,129,25,150,82,21,
-171,25,188,100,12,65,147,129,220,217,40,165,254,67,228,255,138,176,27,198,
-70,129,151,64,88,118,23,177,124,182,54,148,224,5,128,87,191,233,110,188,
-118,185,12,56,205,117,2,239,250,1,104,187,130,87,190,205,24,179,174,190,
-186,250,218,207,124,230,173,87,190,251,221,127,245,177,213,85,79,182,22,
-116,217,118,178,250,229,253,90,17,5,128,71,96,240,150,64,253,108,19,227,
-251,198,96,57,44,6,13,153,119,198,234,100,74,164,67,178,13,81,50,130,66,
-142,255,85,155,115,82,4,201,13,0,47,0,44,180,47,163,118,174,185,118,240,
-134,31,220,160,19,40,94,251,150,215,224,53,75,81,18,85,239,224,181,44,7,
-51,51,251,81,173,206,160,90,157,129,227,148,0,0,182,93,210,48,64,93,39,
-165,44,147,86,18,87,183,142,172,101,242,60,79,119,59,239,246,166,173,7,
-218,199,137,56,132,240,65,36,208,106,53,209,106,213,80,171,45,161,209,168,
-245,5,231,233,105,255,250,63,252,195,215,125,228,157,239,252,252,47,55,
-26,158,186,128,48,0,88,85,194,133,5,177,213,134,240,4,234,231,154,168,238,
-169,192,30,179,99,137,77,121,202,66,6,173,229,133,162,156,133,118,2,78,
-167,138,35,245,44,215,136,88,111,240,2,192,124,115,14,245,115,205,161,4,
-47,0,188,234,205,47,199,107,151,173,20,223,93,15,144,114,121,28,123,246,
-156,192,222,189,39,48,61,189,15,140,233,58,7,81,14,248,153,170,49,166,129,
-55,15,100,123,125,109,32,187,14,122,63,175,141,148,245,155,97,221,110,55,
-112,233,210,243,184,116,233,121,172,174,46,246,164,138,167,167,233,248,
-167,63,253,154,159,187,239,190,255,249,43,72,214,151,136,110,203,69,127,
-84,191,56,183,10,30,21,0,111,149,142,174,76,227,47,153,174,147,62,47,39,
-52,46,180,80,153,45,163,60,229,4,32,161,116,240,138,188,145,16,210,4,156,
-154,128,17,141,168,248,78,84,91,66,40,170,120,144,224,5,128,75,203,23,209,
-186,220,30,74,240,2,192,145,87,237,199,235,151,39,64,218,236,53,189,218,
-42,149,170,56,118,236,46,236,223,127,93,8,93,85,92,141,58,252,54,23,188,
-209,253,74,165,130,67,135,174,194,161,67,87,97,101,101,1,167,79,63,137,
-203,151,47,228,86,197,59,119,226,218,223,249,157,187,63,240,190,247,125,
-229,19,72,86,79,83,43,205,245,93,111,195,25,81,224,178,17,6,176,12,98,221,
-125,166,249,127,236,171,109,47,184,224,45,222,169,21,144,183,44,100,92,
-213,250,217,80,86,18,48,34,187,139,164,196,143,245,0,47,23,28,151,23,231,
-208,156,111,15,37,120,1,96,124,95,5,31,240,238,4,179,27,185,192,203,152,
-133,99,199,238,196,161,67,183,41,224,165,2,188,3,4,175,110,153,233,233,
-25,220,120,227,29,88,90,186,140,39,159,124,40,180,39,178,253,233,227,199,
-199,94,246,209,143,222,121,234,163,31,253,214,95,33,94,91,194,87,96,108,
-25,54,40,83,5,59,67,14,92,182,5,213,176,30,176,134,199,132,71,218,175,208,
-111,112,112,183,133,137,253,99,153,101,33,187,150,67,176,156,47,193,55,
-106,194,153,216,72,38,98,17,22,60,44,190,19,65,94,144,128,79,222,192,193,
-203,137,99,126,97,190,219,58,104,200,192,75,34,40,45,249,193,153,15,192,
-182,31,207,220,137,1,194,212,212,30,220,116,211,61,40,151,199,11,240,110,
-32,120,213,229,118,236,216,137,59,238,120,5,78,157,122,12,103,207,62,171,
-68,254,36,173,9,34,176,151,189,108,246,157,175,120,197,254,199,239,191,
-255,252,83,136,87,80,227,18,136,229,250,193,35,19,7,156,5,215,173,8,101,
-21,190,114,39,91,57,0,92,206,196,49,122,194,240,128,149,231,26,240,111,
-110,193,98,21,99,89,72,179,10,230,218,251,137,9,56,37,122,66,32,174,182,
-7,5,94,1,142,133,139,11,112,107,254,80,130,55,90,199,15,222,247,58,92,177,
-244,120,38,120,3,63,113,47,110,189,245,62,88,150,189,229,124,214,94,224,
-151,255,181,179,214,219,239,107,7,183,25,3,78,156,184,14,68,28,231,206,
-157,214,136,149,248,182,216,54,42,31,254,240,77,255,236,254,251,207,255,
-60,226,21,212,60,5,196,125,169,96,123,19,33,164,222,183,12,167,224,22,226,
-45,184,213,139,157,242,191,97,187,232,90,137,203,205,21,163,154,174,99,
-0,170,0,170,251,95,186,251,110,226,52,37,131,87,134,131,85,182,192,14,113,
-56,150,133,113,167,10,2,131,197,40,172,211,16,92,95,63,115,115,8,192,0,
-114,60,172,227,32,162,202,102,36,224,9,183,3,91,79,248,161,185,32,224,134,
-143,187,60,82,202,2,60,92,222,23,221,248,96,78,126,39,58,34,2,175,8,99,
-147,163,107,29,120,125,225,131,195,135,39,92,92,62,179,8,175,238,39,222,
-99,2,188,114,235,201,8,188,100,0,47,117,175,19,224,117,41,17,91,77,34,190,
-108,116,159,120,80,209,113,124,223,24,126,124,242,58,48,230,101,78,180,
-237,223,127,61,110,188,241,77,176,44,107,219,170,206,97,1,175,186,204,174,
-93,123,48,57,57,141,185,185,243,153,158,112,185,140,29,39,79,238,105,126,
-249,203,207,63,13,125,103,13,93,211,207,161,83,192,44,197,15,69,138,23,
-138,28,147,85,163,164,128,161,168,95,185,8,136,99,80,196,129,226,141,11,
-190,216,141,11,205,115,168,121,171,56,48,126,16,130,44,109,189,95,145,163,
-6,112,90,39,100,139,5,153,112,66,106,93,180,86,197,11,4,237,131,106,207,
-55,130,114,146,67,168,120,229,184,225,119,87,254,119,88,214,223,164,130,
-55,80,190,251,112,205,53,119,119,62,225,2,188,195,1,94,249,122,247,238,
-61,184,238,186,155,241,248,227,15,102,218,17,47,122,209,244,91,199,199,
-75,95,108,52,188,168,140,101,36,152,60,73,1,235,184,53,20,30,48,203,161,
-128,243,92,0,125,36,193,168,64,88,5,176,37,125,145,209,165,172,64,57,6,
-95,93,117,202,40,42,97,201,93,64,205,95,197,193,241,35,24,119,198,181,54,
-67,215,15,78,134,157,9,37,185,34,154,128,139,18,48,56,249,97,28,177,8,213,
-175,175,5,111,103,253,25,224,5,128,229,165,101,52,46,181,82,59,13,15,3,
-120,1,96,234,232,56,78,158,252,59,100,37,0,84,42,19,184,245,214,183,246,
-8,63,27,241,88,254,232,204,150,182,36,252,250,123,237,126,108,155,244,215,
-222,187,247,10,172,174,30,197,153,51,207,34,45,68,205,182,105,234,223,255,
-251,46,25,204,123,0,0,32,0,73,68,65,84,59,239,249,153,159,249,218,159,134,
-103,169,114,45,97,71,163,134,213,253,158,54,3,192,89,10,86,181,30,212,219,
-150,193,142,96,61,250,198,195,6,96,75,242,122,229,118,50,21,9,194,1,144,
-131,14,184,72,43,11,76,212,237,100,220,230,45,156,90,253,62,102,202,179,
-216,87,189,18,86,248,146,93,48,106,32,164,252,54,162,9,184,40,1,67,141,
-255,237,120,195,97,105,200,126,192,219,230,45,172,94,168,163,189,236,14,
-61,120,163,245,222,231,126,20,192,23,83,78,89,1,198,24,110,190,249,158,
-20,207,87,6,132,141,160,179,80,89,82,202,106,152,105,36,184,120,1,222,117,
-138,137,62,118,236,56,150,150,230,177,186,186,156,106,71,92,119,93,245,
-213,150,101,253,119,33,68,83,17,74,178,205,200,49,36,153,112,44,39,120,
-45,5,72,105,30,42,82,164,254,40,64,88,167,128,29,9,186,213,240,50,22,194,
-184,204,93,206,178,106,178,11,201,123,229,196,65,130,48,223,156,195,138,
-183,132,195,19,199,36,134,145,209,126,224,41,5,120,146,143,137,78,125,136,
-94,193,11,0,171,205,85,212,207,53,193,219,124,36,192,27,121,237,215,93,
-247,85,100,165,197,30,57,114,59,38,38,102,161,239,133,41,239,248,99,0,102,
-144,236,162,174,46,107,133,63,13,22,130,184,0,239,160,192,27,93,44,139,
-225,154,107,174,199,3,15,252,125,184,143,232,207,112,74,37,218,241,225,
-15,223,244,146,143,125,236,123,95,148,206,88,35,8,123,210,126,157,187,104,
-187,179,142,144,129,193,58,176,20,15,212,116,45,87,37,178,53,19,89,44,197,
-210,24,5,0,203,10,216,9,247,178,177,80,18,69,16,46,67,16,211,43,68,209,
-129,69,84,72,93,133,139,235,186,120,170,253,125,180,120,83,177,44,204,94,
-171,28,1,17,65,217,23,212,241,127,41,172,3,209,201,142,235,1,188,13,191,
-142,198,197,150,86,245,14,43,120,163,241,194,55,221,2,187,213,66,90,61,
-130,82,105,12,71,142,188,0,201,166,186,234,78,61,9,96,10,217,233,184,50,
-196,35,183,202,29,113,240,246,163,224,215,63,66,100,114,114,2,251,247,31,
-192,185,115,207,167,248,251,192,93,119,237,124,37,128,251,53,86,97,116,
-225,26,30,209,70,1,216,4,95,83,4,128,173,64,200,54,188,41,29,128,77,21,
-235,71,73,1,51,196,163,32,42,33,124,199,37,53,204,116,224,149,97,228,115,
-63,1,23,25,90,156,56,218,162,109,240,142,245,197,220,101,72,71,19,122,242,
-178,186,231,153,192,235,138,54,86,47,213,208,90,24,61,240,10,30,148,3,125,
-233,83,175,1,14,61,104,152,91,9,110,31,61,122,59,24,99,25,16,216,19,30,
-91,77,138,87,151,92,37,55,230,117,66,37,60,218,170,115,88,192,43,63,118,
-232,208,17,92,184,112,22,66,8,227,119,60,51,131,19,51,51,149,241,229,229,
-118,61,132,176,238,172,157,105,192,171,5,177,179,78,112,129,198,187,85,
-67,175,108,9,60,142,114,41,33,59,50,192,26,209,9,57,117,98,209,145,124,
-224,72,5,119,32,76,20,88,47,42,120,133,1,66,38,104,69,80,245,132,215,45,
-162,35,37,90,8,169,21,81,80,112,189,91,1,77,46,192,14,4,173,128,100,248,
-166,129,183,185,210,210,78,178,165,129,87,133,239,102,130,55,26,251,247,
-63,149,162,140,8,142,83,198,254,253,215,100,192,100,119,248,213,138,20,
-197,155,6,55,33,217,18,126,1,222,1,71,136,84,171,21,236,218,181,27,115,
-115,23,141,7,90,203,66,249,39,127,242,228,237,191,254,235,143,124,65,17,
-140,105,103,229,235,110,65,164,249,188,50,124,85,240,170,179,255,37,141,
-183,82,50,40,225,81,182,33,228,51,3,75,177,33,98,113,192,32,48,25,190,189,
-128,151,124,210,78,216,249,194,135,75,46,124,37,205,88,142,128,32,77,70,
-157,0,193,39,175,219,10,222,0,222,186,91,67,123,209,69,123,217,27,121,240,
-2,192,129,87,237,129,227,164,87,215,218,189,251,152,102,226,77,222,201,
-25,128,137,148,211,125,146,38,226,76,224,5,242,135,180,141,34,120,129,205,
-14,205,219,183,111,95,8,96,115,130,205,109,183,237,184,5,192,87,144,236,
-33,167,114,105,67,44,8,83,120,152,141,228,76,191,163,0,183,44,129,55,130,
-79,12,196,211,71,110,216,177,247,7,222,123,75,115,246,248,65,127,114,239,
-190,150,85,157,101,78,185,82,26,171,150,61,215,29,3,179,152,100,134,50,
-82,78,199,109,67,109,220,170,223,72,250,159,44,158,151,210,22,25,179,95,
-201,40,254,236,229,58,123,191,246,185,81,173,73,22,128,131,216,228,222,
-255,173,188,242,76,77,11,94,136,128,41,42,180,116,224,85,39,222,34,31,183,
-45,218,161,239,27,68,63,0,114,157,7,234,84,73,139,66,221,34,229,76,32,120,
-212,181,20,106,173,85,120,53,63,184,104,226,121,71,17,188,68,4,225,19,94,
-120,248,14,96,201,75,157,128,219,179,231,88,6,252,102,209,157,36,239,23,
-146,34,3,68,219,169,226,217,250,188,246,206,157,59,96,219,22,56,231,70,
-8,207,206,58,199,52,86,169,41,145,44,53,27,206,89,7,248,234,84,175,35,41,
-188,178,4,91,249,50,22,253,111,223,235,63,116,189,117,199,59,94,221,152,
-58,116,162,212,92,222,181,194,186,165,200,43,0,32,124,160,177,138,178,52,
-37,145,216,9,163,222,102,6,24,214,172,114,38,48,3,59,79,164,195,85,179,
-243,107,63,166,232,249,220,203,254,84,73,196,138,175,39,155,78,234,65,147,
-9,222,88,93,224,238,109,198,130,152,223,166,223,132,199,221,96,178,45,208,
-187,224,228,7,138,89,184,104,242,6,234,126,13,117,191,134,70,171,1,111,
-197,131,240,41,200,94,235,35,142,119,216,193,27,141,67,223,190,3,56,249,
-53,227,4,28,99,12,51,51,251,160,175,104,38,79,188,153,38,219,212,29,93,
-104,60,96,97,80,205,5,120,7,249,218,140,49,76,79,79,99,113,113,193,120,
-176,29,27,195,108,138,53,202,122,57,11,119,214,17,190,170,167,91,86,96,
-59,38,77,58,85,156,233,61,211,135,63,240,127,223,187,184,231,182,23,137,
-214,242,46,1,160,220,90,129,169,13,68,22,120,115,169,208,126,148,106,79,
-224,149,158,207,221,252,203,2,32,206,181,138,87,247,152,104,155,183,81,
-8,157,13,17,239,253,166,134,167,249,228,129,224,161,205,219,104,139,22,
-234,126,13,45,191,133,154,191,2,215,245,224,173,120,240,155,188,239,204,
-181,81,1,111,84,115,121,215,174,75,169,167,164,227,227,59,224,56,78,10,
-4,162,80,50,202,128,159,208,40,222,52,240,138,2,188,235,16,19,61,61,61,
-133,197,197,121,237,193,54,240,129,105,236,250,235,119,204,60,246,216,210,
-50,204,33,178,153,246,195,90,0,172,163,188,14,190,170,181,16,129,119,60,
-242,57,173,153,43,102,174,248,169,79,190,163,49,125,244,101,53,242,171,
-165,214,114,234,11,23,224,213,67,76,11,94,205,118,170,145,11,145,253,144,
-22,154,22,181,32,234,128,53,229,133,135,1,188,29,71,106,141,224,237,216,
-85,213,249,212,9,184,106,117,38,3,2,101,163,119,172,111,43,38,144,30,30,
-150,85,138,118,251,86,60,27,68,104,222,196,68,53,213,239,7,8,119,222,185,
-235,208,99,143,45,61,15,125,244,67,238,57,168,65,121,192,204,0,95,29,120,
-59,51,252,199,126,234,63,190,126,241,216,171,239,227,94,115,162,146,81,
-159,118,91,130,215,4,39,74,170,89,19,120,117,207,215,67,150,18,160,150,
-97,29,20,241,225,32,63,0,170,106,139,108,69,240,18,5,209,39,165,82,11,105,
-197,90,170,213,137,140,157,222,74,129,1,148,201,183,44,15,88,104,38,236,
-10,240,14,50,38,186,82,169,32,171,39,222,236,108,101,74,241,126,45,228,
-171,99,78,107,5,112,90,152,153,14,190,85,9,186,227,0,198,199,14,223,184,
-111,252,253,159,254,153,58,225,100,217,107,22,224,77,25,245,103,174,1,240,
-64,207,138,183,3,57,67,255,55,189,162,22,112,5,15,170,169,133,235,242,133,
-223,45,170,163,91,255,22,6,111,52,108,187,137,180,250,15,182,93,206,9,10,
-100,120,192,89,113,192,38,16,23,224,29,4,120,163,251,142,99,33,171,222,
-199,204,140,53,129,252,53,107,6,166,128,179,98,124,229,120,214,178,162,
-120,39,0,76,28,252,161,159,189,179,118,251,63,253,128,227,183,39,183,29,
-120,165,229,179,192,27,45,59,126,228,9,44,63,131,84,117,44,79,128,169,224,
-37,129,68,101,52,129,100,120,153,174,92,100,240,147,211,60,78,193,107,198,
-128,57,34,224,13,62,47,202,5,222,206,143,158,249,41,167,163,8,203,77,138,
-12,159,21,41,128,73,3,135,48,88,15,91,19,126,195,144,2,109,219,86,234,247,
-29,180,60,114,170,72,239,108,179,33,22,4,211,192,87,206,232,170,70,224,
-5,48,121,252,127,249,221,183,44,238,187,235,29,101,191,109,21,224,205,167,
-144,181,113,191,17,208,68,87,201,233,192,171,253,237,24,148,111,247,167,
-21,212,241,141,138,174,119,98,126,195,84,103,33,40,190,77,91,24,188,221,
-247,153,94,255,33,152,39,238,21,126,89,176,16,48,199,2,203,48,46,192,59,
-248,100,20,1,115,138,120,116,208,37,11,230,210,185,88,15,0,103,169,95,217,
-122,168,72,158,239,4,128,201,61,255,252,143,127,100,101,207,181,111,117,
-132,107,245,11,94,102,219,176,119,30,194,236,24,195,68,137,161,98,7,23,
-0,240,52,208,148,31,82,163,164,120,202,169,120,180,108,244,124,245,185,
-178,34,84,95,86,104,246,113,237,99,90,16,82,236,181,136,8,101,183,164,5,
-111,194,127,205,0,175,58,201,102,42,190,19,65,88,133,23,145,8,248,103,240,
-151,183,36,120,5,82,193,107,134,33,114,156,222,231,1,134,73,241,138,28,
-0,42,192,187,182,100,148,236,158,113,107,133,111,191,22,132,174,164,162,
-154,96,33,123,190,19,135,255,229,159,253,147,214,206,171,223,98,218,80,
-55,5,188,187,14,30,195,43,15,150,112,235,94,7,215,236,180,19,176,211,133,
-159,70,59,158,31,218,162,178,61,202,53,160,246,83,160,41,67,185,91,249,
-43,9,105,117,93,178,215,106,90,22,0,92,17,95,222,2,65,102,194,215,159,42,
-25,193,27,173,148,100,21,74,72,85,207,234,1,68,119,95,133,180,43,169,252,
-168,51,68,87,113,111,29,240,170,235,75,30,163,77,240,236,37,57,2,25,138,
-55,13,64,58,59,162,0,239,250,36,163,32,3,194,2,41,222,239,192,1,172,174,
-84,245,125,101,245,43,215,50,152,216,255,99,191,254,218,230,142,19,247,
-48,205,134,153,192,235,148,199,241,226,235,174,196,219,175,46,227,224,164,
-21,3,219,86,3,111,244,156,8,188,92,163,166,245,224,85,142,85,41,224,21,
-68,90,213,27,171,231,160,252,47,178,37,34,191,88,64,64,180,69,220,91,166,
-173,15,222,160,24,126,250,132,76,127,240,235,69,149,233,34,31,8,91,79,117,
-14,3,120,117,118,15,242,250,121,235,90,11,194,212,175,205,84,199,96,252,
-208,235,126,226,198,149,107,222,240,222,10,143,123,190,38,240,86,108,27,
-119,222,120,18,239,191,169,130,137,18,219,54,224,21,26,240,118,118,55,245,
-13,11,195,156,142,78,241,138,172,148,100,10,210,143,9,41,32,38,136,176,
-21,125,4,68,33,39,59,112,218,194,224,69,78,240,138,62,21,101,47,192,16,
-57,95,167,0,239,224,94,59,85,9,175,217,126,200,11,96,150,50,241,102,108,
-40,57,185,247,208,206,218,107,127,241,167,43,205,37,59,143,213,96,205,30,
-192,191,123,249,14,220,176,203,94,119,240,154,124,217,97,2,47,0,180,4,51,
-130,183,235,205,154,193,43,114,198,0,119,224,43,213,205,32,144,210,237,
-152,199,61,103,1,8,87,108,125,240,10,228,60,61,21,107,128,95,90,42,114,
-222,52,228,2,188,131,11,143,19,57,44,8,202,226,228,192,45,136,52,245,43,
-79,190,85,1,84,199,223,255,233,247,161,185,180,35,11,188,0,112,240,232,
-85,248,63,95,54,142,137,18,27,73,240,70,207,31,36,120,163,202,252,164,128,
-71,126,221,68,76,175,6,188,42,204,212,16,52,93,92,48,39,158,104,103,223,
-249,238,194,16,52,162,237,0,222,60,94,96,30,176,164,193,59,13,226,34,101,
-130,72,244,0,253,81,82,157,195,154,2,157,203,130,24,56,128,211,212,175,
-12,223,152,253,176,243,181,31,188,137,202,211,119,122,25,224,5,128,91,175,
-59,129,127,123,87,53,97,13,108,119,240,118,253,223,254,193,107,42,144,19,
-0,150,107,44,9,145,152,156,147,147,48,180,117,37,12,224,85,191,247,81,4,
-175,185,83,174,41,94,23,41,192,236,69,157,166,121,144,194,160,138,11,240,
-14,14,188,121,44,8,177,33,0,54,153,203,38,255,183,2,160,194,95,254,193,
-31,19,32,43,43,142,247,186,171,143,119,224,219,43,120,163,229,183,42,120,
-99,147,112,68,70,181,74,92,228,6,111,183,156,164,80,128,236,119,30,147,
-179,224,186,86,132,215,9,65,19,210,132,27,55,20,1,218,42,224,37,138,14,
-46,105,241,192,121,189,216,188,207,73,11,73,211,61,86,128,119,240,138,55,
-79,200,96,79,99,77,229,40,117,69,214,117,254,111,25,192,216,21,63,242,75,
-47,105,9,113,136,82,192,11,4,225,101,63,127,215,120,207,224,181,88,112,
-105,251,131,5,175,186,236,48,128,215,180,13,9,192,100,128,215,100,57,184,
-220,139,117,57,14,94,59,132,52,68,162,96,123,180,113,194,51,79,188,109,
-45,240,34,3,188,234,138,122,153,24,163,30,46,66,227,11,211,144,131,119,
-45,167,251,155,157,2,45,50,14,186,131,179,35,156,30,237,7,181,203,133,108,
-65,148,1,84,90,55,190,245,30,8,145,154,149,198,170,51,248,200,139,199,225,
-88,128,203,211,193,235,48,96,166,204,80,113,24,202,86,23,118,190,8,212,
-111,195,7,234,30,161,205,105,203,129,87,228,252,142,117,221,133,101,69,
-236,103,20,58,138,194,212,252,200,202,0,133,157,46,68,108,98,206,168,172,
-183,44,120,145,3,188,148,50,73,134,30,252,89,228,80,197,89,217,113,69,169,
-201,193,196,68,211,186,131,183,87,11,66,103,63,36,74,78,78,191,244,93,39,
-193,253,195,38,240,70,227,189,119,29,192,206,49,43,153,97,166,40,222,217,
-10,195,238,113,171,3,64,46,40,1,200,178,29,108,90,217,6,86,93,218,82,224,
-21,4,88,79,188,14,192,31,37,65,19,130,66,184,100,4,47,197,222,171,217,150,
-232,118,192,16,137,186,17,145,103,220,169,59,17,134,157,145,160,109,0,94,
-121,219,243,70,65,244,2,139,60,240,53,181,40,234,5,250,5,120,251,247,224,
-211,190,239,141,153,132,75,43,188,19,179,32,74,175,124,255,27,124,85,57,
-43,117,24,102,15,157,196,15,28,46,167,130,23,0,142,78,91,65,84,132,136,
-91,11,42,20,229,125,180,234,48,212,61,234,128,118,216,193,219,217,54,13,
-120,35,111,251,196,249,87,227,121,231,143,18,224,237,64,214,207,46,11,233,
-9,183,175,31,71,172,11,178,79,32,30,165,61,119,183,99,75,131,183,147,97,
-152,103,50,78,228,132,95,94,31,152,114,128,87,140,40,120,251,241,203,55,
-50,19,47,239,228,235,198,78,194,165,66,216,178,172,50,149,103,110,212,22,
-187,145,213,239,141,99,153,147,107,199,119,216,24,119,66,8,170,203,138,
-56,60,229,201,51,65,64,217,2,90,60,154,193,31,93,240,70,227,249,155,63,
-15,60,150,4,111,52,188,134,15,225,17,152,5,99,89,200,21,111,25,211,165,
-25,61,104,64,198,201,186,128,91,60,214,246,62,86,121,45,74,73,222,178,224,
-69,206,29,177,215,194,59,121,65,44,191,137,180,216,224,2,188,235,23,19,
-189,62,224,141,134,149,211,255,85,65,108,171,19,113,179,175,255,233,27,
-57,137,201,96,15,148,32,44,253,146,171,7,78,226,5,123,157,160,118,1,5,118,
-66,228,231,70,0,61,48,105,97,178,148,132,149,12,44,46,244,53,110,163,199,
-45,150,140,108,144,79,243,125,66,103,27,100,240,186,60,9,95,87,196,235,
-53,48,18,32,17,175,215,32,8,224,18,124,91,130,161,201,195,29,157,146,25,
-119,174,72,134,210,121,156,98,239,43,122,191,111,61,251,234,174,218,52,
-100,157,121,171,190,84,11,130,98,42,152,8,184,216,60,215,177,18,132,225,
-212,41,106,63,223,253,60,252,244,130,61,130,64,190,136,181,255,209,77,206,
-9,30,194,78,1,97,84,147,87,168,71,223,112,155,133,47,140,133,114,228,245,
-69,95,161,240,68,28,190,82,169,132,232,245,136,8,220,21,250,120,101,30,
-188,31,245,12,34,120,63,107,77,158,200,19,162,38,114,128,215,20,27,156,
-245,218,121,38,245,178,218,33,9,164,215,42,206,51,89,40,6,252,218,148,177,
-222,126,95,27,61,168,226,205,83,192,241,104,136,107,95,253,194,172,82,143,
-111,190,170,220,1,175,46,156,108,186,98,97,223,132,149,0,145,10,98,213,
-174,208,221,142,32,28,83,183,52,120,197,43,127,29,131,80,188,66,17,138,
-215,237,109,129,46,166,127,225,173,5,23,165,73,219,88,22,242,225,165,239,
-226,228,244,117,49,79,87,245,120,229,219,105,224,13,124,231,46,236,54,67,
-241,170,224,93,15,197,27,127,79,89,62,112,30,245,149,215,158,160,28,19,
-123,105,48,46,20,239,218,20,111,190,114,148,235,173,128,77,30,176,201,130,
-112,252,169,253,39,84,197,171,90,16,47,57,224,36,20,175,172,252,14,76,90,
-49,48,202,59,82,86,234,175,199,41,6,98,213,110,240,196,96,21,111,100,55,
-208,128,21,175,144,239,11,224,99,183,222,13,171,100,165,25,181,104,93,110,
-199,20,175,90,161,236,161,239,62,132,150,223,236,180,147,215,65,88,181,
-30,100,107,162,83,7,216,19,177,194,59,155,165,120,3,15,122,253,20,175,92,
-233,45,248,44,243,248,172,34,7,60,243,70,70,228,9,75,235,37,68,109,61,84,
-231,160,21,111,47,93,160,123,81,188,212,195,107,11,205,50,121,61,253,193,
-3,216,148,5,167,102,195,217,0,236,73,222,218,99,56,87,13,164,246,21,39,
-48,81,98,70,0,1,65,212,67,76,33,34,169,148,85,96,122,130,18,62,175,124,
-127,84,193,27,29,164,166,43,22,102,174,154,208,130,55,34,109,107,193,5,
-111,139,4,120,133,27,0,198,93,246,241,213,185,47,231,158,120,11,0,29,212,
-129,224,196,19,117,128,189,186,63,244,224,53,169,222,222,192,219,139,95,
-155,117,186,159,71,233,101,77,202,109,197,211,253,180,245,14,2,188,162,
-207,215,6,242,37,104,172,175,2,78,83,194,29,47,216,153,221,63,190,202,74,
-227,9,240,74,151,27,119,59,70,240,250,4,236,172,38,55,37,143,253,0,173,
-37,64,137,232,137,81,3,175,12,177,151,156,250,15,90,240,202,22,64,227,98,
-43,1,94,121,252,237,223,254,45,206,133,94,112,192,173,176,18,90,231,126,
-178,70,4,23,188,155,61,199,131,44,56,238,18,120,147,15,61,120,85,248,246,
-3,222,110,182,95,63,192,204,170,213,0,228,239,9,71,5,120,55,12,188,121,
-147,103,196,134,1,88,151,9,23,187,84,111,121,227,97,6,98,58,240,70,143,
-29,158,182,180,224,141,32,89,117,24,68,202,4,155,206,126,136,58,72,168,
-207,137,64,27,253,127,163,193,43,63,119,45,224,141,172,151,55,31,107,234,
-193,43,109,235,202,179,117,45,120,73,4,16,241,86,125,252,201,55,126,15,
-77,191,30,135,172,148,164,97,177,110,60,176,12,102,209,14,210,157,121,155,
-163,25,130,126,59,128,55,214,184,179,47,240,234,20,48,144,191,6,109,158,
-48,181,97,2,47,173,19,120,245,13,74,137,4,132,240,192,185,11,206,189,240,
-226,66,8,15,193,108,77,158,222,122,189,84,152,27,156,245,208,235,36,156,
-78,13,119,0,108,239,58,180,147,50,194,207,14,78,176,24,120,85,213,234,88,
-198,185,20,237,164,157,186,158,104,153,168,53,145,41,155,108,61,39,215,
-100,240,102,77,174,9,210,91,42,186,152,232,255,244,210,215,98,124,101,12,
-141,11,45,227,100,17,111,114,212,207,53,49,113,160,218,245,109,21,24,173,
-60,215,192,39,26,191,133,119,221,253,99,24,119,38,149,201,72,234,244,130,
-139,192,27,216,15,212,153,120,91,125,174,1,238,138,161,154,92,11,150,165,
-190,38,215,18,21,221,184,210,45,57,21,152,200,0,104,158,202,104,89,137,
-25,189,164,33,111,205,82,147,68,4,206,91,16,194,133,239,187,16,194,15,47,
-60,211,151,101,140,193,178,44,48,102,193,178,108,216,182,29,94,59,97,35,
-213,180,126,124,89,147,175,180,41,0,102,138,23,204,0,48,26,155,25,207,106,
-142,89,114,172,212,90,13,81,154,177,46,118,87,181,31,212,255,249,26,159,
-88,237,175,214,47,120,59,179,232,155,0,94,121,249,215,205,255,38,254,82,
-124,192,48,75,223,85,193,99,187,42,102,127,87,16,26,23,218,248,131,191,
-250,125,188,252,21,47,195,85,147,39,33,136,32,136,199,84,111,4,94,129,32,
-34,162,118,174,129,149,83,245,164,186,220,234,224,37,210,132,161,233,102,
-197,5,48,144,52,228,44,47,185,151,214,244,163,11,94,34,1,215,173,195,247,
-91,240,195,201,227,124,219,18,127,156,8,224,220,215,190,14,99,22,74,165,
-50,108,187,12,199,41,193,182,109,228,75,158,25,236,112,122,128,174,217,
-146,168,76,84,77,224,141,118,252,49,91,15,94,211,80,33,165,179,31,84,224,
-233,38,228,134,13,188,234,123,207,2,111,52,62,255,230,151,193,250,172,21,
-243,95,213,193,219,2,75,79,174,98,199,213,83,137,207,95,30,237,69,23,95,
-248,111,95,66,117,207,223,225,240,11,174,196,241,169,171,81,178,198,131,
-84,100,18,240,133,143,5,247,50,22,158,93,198,202,179,117,120,53,95,11,194,
-173,12,222,248,115,211,194,207,160,64,24,57,160,131,28,16,206,10,81,19,
-88,31,213,185,121,224,245,188,38,92,183,6,207,107,246,120,16,203,250,76,
-147,235,8,32,223,4,208,64,208,138,222,129,227,148,81,42,85,12,223,165,238,
-160,187,177,10,88,7,226,224,98,217,142,14,190,164,131,146,38,173,88,85,
-182,242,142,167,3,147,10,44,157,74,246,183,8,120,163,199,14,79,89,56,92,
-251,125,252,181,253,30,19,47,0,0,205,185,54,74,147,14,38,14,84,181,197,
-208,229,204,181,230,165,22,158,248,171,83,120,156,63,29,156,165,76,5,25,
-48,222,170,167,233,12,188,253,192,155,236,40,146,86,163,151,114,76,172,
-101,193,36,175,226,213,45,179,246,211,253,205,40,53,25,128,112,21,237,118,
-13,66,248,235,14,94,211,122,34,255,184,221,174,193,247,9,190,239,194,182,
-29,48,198,50,236,8,109,180,216,154,0,204,122,128,177,182,39,18,25,90,196,
-235,218,196,71,41,195,166,218,190,105,0,148,139,243,200,143,71,0,117,5,
-192,72,128,1,137,201,181,81,1,175,28,3,253,226,87,214,241,249,111,178,110,
-102,28,233,63,247,229,83,53,216,21,11,149,217,178,22,188,157,73,60,5,48,
-5,120,53,224,21,105,224,69,15,240,67,138,183,156,182,188,218,253,88,100,
-64,125,84,106,252,10,180,90,171,112,221,85,197,207,221,88,240,234,238,115,
-238,195,247,93,112,238,42,158,241,224,71,63,30,176,17,192,148,163,126,162,
-10,94,181,34,154,92,255,65,231,151,202,246,67,12,30,138,253,208,57,178,
-109,1,240,70,227,211,39,95,133,119,126,243,147,248,67,122,95,230,1,111,
-241,137,85,204,94,59,133,210,164,147,191,86,67,31,224,13,192,37,182,40,
-120,209,3,120,123,153,65,207,11,50,221,228,219,168,131,55,176,26,154,205,
-197,77,85,188,217,147,159,93,15,153,115,31,150,101,193,113,28,88,150,61,
-80,63,216,233,19,190,241,125,72,16,88,6,124,125,169,66,153,105,162,13,26,
-123,32,182,67,166,76,196,69,183,101,16,179,168,181,250,136,131,87,94,238,
-201,123,175,195,196,253,99,168,159,111,153,15,120,20,64,101,225,209,21,
-76,31,27,71,117,79,165,0,111,95,224,133,212,134,169,215,114,148,253,212,
-158,237,213,146,160,158,225,215,31,120,145,3,250,217,175,45,4,71,179,185,
-176,33,30,111,127,224,149,63,219,248,255,133,224,112,93,14,198,24,28,199,
-201,98,228,192,1,156,81,156,135,204,47,76,242,236,58,25,171,147,153,38,
-232,76,160,242,120,50,187,77,157,124,19,34,94,161,108,148,193,27,189,207,
-139,99,59,241,201,233,95,196,143,206,253,2,184,90,11,56,218,14,105,69,75,
-79,213,209,90,240,48,117,104,28,86,137,21,224,237,5,188,157,22,76,121,38,
-100,68,15,19,92,189,40,233,172,88,218,209,168,241,203,185,139,90,237,162,
-210,14,107,216,192,155,245,253,4,191,85,207,107,195,182,169,178,25,22,132,
-222,231,19,2,118,10,120,193,93,144,16,240,133,173,7,139,33,44,75,141,243,
-141,236,7,245,121,81,221,2,237,62,183,193,224,77,155,60,92,11,120,163,199,
-60,65,248,215,119,254,16,62,116,122,22,191,237,126,200,8,94,25,56,173,203,
-109,184,43,30,38,175,172,162,178,179,92,128,55,55,120,179,108,136,94,10,
-171,155,214,211,79,34,128,169,41,231,240,129,151,72,160,94,191,4,223,111,
-143,16,120,179,14,184,0,203,167,117,217,122,1,56,151,226,5,119,211,193,
-66,234,206,200,98,254,175,238,57,178,143,172,194,173,147,249,22,78,190,
-113,234,38,81,140,42,120,101,107,69,94,230,47,238,187,27,139,95,250,21,
-204,62,255,11,70,240,198,188,240,38,199,242,211,53,56,19,14,170,123,42,
-24,219,213,45,138,95,128,215,12,94,125,28,112,175,32,203,171,142,123,109,
-204,41,134,0,188,102,255,57,80,189,115,160,78,225,167,94,192,11,228,179,
-116,122,5,47,144,47,1,166,167,242,147,44,227,127,180,174,10,56,152,6,55,
-131,23,0,60,174,7,175,9,62,50,168,228,225,106,44,12,157,173,17,49,67,7,
-212,81,6,175,60,142,188,226,62,180,254,124,30,45,255,63,24,193,171,250,
-190,126,221,199,106,221,71,237,76,3,229,153,18,74,147,14,74,19,54,44,41,
-21,177,0,111,158,114,148,253,148,61,236,69,69,10,205,132,92,154,223,60,
-92,165,38,61,175,129,70,99,161,147,65,58,26,224,53,189,54,82,148,249,16,
-88,16,105,224,53,41,94,221,233,181,169,53,60,16,247,120,229,240,51,57,142,
-216,151,106,4,8,2,154,188,63,240,202,251,233,32,193,171,218,36,253,130,
-55,90,214,177,0,118,239,251,177,231,209,223,197,220,119,23,83,193,155,128,
-40,39,52,231,218,104,206,5,167,134,118,217,130,85,178,192,108,214,57,189,
-138,213,71,16,73,191,89,159,182,139,160,80,123,186,32,143,175,87,133,162,
-159,18,210,166,91,135,198,207,142,190,159,180,215,78,28,52,204,91,153,225,
-13,10,152,107,243,230,1,133,105,167,23,200,206,144,27,190,26,191,237,246,
-10,90,173,21,9,190,163,2,94,192,220,19,14,57,192,188,89,0,38,202,132,47,
-33,153,205,150,86,209,76,134,153,92,11,88,253,63,15,31,147,99,127,73,116,
-171,217,110,69,240,114,233,115,156,40,49,180,111,250,6,238,124,232,47,241,
-45,254,115,217,224,77,60,24,30,212,90,2,188,165,81,188,134,153,82,193,179,
-127,132,148,162,60,129,228,193,56,1,75,65,185,0,172,219,231,76,7,7,211,
-139,233,150,215,171,224,60,158,47,12,234,53,203,147,36,3,208,179,202,92,
-14,75,113,117,66,189,190,0,207,107,172,51,120,179,60,220,126,193,139,28,
-219,153,242,131,222,116,5,156,226,9,71,19,97,38,240,102,1,14,26,111,216,
-207,248,12,212,46,20,91,9,188,234,103,249,196,143,222,139,247,252,233,46,
-124,218,251,169,132,2,77,3,175,241,179,43,192,155,161,128,117,173,131,122,
-85,104,121,42,156,145,65,109,211,0,192,155,5,213,252,22,11,17,97,117,245,
-66,88,137,108,43,131,119,176,22,196,96,210,59,132,175,7,111,167,150,108,
-80,220,69,87,22,82,245,117,211,60,97,95,147,253,230,139,46,188,100,149,
-220,18,221,226,239,190,208,151,133,140,206,126,133,4,116,93,242,7,17,193,
-19,20,132,182,41,7,0,161,201,206,139,64,237,27,10,201,203,229,39,219,60,
-88,183,32,243,132,99,155,83,12,190,166,18,155,127,254,35,47,199,167,142,
-252,31,157,72,7,193,53,179,249,34,29,190,34,236,126,161,126,80,218,117,
-105,192,21,179,3,180,150,64,220,211,141,241,80,249,16,50,95,83,218,15,58,
-37,48,83,231,41,40,6,94,161,235,40,205,179,124,191,60,19,110,105,229,40,
-179,78,169,77,138,121,120,107,252,18,113,172,172,156,147,224,171,219,62,
-228,176,83,76,7,156,172,208,188,188,69,138,242,132,250,1,249,146,79,134,
-201,130,208,40,222,8,188,105,67,174,199,155,166,20,77,241,193,9,40,9,192,
-2,193,151,124,98,143,15,183,226,53,30,108,50,20,175,60,100,245,252,83,47,
-253,97,52,188,183,227,93,127,246,55,248,127,236,15,5,229,35,11,197,219,
-163,226,205,154,116,209,45,159,85,15,162,23,203,34,13,86,189,78,192,173,
-111,47,53,206,61,212,235,81,164,195,86,80,188,235,219,132,115,253,0,156,
-1,94,121,31,147,193,107,129,58,49,28,2,73,229,41,199,255,154,64,44,95,115,
-17,169,223,237,5,94,249,186,98,51,252,197,187,238,70,237,252,231,112,215,
-231,191,139,135,173,159,53,102,205,141,42,120,51,225,59,16,240,230,57,21,
-5,210,179,210,144,225,247,230,109,204,41,144,175,200,207,198,85,60,235,
-134,153,137,30,192,155,101,77,108,54,120,145,1,222,33,86,192,105,138,87,
-46,13,41,131,215,80,195,37,121,218,158,82,73,45,26,140,68,12,138,49,200,
-106,128,189,213,192,171,110,247,212,190,35,120,228,61,71,208,184,120,27,
-238,249,255,206,226,43,83,239,235,148,179,44,192,219,211,47,59,3,200,121,
-59,90,32,7,76,178,42,158,1,217,45,116,214,23,188,64,80,61,172,86,187,36,
-193,119,171,128,215,244,153,111,110,91,250,53,193,87,134,150,9,188,66,233,
-122,108,156,140,50,132,159,185,162,27,241,44,23,105,223,8,240,170,219,187,
-217,224,237,108,127,248,88,245,138,35,248,194,79,28,134,47,30,195,199,254,
-231,95,226,87,91,231,208,46,127,2,205,121,183,0,111,218,111,54,119,57,202,
-172,8,3,145,1,228,188,225,100,89,30,240,250,131,23,32,248,126,43,180,29,
-182,26,120,243,28,36,83,118,128,77,3,112,122,160,103,199,118,176,64,90,
-240,146,2,29,83,231,12,46,1,40,42,234,35,91,19,234,186,185,160,109,13,222,
-232,61,70,255,179,24,240,111,223,120,111,240,126,196,7,193,231,158,197,
-111,60,240,32,30,95,156,193,247,61,7,151,104,25,124,245,40,230,110,120,
-79,12,88,65,158,141,2,56,143,98,113,180,36,125,48,145,186,246,86,253,102,
-236,151,205,24,49,128,162,248,92,102,49,128,129,140,126,21,139,131,144,
-217,105,128,102,202,217,144,238,167,168,253,157,50,5,206,157,10,127,140,
-133,29,95,136,87,25,179,122,0,67,86,137,201,94,0,56,60,224,141,42,153,213,
-235,243,72,15,165,235,23,188,121,14,114,155,13,222,33,85,192,105,158,112,
-116,91,45,13,73,41,214,131,41,83,46,205,183,5,186,254,175,41,162,97,59,
-130,55,246,126,4,239,124,31,246,238,35,248,215,175,59,28,84,45,138,45,248,
-247,137,239,142,252,96,134,219,22,193,153,142,123,225,9,248,167,31,148,
-205,100,89,126,2,0,154,223,250,191,62,5,32,106,59,208,2,208,6,224,2,193,
-60,105,120,201,106,192,181,30,67,46,163,106,33,236,238,29,238,15,101,0,
-21,0,99,0,198,1,84,93,119,233,131,165,210,36,44,171,132,236,24,222,60,147,
-98,189,199,215,166,55,177,236,231,117,122,3,47,64,112,221,6,26,141,69,228,
-175,167,48,170,224,165,117,7,239,64,1,76,220,79,5,111,164,70,1,150,0,111,
-183,225,165,193,114,208,212,255,141,194,184,100,40,90,32,184,82,152,26,
-23,100,156,212,219,10,224,149,183,189,87,240,118,14,88,9,240,250,153,224,
-77,30,49,133,254,249,193,104,2,168,135,151,70,8,224,54,0,79,130,176,201,
-64,93,79,248,70,215,81,111,195,8,190,165,16,190,149,112,251,40,248,172,
-4,92,119,5,142,83,133,227,84,145,222,148,51,79,92,105,22,120,69,78,160,
-139,13,1,47,0,180,90,65,118,219,214,87,188,166,176,52,172,11,140,215,37,
-10,66,215,158,40,8,27,75,130,87,144,185,123,134,175,88,18,166,137,184,168,
-244,100,2,76,84,128,119,224,224,37,1,91,120,193,114,209,122,116,113,224,
-93,0,55,36,0,55,36,0,123,146,2,222,76,0,71,10,184,36,1,120,60,220,142,168,
-220,106,240,189,249,13,16,113,148,74,227,136,215,88,209,213,110,48,77,234,
-100,69,63,168,207,203,219,62,125,125,192,203,185,11,207,107,160,213,170,
-109,50,120,243,122,198,189,130,55,107,251,215,7,188,3,5,112,149,183,224,
-26,192,27,237,180,34,3,188,58,128,168,126,110,247,35,72,250,191,178,253,
-160,22,104,223,46,224,229,190,7,114,155,176,220,22,56,111,7,19,163,36,186,
-128,84,191,31,102,1,150,19,92,0,84,44,6,110,87,192,45,219,8,94,55,164,38,
-184,159,6,222,206,87,34,129,183,174,88,17,158,100,67,208,38,1,152,73,246,
-67,41,180,31,228,54,13,86,124,31,9,90,164,3,28,165,210,100,206,29,190,151,
-0,255,188,137,4,38,59,34,15,120,77,240,210,63,167,221,94,13,75,73,210,54,
-1,111,222,40,136,97,86,192,154,199,162,226,56,186,248,220,172,234,96,89,
-247,163,210,147,17,68,101,251,33,109,18,46,47,120,101,120,14,18,188,17,
-124,251,5,175,219,106,193,106,174,192,247,90,128,215,232,68,162,112,245,
-243,167,20,197,43,45,219,66,16,205,194,156,18,132,93,6,43,85,0,103,44,152,
-44,147,214,155,167,245,84,248,154,145,229,32,43,225,102,10,128,105,3,1,
-108,105,0,92,145,164,172,21,62,214,86,55,137,115,23,66,44,162,92,158,2,
-99,54,242,101,199,229,9,252,207,74,93,238,181,24,79,255,224,21,194,135,
-235,54,224,186,141,109,4,222,44,197,59,164,30,112,19,86,188,32,187,193,
-130,80,149,168,90,112,61,79,70,156,236,255,202,225,103,242,58,229,137,188,
-173,6,94,215,117,193,86,231,225,183,107,128,240,131,93,146,115,253,129,
-47,39,120,161,172,131,124,15,240,61,80,187,30,252,159,89,96,78,9,172,50,
-1,216,229,142,98,206,113,32,246,36,8,183,148,139,234,3,111,36,128,153,162,
-128,29,73,249,50,9,200,209,129,34,177,3,18,17,92,119,69,82,194,121,79,247,
-129,222,139,178,167,117,68,166,129,130,55,186,221,106,173,132,202,87,108,
-51,240,142,106,38,92,154,5,161,64,70,87,157,204,216,222,76,177,25,72,42,
-254,161,134,159,201,192,234,120,195,180,53,192,219,110,54,33,86,46,1,94,
-163,251,89,12,24,188,105,158,62,181,235,1,144,1,192,46,119,111,167,127,
-247,145,215,235,42,16,86,163,33,54,211,3,142,0,44,164,199,157,80,13,135,
-219,111,106,79,3,120,222,42,92,119,25,250,202,100,89,37,13,179,66,185,210,
-90,18,101,249,203,253,128,55,152,112,172,213,46,129,115,111,4,192,155,246,
-30,251,1,111,214,122,134,212,3,206,130,111,71,189,25,26,113,114,197,167,
-149,83,144,125,74,42,91,29,176,90,130,193,39,74,212,59,116,83,215,0,0,32,
-0,73,68,65,84,126,144,1,215,75,251,159,161,2,239,242,5,192,111,109,60,120,
-117,235,32,1,248,45,80,107,21,212,92,238,120,200,204,41,41,139,113,72,22,
-131,47,93,60,229,50,12,0,38,233,126,73,218,86,46,59,58,186,29,155,8,112,
-221,21,212,106,103,49,49,177,23,65,188,48,144,221,17,35,111,132,67,26,120,
-179,82,160,123,43,53,25,212,117,184,28,182,137,223,142,224,205,235,1,3,
-67,149,136,145,22,70,6,223,149,150,97,9,240,102,89,21,166,229,228,215,38,
-101,25,213,126,24,69,240,186,174,11,190,120,126,112,138,55,82,178,107,1,
-175,2,88,226,28,224,60,16,180,190,13,56,99,128,101,169,191,82,174,185,120,
-146,5,33,144,156,136,195,6,64,56,2,46,41,202,215,87,182,85,228,9,39,243,
-253,6,86,86,78,99,124,124,47,74,165,42,242,21,227,201,130,114,30,240,138,
-53,131,55,74,176,104,52,22,149,14,22,219,13,188,89,9,25,195,172,128,13,
-224,85,253,91,29,80,69,134,186,85,97,23,193,52,42,190,110,178,57,84,160,
-142,2,120,185,32,176,249,51,224,210,41,254,48,129,23,92,255,26,1,140,131,
-109,102,229,106,16,97,17,159,174,151,97,76,202,99,98,147,60,224,232,190,
-186,45,234,37,99,103,148,27,80,158,71,181,58,139,114,121,58,236,44,210,
-139,55,155,85,27,56,173,212,100,127,224,13,34,29,106,74,7,139,141,4,111,
-63,74,123,179,193,75,24,222,130,236,190,171,247,113,145,222,119,141,103,
-128,50,97,81,72,239,63,40,246,78,9,144,11,26,29,240,70,81,13,98,241,249,
-14,4,135,26,188,220,188,60,181,235,17,128,229,61,66,6,47,215,92,111,134,
-2,134,6,194,164,108,143,200,31,31,26,60,222,108,206,195,117,87,49,62,190,
-19,182,93,65,254,8,136,126,192,155,183,174,68,242,117,133,240,209,104,44,
-41,97,102,89,126,245,118,0,175,72,217,254,193,14,103,189,193,219,57,165,
-230,122,240,246,18,114,166,194,77,110,246,40,164,236,55,34,125,156,240,
-70,129,215,100,165,152,192,235,11,192,191,124,186,99,55,24,193,171,222,
-222,68,197,155,233,253,7,143,247,42,249,54,202,3,238,71,50,166,128,55,169,
-68,57,111,99,117,245,60,198,198,102,48,54,118,40,67,77,13,34,12,173,183,
-26,191,158,215,70,179,185,24,250,189,5,120,243,182,163,31,94,0,231,240,
-132,243,86,39,139,41,103,101,2,78,183,78,32,94,37,205,39,77,152,219,16,
-130,87,80,144,60,193,47,255,35,32,252,145,0,47,197,59,117,230,254,73,244,
-112,174,189,81,181,32,242,214,115,68,190,217,112,253,219,104,181,22,33,
-196,60,170,85,14,198,242,102,165,165,21,223,1,204,225,104,217,224,21,130,
-163,217,92,209,244,109,27,70,240,102,121,194,253,130,23,57,62,175,188,223,
-251,48,0,88,105,59,158,7,190,58,80,201,93,147,35,144,166,77,192,69,221,
-47,84,152,139,1,130,215,180,252,90,193,11,0,126,179,6,177,248,252,104,129,
-55,122,126,118,22,92,26,124,123,249,255,70,40,97,100,152,180,25,202,40,
-125,226,74,8,23,190,223,2,99,2,182,13,5,196,105,47,157,167,157,80,190,52,
-100,34,129,86,107,5,237,118,109,128,224,205,243,255,81,5,239,250,23,226,
-25,160,2,38,51,124,35,63,147,8,130,152,177,58,153,10,98,173,203,161,36,
-96,8,9,144,190,136,131,46,122,157,54,31,62,240,2,128,88,188,0,94,155,31,
-61,240,230,81,189,249,225,60,66,35,79,107,122,164,90,11,68,28,158,231,194,
-178,8,182,109,73,32,214,213,15,206,74,85,214,77,194,233,192,75,112,221,
-26,90,173,213,176,109,80,1,222,181,41,222,193,58,101,235,23,5,161,20,120,
-241,53,93,140,229,240,48,63,101,226,76,157,128,83,235,63,248,148,108,184,
-57,140,138,183,115,176,184,124,26,212,90,29,122,143,55,40,220,179,221,193,
-11,228,107,49,148,247,180,28,16,194,131,16,94,168,136,25,24,35,48,150,167,
-215,91,254,114,148,68,28,237,118,13,237,118,45,236,90,81,128,183,247,140,
-185,245,3,239,250,1,88,232,75,83,234,18,45,76,176,203,227,181,18,81,172,
-254,67,4,80,121,57,93,231,224,205,2,111,192,186,192,239,37,175,93,128,119,
-100,213,111,154,82,202,91,20,39,106,210,236,129,115,23,140,249,176,44,192,
-182,41,12,163,238,175,14,176,16,62,60,175,5,207,107,193,247,91,57,173,134,
-52,24,109,87,240,138,28,224,29,166,48,52,193,141,224,53,41,94,145,3,192,
-105,255,179,64,90,223,87,190,47,171,224,205,4,175,32,64,184,45,136,133,
-211,65,157,133,180,210,157,134,236,181,161,3,175,92,101,109,219,140,44,
-240,230,157,75,140,255,95,8,1,33,92,120,94,0,99,198,56,44,75,192,178,68,
-120,59,158,199,66,196,67,120,55,32,132,11,206,189,176,64,16,71,254,112,
-178,2,188,249,206,90,214,119,34,110,195,106,65,200,209,9,58,0,171,128,203,
-19,1,17,3,28,244,221,52,54,27,188,36,56,200,247,32,230,159,235,212,216,
-29,105,240,110,203,145,167,74,86,158,136,0,100,194,132,72,116,160,74,20,
-212,49,34,10,202,105,16,185,225,125,23,64,43,124,60,79,209,159,2,188,189,
-129,87,228,252,206,135,73,1,231,216,113,77,173,224,179,98,129,101,104,202,
-19,112,81,253,223,168,150,132,12,237,40,250,129,43,48,222,72,240,2,65,82,
-2,159,63,211,115,189,134,161,5,47,207,161,122,183,180,50,78,235,162,96,
-90,70,228,130,175,249,52,88,231,1,167,193,98,187,130,215,180,92,47,175,
-187,177,101,41,157,141,252,233,154,38,217,212,78,200,166,16,52,159,210,
-189,100,83,41,203,141,4,111,192,178,224,128,36,26,43,16,75,231,182,22,120,
-73,4,245,55,116,45,138,182,29,120,243,64,45,207,132,78,150,117,33,52,128,
-23,3,80,129,5,120,243,53,78,29,60,120,7,5,96,150,77,93,97,84,191,121,39,
-227,34,128,202,153,111,60,195,206,240,4,161,205,41,181,11,197,122,129,23,
-0,88,109,17,98,229,226,218,193,171,66,114,80,224,205,11,95,5,188,185,182,
-105,203,194,55,79,173,128,188,237,109,242,0,38,11,188,84,128,119,224,224,
-205,83,15,120,24,59,98,24,192,27,141,32,30,151,25,171,147,153,128,172,179,
-44,44,144,214,255,5,194,166,156,194,60,201,183,222,224,37,34,88,245,37,
-120,42,124,183,10,120,243,40,94,33,182,40,128,129,252,45,230,211,32,145,
-213,64,51,79,72,90,150,247,92,128,183,119,240,166,89,70,195,161,128,245,
-138,215,111,87,168,177,12,54,54,149,190,79,11,115,89,72,53,70,88,87,132,
-29,136,119,192,72,168,105,97,78,226,232,5,188,144,191,130,30,192,11,0,180,
-114,17,94,109,97,107,131,215,180,30,177,149,39,240,210,192,43,144,30,186,
-212,75,42,115,222,206,201,121,235,63,12,26,188,200,169,190,123,5,111,47,
-7,177,245,2,47,229,216,70,21,210,27,175,128,153,238,199,68,110,19,32,1,
-86,157,209,238,176,42,28,243,198,255,10,77,93,7,30,78,192,185,130,58,138,
-215,180,238,141,2,47,132,128,88,185,4,106,44,142,60,120,99,239,75,221,6,
-221,235,106,192,155,90,35,122,75,192,183,159,90,191,105,235,202,106,83,
-100,122,156,10,240,14,20,188,64,118,226,205,240,120,192,210,14,236,130,
-184,11,18,28,214,248,142,160,28,161,52,243,207,165,130,236,170,191,43,168,
-219,233,88,134,157,79,122,47,88,183,131,203,16,245,66,40,203,137,24,235,
-9,94,0,16,203,23,130,14,17,219,5,188,66,108,117,240,82,126,63,56,15,236,
-242,120,137,253,116,202,200,91,65,172,0,111,182,197,209,139,2,30,38,0,203,
-112,113,27,16,220,7,27,159,1,179,108,163,173,32,251,180,166,50,147,242,
-178,114,137,73,78,113,101,44,219,16,209,227,156,104,93,192,219,5,157,148,
-229,183,124,1,84,159,223,62,138,87,147,132,177,181,20,111,47,224,205,235,
-209,102,45,159,5,12,83,248,25,13,17,120,145,19,98,189,130,183,31,224,175,
-53,52,111,212,20,112,140,152,45,208,170,11,140,77,5,157,116,17,143,227,
-149,193,219,81,187,34,233,23,235,134,58,1,151,166,152,211,236,135,65,128,
-23,64,80,205,172,185,220,63,120,85,248,14,59,120,183,180,213,144,6,223,
-60,147,111,212,195,242,253,120,191,72,81,192,5,120,7,155,140,210,83,20,
-4,245,241,195,89,51,128,89,42,92,72,128,154,203,32,193,193,42,19,16,212,
-45,202,46,131,55,147,229,74,24,25,23,122,16,201,245,31,210,236,135,65,129,
-23,194,15,224,43,119,7,222,14,224,85,63,151,188,239,117,164,233,219,111,
-38,156,78,173,230,177,50,242,68,65,228,169,103,95,128,119,112,17,34,185,
-20,112,207,106,100,253,187,34,183,107,32,238,119,10,229,100,129,87,158,
-80,139,188,97,117,168,25,112,190,18,255,171,205,126,83,160,161,77,8,201,
-9,94,144,8,178,219,162,78,197,219,12,188,125,253,14,70,211,95,232,161,30,
-176,200,1,139,94,192,134,12,207,87,32,61,203,110,187,128,55,237,59,89,11,
-120,211,21,48,99,98,32,51,117,131,233,138,12,210,202,225,206,206,238,53,
-209,58,251,12,86,15,95,133,137,18,75,0,55,109,200,160,116,165,132,12,95,
-81,183,198,14,203,131,4,47,0,171,85,11,98,124,67,16,111,75,240,146,72,62,
-158,117,127,228,253,134,188,237,106,250,219,161,245,165,39,145,161,120,
-105,128,224,205,99,135,108,7,240,246,237,1,83,63,255,219,152,150,68,36,
-176,66,22,106,151,151,80,153,156,193,129,137,110,235,114,158,2,70,29,168,
-101,59,65,45,212,163,155,216,27,20,120,35,75,197,91,185,180,189,193,171,
-177,154,182,16,120,13,148,162,53,130,151,122,0,111,86,151,227,172,201,183,
-2,188,107,3,175,169,32,126,207,30,111,46,37,236,172,55,120,99,119,125,15,
-222,194,69,60,231,237,194,161,153,82,18,178,154,236,55,185,138,26,81,215,
-144,208,181,51,82,125,99,99,237,137,30,193,11,0,162,182,0,170,205,21,224,
-205,243,188,209,129,48,229,251,127,214,206,152,167,61,124,214,126,43,82,
-246,239,180,162,59,89,153,117,219,25,188,121,108,22,100,108,79,234,79,38,
-207,105,201,6,0,88,248,217,205,26,73,192,14,11,184,176,149,57,156,110,143,
-99,106,122,6,83,101,166,143,249,165,36,216,117,17,16,242,100,154,92,251,
-65,245,134,251,5,175,229,182,224,173,206,197,59,88,244,2,94,245,255,35,
-14,222,88,73,205,209,5,111,150,162,137,93,24,3,17,17,51,237,140,193,103,
-158,183,185,51,229,4,104,158,118,245,121,38,225,6,1,222,44,104,109,37,240,
-102,85,152,11,110,115,206,68,191,208,93,63,11,34,109,7,84,124,195,82,115,
-25,43,205,101,172,78,238,193,174,233,170,209,247,53,249,194,242,4,156,172,
-116,85,75,163,83,26,178,71,240,2,128,168,47,129,215,230,146,208,41,192,
-27,188,158,201,134,24,125,11,34,22,247,69,4,1,192,54,41,35,206,229,84,228,
-188,225,100,121,11,182,155,192,155,103,221,5,120,123,3,47,133,112,205,246,
-251,155,77,222,68,122,83,190,13,6,112,206,157,208,22,30,92,4,181,253,1,
-128,106,115,88,108,148,208,190,225,88,2,36,186,16,180,168,7,156,234,7,235,
-192,77,68,32,238,245,12,94,203,109,193,111,44,128,90,171,122,203,97,59,
-43,222,78,87,100,177,149,192,171,219,83,59,84,37,98,156,49,178,77,170,168,
-219,137,66,15,151,160,176,122,26,92,85,171,33,203,198,208,69,65,20,224,
-93,43,120,187,7,212,236,73,211,122,29,53,232,67,82,168,23,16,111,92,61,
-96,18,224,194,67,162,47,171,32,248,194,197,124,139,176,220,166,16,180,201,
-24,93,87,41,73,169,75,61,142,70,155,83,236,255,121,193,75,190,7,106,44,
-130,55,151,245,170,183,0,239,86,178,26,152,65,1,11,101,199,226,0,249,0,
-149,77,170,168,221,246,82,119,104,162,149,53,28,7,210,42,165,209,16,128,
-55,239,182,247,10,222,60,203,15,22,188,221,239,51,187,26,218,252,60,173,
-32,94,133,41,15,112,105,157,60,96,145,253,127,225,3,168,196,192,171,66,
-201,227,20,116,187,232,76,125,232,235,61,68,225,101,186,100,138,40,1,163,
-211,158,72,85,176,38,240,182,235,65,226,136,156,88,81,128,183,127,240,142,
-22,164,77,82,148,0,8,207,195,106,185,140,113,243,233,168,155,10,11,162,
-197,28,202,23,25,222,176,14,188,162,0,239,58,100,1,54,155,233,81,16,140,
-129,190,242,21,254,12,228,70,125,73,245,187,9,30,112,14,48,147,160,204,
-157,181,238,81,88,63,184,107,69,200,224,209,217,14,109,222,125,78,7,208,
-146,253,96,180,26,188,86,1,222,126,192,155,39,50,98,52,60,95,83,239,119,
-17,237,88,173,22,22,202,101,186,194,180,111,181,90,46,56,247,97,219,150,
-118,167,39,170,67,136,127,132,101,237,239,193,251,133,70,144,231,173,3,
-92,128,119,45,161,121,181,154,72,225,40,193,247,201,61,117,10,203,72,182,
-172,54,213,37,93,103,0,39,64,101,232,138,44,12,97,106,36,180,5,212,107,
-30,224,251,2,13,67,228,87,90,55,141,110,181,178,36,72,34,224,242,118,125,
-237,86,67,10,124,183,172,226,205,147,136,49,122,67,221,145,34,101,227,47,
-47,139,243,211,211,116,157,137,225,68,192,202,74,19,179,179,227,70,88,248,
-254,99,40,151,247,167,0,39,111,231,139,72,85,251,200,95,244,103,179,192,
-155,5,204,126,193,155,229,25,247,31,19,77,68,88,89,73,143,130,224,156,173,
-0,240,21,245,43,50,94,112,3,20,176,14,188,186,222,99,234,236,121,198,206,
-43,8,88,117,9,45,222,245,119,35,101,204,149,244,102,57,221,57,154,169,47,
-53,151,209,230,60,40,18,100,130,238,176,128,55,92,126,104,193,155,247,53,
-71,199,255,213,41,96,46,67,248,254,251,151,190,243,163,63,58,253,3,102,
-97,67,152,159,95,197,236,108,213,8,11,207,251,123,56,206,11,193,88,53,3,
-30,34,3,72,209,255,121,1,222,117,200,2,92,90,226,202,190,151,188,189,184,
-72,207,134,0,246,149,131,117,158,216,192,117,2,176,72,135,23,9,2,235,17,
-188,234,150,71,137,25,77,159,208,242,129,21,87,192,229,129,101,225,139,
-16,206,110,11,86,115,37,176,22,90,171,128,223,2,95,75,230,154,242,127,231,
-204,147,176,151,46,193,98,64,121,247,21,192,225,147,88,109,113,8,162,254,
-193,203,125,148,159,121,4,54,99,96,12,24,187,230,6,212,132,131,182,207,
-193,90,117,148,159,63,5,219,98,96,0,198,78,92,131,26,217,104,123,124,83,
-192,187,5,195,207,116,132,19,146,194,241,255,248,143,47,61,250,174,119,
-77,183,25,163,138,233,215,185,184,88,7,231,60,180,33,116,59,185,15,207,
-251,2,202,229,123,12,32,201,91,113,13,0,154,225,230,21,224,29,116,22,224,
-220,92,86,214,35,225,225,135,233,187,242,239,67,99,65,228,238,228,105,13,
-254,68,206,55,247,10,139,78,93,213,83,88,201,130,48,41,96,117,120,34,238,
-9,123,34,14,95,112,55,80,146,190,151,222,105,88,173,201,171,2,73,241,121,
-75,110,3,168,45,67,172,46,227,196,180,141,187,175,217,139,137,178,21,248,
-205,178,218,207,130,83,8,94,0,96,196,97,53,106,160,250,42,68,109,21,247,
-222,118,24,135,118,77,192,102,4,219,111,195,106,214,65,245,26,68,189,134,
-183,221,118,8,199,118,79,194,177,50,236,0,77,22,98,12,190,242,123,53,109,
-175,244,120,167,19,114,94,232,10,49,106,224,85,229,165,0,224,1,240,133,
-128,219,104,224,108,218,78,207,185,192,220,220,42,210,10,167,251,254,195,
-240,253,111,34,127,216,104,50,41,128,200,11,195,218,178,148,115,158,68,
-14,129,236,120,227,180,108,188,172,229,210,26,141,230,141,109,78,179,99,
-210,106,36,167,125,189,250,109,241,60,194,226,162,72,133,181,16,224,159,
-252,36,125,91,82,192,242,68,92,79,33,104,131,5,112,26,120,85,248,202,143,
-133,69,109,18,254,174,97,226,205,212,100,83,144,162,230,12,235,237,23,188,
-17,44,45,214,61,123,221,57,81,198,161,29,21,148,45,234,11,188,32,17,66,
-45,190,200,213,251,166,48,83,102,176,4,135,101,197,191,162,19,251,102,48,
-51,94,14,178,2,55,19,188,105,125,225,70,3,190,100,80,190,92,82,192,126,
-8,97,239,193,7,155,95,205,82,109,231,206,45,41,49,193,201,157,223,117,191,
-12,223,255,94,14,232,38,97,65,180,2,162,37,244,150,57,215,47,120,49,162,
-224,165,158,193,27,61,254,212,83,190,146,213,152,252,158,87,87,241,244,
-242,50,234,209,239,66,130,176,208,120,193,200,82,194,27,26,7,156,6,138,
-180,126,113,62,153,91,224,117,34,30,194,52,231,216,186,179,60,220,53,116,
-161,0,0,219,2,74,182,5,134,156,224,205,242,120,195,81,178,45,68,156,103,
-182,141,201,61,187,113,120,215,36,42,37,27,149,74,57,246,93,218,203,11,
-40,93,60,11,48,192,30,27,195,228,13,55,97,190,214,130,215,110,15,206,106,
-208,45,154,8,239,27,201,73,185,200,15,86,247,86,174,0,216,253,248,199,207,
-254,205,75,95,122,213,59,1,148,77,251,150,235,250,56,123,118,9,135,14,237,
-72,57,141,246,225,186,159,131,227,60,15,199,185,67,210,64,233,190,111,0,
-223,149,12,120,14,194,106,200,58,141,31,54,171,1,24,68,22,96,189,78,88,
-89,201,206,86,252,230,55,233,203,0,92,13,128,57,210,11,63,99,115,1,156,
-195,251,245,41,94,245,204,2,161,37,88,226,61,116,106,61,136,228,250,109,
-225,193,207,82,107,107,153,92,35,145,231,192,214,27,120,83,96,197,75,21,
-236,188,241,38,188,244,150,67,152,157,168,224,185,229,54,22,86,91,224,97,
-38,90,217,138,14,58,192,236,88,9,255,228,229,215,224,15,190,242,8,46,182,
-215,7,188,73,175,127,164,193,171,126,137,66,153,84,241,195,157,205,109,
-183,209,152,155,163,239,237,217,131,59,204,223,61,225,220,185,101,236,220,
-89,197,196,68,57,21,42,190,255,8,56,127,26,182,125,61,44,235,32,24,211,
-45,239,67,136,5,16,93,4,81,171,0,239,58,128,55,250,205,63,249,36,71,86,
-219,41,206,105,249,55,127,19,95,143,126,19,138,13,161,134,164,109,92,38,
-28,17,25,218,99,32,174,70,117,147,66,105,147,99,208,219,13,170,82,214,65,
-163,179,222,1,244,93,75,76,174,229,25,189,68,53,104,35,27,130,247,228,251,
-62,158,189,180,132,63,249,90,19,182,197,192,5,97,165,209,2,15,223,31,99,
-172,243,45,59,182,133,131,187,38,81,178,173,245,7,175,250,88,222,78,25,
-195,11,98,17,202,81,25,190,145,202,105,3,104,255,234,175,94,248,244,199,
-62,118,197,173,150,133,146,233,32,76,68,120,234,169,57,220,116,211,62,216,
-54,75,133,20,81,3,190,255,109,0,223,6,99,83,96,108,60,220,37,91,32,106,
-130,168,190,70,197,11,172,125,226,106,144,41,198,121,214,67,27,6,222,232,
-250,185,231,56,218,109,66,86,247,235,71,31,101,95,20,130,90,225,239,193,
-53,88,16,192,80,36,98,100,40,33,19,120,213,236,55,57,219,173,49,127,17,
-243,79,63,137,198,210,60,136,217,160,234,52,236,43,78,160,60,181,23,145,
-203,233,74,222,170,181,116,9,165,229,75,176,189,38,44,219,1,27,159,128,
-152,217,139,182,229,196,11,184,235,0,200,125,216,139,115,112,218,43,112,
-24,192,38,103,32,166,118,130,89,249,192,75,36,224,212,150,225,52,86,96,
-131,192,202,37,96,114,6,110,101,2,158,239,131,124,63,131,11,161,173,33,
-56,248,74,13,43,117,6,6,2,31,27,7,39,6,171,213,128,195,0,199,119,59,239,
-221,243,60,60,247,236,243,96,141,21,84,253,54,4,99,16,229,50,188,196,113,
-135,195,113,91,40,185,46,108,0,204,177,64,99,85,184,142,3,143,43,7,11,67,
-71,16,221,217,204,136,246,135,211,153,137,170,7,236,2,104,63,242,72,243,
-210,242,50,123,108,118,150,110,73,179,249,90,45,15,79,63,61,135,171,175,
-222,3,198,242,65,138,104,57,244,119,145,1,151,2,188,131,2,47,64,184,116,
-137,112,241,162,200,248,89,0,68,104,254,194,47,208,103,163,131,177,116,
-112,230,26,8,231,174,228,62,160,174,200,126,255,224,141,234,237,106,54,
-49,234,255,214,88,90,192,3,255,237,207,48,247,212,227,218,117,222,244,161,
-95,192,83,126,21,53,223,11,194,221,150,47,162,252,189,251,193,106,11,177,
-243,74,0,128,197,176,231,196,213,240,14,94,139,165,70,91,219,73,131,45,
-94,68,233,217,71,193,194,201,171,232,221,149,171,99,176,202,101,120,25,
-159,129,85,95,66,249,244,211,128,219,234,188,126,52,102,118,237,130,115,
-213,73,204,183,44,184,126,246,233,186,229,251,40,159,57,213,185,127,243,
-107,94,129,167,47,215,209,126,230,12,152,231,198,182,101,97,169,134,255,
-252,201,255,55,120,15,0,118,237,221,133,153,195,87,224,212,133,37,184,126,
-48,145,102,187,45,84,46,95,6,194,3,128,252,179,156,221,49,13,251,192,126,
-92,110,180,225,186,158,30,188,154,239,110,132,193,203,180,134,107,240,149,
-219,50,124,195,75,243,35,31,57,243,95,126,227,55,174,252,53,199,65,213,
-124,90,15,44,46,54,241,216,99,23,113,253,245,123,192,24,195,218,251,153,
-21,224,29,36,120,1,96,117,149,240,236,179,34,21,188,209,248,242,151,241,
-39,158,135,26,128,150,100,65,68,16,214,89,15,185,44,8,107,141,63,224,248,
-206,152,81,142,50,6,95,83,72,26,226,19,114,75,151,46,226,203,191,253,113,
-35,124,1,224,109,199,75,56,56,1,148,136,131,205,159,133,253,245,207,118,
-224,155,60,109,38,44,62,249,125,76,63,243,15,56,60,91,133,99,177,152,130,
-179,22,206,163,252,228,131,29,248,202,195,109,182,208,90,94,73,158,134,
-75,118,7,91,93,68,233,212,35,29,248,6,54,65,247,13,213,230,231,225,60,247,
-20,174,219,183,3,149,146,29,190,127,50,126,102,150,226,237,220,119,231,
-9,236,155,170,196,162,49,76,227,200,158,25,188,230,150,171,48,93,45,5,240,
-109,183,80,190,120,161,3,223,196,182,45,173,160,116,233,34,174,219,191,
-19,149,146,211,5,111,24,210,167,126,111,20,197,62,143,246,80,247,104,57,
-9,67,182,33,90,0,218,79,63,237,207,61,244,144,251,63,244,59,119,252,179,
-88,93,109,227,201,39,47,135,145,17,249,102,226,205,17,0,189,212,5,206,138,
-24,200,27,213,144,21,5,209,111,84,3,144,29,165,144,39,25,165,255,247,244,
-244,211,28,143,62,42,39,93,152,185,217,106,225,252,175,253,26,190,20,253,
-6,36,11,34,107,2,110,19,45,8,233,116,87,107,77,40,208,213,41,96,33,56,254,
-238,15,127,15,110,61,168,211,224,56,54,222,245,246,215,226,214,91,175,195,
-228,236,14,204,205,175,226,145,71,158,68,181,226,4,137,10,220,131,243,15,
-159,3,40,120,205,153,233,73,188,255,61,111,196,241,19,135,48,183,88,195,
-231,62,255,247,248,218,55,30,2,0,156,123,238,12,94,118,226,16,196,142,43,
-112,122,161,1,193,61,128,115,56,207,61,222,209,69,251,247,237,194,63,255,
-241,123,112,224,224,62,204,45,174,226,11,95,254,22,190,252,229,239,64,32,
-153,82,77,130,3,66,96,236,204,83,157,175,224,182,155,79,224,3,63,246,6,
-148,198,170,120,224,193,39,241,201,63,248,31,112,93,15,151,231,230,241,
-2,167,129,250,206,113,60,115,97,73,63,177,23,254,48,84,204,206,78,150,81,
-118,108,140,239,191,2,47,185,230,0,234,139,43,248,250,183,31,3,0,76,77,
-86,241,238,251,94,133,150,235,131,64,152,221,49,133,26,11,167,249,185,64,
-229,242,92,119,219,110,58,142,159,122,247,15,162,92,41,227,129,135,158,
-198,39,255,240,115,193,182,93,94,194,109,183,57,168,239,154,192,51,231,
-47,67,16,245,62,185,150,244,203,105,4,32,204,36,31,88,5,112,59,220,87,154,
-0,74,191,248,139,231,255,251,159,255,249,225,59,170,85,28,73,155,180,9,
-148,112,3,223,251,94,27,215,92,179,27,227,227,14,250,75,18,216,206,138,
-55,235,117,123,123,79,156,3,79,60,33,176,186,154,213,15,174,163,175,220,
-143,127,28,191,17,126,247,45,73,1,203,22,68,218,4,220,64,19,49,114,19,158,
-4,143,193,151,56,215,43,94,37,6,87,238,227,246,236,131,15,98,233,252,185,
-206,255,126,233,103,223,139,183,220,247,70,204,77,29,193,231,46,79,225,
-115,141,3,184,120,226,85,248,155,203,99,184,92,119,129,211,143,1,173,122,
-232,52,48,252,202,191,251,113,28,188,230,4,254,250,169,101,252,197,19,203,
-192,213,183,224,248,181,199,59,235,123,248,91,223,195,139,143,238,192,84,
-88,104,208,89,56,215,81,190,22,99,248,232,135,223,13,103,231,110,252,241,
-119,206,224,147,223,58,139,197,221,71,113,252,250,227,138,71,221,245,76,
-157,165,203,128,231,2,0,166,167,39,240,111,254,217,219,241,236,146,135,
-79,124,233,49,124,241,249,6,14,95,123,162,243,188,103,190,255,44,94,112,
-116,55,38,42,189,29,3,45,48,64,112,120,147,83,88,41,87,209,114,186,243,
-65,19,213,49,220,117,231,13,16,51,51,88,180,199,240,253,197,22,190,241,
-253,51,168,53,91,40,53,106,29,165,62,61,53,142,127,243,161,183,225,217,
-133,26,254,211,95,125,11,159,127,242,60,14,159,56,212,89,207,179,79,159,
-193,11,79,28,192,68,165,156,248,190,130,26,203,220,12,222,94,39,43,135,
-67,253,170,178,73,14,174,151,109,136,22,128,166,16,168,127,248,195,23,63,
-238,251,180,154,167,0,123,187,205,241,200,35,23,113,230,204,114,88,188,
-29,125,170,192,237,168,120,197,128,222,83,16,106,246,189,239,241,16,190,
-185,156,2,241,249,207,227,119,191,254,117,60,39,1,88,246,128,229,40,136,
-190,186,98,56,131,249,1,119,207,67,19,138,87,8,189,69,161,236,168,106,13,
-96,87,0,207,62,242,112,231,254,141,215,30,197,173,183,223,130,47,156,33,
-124,227,130,192,165,102,80,63,184,197,3,184,55,154,2,206,249,83,29,191,
-245,182,91,78,96,124,118,23,62,245,181,83,120,224,31,23,177,218,246,97,
-91,12,187,119,30,4,16,120,170,203,43,117,28,170,114,204,142,59,88,105,182,
-225,212,186,147,32,47,188,245,36,236,241,73,124,230,171,79,227,129,231,
-22,80,111,52,225,216,54,38,22,27,198,15,163,84,239,62,255,234,99,7,240,
-240,169,179,248,203,111,61,131,103,46,173,192,231,28,19,190,219,249,255,
-115,255,120,17,111,191,114,22,247,63,126,22,245,90,195,224,151,123,128,
-208,57,206,2,245,86,27,223,124,242,44,198,155,241,231,206,175,52,240,55,
-15,63,135,179,151,87,32,132,128,199,57,218,30,71,85,178,68,174,62,182,31,
-15,63,245,60,254,242,239,30,197,51,23,23,225,251,2,147,172,251,189,61,119,
-250,34,238,187,239,85,184,255,161,167,177,82,167,32,210,66,173,169,156,
-47,186,132,70,12,196,145,10,102,146,2,182,36,21,108,135,251,140,125,234,
-84,251,194,103,62,83,251,228,189,247,78,252,180,101,49,59,171,179,174,16,
-192,217,179,171,152,155,107,224,192,129,9,236,221,59,142,32,199,166,80,
-188,107,87,188,233,239,173,94,39,60,247,156,192,234,106,182,226,149,199,
-153,51,248,218,111,254,38,238,7,208,8,47,106,4,196,154,212,239,90,0,76,
-153,86,131,41,27,74,164,23,147,145,231,165,150,46,94,232,220,190,237,230,
-147,56,91,7,158,88,228,184,220,2,218,28,240,68,112,237,186,28,68,12,182,
-228,251,158,60,126,8,79,207,173,226,241,11,171,88,108,122,32,2,92,95,224,
-146,83,1,147,230,95,252,90,13,251,103,198,113,126,169,9,171,213,232,0,252,
-248,177,3,248,255,219,59,243,32,71,174,250,142,127,95,119,75,106,141,70,
-163,185,118,103,246,246,122,109,175,247,240,177,94,199,39,38,62,176,193,
-142,13,36,64,17,12,101,112,145,64,82,41,168,34,152,34,84,1,78,254,161,2,
-5,5,69,2,73,40,99,112,138,4,87,5,23,137,73,112,176,29,40,72,204,130,247,
-192,187,94,239,225,217,99,246,154,251,144,52,146,90,125,188,247,242,71,
-235,120,106,245,33,205,177,59,187,251,126,85,61,35,181,90,210,235,86,247,
-167,191,239,247,126,239,247,59,54,145,199,155,35,179,152,43,25,224,28,160,
-182,141,152,29,80,33,131,179,134,247,239,217,63,132,61,251,135,26,54,19,
-19,94,58,148,162,71,215,144,140,213,39,93,8,50,51,100,18,72,229,130,166,
-28,37,199,1,241,12,150,57,140,99,174,104,32,87,52,26,149,179,237,212,126,
-180,61,7,142,99,207,129,250,192,30,105,106,27,67,111,135,14,61,30,243,31,
-56,141,6,111,148,202,92,78,112,22,39,99,16,65,74,121,33,172,136,0,6,160,
-62,245,212,236,111,50,25,37,125,223,125,201,199,221,138,25,81,94,23,14,
-203,114,48,60,156,195,217,179,121,244,246,234,232,235,211,145,78,199,80,
-159,240,120,41,130,55,10,148,139,11,94,206,57,74,37,96,102,134,97,102,134,
-195,48,218,63,237,230,230,112,252,99,31,195,63,86,46,141,146,160,128,173,
-197,82,191,237,0,56,42,75,72,52,120,67,46,216,160,11,220,44,214,177,208,
-145,74,97,210,0,10,54,169,251,37,189,126,88,97,224,44,30,143,99,36,103,
-162,104,58,96,172,158,154,210,182,9,226,170,86,235,142,59,142,141,222,148,
-59,24,39,134,134,105,90,12,35,51,69,148,76,7,156,5,197,241,86,254,84,98,
-121,57,109,175,251,173,16,32,25,215,130,7,212,152,3,176,136,56,233,166,
-74,212,1,63,21,163,109,181,141,40,128,174,41,80,192,155,103,33,182,159,
-138,114,65,133,11,47,16,140,171,3,114,196,3,96,165,178,142,0,80,190,246,
-181,233,151,7,7,87,245,108,219,70,254,136,16,66,162,43,233,86,39,98,112,
-76,76,148,48,49,81,4,33,4,169,148,6,93,87,161,235,42,52,141,4,0,57,10,188,
-104,3,188,173,2,16,45,130,181,21,240,206,231,123,163,239,223,156,115,56,
-14,96,154,12,166,9,20,10,28,117,164,180,127,191,47,151,113,238,177,199,
-240,55,21,248,22,3,252,191,222,36,60,109,171,223,118,21,112,176,115,197,
-175,228,79,216,69,27,1,222,26,68,147,58,144,203,1,0,102,178,121,12,48,33,
-183,148,248,113,213,1,171,132,14,24,5,215,189,144,43,34,57,72,93,248,10,
-185,15,152,67,33,252,58,232,76,37,17,47,43,110,55,91,213,42,61,12,32,151,
-47,160,163,159,130,49,26,50,210,223,184,223,138,166,129,218,238,77,224,
-222,183,92,143,29,215,95,5,219,161,30,38,10,249,45,136,234,190,230,5,55,
-175,0,51,44,178,164,18,61,17,249,43,87,218,71,84,5,220,113,247,251,222,
-59,183,99,199,117,87,194,118,104,253,230,228,125,27,39,205,44,159,63,120,
-151,251,160,156,8,222,186,159,167,174,130,109,1,186,34,144,9,0,124,230,
-51,163,255,246,196,19,125,217,187,239,78,60,166,170,226,36,141,40,232,212,
-207,223,66,193,70,161,96,69,42,232,214,59,19,173,64,180,213,237,23,250,
-60,170,66,116,187,229,224,219,217,190,189,83,109,102,6,135,63,248,65,124,
-9,192,28,128,130,160,128,197,240,179,160,92,192,75,166,128,195,129,220,
-28,109,30,216,77,15,2,175,31,7,122,6,86,98,122,108,28,0,240,202,111,246,
-227,134,183,63,12,85,80,139,98,62,96,0,208,186,251,65,179,83,0,128,131,
-135,143,227,158,235,111,132,138,198,68,50,106,161,49,216,125,195,186,65,
-236,57,56,9,230,216,80,19,9,48,195,85,221,167,78,143,225,230,45,91,161,
-138,113,96,156,5,255,160,156,85,110,0,110,215,223,180,29,116,175,94,133,
-189,39,38,80,52,29,65,153,214,63,111,207,238,33,140,78,101,125,20,125,216,
-172,52,222,24,2,22,150,20,71,84,219,177,24,88,165,118,153,105,59,200,172,
-232,197,222,55,207,162,104,90,117,225,44,124,214,158,51,83,24,155,201,55,
-173,175,61,118,172,133,220,180,151,51,140,189,0,174,62,118,4,248,18,120,
-98,136,191,250,213,233,23,179,217,238,252,187,223,157,250,184,170,178,142,
-249,193,66,130,119,241,192,219,222,169,197,57,216,241,227,248,249,39,62,
-129,239,9,224,21,213,175,25,1,95,62,31,234,107,33,106,32,234,200,213,150,
-14,219,176,140,68,103,36,124,195,210,66,54,5,98,113,142,43,183,93,143,99,
-251,221,129,184,145,209,105,236,125,233,37,116,222,240,128,219,45,230,141,
-176,225,142,13,101,245,38,96,248,8,0,224,248,201,17,220,116,234,4,186,116,
-21,179,197,138,219,130,82,104,163,39,107,111,187,114,195,32,82,233,78,76,
-230,134,97,83,14,45,211,13,100,93,63,242,129,67,39,113,235,91,11,72,198,
-53,16,184,62,96,216,38,88,169,228,3,68,23,132,106,87,6,78,118,214,189,97,
-252,246,16,6,214,173,193,107,211,38,206,205,20,27,32,203,29,55,235,18,7,
-71,217,166,109,71,14,212,160,200,57,56,33,181,31,171,80,50,42,109,225,141,
-110,12,206,160,116,36,129,202,96,223,43,175,30,193,202,85,43,240,187,115,
-83,56,59,153,5,163,172,233,216,115,206,81,182,172,122,21,19,15,132,121,
-132,75,131,115,206,230,125,53,44,15,21,76,132,139,75,252,129,72,208,141,
-230,169,167,178,175,188,244,82,97,232,43,95,233,255,203,174,46,92,117,126,
-193,27,246,121,18,188,97,230,56,48,158,123,14,223,254,254,247,177,71,80,
-188,126,174,135,106,88,226,188,146,175,207,87,1,71,149,96,101,69,206,139,
-74,132,219,129,59,54,136,166,7,190,46,22,210,172,1,114,231,77,232,125,249,
-69,204,76,76,2,0,126,252,220,11,216,248,198,9,144,141,215,129,32,9,146,
-207,65,29,27,134,190,233,6,160,103,21,232,192,38,116,174,92,137,194,196,
-4,0,224,185,103,127,138,117,215,94,133,62,165,3,197,146,1,62,126,22,92,
-0,232,135,222,123,31,134,167,10,24,207,150,96,59,54,244,222,149,32,103,
-78,213,224,242,236,15,126,130,21,215,92,133,162,233,192,44,22,192,39,199,
-193,44,179,1,132,164,38,144,0,218,221,11,125,106,28,229,146,81,105,239,
-139,24,88,183,26,9,45,9,131,19,80,203,4,108,7,164,84,132,154,72,64,29,28,
-68,57,44,109,166,175,143,215,3,67,173,62,246,83,40,150,241,204,15,94,128,
-230,0,105,179,8,78,41,148,158,12,10,101,11,142,22,131,158,76,160,108,184,
-237,255,247,231,127,133,149,171,250,145,100,64,201,161,96,212,141,99,38,
-166,141,88,76,3,233,77,163,108,33,56,233,123,216,77,131,49,128,212,50,134,
-183,90,208,108,57,187,34,32,248,131,109,159,247,212,242,8,159,58,229,208,
-247,191,127,236,201,175,127,125,229,7,54,111,86,238,111,78,226,46,193,187,
-92,192,203,57,120,54,139,131,79,62,137,239,12,13,97,180,2,220,234,128,155,
-159,223,215,130,127,234,201,121,155,54,143,19,148,55,57,159,203,133,2,210,
-43,67,253,189,176,203,128,158,246,247,29,50,7,19,165,230,72,8,70,98,120,
-224,163,127,138,159,126,235,239,144,207,207,1,0,78,30,57,10,28,57,218,240,
-246,183,220,178,29,185,158,24,14,142,149,145,186,245,126,40,255,251,60,
-242,217,57,48,206,67,176,223,149,0,0,17,66,73,68,65,84,113,234,240,144,
-239,142,124,232,61,247,96,253,166,245,248,151,95,31,67,182,100,130,115,
-160,196,20,172,221,182,21,227,175,187,170,123,174,80,194,220,190,3,13,239,
-203,100,58,145,203,185,126,102,234,81,142,69,139,97,253,181,155,129,67,
-135,80,46,91,224,156,96,236,244,168,239,65,220,184,166,23,215,238,184,2,
-47,238,59,129,92,193,14,117,53,132,246,147,99,49,36,245,56,172,178,235,
-18,56,116,244,116,237,181,100,71,2,119,221,184,9,191,216,127,12,115,37,
-11,125,27,6,129,147,35,40,155,54,56,39,24,31,153,246,149,117,27,215,173,
-192,230,235,175,194,207,118,31,194,236,156,17,94,78,42,200,237,193,91,202,
-145,186,220,21,177,215,29,225,4,108,39,38,114,167,0,156,79,125,106,226,
-159,183,110,141,191,248,249,207,247,253,73,111,47,219,206,57,148,75,23,
-188,237,250,97,47,44,120,43,157,208,209,31,253,8,255,250,204,51,216,135,
-198,40,135,18,234,49,223,98,200,153,168,124,233,66,93,15,53,215,224,60,
-125,99,13,149,99,233,196,177,179,190,23,168,95,14,224,128,73,24,34,128,
-221,134,113,24,140,128,103,6,240,199,159,253,44,238,190,247,14,196,99,205,
-247,139,120,34,142,157,27,186,208,155,36,0,103,152,176,227,88,255,192,187,
-176,243,214,27,16,211,154,183,223,176,118,0,95,248,244,163,184,251,190,
-219,240,210,193,179,216,123,114,26,37,203,109,131,67,41,178,201,110,236,
-188,251,118,116,103,26,93,42,177,152,138,63,252,131,59,241,241,199,30,170,
-173,179,44,187,86,42,8,156,129,49,138,9,139,96,243,91,239,192,77,55,94,
-11,77,85,125,15,96,186,51,137,91,182,95,137,129,76,170,146,49,203,207,171,
-193,133,228,208,162,175,156,213,99,114,25,131,69,57,210,27,215,99,96,160,
-167,233,99,58,244,4,110,223,186,1,157,122,2,14,165,24,207,151,112,245,206,
-205,216,113,253,85,33,109,211,241,123,219,55,97,160,187,19,110,50,47,159,
-193,83,199,110,28,56,244,75,194,206,105,209,231,92,97,23,129,47,152,135,
-64,86,76,210,35,78,206,168,94,184,133,202,146,7,144,63,116,200,58,253,232,
-163,163,95,250,226,23,115,79,204,206,42,251,0,98,183,54,218,31,213,73,8,
-154,2,221,206,103,47,213,243,176,246,183,18,34,183,144,237,163,127,91,219,
-198,153,231,159,199,55,30,121,4,79,60,243,12,118,1,200,194,29,112,171,14,
-186,249,197,252,86,221,15,139,10,223,118,92,16,126,71,181,118,81,209,115,
-111,140,104,91,223,230,16,64,11,234,78,179,236,8,212,244,10,255,238,43,
-103,24,62,57,12,236,216,82,115,71,208,74,69,12,155,19,140,242,78,172,123,
-240,253,248,171,247,190,7,152,30,65,41,159,69,92,83,209,221,211,141,254,
-193,1,140,151,24,138,7,166,64,25,131,73,57,14,103,25,54,173,219,134,15,
-222,126,51,122,184,1,199,180,208,161,107,24,28,232,71,87,119,23,78,77,21,
-240,195,93,199,177,251,196,36,38,231,76,240,42,60,168,131,124,129,226,77,
-162,227,150,135,239,199,213,93,49,104,212,65,38,173,99,195,186,85,40,57,
-12,175,13,79,226,93,143,191,15,119,109,89,141,184,166,226,213,161,81,56,
-130,111,187,100,217,56,112,102,26,91,214,14,226,35,127,118,35,186,84,192,
-49,203,32,0,82,201,4,250,251,187,145,233,74,97,60,87,194,47,94,31,118,107,
-187,41,10,86,223,122,19,254,252,193,157,24,236,233,196,216,108,1,101,203,
-118,219,165,170,184,226,142,157,248,232,3,59,48,216,147,198,232,116,222,
-125,173,210,81,102,142,141,137,2,197,142,45,87,226,157,15,175,66,82,33,
-32,32,72,167,146,24,24,232,198,240,100,22,182,229,150,101,42,49,134,3,167,
-38,176,101,253,0,62,252,145,7,145,73,196,224,88,118,67,219,186,210,73,140,
-207,230,241,243,223,189,233,182,205,11,222,154,132,48,253,35,95,120,237,
-88,102,209,92,105,152,47,244,10,90,6,254,224,170,79,216,47,135,132,88,39,
-172,54,131,238,213,87,203,229,71,31,29,253,114,58,173,164,62,247,185,238,
-183,109,217,162,222,22,143,99,173,162,240,184,84,188,75,174,120,153,105,
-98,106,116,20,175,63,253,52,126,186,123,55,70,81,159,205,38,206,108,51,
-61,192,245,171,120,65,209,90,64,115,203,70,66,214,139,75,53,0,61,14,32,
-1,32,9,160,19,64,26,64,55,128,110,253,254,79,126,11,156,119,7,163,62,142,
-216,213,119,6,250,128,1,224,83,31,120,16,61,9,130,162,205,81,182,25,10,
-142,91,154,222,112,56,76,167,18,112,1,142,84,204,149,238,134,3,204,150,
-108,140,231,13,100,167,103,49,91,182,192,76,3,188,60,135,24,55,209,165,
-216,232,209,85,12,116,37,144,74,104,176,29,138,153,162,133,137,188,129,
-108,201,66,201,180,124,195,192,8,128,84,66,69,127,58,137,193,140,142,76,
-71,28,134,69,49,158,43,97,42,111,192,166,12,93,73,55,255,68,201,116,48,
-83,40,131,50,222,24,135,172,169,200,232,42,186,59,117,172,236,74,34,157,
-140,67,33,4,134,101,35,91,52,49,83,48,48,91,48,80,48,76,48,198,17,215,20,
-172,232,74,33,166,2,182,67,49,53,103,160,92,81,230,122,92,67,127,74,71,
-76,83,96,59,12,147,249,18,76,179,220,112,252,18,154,130,21,153,20,6,123,
-211,232,233,76,66,85,8,138,37,19,35,211,121,156,158,156,133,37,76,32,137,
-199,84,100,146,9,244,164,147,88,217,157,66,58,169,131,40,4,229,178,137,
-217,130,129,217,185,34,102,242,37,20,12,3,204,179,95,46,126,202,96,217,
-177,208,223,146,59,214,43,206,208,255,125,163,162,48,114,21,133,81,237,
-234,153,66,151,142,46,214,201,188,4,70,60,215,67,181,215,88,141,132,208,
-42,143,99,149,199,177,202,53,82,93,98,149,235,37,225,93,175,40,136,63,254,
-120,231,117,183,220,162,223,220,219,75,214,196,227,188,39,145,224,105,206,
-161,18,2,149,115,78,36,120,91,7,47,231,96,138,2,106,219,48,44,11,179,133,
-2,38,142,30,197,27,79,63,141,93,99,99,152,19,128,106,9,139,233,249,111,
-163,57,209,186,19,224,74,91,148,1,102,18,177,94,17,0,172,10,39,84,18,64,
-10,64,23,128,12,128,238,196,189,127,241,36,81,148,45,8,25,140,211,174,188,
-5,68,79,7,38,66,207,220,112,63,62,125,115,178,6,224,188,13,148,28,183,234,
-113,209,230,48,28,247,191,77,57,138,54,131,65,9,12,211,130,93,54,64,75,
-57,112,219,4,183,12,112,179,232,150,160,47,229,64,56,67,76,85,160,42,110,
-36,132,195,24,40,165,254,241,183,30,23,10,33,46,72,171,137,208,109,135,
-85,50,91,121,29,74,1,149,134,57,131,162,144,202,247,187,213,114,25,119,
-103,154,81,234,84,2,22,34,146,221,4,229,227,245,1,31,33,4,170,66,220,252,
-197,32,160,149,169,200,13,177,190,194,254,185,109,83,161,42,213,175,226,
-112,40,173,28,31,31,240,86,149,112,105,22,220,152,11,109,55,155,155,252,
-39,122,246,245,159,85,0,156,247,0,216,59,149,115,185,2,216,11,97,17,198,
-10,154,103,200,105,2,136,99,2,144,253,30,87,183,85,5,144,123,39,122,120,
-195,221,8,164,133,245,202,189,217,236,188,25,237,108,15,136,109,15,116,
-171,231,164,45,184,155,248,82,193,183,21,23,68,88,38,13,209,31,230,240,
-226,244,33,146,94,177,37,76,21,177,236,24,212,129,84,19,120,171,150,59,
-248,11,156,222,252,14,244,233,245,243,204,155,175,215,97,46,148,203,148,
-192,112,0,139,2,204,118,243,0,55,68,93,152,69,55,33,16,0,211,161,222,238,
-113,40,120,133,187,106,83,55,188,85,240,214,249,201,97,178,234,185,128,
-230,28,186,139,0,222,234,231,113,74,107,165,124,91,217,63,70,41,76,111,
-138,80,191,253,242,126,151,101,132,215,139,3,113,232,232,145,61,104,174,
-26,27,149,178,111,185,187,35,68,183,68,80,245,74,191,84,150,49,15,156,85,
-225,191,184,52,76,240,240,0,88,194,55,88,114,55,185,69,61,231,157,227,89,
-68,149,43,66,215,123,174,134,85,48,93,148,243,85,139,56,233,130,188,234,
-222,108,81,182,51,188,247,215,177,237,111,119,167,99,6,204,152,98,217,17,
-40,125,235,43,9,170,225,11,180,239,254,108,47,62,249,208,77,158,129,167,
-230,16,53,214,48,80,37,170,105,203,85,191,182,233,231,151,12,6,83,16,12,
-231,9,222,160,207,89,10,240,134,206,66,244,139,90,8,74,172,30,1,94,0,224,
-229,185,224,73,24,181,242,83,124,26,212,46,194,191,102,214,114,86,187,237,
-66,152,11,61,69,17,0,170,7,194,34,108,69,229,43,46,36,2,192,18,194,209,
-0,142,130,48,245,129,173,19,1,222,37,131,111,171,131,112,222,29,245,219,
-49,155,141,15,141,98,219,253,227,0,25,12,83,78,44,59,2,181,103,77,51,68,
-42,176,97,51,167,241,15,191,234,195,99,119,94,17,184,143,94,32,171,140,
-186,241,65,149,124,16,188,56,43,193,187,200,224,173,109,91,158,139,60,86,
-220,46,238,133,127,210,18,134,121,84,142,93,134,16,22,129,88,221,31,5,205,
-149,149,171,112,117,2,212,174,234,113,101,16,233,126,88,144,27,66,236,153,
-208,0,151,132,23,182,222,1,54,177,135,31,4,251,69,179,118,115,65,136,119,
-7,71,184,192,108,0,22,47,101,119,147,84,207,35,129,5,50,1,176,233,211,80,
-210,253,32,90,66,0,73,35,200,204,83,123,241,221,194,52,30,185,107,135,91,
-245,55,204,4,8,241,242,28,120,110,180,62,69,87,130,119,209,192,235,171,
-126,253,142,21,8,165,35,71,254,203,227,111,243,134,240,44,231,201,24,173,
-64,216,239,66,164,104,76,228,35,170,48,226,129,173,234,89,39,250,149,73,
-136,255,89,154,255,77,219,207,21,225,229,149,87,25,123,65,205,207,151,234,
-157,143,15,24,62,119,119,17,194,22,0,219,62,244,242,11,241,155,223,247,
-14,226,118,185,124,167,30,115,203,0,157,60,9,117,112,115,40,200,216,244,
-48,158,255,207,81,196,183,189,13,119,174,137,129,133,236,186,99,151,193,
-198,223,4,51,242,18,188,75,0,222,106,251,120,41,23,189,255,212,62,5,179,
-48,131,230,48,30,231,34,6,175,223,53,225,167,134,197,11,90,204,45,172,8,
-143,137,143,226,85,2,252,189,18,192,237,3,24,62,42,214,235,86,96,8,174,
-253,180,228,170,119,33,10,216,91,184,176,161,108,11,207,79,204,192,46,237,
-227,74,236,214,80,209,58,115,22,74,178,11,164,179,47,252,11,29,19,230,190,
-255,192,207,247,107,80,250,174,128,146,25,4,169,84,128,96,197,44,184,145,
-3,203,141,185,202,76,130,119,105,192,91,109,230,220,84,100,206,10,206,57,
-103,211,167,126,136,198,152,202,48,5,140,139,204,13,209,138,26,22,99,134,
-9,26,115,12,35,196,213,32,253,190,139,171,130,253,220,18,173,20,217,195,
-249,116,143,105,45,158,96,64,248,72,111,53,174,174,108,191,241,242,15,99,
-55,62,188,19,148,106,97,23,55,29,31,130,170,198,65,146,233,16,53,85,185,
-224,29,11,116,236,40,232,216,81,127,96,72,240,46,25,120,193,28,55,228,204,
-46,71,159,77,204,57,195,102,206,188,129,230,41,156,65,62,224,139,89,9,135,
-169,97,120,220,17,92,0,43,11,1,174,159,226,149,0,94,24,132,17,0,230,48,
-5,125,222,68,129,214,230,14,50,225,36,98,30,63,159,9,192,100,51,103,70,
-121,49,187,139,232,233,187,162,96,71,71,15,67,93,123,29,72,60,233,15,222,
-176,92,8,203,4,188,53,88,94,130,224,5,99,110,56,159,145,139,62,73,56,167,
-116,106,248,123,136,174,28,123,49,170,221,249,128,216,79,192,160,13,55,
-131,4,239,226,185,36,162,148,237,5,27,16,86,91,216,38,172,139,164,160,57,
-32,93,165,19,199,142,106,107,175,187,7,224,137,208,253,97,20,188,48,9,162,
-167,65,98,186,11,212,90,201,243,144,68,228,212,14,128,14,111,126,236,247,
-186,8,94,198,154,225,24,145,247,87,44,125,18,184,45,99,205,105,33,153,19,
-216,198,26,120,121,196,247,134,237,103,229,121,211,126,181,120,60,106,237,
-164,110,254,226,86,225,11,0,176,203,251,216,232,225,159,160,57,143,170,
-55,137,53,187,4,220,15,173,92,51,237,184,244,228,178,240,133,133,60,111,
-21,180,231,253,60,84,219,56,153,188,255,197,129,132,198,112,26,230,64,73,
-247,155,208,187,118,144,160,160,95,1,84,44,63,14,162,37,64,226,186,4,239,
-114,0,47,163,224,229,2,224,23,114,230,219,68,90,112,206,236,255,91,80,123,
-22,245,100,38,134,143,10,142,74,200,115,41,26,153,231,69,46,161,218,222,
-130,121,194,245,130,158,131,106,155,39,80,144,223,170,105,122,38,155,56,
-62,162,174,222,186,150,168,177,181,33,62,195,186,226,45,76,1,142,9,146,
-232,4,20,245,252,130,55,172,43,126,57,129,151,115,128,90,174,234,181,141,
-214,40,193,57,101,51,103,190,201,231,38,134,4,245,91,22,92,17,222,84,126,
-151,3,116,23,162,140,165,45,174,59,98,217,65,183,93,0,7,185,33,128,230,
-17,93,69,4,49,61,247,198,65,109,195,141,183,3,164,51,212,15,90,61,42,102,
-17,44,63,1,16,226,198,9,51,122,158,192,203,23,23,188,98,218,205,139,0,188,
-0,192,169,13,88,37,240,82,182,157,2,158,156,155,197,23,217,200,161,23,80,
-79,229,23,84,194,101,222,165,187,37,144,165,45,33,140,47,26,0,7,185,36,
-16,0,97,0,28,108,114,120,159,50,112,245,109,68,81,59,16,85,253,1,112,21,
-88,113,198,5,49,179,1,69,3,209,226,23,25,120,249,197,163,120,157,178,155,
-219,161,148,109,181,206,155,112,195,44,253,154,14,239,126,10,141,197,11,
-13,143,250,173,206,132,187,220,213,175,52,105,11,186,3,251,101,131,18,231,
-182,87,83,85,234,0,58,224,102,75,235,4,208,169,172,216,184,81,187,230,247,
-255,154,16,116,134,186,35,124,215,51,32,166,131,36,51,32,177,132,27,49,
-65,20,64,141,35,20,232,222,40,133,136,109,124,163,21,66,218,89,159,62,221,
-90,164,68,211,186,0,215,7,167,52,248,125,97,17,11,65,251,33,30,3,106,185,
-159,193,152,155,207,215,177,90,169,108,236,255,121,142,125,200,57,246,138,
-88,61,86,84,192,134,7,192,222,180,147,82,253,74,147,182,64,0,123,33,44,
-230,66,77,86,32,220,81,133,48,201,172,90,19,191,225,193,47,128,177,254,
-150,193,235,7,145,80,42,132,148,77,111,7,52,173,108,203,194,75,180,71,182,
-213,39,41,125,203,198,88,123,237,230,108,81,79,26,110,151,119,57,199,127,
-243,247,104,172,30,235,173,36,32,250,126,253,170,8,72,248,74,187,236,77,
-109,115,123,18,178,142,35,44,182,209,44,148,217,204,185,189,234,170,107,
-110,2,208,25,168,94,125,186,233,173,129,151,251,63,231,109,244,124,91,217,
-214,219,62,63,87,67,20,120,57,107,239,59,67,142,77,171,238,148,69,1,47,
-231,140,219,198,175,232,137,223,126,91,0,175,232,122,16,171,9,80,31,215,
-131,4,175,52,105,139,0,224,86,167,75,54,94,120,86,177,76,79,191,246,75,
-165,119,125,15,180,248,134,134,16,53,9,222,101,11,94,247,35,105,145,101,
-71,190,195,206,190,254,227,16,213,235,205,128,22,53,215,94,154,52,9,224,
-5,168,96,111,221,44,248,92,96,222,84,150,156,141,29,61,64,58,186,167,72,
-178,251,26,194,153,46,193,187,124,193,11,128,115,199,58,65,71,14,127,153,
-103,207,189,142,230,1,55,49,222,215,91,233,34,42,1,187,52,105,151,181,145,
-5,190,207,47,6,88,244,9,139,53,177,116,184,190,225,250,162,104,93,241,29,
-239,252,48,244,206,59,8,117,98,210,199,27,240,221,81,159,177,200,62,94,
-65,245,230,216,220,228,179,108,244,200,47,5,216,26,130,234,21,103,186,121,
-225,187,168,213,99,165,73,147,0,110,31,194,226,224,92,21,194,213,154,114,
-122,237,191,158,238,139,109,126,235,251,16,79,221,70,20,53,41,193,123,129,
-193,75,237,9,94,152,249,111,58,122,248,101,15,108,13,52,78,178,240,86,144,
-149,240,149,38,237,60,3,56,12,194,42,154,11,20,198,5,16,139,80,214,73,50,
-147,209,174,121,203,67,68,79,223,198,57,6,8,56,145,224,61,63,224,229,156,
-217,160,244,56,43,76,254,15,27,123,115,151,160,110,69,224,86,215,133,101,
-59,147,240,149,38,237,60,0,184,21,8,43,2,132,53,15,136,197,82,221,9,97,
-137,1,136,43,125,235,7,213,53,219,239,36,122,122,27,84,109,53,167,78,138,
-112,166,74,240,46,18,111,57,179,0,50,7,106,13,179,82,246,53,54,126,108,
-23,168,93,18,0,43,42,92,51,64,241,182,90,186,91,194,87,154,180,37,0,176,
-215,21,129,16,8,251,185,37,252,202,118,199,61,170,185,86,186,91,233,191,
-98,128,164,87,92,65,180,68,23,226,201,78,128,168,240,170,100,198,208,180,
-206,107,126,105,44,155,102,146,181,192,12,78,231,241,30,191,73,22,158,65,
-200,86,166,2,7,195,216,167,17,132,131,51,11,212,206,115,187,60,203,114,
-99,67,176,74,98,209,76,177,66,172,133,198,28,207,150,103,189,184,173,168,
-120,37,124,165,73,187,0,0,14,82,194,64,115,198,52,85,4,170,15,104,197,199,
-154,7,192,98,33,67,111,25,23,2,57,175,62,8,198,126,117,178,68,119,129,168,
-98,45,52,150,83,119,124,254,139,138,215,27,237,224,133,175,4,176,52,105,
-33,166,45,226,133,238,45,207,226,173,24,43,94,156,34,0,196,178,221,154,
-103,169,174,147,21,100,219,251,45,252,0,204,3,0,204,208,88,185,216,9,88,
-88,8,120,185,84,190,210,164,93,56,5,220,138,75,194,155,45,173,10,84,17,
-176,154,176,174,149,242,221,10,100,37,129,40,23,132,23,190,240,0,148,250,
-192,213,11,92,175,143,247,188,150,238,150,38,77,2,120,225,16,134,143,235,
-192,11,86,197,3,93,209,221,160,32,184,130,172,84,191,209,42,24,33,238,8,
-238,163,138,105,8,116,207,107,233,110,105,210,36,128,23,246,217,81,32,246,
-2,86,137,80,188,97,208,149,0,110,173,90,172,183,100,183,23,200,94,23,3,
-195,5,174,32,43,77,154,4,240,194,65,236,247,60,40,177,59,105,65,245,74,
-248,182,175,130,225,163,132,17,242,92,130,87,154,180,139,20,192,81,106,
-24,8,30,80,11,27,104,147,240,157,159,18,134,15,84,89,128,74,94,22,165,187,
-165,73,147,0,94,154,239,35,17,128,14,82,186,18,190,237,3,56,232,121,84,
-4,131,84,188,210,164,93,34,0,142,2,113,187,144,150,0,110,15,192,64,107,
-17,11,173,188,38,77,154,180,139,20,192,173,194,184,149,54,74,248,182,15,
-225,176,109,36,116,165,73,187,140,0,220,74,91,136,132,239,146,129,152,47,
-16,222,210,164,73,187,4,0,44,1,187,252,149,178,52,105,210,46,115,192,73,
-40,75,216,74,147,38,77,154,52,105,210,164,73,147,38,77,154,52,105,210,164,
-73,147,38,77,154,52,105,210,164,45,107,251,127,175,181,198,209,44,134,76,
-79,0,0,0,0,73,69,78,68,174,66,96,130};
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,248,0,0,1,44,8,6,0,
+0,0,47,135,161,70,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,
+0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,
+77,69,7,223,1,29,9,35,58,199,219,55,244,0,0,0,25,116,69,88,116,67,111,109,
+109,101,110,116,0,67,114,101,97,116,101,100,32,119,105,116,104,32,71,73,
+77,80,87,129,14,23,0,0,32,0,73,68,65,84,120,218,180,189,89,172,110,91,118,
+223,245,27,115,206,213,124,205,222,231,220,170,186,142,33,78,172,72,8,176,
+13,54,113,200,3,33,137,109,40,34,11,217,145,18,9,158,136,200,19,82,36,196,
+3,1,75,142,29,90,219,81,72,247,194,11,136,135,68,121,0,241,64,66,112,40,
+9,43,33,9,9,74,227,46,16,87,25,225,114,108,156,8,167,26,234,158,179,247,
+215,172,102,206,193,195,92,223,90,115,206,181,190,125,206,189,229,236,135,
+170,115,191,110,117,115,142,230,63,254,227,63,228,23,222,126,81,153,254,
+100,250,127,157,255,91,64,116,121,225,246,9,137,31,18,64,69,17,100,249,
+136,46,239,35,211,111,104,124,87,101,250,85,85,84,166,95,211,233,24,243,
+209,211,31,73,143,42,56,177,172,255,100,57,99,145,233,159,197,73,108,254,
+94,254,213,245,79,150,111,206,39,60,253,156,100,63,191,252,167,160,201,
+247,230,75,155,175,243,118,137,146,95,242,198,41,172,238,198,244,59,65,
+3,125,215,51,140,61,135,195,17,35,102,250,142,162,50,157,144,202,221,219,
+35,90,92,167,232,114,189,243,237,154,158,219,237,192,243,243,84,20,153,
+175,43,160,241,235,170,136,145,101,221,148,127,229,35,126,233,194,245,206,
+243,16,150,115,74,239,171,130,18,16,145,233,216,197,193,36,121,108,16,207,
+95,146,231,72,250,187,233,115,150,98,45,47,191,187,190,156,219,235,186,
+92,255,124,45,154,172,226,228,51,197,134,155,31,139,228,203,44,61,61,72,
+214,81,113,126,113,159,201,242,17,201,54,115,250,207,213,51,185,221,151,
+244,129,201,242,180,55,31,223,214,146,201,109,69,186,240,116,94,27,217,
+122,166,184,215,183,107,221,216,126,119,215,146,110,124,102,189,113,138,
+215,151,27,119,123,38,100,103,120,251,134,108,219,197,236,160,235,127,171,
+134,233,147,134,242,81,203,123,109,128,229,137,104,102,85,228,254,101,190,
+247,95,92,32,82,238,137,119,109,218,210,54,148,191,42,160,42,197,45,95,
+108,136,150,107,239,222,237,147,79,112,81,229,67,42,79,108,90,88,34,183,
+243,208,236,92,227,254,82,178,135,117,103,173,221,252,162,82,216,139,204,
+91,21,107,186,88,105,242,162,225,187,157,87,238,123,95,188,53,233,133,176,
+248,94,183,189,119,36,123,65,211,67,100,15,57,57,240,244,63,243,66,153,
+63,183,60,224,120,209,154,249,202,155,37,42,151,245,124,109,211,137,26,
+145,119,110,134,101,209,109,57,152,128,6,192,8,98,18,199,32,64,80,84,3,
+58,61,16,17,131,72,110,27,148,128,122,5,49,24,147,108,59,85,66,240,201,
+198,17,140,152,229,126,207,191,163,153,83,138,183,111,217,86,186,177,181,
+110,135,159,239,142,10,74,96,24,122,198,113,160,105,154,232,220,229,246,
+94,114,59,68,17,149,244,121,39,78,162,52,174,235,197,52,59,139,228,247,
+138,179,65,85,209,16,8,170,24,99,182,29,59,247,31,201,230,223,221,205,94,
+24,232,233,141,160,158,16,2,70,44,198,220,46,71,50,199,88,174,127,145,196,
+128,171,198,207,38,199,17,77,140,64,182,225,101,222,158,171,152,116,54,
+191,241,223,33,120,130,8,86,150,251,146,198,15,222,143,40,6,99,12,166,216,
+163,179,157,209,197,147,138,4,130,247,248,155,247,19,193,138,197,40,136,
+8,33,140,120,192,136,193,106,124,95,11,123,37,43,131,149,56,164,13,139,
+150,218,130,45,7,37,211,130,11,234,241,65,48,198,96,167,27,31,116,152,86,
+183,197,206,247,81,179,88,68,210,103,89,196,3,119,29,251,189,181,36,219,
+9,198,42,130,146,213,225,80,85,32,224,21,68,236,100,107,214,118,73,54,35,
+80,45,204,140,167,15,29,253,216,33,246,64,235,106,92,177,199,245,29,241,
+74,122,81,58,63,159,252,27,154,133,25,122,199,65,167,193,96,177,86,117,
+9,31,150,160,50,38,8,139,41,72,158,253,28,240,75,230,180,87,183,87,52,11,
+72,178,96,40,141,75,229,29,182,225,227,69,44,235,96,80,75,3,146,60,107,
+137,134,121,29,143,202,98,51,86,121,231,178,231,181,76,250,202,132,15,93,
+93,131,172,108,196,187,226,148,37,73,147,141,93,185,10,104,52,223,64,241,
+25,42,78,54,214,131,78,15,80,210,13,151,102,80,36,206,81,19,71,118,139,
+136,178,215,110,231,169,69,212,158,220,193,36,225,156,29,89,106,152,164,
+116,30,179,139,217,8,1,11,115,165,129,224,71,250,235,149,193,27,234,93,
+75,211,184,201,103,5,194,48,208,117,61,195,232,241,10,198,213,236,218,150,
+186,178,241,54,7,8,126,160,191,118,12,94,168,118,59,218,218,33,34,128,199,
+247,29,215,174,167,247,241,152,198,53,180,109,75,237,162,225,150,173,40,
+75,146,56,238,182,169,102,151,178,117,37,58,91,212,177,31,25,134,17,231,
+28,85,85,21,142,57,49,203,115,128,52,69,234,233,142,210,197,129,43,147,
+131,35,121,88,233,202,206,2,4,157,127,71,146,133,45,198,36,145,241,39,201,
+40,222,99,195,110,189,22,4,17,193,26,183,100,15,183,203,152,179,7,217,90,
+110,139,141,90,69,250,138,202,250,89,104,146,213,174,119,105,146,233,106,
+79,55,156,56,13,35,98,247,28,234,61,141,89,190,173,97,224,58,156,56,15,
+3,216,3,135,122,71,99,164,64,150,100,14,68,84,3,26,70,122,127,229,212,159,
+184,76,129,129,115,71,30,155,3,123,235,8,227,153,83,127,162,147,138,189,
+59,178,115,211,250,150,85,114,156,88,86,45,28,221,86,230,120,239,81,76,
+206,90,61,227,120,226,163,203,51,3,53,199,221,35,71,235,8,254,202,105,56,
+51,208,114,104,14,180,8,102,122,62,36,65,211,10,52,41,79,227,30,194,182,
+142,128,215,107,229,174,211,200,179,40,5,52,116,60,247,207,92,181,226,80,
+31,217,89,131,153,214,243,218,117,234,54,212,164,202,48,158,57,141,103,
+6,117,236,170,3,187,170,193,110,158,210,150,67,222,178,105,194,70,104,153,
+125,87,238,92,236,188,130,245,126,154,155,229,212,74,17,52,172,207,121,
+5,133,165,247,226,22,52,207,201,203,205,201,199,128,185,12,52,117,51,224,
+252,122,13,71,9,213,109,109,0,205,1,78,45,163,214,244,53,41,35,209,201,
+108,74,241,76,18,187,174,11,146,193,61,144,182,64,206,40,242,122,45,208,
+179,249,110,38,62,54,75,214,82,72,125,58,201,219,19,118,186,229,132,52,
+194,232,69,146,157,5,15,243,187,146,100,123,220,34,192,229,74,149,212,193,
+36,33,28,107,152,27,201,179,47,166,140,196,172,150,134,222,137,127,211,
+205,231,241,125,79,63,120,66,240,244,35,184,182,194,185,152,245,168,6,134,
+254,202,168,6,211,238,57,104,12,2,250,160,211,233,5,252,208,209,13,35,193,
+123,70,47,216,182,161,114,102,177,61,98,176,85,203,174,106,104,252,72,127,
+190,224,137,198,33,243,167,51,122,33,37,62,158,24,209,20,140,99,179,156,
+16,130,210,117,29,214,58,234,186,153,202,31,249,61,201,255,107,137,212,
+37,11,200,150,172,125,13,64,110,67,211,113,93,47,49,100,80,37,248,17,193,
+32,86,62,222,190,124,9,78,123,201,209,23,175,251,48,130,128,21,151,133,
+66,178,5,81,151,17,181,20,16,174,234,234,217,72,145,22,190,43,129,12,225,
+194,169,123,166,83,75,93,61,178,119,53,206,44,7,10,225,58,189,111,104,234,
+7,118,182,193,25,89,57,183,57,232,10,35,93,255,150,103,63,160,102,199,190,
+253,52,15,64,240,87,6,113,56,99,81,237,57,117,207,156,213,177,107,118,52,
+206,230,215,54,47,57,153,202,105,154,59,141,180,14,176,225,88,54,161,121,
+20,9,129,16,206,188,185,190,229,60,120,234,246,129,218,58,84,59,158,187,
+19,163,109,216,85,45,141,8,98,34,210,37,211,9,105,97,143,94,12,10,239,189,
+249,18,78,125,239,223,133,163,82,21,84,59,78,221,27,46,90,209,86,59,26,
+107,23,112,50,113,131,235,67,38,201,137,246,156,251,183,92,66,192,216,61,
+143,85,75,45,110,114,197,91,23,145,71,47,114,103,161,207,8,18,121,249,79,
+54,92,111,126,148,45,43,178,36,9,17,161,90,103,218,89,242,41,247,209,158,
+18,69,139,118,164,172,124,108,192,221,178,109,215,222,253,204,222,81,198,
+219,42,169,38,153,122,246,149,196,95,221,146,217,24,152,23,168,2,235,50,
+132,74,249,232,151,40,33,47,187,9,242,62,105,122,182,6,182,86,193,186,220,
+123,115,33,249,169,78,247,95,147,224,124,250,128,203,159,213,188,5,89,3,
+178,139,99,200,238,101,10,157,138,100,53,70,89,194,153,236,223,243,153,
+166,175,21,75,52,254,134,97,1,48,55,113,152,59,222,194,51,246,35,227,40,
+216,202,162,93,64,172,163,105,110,6,23,196,24,92,213,98,141,96,16,252,56,
+18,66,64,172,197,89,197,15,35,227,32,184,202,49,6,69,140,163,105,170,8,
+65,222,202,10,42,168,1,11,104,239,241,98,176,149,195,217,197,161,102,232,
+239,70,97,52,102,105,58,71,189,91,43,252,182,95,250,174,71,81,154,166,158,
+202,4,73,134,190,90,32,9,192,154,26,172,100,129,223,142,187,224,216,211,
+249,204,245,252,141,29,165,203,130,50,198,70,167,47,31,51,236,214,143,81,
+127,127,225,121,91,177,96,167,245,53,59,176,101,179,102,166,80,54,236,70,
+18,241,110,89,141,18,170,75,205,102,30,151,6,252,120,226,169,63,211,211,
+240,208,60,208,218,24,152,222,158,251,56,60,243,220,159,233,105,57,54,71,
+90,107,243,181,145,250,100,81,66,232,56,117,207,92,130,208,84,31,176,175,
+106,220,237,148,173,163,70,48,161,231,212,189,229,164,176,111,30,57,58,
+135,157,172,180,138,68,244,74,3,33,164,222,212,98,101,202,80,213,227,53,
+16,66,18,80,27,19,239,235,84,214,242,26,75,48,179,91,50,22,139,224,253,
+133,55,221,19,231,209,99,92,67,83,237,168,24,184,116,103,58,181,28,235,
+3,59,49,192,200,48,166,153,250,13,198,15,4,93,130,81,35,183,108,58,158,
+131,209,91,9,38,126,238,182,62,45,83,41,230,125,32,93,133,128,71,125,82,
+191,22,193,136,157,156,217,149,83,247,196,201,27,218,118,186,127,89,12,
+28,203,15,122,11,132,48,136,24,236,45,40,211,128,31,207,49,251,151,154,
+67,253,200,206,86,184,13,62,206,253,202,185,190,39,84,81,186,125,93,133,
+15,243,10,77,249,37,154,126,86,23,84,118,197,180,32,103,92,168,20,124,157,
+220,86,47,37,198,248,210,140,202,36,27,78,229,78,137,253,93,1,155,188,167,
+253,144,34,208,88,125,110,57,103,85,153,131,27,38,116,38,53,210,162,37,
+109,67,55,130,142,4,189,76,125,213,140,76,105,130,208,190,116,41,183,251,
+168,201,61,202,3,192,162,26,63,39,211,178,89,194,148,9,117,44,194,3,157,
+32,122,205,200,64,37,145,36,43,176,20,252,138,132,54,32,5,167,101,206,30,
+211,64,78,201,217,103,105,34,95,194,67,177,126,249,201,188,133,197,214,
+130,117,138,31,174,140,193,208,236,38,231,158,92,150,24,51,101,94,35,125,
+119,197,75,77,219,86,209,192,57,131,181,183,239,11,85,91,225,196,96,100,
+169,229,104,8,168,42,126,28,232,7,197,214,59,218,186,154,31,143,20,57,124,
+6,193,105,74,99,144,85,4,94,174,253,113,28,233,134,142,93,211,98,18,11,
+167,170,75,244,153,145,31,227,143,135,105,161,26,89,7,66,147,153,157,156,
+74,94,127,82,150,69,27,179,47,51,111,10,85,197,123,63,215,221,53,232,228,
+232,203,61,145,95,235,93,164,74,239,114,149,150,15,154,101,161,46,199,183,
+209,17,232,58,186,78,9,53,183,186,155,108,208,221,208,91,153,162,32,38,
+38,112,93,200,145,254,60,218,87,79,239,159,121,238,58,130,57,240,216,236,
+105,205,18,38,171,6,250,241,153,83,127,37,200,145,135,102,79,107,138,216,
+34,91,12,129,113,188,240,212,189,229,162,45,175,154,7,246,206,45,16,183,
+196,103,33,97,164,31,159,120,26,161,105,95,177,159,157,251,109,77,244,116,
+227,133,231,254,204,213,143,209,217,99,112,213,107,62,211,28,168,77,60,
+175,183,221,133,62,248,120,139,77,203,177,125,197,209,25,140,14,244,227,
+137,183,221,133,78,71,80,193,152,134,67,251,200,206,8,93,255,150,115,176,
+212,198,227,109,77,35,158,97,56,241,28,132,125,115,160,193,211,13,79,156,
+250,51,23,239,81,13,120,49,84,213,35,31,84,208,245,87,188,8,222,143,12,
+94,104,107,195,232,61,94,90,62,104,31,217,25,165,31,79,60,117,23,186,137,
+207,96,204,129,79,239,94,177,159,214,191,170,38,54,58,127,118,170,158,97,
+236,185,14,79,156,199,142,65,5,17,75,83,189,230,85,221,82,139,167,235,159,
+121,30,149,182,121,197,131,179,152,25,129,84,84,71,186,225,153,183,195,
+149,206,143,40,130,53,13,135,246,21,71,105,112,226,25,198,103,222,246,23,
+212,28,120,85,31,104,140,153,107,208,20,41,210,203,164,56,221,68,40,181,
+200,217,11,10,215,70,113,82,179,236,90,116,9,5,18,195,144,149,71,110,182,
+226,134,242,72,146,254,45,8,117,78,222,154,233,78,89,93,126,225,100,80,
+16,125,165,64,127,191,254,250,221,134,35,95,179,253,54,81,135,197,230,108,
+16,102,245,30,249,109,222,205,201,225,18,86,134,232,93,180,103,155,140,
+171,5,68,47,5,142,187,148,197,51,123,165,172,175,69,183,43,40,183,51,118,
+155,201,211,11,37,39,149,28,154,143,209,139,228,55,71,216,0,184,10,66,192,
+108,217,211,74,195,2,81,91,94,34,109,201,221,204,46,37,134,135,113,160,
+239,3,226,106,154,218,205,88,64,250,104,253,56,208,245,29,163,119,212,237,
+142,186,90,10,2,126,28,232,6,191,124,95,150,186,254,216,93,233,250,142,
+193,3,182,162,174,91,118,117,133,24,93,149,52,214,129,136,46,81,228,70,
+221,107,85,108,240,158,190,239,113,198,82,213,85,230,220,125,8,32,44,29,
+6,73,186,170,170,4,239,227,253,48,150,117,213,70,9,99,0,81,172,117,19,202,
+178,60,222,160,241,216,136,68,84,34,9,93,172,181,8,194,232,227,247,69,236,
+2,243,165,48,186,159,96,116,235,214,132,102,85,70,31,16,1,107,205,170,238,
+207,124,124,166,172,114,49,152,214,198,186,187,31,199,152,217,89,155,111,
+8,137,129,71,152,210,83,35,46,129,209,116,174,83,5,63,198,144,208,186,188,
+72,47,201,249,77,153,235,146,97,79,161,79,24,184,12,207,156,189,226,220,
+35,175,235,22,151,4,179,62,12,92,134,39,46,94,113,246,145,87,245,142,202,
+76,208,176,16,207,207,251,72,69,115,22,209,192,232,79,188,237,78,116,90,
+115,220,189,98,239,236,58,222,81,79,223,63,241,118,8,184,234,200,195,148,
+221,163,74,96,100,24,206,60,15,29,222,52,28,218,79,243,160,61,231,254,68,
+167,142,93,189,199,73,199,211,245,153,94,29,109,243,33,175,167,18,139,136,
+96,69,8,225,196,83,119,162,211,138,166,253,12,175,110,25,171,8,162,35,93,
+255,68,143,163,181,54,18,28,77,133,232,149,103,31,112,118,71,173,87,222,
+92,226,241,247,237,103,56,106,207,165,63,113,85,67,109,148,174,63,241,60,
+40,117,93,69,123,98,12,70,45,214,24,42,113,136,158,249,232,26,107,248,251,
+221,167,121,8,87,78,195,137,97,118,64,203,82,25,131,7,157,238,159,196,172,
+122,12,87,78,221,137,75,176,180,213,3,159,106,62,224,86,88,51,198,97,116,
+164,27,158,120,26,71,172,123,228,161,170,231,0,88,84,25,245,194,233,250,
+76,175,21,77,243,105,62,152,2,10,17,137,168,85,24,184,246,79,60,143,35,
+198,62,240,88,239,169,76,153,244,72,225,120,229,126,242,180,249,223,101,
+103,131,22,214,52,39,218,109,85,225,183,178,64,157,60,64,73,131,187,23,
+88,139,108,36,81,11,203,118,225,228,232,58,82,95,85,127,120,103,164,243,
+245,215,223,19,226,108,76,146,229,14,81,125,41,31,103,53,250,21,241,68,
+147,170,165,228,80,61,27,101,236,242,89,175,58,57,182,66,178,117,128,80,
+222,114,77,74,109,89,105,231,134,210,148,244,3,77,88,244,43,46,70,22,177,
+45,112,194,178,224,36,135,44,116,38,165,35,27,190,108,97,146,39,23,89,192,
+168,41,227,210,96,145,85,246,46,47,164,122,233,150,153,194,203,113,160,
+235,7,130,113,180,187,42,203,192,226,26,24,233,187,142,190,247,96,42,218,
+125,67,85,217,201,201,41,234,7,186,110,32,72,69,211,214,11,179,118,130,
+120,92,221,98,92,69,53,116,92,251,120,204,32,33,50,102,165,32,52,101,237,
+102,121,58,43,119,202,210,183,45,30,212,211,245,93,132,230,219,102,106,
+187,209,217,224,88,76,22,22,75,129,154,88,107,103,114,198,138,221,162,96,
+141,153,179,219,153,95,145,68,40,55,71,122,203,116,195,196,154,183,214,
+76,142,123,234,56,208,141,157,122,115,188,34,235,214,172,233,54,56,103,
+215,40,91,242,83,183,239,223,238,163,15,62,34,18,46,6,20,46,125,127,58,
+247,153,108,103,18,56,86,150,205,63,163,81,104,252,253,140,96,152,213,84,
+226,245,149,86,72,3,222,159,56,245,61,131,84,236,234,29,59,91,199,12,90,
+34,147,122,244,39,78,195,192,64,116,170,59,91,197,247,83,180,60,70,54,209,
+249,104,192,135,51,79,253,153,78,106,14,205,35,7,107,150,160,235,182,79,
+212,211,117,111,121,30,71,164,58,242,88,237,112,147,185,14,161,231,220,
+63,113,26,149,170,126,224,85,85,227,116,224,220,247,4,26,142,205,158,214,
+142,92,251,39,78,30,234,170,161,182,150,106,34,73,66,64,67,207,101,56,241,
+236,53,190,111,44,206,196,46,22,13,183,64,193,80,187,138,48,158,185,82,
+225,180,231,60,40,198,86,216,112,225,169,7,87,61,240,80,213,88,70,206,93,
+143,151,154,163,179,120,127,225,170,53,199,218,226,117,36,152,150,131,141,
+237,150,142,10,43,3,167,126,4,57,112,172,107,42,29,184,250,17,100,199,177,
+218,83,223,208,43,101,9,244,116,38,65,48,248,103,158,250,142,96,26,30,219,
+61,59,235,102,116,42,114,14,110,206,125,64,170,7,30,93,139,189,161,59,26,
+8,218,115,237,158,57,251,64,85,53,52,198,98,167,82,84,140,31,6,174,253,
+91,78,222,99,170,71,30,92,77,101,182,43,226,235,198,187,117,101,181,100,
+87,235,134,251,79,249,32,178,122,101,203,103,230,182,242,134,74,196,18,
+236,134,227,223,234,146,93,57,154,156,132,187,10,62,68,146,196,34,150,250,
+68,244,238,121,126,221,132,186,187,45,206,82,52,84,45,101,4,153,160,236,
+25,149,200,168,205,178,93,53,73,169,73,76,72,229,124,195,18,167,34,235,
+82,76,22,224,172,78,90,51,52,230,14,69,124,190,30,209,123,25,183,22,185,
+255,66,168,86,85,220,138,247,181,85,147,188,221,180,13,6,160,234,250,184,
+179,61,78,3,133,148,88,119,131,244,85,88,227,183,19,73,237,189,10,48,75,
+0,146,1,207,193,211,119,3,131,26,234,166,198,77,173,72,55,184,54,12,61,
+221,245,202,136,193,181,59,154,202,77,117,65,189,165,204,244,215,129,81,
+133,186,169,163,1,204,170,10,83,155,146,241,12,65,39,178,221,210,34,148,
+193,64,82,4,54,178,14,80,210,78,227,178,37,162,239,123,130,15,52,77,131,
+179,110,69,112,17,99,146,123,172,179,227,138,14,89,138,40,114,93,83,146,
+162,142,165,51,179,63,66,193,37,151,82,68,112,9,107,222,200,203,37,245,
+187,216,124,9,80,233,29,54,75,193,196,50,198,174,234,232,186,10,117,55,
+114,161,172,101,51,193,217,211,197,159,66,137,69,144,182,60,83,79,55,60,
+115,30,71,112,123,30,92,67,109,204,178,77,131,167,27,78,92,124,15,38,102,
+215,183,247,111,193,113,90,230,154,75,39,161,231,212,157,185,4,203,190,
+57,114,184,65,238,42,137,225,189,101,142,195,148,57,238,168,141,76,49,75,
+207,121,56,113,10,66,219,60,176,175,26,108,184,240,220,61,115,14,134,93,
+115,96,239,42,140,246,244,10,33,116,60,95,7,250,113,224,131,221,145,214,
+184,216,173,162,19,127,36,116,156,174,3,253,120,228,131,221,3,173,241,92,
+134,19,151,32,180,245,30,23,206,60,133,129,49,4,130,90,218,122,135,9,3,
+125,48,212,205,129,99,85,35,225,202,243,245,153,139,58,90,231,8,58,68,102,
+125,37,140,161,7,179,227,32,129,209,247,32,53,134,158,115,119,161,11,1,
+49,61,215,17,140,236,216,55,71,142,174,166,54,22,83,144,35,37,73,89,250,
+241,41,58,119,123,224,177,222,209,24,51,47,174,200,205,240,92,251,183,60,
+13,3,166,122,228,177,106,168,196,36,63,56,17,122,37,6,75,207,215,255,143,
+126,60,242,106,247,192,222,88,16,79,55,196,224,202,184,199,248,236,87,204,
+124,121,49,29,217,246,109,201,222,203,105,85,27,220,122,93,57,145,18,226,
+93,215,98,147,220,98,85,241,213,185,156,183,106,180,216,240,39,37,101,106,
+230,255,200,54,29,126,85,210,250,199,242,39,89,221,57,43,109,168,36,165,
+197,37,176,214,210,158,235,61,46,167,228,132,242,219,83,150,156,160,167,
+171,36,230,165,102,200,156,247,32,171,62,137,59,198,109,163,69,125,206,
+232,82,125,144,164,167,223,101,109,146,186,161,11,161,235,46,147,204,103,
+151,98,29,51,49,105,18,19,185,131,166,47,165,158,188,170,20,69,91,228,253,
+153,89,101,93,65,3,126,232,185,142,138,219,181,49,43,191,157,87,24,25,250,
+43,221,168,24,215,178,107,42,156,49,249,201,5,197,15,61,157,87,220,212,
+46,119,171,207,106,150,121,123,198,190,167,87,75,219,214,212,214,206,194,
+61,179,94,64,129,88,44,117,224,188,241,138,162,205,226,246,55,78,208,124,
+211,52,56,87,229,23,60,247,185,231,45,47,89,255,170,20,232,76,161,48,34,
+43,162,228,141,148,147,254,103,92,216,33,4,124,240,177,199,223,200,125,
+194,218,215,141,178,165,150,36,193,101,2,83,221,93,144,27,156,175,105,253,
+48,39,184,72,214,188,172,57,84,151,66,91,164,98,77,75,132,94,246,1,199,
+4,177,143,14,214,27,154,250,200,193,213,184,132,63,17,194,192,165,127,226,
+217,11,77,253,56,189,63,101,234,115,251,233,180,2,36,53,42,158,193,159,
+57,141,3,166,126,197,206,85,49,32,213,64,80,193,26,131,234,200,232,207,
+60,247,29,84,143,60,212,45,150,192,24,4,75,96,24,78,188,29,6,154,230,145,
+125,229,192,159,120,211,189,225,52,58,30,118,209,65,198,26,125,77,219,124,
+154,15,221,133,231,235,91,174,154,8,126,160,96,42,118,205,167,168,220,149,
+167,235,27,174,16,219,244,198,19,79,163,208,214,7,90,3,221,112,225,50,198,
+94,247,99,115,164,214,158,167,193,83,183,143,236,157,195,143,103,78,221,
+27,206,193,177,111,28,226,207,116,236,216,85,21,58,60,49,72,195,222,26,
+252,112,198,155,29,141,140,60,247,1,215,126,134,79,85,245,212,223,15,72,
+36,253,25,238,49,18,163,225,14,225,204,169,59,49,152,7,94,215,7,106,147,
+219,38,37,182,244,61,245,61,82,61,114,172,26,156,128,87,197,221,12,190,
+128,82,179,171,63,141,115,23,158,175,79,116,243,210,10,120,127,225,220,
+95,8,246,21,15,85,139,51,11,225,141,141,118,167,247,39,132,235,70,101,180,
+132,244,215,104,128,174,122,113,54,168,233,183,254,118,77,37,134,114,220,
+64,180,112,242,105,58,159,192,241,11,241,84,102,13,137,172,197,55,139,153,
+11,254,205,187,110,196,251,139,3,172,57,138,73,34,160,5,34,45,9,196,156,
+10,211,200,70,183,192,170,101,238,134,102,170,100,46,25,77,203,172,58,35,
+68,105,11,104,214,200,152,156,99,246,59,43,36,39,183,187,178,18,108,200,
+179,33,89,83,35,86,171,208,145,212,158,114,102,133,102,23,50,67,20,183,
+250,205,74,221,135,237,122,82,214,211,190,44,176,194,38,71,18,207,173,37,
+238,174,84,143,110,62,225,104,92,125,140,164,124,79,215,13,168,56,156,53,
+152,201,218,135,254,202,249,114,101,148,138,166,109,169,38,104,84,117,202,
+66,131,159,136,115,35,215,110,32,80,99,157,153,123,73,99,63,178,206,132,
+21,223,93,233,70,193,53,45,77,237,150,158,83,217,242,168,154,160,26,220,
+133,102,210,158,243,160,74,215,119,24,99,169,235,122,3,225,145,130,46,199,
+186,126,163,165,208,210,82,110,73,123,60,133,117,223,248,28,93,202,210,
+43,111,140,153,8,126,242,107,215,186,186,10,214,180,40,107,44,17,177,179,
+118,122,88,5,105,40,227,52,44,27,227,6,21,50,59,241,244,243,121,231,130,
+38,109,157,43,102,135,6,124,184,240,220,157,233,169,216,181,15,28,172,93,
+250,59,52,48,134,11,207,221,133,30,203,190,125,156,222,95,72,126,114,131,
+5,180,200,56,100,202,250,199,158,222,123,234,16,215,224,136,167,15,1,168,
+57,184,169,21,171,59,51,168,229,48,213,188,207,163,7,105,56,216,129,243,
+112,102,212,134,189,8,125,247,134,167,238,13,103,109,121,104,30,56,58,135,
+134,129,97,118,17,35,195,216,49,82,179,111,30,216,25,193,235,64,240,183,
+246,30,207,16,58,188,212,236,235,61,38,156,120,51,12,88,247,154,71,87,131,
+127,166,243,61,61,142,199,250,145,199,202,114,238,46,140,210,112,16,230,
+227,95,180,225,208,238,169,180,227,18,44,117,83,195,120,226,170,142,125,
+211,160,195,153,65,107,118,174,38,244,207,12,56,26,169,176,55,55,102,236,
+196,197,225,142,161,187,93,143,167,31,175,156,67,192,58,139,97,196,7,16,
+227,102,45,138,216,202,118,166,87,199,209,58,76,232,120,246,35,34,13,71,
+103,99,219,231,156,254,40,163,239,241,56,246,205,145,189,181,160,3,151,
+254,68,71,205,177,62,210,88,110,180,211,34,239,146,77,247,174,47,166,45,
+178,10,14,100,173,188,112,119,191,201,22,163,124,134,204,245,14,107,63,
+237,148,145,172,25,42,39,166,149,1,105,169,246,162,11,225,49,105,115,158,
+81,73,145,247,51,18,219,53,202,143,193,175,150,204,244,138,44,62,70,53,
+11,103,54,234,241,101,131,142,44,45,196,170,73,201,82,230,32,93,55,20,230,
+50,62,213,205,246,168,22,136,119,18,24,108,22,87,52,19,225,145,59,228,44,
+89,1,237,146,145,28,111,95,115,121,215,127,217,251,39,107,89,208,162,142,
+72,161,154,121,235,47,149,180,22,90,180,88,45,205,202,100,44,216,185,238,
+190,73,59,45,161,249,229,230,249,97,160,187,92,232,189,39,160,168,23,196,
+40,215,43,104,219,224,116,164,187,94,25,198,0,50,208,157,6,58,17,140,117,
+212,77,75,101,2,195,245,66,55,42,74,32,120,16,211,211,93,20,154,26,43,129,
+225,114,165,27,125,108,222,115,142,186,106,217,29,98,16,145,245,137,167,
+234,29,9,62,166,171,250,155,108,2,37,177,18,10,227,48,16,70,79,187,219,
+49,119,169,106,33,68,146,48,191,231,95,213,197,160,164,153,236,92,135,219,
+192,183,75,36,230,70,164,188,49,112,67,8,224,21,113,102,85,79,252,216,155,
+242,227,212,214,110,168,119,136,202,112,118,114,170,25,102,113,227,7,232,
+186,36,176,40,214,37,103,45,27,1,133,200,98,192,36,133,89,227,113,7,31,
+73,107,106,246,60,84,59,26,107,114,46,199,120,230,148,189,111,139,214,220,
+27,36,120,71,66,87,4,107,107,26,51,210,247,95,227,203,99,69,109,119,28,
+154,35,59,235,80,2,99,24,25,130,103,12,3,111,175,95,161,115,7,142,213,158,
+214,89,188,31,8,128,232,133,83,167,52,166,162,114,7,30,205,145,99,101,232,
+251,175,241,166,191,50,220,234,176,214,81,185,61,143,187,61,181,4,186,225,
+13,111,186,43,189,70,66,162,152,154,218,237,57,238,90,156,246,92,250,17,
+235,30,120,168,107,132,113,114,238,13,135,250,200,171,102,143,213,43,65,
+5,244,202,83,7,181,169,168,220,17,231,90,90,81,198,81,168,221,142,74,123,
+174,193,178,171,106,140,239,184,132,138,125,179,163,149,145,139,88,76,232,
+120,186,252,42,39,17,172,217,177,159,24,253,238,29,13,243,183,150,90,7,
+244,221,87,249,71,189,193,218,134,67,243,138,163,171,176,40,163,31,24,130,
+39,132,129,183,23,79,239,118,28,234,61,173,4,174,233,253,65,16,227,168,
+237,129,199,118,63,181,51,6,134,241,194,213,43,214,29,104,204,90,88,116,
+189,203,115,89,94,185,67,10,222,36,224,110,48,229,229,14,247,94,86,101,
+173,146,89,46,73,108,175,11,17,86,150,154,60,186,65,15,210,101,127,136,
+108,148,204,82,231,157,25,154,156,5,254,177,117,117,229,227,218,137,91,
+251,155,102,241,141,22,109,93,121,153,34,169,27,108,22,192,167,59,46,185,
+213,22,77,18,219,13,167,157,85,180,69,87,4,187,76,122,122,195,108,74,86,
+128,145,119,74,61,44,143,33,183,47,55,217,93,69,144,47,62,253,162,230,56,
+238,6,25,139,13,39,207,90,74,154,85,11,210,86,152,89,214,241,167,182,159,
+76,208,230,93,76,138,210,66,66,208,144,149,33,110,117,18,99,13,132,152,
+125,223,212,161,231,62,118,153,90,229,130,78,223,47,42,99,102,145,172,13,
+33,204,103,98,110,234,109,171,230,134,13,57,203,68,209,40,151,166,205,69,
+109,82,3,208,15,29,125,63,224,156,165,109,90,238,9,180,47,45,138,137,120,
+67,105,38,36,223,243,178,81,135,95,22,74,1,22,78,18,189,183,141,123,235,
+189,255,186,253,249,75,45,113,37,140,126,19,30,210,165,21,47,93,216,153,
+46,79,217,14,247,162,122,202,205,198,21,4,167,228,53,13,29,151,225,194,
+197,67,229,118,28,170,118,114,54,83,131,97,232,185,14,103,206,1,42,155,
+191,255,226,101,173,40,54,49,176,244,243,26,187,245,91,39,8,18,129,224,
+195,84,146,143,45,164,198,152,185,121,60,224,99,191,248,188,143,66,236,
+121,39,238,13,175,33,39,63,74,228,157,68,137,230,248,254,34,51,29,201,137,
+70,110,45,119,1,196,77,146,3,138,146,74,211,198,117,53,247,139,99,98,123,
+107,108,104,71,84,163,148,177,88,98,87,58,145,171,50,181,237,205,188,21,
+157,100,120,111,217,147,152,249,28,222,217,123,52,33,108,229,53,46,223,
+23,20,191,236,97,185,161,133,102,74,72,166,99,207,95,157,238,255,188,55,
+70,174,221,71,124,52,120,170,230,3,94,215,245,140,50,232,138,28,119,111,
+95,115,127,255,82,178,163,243,154,124,26,64,232,93,237,186,237,54,88,221,
+140,106,37,23,105,43,77,65,130,124,173,42,209,197,140,11,89,105,162,200,
+102,62,182,25,203,200,199,116,252,250,210,203,101,147,177,22,73,185,172,
+58,248,86,221,78,9,33,109,225,14,220,244,66,18,214,125,105,83,147,22,99,
+145,247,49,118,178,137,66,103,168,135,110,158,86,222,10,157,160,195,170,
+27,242,202,2,46,203,216,179,34,253,29,61,220,173,64,113,166,234,167,13,
+255,27,208,209,138,116,54,201,46,138,188,192,9,125,31,135,113,171,83,146,
+8,246,36,117,37,19,251,215,205,93,116,224,166,47,47,133,180,110,34,170,
+98,108,222,211,159,70,135,43,96,55,145,185,144,188,54,174,27,64,94,250,
+231,253,72,215,247,56,235,168,170,122,123,245,167,202,81,186,212,162,51,
+54,236,6,164,41,235,135,146,64,218,186,2,111,64,9,62,182,225,89,99,239,
+70,145,155,66,97,239,171,221,161,107,6,108,58,176,35,248,48,179,225,51,
+41,229,4,38,92,214,230,114,96,41,203,19,146,21,100,23,114,81,41,68,58,33,
+78,163,191,114,238,79,244,212,180,117,148,132,93,50,25,143,247,81,222,116,
+160,166,173,34,140,107,238,56,119,73,20,234,230,97,48,169,72,4,32,226,112,
+86,239,48,178,4,81,19,75,20,20,178,211,76,235,91,227,26,95,144,235,165,
+8,109,68,48,179,104,170,174,130,67,17,71,85,102,196,146,228,17,178,240,
+84,98,140,229,88,186,46,163,51,176,184,9,61,186,105,98,184,121,29,202,220,
+248,97,231,86,211,72,166,77,215,166,91,4,108,116,163,197,68,95,112,2,211,
+252,136,40,83,179,222,47,209,89,153,164,21,51,15,234,140,184,149,226,109,
+250,23,212,51,78,65,78,109,76,54,119,131,13,181,185,66,118,230,14,240,160,
+119,216,211,5,143,166,40,134,221,239,175,78,244,232,100,65,82,75,198,207,
+26,223,101,77,116,93,13,159,74,106,203,89,59,86,161,122,169,9,170,86,4,
+16,239,140,120,222,87,220,230,158,60,101,42,243,150,32,210,169,210,236,
+140,42,147,55,205,148,39,41,133,66,221,98,106,74,50,97,194,170,47,213,235,
+138,110,165,149,2,44,101,119,133,172,76,179,148,20,169,100,243,207,136,
+44,249,108,0,209,92,42,206,101,80,82,82,177,215,13,234,164,164,245,244,
+140,124,188,168,158,101,80,169,148,53,213,117,13,216,136,101,43,119,127,
+113,21,20,15,81,116,209,254,93,18,103,201,34,180,117,92,93,72,242,105,18,
+245,169,44,16,205,212,22,39,165,152,91,81,36,145,141,148,81,87,210,61,57,
+60,179,213,34,218,117,29,2,52,117,157,9,218,148,95,78,153,157,90,16,70,
+52,221,132,101,112,85,170,92,100,124,136,220,241,43,26,17,16,145,59,32,
+225,189,169,70,220,23,29,188,55,76,166,20,211,136,163,234,48,206,100,108,
+126,157,35,214,101,48,70,238,239,53,233,217,214,59,69,75,101,17,252,210,
+57,171,91,50,42,131,53,45,135,166,230,48,15,31,73,235,162,6,99,26,142,77,
+133,136,155,102,191,44,236,190,148,180,166,105,32,114,251,76,97,60,51,9,
+48,209,98,129,228,74,146,170,178,89,53,147,45,22,236,134,112,169,36,152,
+65,234,232,243,204,80,214,195,215,74,195,122,203,136,146,251,71,86,46,217,
+234,24,217,88,39,239,211,39,173,239,88,116,155,253,185,192,22,241,20,54,
+251,199,95,82,73,141,72,134,197,154,134,202,218,21,3,126,77,112,122,73,
+211,189,180,9,82,244,66,175,165,162,182,72,123,217,239,37,124,169,185,254,
+155,148,3,231,64,238,86,83,126,7,40,42,41,41,76,147,243,83,201,40,36,90,
+206,171,40,122,177,95,28,26,244,137,225,63,205,9,185,233,100,197,66,151,
+175,108,194,89,13,53,186,167,131,175,185,210,232,237,53,77,38,21,229,114,
+70,27,136,141,228,233,246,154,31,154,174,68,185,143,112,220,171,135,170,
+38,234,168,100,210,242,179,79,80,210,242,150,174,28,223,109,176,1,9,115,
+114,179,237,65,217,200,6,111,196,12,89,213,109,110,231,109,68,150,150,184,
+23,31,250,90,5,110,177,213,186,94,104,155,165,123,205,235,47,200,122,124,
+87,81,131,94,166,190,229,241,137,172,38,42,105,206,152,207,54,126,162,152,
+182,226,119,228,23,61,12,3,163,31,217,237,118,139,115,207,88,172,169,76,
+226,98,76,75,132,101,205,16,77,89,180,27,142,99,131,225,175,97,82,139,179,
+81,154,116,107,148,231,123,177,99,97,123,106,201,189,73,38,183,8,53,4,188,
+247,88,227,192,46,4,57,45,162,242,85,92,80,66,140,247,156,129,20,90,14,
+69,45,45,66,180,102,211,30,221,178,90,43,54,105,199,89,127,114,54,244,229,
+164,225,66,113,108,126,109,115,10,150,172,90,255,210,236,73,202,0,86,117,
+107,73,147,135,63,90,0,196,82,80,133,242,248,66,182,158,209,156,17,109,
+148,222,146,215,52,139,64,114,7,112,215,171,222,171,212,189,43,251,75,244,
+13,216,8,173,243,233,107,108,6,173,155,197,21,169,217,183,31,112,188,9,
+222,144,34,119,101,30,45,247,172,214,102,42,122,231,182,87,0,0,32,0,73,
+68,65,84,171,197,232,152,210,9,232,139,0,70,49,26,122,163,88,152,38,236,
+105,215,146,174,74,177,219,123,84,83,97,141,59,80,179,8,239,200,98,249,
+228,99,96,239,57,58,149,188,100,64,217,172,152,144,205,52,207,134,181,148,
+166,45,214,173,46,141,243,73,176,94,148,32,10,253,122,121,239,224,100,171,
+77,58,9,18,228,221,115,61,82,161,190,116,127,221,2,179,84,157,208,228,24,
+174,230,237,229,91,4,103,101,205,18,72,96,153,213,70,17,214,176,245,28,
+133,154,69,32,69,222,133,213,200,134,82,144,38,91,121,146,27,157,123,236,
+215,107,68,102,221,224,28,170,69,75,225,153,101,2,210,18,36,36,146,176,
+247,134,46,172,160,52,205,35,199,36,119,42,185,183,222,123,186,174,75,160,
+121,41,126,63,19,24,88,244,90,138,196,123,107,98,110,94,95,211,181,19,17,
+102,146,138,36,15,214,58,27,3,141,114,72,203,199,129,214,62,54,221,126,
+129,169,173,181,211,140,121,201,167,51,37,1,99,25,224,40,247,12,150,82,
+74,68,230,142,79,87,4,24,229,253,186,117,86,151,38,11,225,71,19,62,104,
+217,194,186,116,88,164,10,130,154,64,248,121,25,34,150,193,116,179,12,34,
+197,49,183,21,20,203,153,246,114,215,186,75,130,236,100,175,38,6,111,229,
+220,183,170,73,20,114,154,228,178,202,155,196,74,125,33,155,209,23,22,95,
+65,14,45,219,28,19,37,130,228,127,203,67,109,119,173,219,73,127,193,100,
+122,141,82,216,151,237,68,85,54,55,130,206,115,225,148,84,211,51,21,21,
+211,226,188,55,18,58,201,215,246,140,164,166,210,170,183,98,168,230,231,
+56,7,244,122,71,204,162,8,214,102,14,204,132,230,74,218,24,162,114,175,
+201,233,221,72,205,123,38,237,235,187,171,9,98,183,4,218,50,145,138,85,
+215,188,192,188,69,251,78,112,55,243,123,100,105,197,20,45,194,224,130,
+144,8,27,200,72,209,53,86,176,54,202,66,240,188,87,50,227,147,183,72,74,
+178,239,36,43,183,164,195,116,22,243,226,86,145,160,104,214,98,164,73,223,
+96,68,23,181,108,197,223,72,31,203,97,234,146,109,190,184,216,236,66,18,
+122,129,133,49,134,145,160,99,209,235,185,53,223,42,1,28,203,172,163,232,
+250,184,41,26,197,57,243,150,202,184,100,50,91,14,91,203,234,105,22,162,
+22,162,27,240,54,108,233,26,221,107,46,11,33,208,247,61,34,66,221,52,5,
+107,54,71,5,74,50,5,37,28,63,11,255,36,188,8,213,205,239,44,228,140,69,
+168,33,132,105,68,233,77,84,70,238,56,180,143,59,223,253,93,148,138,4,106,
+243,33,106,159,91,155,110,184,133,4,39,146,215,207,181,40,41,10,197,148,
+152,68,151,190,172,51,167,3,25,181,36,6,223,59,229,178,212,49,199,76,50,
+203,128,166,37,133,50,47,44,8,192,27,245,69,89,147,162,147,236,89,146,210,
+138,108,213,236,54,83,37,89,133,196,100,164,207,117,150,43,197,55,55,43,
+57,247,98,169,50,91,215,53,21,226,197,49,175,239,85,15,210,23,163,201,188,
+75,125,221,178,118,111,226,236,187,22,107,158,199,173,211,213,109,95,182,
+102,175,232,70,24,144,6,217,37,159,90,223,117,11,116,9,28,82,244,40,117,
+0,82,200,140,139,232,253,103,145,41,223,229,240,191,74,113,15,74,254,244,
+215,227,208,223,153,1,231,233,120,206,112,95,38,23,106,102,2,110,109,111,
+228,72,168,234,58,151,42,70,166,167,34,54,146,42,218,21,129,182,200,6,178,
+114,167,116,180,30,6,92,178,232,215,168,137,22,163,193,115,193,161,178,
+125,47,30,199,149,41,205,194,34,150,196,8,105,210,62,36,43,146,157,148,
+5,151,66,151,87,36,119,120,130,36,211,208,54,30,163,194,243,248,150,55,
+253,215,230,139,154,227,81,213,146,50,66,54,171,119,174,163,23,125,130,
+73,58,162,148,233,21,188,106,95,243,233,253,55,76,37,131,251,154,192,217,
+195,81,221,232,4,145,149,49,161,32,216,149,159,236,186,14,31,60,117,211,
+68,34,213,230,240,4,86,35,16,23,157,228,100,122,93,49,191,120,17,174,145,
+66,197,109,202,230,75,67,40,96,196,230,230,107,99,126,241,199,134,214,54,
+17,190,100,35,204,207,46,96,172,65,212,100,216,89,58,242,86,138,155,158,
+55,125,76,193,155,38,133,182,137,9,203,6,9,78,72,38,77,21,227,138,95,204,
+222,51,0,68,19,118,177,22,124,144,162,181,116,67,56,106,197,156,219,194,
+178,149,108,160,79,110,248,181,32,19,22,35,97,89,139,145,144,205,36,123,
+65,215,64,138,158,231,162,205,114,78,2,182,208,212,123,246,237,61,108,247,
+39,115,12,165,32,172,188,23,53,228,101,148,70,238,236,254,178,208,38,47,
+94,206,214,171,235,110,138,188,97,106,141,64,190,43,8,209,133,245,77,169,
+1,83,246,192,203,157,186,248,162,139,162,146,183,109,221,236,221,44,122,
+179,17,184,202,187,158,235,215,85,127,151,53,21,171,220,62,146,115,202,
+230,164,160,152,215,158,253,64,246,72,165,152,73,145,18,118,19,46,67,130,
+26,200,11,60,1,217,192,208,36,193,88,202,90,188,220,123,190,105,32,166,
+100,124,131,219,248,223,124,252,229,244,241,47,62,125,177,232,212,40,34,
+164,84,64,64,214,194,96,130,228,58,189,165,144,241,202,24,43,6,55,107,59,
+151,127,125,232,249,210,245,255,77,156,181,206,106,109,37,164,154,58,236,
+204,200,38,195,76,178,32,32,228,119,93,211,102,241,233,131,223,240,240,
+141,188,106,63,200,73,132,155,253,15,27,248,211,166,114,141,108,82,149,
+36,169,187,95,187,142,166,174,169,170,42,66,210,90,126,71,147,197,153,31,
+171,84,150,222,100,209,195,166,67,164,16,45,10,33,16,188,207,160,241,85,
+91,200,175,89,80,94,136,95,179,12,207,49,198,44,18,174,165,131,73,251,120,
+87,125,183,108,16,205,138,214,151,247,40,4,202,198,0,71,54,114,195,76,37,
+40,147,255,203,185,79,119,187,14,178,89,190,41,76,47,89,132,94,72,80,172,
+170,106,235,222,159,219,246,93,35,1,114,167,28,186,37,131,146,139,147,23,
+61,195,154,211,86,41,218,142,74,190,73,169,16,124,119,90,170,220,77,120,
+95,112,254,47,255,144,188,35,151,126,185,229,172,28,172,202,170,228,161,
+47,178,219,95,90,63,229,153,203,29,240,150,247,8,30,182,156,184,174,138,
+50,51,58,187,10,46,41,246,99,209,155,165,228,189,243,200,125,29,222,95,
+171,63,217,42,201,20,42,34,183,206,173,140,143,178,254,126,42,45,155,64,
+185,89,234,46,105,39,145,200,118,96,88,204,210,120,95,110,129,176,53,66,
+120,155,240,249,210,117,231,62,186,156,228,183,254,184,91,53,245,109,17,
+25,74,114,111,214,68,153,144,43,86,141,214,178,234,221,52,91,83,199,166,
+191,203,120,230,43,221,151,162,179,209,192,206,237,216,219,227,210,162,
+165,185,115,143,14,61,76,79,47,76,48,171,102,81,136,18,150,200,179,200,
+242,85,227,188,231,110,232,184,92,207,136,8,255,232,205,175,18,188,231,
+83,251,207,164,5,133,141,86,176,59,77,153,107,229,159,21,88,191,24,59,229,
+218,117,113,138,86,93,205,28,129,116,30,113,182,28,54,229,5,228,197,160,
+62,179,249,243,168,200,5,194,74,39,65,131,226,156,203,165,22,63,174,115,
+191,59,4,162,124,93,55,70,24,106,148,14,54,82,136,42,229,160,177,166,129,
+101,50,101,233,22,205,22,133,235,85,246,81,194,245,172,252,243,75,115,254,
+200,235,104,101,80,201,18,20,207,159,22,41,102,25,20,81,214,44,100,116,
+227,21,104,49,123,186,168,124,81,180,248,204,93,17,121,155,221,34,182,145,
+231,12,91,149,19,217,96,183,72,42,124,117,199,185,175,186,49,117,189,21,
+50,68,228,30,123,254,99,65,243,247,188,157,222,205,250,244,206,151,228,
+5,36,160,148,145,213,85,159,181,188,80,120,123,23,206,176,5,215,167,75,
+35,224,71,141,195,136,68,238,86,51,116,131,79,130,172,1,160,84,252,101,
+213,66,203,134,184,89,250,192,38,238,135,42,120,31,166,206,150,117,82,41,
+186,230,84,127,34,231,127,215,193,45,4,50,85,93,251,169,21,217,182,172,
+166,201,123,173,29,153,109,36,137,244,236,237,80,154,35,136,82,112,182,
+239,184,117,45,26,228,94,44,6,109,206,134,217,184,209,171,160,32,9,97,166,
+55,220,146,124,220,9,69,36,87,240,185,177,141,37,117,166,178,89,144,95,
+106,187,9,131,211,168,185,3,203,43,95,237,190,60,223,134,15,219,111,160,
+177,45,33,138,200,207,215,28,5,105,38,168,196,128,98,163,115,159,196,53,
+2,113,204,233,44,116,131,157,58,174,38,73,91,13,4,37,246,220,138,193,98,
+168,108,77,91,183,124,244,244,17,104,224,203,111,127,149,125,125,164,114,
+205,172,137,157,197,92,178,69,9,46,16,11,121,57,87,84,141,131,100,80,165,
+110,26,74,253,248,185,115,33,101,118,147,10,219,20,117,163,45,227,90,110,
+182,27,220,132,36,11,85,38,245,191,64,8,1,177,18,5,64,100,27,210,124,167,
+167,215,247,125,61,223,197,33,132,168,86,231,220,54,106,32,178,9,227,74,
+214,193,193,54,39,66,147,150,31,41,64,27,209,205,33,213,247,37,125,116,
+131,44,53,61,167,160,132,144,4,7,70,16,179,209,103,175,197,62,73,122,170,
+111,14,121,233,124,74,122,144,67,20,141,209,0,98,227,111,107,174,58,188,
+10,154,84,238,193,131,242,206,108,62,239,149,78,2,151,164,147,65,179,18,
+88,136,28,14,152,132,106,54,218,168,222,19,133,189,127,82,197,197,202,251,
+52,163,173,51,229,57,97,208,16,47,194,8,168,159,94,75,210,147,27,215,99,
+66,149,182,148,39,95,26,42,179,125,54,91,162,88,50,207,28,87,63,112,185,
+92,232,123,161,62,30,216,213,110,243,202,180,116,202,170,171,85,188,4,189,
+57,96,36,233,253,211,114,104,73,206,47,129,40,229,221,93,47,92,46,26,207,
+169,113,43,32,110,179,247,80,223,27,126,216,142,56,183,138,177,41,176,164,
+219,114,192,217,184,122,221,224,126,148,18,178,217,148,104,217,22,185,75,
+20,88,203,42,22,47,14,253,102,197,165,88,190,171,185,234,158,110,228,144,
+115,249,92,230,113,191,164,101,226,20,113,40,242,117,151,193,157,51,158,
+79,38,178,168,165,60,173,20,213,35,213,66,38,52,163,159,79,25,140,36,202,
+80,107,155,249,165,235,175,18,240,168,10,223,184,255,39,48,24,130,250,185,
+230,172,193,227,253,64,223,15,120,21,92,83,83,91,51,141,255,11,248,48,48,
+94,7,58,239,9,128,177,21,109,83,227,236,109,12,166,103,244,158,161,239,
+25,85,168,154,154,202,154,185,125,206,136,240,250,225,21,95,249,234,151,
+232,175,29,95,184,124,158,127,250,155,190,157,93,229,18,52,68,243,59,191,
+53,3,248,198,182,212,69,234,112,43,24,29,198,56,201,171,174,107,156,181,
+201,90,214,85,106,153,142,194,93,245,92,150,130,18,89,134,39,171,41,67,
+37,147,123,190,28,35,88,227,242,33,40,122,135,90,33,31,35,115,191,107,200,
+243,246,27,17,166,105,121,183,117,184,240,62,102,70,108,33,208,177,110,
+21,191,87,151,88,244,232,179,188,92,116,27,246,190,107,139,74,149,176,105,
+16,207,24,8,253,200,248,220,209,95,167,96,212,90,220,161,161,61,84,88,23,
+207,59,120,157,157,254,186,209,60,225,83,204,34,77,58,59,123,84,9,221,64,
+247,181,142,17,67,245,65,75,179,179,249,60,232,210,249,109,148,201,214,
+98,170,119,16,240,249,167,146,241,122,73,134,112,203,232,210,62,105,29,
+175,116,151,39,2,59,234,221,1,227,108,145,226,135,73,56,105,114,150,178,
+158,239,126,151,75,187,53,111,120,147,110,15,91,237,127,171,106,185,122,
+124,247,204,112,29,17,215,98,101,160,239,206,140,125,159,168,9,10,152,10,
+215,30,105,119,123,196,217,21,236,175,239,229,183,18,109,137,48,233,105,
+26,187,234,89,80,245,12,215,11,167,243,21,111,26,246,135,3,187,218,46,163,
+108,67,84,39,52,70,86,211,230,217,232,104,200,90,237,210,214,223,13,228,
+39,138,74,233,60,34,185,84,45,213,160,248,190,227,58,40,18,118,180,83,162,
+35,91,200,13,159,16,141,185,235,228,11,7,164,90,148,218,114,82,161,100,
+48,250,134,186,94,158,57,228,189,6,133,250,174,74,62,74,118,187,77,49,255,
+241,178,20,40,27,58,22,105,11,236,86,249,106,93,133,74,235,237,105,171,
+156,36,196,191,28,185,136,74,118,133,224,75,202,142,204,22,68,6,177,221,
+200,11,186,100,64,42,69,59,71,210,45,170,76,70,109,91,107,62,16,232,194,
+21,85,101,239,246,24,162,42,157,51,59,132,129,97,232,233,199,158,209,143,
+140,65,49,117,133,157,38,57,5,63,226,135,145,17,176,117,205,78,71,186,126,
+152,106,247,1,31,148,48,14,244,227,24,165,64,3,152,170,138,36,191,137,194,
+172,34,104,8,140,67,135,177,150,193,43,214,24,188,14,81,200,36,77,173,95,
+98,93,165,253,202,247,50,120,133,113,244,12,253,16,91,226,234,106,131,216,
+84,112,33,52,53,178,247,241,213,213,94,208,50,205,207,85,153,116,50,28,
+222,135,56,91,222,44,53,247,23,107,239,91,27,87,63,166,195,191,233,204,
+107,52,122,113,112,152,41,144,111,217,32,152,203,125,169,201,82,169,107,
+213,1,145,71,206,203,116,172,205,170,74,222,255,90,222,195,233,123,161,
+235,25,159,6,134,96,168,118,13,135,87,118,222,93,98,76,20,129,243,158,241,
+220,211,119,96,247,13,85,43,147,106,155,36,162,59,146,65,234,51,43,246,
+118,201,67,96,184,12,248,0,246,88,81,213,134,252,14,149,169,212,6,228,154,
+26,178,173,68,43,213,20,208,141,33,39,89,3,110,90,190,11,248,225,74,127,
+121,38,132,10,187,223,97,157,201,253,118,24,240,253,137,190,243,72,179,
+167,174,219,120,15,62,9,185,78,238,227,186,219,153,180,230,2,63,26,240,
+253,137,225,58,130,107,169,118,59,68,26,90,231,24,236,51,67,112,84,205,
+126,226,196,152,73,243,192,188,147,48,251,226,95,24,241,253,137,174,11,
+152,102,79,211,68,185,220,219,211,8,99,207,229,124,226,50,40,182,62,240,
+176,111,169,166,153,7,33,244,116,167,19,167,78,169,247,71,14,187,106,158,
+97,207,170,154,79,142,156,102,200,174,108,219,141,48,208,95,46,156,7,165,
+222,237,104,165,74,146,177,121,163,18,136,115,12,108,42,134,242,174,81,
+176,159,152,180,179,49,40,71,203,176,77,86,141,104,179,154,30,139,13,17,
+54,164,115,87,56,254,26,84,207,100,175,55,171,72,147,31,20,125,145,107,
+81,246,170,104,97,91,102,117,189,123,73,83,57,80,75,180,80,178,72,26,65,
+139,18,140,35,133,62,181,36,212,73,137,36,38,196,186,2,240,42,50,159,52,
+152,180,50,193,190,119,254,188,250,168,181,77,224,232,30,80,213,73,62,82,
+25,250,201,168,89,97,28,65,156,165,114,6,35,11,52,97,42,71,61,29,211,247,
+211,84,56,43,96,2,126,24,241,10,206,25,124,23,192,89,92,109,49,70,167,222,
+228,56,189,171,235,123,130,198,26,180,49,21,149,115,120,223,129,238,38,
+152,78,183,213,188,86,20,243,181,122,88,94,239,85,174,221,5,17,67,93,215,
+113,192,142,108,69,224,185,194,153,108,200,6,167,31,213,2,166,191,5,92,
+169,240,199,34,113,151,227,171,214,218,25,194,94,237,47,217,96,199,202,
+199,136,192,121,41,69,4,33,44,189,246,233,40,196,148,32,166,119,18,184,
+210,152,23,77,170,247,132,160,230,223,29,3,97,10,108,150,245,43,16,60,33,
+24,196,42,58,198,122,142,185,105,29,7,37,12,241,53,193,51,188,233,232,7,
+67,253,170,166,218,217,201,113,223,2,224,128,31,20,189,14,116,207,35,161,
+170,113,102,42,135,200,36,213,26,148,160,130,17,79,24,167,243,50,6,115,
+107,34,8,17,246,14,10,118,215,224,30,76,44,163,76,40,128,142,74,48,130,
+140,97,86,225,19,123,155,51,63,5,35,67,184,77,20,88,254,110,215,36,219,
+244,172,28,97,136,228,203,60,192,50,83,38,41,168,63,211,159,78,120,83,83,
+237,143,84,181,155,180,41,149,48,142,113,63,14,207,116,215,30,117,211,156,
+118,13,16,108,204,144,130,198,235,188,45,75,19,117,248,227,249,4,116,140,
+251,150,105,98,100,60,127,151,200,222,6,212,47,178,162,96,177,147,40,77,
+220,187,1,245,126,106,13,83,116,56,209,93,7,164,58,208,236,118,49,99,213,
+192,208,95,24,125,69,189,59,82,53,205,34,157,139,18,252,144,16,176,108,
+108,225,84,65,117,68,67,68,108,230,53,23,198,169,140,98,227,28,12,245,132,
+233,152,184,93,156,1,16,148,96,21,163,224,199,51,111,223,156,24,165,102,
+55,65,242,241,51,35,131,15,248,238,153,167,231,43,190,218,211,154,73,62,
+218,198,251,111,52,30,111,12,183,231,104,176,78,166,189,28,240,163,143,
+1,138,51,83,64,27,103,30,196,57,5,1,175,74,232,47,156,187,1,181,77,68,86,
+66,32,76,193,197,220,250,110,162,99,168,170,104,27,77,54,192,37,14,101,
+82,36,145,3,254,122,103,192,111,49,60,150,250,120,78,6,92,178,219,45,209,
+202,162,140,159,179,229,147,86,184,92,61,186,40,178,11,27,188,141,205,209,
+91,9,207,101,77,171,147,13,97,128,181,48,219,90,192,104,206,212,19,25,97,
+77,94,147,13,78,73,132,232,53,31,59,95,114,59,55,85,235,164,104,24,206,
+172,240,154,53,110,196,188,16,134,43,125,232,162,179,85,197,153,10,175,
+30,39,13,72,152,106,178,35,125,239,241,34,184,218,98,39,165,188,217,104,
+77,198,204,251,129,126,24,240,166,162,173,38,24,176,178,152,16,24,250,17,
+143,80,87,211,208,140,16,31,128,247,3,67,223,227,197,96,37,30,223,85,49,
+130,189,118,23,100,255,154,173,17,166,25,124,89,50,26,97,37,180,113,251,
+175,110,24,9,94,217,31,154,104,132,210,190,75,213,196,225,231,109,87,233,
+83,74,91,185,82,194,222,100,249,10,10,69,66,76,76,89,248,68,130,161,15,
+1,103,5,9,83,73,33,237,249,76,68,51,72,120,13,155,201,248,45,186,54,178,
+137,156,106,89,135,85,157,234,238,49,192,16,149,172,223,93,139,30,91,13,
+240,23,255,252,143,243,67,127,240,135,24,134,97,211,36,124,254,87,62,191,
+98,22,222,106,106,37,104,233,47,61,221,219,1,118,45,205,113,202,74,0,237,
+7,250,231,142,65,29,206,121,134,83,64,154,154,221,171,10,59,122,250,167,
+158,174,87,220,161,161,50,35,195,37,160,206,34,182,216,224,163,167,127,
+190,210,61,141,140,131,71,213,96,170,43,151,139,96,154,138,250,117,67,77,
+160,63,117,140,163,197,154,192,120,29,240,24,220,113,71,123,180,24,245,
+140,207,87,186,211,200,56,8,118,87,211,126,186,161,186,173,247,203,192,
+183,254,83,255,124,118,15,254,206,223,254,105,234,15,118,212,187,56,232,
+197,159,7,250,167,142,113,136,129,133,42,72,93,81,63,182,180,123,27,107,
+249,220,134,200,20,160,189,42,33,116,248,235,137,254,122,101,244,209,89,
+41,53,245,225,53,187,221,14,225,74,127,62,51,120,75,125,60,82,185,73,83,
+66,2,190,191,208,159,62,162,191,14,211,48,26,139,49,61,254,122,198,54,71,
+218,253,14,43,35,195,245,68,127,185,204,142,199,52,143,236,142,71,172,12,
+140,151,103,174,221,136,117,21,58,94,24,7,15,182,165,121,248,128,186,178,
+16,58,198,238,76,119,185,18,188,71,197,226,154,87,180,199,61,214,0,99,207,
+208,157,227,239,123,191,12,185,105,63,224,176,219,197,61,168,35,227,245,
+137,190,15,216,253,107,170,182,138,233,136,6,8,3,195,245,153,254,210,17,
+194,136,226,176,205,35,187,135,3,38,116,12,231,143,232,71,135,59,188,166,
+174,12,97,56,51,92,158,240,82,97,93,141,246,79,12,221,116,253,106,49,238,
+202,120,173,112,205,3,237,97,143,250,43,207,207,79,92,67,203,227,7,71,118,
+85,28,113,171,99,199,249,249,35,62,122,190,50,244,3,163,26,92,53,50,92,
+78,84,77,203,241,213,43,246,85,96,236,175,156,158,159,184,244,35,94,13,
+85,115,228,241,245,145,214,142,12,215,103,222,158,71,164,222,243,184,111,
+177,76,153,186,23,170,170,194,134,158,110,24,24,199,24,208,154,208,113,
+30,59,76,221,210,238,91,90,103,231,182,211,224,3,1,139,171,107,156,73,117,
+77,98,96,116,122,234,161,110,57,28,91,42,195,186,237,227,147,56,251,162,
+239,123,46,7,79,220,164,217,14,102,68,210,66,105,243,110,171,174,38,159,
+41,28,105,209,145,146,202,80,147,77,169,211,59,57,123,81,14,154,39,222,
+189,124,35,164,236,202,209,220,128,106,146,132,205,45,209,25,65,119,153,
+41,34,147,243,119,154,120,172,156,93,44,171,178,230,12,71,100,125,129,69,
+225,67,115,166,151,21,119,231,97,39,4,171,41,131,55,98,19,22,60,51,67,34,
+140,61,221,168,152,202,225,196,16,36,204,145,89,172,120,6,252,56,208,117,
+61,65,106,234,218,197,172,108,114,156,97,28,232,124,192,86,205,20,121,135,
+56,97,203,15,12,131,71,141,163,178,202,208,7,176,21,174,50,72,136,191,190,
+234,181,40,198,254,221,1,119,10,159,31,95,31,189,167,239,174,83,221,221,
+205,211,137,2,74,24,125,148,71,117,154,44,136,69,81,218,143,35,98,36,214,
+169,181,88,111,170,140,222,71,233,95,43,115,63,120,186,192,199,113,196,
+136,137,44,245,27,75,84,132,202,58,20,24,66,124,223,26,91,148,111,227,130,
+25,189,199,138,196,108,127,229,220,227,251,198,24,172,110,71,0,222,143,
+241,250,172,201,180,217,221,196,163,184,157,159,113,38,149,214,158,184,
+91,81,54,247,7,254,189,31,120,25,5,13,97,210,206,95,235,36,140,227,116,
+127,156,65,125,116,142,94,13,77,101,144,16,8,106,48,4,252,165,103,240,150,
+234,224,112,162,248,231,145,16,20,223,15,244,167,129,128,163,121,85,83,
+53,160,189,71,28,132,174,227,242,53,69,31,91,154,253,36,14,100,13,110,223,
+196,204,178,179,84,199,150,122,103,166,132,99,10,50,158,58,186,167,17,173,
+4,247,88,209,212,134,238,237,56,5,74,17,243,114,135,22,161,227,252,28,112,
+123,135,173,44,162,1,29,61,195,219,235,102,176,101,0,25,3,195,211,149,193,
+11,238,184,163,177,202,240,230,202,128,163,126,213,80,55,38,153,14,168,
+12,227,24,159,141,113,252,175,63,241,151,249,225,31,248,33,52,4,254,227,
+255,236,7,249,29,159,253,44,245,227,35,77,184,50,60,191,197,219,29,85,221,
+34,50,50,92,158,232,123,161,58,60,80,59,151,212,101,5,177,53,213,238,64,
+240,207,4,251,154,230,112,136,101,160,27,153,172,123,195,169,235,193,29,
+168,31,31,144,112,162,63,157,65,166,17,204,195,137,235,233,132,87,65,234,
+61,245,190,197,92,190,70,175,6,33,16,174,79,92,175,87,112,71,154,135,35,
+70,207,116,207,231,72,152,10,99,124,191,243,72,189,163,125,117,132,112,
+101,120,126,98,180,7,154,253,17,227,34,177,46,12,39,250,203,136,105,31,
+104,110,206,157,145,112,121,226,210,93,193,78,231,167,103,250,167,243,148,
+49,70,155,22,84,193,56,132,145,241,252,204,48,10,182,121,205,174,174,17,
+81,130,243,4,127,198,84,31,208,236,246,147,120,83,36,33,162,158,243,243,
+19,87,109,56,190,122,96,95,37,51,57,108,69,115,120,197,163,15,188,49,45,
+143,143,15,28,219,106,202,170,227,119,47,111,222,114,9,150,221,254,3,62,
+253,168,116,207,111,57,141,3,33,196,209,206,198,57,172,140,113,218,159,
+239,233,250,30,165,98,127,104,168,173,64,112,24,115,225,106,132,102,215,
+82,185,40,189,44,217,180,76,141,247,200,123,112,53,117,101,177,41,47,40,
+120,198,222,199,243,109,39,231,175,178,238,150,248,36,52,250,114,244,193,
+76,238,78,102,42,20,83,52,179,234,220,10,69,44,122,220,19,109,21,145,117,
+217,63,103,203,23,72,237,29,213,161,148,51,47,153,176,155,172,250,247,215,
+101,217,178,177,191,96,82,168,36,46,86,50,212,86,165,24,79,180,180,201,
+177,26,58,146,207,178,78,131,150,173,42,84,161,24,150,188,27,25,243,178,
+173,106,180,49,118,47,186,58,157,157,124,28,145,57,210,15,1,53,150,166,
+50,113,116,37,55,199,51,205,235,238,123,134,193,131,181,212,141,195,77,
+173,78,42,33,58,247,113,68,141,141,142,91,3,94,71,198,97,100,244,1,92,69,
+101,149,177,31,80,141,8,129,121,190,213,166,74,49,139,178,242,195,38,75,
+146,164,189,226,246,239,219,121,34,134,186,169,146,136,110,146,191,180,
+54,214,251,146,25,204,75,117,37,58,86,35,102,123,80,132,220,222,95,162,
+216,191,253,191,255,77,62,247,23,62,199,207,254,212,207,242,15,127,229,
+31,50,12,3,175,94,191,226,91,190,237,91,248,174,207,126,23,223,247,123,
+191,159,221,110,199,47,125,241,239,243,7,254,237,63,0,192,31,254,177,63,
+204,239,252,87,190,171,40,223,198,235,112,214,110,102,239,183,12,219,218,
+56,98,115,51,230,49,113,154,153,73,126,192,251,248,28,173,149,8,43,218,
+37,251,215,178,252,33,130,197,190,211,44,24,107,214,8,209,20,9,89,103,23,
+248,177,27,24,71,48,173,67,134,158,235,115,192,180,21,22,207,56,40,118,
+87,81,55,6,237,166,192,161,31,24,196,96,234,134,246,224,176,211,4,135,191,
+248,63,255,47,252,161,63,248,135,24,134,241,189,204,86,85,85,252,145,63,
+245,71,248,190,223,253,175,227,47,3,253,69,49,251,150,230,177,194,58,197,
+63,13,152,202,226,90,187,16,33,189,103,232,21,211,214,84,7,135,153,58,30,
+198,83,79,144,245,61,169,118,53,206,5,134,231,158,190,7,247,216,82,53,177,
+76,16,140,197,237,106,170,201,185,167,235,203,57,59,33,109,158,31,251,79,
+126,148,47,127,233,43,0,252,241,255,226,191,228,95,251,254,223,29,157,99,
+223,163,110,79,189,127,196,153,192,120,125,166,239,3,102,247,138,166,174,
+231,172,33,218,142,0,190,103,236,70,176,71,218,199,87,184,201,185,7,223,
+227,175,207,244,215,1,170,3,77,219,96,66,31,29,133,219,83,237,26,100,124,
+230,122,58,227,77,75,179,127,160,174,43,116,60,49,138,197,185,10,250,183,
+92,251,17,170,35,117,219,98,180,139,223,175,246,84,141,33,92,223,210,15,
+96,218,71,234,182,142,217,118,63,160,118,71,125,120,160,170,4,9,145,104,
+215,119,29,184,3,205,110,31,239,111,24,24,46,111,25,186,17,170,7,234,182,
+193,232,116,45,110,71,181,191,161,3,10,226,192,247,248,203,128,184,150,
+230,176,159,131,176,48,92,25,251,128,184,35,205,241,1,103,205,188,37,130,
+31,184,62,191,229,52,8,213,241,200,161,206,167,53,10,74,24,58,186,81,168,
+118,71,30,246,59,42,115,43,123,92,57,61,159,233,122,165,122,220,81,87,6,
+198,158,128,161,174,91,170,137,255,128,26,172,181,140,58,50,140,6,83,181,
+52,55,254,17,145,180,23,212,80,181,13,77,229,166,206,135,5,17,140,54,40,
+224,199,145,33,128,113,21,141,51,217,212,71,49,21,237,193,209,112,43,11,
+201,215,7,205,103,153,171,100,93,71,41,56,151,139,41,105,38,101,45,27,76,
+116,101,157,153,207,100,113,201,19,207,57,15,79,231,175,176,209,150,198,
+54,203,89,19,78,90,78,201,44,91,249,114,167,189,154,246,153,201,13,44,100,
+219,76,7,95,211,238,150,117,80,35,95,124,251,69,229,158,226,211,150,176,
+77,169,42,82,168,231,164,174,206,138,123,143,0,78,120,59,124,196,87,46,
+177,255,253,159,60,124,19,65,61,173,125,132,112,229,210,93,232,85,162,129,
+182,147,140,234,84,55,247,67,100,162,7,12,182,174,113,198,96,140,78,181,
+188,169,182,126,237,24,48,84,77,21,179,215,208,211,117,99,156,75,109,45,
+198,10,97,232,25,198,128,184,138,186,113,60,127,245,9,13,240,234,248,154,
+95,255,169,111,218,26,28,188,25,177,228,21,153,68,197,47,40,151,235,149,
+16,2,109,211,224,42,87,48,93,95,102,166,137,164,17,167,228,206,87,115,117,
+227,191,251,83,63,203,143,252,240,143,240,243,63,247,243,47,222,245,87,
+175,95,241,67,63,242,195,252,119,127,230,191,229,167,255,206,79,3,240,27,
+191,249,55,242,185,255,237,115,57,10,245,49,2,238,247,125,95,51,54,111,
+57,44,83,146,77,156,183,4,254,248,159,251,113,126,248,93,16,189,228,234,
+11,43,57,145,126,160,123,59,48,78,104,7,231,17,117,6,83,69,192,70,154,154,
+122,87,97,24,25,78,61,221,155,1,53,142,250,83,13,85,107,151,218,54,240,
+45,223,244,45,159,200,134,125,225,23,254,46,215,147,71,173,163,57,84,216,
+90,144,16,219,223,130,128,49,183,12,118,164,251,168,99,192,82,63,214,241,
+248,170,140,79,87,250,78,49,187,154,239,248,103,190,45,251,237,159,251,
+197,207,99,198,129,203,219,1,117,21,245,161,66,198,129,177,139,165,134,
+106,239,112,110,173,111,49,231,242,254,202,183,254,166,239,140,112,246,
+180,71,126,238,139,63,73,127,62,227,113,84,187,35,206,41,254,252,150,97,
+0,211,70,7,107,77,58,39,33,196,154,251,229,66,144,93,204,92,235,216,254,
+168,225,202,112,122,203,245,114,193,123,69,110,99,118,109,75,189,123,192,
+213,53,198,159,232,78,39,188,212,212,251,135,168,17,161,145,249,30,66,199,
+112,126,162,191,118,68,66,190,196,249,237,174,165,222,29,113,46,48,94,206,
+248,96,113,187,3,85,83,65,127,166,59,159,9,84,84,251,3,85,85,35,4,252,245,
+45,93,215,129,221,83,239,247,56,107,192,95,233,207,79,92,207,151,152,9,
+27,27,3,23,215,82,237,142,84,77,29,9,119,58,16,174,39,250,235,9,79,67,117,
+120,164,174,171,41,72,10,104,247,204,245,114,33,152,150,122,127,136,220,
+158,185,52,166,244,207,95,227,205,121,196,181,15,60,28,119,49,163,78,90,
+191,66,255,204,71,111,206,12,174,229,225,120,100,215,216,249,254,61,191,
+121,195,219,83,23,237,222,20,216,27,99,112,205,142,118,183,167,173,99,89,
+115,236,123,250,174,39,152,138,166,109,169,42,19,185,80,26,80,63,208,15,
+30,47,134,186,170,98,128,158,142,91,189,245,85,251,129,107,223,163,226,
+168,235,42,30,239,125,90,101,127,45,133,111,36,151,225,78,235,220,57,135,
+52,159,43,194,150,51,46,13,175,38,227,155,179,128,98,171,131,72,95,108,
+33,202,2,129,108,252,246,162,19,163,47,234,47,228,73,155,20,157,67,90,250,
+154,130,87,171,27,4,105,87,122,245,180,213,79,151,105,169,137,219,214,13,
+118,119,62,136,220,48,109,186,247,37,83,40,153,124,106,116,89,158,113,24,
+24,189,96,107,139,117,83,246,165,177,93,206,15,35,131,6,196,214,212,149,
+139,164,59,209,169,223,93,80,245,244,67,79,175,196,239,139,65,195,192,216,
+119,244,195,72,64,24,134,165,253,68,69,34,244,20,150,250,186,100,179,89,
+183,198,167,109,211,201,51,78,164,70,181,58,63,142,52,77,131,117,182,104,
+135,184,167,27,94,200,221,206,115,238,211,138,136,102,11,252,79,255,87,
+127,154,63,249,163,127,34,23,129,184,243,247,230,163,55,252,192,191,251,
+31,102,175,253,131,95,249,7,27,186,202,239,201,135,121,23,229,121,90,35,
+33,248,88,119,191,9,218,20,56,156,38,245,166,52,50,85,148,239,251,189,223,
+199,247,255,158,239,155,23,243,183,253,134,111,221,220,104,202,157,13,161,
+1,223,121,124,31,48,123,183,224,217,128,14,96,246,145,40,199,216,211,95,
+125,44,217,16,17,136,184,158,37,65,168,244,19,219,171,225,234,9,106,105,
+246,21,182,146,133,228,99,227,26,84,5,124,96,56,245,17,98,127,172,169,154,
+8,159,250,235,192,112,245,80,55,84,173,227,255,250,127,62,31,179,245,14,
+170,135,26,209,64,127,26,24,251,17,250,192,165,27,177,109,69,115,108,113,
+9,44,79,66,232,153,239,84,232,25,47,167,217,185,71,0,193,211,189,125,195,
+72,77,115,60,82,85,50,213,171,61,166,125,69,221,54,17,46,247,83,251,159,
+8,58,92,232,47,39,70,218,232,220,43,59,237,241,30,127,121,162,27,192,61,
+124,200,190,170,34,25,111,238,58,176,232,112,98,184,198,204,189,222,31,
+169,43,183,16,48,131,39,116,103,134,209,224,30,62,100,87,85,11,209,78,108,
+132,201,175,207,140,131,226,14,59,156,51,104,247,150,238,57,58,225,230,
+120,136,204,120,9,132,238,76,127,189,160,246,64,211,238,113,198,34,218,
+209,95,159,233,123,165,122,248,12,85,93,97,231,82,101,68,216,204,141,129,
+223,157,167,182,53,135,113,59,156,171,102,98,161,14,23,186,235,9,47,13,
+237,238,16,121,68,201,74,247,253,153,211,165,71,221,129,253,190,157,90,
+121,147,21,236,59,206,167,51,87,181,28,247,123,218,218,78,207,202,51,92,
+46,92,58,104,31,63,205,113,215,68,180,242,38,164,100,76,124,6,126,96,24,
+99,199,145,136,193,216,200,71,154,231,216,107,96,28,71,70,53,84,85,141,
+179,228,51,166,111,253,6,193,51,14,35,42,85,172,217,219,100,82,223,109,
+236,172,200,204,235,145,127,28,206,125,118,17,146,56,249,181,6,140,110,
+137,115,189,168,32,147,104,17,232,210,150,42,105,1,95,239,177,139,101,213,
+254,152,235,201,179,76,239,76,134,222,220,140,181,232,251,228,75,154,4,
+224,139,154,105,108,147,147,124,172,47,233,232,102,201,104,244,38,85,221,
+202,110,90,161,131,29,11,91,154,207,170,43,11,10,243,131,54,188,199,208,
+187,4,236,143,76,226,168,21,50,50,250,145,48,244,17,130,155,24,197,145,
+1,27,24,187,11,151,243,149,46,128,117,117,204,70,116,140,142,93,39,248,
+210,15,244,67,71,215,143,177,231,214,76,158,91,12,182,106,217,31,142,236,
+247,123,118,187,10,43,96,155,134,246,176,163,109,42,236,20,65,107,40,2,
+194,162,7,27,45,65,249,28,166,191,221,194,16,2,215,238,26,217,167,85,181,
+56,9,93,7,9,82,214,121,100,233,189,151,23,218,208,20,248,179,255,205,159,
+229,79,252,200,31,127,47,231,254,82,13,59,45,201,124,188,190,246,123,175,
+105,54,11,64,136,60,130,155,20,238,106,222,150,146,13,133,88,56,49,146,
+199,145,119,207,65,10,245,149,228,33,250,192,112,26,35,179,162,178,84,85,
+44,10,141,215,128,105,107,92,99,8,231,43,151,143,6,188,88,154,199,26,91,
+203,92,26,51,26,240,131,199,143,158,48,40,127,244,79,253,209,168,252,247,
+158,127,85,85,241,71,255,216,143,210,245,6,55,57,247,57,154,150,27,44,235,
+241,195,212,86,119,10,80,59,92,53,93,202,24,24,78,29,193,86,84,123,135,
+49,16,186,129,254,28,131,19,91,41,227,219,142,145,138,230,83,71,246,31,
+30,56,124,170,165,125,172,113,59,155,57,247,178,110,136,70,72,184,191,94,
+86,159,184,134,154,234,248,64,85,71,82,219,112,190,162,166,193,58,33,12,
+103,250,75,36,224,197,184,220,199,118,184,65,176,174,137,144,183,198,86,
+58,245,61,99,215,17,176,113,212,238,45,160,179,14,99,44,248,152,157,123,
+217,81,239,31,23,231,126,67,170,252,192,216,95,9,56,236,196,162,23,4,99,
+93,100,244,143,87,134,203,5,53,209,137,143,167,175,113,250,218,87,232,124,
+69,117,152,144,0,64,253,133,238,244,134,96,246,83,214,111,64,2,193,15,248,
+238,74,160,194,220,52,33,159,73,46,82,0,0,32,0,73,68,65,84,16,196,86,17,
+61,28,59,250,211,87,185,94,206,224,14,84,135,195,220,149,178,240,93,2,190,
+127,102,152,174,95,110,93,2,243,90,140,208,125,55,130,107,26,234,42,103,
+81,43,129,48,118,156,175,17,57,50,104,92,111,83,15,125,63,145,133,157,49,
+179,224,163,17,19,17,78,2,190,187,114,185,68,174,72,221,212,11,123,30,179,
+164,121,234,25,167,214,88,35,177,255,93,37,201,134,167,32,96,232,35,250,
+233,170,42,18,113,117,225,76,117,215,51,207,207,103,174,131,207,131,93,
+121,159,160,255,99,24,145,13,159,154,137,123,81,216,24,201,157,126,106,
+140,37,41,127,72,49,153,82,52,29,249,145,200,131,111,158,217,106,172,97,
+66,128,38,35,215,169,22,105,199,150,29,79,218,208,178,233,124,55,52,115,
+110,247,43,106,16,146,148,130,101,195,112,223,132,110,230,81,120,146,215,
+5,210,90,187,176,49,88,69,100,221,228,175,107,245,174,119,183,65,104,172,
+141,251,129,203,249,68,239,61,88,23,219,231,116,196,171,197,214,134,48,
+94,233,186,158,49,196,12,63,182,177,129,177,46,66,123,33,58,246,193,135,
+73,134,86,145,137,245,171,117,92,164,106,150,137,75,126,240,177,37,167,
+182,56,153,169,63,179,65,15,154,244,92,103,163,191,164,32,114,229,147,160,
+82,226,98,223,247,0,212,77,157,51,204,101,171,229,171,200,226,245,142,86,
+196,44,208,16,201,27,95,248,123,63,199,31,251,207,255,216,234,14,127,251,
+111,254,118,254,141,127,235,223,228,183,254,75,191,149,15,127,221,135,156,
+159,79,252,242,223,255,101,126,234,111,254,36,127,238,191,255,243,252,210,
+47,254,210,221,199,34,247,122,221,223,71,193,110,213,146,50,53,60,121,143,
+215,48,247,247,230,130,110,57,252,38,105,167,66,58,186,55,93,216,220,233,
+129,147,92,143,251,38,81,235,251,17,239,21,179,139,112,59,231,129,48,130,
+219,215,84,173,48,62,95,166,94,245,150,246,104,97,28,24,84,17,3,18,60,253,
+211,192,245,105,140,235,10,248,238,223,246,175,242,183,126,234,123,169,
+31,35,49,19,129,111,249,245,255,108,118,70,127,235,111,254,109,236,174,
+166,121,108,176,58,50,156,6,70,227,168,91,51,147,237,116,66,176,252,101,
+160,123,211,49,140,209,105,120,15,70,59,174,170,52,175,12,166,31,81,53,
+216,125,141,171,34,83,127,236,3,90,57,234,198,32,125,143,239,71,198,224,
+241,215,91,161,194,96,15,45,187,215,85,44,73,172,250,112,23,161,12,189,
+49,199,139,191,246,248,72,211,212,8,30,63,14,209,17,142,79,92,198,142,186,
+61,80,237,118,73,125,121,68,131,71,125,207,112,254,42,99,183,167,62,60,
+210,52,142,120,35,37,66,230,111,207,92,69,176,213,158,122,255,154,202,141,
+140,221,9,175,81,88,166,174,76,209,27,25,57,30,34,6,29,158,185,190,57,197,
+193,72,213,129,250,240,154,170,146,249,252,67,255,68,167,177,108,96,235,
+29,182,62,210,212,85,52,148,161,103,188,94,8,210,82,237,31,168,42,147,181,
+182,98,4,237,78,92,223,156,16,19,127,191,105,247,136,63,209,157,35,83,188,
+62,62,224,156,16,174,207,177,133,111,62,215,41,217,8,129,48,246,244,167,
+158,161,219,81,31,62,160,105,44,6,33,232,72,223,119,120,117,49,208,93,73,
+167,76,114,213,234,25,175,111,249,90,119,162,222,29,121,120,245,192,206,
+25,92,229,112,215,11,215,211,91,250,139,193,186,154,166,221,209,214,134,
+48,244,116,94,176,85,77,93,155,200,49,208,36,81,16,51,101,230,55,226,105,
+207,56,12,216,170,162,110,100,98,199,43,234,71,134,126,100,240,134,170,
+173,168,221,141,56,167,51,105,121,24,6,130,169,167,114,146,108,247,112,
+127,146,84,125,75,177,107,10,162,180,32,145,41,186,154,159,190,154,209,
+158,6,6,73,151,78,110,211,242,162,94,100,233,11,114,183,213,111,173,1,185,
+194,12,203,81,27,34,119,198,35,231,153,154,174,231,89,175,71,40,229,147,
+190,55,181,173,230,159,249,226,211,47,42,5,203,47,21,26,145,108,214,44,
+121,246,89,120,1,163,178,72,84,222,117,6,235,190,133,55,253,215,248,242,
+233,203,40,129,95,119,248,70,66,240,28,170,215,209,185,79,29,242,177,127,
+179,199,107,116,18,41,147,127,142,98,38,25,91,157,38,33,45,37,135,40,107,
+235,189,103,12,35,26,226,231,252,84,244,188,213,130,69,192,56,225,242,213,
+30,85,229,131,135,15,248,245,31,254,6,238,139,94,50,19,11,85,214,222,176,
+31,6,186,107,71,219,180,145,88,151,137,165,228,67,84,36,37,102,164,181,
+33,189,59,235,99,126,168,191,239,247,252,62,126,230,39,127,38,59,250,31,
+252,161,255,128,223,255,239,252,254,41,168,72,231,208,11,6,240,33,240,39,
+127,236,79,240,167,255,235,63,147,180,70,27,254,143,95,254,63,223,185,55,
+207,231,51,159,251,11,159,227,175,252,196,95,225,11,63,247,5,190,252,165,
+47,35,34,124,248,13,31,242,173,255,220,183,242,61,191,235,123,248,222,239,
+255,94,218,182,93,171,232,37,59,47,27,142,51,245,117,190,249,232,13,63,
+254,63,252,79,252,245,191,250,55,248,133,159,255,191,249,234,87,190,10,
+192,55,124,227,55,240,29,223,249,29,124,246,123,63,203,247,252,174,239,
+161,170,42,190,245,155,114,136,254,243,255,224,243,148,139,56,91,31,62,
+48,12,35,127,249,39,254,50,127,227,175,253,13,126,230,39,127,134,175,124,
+233,43,156,78,39,94,189,126,197,103,62,252,12,255,194,111,249,205,124,247,
+103,191,155,127,249,187,126,91,236,48,152,148,76,197,8,4,69,67,30,149,137,
+155,16,162,105,61,150,14,254,243,191,244,133,248,28,109,172,179,135,137,
+84,137,101,174,121,206,82,149,222,19,180,236,194,17,196,10,63,254,63,254,
+56,127,232,223,255,193,187,252,131,219,223,207,126,225,239,197,90,61,1,
+127,233,184,62,69,34,95,251,202,77,16,107,186,136,226,117,252,213,191,244,
+87,249,177,255,244,199,248,149,95,254,21,198,113,252,88,38,185,170,42,190,
+249,55,125,51,63,248,31,253,32,191,243,123,126,199,180,255,66,214,182,105,
+140,153,140,102,96,24,58,126,226,115,127,137,191,254,215,254,58,63,243,
+83,63,203,87,190,252,21,78,207,241,254,127,248,225,103,248,206,127,241,
+183,240,221,159,253,110,126,251,119,253,246,73,4,42,237,9,246,211,222,77,
+13,231,130,76,200,173,220,6,136,216,133,200,42,255,63,109,111,30,103,203,
+85,213,139,127,87,205,103,234,225,222,220,33,55,35,97,138,8,36,12,62,148,
+41,146,135,240,100,144,65,80,34,32,32,4,49,145,16,248,133,48,136,128,128,
+136,62,208,39,160,204,250,34,242,16,72,16,136,202,32,6,2,168,60,144,33,
+34,4,8,132,204,19,201,29,186,207,80,195,222,123,253,254,216,187,170,246,
+222,85,167,187,47,228,181,159,75,236,62,221,117,234,84,237,218,107,173,
+239,250,174,239,215,64,215,53,28,171,148,249,89,0,127,222,191,222,27,218,
+30,104,168,227,162,50,90,2,205,251,25,245,55,133,230,243,53,136,72,61,175,
+207,186,135,143,38,8,50,100,181,192,198,225,131,152,139,20,43,235,235,24,
+103,81,151,205,163,244,248,106,19,208,66,173,11,160,123,240,18,90,12,207,
+36,37,245,177,3,54,163,191,90,35,161,77,218,106,46,80,96,237,229,170,25,
+19,110,94,171,209,7,89,162,42,5,56,72,16,39,177,78,198,29,198,185,64,89,
+228,40,4,35,140,13,234,249,255,68,232,166,203,67,178,165,105,217,211,31,
+161,101,254,206,94,1,65,150,179,100,171,181,193,61,248,43,182,236,186,251,
+80,5,117,218,118,219,20,185,75,181,148,9,125,250,211,62,128,76,125,218,
+39,61,232,9,253,112,227,106,246,91,203,29,189,95,160,111,24,222,171,154,
+128,8,97,39,163,218,201,39,60,92,28,194,237,179,219,128,0,216,59,214,1,
+126,18,175,129,33,161,148,14,232,130,43,40,86,16,44,209,218,164,178,53,
+163,205,110,255,182,145,25,212,35,86,165,44,181,64,68,221,175,96,235,247,
+217,238,231,16,170,35,21,16,48,214,39,187,112,220,190,227,59,132,140,166,
+50,108,178,191,238,186,18,102,108,47,8,66,12,178,212,218,0,208,51,166,224,
+246,216,109,162,11,179,239,174,234,166,134,87,124,253,10,60,253,137,79,
+119,222,251,252,151,159,143,179,207,61,219,25,67,212,106,117,1,130,176,
+21,29,42,139,18,103,60,224,12,108,28,217,0,0,156,112,210,9,248,228,23,63,
+181,180,255,46,132,192,251,223,247,126,188,251,109,239,110,254,102,217,
+215,218,250,26,126,251,69,191,141,167,63,251,233,8,130,0,170,134,4,163,
+160,235,39,106,146,178,247,188,253,61,120,223,59,222,135,233,230,116,203,
+99,239,221,191,23,47,186,240,69,248,189,151,252,158,23,224,175,236,12,220,
+183,226,16,192,71,63,244,81,252,197,159,254,5,110,190,233,230,109,87,231,
+49,123,142,193,217,191,123,54,158,254,236,167,35,12,163,142,203,23,247,
+84,8,0,225,212,227,239,233,28,231,187,55,124,183,163,76,72,142,217,157,
+71,187,233,121,14,65,192,169,199,221,115,71,79,213,183,174,190,82,235,68,
+84,2,229,76,104,130,224,74,138,40,38,4,75,242,238,7,159,254,96,220,254,
+227,219,127,170,13,120,223,254,125,248,210,215,190,180,101,177,115,241,
+223,93,140,183,190,229,173,184,249,198,157,93,255,23,188,240,5,120,198,
+115,158,105,196,83,150,205,39,49,186,42,118,212,235,242,214,45,44,151,249,
+186,45,71,156,119,246,91,125,18,40,250,252,68,149,99,122,248,16,102,50,
+197,100,109,21,227,44,242,36,192,28,12,176,151,212,219,107,84,107,41,162,
+177,61,78,221,107,176,71,45,178,85,183,63,148,64,85,148,40,149,66,16,165,
+72,83,205,63,168,199,124,21,107,54,189,40,180,212,119,152,164,72,147,168,
+99,132,211,11,208,238,196,161,170,103,118,204,150,77,231,62,167,188,101,
+162,28,62,178,108,61,172,141,48,140,157,92,123,215,180,53,175,218,122,28,
+218,79,12,28,11,106,184,156,0,95,78,156,183,232,197,215,5,99,195,153,64,
+171,8,219,34,12,219,241,164,244,155,6,228,221,12,70,143,139,96,157,153,
+178,221,211,100,11,81,97,99,80,114,180,193,221,133,74,88,26,231,183,198,
+45,206,146,125,173,77,81,204,255,213,85,61,84,45,122,99,49,236,89,25,93,
+123,133,82,148,200,203,28,44,205,99,172,76,31,204,4,21,101,219,198,170,
+54,216,40,193,109,66,64,75,96,19,234,111,55,233,190,187,118,137,75,210,
+216,13,238,232,115,131,179,253,133,219,145,15,230,78,94,161,127,199,194,
+183,63,245,15,159,114,142,125,191,7,222,15,207,59,247,108,88,158,123,90,
+77,48,140,52,217,134,131,230,28,146,52,193,5,175,186,0,171,107,171,216,
+125,204,110,92,248,251,23,46,93,52,135,15,29,198,115,207,122,46,222,252,
+134,55,111,27,220,235,223,255,227,215,254,49,158,243,235,207,193,161,131,
+135,204,20,68,224,94,56,115,38,155,71,54,113,246,211,207,198,159,255,201,
+159,111,27,220,1,224,182,91,110,235,4,119,27,226,107,101,33,245,247,179,
+141,25,94,240,172,23,224,85,23,188,106,71,193,29,0,110,255,241,237,248,
+163,215,252,17,158,241,228,103,98,243,200,134,99,203,219,81,17,108,90,102,
+75,158,88,110,199,81,26,13,119,171,221,195,140,142,212,176,221,23,60,154,
+2,104,113,235,38,102,183,205,144,207,25,209,120,128,193,122,170,71,194,
+150,147,22,58,235,243,167,229,111,248,210,135,155,211,77,60,239,25,207,
+195,43,94,242,138,29,5,247,250,250,191,225,213,111,192,89,79,122,26,54,
+14,111,244,60,57,126,213,229,59,187,109,23,220,237,141,143,208,239,234,
+222,181,11,223,17,175,180,15,86,181,174,117,24,37,200,210,216,140,13,162,
+135,164,219,211,128,246,133,85,200,110,13,90,118,169,104,59,137,221,224,
+238,74,12,55,129,158,5,202,188,68,197,1,226,108,128,65,205,69,170,91,30,
+85,129,124,54,197,108,86,64,4,49,178,225,16,131,116,139,224,142,163,9,238,
+232,9,60,54,103,167,142,217,220,240,84,58,60,116,251,249,233,235,145,91,
+163,103,77,242,99,37,221,174,158,190,33,138,82,151,69,239,43,235,249,1,
+187,47,61,3,122,0,91,219,112,202,233,3,144,183,191,176,229,130,199,14,193,
+145,172,228,133,157,143,75,206,123,6,78,0,247,197,234,225,42,253,16,117,
+7,253,235,199,34,64,176,45,59,176,63,189,243,171,104,118,89,17,102,172,
+68,89,9,70,253,95,5,51,57,79,45,4,173,172,52,32,47,22,122,70,153,141,242,
+145,50,218,231,245,69,81,109,96,87,74,67,119,74,41,13,159,198,129,153,49,
+168,29,167,52,4,216,92,209,230,52,53,185,175,62,40,49,163,42,10,176,82,
+72,226,24,17,5,205,239,113,207,22,192,22,17,204,177,246,100,55,17,101,155,
+0,98,50,91,38,224,235,95,249,186,115,212,223,120,246,89,206,242,147,82,
+154,68,197,227,97,152,175,95,125,218,175,226,223,190,245,111,248,194,55,
+190,128,51,31,125,102,239,238,85,20,5,94,240,155,47,192,127,124,249,63,
+142,122,227,255,218,255,253,26,158,255,140,231,99,49,95,120,196,18,125,
+255,203,162,196,185,191,117,46,254,253,139,255,126,39,176,109,201,243,81,
+5,54,55,54,241,220,167,63,23,95,184,236,11,63,209,33,191,249,181,111,224,
+252,23,156,175,133,62,122,30,247,230,97,98,108,225,86,218,70,239,70,202,
+221,179,97,108,182,133,174,11,38,192,192,155,223,254,102,196,113,188,237,
+249,78,142,157,96,180,111,140,225,174,20,201,192,72,170,46,145,162,168,
+223,236,13,127,242,6,156,124,202,201,71,69,24,172,191,162,40,194,93,239,
+118,87,188,241,205,111,236,141,110,27,27,27,120,206,211,158,131,203,47,
+187,252,39,186,254,223,248,143,111,224,188,23,156,103,116,19,200,218,236,
+104,9,55,154,122,253,77,92,195,81,151,173,220,145,67,245,184,93,203,166,
+64,217,59,114,223,95,248,98,171,97,148,98,180,178,134,213,149,137,102,199,
+247,82,182,224,68,106,39,168,145,37,206,226,81,186,58,61,219,78,112,247,
+193,134,26,133,140,144,164,41,6,195,12,169,81,34,36,147,89,50,17,16,37,
+72,7,35,140,39,99,140,134,169,225,91,208,246,251,253,142,130,187,31,168,
+189,251,74,150,0,27,147,243,243,38,184,193,237,24,247,11,198,113,107,155,
+226,93,98,182,138,1,111,36,222,37,0,59,8,130,55,18,109,141,49,251,147,54,
+236,211,11,124,53,61,39,163,103,167,191,222,180,20,76,198,65,100,197,97,
+238,231,26,56,156,37,221,131,239,181,154,117,243,218,142,101,89,219,43,
+8,41,68,192,180,51,40,166,135,105,112,56,63,136,31,79,111,3,8,56,102,178,
+23,138,21,86,227,53,45,178,192,18,130,37,164,18,144,44,32,89,66,105,219,
+3,83,177,163,145,231,99,163,124,199,172,180,106,147,178,147,135,54,40,187,
+10,128,140,144,98,236,202,18,164,65,140,136,236,225,127,219,155,219,202,
+220,154,11,200,157,132,69,42,137,60,215,106,117,137,217,48,217,238,179,
+131,16,132,9,162,120,5,97,52,70,175,145,112,159,180,64,31,138,203,192,131,
+239,243,96,167,162,190,236,171,159,195,222,253,123,155,86,5,43,163,76,69,
+158,190,59,118,104,255,10,224,79,94,247,39,184,232,61,23,117,32,248,223,
+124,222,111,226,17,143,122,4,78,56,233,4,40,165,112,195,117,55,224,178,
+207,92,134,191,121,207,223,116,170,252,103,60,247,25,120,197,107,95,225,
+112,16,136,25,127,244,218,55,225,253,239,123,191,243,187,171,107,171,120,
+230,115,159,137,51,31,117,38,78,60,229,36,176,98,92,127,237,117,248,236,
+39,63,139,15,252,245,7,112,228,240,145,222,243,188,242,134,43,59,27,229,
+203,95,244,50,124,226,146,79,56,63,59,249,148,147,241,248,39,63,30,103,
+156,121,6,246,29,187,15,43,171,43,216,56,178,137,219,110,185,21,95,252,
+252,23,113,233,71,47,197,15,175,250,161,243,55,231,93,248,34,252,206,121,
+191,211,185,120,126,239,239,212,227,221,30,252,119,111,252,174,55,9,104,
+245,15,185,133,219,156,208,212,39,162,225,96,122,237,211,124,79,15,186,
+255,222,141,223,63,138,2,202,26,183,177,44,107,239,113,224,30,206,111,125,
+255,198,171,156,214,2,109,253,56,59,155,205,75,207,123,41,62,118,201,199,
+58,215,255,137,191,250,68,156,113,230,25,216,127,96,63,86,86,86,176,177,
+177,129,91,111,185,21,95,248,220,23,240,137,75,62,129,31,92,245,3,183,237,
+116,225,139,113,238,249,231,160,223,171,171,223,159,158,142,34,184,116,
+123,175,188,116,115,223,201,30,215,167,58,190,85,119,119,153,15,64,215,
+35,0,29,25,231,182,189,232,182,112,151,5,249,230,211,145,93,111,90,66,103,
+196,222,21,198,246,211,193,63,113,115,125,25,172,79,142,21,52,140,197,117,
+83,117,47,241,188,95,126,252,238,12,188,235,242,77,253,132,181,109,200,
+117,246,252,187,223,22,234,189,84,118,17,237,221,35,119,205,112,163,143,
+111,91,194,216,127,216,59,150,232,157,30,253,112,227,106,246,236,223,157,
+246,48,117,122,198,228,100,3,90,161,44,232,103,93,239,40,192,19,14,45,14,
+226,246,233,45,0,3,187,215,246,130,89,98,53,217,101,188,219,53,43,88,176,
+9,240,74,52,68,52,85,147,70,76,101,173,153,239,10,101,81,90,208,5,187,15,
+128,185,8,202,84,225,171,217,0,235,113,218,248,197,183,189,251,126,32,142,
+122,42,240,214,49,75,39,22,96,70,58,200,250,166,217,157,99,4,209,0,233,
+96,31,26,253,120,191,121,230,139,24,248,11,155,128,251,156,120,31,103,52,
+238,138,107,254,19,97,24,104,18,161,148,128,81,193,35,162,222,141,127,187,
+86,217,13,215,223,128,199,62,252,177,14,249,234,244,7,156,142,183,190,247,
+173,216,125,204,238,222,181,127,240,246,131,56,231,89,231,224,91,87,124,
+171,121,57,12,67,252,227,23,254,9,39,156,120,66,131,76,92,251,163,107,240,
+248,95,124,188,51,119,125,223,251,223,23,111,123,207,219,112,204,222,61,
+126,219,16,196,26,158,63,247,185,231,226,219,255,249,237,206,185,106,161,
+155,182,247,254,205,175,95,129,179,158,240,52,231,119,94,120,193,11,113,
+246,185,103,55,213,48,247,16,107,132,168,240,87,239,252,107,252,175,63,
+254,179,230,218,14,6,3,252,243,191,253,51,142,217,179,219,34,117,118,55,
+151,237,2,124,187,11,187,247,179,239,230,56,97,130,93,198,101,29,32,238,
+113,220,61,122,3,124,119,239,236,49,198,32,31,218,211,223,248,199,188,234,
+198,171,218,30,111,237,100,213,183,185,122,155,236,55,191,241,77,60,245,
+113,79,117,3,245,75,207,199,243,127,247,249,253,104,132,57,134,16,2,239,
+125,199,123,241,167,111,250,83,231,250,127,238,203,151,97,247,158,61,240,
+253,212,251,56,70,221,117,238,167,0,221,93,145,150,254,237,86,69,105,255,
+166,239,159,17,109,73,216,218,162,39,221,67,230,242,218,202,221,94,59,60,
+207,247,190,249,239,30,75,217,182,19,192,142,90,29,182,34,77,255,164,90,
+243,61,22,207,125,76,134,214,231,158,176,37,143,142,186,197,169,213,139,
+64,199,114,22,109,143,123,217,60,28,247,73,159,244,36,114,176,100,116,251,
+2,123,47,144,194,221,246,129,203,175,34,75,10,30,222,156,126,191,83,121,
+95,75,32,112,110,184,55,210,94,207,129,58,111,76,238,150,17,214,130,54,
+71,21,220,221,159,41,169,160,170,182,103,172,234,192,92,35,223,212,118,
+147,153,140,118,123,205,152,135,108,122,240,146,165,9,238,186,138,111,170,
+247,250,190,26,40,94,25,213,176,99,70,99,172,69,73,51,110,17,69,9,6,163,
+117,76,38,123,49,25,239,193,202,100,15,86,198,123,177,50,57,6,43,227,99,
+176,50,57,6,147,201,110,76,38,187,204,127,119,55,63,27,143,215,145,14,38,
+24,143,215,177,190,123,31,86,38,187,48,153,172,99,101,178,142,201,100,13,
+147,201,58,198,227,53,164,53,179,28,0,139,57,242,233,181,206,3,103,163,
+53,126,76,176,6,166,45,144,193,253,197,40,8,27,152,38,12,195,38,184,19,
+250,93,232,192,91,63,159,151,124,240,18,39,184,31,56,254,0,222,113,209,
+59,220,224,238,237,170,187,118,239,194,187,254,246,93,216,127,96,127,243,
+178,148,18,31,253,187,75,26,180,5,204,248,248,135,63,238,4,247,99,15,28,
+139,119,93,244,46,236,217,183,167,21,91,130,155,109,239,221,191,15,239,
+249,219,247,96,223,254,125,61,75,140,156,103,230,99,23,255,189,243,242,
+75,127,255,165,56,231,252,115,16,199,113,207,243,220,62,142,81,20,225,249,
+191,123,54,94,246,234,151,181,189,237,197,2,31,250,219,15,185,61,46,180,
+211,38,203,183,127,75,8,164,121,158,116,149,68,22,156,88,203,76,248,189,
+219,14,109,150,90,255,235,101,5,75,159,245,100,183,138,160,158,43,64,189,
+204,29,187,178,107,91,73,61,102,30,222,73,124,244,67,31,117,209,148,87,
+191,28,231,190,248,220,109,91,13,81,20,225,5,47,124,1,94,241,154,87,56,
+215,255,131,239,255,59,143,183,66,59,108,255,250,222,142,212,115,239,185,
+227,145,212,7,188,111,253,78,180,116,191,115,10,129,165,113,210,171,204,
+124,244,128,58,40,182,213,42,117,247,103,242,73,34,222,103,103,139,68,198,
+100,159,37,44,143,116,29,88,58,239,217,183,224,126,146,118,154,119,53,184,
+219,217,110,162,44,47,185,218,61,93,99,107,239,164,14,76,169,29,231,90,
+50,34,219,158,43,214,220,65,175,174,25,168,255,188,185,155,62,19,117,89,
+30,189,207,162,221,145,246,224,121,219,243,128,216,189,47,228,223,86,246,
+72,125,102,177,68,14,44,224,27,67,59,174,113,110,22,167,199,225,130,254,
+77,126,71,193,29,78,15,94,73,0,82,153,81,55,101,224,24,115,14,138,27,242,
+93,29,184,245,208,138,14,216,4,29,180,235,202,189,233,45,41,143,177,92,
+235,216,51,97,53,27,97,20,132,205,198,59,30,239,105,198,95,172,171,100,
+4,114,66,109,91,9,95,6,181,190,59,1,100,89,1,138,145,36,49,162,56,90,122,
+25,194,112,128,44,29,32,207,231,40,202,28,4,133,98,118,45,210,241,201,14,
+84,3,175,114,69,77,52,241,87,80,231,138,234,54,129,182,220,13,81,123,199,
+44,21,89,220,70,150,246,139,159,251,162,243,253,185,47,57,23,43,171,43,
+91,50,139,148,82,24,141,199,56,231,252,115,240,234,11,95,221,188,252,175,
+151,255,43,94,116,225,249,77,100,188,220,235,139,159,243,226,115,176,186,
+190,218,66,174,212,199,60,101,172,237,90,199,239,156,255,59,120,237,203,
+95,219,187,254,106,108,229,171,255,254,85,231,229,255,249,250,255,217,171,
+23,176,211,175,47,124,238,11,56,231,197,231,58,207,74,219,195,195,210,251,
+1,251,225,164,110,248,190,244,239,47,197,5,191,123,1,0,224,205,127,241,
+22,60,254,9,143,115,123,187,212,157,135,113,67,146,247,126,158,98,86,235,
+60,101,95,167,158,112,70,91,213,168,228,140,108,162,207,95,219,227,192,
+125,229,223,191,226,28,231,77,175,123,19,222,244,186,55,253,196,215,255,
+242,203,46,199,11,95,242,66,7,59,163,222,174,123,31,215,160,111,15,114,
+189,37,184,151,224,182,211,186,155,123,222,129,28,249,82,70,95,160,181,
+3,128,59,2,230,35,128,236,207,61,251,159,120,233,22,219,246,86,218,123,
+200,77,64,109,181,80,208,241,35,161,159,166,74,95,26,10,150,196,131,186,
+90,111,80,74,175,186,183,62,124,45,134,101,27,203,80,103,57,115,19,147,
+201,42,121,27,226,90,71,162,182,171,74,224,86,90,93,234,186,235,25,103,
+171,229,116,115,233,122,74,139,28,5,216,118,237,180,22,182,212,209,209,
+239,107,151,144,173,209,210,166,38,78,150,23,216,208,6,91,2,42,108,247,
+0,109,214,157,57,70,232,51,40,183,13,238,61,146,68,54,123,80,50,32,129,
+185,156,65,65,54,139,160,158,11,86,77,79,92,25,6,61,55,78,114,66,10,148,
+139,18,80,134,15,39,169,33,208,41,165,251,208,172,140,237,170,217,148,215,
+18,51,127,26,4,152,76,246,90,193,189,209,197,180,8,15,12,159,20,199,104,
+5,65,148,18,40,69,133,48,10,17,105,221,71,59,31,6,124,201,91,48,178,44,
+67,150,166,198,48,167,2,139,121,231,33,106,179,81,234,37,161,0,64,228,85,
+67,179,249,220,184,182,69,173,95,55,119,73,67,228,183,120,151,60,143,215,
+252,240,26,231,251,135,61,226,97,91,19,105,136,26,243,146,51,30,121,134,
+243,210,213,63,184,186,221,200,136,113,243,141,55,57,175,63,252,191,63,
+188,135,216,2,75,53,176,221,113,206,56,243,23,151,180,148,185,217,244,111,
+190,233,22,220,153,95,215,95,123,125,111,239,139,150,43,98,56,85,4,57,75,
+161,53,27,122,197,139,219,74,245,21,231,191,220,4,229,46,98,214,214,174,
+188,237,124,46,249,228,163,78,86,71,94,149,72,91,171,23,146,85,181,243,
+146,146,196,43,85,118,58,177,176,211,175,235,174,189,206,217,196,124,136,
+190,75,151,235,195,146,187,63,97,135,56,229,41,81,50,67,84,178,121,218,
+121,201,17,224,87,112,94,77,234,126,191,221,224,184,85,77,178,246,116,151,
+30,195,218,143,65,212,151,112,57,129,9,29,21,56,103,13,176,141,100,40,8,
+105,212,243,122,8,59,204,26,117,101,240,209,43,214,245,46,50,130,203,142,
+115,9,46,109,46,218,26,173,112,71,87,163,129,157,219,195,89,117,42,83,253,
+119,228,22,226,61,227,169,221,135,188,31,161,33,171,220,110,238,52,219,
+237,219,110,133,77,220,151,56,216,188,143,90,220,203,71,143,168,199,232,
+198,74,3,109,57,92,180,200,77,64,236,36,14,237,130,180,143,70,118,53,97,
+70,226,12,155,123,139,230,212,146,236,217,124,120,197,141,40,69,179,156,
+9,144,44,48,47,167,16,178,132,80,170,21,205,48,61,247,26,158,151,74,66,
+8,129,178,212,218,220,13,201,142,181,94,189,146,18,82,26,89,81,174,3,188,
+134,230,179,56,49,227,33,10,195,193,170,197,100,143,1,132,186,115,129,208,
+249,204,108,99,41,205,69,215,89,68,85,149,8,8,136,227,200,186,86,38,195,
+32,213,197,98,204,184,84,154,101,8,2,141,130,20,249,205,46,168,225,40,185,
+114,3,39,57,11,131,25,199,120,80,249,247,191,251,125,40,37,91,248,20,206,
+253,238,60,91,190,175,188,255,229,11,171,140,39,227,254,219,107,22,141,
+20,66,11,8,17,48,26,143,220,99,149,149,201,76,245,66,159,207,230,206,235,
+43,107,171,221,249,80,71,13,175,125,10,215,119,175,45,173,86,106,216,205,
+101,190,255,244,95,27,71,54,156,12,137,237,241,82,230,37,99,114,150,215,
+130,19,243,91,200,213,190,198,85,85,185,99,52,6,121,82,194,40,164,41,109,
+141,172,170,178,87,148,134,153,183,116,156,110,75,9,238,70,109,166,229,
+79,48,3,75,89,99,206,253,210,207,154,18,194,105,191,220,89,215,159,182,
+96,243,0,59,159,206,106,170,118,37,117,48,99,246,88,53,218,120,103,118,
+228,48,142,108,206,81,10,246,132,214,150,55,66,200,155,84,111,118,56,165,
+53,224,43,81,53,255,68,253,95,197,29,106,157,146,57,102,71,14,225,240,230,
+28,149,108,103,121,89,233,243,85,150,48,143,179,92,182,234,207,176,0,11,
+9,41,245,120,156,146,66,183,72,169,125,125,190,113,4,27,27,51,84,70,98,
+151,29,162,187,68,62,221,196,230,116,129,202,225,43,29,77,9,239,111,64,
+236,84,52,204,93,33,176,166,93,64,104,68,131,92,224,194,155,71,96,31,85,
+175,229,105,219,32,74,61,185,223,214,137,33,251,172,5,139,3,193,157,73,
+13,90,246,247,141,252,184,53,69,67,240,158,123,110,53,81,150,61,107,182,
+243,94,147,219,176,3,241,71,158,219,171,55,119,205,29,8,136,140,153,140,
+98,160,144,192,180,4,164,100,167,41,64,150,36,8,59,223,235,69,46,69,133,
+170,168,32,41,66,58,72,193,178,50,211,104,218,82,181,88,148,152,169,25,
+36,49,56,8,17,39,129,86,95,34,253,183,101,85,34,159,229,144,42,208,122,
+203,181,114,147,20,40,139,18,165,16,141,204,108,16,4,8,34,205,104,15,204,
+6,180,58,78,1,165,103,195,195,48,49,231,158,180,141,250,230,159,25,145,
+163,86,41,171,81,200,51,255,21,162,130,146,2,73,154,106,53,41,103,124,5,
+77,107,129,252,236,220,220,152,44,77,177,200,103,38,249,16,8,140,223,187,
+3,175,194,130,232,217,194,134,9,184,247,105,247,198,45,55,183,149,234,165,
+23,95,138,211,239,127,154,89,60,173,198,180,223,250,218,25,250,2,236,217,
+183,199,153,93,254,230,215,190,137,7,61,248,65,232,101,197,48,16,80,168,
+243,35,214,191,235,28,107,239,30,71,107,121,215,238,93,184,245,150,91,155,
+215,111,184,246,122,156,114,183,187,90,48,33,245,144,4,244,247,215,95,119,
+195,182,91,201,222,253,123,155,170,251,206,248,106,2,170,175,54,87,147,
+222,250,80,71,110,245,162,109,78,17,111,213,185,106,177,33,48,27,75,211,
+133,64,144,12,17,240,2,101,158,235,115,233,145,149,85,138,181,106,94,55,
+148,121,12,90,171,250,168,17,18,66,239,49,29,125,37,94,18,215,154,214,152,
+66,153,207,49,61,188,129,221,199,28,131,155,110,188,241,78,189,254,220,
+105,79,44,119,231,226,45,26,14,204,128,18,11,204,54,55,145,35,195,202,202,
+8,105,20,234,15,170,4,138,124,142,249,162,0,71,67,140,38,3,164,17,121,48,
+62,247,38,12,253,188,119,109,91,61,159,30,193,230,172,64,37,36,36,51,136,
+34,132,1,64,81,138,193,120,5,43,163,20,113,64,96,37,80,230,51,204,242,18,
+28,14,49,158,100,72,66,104,153,221,217,12,66,6,8,210,12,33,4,36,19,194,
+36,67,16,133,221,123,99,139,112,49,27,91,219,25,202,18,160,52,67,32,23,
+16,21,16,14,39,136,179,68,11,135,9,45,71,92,10,70,92,41,36,105,132,192,
+234,243,235,215,75,148,42,66,84,41,68,102,212,239,40,75,248,222,0,133,101,
+197,61,147,53,26,232,193,233,125,130,47,190,152,139,17,182,97,107,60,23,
+205,254,120,180,246,182,4,219,247,221,55,233,161,101,236,151,158,103,157,
+61,98,117,141,4,50,187,43,138,9,189,201,136,191,240,153,125,56,7,136,250,
+20,210,26,217,90,175,87,167,127,20,226,170,31,43,228,66,121,132,45,94,146,
+14,213,21,187,94,228,101,37,180,163,24,180,63,123,42,42,100,161,214,175,
+22,165,64,32,66,196,105,134,44,139,145,151,5,10,37,65,74,65,113,129,121,
+177,137,197,172,128,16,220,122,183,7,164,139,100,150,168,74,1,161,8,113,
+60,66,131,148,83,45,206,106,122,253,204,24,168,16,12,137,40,76,224,204,
+220,179,242,74,21,110,148,198,116,130,97,153,49,0,16,82,160,170,74,132,
+97,160,13,43,216,218,72,173,207,79,232,106,216,215,111,17,132,54,21,65,
+128,57,116,152,224,228,140,116,120,155,51,19,30,245,216,71,225,179,159,
+250,108,115,201,47,249,224,197,120,236,19,31,131,7,60,232,129,91,178,58,
+235,91,123,211,141,55,225,252,223,62,31,55,221,112,19,222,248,103,111,196,
+195,207,124,184,179,126,238,255,115,247,199,63,222,248,143,205,247,111,
+126,195,155,241,129,143,125,0,73,146,56,183,90,49,67,41,209,248,190,151,
+101,137,183,252,225,91,156,99,221,239,231,238,215,18,116,9,56,245,103,79,
+117,2,252,135,222,255,33,188,242,15,94,137,14,211,200,201,76,244,207,62,
+120,209,7,151,22,7,245,54,252,192,7,61,208,9,240,127,254,238,63,199,35,
+31,249,16,148,139,169,182,248,28,174,104,205,115,59,39,87,149,113,75,99,
+132,217,8,105,150,121,74,130,221,76,155,45,245,171,94,46,17,123,221,58,
+47,153,94,30,223,117,112,175,114,9,138,135,136,7,67,4,72,17,68,11,84,243,
+77,8,116,201,106,141,234,155,245,76,147,59,103,227,192,123,236,81,78,160,
+186,82,184,138,21,2,10,58,246,2,228,181,169,181,26,90,142,233,116,129,92,
+48,78,123,224,253,157,0,255,246,247,188,29,143,126,236,163,183,6,249,200,
+159,33,119,199,206,200,3,213,121,139,38,224,150,164,56,89,98,49,155,98,
+94,1,233,40,67,18,25,183,62,81,32,159,207,48,175,128,56,157,96,60,206,16,
+210,242,99,182,18,36,188,69,151,63,0,69,49,134,147,117,196,105,142,233,
+230,38,114,21,99,52,158,96,148,234,231,61,8,35,132,196,80,85,142,197,124,
+134,185,48,239,63,210,54,216,96,9,89,46,140,71,253,16,196,26,33,161,120,
+128,32,10,17,88,207,52,81,139,77,183,242,166,90,31,191,170,20,40,212,190,
+8,82,48,144,12,17,101,49,130,122,139,172,209,74,34,35,100,227,103,13,202,
+60,235,102,255,218,170,58,216,50,129,37,215,247,157,237,110,182,221,34,
+182,37,117,45,141,144,78,123,168,15,179,183,8,228,196,157,245,238,24,168,
+109,75,51,232,106,203,114,119,241,46,79,46,185,191,179,211,40,162,58,16,
+127,141,56,144,35,96,212,185,118,132,94,94,141,253,196,52,142,14,76,236,
+141,90,216,233,186,254,157,35,121,128,43,111,145,88,84,58,184,75,197,144,
+76,102,206,186,53,131,208,166,18,90,131,25,20,154,96,200,144,8,180,117,
+98,16,35,72,18,196,73,10,4,33,20,7,32,10,17,37,9,210,56,65,72,164,225,39,
+144,182,124,132,68,85,9,72,174,123,255,132,48,138,16,133,161,177,119,101,
+136,178,68,37,21,130,80,155,202,4,8,140,252,78,208,192,134,218,134,19,32,
+50,194,53,129,33,209,65,245,220,17,229,104,55,219,246,177,12,134,146,2,
+178,42,17,134,132,36,142,77,69,174,154,234,64,223,0,229,225,42,250,251,
+70,48,199,25,200,108,241,14,178,55,127,242,34,5,185,178,142,143,252,229,
+95,194,241,39,30,223,156,181,148,18,231,62,231,92,124,238,51,151,185,131,
+15,236,18,104,8,192,245,215,93,143,103,61,245,89,248,246,127,126,27,135,
+14,30,194,31,188,252,15,58,203,250,73,191,254,36,231,251,239,124,235,59,
+120,225,115,95,216,194,213,150,11,82,24,104,181,186,35,135,142,224,133,
+191,245,66,92,249,95,87,58,127,251,196,95,123,98,251,128,50,227,151,30,
+243,40,231,245,15,252,245,7,240,145,255,243,145,229,204,108,243,245,193,
+139,62,136,255,243,191,63,208,83,45,43,125,95,132,0,139,10,143,123,226,
+99,157,215,95,118,222,133,248,196,37,151,66,82,166,125,198,141,211,22,25,
+244,68,85,57,170,197,6,138,66,0,97,210,72,236,170,6,61,145,80,178,130,50,
+246,191,82,73,211,170,50,18,75,61,144,52,179,229,92,197,186,58,146,6,245,
+145,181,3,155,247,37,133,128,20,57,170,197,38,202,188,2,146,1,146,65,134,
+48,0,160,4,100,185,128,10,82,196,195,213,238,251,137,10,170,121,15,163,
+109,207,10,44,69,251,125,13,251,43,125,30,138,117,242,45,203,5,170,197,
+180,163,108,119,235,45,183,57,54,210,118,107,71,41,133,75,63,246,9,60,238,
+204,199,226,65,247,121,48,62,245,201,207,33,8,2,196,73,138,199,62,233,87,
+156,227,92,240,194,11,112,233,71,63,1,81,9,136,74,64,214,64,25,88,183,212,
+148,130,172,170,230,117,33,219,68,74,171,75,10,61,78,108,209,0,0,32,0,73,
+68,65,84,84,85,133,170,146,168,132,102,193,52,40,153,20,250,239,133,208,
+54,211,194,104,182,115,219,99,85,66,31,187,42,22,88,204,54,48,203,21,162,
+193,8,227,65,4,98,133,170,152,98,227,200,38,22,42,194,112,178,138,149,73,
+170,101,127,133,128,144,236,49,31,140,115,165,208,237,64,33,52,212,207,
+118,114,38,68,163,41,79,198,76,86,150,5,74,68,24,142,39,24,15,83,237,50,
+25,197,8,73,162,42,166,56,82,191,255,120,21,43,227,196,8,101,105,53,57,
+89,40,80,50,68,148,134,32,197,160,40,69,104,184,68,45,129,204,192,246,14,
+86,111,174,143,96,80,60,64,52,48,252,163,116,136,116,152,54,8,40,193,120,
+45,80,136,56,141,17,6,228,202,115,179,153,64,98,66,148,232,215,217,241,
+80,175,239,35,239,160,63,223,83,122,147,23,160,201,229,177,48,187,57,129,
+131,134,217,116,23,114,89,110,245,181,96,127,67,132,149,12,249,91,78,47,
+7,144,58,212,73,218,110,0,146,122,254,217,107,200,83,179,171,157,238,58,
+50,122,14,127,130,59,28,130,174,234,158,9,242,87,215,115,240,236,179,38,
+93,87,174,121,17,224,154,131,66,119,158,25,88,29,68,216,61,140,145,134,
+100,137,186,49,172,9,183,38,203,97,86,122,99,81,18,121,94,66,32,68,146,
+37,8,141,187,209,162,184,25,211,131,183,130,0,100,187,18,136,34,199,174,
+108,31,56,140,17,196,128,66,133,82,22,40,170,41,102,71,114,72,14,145,36,
+177,14,246,12,176,40,145,151,21,36,199,72,147,176,25,77,10,96,115,4,205,
+156,188,2,238,177,111,13,146,129,44,29,34,205,140,229,35,6,86,5,47,205,
+206,35,157,174,74,155,87,42,228,121,1,102,165,93,182,130,192,147,160,224,
+78,207,166,65,50,88,182,158,195,38,32,207,166,51,13,215,15,79,2,5,153,129,
+184,201,242,0,96,171,181,100,205,195,154,155,250,249,207,94,142,223,125,
+206,185,157,181,245,115,191,240,115,120,194,83,159,136,211,31,112,58,246,
+238,221,131,36,73,112,232,208,97,92,243,163,31,225,243,255,252,121,124,
+232,111,62,132,60,207,29,72,251,178,175,92,230,142,155,1,120,238,89,207,
+197,151,191,244,101,231,216,187,247,236,198,179,158,247,44,156,241,200,
+51,112,236,113,199,2,12,220,116,195,77,184,252,178,203,241,55,239,253,27,
+220,241,227,59,156,223,127,224,207,63,16,23,125,228,34,203,183,139,81,10,
+129,39,254,247,39,116,92,237,30,114,198,67,240,148,179,158,130,251,222,
+239,190,216,189,103,55,0,194,143,111,189,13,87,124,237,10,124,248,3,31,
+238,176,179,235,175,43,190,251,69,148,139,28,146,21,88,74,112,56,196,133,
+47,121,21,190,244,121,87,35,253,244,7,220,15,191,242,148,95,193,253,30,
+112,58,14,28,119,44,6,145,194,98,122,4,135,14,30,198,237,183,31,194,77,
+55,221,134,235,175,191,9,87,255,240,58,92,125,245,181,184,238,218,235,16,
+199,49,94,241,170,243,113,230,153,15,213,220,17,138,16,13,215,49,28,102,
+8,168,64,49,221,132,144,132,7,220,251,161,206,123,125,235,154,239,32,10,
+53,60,90,46,102,168,242,2,146,37,192,49,226,241,58,178,65,134,123,157,232,
+206,206,127,229,235,255,172,19,14,202,144,142,86,49,24,14,16,132,33,160,
+74,148,179,195,40,43,66,52,88,67,154,197,56,245,120,119,102,253,107,223,
+188,204,32,100,9,146,241,26,6,131,12,36,23,40,166,135,80,209,16,233,104,
+5,81,0,168,114,138,42,159,66,133,26,237,146,249,20,85,89,66,129,240,152,
+71,159,133,59,238,56,216,28,243,17,143,124,4,206,187,224,69,184,235,221,
+79,65,28,199,216,56,188,129,31,252,224,7,248,242,151,190,140,143,95,242,
+49,92,103,161,36,251,246,239,195,63,126,250,98,204,100,140,201,218,42,94,
+124,246,11,112,249,191,184,42,118,63,123,223,159,197,47,61,230,49,248,111,
+15,121,8,238,126,215,227,144,112,133,141,69,142,141,205,18,183,223,124,
+19,174,191,225,6,220,112,211,143,113,195,245,55,224,71,223,255,62,174,249,
+209,53,136,227,24,23,92,120,30,30,122,230,47,66,169,0,201,120,21,235,171,
+35,36,33,80,108,30,198,172,168,32,17,66,21,5,42,33,64,217,4,107,235,171,
+24,37,33,192,2,197,124,134,197,124,138,121,169,12,79,36,198,96,178,130,
+245,245,9,210,48,128,202,143,224,240,230,2,50,28,98,101,50,66,26,235,138,
+190,216,60,132,35,11,137,100,180,138,149,65,138,192,224,213,170,56,130,
+67,155,37,16,69,136,185,196,198,92,33,27,175,98,109,146,129,170,57,166,
+155,83,76,69,132,241,202,42,38,153,38,188,138,217,33,28,220,204,17,100,
+43,88,157,12,145,88,46,45,50,223,48,239,63,192,202,202,8,89,20,182,147,
+36,6,121,132,98,24,143,92,51,33,68,150,60,184,132,204,115,136,66,106,248,
+62,75,96,243,134,185,86,227,172,251,189,172,189,226,217,180,102,106,106,
+117,181,152,98,186,144,136,178,17,70,3,173,71,111,87,8,229,98,19,155,11,
+129,120,48,198,104,144,32,108,54,10,137,124,54,197,124,174,16,13,135,24,
+13,83,215,132,102,137,230,130,131,207,88,179,101,142,47,23,172,73,16,91,
+162,151,123,44,82,122,120,220,182,150,59,89,62,31,182,97,217,242,218,157,
+58,109,231,101,60,15,70,143,0,143,71,134,100,135,61,111,125,126,91,115,
+30,174,59,121,71,155,192,67,206,90,201,4,234,120,164,208,15,55,126,196,
+205,100,173,131,88,144,131,237,127,247,86,9,101,130,206,201,187,7,136,130,
+150,171,163,208,29,185,100,54,131,101,13,199,72,66,20,5,22,2,136,178,20,
+113,16,154,117,74,40,138,27,49,63,116,43,136,24,209,132,80,44,42,28,187,
+251,20,36,73,8,69,21,74,85,65,200,5,102,211,77,76,167,2,81,146,180,46,71,
+82,65,148,11,44,74,217,56,127,5,20,33,73,18,68,81,43,159,219,78,220,49,
+238,190,127,29,204,140,180,14,240,12,29,224,201,14,234,210,9,240,246,77,
+174,68,133,162,40,144,101,9,194,48,130,53,31,6,197,18,20,104,120,171,211,
+79,85,12,197,210,113,159,82,74,96,115,58,3,129,144,164,39,128,41,49,112,
+29,117,152,216,202,184,76,133,129,25,81,172,251,98,10,120,199,255,250,75,
+188,227,207,222,241,83,245,56,95,245,134,87,225,41,79,127,10,194,48,116,
+70,32,111,185,233,22,252,218,227,126,173,19,180,119,250,181,251,152,221,
+248,224,165,31,196,129,227,14,64,74,165,145,23,243,249,190,249,245,43,240,
+156,95,123,54,138,162,184,211,122,181,81,28,225,181,175,187,16,143,126,
+194,147,48,155,205,241,140,39,255,6,110,184,254,167,239,5,175,174,173,226,
+95,191,113,57,84,57,69,185,168,240,233,127,249,50,94,251,242,223,215,114,
+200,119,226,215,127,93,245,127,81,206,103,224,100,21,159,253,204,101,120,
+213,5,175,220,214,69,110,39,215,228,117,127,244,58,60,225,73,191,12,105,
+108,89,227,108,136,48,137,17,112,5,81,76,81,206,74,96,176,130,63,124,205,
+31,226,226,191,187,248,39,187,215,187,119,225,159,62,243,247,40,227,21,
+236,90,27,224,142,155,111,192,211,158,252,12,220,116,227,45,119,206,245,
+255,143,203,49,223,60,140,28,67,172,174,175,32,81,57,54,238,56,136,57,165,
+24,79,86,145,5,21,230,27,71,144,211,8,235,235,43,136,81,96,190,57,67,25,
+36,24,13,50,196,92,97,54,221,196,92,166,88,217,181,138,81,26,66,149,11,
+204,54,142,32,15,38,88,155,12,145,196,58,97,87,85,174,157,223,104,132,93,
+43,99,196,1,3,65,8,82,37,230,155,135,49,83,67,172,142,19,160,220,196,161,
+141,18,225,112,5,163,88,34,159,229,80,241,16,163,241,16,131,88,183,172,
+100,181,192,230,225,67,152,211,16,187,86,39,38,129,48,221,130,34,199,108,
+243,48,242,96,140,149,201,16,105,84,219,65,217,193,152,122,229,171,27,167,
+55,89,162,90,20,80,28,33,26,102,8,35,45,32,238,140,157,57,125,105,15,225,
+213,164,4,44,22,51,228,42,193,120,148,33,14,201,82,237,132,110,107,204,
+103,40,56,193,104,56,64,28,5,13,199,64,136,2,139,205,28,21,197,24,141,135,
+136,155,207,128,46,169,142,151,81,34,45,151,55,216,142,126,46,137,179,55,
+36,147,103,53,196,236,57,112,82,175,126,207,206,160,111,187,126,247,74,
+54,167,235,202,221,138,218,87,36,242,16,48,119,138,137,204,40,52,109,153,
+180,108,41,149,199,150,181,185,206,7,25,173,140,42,28,219,195,250,224,63,
+158,233,158,139,146,10,7,86,51,68,166,18,142,2,32,10,129,208,18,233,96,
+214,19,111,70,37,86,211,213,152,33,133,64,94,49,16,198,8,131,176,253,61,
+6,160,66,40,150,40,230,11,44,230,37,56,76,144,165,58,3,213,69,181,130,168,
+42,148,149,4,5,17,162,32,104,144,117,237,9,157,97,56,28,97,56,76,17,19,
+65,86,218,198,177,65,106,12,212,87,179,232,157,121,37,139,176,214,222,100,
+213,97,62,82,109,113,99,136,128,81,24,232,64,101,211,9,3,214,164,62,123,
+72,218,210,57,70,8,235,245,6,159,108,73,59,129,110,61,4,1,57,240,183,57,
+121,16,17,162,58,248,26,245,36,41,244,57,157,251,146,115,113,206,139,207,
+249,137,55,207,115,94,124,14,158,246,172,167,33,10,227,142,190,193,254,
+3,251,113,209,71,46,194,9,39,159,120,212,199,61,241,228,19,241,215,31,249,
+223,56,238,248,227,64,100,174,153,165,70,113,250,253,79,195,219,254,234,
+109,93,118,254,79,67,198,170,4,94,245,138,55,34,29,141,176,119,223,58,222,
+243,87,127,138,187,221,253,148,159,250,184,7,142,63,0,112,9,89,73,80,58,
+194,239,253,127,175,184,211,131,187,222,71,75,32,158,32,29,142,240,178,
+23,189,244,167,14,238,245,53,121,229,5,175,68,181,152,131,163,49,178,201,
+26,226,204,84,89,178,64,85,42,4,131,9,178,209,8,231,93,240,34,172,173,175,
+253,68,73,196,171,94,115,1,114,69,26,226,133,196,100,152,225,207,223,253,
+14,220,237,158,247,248,169,63,195,113,199,31,7,176,208,36,51,3,107,23,179,
+25,68,50,198,218,174,99,176,58,74,16,67,66,6,9,178,65,134,24,57,54,15,79,
+81,80,130,241,202,10,134,89,164,209,62,17,32,29,143,48,76,52,42,50,159,
+110,96,38,19,100,195,33,210,216,216,178,178,132,40,230,200,57,70,150,37,
+80,243,67,184,253,224,97,76,243,18,249,108,3,115,25,97,48,26,33,75,98,4,
+70,47,188,156,111,98,154,87,8,71,107,216,181,62,193,208,184,173,41,37,144,
+207,54,49,147,33,6,131,17,178,184,221,55,148,44,48,159,30,193,76,196,200,
+6,67,100,81,104,192,124,106,136,188,29,103,56,182,116,211,235,125,43,140,
+17,15,71,72,199,3,68,97,160,231,159,109,178,179,101,54,67,112,7,83,52,242,
+170,32,170,28,165,208,22,192,81,232,142,165,234,61,184,68,41,3,68,113,130,
+56,178,25,62,1,162,48,195,112,101,21,107,43,35,43,65,233,67,230,217,139,
+51,22,247,156,90,159,141,118,60,206,135,207,9,29,61,166,14,111,131,45,94,
+153,221,199,183,43,123,238,208,36,187,126,244,173,154,19,57,230,187,237,
+184,180,45,167,91,143,178,145,67,232,39,143,253,78,142,96,77,59,218,71,
+38,247,33,107,232,134,189,145,62,244,139,84,89,227,133,173,248,20,213,74,
+118,232,17,184,104,21,211,2,4,184,109,83,47,180,241,32,198,40,209,16,125,
+22,145,174,50,107,178,24,116,176,110,2,187,129,229,235,224,94,148,18,42,
+140,16,197,161,38,187,145,249,125,37,17,45,34,20,243,5,42,73,136,146,1,
+210,56,130,226,178,185,112,74,154,30,60,133,136,163,80,67,53,10,205,92,
+35,177,94,208,164,24,80,164,157,203,2,130,118,150,53,163,117,70,189,14,
+138,187,16,58,179,23,240,221,192,222,40,3,40,134,16,37,8,140,56,142,26,
+123,27,106,254,171,251,250,108,19,237,12,251,31,172,16,112,253,186,178,
+88,241,237,12,99,64,104,29,154,28,11,220,54,249,178,165,17,193,48,4,63,
+109,16,113,206,139,207,197,69,23,95,132,211,238,127,218,142,55,205,147,
+79,57,25,239,188,232,157,56,247,37,231,154,214,70,255,239,221,229,174,119,
+193,37,159,188,24,207,126,254,179,145,164,201,182,199,77,211,20,207,249,
+237,231,224,146,79,94,130,187,222,253,174,86,178,82,147,73,218,239,31,242,
+240,135,226,146,79,127,20,15,253,197,135,237,56,208,190,237,221,127,186,
+237,239,133,40,81,205,55,176,103,255,1,124,224,227,31,198,243,206,61,27,
+195,225,240,232,43,199,213,21,60,249,41,143,195,155,223,242,7,200,23,21,
+40,93,67,54,26,225,255,213,151,64,130,100,52,66,20,6,119,250,177,195,225,
+26,178,209,80,123,195,179,130,44,166,200,231,11,32,24,32,30,14,17,18,233,
+132,238,239,46,194,241,39,28,191,163,99,142,198,99,60,229,105,79,197,63,
+124,250,18,60,248,97,15,3,226,1,6,49,80,44,102,200,101,128,187,220,227,
+84,124,244,147,31,197,243,207,121,30,6,131,193,81,159,243,202,234,10,30,
+255,164,95,193,235,222,244,7,184,253,224,20,50,204,48,26,198,144,249,28,
+133,12,144,141,86,48,136,9,170,90,96,86,8,32,30,96,148,50,138,217,2,34,
+72,48,158,140,145,5,140,42,95,96,154,87,8,210,33,38,131,4,164,42,20,179,
+25,242,138,144,12,199,24,197,65,195,185,81,85,142,69,33,117,197,46,10,76,
+231,149,118,180,172,244,239,167,195,85,189,23,42,129,74,232,189,33,140,
+18,211,59,207,180,167,5,116,91,178,92,76,49,43,36,226,193,4,163,44,178,
+38,30,4,138,217,12,139,10,72,134,19,140,146,214,233,145,77,37,235,88,150,
+216,66,88,220,246,150,53,28,27,128,130,176,53,137,113,154,210,117,157,192,
+78,96,107,107,57,134,172,74,20,165,2,69,41,178,36,210,149,187,53,127,46,
+170,2,69,165,64,81,130,44,13,221,17,105,115,176,48,12,140,158,200,54,36,
+116,123,196,212,243,71,102,43,230,117,166,17,184,7,234,239,180,48,219,174,
+56,123,106,51,182,51,93,151,239,206,61,86,67,108,181,94,201,51,235,114,
+247,74,238,107,130,123,56,186,67,193,179,130,191,45,169,238,138,246,80,
+195,125,232,157,214,243,12,8,218,164,141,219,177,185,198,15,190,211,72,
+208,111,82,201,0,223,187,85,143,177,237,95,29,96,144,232,236,108,16,233,
+64,47,153,33,25,16,10,144,108,200,113,108,201,105,42,129,162,40,81,41,66,
+24,39,136,163,192,8,206,104,66,84,85,85,40,132,66,113,248,187,136,163,16,
+201,40,66,16,5,136,227,24,123,87,247,162,20,115,76,23,51,204,68,161,131,
+121,169,108,107,181,230,164,101,85,162,42,5,42,38,36,113,210,84,215,108,
+59,191,25,98,224,207,156,176,6,213,64,244,67,243,226,216,235,189,43,0,162,
+9,220,12,70,89,150,80,82,32,138,35,68,81,220,6,104,244,105,206,219,51,143,
+212,84,235,117,166,90,247,12,132,80,152,153,121,240,108,112,50,130,104,
+216,129,140,152,200,85,34,35,141,166,176,82,32,67,108,243,177,156,239,92,
+241,109,124,246,211,159,197,55,254,227,27,184,250,7,87,99,227,200,6,148,
+84,24,79,198,56,238,132,227,112,250,3,78,199,35,126,233,17,248,249,135,
+254,124,51,139,223,33,180,113,127,15,237,224,29,135,240,143,127,255,15,
+248,210,229,95,194,85,223,189,10,7,77,191,118,247,49,187,113,143,159,185,
+7,30,246,136,135,225,49,79,120,44,214,119,173,57,83,48,108,107,55,3,93,
+197,44,0,223,187,242,123,248,244,165,159,198,87,191,252,85,92,123,205,181,
+56,114,248,8,136,8,199,236,57,6,167,221,239,52,60,242,151,31,137,95,122,
+244,195,161,138,57,78,191,215,25,75,43,201,55,190,229,245,248,31,143,122,
+40,202,146,17,12,38,72,179,4,196,192,116,58,195,39,47,253,36,190,250,229,
+175,226,59,255,249,95,184,227,246,131,152,78,103,136,162,8,163,241,8,43,
+171,43,56,241,164,227,113,210,73,7,112,194,73,39,227,180,7,62,0,63,115,
+239,83,141,36,51,1,65,0,10,2,168,98,3,31,187,248,19,120,205,171,222,4,113,
+39,87,241,223,186,250,219,136,211,24,164,20,62,254,145,15,227,149,23,190,
+174,119,230,253,104,171,235,215,191,233,245,120,194,83,159,172,19,7,102,
+168,114,19,197,98,14,25,100,72,7,19,196,113,232,16,109,231,243,25,62,126,
+201,199,241,47,159,185,12,223,187,242,123,56,120,240,32,88,49,246,236,61,
+6,7,142,59,22,63,123,159,123,225,103,238,115,31,220,247,126,167,33,77,18,
+176,170,32,195,12,43,171,235,24,134,37,242,69,9,74,199,24,141,6,136,57,
+199,108,58,195,143,239,152,226,242,207,127,17,223,252,234,87,240,237,111,
+125,7,135,14,29,198,116,115,138,40,138,48,28,13,49,153,76,112,194,201,39,
+226,46,39,159,128,3,199,159,128,251,60,240,129,184,239,105,63,139,196,242,
+132,167,128,32,23,155,152,46,42,4,217,24,195,209,0,169,90,96,99,99,142,
+133,138,48,30,165,160,114,134,205,185,66,58,89,193,100,24,3,229,28,27,27,
+115,148,20,99,180,178,130,81,18,64,44,54,177,177,49,135,74,39,152,140,71,
+200,98,83,53,114,137,217,198,20,243,188,4,103,3,196,44,32,202,10,10,33,
+194,40,66,146,13,48,24,36,160,114,129,121,81,162,40,75,84,185,254,172,171,
+107,43,24,36,181,199,59,163,202,55,113,100,115,14,25,12,176,178,50,193,
+32,110,245,53,170,197,6,14,111,204,193,201,10,86,38,67,100,145,37,69,205,
+61,186,122,212,13,30,53,161,142,140,100,165,47,14,85,239,63,228,91,91,91,
+236,122,174,10,44,138,10,2,17,178,44,67,210,64,239,166,5,88,21,88,20,37,
+36,37,72,211,4,105,212,238,23,122,38,159,52,15,137,182,99,162,251,13,105,
+75,23,212,99,185,111,171,103,64,254,68,17,172,177,64,251,51,247,251,3,108,
+45,20,213,163,221,223,145,30,118,97,123,247,174,208,82,33,233,90,141,212,
+70,41,218,246,56,181,29,140,30,135,224,237,13,68,44,197,187,250,58,254,
+112,227,71,76,150,74,191,109,114,31,82,128,121,9,252,224,182,10,12,198,
+113,107,67,36,81,128,56,0,210,144,32,21,32,193,38,184,235,32,207,134,16,
+194,230,159,40,75,228,21,35,136,99,132,81,164,153,151,74,161,42,114,20,
+130,129,48,66,20,133,40,14,126,27,96,137,32,12,145,12,67,40,165,144,101,
+41,178,56,193,188,44,80,144,132,154,43,4,208,149,7,43,101,102,221,21,148,
+212,240,61,35,210,22,173,97,160,93,212,44,168,163,86,157,85,204,56,245,
+164,117,40,197,72,211,1,210,116,104,170,237,177,150,163,101,9,34,5,134,
+4,32,154,234,188,18,18,85,89,32,142,35,93,49,7,232,147,42,114,146,14,125,
+13,164,249,103,169,88,17,105,2,76,160,207,115,58,93,0,12,164,195,147,17,
+70,195,126,115,18,219,103,136,185,17,52,161,160,133,181,234,254,205,114,
+55,169,45,122,55,91,76,20,245,5,122,197,172,161,196,96,89,102,237,110,82,
+110,207,137,155,121,79,234,83,7,198,146,62,29,1,224,10,42,223,192,124,150,
+131,146,9,226,36,4,231,155,40,243,2,28,79,48,24,79,16,39,1,84,57,69,62,
+157,3,241,16,73,150,234,123,160,52,188,24,134,33,88,149,168,102,135,80,
+136,0,113,54,70,156,36,8,194,64,203,30,87,155,88,76,103,224,96,140,100,
+56,208,190,221,20,128,194,8,4,5,85,46,80,44,166,224,112,132,120,48,212,
+175,7,117,210,41,161,202,77,44,102,51,168,96,132,116,56,104,56,19,20,106,
+194,151,202,55,48,159,47,64,201,24,113,20,130,139,41,138,162,0,71,99,12,
+39,171,136,19,253,62,178,156,161,152,205,192,209,24,201,112,104,146,86,
+161,143,63,157,131,195,33,210,193,80,143,198,145,78,60,136,21,100,149,67,
+20,51,72,21,34,74,7,8,80,161,90,20,64,50,49,172,233,0,144,5,138,217,97,
+148,34,64,60,48,159,159,66,51,89,66,32,22,40,230,83,28,62,52,69,25,36,152,
+172,175,98,156,38,8,100,137,197,116,3,179,50,64,50,24,96,144,69,122,132,
+174,90,96,58,221,68,206,41,70,195,24,106,49,69,69,67,12,70,3,36,36,81,228,
+115,20,50,66,54,28,34,9,4,242,141,35,200,131,1,70,195,33,98,210,115,231,
+165,140,144,13,71,200,66,129,233,145,35,88,200,24,195,149,145,233,99,7,
+186,189,21,16,100,185,192,108,99,19,85,52,198,120,50,68,74,2,249,98,19,
+27,115,194,96,50,68,70,21,102,71,54,176,64,134,241,40,67,196,57,54,55,230,
+40,145,98,101,109,13,147,65,12,226,18,139,141,195,216,200,3,12,86,87,49,
+25,196,6,61,83,40,139,57,166,7,167,16,97,136,116,52,68,32,114,108,206,10,
+48,199,24,175,140,49,72,9,85,62,199,162,96,68,195,33,18,46,49,223,152,162,
+140,198,88,95,155,96,144,104,9,108,174,114,76,55,14,99,166,18,76,38,43,
+24,166,53,183,133,193,74,191,255,145,156,48,92,93,197,56,211,211,67,142,
+156,172,37,240,2,248,8,178,102,214,87,179,5,20,34,68,195,17,162,196,172,
+131,186,154,35,79,141,137,236,222,179,126,77,138,2,243,197,2,146,82,100,
+131,20,169,51,79,207,144,85,129,98,145,163,10,82,12,178,212,233,187,203,
+170,192,98,186,64,137,16,233,112,132,44,137,182,32,214,245,245,225,189,
+113,182,218,103,193,66,46,108,238,129,95,229,187,253,109,184,68,53,219,
+152,197,229,239,181,83,117,219,38,36,203,82,128,190,198,55,245,229,27,78,
+162,213,182,31,208,233,197,195,78,76,236,159,216,136,46,245,217,16,219,
+65,157,29,87,96,6,16,217,236,11,54,89,148,22,136,49,176,143,231,177,234,
+88,161,91,44,117,197,117,112,87,144,101,133,188,172,32,76,64,173,25,160,
+33,19,146,56,128,42,11,44,74,61,246,70,82,161,172,128,68,172,97,90,221,
+140,52,78,160,170,28,42,80,152,110,78,27,18,31,49,33,140,83,36,113,4,146,
+5,202,162,68,37,141,18,124,144,32,137,7,6,118,212,51,247,141,56,130,197,
+2,84,0,88,217,99,17,245,40,27,217,252,13,79,181,78,7,211,170,44,16,132,
+164,131,187,45,236,209,244,123,44,79,224,90,126,182,105,248,91,76,124,98,
+189,121,51,129,140,202,158,82,82,7,0,184,118,133,141,102,178,141,98,53,
+46,113,218,161,173,33,226,160,149,97,236,152,35,209,114,219,194,173,166,
+88,58,9,130,193,14,133,16,250,51,135,161,59,122,97,19,104,184,35,112,102,
+25,17,82,87,99,222,33,190,88,59,25,187,233,106,67,28,226,10,114,113,24,
+204,171,136,130,8,97,26,107,193,142,36,214,65,176,170,160,68,1,37,4,68,
+153,34,25,174,32,201,210,102,19,5,73,157,36,150,5,10,81,160,74,38,200,70,
+19,196,81,61,92,201,40,139,35,200,203,13,157,144,165,171,200,134,99,132,
+65,129,170,152,131,41,213,193,61,12,44,143,0,125,222,154,103,193,16,197,
+6,242,106,83,143,123,102,171,72,7,99,51,246,169,64,92,65,44,54,161,146,
+17,34,34,4,241,0,209,112,162,131,59,105,210,148,40,114,112,56,64,50,28,
+34,14,67,171,26,211,239,41,138,77,44,202,77,48,2,68,217,10,210,44,134,202,
+55,81,228,18,225,96,140,100,50,66,72,10,114,177,128,84,220,38,34,6,134,
+102,37,161,202,28,101,149,163,74,87,144,141,198,136,2,61,130,165,100,137,
+124,177,64,33,8,233,202,0,131,36,70,8,70,85,204,145,171,64,87,198,131,184,
+129,126,149,34,48,71,136,146,16,170,152,97,54,47,32,33,80,44,166,160,120,
+128,241,120,140,245,73,130,48,80,152,31,218,192,116,94,66,64,160,156,207,
+64,113,134,201,120,140,181,73,138,40,36,176,34,196,81,136,60,159,97,227,
+142,5,54,0,80,152,97,178,186,130,201,48,68,149,47,116,192,25,14,181,0,77,
+81,32,207,25,81,54,192,48,77,16,40,169,201,107,249,12,71,164,192,56,9,64,
+73,138,81,50,193,120,16,235,228,90,73,148,101,1,129,49,194,40,110,133,71,
+89,65,230,5,74,5,196,227,17,134,89,136,226,136,0,203,16,131,149,49,134,
+177,196,108,99,19,51,153,96,60,89,193,100,16,130,23,5,102,196,230,218,182,
+145,72,20,11,228,42,64,54,28,153,224,110,69,60,37,80,22,5,4,143,16,69,113,
+251,26,183,182,168,141,214,190,47,144,98,246,19,85,230,16,121,1,26,164,
+160,176,29,249,180,193,101,178,204,137,96,143,21,66,65,138,28,243,89,1,
+101,56,11,105,232,138,8,169,106,129,249,188,52,175,167,154,216,140,182,
+121,47,202,2,121,81,64,101,43,24,134,161,158,165,231,109,42,5,175,8,114,
+122,199,245,44,188,237,88,232,83,229,169,103,6,190,41,24,218,236,136,154,
+177,65,242,140,95,218,209,52,90,90,185,47,171,119,186,195,236,118,75,192,
+166,21,144,221,7,177,60,218,59,240,189,167,92,199,100,183,4,252,4,197,221,
+91,201,74,2,218,48,238,178,252,233,234,205,171,217,145,204,49,255,111,20,
+232,94,209,172,84,184,234,182,18,204,140,99,215,70,136,195,0,73,168,123,
+240,66,181,240,188,254,199,77,223,93,25,39,183,118,108,174,221,152,26,71,
+55,107,182,145,65,80,135,127,8,41,166,154,193,23,2,65,18,88,126,217,186,
+63,205,68,128,84,77,21,219,42,245,194,35,51,176,235,253,94,39,32,138,113,
+175,83,234,10,62,51,16,61,0,30,155,141,90,128,33,65,134,69,207,44,245,236,
+173,40,145,165,89,83,229,161,215,123,10,144,170,210,9,134,173,120,229,179,
+64,173,133,169,20,99,54,45,64,68,200,70,167,32,8,71,222,232,135,171,221,
+90,75,242,6,1,28,119,49,127,49,248,45,174,59,205,194,185,201,78,201,74,
+110,0,223,70,24,86,15,169,63,235,237,15,240,118,106,110,107,70,181,227,
+31,122,115,52,158,67,160,48,50,45,149,176,241,189,215,133,180,48,27,153,
+54,70,162,32,106,3,49,17,160,36,84,125,16,3,49,6,20,154,107,37,193,82,185,
+159,55,136,116,43,131,37,148,82,230,120,86,47,142,173,81,30,214,179,192,
+150,237,59,130,48,106,206,79,41,161,231,141,235,103,130,37,152,66,115,158,
+230,25,84,10,82,41,32,12,218,228,175,169,62,164,158,161,183,31,100,243,
+249,106,200,52,8,35,212,237,80,150,2,10,1,130,176,221,52,200,8,19,53,207,
+102,80,235,88,212,87,91,65,84,18,160,64,171,164,213,225,70,25,168,186,174,
+54,45,57,93,81,9,84,213,28,243,105,14,12,214,48,202,34,104,169,129,0,97,
+24,128,32,81,206,167,216,220,92,0,131,53,140,51,173,228,6,10,205,235,220,
+172,43,37,132,38,224,90,68,174,48,210,45,4,37,4,16,152,115,208,211,229,
+16,18,8,235,169,25,82,144,70,171,131,73,35,142,130,117,66,92,7,204,170,
+152,226,240,161,195,40,67,61,42,55,104,4,143,88,203,91,195,112,121,216,
+124,79,134,0,203,122,222,29,20,33,10,235,62,187,185,87,129,254,188,205,
+179,168,4,4,7,58,9,116,34,148,130,40,102,56,124,199,161,230,253,179,56,
+192,18,253,65,215,88,196,60,95,92,230,168,166,155,168,100,136,104,178,138,
+36,181,12,174,44,246,185,221,10,107,184,59,144,168,242,28,121,41,160,162,
+12,163,44,53,194,96,245,27,73,84,121,129,188,20,64,148,98,56,72,245,125,
+178,160,103,22,5,102,211,41,230,50,64,54,90,197,40,213,228,97,218,86,157,
+177,103,150,204,226,24,57,218,106,142,225,131,127,92,147,8,88,117,69,115,
+221,173,226,192,54,173,234,21,105,218,22,213,236,218,164,31,245,62,218,
+235,209,77,109,11,217,111,165,176,103,56,67,61,67,123,220,58,208,55,247,
+188,231,195,68,126,131,71,187,196,145,215,204,87,205,253,80,38,43,234,171,
+224,91,129,87,114,222,176,121,104,107,232,158,116,37,193,142,208,11,64,
+235,119,71,120,232,74,200,106,14,72,130,154,51,16,178,38,204,65,247,251,
+237,25,145,214,187,133,93,174,165,173,31,194,236,198,124,201,232,138,207,
+212,50,148,210,187,60,10,66,86,16,162,212,82,183,33,153,43,0,203,171,215,
+220,12,83,245,192,17,12,98,175,10,85,157,113,9,219,34,170,227,74,230,25,
+110,107,65,18,93,41,16,66,135,240,225,139,56,53,16,212,142,251,98,59,40,
+232,89,59,213,5,181,168,145,195,62,117,75,246,70,26,210,238,75,113,127,
+139,139,250,60,21,209,102,239,238,172,40,129,130,216,144,21,235,195,68,
+29,51,80,29,248,251,32,137,26,206,11,117,64,111,156,235,216,74,144,66,80,
+24,246,11,172,81,96,56,15,112,102,110,216,242,109,174,37,72,109,37,75,39,
+84,5,145,67,54,234,92,75,0,28,16,130,32,234,209,203,98,48,133,38,232,250,
+95,1,16,6,70,127,186,253,204,65,20,155,192,102,85,115,68,160,48,65,224,
+77,7,177,117,172,56,14,58,88,34,5,113,147,56,184,200,18,0,84,40,22,5,56,
+25,99,60,202,144,69,86,130,201,12,81,230,152,207,115,112,58,193,120,148,
+33,141,250,200,189,250,15,194,40,110,250,216,190,23,120,80,207,136,55,43,
+63,64,20,217,231,25,34,140,67,7,196,140,156,99,41,157,208,5,33,160,84,103,
+84,41,140,34,61,223,93,147,199,226,24,205,48,44,133,122,252,214,234,229,
+6,65,136,32,8,187,126,37,65,132,184,47,222,153,168,29,4,129,22,166,177,
+42,237,26,162,101,135,145,221,72,5,130,165,132,172,10,136,249,2,138,99,
+196,227,49,146,52,114,49,235,102,221,113,195,206,174,159,39,37,43,211,30,
+37,68,201,16,163,204,204,186,27,116,145,69,133,50,207,81,8,32,202,134,26,
+118,183,110,184,82,18,178,170,80,44,22,40,85,140,225,104,136,97,22,182,
+172,121,222,174,167,109,51,233,13,234,232,61,239,221,89,178,254,164,161,
+229,122,217,200,43,90,40,220,18,143,169,101,214,253,81,67,244,50,212,187,
+237,193,90,150,150,209,231,249,183,77,96,183,217,244,212,142,60,54,14,126,
+181,255,123,15,177,176,113,139,227,182,173,217,24,199,120,114,152,108,233,
+62,90,235,158,154,139,219,250,134,247,11,150,235,0,77,14,191,205,82,109,
+111,2,125,109,245,215,64,61,54,188,111,78,76,177,229,220,196,173,80,78,
+184,118,42,130,35,55,160,42,111,7,179,2,73,210,90,247,118,239,196,84,12,
+237,135,178,2,126,127,161,220,194,242,142,169,131,165,249,67,118,146,160,
+255,73,41,33,171,82,67,243,70,248,194,169,216,235,241,11,165,32,101,229,
+177,243,157,147,133,59,144,111,151,134,220,47,140,224,165,155,53,104,19,
+134,38,57,178,18,157,14,129,198,131,178,24,63,253,87,189,112,194,32,108,
+251,205,246,195,224,70,115,75,157,149,219,89,90,66,175,236,171,53,52,96,
+136,139,126,162,226,26,131,242,22,201,241,78,8,52,182,184,70,163,31,200,
+228,162,30,30,31,200,101,5,162,35,253,218,102,211,118,203,203,34,85,250,
+39,87,35,47,22,239,128,216,246,151,103,87,170,155,92,107,74,238,225,197,
+182,70,51,253,214,176,140,126,118,175,125,99,200,135,65,125,144,106,137,
+179,139,82,2,101,94,130,195,20,131,209,16,73,232,237,233,66,160,200,75,
+168,26,90,15,150,245,132,92,56,181,127,0,152,122,56,71,180,180,175,196,
+222,160,83,45,16,19,135,9,40,138,97,56,135,222,53,246,73,89,93,66,74,23,
+104,238,95,123,189,231,70,132,48,202,144,133,137,209,20,105,247,223,174,
+217,152,46,62,184,152,163,152,206,33,100,136,120,48,66,58,72,17,68,161,
+245,208,181,127,104,247,209,107,239,12,37,37,202,66,128,41,198,96,172,181,
+68,236,160,171,84,133,170,16,144,65,140,108,148,34,137,173,172,219,112,
+59,230,139,28,165,12,144,164,67,140,179,4,73,24,44,117,127,237,148,158,
+150,101,109,195,21,106,252,16,150,84,255,157,135,219,183,102,36,167,175,
+217,75,110,179,102,249,29,34,32,45,63,95,178,28,69,236,73,6,234,144,244,
+44,62,17,186,31,215,71,198,93,69,58,234,8,237,248,210,180,228,199,12,71,
+142,219,69,120,237,196,176,190,10,81,155,53,154,222,99,93,77,56,207,86,
+27,160,149,39,102,195,53,20,223,218,182,183,131,101,86,76,107,186,222,138,
+12,47,189,14,252,86,144,103,160,36,0,43,199,131,213,177,8,139,13,196,211,
+131,168,132,130,10,55,58,187,46,43,106,23,135,125,190,202,37,111,177,178,
+69,15,188,209,147,86,240,210,91,20,10,101,89,128,8,72,234,190,187,163,84,
+103,46,182,210,211,0,110,117,206,254,44,72,119,119,180,174,41,200,115,62,
+118,69,254,77,191,76,234,234,34,8,173,234,216,92,7,80,175,183,149,187,72,
+118,88,198,247,153,34,160,117,102,211,48,117,183,26,177,99,5,236,202,155,
+93,149,93,27,162,227,14,244,136,142,9,53,147,239,213,237,170,53,113,15,
+31,144,186,128,86,27,214,169,53,174,232,19,172,232,28,135,177,36,204,144,
+19,134,218,49,23,114,141,80,216,67,87,8,78,182,237,232,111,147,253,249,
+168,149,143,94,86,11,121,247,138,188,233,139,102,125,88,215,212,54,251,
+33,107,243,243,13,167,58,155,235,86,235,135,25,65,24,33,29,175,32,101,211,
+10,240,167,168,162,8,131,241,42,6,117,59,192,59,184,205,84,105,19,47,234,
+132,243,229,42,198,125,106,244,126,120,109,235,173,32,202,48,94,79,53,41,
+205,170,114,105,9,51,181,155,42,244,63,46,91,248,241,57,231,24,70,25,38,
+235,41,128,160,189,30,61,237,180,198,169,155,2,32,25,34,93,27,32,109,90,
+42,228,242,94,106,123,85,114,6,187,154,132,45,8,67,164,131,208,84,245,62,
+15,70,35,70,201,32,54,35,86,94,109,74,1,130,120,128,81,152,98,88,235,212,
+83,215,154,184,195,39,167,174,139,165,115,95,169,27,146,157,174,228,54,
+178,213,182,134,61,119,224,119,110,80,181,190,187,217,255,92,117,239,149,
+91,23,123,235,140,92,250,17,121,219,162,221,74,168,145,26,98,56,130,61,
+86,167,213,169,27,220,61,195,37,18,58,202,117,61,159,132,218,0,223,86,89,
+77,112,247,139,51,171,159,173,156,209,109,155,142,198,109,53,207,109,176,
+171,135,195,148,193,139,153,237,176,74,70,12,167,221,132,216,210,186,173,
+146,9,196,238,213,86,154,17,10,170,152,131,203,25,136,129,251,221,115,159,
+243,208,250,46,131,180,100,83,154,29,249,158,134,73,61,239,101,187,122,
+23,162,132,100,169,133,44,194,160,133,127,172,138,27,82,64,42,97,30,64,
+183,122,235,100,236,204,61,229,45,44,130,150,157,85,250,144,150,134,1,41,
+176,54,32,166,45,225,247,165,164,186,237,2,125,215,64,16,80,208,107,35,
+232,129,83,45,130,161,215,21,114,229,24,201,103,161,182,15,49,217,255,99,
+61,217,54,121,141,157,236,148,92,55,73,108,101,48,226,218,128,48,251,126,
+226,253,164,94,187,45,224,88,56,122,108,86,95,78,179,205,119,200,97,211,
+214,40,1,108,241,146,142,252,38,59,144,163,45,122,76,91,220,202,46,174,
+209,222,23,178,156,15,109,42,50,123,220,141,78,127,177,47,115,90,166,170,
+101,252,40,194,176,191,35,82,195,163,20,210,82,6,119,97,233,187,0,0,32,
+0,73,68,65,84,39,119,136,75,238,211,73,189,245,188,199,194,118,238,53,45,
+29,30,209,124,158,0,8,183,118,156,115,207,143,150,254,6,109,241,40,209,
+146,159,18,133,141,182,255,86,121,84,219,174,38,51,231,142,78,80,105,37,
+74,201,73,20,59,146,175,134,99,193,125,40,149,9,226,91,57,171,233,123,24,
+238,160,64,176,146,95,246,228,100,152,28,196,218,161,41,57,200,223,178,
+9,32,238,121,240,107,50,157,94,215,110,226,222,163,134,103,91,202,146,103,
+233,219,147,217,214,147,79,174,201,13,245,208,4,188,231,176,158,6,32,23,
+9,180,33,249,182,167,14,71,215,172,59,61,101,159,31,117,240,72,167,126,
+183,206,169,105,84,134,65,176,164,39,209,94,117,101,117,146,153,93,37,164,
+38,240,55,228,58,3,207,215,65,157,59,104,57,100,179,8,8,74,74,109,27,171,
+164,133,205,114,91,29,81,160,205,107,148,112,103,194,237,209,0,34,175,82,
+220,34,142,169,10,140,164,183,92,101,150,40,42,221,119,15,155,25,115,182,
+24,168,102,254,83,201,118,219,225,158,141,171,182,159,181,44,1,221,192,
+192,46,84,15,159,28,167,197,121,132,148,8,2,130,233,174,58,2,20,29,6,167,
+51,13,208,115,25,142,166,25,111,58,11,149,20,122,125,56,64,164,255,48,123,
+181,24,187,139,218,207,153,137,188,156,217,191,54,240,30,118,11,74,36,79,
+58,18,219,110,208,214,3,96,145,54,25,221,204,219,169,162,216,139,110,118,
+122,93,59,181,153,81,64,38,114,30,204,142,57,139,89,211,246,199,33,127,
+216,213,133,50,182,248,132,45,203,184,67,171,101,95,248,163,111,89,186,
+61,202,38,95,244,73,89,203,42,249,237,48,233,101,25,73,79,149,225,54,76,
+168,3,206,115,79,93,213,173,180,187,188,102,70,23,249,177,95,219,26,245,
+90,134,11,113,111,251,128,119,242,177,187,77,149,37,239,90,143,137,117,
+31,53,23,56,50,193,211,230,35,89,227,90,228,36,57,109,155,175,105,233,237,
+172,167,181,179,215,253,242,187,183,85,82,175,127,51,46,86,143,177,113,
+205,43,33,119,68,140,151,100,81,141,204,46,187,186,240,212,189,47,53,210,
+73,180,164,141,71,203,161,75,135,251,208,236,181,86,112,238,219,104,123,
+50,224,182,147,106,67,233,45,243,221,207,23,220,19,101,239,154,90,56,87,
+47,204,209,102,126,108,115,79,2,14,53,65,167,47,221,109,54,52,237,52,164,
+2,119,182,188,254,167,152,12,123,190,173,216,109,125,122,231,80,54,81,143,
+21,184,204,189,44,220,194,245,235,149,174,244,140,58,84,5,72,1,166,0,29,
+122,36,224,192,156,109,85,111,45,7,203,70,81,169,18,74,133,186,154,175,
+3,42,43,148,85,137,0,64,28,235,121,228,70,253,168,206,200,148,132,50,149,
+187,161,60,187,253,78,246,49,37,213,197,221,26,222,29,247,108,28,46,105,
+36,12,195,70,33,138,109,235,195,30,19,89,143,183,120,167,52,223,163,186,
+239,238,141,184,180,172,85,175,174,34,27,46,35,11,102,68,211,15,108,23,
+45,123,253,48,247,169,246,199,83,186,112,219,118,48,132,191,253,179,67,
+157,105,44,27,27,209,9,191,146,229,14,161,14,94,133,221,116,223,137,186,
+27,143,7,27,186,159,213,107,40,144,11,81,99,73,247,153,61,190,117,79,41,
+178,156,165,224,79,43,81,15,2,178,44,74,245,237,39,203,227,96,199,147,219,
+163,72,195,245,229,90,202,18,216,18,161,93,214,160,233,130,149,14,254,179,
+195,74,219,109,31,244,219,129,242,146,116,99,7,247,162,94,43,117,155,209,
+234,163,59,9,92,239,229,233,142,108,53,207,138,35,150,194,221,68,223,207,
+72,104,155,150,12,29,77,160,247,238,69,45,179,109,109,208,205,78,207,173,
+35,91,103,252,167,47,176,91,92,166,122,31,228,158,181,100,235,7,208,18,
+52,151,58,44,9,251,185,101,111,11,119,137,118,173,15,60,109,221,70,176,
+124,221,107,20,198,30,172,107,77,118,90,178,161,211,146,107,222,134,123,
+87,29,58,148,186,46,63,69,91,18,4,75,106,5,91,180,88,171,192,26,195,150,
+86,38,182,9,214,166,114,87,118,191,157,27,145,87,125,99,25,80,86,198,169,
+170,18,164,68,155,121,51,44,242,152,183,193,66,129,148,5,249,176,244,16,
+27,238,184,68,219,199,34,120,23,202,148,110,172,180,237,103,24,178,145,
+100,44,161,148,68,156,36,6,242,225,86,19,153,53,153,174,227,252,235,84,
+82,182,218,1,247,176,46,224,144,98,152,60,120,180,121,192,1,37,217,140,
+196,105,134,132,61,141,230,153,47,249,206,138,119,202,151,146,10,12,54,
+226,28,30,36,192,236,142,168,123,213,17,124,107,81,118,23,110,111,246,105,
+81,91,235,37,208,55,219,233,130,167,180,77,56,240,22,189,173,18,105,67,
+204,30,249,175,227,172,104,111,64,86,133,196,102,51,246,99,236,18,139,243,
+126,56,197,218,212,221,238,41,111,81,7,250,187,96,247,191,118,114,5,242,
+122,148,62,210,197,232,199,139,151,181,121,182,66,133,58,223,115,239,207,
+251,168,127,91,197,23,108,81,247,118,235,122,234,169,230,151,111,238,88,
+178,225,99,219,208,189,149,151,120,191,42,90,167,111,229,207,174,219,132,
+225,158,181,227,32,31,108,49,138,172,36,148,76,133,111,7,185,122,191,161,
+163,70,93,142,2,253,243,45,199,217,82,177,244,133,94,26,52,205,122,230,
+107,82,46,122,30,160,30,245,58,114,220,229,220,222,184,125,199,185,111,
+95,180,170,34,246,50,88,242,80,73,178,142,219,65,88,184,103,189,91,170,
+116,117,197,94,7,108,87,204,203,67,157,155,31,249,149,43,187,157,1,98,135,
+132,215,10,226,120,21,188,30,21,162,229,200,148,253,40,214,44,121,235,98,
+171,102,68,142,160,96,212,229,208,216,60,55,153,154,178,130,46,51,131,171,
+92,207,187,147,133,16,192,130,70,217,99,153,160,213,112,111,75,66,123,39,
+238,82,159,200,74,223,186,93,185,214,176,129,205,236,114,37,74,84,178,66,
+20,133,136,34,2,67,24,135,56,165,145,6,182,204,99,28,252,204,101,196,55,
+21,61,60,8,195,111,56,1,90,63,159,123,152,82,74,7,118,24,110,132,47,20,
+99,47,96,178,86,239,81,207,187,47,137,137,122,34,76,19,47,219,242,179,94,
+161,220,17,153,112,13,29,184,195,246,38,234,180,129,155,30,183,215,248,
+54,220,52,171,253,192,45,217,174,27,222,252,90,119,89,175,1,109,32,182,
+21,163,60,63,233,230,1,175,55,93,242,160,122,59,51,39,143,229,207,46,99,
+222,31,231,101,94,182,201,248,61,228,190,30,51,245,212,126,91,228,52,176,
+131,187,43,1,10,143,220,74,232,105,141,211,142,98,218,81,6,0,90,74,96,235,
+110,166,71,83,13,51,208,211,149,180,135,153,0,223,248,115,107,128,157,151,
+64,174,75,24,15,219,192,242,212,211,215,133,39,69,235,137,185,176,47,129,
+65,22,105,12,142,75,92,171,0,135,70,193,206,30,57,227,101,68,21,222,41,
+129,231,232,218,122,32,119,62,180,185,106,212,215,253,101,203,62,155,150,
+119,50,188,241,22,34,235,137,105,70,199,224,225,42,212,143,122,83,119,160,
+221,41,78,188,174,188,131,151,113,119,128,8,94,235,177,109,181,184,224,
+3,59,9,25,181,43,137,122,102,237,169,118,211,99,7,168,230,30,238,138,205,
+227,178,131,59,0,68,65,31,110,209,183,16,192,77,112,87,117,223,220,104,
+33,43,101,2,60,183,236,121,6,235,10,180,14,246,20,32,128,158,57,101,145,
+155,77,70,129,165,54,165,169,153,164,212,100,35,170,105,11,48,43,195,252,
+12,154,15,220,210,179,187,44,78,234,233,47,81,183,75,220,154,200,16,65,
+26,214,124,20,106,151,60,37,75,128,133,14,242,189,219,143,242,112,20,15,
+130,228,110,48,119,147,1,251,24,110,54,207,172,171,103,144,158,249,181,
+161,222,206,108,57,208,159,157,238,116,159,237,157,47,5,164,20,70,94,149,
+122,144,10,95,143,17,29,67,7,55,160,216,172,82,171,227,74,220,95,226,214,
+86,143,117,54,234,60,184,188,77,213,180,36,152,8,9,230,0,20,217,102,20,
+46,177,145,236,217,60,191,246,247,97,105,171,151,214,16,105,152,92,66,24,
+247,173,28,94,26,0,184,135,207,235,108,254,30,242,217,7,39,195,169,89,91,
+126,67,187,129,1,182,81,134,51,109,82,255,175,82,154,10,211,51,75,68,68,
+70,15,226,168,217,101,206,26,210,66,62,222,249,19,33,136,150,65,225,221,
+94,245,242,14,186,187,181,111,63,12,224,63,16,12,174,218,231,74,213,148,
+224,136,16,116,155,105,71,217,50,242,5,108,218,13,222,215,158,39,94,134,
+254,161,133,117,123,208,18,114,8,21,125,253,230,254,81,85,119,125,91,172,
+254,118,49,52,83,7,221,203,103,181,97,184,231,53,139,4,232,0,203,100,143,
+135,233,181,199,181,100,114,3,214,234,247,39,227,153,81,59,197,57,115,228,
+245,7,144,18,138,140,200,147,143,84,117,18,5,90,210,14,242,27,109,110,130,
+78,203,106,137,222,66,210,221,185,154,132,198,143,21,118,123,162,54,143,
+241,56,59,232,204,221,184,207,62,247,180,27,162,165,90,229,205,102,239,
+206,125,178,70,170,161,148,132,40,43,204,23,21,74,138,65,113,210,244,224,
+21,75,136,74,160,200,43,72,102,40,10,16,199,169,182,98,172,114,16,235,170,
+88,138,18,101,33,128,48,70,154,26,15,116,54,67,118,82,66,202,10,85,81,66,
+50,128,32,68,146,36,136,89,91,23,246,194,209,220,55,38,233,200,140,181,
+99,25,220,138,217,48,8,210,88,114,70,73,12,52,65,221,163,248,16,44,43,89,
+95,42,170,135,213,100,175,4,103,241,219,193,82,185,125,252,58,59,15,169,
+117,143,179,87,150,55,39,233,140,104,208,14,76,26,118,130,56,50,218,121,
+247,94,216,150,219,81,61,118,179,40,23,105,232,79,186,168,211,186,64,143,
+236,36,186,210,189,246,82,85,220,232,42,4,193,242,82,150,64,80,121,137,
+124,179,4,199,9,6,171,137,166,155,216,96,132,83,145,251,243,114,228,126,
+94,151,62,211,66,131,228,34,93,254,248,29,113,31,38,238,194,144,132,182,
+23,203,44,161,148,214,60,104,212,237,120,89,251,213,233,241,152,88,96,67,
+183,237,103,4,117,128,49,107,95,103,168,82,160,218,44,144,207,181,148,45,
+43,19,208,9,8,146,8,201,202,0,233,0,253,204,165,29,86,242,92,148,200,143,
+20,40,139,118,177,16,5,8,39,41,6,147,216,162,3,45,15,199,58,255,55,137,
+127,208,63,10,215,151,6,244,91,52,184,193,93,76,115,20,135,43,136,134,96,
+68,8,134,9,178,93,41,226,168,229,242,176,50,162,83,180,93,122,93,39,129,
+220,195,63,35,143,11,225,234,40,244,27,142,24,209,27,86,26,62,13,2,71,88,
+172,169,248,218,45,175,159,53,191,5,44,175,253,225,43,136,98,142,178,40,
+245,57,6,17,162,108,140,36,77,93,89,90,198,178,30,148,119,95,184,211,18,
+107,1,54,1,145,207,32,42,66,152,77,16,7,4,64,64,44,166,40,23,2,65,54,65,
+154,165,70,3,196,50,84,169,145,76,174,80,45,166,168,74,66,56,90,69,26,7,
+59,32,15,74,115,15,131,118,124,214,97,205,179,131,18,80,103,124,206,187,
+182,206,152,163,61,146,75,86,242,5,248,202,177,238,57,81,131,70,176,149,
+129,179,29,224,124,29,126,15,101,176,191,11,150,82,73,109,136,92,20,141,
+226,147,84,18,101,153,99,145,47,144,23,21,4,2,144,153,19,215,58,233,2,101,
+81,65,112,136,120,144,33,203,34,132,80,80,82,66,149,115,64,149,168,202,
+28,121,190,64,89,84,144,76,8,163,64,103,92,204,96,72,200,42,71,158,231,
+16,146,180,190,244,64,107,76,199,97,59,3,221,75,54,244,120,63,78,127,133,
+188,220,199,92,105,5,64,136,10,149,144,72,146,184,205,40,253,12,137,148,
+103,43,107,118,25,178,152,240,29,33,28,235,247,237,215,201,74,209,173,126,
+182,214,7,87,144,38,99,174,21,5,27,18,14,83,167,152,230,62,107,224,237,
+170,247,45,226,190,146,250,30,114,135,53,142,30,97,26,238,244,193,201,26,
+253,178,101,152,125,249,105,182,169,188,78,169,98,217,50,18,58,218,250,
+96,2,151,2,229,145,5,22,135,10,72,161,250,89,52,0,246,14,246,98,207,96,
+15,170,121,9,161,66,68,89,212,81,201,236,206,193,115,163,229,96,183,127,
+24,192,183,255,243,59,120,228,131,31,137,3,147,3,56,105,215,73,205,40,73,
+83,109,145,35,19,213,178,232,123,211,126,235,195,145,59,36,166,132,64,121,
+36,199,226,112,9,81,49,120,139,187,202,110,95,195,26,233,67,195,19,111,
+54,66,139,79,83,207,74,43,37,161,164,208,42,145,0,40,14,17,175,14,48,220,
+157,34,201,66,68,163,20,131,61,99,140,247,79,48,220,61,68,50,112,171,195,
+157,193,69,117,162,74,96,161,80,45,132,246,108,63,102,132,201,177,35,140,
+247,143,49,218,55,196,112,18,235,88,213,33,78,121,73,188,16,40,143,204,
+49,63,84,66,8,134,173,79,225,67,153,180,20,231,232,239,231,171,188,130,
+152,75,208,40,195,112,239,8,163,99,6,72,82,6,87,2,44,12,34,41,244,250,155,
+31,46,81,85,220,155,86,46,79,39,24,44,5,132,225,183,52,68,179,250,222,217,
+227,175,254,104,162,53,130,203,170,130,88,28,194,98,115,19,85,37,80,20,
+5,126,230,174,167,98,125,184,11,215,252,240,71,250,184,75,204,162,120,139,
+132,159,89,65,137,2,98,118,8,249,108,6,21,12,144,77,118,99,56,89,69,154,
+165,70,170,27,91,241,88,221,59,192,75,246,1,48,138,34,199,61,239,114,79,
+172,13,215,240,131,43,175,68,89,48,40,201,16,197,212,158,71,94,1,65,140,
+40,142,76,162,203,214,88,31,26,199,210,42,159,161,42,24,97,54,108,21,24,
+253,105,28,59,160,202,18,213,252,48,230,155,155,40,43,1,213,160,90,212,
+136,174,89,79,80,119,13,81,31,183,198,218,180,200,78,176,217,106,49,82,
+119,73,208,18,216,166,153,176,118,247,197,118,20,178,222,179,168,219,1,
+110,2,252,142,2,129,206,230,202,170,68,85,74,40,4,8,131,208,232,84,27,247,
+54,163,78,7,10,27,83,152,144,24,44,36,88,73,4,50,7,41,9,81,73,48,155,224,
+69,90,239,57,50,26,209,204,2,34,47,80,86,10,65,24,35,73,98,196,97,128,32,
+64,67,4,244,101,207,185,15,114,66,151,59,219,198,92,118,22,168,146,2,66,
+136,198,87,221,246,129,183,19,1,103,196,205,158,11,104,74,64,5,207,134,
+167,101,212,19,119,95,107,13,237,189,221,70,75,161,134,20,88,74,127,173,
+18,156,157,161,159,119,246,121,56,118,184,31,231,157,125,222,182,60,40,
+127,133,126,238,179,159,195,179,127,253,217,184,215,9,247,194,113,147,227,
+112,175,19,238,133,95,253,31,191,138,191,122,231,251,16,132,198,130,182,
+79,26,143,187,224,22,91,94,199,141,208,145,215,90,39,144,131,211,215,60,
+11,178,87,121,61,157,33,36,84,165,160,42,5,22,170,213,70,144,10,170,20,
+216,183,122,0,199,31,56,25,119,57,225,68,28,183,186,31,7,38,7,240,11,247,
+249,5,188,251,237,239,210,246,153,82,129,171,86,118,184,170,8,241,32,66,
+156,214,78,94,18,82,8,72,161,156,81,57,16,176,119,176,7,123,7,123,32,69,
+5,41,117,134,95,47,152,11,207,187,0,87,124,253,10,124,232,210,15,227,186,
+131,215,181,252,18,161,180,104,147,169,212,149,212,194,68,162,100,72,193,
+110,114,195,166,173,85,9,200,74,64,86,82,195,225,202,200,144,150,2,213,
+180,68,181,80,64,64,218,217,80,24,21,73,0,74,105,109,116,89,41,200,74,130,
+165,180,200,130,12,41,53,250,165,164,210,199,23,26,10,47,242,2,111,125,
+203,91,113,198,127,59,3,199,173,29,192,129,213,3,120,248,207,61,28,127,
+246,199,111,198,237,135,14,35,175,216,145,205,85,165,128,68,136,104,156,
+34,30,132,8,147,0,161,177,83,101,115,111,148,208,210,201,108,207,29,42,
+54,175,179,185,135,230,94,42,13,159,202,69,9,33,8,225,32,70,50,136,64,113,
+136,48,14,16,198,129,70,211,164,254,188,82,232,247,248,194,231,190,136,
+179,158,116,22,238,125,215,123,99,223,100,31,126,254,180,7,225,117,175,
+124,61,62,241,241,127,210,215,7,12,150,220,142,231,74,67,10,146,245,57,
+200,70,34,27,66,65,73,143,169,175,0,37,52,191,70,85,2,213,66,64,133,17,
+162,113,140,56,13,16,144,190,190,65,93,196,20,2,98,90,160,90,24,157,126,
+98,125,206,245,218,85,198,194,85,26,61,125,193,173,122,38,11,136,249,38,
+14,222,113,7,14,79,231,218,125,211,19,122,249,236,63,127,22,103,61,229,
+44,156,124,224,100,172,15,215,113,242,129,147,241,216,71,61,22,239,124,
+251,59,53,170,35,43,200,106,1,177,216,64,81,8,112,20,35,36,194,251,222,
+249,94,220,120,195,141,120,198,179,158,142,147,238,114,66,51,233,163,164,
+192,103,62,245,105,60,237,41,79,195,73,7,78,194,218,96,13,39,31,123,18,
+30,243,200,199,224,47,223,246,23,144,82,104,142,145,217,127,85,57,67,57,
+159,162,66,130,104,184,138,36,203,244,103,143,51,196,233,16,113,28,155,
+251,164,143,173,255,201,198,150,91,163,62,198,69,83,73,93,216,73,217,108,
+92,250,121,151,96,37,240,222,119,190,27,55,222,112,35,158,254,140,95,195,
+113,199,29,135,32,202,176,123,188,11,147,120,140,73,178,130,149,225,62,
+236,63,112,119,60,228,33,191,136,119,189,227,93,128,50,251,178,82,24,37,
+35,140,226,49,84,153,163,154,111,162,44,36,40,25,33,73,19,76,226,17,70,
+241,8,74,84,80,162,194,56,30,233,223,79,134,24,197,35,172,14,86,113,218,
+189,31,128,183,191,253,221,64,16,107,41,94,213,218,156,195,36,189,74,86,
+24,198,67,243,111,132,97,172,255,126,24,15,193,66,27,90,53,175,71,67,12,
+227,1,246,239,222,135,51,31,246,8,188,243,47,223,9,81,41,147,104,233,4,
+119,24,13,48,136,189,127,81,251,207,6,123,109,244,152,188,177,64,135,255,
+78,125,69,173,181,107,95,191,121,61,111,85,213,77,231,21,174,186,241,160,
+174,84,134,107,64,24,99,61,5,50,146,40,16,130,194,24,146,9,133,4,74,9,99,
+224,161,171,91,81,228,40,114,163,6,23,199,8,3,179,216,101,133,162,172,160,
+40,66,90,107,29,179,130,44,115,104,127,11,29,244,131,70,81,137,155,49,53,
+174,114,64,106,127,250,7,220,231,46,93,120,222,30,139,227,190,62,34,99,
+190,241,29,48,3,81,28,0,16,8,40,68,154,158,136,48,80,80,168,0,174,192,92,
+130,168,2,179,112,161,188,166,226,182,9,85,190,4,145,158,95,39,234,161,
+36,83,43,153,75,164,205,122,230,51,125,205,226,193,41,136,194,21,163,117,
+110,132,16,44,97,136,58,48,50,128,67,7,15,227,254,119,191,31,242,60,71,
+150,101,248,198,15,191,137,245,245,181,22,62,182,96,95,135,25,175,20,206,
+59,251,60,92,252,193,139,241,123,175,255,61,60,243,183,158,137,40,138,240,
+197,207,127,9,175,121,217,171,113,221,53,215,225,230,217,205,166,221,70,
+46,75,196,146,60,99,99,23,235,158,91,155,104,41,86,154,28,136,126,98,153,
+51,137,92,103,92,149,66,181,40,81,205,43,200,74,247,183,195,65,130,116,
+28,35,80,18,213,180,64,49,23,184,251,169,247,4,0,92,245,221,171,32,161,
+240,131,107,175,198,27,94,247,58,124,249,95,255,29,111,248,163,215,227,
+153,103,253,6,170,146,113,183,123,220,13,0,240,163,155,111,196,96,28,33,
+136,8,172,10,204,14,111,96,115,193,72,39,43,88,25,105,151,172,154,76,183,
+103,176,23,0,112,197,85,255,133,108,101,5,43,227,20,17,5,80,69,137,19,247,
+159,130,162,40,112,221,193,27,49,24,36,224,170,66,181,89,65,168,16,225,
+40,70,20,49,248,255,39,237,189,195,100,171,170,173,239,223,218,121,239,
+170,234,238,211,39,3,18,5,69,178,152,241,85,209,107,206,138,168,160,160,
+96,0,4,94,130,18,20,65,20,197,43,130,2,94,21,20,20,4,69,229,190,87,189,
+94,3,162,40,65,240,162,228,32,57,9,28,78,238,238,170,218,121,173,239,143,
+181,171,118,168,234,62,71,191,126,158,126,206,233,174,170,221,59,172,48,
+231,152,99,142,17,165,164,253,148,52,213,26,233,102,203,197,159,176,49,
+45,189,136,228,73,70,218,75,73,195,92,115,76,77,11,167,109,99,217,146,172,
+151,146,244,83,242,20,109,50,99,8,132,101,96,6,14,110,219,209,70,39,253,
+132,172,159,233,204,117,112,127,166,92,44,67,103,159,113,63,211,192,156,
+202,201,18,137,20,38,134,111,112,224,254,239,229,198,27,110,228,180,47,
+158,202,59,222,253,22,194,94,196,127,254,244,23,156,253,229,175,178,207,
+43,94,206,79,126,241,19,92,215,65,229,146,172,23,17,247,37,166,239,226,
+180,108,109,26,8,144,229,100,81,166,17,145,68,19,106,173,150,139,55,233,
+96,154,2,178,140,164,151,146,247,83,178,172,216,120,13,129,233,123,184,
+109,11,83,102,196,253,28,44,27,199,55,117,189,93,8,61,222,165,36,235,70,
+164,73,193,245,73,114,46,254,254,247,57,237,11,167,113,224,193,31,228,179,
+167,156,136,72,5,191,191,250,26,206,56,243,75,60,245,244,83,60,250,192,
+99,8,67,159,131,211,182,16,105,74,18,202,161,127,70,150,234,122,172,55,
+225,97,25,25,233,76,138,244,244,120,178,76,80,89,78,210,77,200,165,129,
+229,153,144,166,100,185,190,223,182,103,64,154,16,207,36,228,202,192,116,
+12,68,154,145,132,25,121,170,16,166,81,148,79,12,172,182,131,211,178,48,
+178,148,184,95,212,235,85,78,154,232,122,178,59,233,225,248,166,54,219,
+233,206,48,59,219,35,113,90,76,78,78,16,56,90,115,95,74,201,225,135,30,
+198,21,63,188,130,211,207,56,157,131,15,61,24,203,177,184,238,15,215,113,
+242,9,39,243,232,35,143,178,126,230,113,226,126,151,52,137,81,24,58,25,
+48,76,162,36,231,165,47,217,151,217,153,89,110,186,233,106,86,110,185,130,
+44,149,8,33,56,230,255,126,138,43,175,252,5,167,156,246,25,14,249,240,251,
+144,74,114,253,181,55,114,234,169,95,228,241,199,158,224,137,127,220,143,
+211,154,194,117,77,100,52,75,156,42,76,167,205,178,69,203,152,77,230,26,
+162,113,57,50,141,200,146,144,52,78,144,82,234,117,204,14,216,114,197,182,
+204,204,62,69,28,71,5,121,86,146,37,25,42,7,171,53,133,23,248,24,66,146,
+103,49,89,28,50,179,97,134,23,191,248,213,204,206,206,114,195,141,127,100,
+219,29,118,196,50,37,139,58,43,0,120,242,169,71,48,189,128,7,31,120,128,
+147,62,117,18,215,95,123,61,103,159,123,22,31,61,244,96,210,164,207,226,
+233,109,245,251,30,191,27,101,121,184,193,4,174,107,131,140,153,104,45,
+7,224,169,127,220,139,82,146,45,159,181,11,0,27,103,254,65,56,59,195,29,
+119,222,205,105,167,127,133,155,254,242,87,190,120,198,103,57,244,35,31,
+193,246,181,166,191,202,35,178,40,34,141,99,29,180,11,7,167,53,201,226,
+201,105,0,230,122,171,73,162,144,44,137,145,82,177,114,75,189,22,205,70,
+115,228,50,231,153,39,31,231,146,139,47,229,204,51,191,202,91,222,254,118,
+46,255,241,229,218,9,18,8,108,31,128,48,13,43,60,135,49,124,22,37,42,210,
+233,205,66,199,56,193,220,249,107,17,198,130,68,153,113,165,205,60,161,
+223,143,200,148,137,101,59,218,8,102,40,87,91,68,210,50,35,13,251,196,253,
+30,24,2,199,41,178,121,5,66,101,164,73,138,84,2,219,54,49,69,225,142,149,
+68,36,137,142,250,178,36,36,236,206,209,239,247,73,139,12,69,21,181,247,
+113,228,160,106,137,92,84,193,189,17,213,166,42,109,73,147,234,80,96,217,
+133,83,88,241,158,92,105,152,92,41,213,32,73,168,161,225,138,148,165,199,
+123,61,147,135,60,151,72,149,87,140,1,234,80,189,204,115,125,124,170,89,
+172,194,52,52,4,166,164,212,217,163,42,179,227,42,12,44,115,201,143,47,
+187,130,40,138,152,94,60,77,20,69,252,228,178,159,148,133,131,92,127,190,
+102,180,83,124,253,224,162,31,112,229,143,174,100,191,3,246,227,200,227,
+142,100,106,209,20,237,78,155,55,188,229,13,188,100,159,151,224,56,14,74,
+106,29,254,21,254,10,86,248,43,184,251,206,187,56,236,160,195,120,254,142,
+123,177,69,107,11,100,150,147,231,25,87,255,246,247,188,245,53,111,97,219,
+69,219,176,221,244,182,188,229,53,111,225,79,191,255,163,214,240,207,245,
+228,239,206,118,249,236,9,167,178,247,78,123,179,245,212,214,188,121,223,
+55,115,246,151,206,38,207,180,204,81,183,219,229,212,19,62,203,222,59,61,
+159,173,151,110,195,219,222,244,46,190,249,157,11,9,86,116,104,47,111,19,
+76,185,216,142,137,225,218,216,129,141,229,148,38,50,237,45,58,76,109,49,
+201,11,246,121,62,103,159,243,239,250,250,46,185,28,123,42,160,181,200,
+25,190,207,109,91,24,150,206,16,247,218,233,69,236,242,236,189,217,107,
+167,221,121,209,78,187,114,240,123,62,200,227,143,61,129,80,12,55,119,128,
+61,118,220,149,231,44,223,154,149,173,229,32,20,203,23,109,73,28,199,0,
+108,61,189,37,75,253,165,36,179,41,73,102,112,221,77,215,242,206,55,188,
+153,109,150,109,195,118,219,236,200,187,223,251,94,110,190,245,198,50,160,
+69,176,196,91,194,146,96,25,127,189,241,14,142,56,242,255,178,207,43,95,
+206,142,207,125,54,173,101,62,91,45,95,201,138,233,45,185,249,214,155,121,
+199,126,239,98,151,231,239,194,123,14,220,143,85,115,79,243,247,71,239,
+101,255,119,189,147,237,150,109,197,27,94,245,70,30,120,232,113,156,233,
+128,246,18,23,219,212,221,162,10,80,105,78,58,27,19,119,115,114,97,96,117,
+92,172,194,225,235,187,23,126,135,27,174,187,129,143,29,113,40,7,127,248,
+0,108,183,205,244,22,219,112,236,73,199,243,241,79,124,156,235,254,120,
+45,223,249,230,133,122,236,68,41,203,151,110,197,214,219,108,205,3,15,223,
+199,113,71,29,195,214,75,182,230,249,207,221,139,159,95,249,115,148,105,
+226,78,181,8,166,180,3,217,111,127,243,27,94,179,207,190,172,156,88,193,
+174,59,238,206,73,39,157,66,226,40,29,212,56,38,219,239,180,29,219,60,107,
+37,119,223,126,43,239,221,239,0,118,220,105,71,118,221,249,57,28,114,192,
+135,120,228,158,199,137,122,185,118,151,12,19,146,89,157,221,91,45,15,111,
+210,230,188,111,158,7,192,105,95,60,157,101,207,218,130,37,43,167,121,253,
+235,94,199,86,207,122,150,126,254,43,218,180,151,183,241,39,28,174,185,
+234,42,222,248,218,183,176,221,118,219,177,253,179,119,224,29,239,126,23,
+55,252,249,58,76,4,194,4,149,100,172,220,102,43,182,92,190,76,175,89,105,
+70,50,167,75,55,91,108,177,130,101,211,75,201,194,28,76,147,229,83,211,
+76,123,83,220,242,231,91,57,236,19,71,242,162,151,188,144,45,87,110,129,
+211,178,177,108,147,191,63,250,0,71,157,112,20,251,188,250,101,236,180,
+203,179,217,255,61,239,230,235,255,126,150,190,255,189,140,95,255,230,183,
+188,238,77,111,100,135,231,236,192,139,95,178,55,39,159,112,2,189,126,23,
+33,52,143,200,177,4,121,146,16,39,178,112,21,84,124,239,187,223,227,138,
+31,94,193,1,31,56,128,163,143,63,154,137,137,9,58,173,14,111,126,251,155,
+121,217,62,47,195,113,28,76,199,195,178,45,76,187,133,59,177,130,206,146,
+45,232,44,94,193,101,151,255,152,181,107,214,242,193,3,247,103,249,138,
+21,67,11,236,203,47,251,49,87,94,249,11,246,223,127,63,142,57,254,8,218,
+129,133,107,58,188,254,141,111,226,101,251,188,84,151,36,13,67,111,198,
+225,6,226,56,195,112,39,112,61,127,20,165,203,250,36,115,235,9,195,24,236,
+14,254,228,98,60,223,195,178,108,44,87,59,114,166,225,12,113,24,145,75,
+11,203,239,224,184,38,134,105,99,88,54,228,33,73,119,61,81,24,129,211,225,
+7,63,188,146,181,107,215,113,208,65,7,176,205,14,59,232,0,81,149,115,219,
+48,45,92,223,99,207,231,239,197,55,190,117,62,0,23,125,251,187,132,81,4,
+118,103,248,62,203,41,172,160,109,73,214,223,64,216,79,134,175,249,129,
+143,101,187,229,123,61,31,55,240,217,99,175,189,57,247,155,223,4,224,242,
+31,253,39,173,169,69,250,243,189,117,132,189,8,105,183,241,167,166,241,
+60,187,8,226,74,245,190,168,23,130,213,193,159,90,78,123,241,138,242,216,
+166,137,103,91,44,95,186,148,143,127,236,48,222,252,182,183,241,203,159,
+255,156,75,191,255,253,49,44,112,234,5,164,49,34,82,85,149,74,161,198,41,
+42,86,137,158,243,103,232,198,102,17,175,134,155,147,36,79,83,18,41,192,
+178,144,74,144,228,144,74,200,148,246,176,150,209,44,209,204,122,226,126,
+31,195,118,112,109,19,179,216,0,133,212,230,45,89,46,49,29,11,219,208,27,
+173,204,18,146,40,65,34,176,108,23,223,247,241,28,163,32,82,73,93,41,47,
+218,201,134,112,109,205,193,107,76,161,174,122,233,53,99,2,129,105,119,
+200,165,36,10,99,29,100,24,160,72,134,53,19,3,10,251,74,74,56,189,178,209,
+27,133,163,152,16,99,24,79,66,98,138,66,91,96,88,243,172,226,213,186,253,
+205,42,72,116,89,97,125,155,231,185,118,73,19,186,45,78,91,91,138,58,91,
+183,184,78,195,52,184,252,123,151,3,240,31,23,255,71,177,113,95,90,18,43,
+12,3,211,180,24,167,246,246,195,75,126,8,192,71,143,248,232,144,244,37,
+149,34,203,51,190,126,225,215,121,124,227,227,24,134,137,105,149,147,237,
+181,47,125,45,63,187,242,103,60,245,228,83,72,41,49,76,131,63,93,125,45,
+7,190,243,0,60,207,231,127,239,249,95,110,184,253,207,216,150,205,251,222,
+246,62,174,253,195,117,88,133,61,234,177,135,31,195,133,231,95,192,105,
+103,158,198,125,171,238,231,228,207,125,154,95,255,242,215,88,5,228,121,
+204,97,199,112,193,249,23,112,202,103,79,230,150,191,221,202,241,39,158,
+192,175,127,249,107,12,33,48,108,205,226,31,100,215,50,201,201,75,241,69,
+76,219,192,176,4,36,9,211,237,37,58,91,127,248,97,76,75,32,43,16,189,105,
+149,148,147,91,239,187,149,135,87,63,194,3,207,60,204,17,255,247,8,126,
+247,235,171,56,246,240,99,0,88,19,174,30,126,102,85,127,53,171,195,181,
+172,9,215,130,148,60,181,234,177,225,107,207,204,174,226,201,127,60,66,
+38,13,110,248,203,117,124,224,61,7,224,218,46,215,221,112,35,215,253,245,
+70,108,219,230,253,239,253,32,215,94,119,61,166,99,130,44,59,49,222,250,
+230,55,241,139,255,42,239,165,105,151,79,168,59,211,229,135,63,250,9,95,
+254,218,89,220,118,203,173,188,251,109,251,209,237,206,112,197,79,46,227,
+140,47,124,137,91,110,185,133,211,78,253,12,150,103,14,187,27,12,199,196,
+80,18,25,198,36,210,192,91,226,19,76,57,133,174,131,192,242,108,254,223,
+79,127,170,159,227,155,94,79,95,122,76,44,90,204,162,78,128,235,88,28,248,
+225,3,1,248,233,143,126,138,76,53,66,48,248,122,248,161,7,249,194,153,167,
+115,195,223,110,96,155,109,183,230,99,31,57,140,251,238,255,251,208,213,
+236,47,127,187,133,143,30,242,97,158,189,195,246,220,254,215,191,114,240,
+135,14,229,146,239,125,143,47,125,254,12,61,101,156,50,200,186,255,158,
+251,56,231,107,231,113,207,131,247,241,177,35,62,198,47,127,245,75,62,255,
+165,207,225,119,44,132,204,73,251,25,162,29,224,47,246,113,61,61,208,179,
+76,223,183,79,127,242,68,126,245,179,95,242,212,99,79,97,123,45,126,241,
+187,95,177,33,222,80,148,13,12,174,254,237,85,236,255,174,247,227,186,30,
+55,221,242,87,254,247,142,155,177,29,139,3,62,240,65,174,187,233,122,76,
+1,42,173,204,211,44,37,222,24,147,97,226,180,237,178,148,19,231,164,179,
+225,240,231,215,189,241,141,252,252,231,63,227,169,39,159,68,74,73,158,
+228,220,124,203,237,188,227,157,111,229,254,251,239,227,39,63,251,9,15,
+63,245,48,187,237,190,11,151,94,114,25,105,110,114,219,125,183,113,200,
+33,7,243,236,29,119,224,174,91,111,227,144,143,124,132,139,191,243,93,62,
+255,153,211,245,108,180,93,188,192,197,84,25,113,20,147,73,157,105,255,
+224,123,151,2,112,216,145,135,233,249,107,153,67,132,240,219,23,125,155,
+181,115,171,116,246,156,154,56,237,69,120,129,143,101,219,116,123,115,156,
+251,181,243,241,125,143,163,63,121,28,142,99,34,51,19,219,15,248,225,143,
+126,2,192,199,143,252,56,42,154,35,73,45,156,201,105,252,78,135,111,127,
+231,107,60,241,216,157,88,142,143,33,67,146,88,98,248,147,120,174,139,81,
+83,163,149,200,180,75,56,59,75,166,92,156,96,18,215,177,17,42,33,79,244,
+103,28,71,111,35,169,180,113,39,150,210,154,236,96,138,12,153,40,12,47,
+192,36,38,158,155,35,83,30,174,63,69,28,133,156,123,142,62,231,99,79,56,
+1,215,111,97,59,94,129,168,234,47,167,213,214,107,8,146,21,203,39,0,120,
+240,161,71,112,130,41,28,183,124,102,134,55,129,99,229,218,58,87,121,184,
+173,201,50,23,77,21,166,63,85,94,73,18,147,101,250,254,109,187,131,70,127,
+31,124,224,65,80,49,73,119,134,36,55,177,189,54,174,101,64,30,147,231,38,
+150,223,193,118,202,243,146,194,213,54,194,166,137,105,218,245,182,84,12,
+28,191,195,226,21,203,56,238,147,199,2,112,201,69,223,31,35,240,196,40,
+105,182,209,49,81,83,191,23,13,158,83,189,191,103,228,16,213,115,50,230,
+37,171,142,8,22,20,86,130,73,134,48,76,108,203,26,10,177,165,82,144,37,
+49,105,56,75,212,239,147,11,3,199,247,240,108,3,115,168,83,46,81,121,66,
+154,230,96,218,216,166,169,225,102,153,145,37,25,24,22,174,231,98,91,6,
+70,65,254,17,133,169,129,161,74,229,123,81,108,182,170,226,90,215,36,20,
+215,76,91,134,166,243,229,187,76,123,49,73,154,32,12,65,62,52,164,89,141,
+82,97,1,141,235,192,67,137,172,242,20,202,26,187,24,214,156,43,4,175,154,
+154,93,3,210,31,100,241,85,221,214,130,200,145,232,164,16,219,157,192,52,
+236,33,123,99,224,35,81,53,57,24,212,90,255,124,237,159,121,240,254,7,121,
+201,62,47,97,223,127,219,151,151,190,252,165,60,120,255,131,220,112,237,
+13,195,214,147,242,243,245,175,251,239,189,31,128,157,118,222,169,6,238,
+152,166,165,13,45,198,116,39,252,247,53,255,205,3,171,30,96,85,127,21,171,
+194,103,0,193,215,254,253,156,34,187,58,149,101,43,151,179,197,86,91,112,
+202,23,78,65,41,197,57,95,62,123,56,48,127,255,219,223,3,176,98,229,10,
+60,215,227,229,175,124,57,87,223,120,245,144,144,54,120,125,229,150,43,
+240,92,155,23,236,254,124,254,235,202,159,17,246,114,228,240,246,41,242,
+40,33,142,20,166,87,183,129,213,153,88,198,189,15,62,0,192,94,123,239,137,
+140,210,130,161,93,65,123,6,125,165,166,137,105,91,116,218,45,14,63,246,
+8,0,110,190,233,230,17,226,137,105,148,205,116,42,151,235,74,163,128,0,
+0,32,0,73,68,65,84,228,73,169,109,144,206,37,228,202,194,158,114,56,247,
+108,125,31,62,117,204,167,88,212,158,100,218,158,224,184,163,143,71,41,
+197,121,255,113,62,182,47,80,253,120,248,217,95,95,243,107,30,89,253,8,
+107,163,117,172,141,214,213,136,63,175,124,249,190,116,22,47,226,221,239,
+127,151,14,50,158,122,154,125,95,241,10,204,220,225,205,111,127,59,0,127,
+251,223,191,66,46,201,6,181,98,223,66,36,41,73,98,96,182,61,220,150,141,
+105,10,12,203,198,155,242,113,39,5,15,63,248,16,0,91,108,247,108,188,192,
+215,243,178,232,35,218,126,251,237,245,66,119,255,131,228,253,152,36,45,
+207,231,29,251,189,131,206,68,135,45,151,47,231,51,39,157,76,150,101,156,
+253,133,179,152,91,213,165,187,81,242,245,115,191,166,199,192,103,63,67,
+208,154,224,160,67,15,1,224,151,63,255,31,210,12,172,160,220,224,223,250,
+214,119,176,100,203,21,76,46,238,240,209,79,124,20,128,107,255,248,39,132,
+146,228,189,132,28,13,141,91,54,144,164,164,161,226,253,7,126,0,128,43,
+175,248,41,31,120,223,65,236,182,231,222,188,234,53,175,224,191,174,252,
+73,137,210,73,197,89,103,158,5,192,41,159,255,60,219,236,176,21,207,218,
+122,43,78,255,226,233,250,25,156,119,14,134,33,201,203,120,143,100,46,35,
+55,109,220,41,23,187,50,156,188,101,19,116,86,150,217,225,85,127,186,138,
+199,215,60,206,76,180,145,117,235,159,33,141,36,95,57,231,223,137,227,152,
+47,127,245,203,236,178,235,46,180,130,128,51,190,112,58,55,253,249,47,152,
+109,143,175,157,253,85,0,190,248,149,47,178,108,219,45,248,216,209,31,211,
+115,232,231,255,141,148,41,121,26,211,143,51,178,12,44,219,196,176,180,
+198,197,223,239,253,59,0,207,121,238,115,202,238,153,129,158,188,202,201,
+227,57,162,126,12,78,160,89,236,5,147,254,252,115,206,101,227,134,25,14,
+249,232,33,108,181,213,18,114,5,166,215,198,54,115,238,191,239,65,125,204,
+29,182,36,147,54,78,123,26,223,243,16,164,164,97,4,102,128,109,67,158,36,
+8,187,133,227,123,8,179,65,58,204,66,146,190,126,175,211,233,224,88,2,153,
+116,137,187,125,164,233,227,184,38,42,153,211,89,108,107,49,126,224,33,
+100,68,210,79,80,150,143,227,128,140,35,148,233,227,180,59,216,150,224,
+252,179,207,97,195,134,141,28,250,145,67,217,106,219,109,48,139,245,54,
+143,187,229,6,239,218,26,166,78,251,220,118,243,237,0,60,255,5,123,107,
+212,42,41,223,183,116,106,25,83,237,21,44,89,254,108,150,47,89,201,84,48,
+81,110,240,166,143,227,251,195,159,227,48,2,59,192,241,92,238,185,243,46,
+0,246,126,193,94,196,115,27,137,195,144,44,14,137,231,214,208,221,184,134,
+40,6,35,88,132,239,251,152,70,185,193,231,209,70,250,27,215,18,133,241,
+208,37,181,186,114,24,134,137,101,217,236,177,251,174,128,126,174,77,81,
+228,97,221,189,81,143,175,138,133,40,37,106,6,71,53,136,94,53,212,61,199,
+146,70,245,103,172,5,217,175,21,26,167,146,57,105,154,34,177,176,29,171,
+148,244,147,74,103,224,113,76,150,130,233,248,154,24,39,138,58,243,32,3,
+206,115,210,52,39,47,124,166,13,165,165,103,243,52,37,147,10,195,178,49,
+5,144,103,100,105,130,82,6,150,171,127,167,42,162,14,85,22,166,168,185,
+142,149,74,112,66,52,123,208,171,178,40,138,52,5,148,129,107,155,164,113,
+94,16,249,4,74,109,168,180,112,140,83,193,22,99,92,17,24,109,121,27,233,
+251,109,218,140,234,243,8,67,165,201,71,74,18,248,219,213,106,220,181,190,
+88,81,26,172,0,92,250,93,29,237,191,239,131,239,3,1,239,255,208,1,220,120,
+253,141,92,250,157,75,217,231,21,251,108,30,183,185,104,207,145,74,195,
+132,26,177,104,20,211,139,175,189,95,184,55,77,143,226,187,110,211,19,100,
+167,231,61,103,120,142,187,238,169,7,245,157,183,222,57,36,174,61,247,121,
+207,229,150,155,111,225,173,175,121,43,19,147,19,252,159,125,255,15,167,
+126,233,84,182,221,118,59,16,240,220,231,61,135,91,110,190,133,183,191,
+121,63,38,38,39,120,249,203,95,198,167,62,121,18,219,118,118,212,8,142,
+1,50,78,73,250,25,202,178,112,91,229,144,85,89,70,127,99,143,123,239,121,
+132,211,63,119,26,182,109,243,217,211,62,67,210,203,208,59,197,160,1,66,
+145,171,156,238,108,200,231,62,125,26,15,61,240,16,171,158,90,197,234,103,
+116,198,30,134,33,185,204,180,59,97,83,80,33,47,72,98,170,50,201,133,137,
+61,97,99,10,201,157,183,223,9,192,174,47,219,139,86,199,67,8,193,139,166,
+95,4,192,221,119,221,133,136,83,226,176,28,23,123,191,120,239,198,20,44,
+111,180,180,108,188,150,129,229,4,101,48,209,75,145,202,96,98,169,222,120,
+230,230,186,164,221,152,52,6,171,229,96,170,148,52,150,40,199,198,243,117,
+171,169,238,128,48,48,28,53,100,224,82,244,196,198,97,76,98,121,184,214,
+32,8,44,175,57,141,36,194,179,43,247,87,103,244,113,79,178,221,78,207,5,
+224,250,63,223,128,235,217,72,203,226,222,123,238,6,96,207,61,95,88,187,
+109,171,86,173,194,153,242,177,170,171,139,237,224,250,154,34,191,104,122,
+17,0,51,27,103,200,195,148,44,81,24,129,135,109,107,182,122,26,230,228,
+134,197,231,191,252,5,118,222,109,71,46,190,224,98,238,184,253,78,148,82,
+60,252,208,67,28,126,232,225,4,65,192,219,222,249,86,100,154,114,231,29,
+122,44,238,190,215,46,195,206,147,221,246,220,93,115,41,110,189,29,149,
+228,67,9,109,189,123,216,120,190,137,129,36,139,74,196,194,246,141,225,
+231,1,94,248,162,23,234,12,54,78,201,250,154,208,118,235,45,127,43,231,
+132,82,200,36,37,11,37,216,54,78,96,113,231,29,122,60,236,188,253,243,106,
+247,228,233,167,158,102,110,102,3,97,46,176,221,41,86,76,58,216,182,137,
+65,195,30,212,168,107,155,43,114,100,210,35,142,98,176,90,184,126,160,231,
+150,204,88,247,204,147,252,199,249,23,210,238,180,57,246,216,35,200,211,
+12,97,122,152,70,90,4,164,250,192,89,110,224,76,232,214,49,153,246,73,227,
+136,92,217,88,174,141,74,187,100,210,98,203,21,91,142,172,17,29,103,162,
+246,243,76,184,142,52,234,145,132,17,43,86,238,52,242,254,165,19,139,106,
+63,175,159,93,133,140,250,100,202,198,110,5,152,42,101,245,211,255,224,
+27,231,95,64,187,221,230,184,19,63,137,89,144,15,211,184,75,86,65,221,132,
+148,36,81,151,187,111,191,141,147,78,62,29,219,182,57,227,204,211,73,195,
+25,29,156,12,254,198,186,71,72,114,27,183,221,198,50,36,121,212,99,106,
+74,151,112,188,86,128,81,89,147,149,213,194,180,77,238,190,243,46,142,63,
+246,120,108,219,230,115,167,157,72,174,60,188,197,139,135,181,114,77,130,
+183,134,237,151,181,205,185,29,144,198,217,176,77,119,184,38,200,180,232,
+88,52,135,4,242,225,58,219,72,152,194,52,172,51,239,169,43,218,169,138,
+48,87,211,233,157,10,219,127,33,225,137,193,187,141,249,33,124,93,79,151,
+82,34,51,221,143,158,102,18,81,108,222,131,118,143,36,234,211,11,83,50,
+101,96,217,54,86,133,132,6,186,22,45,179,140,52,142,137,179,188,96,136,
+87,80,129,60,47,162,21,221,22,145,196,33,169,4,211,182,113,76,157,189,139,
+162,255,92,145,151,187,252,64,249,174,170,47,163,170,10,249,213,182,133,
+146,119,152,36,41,121,46,105,79,238,84,136,200,40,122,189,68,215,172,43,
+96,71,29,126,175,100,241,138,81,7,15,33,235,45,115,162,249,93,33,223,105,
+121,32,122,61,200,51,133,33,4,142,187,24,195,244,43,15,174,210,122,85,45,
+53,40,88,179,122,13,191,250,197,175,0,13,111,175,8,86,112,244,71,142,2,
+224,87,191,248,21,107,86,175,89,48,102,219,121,215,157,53,65,237,190,7,
+180,133,164,16,186,139,65,44,160,171,92,4,30,227,186,163,178,52,29,158,
+103,41,90,81,110,91,23,254,224,66,222,244,182,55,225,121,30,179,51,179,
+252,207,207,254,135,143,30,248,81,125,200,92,113,193,247,46,224,141,111,
+121,227,240,245,95,253,207,111,56,234,232,163,176,125,171,168,203,73,221,
+186,20,171,162,142,94,158,193,242,206,22,108,183,205,78,188,247,189,239,
+97,201,210,197,252,252,191,175,228,185,219,63,143,36,19,216,173,50,123,
+140,251,179,172,123,122,13,71,126,236,104,46,251,222,101,236,182,231,238,
+156,255,157,243,185,229,190,91,134,239,89,247,244,26,214,172,235,50,42,
+250,160,89,214,195,118,60,192,233,56,56,174,222,252,7,147,60,203,75,24,
+222,176,140,225,125,144,113,70,158,169,10,108,88,48,202,135,204,243,242,
+184,194,42,178,166,10,211,59,141,181,16,84,117,135,74,19,129,213,241,112,
+92,69,30,105,182,187,227,155,104,196,80,85,108,36,245,152,223,97,199,29,
+52,33,233,225,135,72,227,168,108,209,42,50,119,128,237,183,219,142,220,
+48,113,90,118,5,210,76,73,187,41,10,131,76,105,157,136,56,142,201,148,192,
+110,89,244,122,61,0,238,186,231,30,86,173,127,134,103,54,60,195,51,27,215,
+176,182,183,94,195,173,165,146,13,134,93,4,206,169,196,160,76,19,179,48,
+71,57,14,182,175,75,13,89,63,35,205,13,236,192,198,118,4,7,29,252,65,174,
+254,237,175,184,227,150,59,184,226,167,87,114,224,65,58,171,63,237,51,167,
+65,170,161,253,225,249,170,164,130,228,149,99,81,22,93,7,195,122,105,96,
+98,154,2,21,23,155,243,224,28,69,83,162,84,65,174,200,195,148,52,81,96,
+25,67,94,142,97,154,168,76,255,253,92,24,216,190,133,101,65,175,171,239,
+201,163,171,30,101,38,222,192,218,153,167,120,252,201,251,185,255,137,7,
+200,237,22,147,139,166,89,52,161,203,35,70,69,59,98,151,93,119,41,50,190,
+251,170,110,68,144,197,164,81,159,92,153,88,182,141,40,218,117,85,218,227,
+236,179,206,163,219,237,114,196,17,31,99,162,221,6,203,195,52,20,121,42,
+17,182,203,206,69,240,253,224,195,143,97,153,146,44,156,33,234,247,145,
+194,199,105,117,176,204,156,52,74,81,10,214,204,174,97,166,191,150,13,221,
+213,172,155,213,107,200,250,13,15,241,244,83,247,177,106,221,211,172,159,
+91,69,50,187,134,222,108,151,220,8,88,223,93,205,250,13,143,178,234,153,
+71,89,51,187,182,32,160,173,98,205,154,135,88,181,238,31,172,239,174,197,
+144,125,146,36,5,211,198,80,9,241,236,26,206,250,202,185,116,187,61,62,
+113,244,145,44,91,182,20,138,204,61,237,245,145,162,156,179,109,119,130,
+233,201,45,120,243,91,222,203,146,165,75,249,237,213,255,195,158,207,221,
+134,222,220,28,153,89,6,192,73,146,106,150,191,140,73,102,215,210,155,43,
+231,176,101,153,144,151,232,217,178,233,229,44,238,76,243,186,125,95,199,
+178,165,75,185,250,119,255,143,61,119,223,21,76,91,119,133,81,8,174,25,
+54,134,161,64,102,200,44,37,207,210,114,140,229,18,225,4,216,158,175,215,
+167,226,107,237,170,85,60,179,122,134,110,172,91,238,254,126,143,70,100,
+118,217,109,151,209,5,85,48,198,239,89,141,182,48,170,81,241,35,53,166,
+120,46,230,241,208,68,80,8,156,143,83,51,147,57,105,212,167,55,55,71,175,
+23,18,38,105,209,162,17,147,166,153,238,119,79,82,226,52,35,147,69,239,
+122,191,75,191,223,39,74,82,178,44,35,139,35,162,110,143,126,47,36,74,82,
+221,146,22,199,186,239,176,10,155,231,49,113,20,18,198,186,231,209,117,
+109,44,203,44,4,12,6,50,177,84,252,56,235,240,107,181,215,88,140,87,178,
+208,228,185,60,35,77,19,108,219,198,113,91,248,193,214,195,253,183,223,
+79,233,118,19,250,253,148,40,202,8,195,140,40,206,136,162,234,119,94,124,
+203,198,119,78,20,41,162,80,17,197,197,239,66,89,252,110,240,51,132,161,
+162,223,85,244,186,186,4,145,231,18,97,182,112,91,59,140,180,145,170,170,
+231,123,229,90,126,116,233,143,72,211,148,119,188,231,29,172,234,173,210,
+176,121,127,21,239,126,223,187,73,211,148,31,93,250,163,5,169,20,3,120,
+244,162,111,93,68,150,103,122,179,41,238,209,73,199,156,196,54,83,219,108,
+130,138,161,135,220,110,123,238,54,12,20,6,42,110,247,222,173,7,245,238,
+207,223,125,120,219,183,218,230,89,92,252,227,239,241,208,234,135,185,242,
+215,87,22,112,240,67,144,75,210,94,200,226,96,17,231,157,125,30,183,220,
+114,43,63,184,76,243,3,30,126,248,33,108,167,180,170,29,252,39,157,11,233,
+173,237,151,89,209,134,39,120,244,145,135,184,245,175,183,114,225,183,191,
+203,46,187,236,129,233,58,120,147,46,150,91,14,250,168,31,147,97,113,205,
+239,116,57,224,228,83,79,226,197,251,188,152,233,37,101,198,145,9,19,191,
+229,210,238,180,245,207,89,174,61,142,148,172,101,67,122,225,40,162,115,
+195,100,183,221,52,106,113,207,205,119,208,125,166,71,111,93,204,93,183,
+222,163,137,122,123,237,142,49,12,136,245,87,111,93,76,26,13,194,60,10,
+146,85,113,14,115,49,253,181,81,193,132,31,240,7,12,200,82,162,181,189,
+18,74,94,228,226,184,130,55,188,234,77,108,177,242,89,236,255,158,253,48,
+109,99,88,246,40,173,123,245,160,217,255,128,253,11,152,248,151,120,158,
+57,60,31,1,92,240,141,111,3,240,206,119,191,27,167,229,212,234,160,42,213,
+237,127,121,156,114,211,53,186,252,243,130,23,188,16,187,227,96,25,138,
+231,237,172,131,197,191,220,112,19,225,186,62,253,53,125,250,235,34,238,
+188,237,30,93,214,136,202,133,49,94,223,167,187,106,142,238,186,152,36,
+170,108,202,182,141,211,50,49,133,34,79,50,242,92,96,7,22,182,103,176,200,
+91,196,75,247,126,25,189,126,196,100,103,130,151,236,249,66,62,123,210,
+169,250,120,81,162,219,0,149,201,238,123,232,108,125,0,73,11,224,222,187,
+7,207,96,15,221,114,104,89,76,76,232,140,180,223,155,67,229,57,89,44,81,
+150,181,160,6,212,240,57,41,73,62,27,178,251,110,250,111,221,246,215,91,
+245,249,98,96,251,58,24,65,8,118,45,198,195,205,55,253,133,52,236,51,215,
+139,145,78,155,167,159,94,205,100,219,199,51,205,138,4,70,73,178,61,252,
+168,195,1,52,217,177,106,240,165,50,78,56,225,52,182,223,122,103,162,238,
+122,194,94,159,52,238,243,228,19,79,115,241,69,63,96,106,209,20,31,63,236,
+16,132,229,234,205,61,151,24,182,139,80,17,135,126,248,0,125,204,111,125,
+155,254,198,13,36,210,198,9,22,225,181,90,156,112,236,167,88,190,120,7,
+76,219,2,25,18,207,172,165,55,51,75,150,131,233,184,149,158,215,140,60,
+154,35,142,82,164,225,224,4,19,120,129,135,145,199,154,16,233,183,112,93,
+167,8,60,35,148,112,113,220,150,110,157,150,58,59,207,227,89,162,126,204,
+51,171,55,242,253,239,95,206,212,162,41,142,62,246,232,97,155,114,158,196,
+154,152,155,148,252,135,185,112,61,27,54,60,204,253,127,255,11,151,94,242,
+45,118,222,121,103,20,22,150,215,193,11,130,154,88,77,22,117,137,163,12,
+105,56,216,193,68,253,233,169,114,172,61,245,212,131,60,179,110,21,143,
+173,250,7,87,254,252,167,236,181,247,94,186,147,41,218,72,111,195,42,122,
+27,215,16,246,163,226,156,230,8,103,215,208,221,176,138,238,250,85,101,
+16,232,78,226,183,58,56,86,189,195,60,76,50,176,93,28,211,68,8,197,119,
+46,252,14,0,31,251,248,199,42,45,194,205,130,185,170,104,87,80,107,27,22,
+106,80,42,166,81,113,87,11,228,237,163,235,245,188,66,55,194,48,177,93,
+159,118,187,77,208,10,104,183,91,180,90,45,90,190,95,216,168,90,216,142,
+71,208,234,232,215,130,22,173,32,160,21,120,248,182,133,101,10,44,203,198,
+243,125,130,192,167,213,106,209,110,5,180,2,31,207,210,196,59,1,88,142,
+131,95,28,183,229,249,69,100,171,97,85,165,84,45,99,215,138,98,178,238,
+128,165,74,34,218,80,53,168,162,205,88,141,127,162,40,66,8,129,235,56,154,
+200,102,77,226,183,119,68,152,246,48,67,150,185,34,77,117,139,77,154,72,
+210,84,146,164,178,248,157,254,87,255,95,13,255,159,38,144,165,170,252,
+78,20,105,166,72,83,69,154,21,175,101,178,236,137,46,84,145,252,214,54,
+4,237,157,71,6,128,24,182,200,213,197,108,148,84,252,224,162,203,0,134,
+228,168,193,231,14,248,144,158,204,151,93,116,217,136,7,115,245,235,157,
+251,191,147,119,189,247,93,92,113,233,21,124,251,188,11,136,194,144,94,
+175,199,31,174,250,3,215,93,115,93,193,20,31,47,79,54,32,123,40,5,199,157,
+124,28,0,103,156,114,6,207,60,185,138,213,171,158,225,243,39,159,14,192,
+113,39,29,55,188,198,183,189,250,173,92,127,205,117,36,105,76,158,105,148,
+100,223,215,190,10,132,110,111,122,223,1,7,112,219,125,183,105,149,176,
+142,142,162,95,253,218,87,151,136,130,105,98,77,248,180,150,119,152,88,
+217,161,179,172,156,220,166,235,226,45,105,209,94,209,162,181,52,192,91,
+228,227,47,246,113,90,165,251,30,64,107,122,154,101,43,22,15,219,230,254,
+114,227,95,232,247,250,92,242,221,31,148,209,253,242,197,76,180,61,246,
+218,123,47,0,126,124,249,21,200,92,97,154,22,206,148,79,123,121,80,11,42,
+21,2,97,155,28,255,153,79,2,112,206,121,231,208,83,115,244,178,141,156,
+241,185,207,3,112,252,201,159,196,236,248,4,203,219,101,102,178,196,195,
+45,160,96,129,42,90,34,11,72,116,101,155,246,210,160,86,134,112,23,251,
+180,87,118,104,175,108,215,54,253,217,185,57,110,189,245,54,0,78,56,229,
+83,53,101,49,33,234,42,128,135,29,121,24,251,188,98,31,46,254,206,37,92,
+126,209,37,204,172,91,203,234,85,207,112,222,217,231,113,249,165,63,228,
+229,175,120,57,159,56,254,8,28,207,160,82,110,100,125,175,139,49,105,115,
+239,99,119,243,133,47,125,1,219,182,249,204,231,63,141,235,42,210,217,136,
+35,143,214,228,196,47,159,117,38,143,60,243,16,107,214,63,205,153,103,126,
+145,55,253,219,107,17,166,192,12,220,250,181,173,232,208,90,226,226,248,
+229,245,249,19,14,150,101,32,12,48,93,7,119,210,197,9,236,225,121,172,93,
+187,142,223,94,115,53,137,155,162,90,146,111,124,251,92,0,78,252,244,9,
+152,190,139,55,229,240,169,79,159,0,192,231,62,115,26,79,63,245,52,79,63,
+189,138,83,139,64,224,216,35,143,66,42,19,119,210,231,21,175,126,37,0,223,
+60,247,155,196,89,194,3,143,63,204,25,95,58,189,70,147,18,13,153,29,195,
+52,177,59,190,102,236,111,209,225,212,51,78,197,182,109,78,254,212,201,
+220,255,200,67,244,179,62,23,95,252,29,94,188,215,139,53,23,227,228,79,
+105,98,224,137,167,112,247,189,15,48,215,237,114,246,153,95,230,13,175,
+252,183,194,215,97,12,9,24,120,207,251,222,195,254,239,223,159,31,92,242,
+3,190,126,246,215,233,118,187,244,250,61,126,255,135,155,184,254,134,155,
+137,227,132,246,244,50,130,86,27,203,13,56,239,27,223,37,12,67,142,253,
+228,49,44,89,185,37,110,208,194,114,91,120,173,14,22,49,105,146,243,238,
+247,31,196,123,222,187,31,63,254,241,127,113,209,247,174,64,34,136,211,
+132,223,95,245,59,254,116,205,159,136,227,24,119,98,9,237,197,91,208,94,
+188,130,214,212,52,174,239,23,252,12,176,130,197,248,211,91,208,158,94,
+74,171,51,137,223,153,198,111,79,224,184,46,166,219,193,235,76,225,250,
+254,80,66,214,242,23,225,181,39,177,29,205,156,183,130,105,90,211,91,208,
+153,94,74,107,114,138,111,124,251,98,194,48,226,184,79,29,207,228,212,68,
+129,132,216,216,237,197,180,22,175,164,61,189,180,188,247,166,141,229,79,
+211,90,180,146,206,162,165,180,39,39,241,166,150,16,116,38,107,36,187,96,
+209,74,125,252,182,62,191,160,61,89,217,224,12,12,171,85,142,193,233,101,
+4,237,54,182,101,32,132,137,229,78,16,76,173,160,179,120,37,157,233,229,
+180,23,45,195,111,5,88,150,137,105,183,241,58,75,104,45,90,65,103,186,100,
+203,187,190,171,203,185,77,51,49,183,141,231,217,172,95,179,138,31,255,
+240,10,46,249,222,37,28,248,193,15,240,254,3,222,63,170,18,88,211,66,82,
+21,41,110,85,211,22,169,185,123,168,138,252,180,218,76,187,0,1,226,137,
+238,19,106,126,165,27,69,156,100,220,253,240,106,189,185,186,109,48,12,
+44,203,97,249,84,139,40,87,132,153,34,202,208,253,233,89,172,117,139,135,
+209,105,61,218,24,200,208,150,18,71,165,138,219,64,9,79,12,77,19,170,158,
+214,170,52,133,41,60,227,109,219,98,247,157,183,27,21,158,31,185,114,81,
+212,221,83,162,40,34,240,131,66,208,166,126,165,89,186,145,44,221,128,148,
+9,85,109,160,166,83,219,104,227,61,13,125,121,26,242,73,53,153,52,132,176,
+49,204,0,211,94,169,5,101,170,186,169,205,150,249,186,176,21,191,191,234,
+15,28,248,142,3,216,102,187,109,184,233,174,155,234,198,38,74,241,146,93,
+95,194,99,143,60,198,15,127,246,67,94,253,186,87,143,15,234,4,168,92,242,
+231,235,254,204,37,23,94,194,159,175,251,51,235,215,173,103,114,106,146,
+61,158,191,7,111,121,199,91,248,224,161,31,4,4,43,130,229,5,163,124,213,
+176,246,83,26,90,192,31,126,243,123,206,249,247,115,134,245,248,93,247,
+216,149,227,78,58,142,215,188,254,53,195,11,56,247,172,243,248,253,111,
+174,230,182,191,221,198,212,244,20,111,120,243,27,248,204,231,79,97,114,
+145,158,136,231,157,117,46,87,255,246,106,110,251,107,229,245,47,156,194,
+228,212,36,243,73,101,47,43,218,217,86,135,107,70,235,80,162,28,59,131,
+182,183,53,209,26,80,112,247,157,119,113,236,17,199,113,199,173,119,224,
+56,14,7,29,122,16,23,124,227,130,130,65,191,6,132,224,161,7,30,226,164,
+99,78,228,111,55,255,141,94,183,71,187,211,230,161,103,30,66,20,173,110,
+0,107,163,181,53,219,222,171,127,123,53,103,159,121,54,119,222,118,103,
+81,255,221,141,227,78,254,36,175,125,221,107,134,39,95,126,118,221,200,
+216,91,236,45,214,101,130,120,221,240,254,14,126,183,54,94,55,12,244,6,
+191,91,31,173,227,23,63,251,37,31,122,223,193,188,248,101,47,225,215,127,
+248,85,9,241,169,138,6,125,101,204,38,113,194,183,206,255,22,87,94,113,
+229,16,150,127,246,78,207,102,191,247,237,199,225,71,31,142,83,97,188,79,
+187,186,231,247,157,251,189,147,63,93,243,39,186,115,93,246,218,123,47,
+62,247,165,207,241,162,23,189,144,188,27,17,118,115,204,142,199,117,215,
+94,195,121,231,124,157,219,111,191,3,37,21,175,121,221,235,216,247,223,
+94,201,135,63,250,33,16,229,177,214,199,235,169,42,73,46,26,254,126,195,
+188,11,213,31,126,247,7,174,191,246,122,126,241,95,191,224,137,199,158,
+96,122,241,52,187,236,182,11,71,29,123,20,175,124,245,43,107,188,226,171,
+127,115,21,103,157,249,85,238,184,237,14,253,12,118,223,141,99,142,62,138,
+87,189,242,181,216,147,46,182,107,176,250,233,103,56,241,248,19,249,227,
+31,254,72,28,197,188,248,165,47,230,196,83,78,228,141,175,126,163,238,147,
+142,103,0,197,148,171,153,215,51,241,204,216,76,233,111,127,253,27,95,253,
+242,87,185,243,246,59,89,253,204,106,246,124,254,158,236,251,154,125,57,
+249,212,147,65,9,126,247,155,171,56,231,172,115,116,253,95,41,94,255,198,
+215,243,170,87,191,146,15,125,244,195,67,53,202,186,44,106,121,236,235,
+175,189,129,11,191,117,1,215,253,233,58,214,175,91,207,212,212,20,123,237,
+189,23,111,127,215,219,249,240,161,31,6,1,255,120,226,73,246,220,121,15,
+166,22,77,113,231,223,239,196,111,5,133,71,135,212,245,250,94,15,105,79,
+224,5,1,166,1,55,92,123,3,23,126,235,66,174,251,211,117,172,91,183,174,
+118,204,67,62,114,200,216,123,223,113,58,204,21,228,185,77,139,161,9,58,
+118,91,191,191,150,100,138,97,77,249,31,79,60,201,30,207,221,157,169,69,
+83,220,117,255,93,4,126,48,202,119,81,138,182,163,3,217,94,218,27,81,112,
+20,21,178,85,203,110,21,239,235,142,24,20,149,175,245,198,252,92,55,149,
+21,53,23,210,138,144,88,241,167,3,59,24,123,233,115,225,70,146,36,98,241,
+228,138,218,239,39,39,39,121,222,46,207,227,224,15,29,204,65,31,62,168,
+182,70,251,150,191,224,237,12,179,168,180,54,25,25,121,163,66,204,155,204,
+226,135,27,252,38,194,129,91,254,254,148,102,175,155,14,194,209,39,185,
+124,209,36,137,18,132,25,196,185,68,165,17,42,9,139,52,88,13,77,15,134,
+221,122,170,178,177,87,88,225,67,49,152,66,77,169,180,83,87,21,59,225,10,
+217,47,139,17,192,202,229,139,89,185,124,186,132,54,106,134,7,245,205,50,
+203,83,162,40,198,50,76,252,192,31,245,66,24,222,186,121,77,125,203,87,
+43,198,36,85,235,205,170,13,99,213,80,73,52,101,34,171,10,110,134,168,105,
+201,15,229,116,171,146,195,13,179,132,138,163,234,230,125,141,177,190,146,
+131,234,172,16,99,204,184,230,19,174,46,245,216,135,134,64,163,46,175,13,
+253,255,198,113,69,233,226,166,170,26,65,98,254,138,192,152,179,105,92,
+88,211,137,169,226,8,93,249,123,12,201,154,162,174,5,45,26,100,201,170,
+176,255,136,54,111,189,195,64,53,120,151,163,65,224,232,177,132,106,152,
+7,212,40,52,77,105,86,49,198,185,80,255,115,220,39,142,231,146,239,126,
+159,43,127,249,159,236,251,218,125,107,158,0,3,81,40,81,53,91,217,28,223,
+246,226,16,211,94,177,249,70,235,71,223,159,75,146,217,144,120,46,69,98,
+232,249,107,24,88,45,183,208,41,16,117,119,176,198,191,155,229,149,48,239,
+0,30,53,25,170,185,157,231,146,188,23,18,205,229,72,195,194,109,59,216,
+129,89,154,227,204,51,154,70,213,31,71,125,229,231,53,171,105,154,12,86,
+60,197,107,79,111,172,10,36,35,27,98,189,127,170,126,150,131,223,30,117,
+248,81,92,114,209,247,249,202,217,95,225,240,35,15,47,184,61,10,149,69,
+164,253,62,185,112,113,90,237,162,19,100,51,119,131,133,94,171,201,164,
+141,179,214,173,147,69,69,51,51,81,112,228,225,71,242,253,139,190,207,87,
+206,249,10,135,31,117,196,168,131,161,96,164,17,108,48,201,132,104,220,
+209,166,86,63,155,120,56,243,60,23,170,65,22,117,231,203,134,247,85,25,
+44,75,93,18,152,153,235,17,73,135,118,187,77,203,119,177,6,38,86,131,245,
+167,97,88,87,254,44,26,114,180,170,98,46,35,42,235,74,211,252,124,116,47,
+88,104,174,12,71,252,248,12,190,62,172,159,92,61,195,51,235,102,139,44,
+190,5,134,133,64,225,120,1,202,116,53,235,61,238,86,50,112,85,33,225,87,
+117,137,43,126,89,67,201,88,213,184,233,170,98,181,167,74,219,78,205,80,
+2,153,35,132,193,238,207,219,78,147,40,106,62,169,106,100,232,101,121,62,
+20,40,241,60,111,40,104,35,230,139,145,6,134,35,205,45,70,212,61,193,203,
+49,175,134,15,174,54,64,154,247,82,13,212,86,179,162,253,175,238,152,132,
+104,132,24,205,63,205,191,238,224,88,205,242,165,148,40,1,150,48,53,197,
+82,205,183,240,141,46,204,195,75,17,227,76,15,198,5,30,98,116,243,28,187,
+93,143,167,138,140,223,26,70,207,81,84,72,37,165,28,102,213,180,102,116,
+163,171,77,235,161,98,96,101,81,46,174,177,230,254,196,104,32,183,0,71,
+117,228,94,212,93,12,171,155,203,66,126,229,149,160,163,114,164,189,118,
+222,139,165,75,151,242,219,107,175,26,169,32,139,70,68,168,26,107,10,243,
+39,8,99,178,238,209,135,81,74,179,86,72,161,3,93,8,81,207,144,234,91,83,
+243,137,137,5,92,222,68,99,163,173,251,179,143,134,62,58,57,208,4,198,226,
+46,53,72,153,155,19,206,179,233,219,179,224,226,218,92,98,69,147,248,212,
+64,194,70,186,150,212,60,30,242,197,4,124,244,225,71,216,107,151,189,88,
+177,114,5,183,223,123,27,142,227,13,9,193,114,224,141,32,76,154,26,42,255,
+132,245,221,130,54,246,52,130,207,177,207,179,58,237,133,226,209,135,30,
+97,207,226,156,239,248,251,29,184,142,59,246,49,11,213,112,100,23,245,46,
+38,85,51,218,82,67,127,123,24,115,173,162,25,120,136,90,231,74,221,174,
+183,138,254,109,226,218,11,105,98,45,29,173,201,154,3,75,230,42,41,90,213,
+35,150,210,79,164,102,100,85,77,40,168,101,117,101,210,39,198,154,30,111,
+110,96,188,0,68,95,190,73,74,197,237,247,63,89,10,240,123,173,50,131,45,
+136,112,67,251,66,6,114,170,106,8,149,14,179,190,193,107,162,240,110,25,
+211,86,38,42,4,147,242,170,52,219,126,32,24,50,209,9,216,113,251,103,149,
+8,128,106,182,246,149,95,253,126,136,82,10,215,115,177,76,115,204,70,82,
+237,54,108,132,227,66,212,221,210,106,235,173,42,205,9,106,251,127,101,
+41,106,172,10,74,149,171,173,24,236,174,67,135,184,122,182,168,230,113,
+134,219,180,56,225,194,27,252,224,2,196,72,250,81,223,185,234,222,74,58,
+99,175,161,13,181,122,244,88,91,144,177,57,200,64,87,191,84,106,84,99,105,
+36,98,65,76,176,190,144,14,101,29,43,199,30,205,214,25,227,22,39,106,99,
+108,176,131,143,75,88,74,135,71,181,73,239,77,133,154,207,3,173,122,71,
+107,129,147,82,140,13,60,155,40,144,24,41,30,85,206,71,141,197,53,198,170,
+97,46,20,144,140,221,224,255,153,140,175,17,212,52,67,152,241,96,227,120,
+200,105,62,143,192,81,127,117,177,25,167,38,230,197,133,234,61,199,108,
+198,88,28,179,201,137,186,73,9,163,28,217,49,27,251,88,24,96,12,26,86,110,
+110,131,117,111,224,26,56,175,101,244,38,221,212,254,133,69,100,16,192,
+13,150,10,213,180,19,86,165,62,73,115,13,91,8,229,27,19,207,40,49,58,103,
+154,174,142,108,18,120,24,135,0,53,55,248,121,76,51,171,46,140,35,207,167,
+1,221,14,229,101,69,13,205,84,243,220,131,166,204,76,61,131,98,196,57,84,
+141,20,34,22,172,153,12,143,110,108,78,24,103,24,130,109,183,92,92,66,233,
+225,28,42,139,65,101,5,180,94,110,246,218,126,85,142,102,225,106,144,141,
+23,158,191,13,220,88,20,175,43,149,15,165,111,17,18,100,142,202,83,84,177,
+185,219,150,197,142,219,109,53,244,203,173,181,29,52,102,85,154,166,100,
+121,134,235,216,195,205,189,78,113,41,195,171,26,72,163,24,159,162,53,194,
+121,165,196,104,134,173,84,221,5,170,120,159,148,90,153,75,223,27,81,223,
+80,68,211,219,119,124,54,49,80,195,221,92,130,69,141,13,172,20,89,85,237,
+99,220,12,87,37,79,66,213,54,247,198,202,36,234,155,172,168,242,31,84,149,
+4,92,239,122,168,78,250,65,116,95,127,124,106,33,155,250,198,34,83,1,105,
+107,78,123,149,44,86,213,143,39,20,181,205,93,85,188,5,74,235,58,85,35,
+66,13,29,202,84,101,235,110,202,31,52,90,42,69,109,64,138,49,91,66,61,119,
+87,245,61,186,62,228,148,24,243,217,114,97,47,117,148,170,22,147,245,219,
+36,84,35,187,81,11,239,171,235,227,245,229,230,62,174,47,103,147,209,130,
+104,204,53,69,245,142,138,77,108,238,141,149,97,228,138,69,35,104,20,155,
+180,88,18,11,166,177,162,162,122,49,54,200,90,224,50,171,254,225,85,105,
+107,85,140,239,129,171,155,80,165,115,92,45,232,31,89,119,42,165,186,138,
+251,223,64,195,67,81,38,22,3,65,171,134,100,201,248,231,181,25,107,196,
+66,53,246,26,164,220,116,53,169,118,48,41,49,234,212,88,141,62,135,1,167,
+26,239,39,45,106,7,27,193,234,84,99,57,22,99,153,107,77,220,136,121,130,
+58,53,98,230,198,184,99,143,4,242,205,249,94,217,15,26,181,212,10,151,174,
+145,236,13,238,103,99,183,87,131,18,151,168,4,75,149,235,217,148,226,172,
+168,226,100,98,211,102,51,213,219,187,110,166,203,227,79,173,27,214,145,
+199,141,36,161,198,129,111,212,8,115,181,72,173,2,229,212,138,185,181,201,
+160,127,54,77,139,61,118,217,190,150,45,143,199,83,4,82,73,250,189,62,134,
+105,12,9,29,205,92,125,124,138,208,248,197,0,190,109,214,119,25,133,166,
+71,34,213,74,150,58,216,156,135,66,22,98,92,198,170,134,136,0,99,230,208,
+191,138,211,15,173,93,69,153,105,140,92,68,195,204,160,26,73,12,224,235,
+177,89,89,61,86,169,59,247,81,17,29,26,34,23,98,108,9,120,161,178,240,194,
+48,225,184,224,72,212,33,209,6,191,160,204,184,20,163,5,106,234,159,110,
+154,253,140,169,191,215,203,236,141,12,84,13,50,145,81,139,136,249,16,153,
+145,10,240,188,217,142,168,157,67,115,173,84,99,234,155,155,157,217,109,
+94,10,59,79,240,194,72,237,179,14,84,139,249,179,216,121,118,32,49,246,
+41,171,218,211,18,99,252,223,23,218,205,106,165,155,77,132,7,243,59,211,
+171,121,112,135,193,62,173,134,196,199,177,207,187,198,79,41,161,92,106,
+112,126,85,131,162,190,208,136,205,121,56,255,127,56,59,99,31,75,133,52,
+36,84,13,238,26,231,78,174,6,112,185,154,231,52,170,113,181,168,108,126,
+149,197,85,52,87,201,17,104,115,65,50,76,101,146,8,26,203,219,40,58,218,
+204,220,199,159,193,40,252,47,84,185,201,23,28,180,17,26,14,243,64,115,
+35,108,238,202,93,84,243,32,52,155,0,129,64,96,205,143,111,52,122,206,133,
+98,241,100,139,137,150,207,35,255,88,75,183,23,142,29,3,74,52,54,141,234,
+53,8,53,111,141,67,84,180,226,235,184,168,206,254,159,181,197,82,150,45,
+93,52,186,47,213,138,141,250,65,228,72,146,88,179,225,93,199,45,85,247,
+198,229,14,35,15,122,52,202,87,227,234,126,213,146,89,99,19,30,66,193,197,
+16,208,66,39,82,203,193,86,242,227,70,133,169,132,100,196,60,203,210,191,
+178,185,171,194,227,185,80,171,27,157,192,106,228,253,205,26,152,170,176,
+125,171,182,240,205,225,47,70,74,138,170,238,239,11,243,102,232,85,59,68,
+213,252,173,154,7,98,173,144,201,84,173,142,89,209,111,86,149,232,191,150,
+205,170,154,178,96,117,167,172,65,128,85,162,94,245,173,181,250,90,3,42,
+175,134,29,205,246,152,26,192,46,134,19,95,44,68,104,26,90,10,151,229,147,
+218,169,143,34,168,243,186,248,213,30,220,66,255,110,58,250,24,179,143,
+84,67,147,209,158,93,22,172,105,143,219,85,212,72,38,47,42,222,239,227,
+84,185,197,102,68,45,98,44,144,49,174,112,48,202,176,30,123,76,33,198,24,
+90,81,67,232,6,207,81,84,54,152,242,222,150,43,248,16,126,175,174,61,130,
+49,149,238,49,133,32,181,9,34,193,230,108,248,99,105,46,141,26,146,170,
+67,16,131,178,228,96,176,215,183,194,18,178,22,227,146,32,85,238,128,85,
+23,204,50,33,45,230,112,21,101,85,162,30,231,140,172,99,245,1,233,202,205,
+159,0,0,32,0,73,68,65,84,45,42,217,181,168,162,124,205,237,125,48,191,198,
+102,32,101,151,74,245,126,212,58,153,168,35,48,37,116,63,14,157,25,148,
+43,199,16,108,155,85,64,177,64,242,211,8,63,70,58,15,234,53,120,177,9,106,
+201,128,33,168,136,227,156,40,78,136,227,148,108,160,88,85,61,195,209,202,
+117,5,99,158,159,72,82,93,180,92,87,123,194,119,2,79,91,143,138,202,244,
+156,151,196,164,136,227,152,52,77,113,28,183,214,254,179,217,123,228,200,
+229,139,90,169,186,225,156,90,143,42,105,66,227,12,75,9,195,193,208,120,
+176,243,173,23,11,147,206,54,191,238,174,37,11,199,133,128,77,233,221,249,
+235,77,2,26,204,239,70,189,108,56,47,199,213,181,7,36,148,10,140,92,43,
+77,44,252,108,84,13,216,22,35,40,80,109,59,17,213,133,102,62,100,121,132,
+253,50,66,162,172,6,41,170,86,203,175,180,54,213,138,219,106,100,241,20,
+243,4,136,155,53,14,107,211,98,124,7,71,149,111,80,66,122,117,134,113,109,
+92,10,237,179,142,208,54,167,130,49,172,220,205,30,100,243,213,202,71,24,
+6,99,81,11,152,143,84,199,88,68,110,244,121,214,91,157,234,36,197,249,40,
+180,98,204,52,175,247,48,140,171,195,111,18,101,104,114,58,198,252,221,
+145,164,173,137,162,137,42,234,35,138,242,85,131,10,88,33,135,54,145,221,
+205,94,219,254,165,186,123,35,82,173,172,225,35,212,66,33,70,136,157,170,
+121,137,98,30,46,195,224,152,98,60,198,50,246,227,243,94,207,248,241,179,
+169,144,109,116,128,84,91,156,234,65,67,53,154,30,116,21,149,235,224,102,
+220,232,145,248,80,212,249,67,243,92,230,188,76,145,26,23,64,191,98,13,
+55,129,193,34,97,84,243,212,66,42,116,160,36,39,64,8,3,3,129,235,104,47,
+119,49,81,124,190,176,197,20,166,208,62,225,74,13,93,224,154,70,111,122,
+113,209,226,22,195,246,171,42,172,81,221,39,26,44,243,133,138,212,74,64,
+154,106,243,26,219,113,176,109,187,220,34,198,233,172,50,206,101,183,90,
+27,47,123,242,149,24,173,185,87,91,33,154,153,55,133,206,187,204,165,190,
+39,3,41,196,97,45,165,82,233,110,176,180,213,124,229,149,133,200,82,99,
+214,30,37,37,185,148,8,195,64,25,98,20,246,85,243,96,177,197,102,60,156,
+10,170,68,63,212,152,30,253,145,101,190,17,178,10,33,135,231,50,188,233,
+166,137,89,185,105,98,132,37,91,205,235,213,104,150,88,153,116,74,22,198,
+52,134,89,207,144,106,213,40,181,0,107,81,52,74,76,149,216,71,148,240,27,
+35,56,197,224,152,250,57,51,208,161,30,188,71,14,230,142,26,195,220,21,
+24,134,129,16,70,41,156,83,253,227,213,235,107,114,67,196,104,3,144,170,
+250,21,40,70,76,143,148,202,73,194,144,48,204,17,174,139,239,185,56,166,
+241,207,215,101,231,73,4,154,79,104,108,135,177,146,228,82,13,175,125,116,
+165,158,127,73,107,244,115,52,22,109,49,82,197,31,143,12,168,145,207,168,
+6,94,32,230,249,228,248,218,69,227,191,74,141,97,5,212,51,51,197,56,178,
+93,35,115,173,4,202,170,154,189,139,70,17,64,85,249,67,11,243,35,148,202,
+244,26,61,68,9,235,98,80,11,242,93,212,136,212,90,177,86,55,247,194,1,23,
+75,162,114,5,134,89,2,79,82,43,146,66,225,132,168,104,214,243,202,242,132,
+202,181,194,163,97,85,200,173,140,180,168,138,5,81,37,53,182,148,51,46,
+232,156,39,28,107,212,185,70,201,181,170,137,208,212,178,125,49,156,255,
+185,84,181,154,204,208,141,180,17,68,12,3,116,49,202,155,23,99,166,232,
+72,95,142,170,156,83,241,140,172,60,207,200,147,136,126,36,177,125,15,215,
+117,176,138,85,66,230,9,73,156,146,38,25,185,146,72,97,225,249,62,190,107,
+21,208,137,36,203,37,50,137,232,199,57,150,231,227,185,14,134,208,18,135,
+73,20,17,199,133,44,237,160,149,67,42,44,183,141,239,57,56,162,36,83,104,
+152,71,212,180,99,68,85,74,126,144,245,42,193,24,140,171,120,22,146,56,
+142,49,45,3,199,177,49,132,168,169,255,140,235,138,172,245,37,170,6,95,
+64,85,111,126,131,3,92,173,205,170,202,134,45,170,189,142,2,211,50,43,193,
+201,160,133,80,140,175,159,137,5,203,205,155,21,13,86,127,84,66,96,153,
+214,248,144,87,53,51,78,49,118,1,172,18,12,84,163,190,43,70,42,175,99,102,
+154,204,200,178,62,105,24,145,198,113,113,207,108,236,214,148,86,133,170,
+120,35,87,25,249,170,70,128,201,145,25,8,203,172,0,127,0,18,153,245,181,
+179,149,21,224,248,45,108,171,161,10,40,234,215,172,40,145,132,145,186,
+151,168,192,191,21,24,144,113,148,133,225,141,202,201,250,27,136,18,3,219,
+111,107,23,172,226,6,169,60,36,233,207,17,199,90,230,25,204,194,138,211,
+0,43,192,13,58,184,174,93,222,67,213,12,104,84,19,30,169,151,61,84,61,59,
+106,46,10,3,146,171,202,98,122,115,93,34,105,224,248,45,90,158,173,29,178,
+196,191,8,11,45,64,133,108,90,53,149,73,159,34,235,207,176,161,151,99,183,
+218,180,125,183,88,103,54,141,16,140,91,148,135,175,230,153,246,193,176,
+140,49,151,49,190,6,49,234,169,173,198,45,151,186,237,89,102,228,82,96,
+217,102,13,9,25,6,131,213,250,184,42,209,154,122,29,183,94,62,25,105,199,
+82,57,82,41,132,105,34,148,81,62,211,97,119,8,67,57,232,218,1,132,24,69,
+105,154,79,74,166,200,44,34,141,66,146,56,209,99,194,112,112,219,83,184,
+158,179,233,71,174,212,152,224,168,186,222,149,201,128,80,10,33,99,226,
+238,44,185,240,176,125,173,26,135,140,137,231,54,144,196,2,167,61,137,235,
+121,8,99,164,146,81,16,148,35,226,217,57,114,195,195,14,58,67,89,232,1,
+127,103,24,212,212,78,60,71,230,32,76,179,236,252,29,195,206,105,142,130,
+113,11,174,24,7,43,170,74,103,78,101,109,21,213,18,94,161,72,39,134,181,
+8,69,22,206,176,126,182,71,156,85,248,76,134,71,123,178,67,187,165,199,
+127,205,117,148,18,185,105,214,225,199,225,79,106,158,226,95,21,251,177,
+250,253,190,238,29,53,108,44,167,112,116,19,18,153,106,107,88,101,186,248,
+29,135,60,137,136,226,178,150,161,242,84,27,200,228,58,59,83,134,141,237,
+88,197,231,65,96,226,184,1,182,51,88,92,83,146,36,38,201,76,92,71,27,201,
+80,169,175,140,91,63,234,209,174,170,215,241,155,80,176,208,106,93,74,74,
+156,192,67,8,163,97,181,215,16,252,24,78,66,53,214,92,165,222,41,39,70,
+225,210,70,112,59,56,47,85,144,234,164,212,81,168,89,68,161,77,149,130,
+106,253,126,94,106,144,154,23,109,218,228,242,171,164,68,74,137,48,173,
+209,246,243,26,52,77,13,94,83,170,177,89,15,199,91,157,244,81,15,165,155,
+0,180,110,157,148,105,72,26,206,146,74,11,211,157,32,240,77,4,49,121,154,
+163,44,27,99,12,69,168,190,129,43,200,34,146,168,71,154,59,218,49,202,44,
+249,246,42,139,73,251,61,82,101,227,121,62,150,41,234,153,209,72,13,113,
+52,195,173,46,100,131,32,78,209,104,25,20,117,62,198,16,201,151,57,121,
+210,37,137,82,132,59,133,237,216,67,6,172,198,199,60,156,150,141,105,247,
+136,195,30,202,154,192,243,61,141,146,137,2,213,169,4,161,163,13,193,149,
+243,30,180,20,138,58,27,68,212,54,148,198,98,160,36,121,28,209,237,119,
+137,165,75,123,162,133,239,152,101,224,180,41,113,147,127,138,133,37,26,
+219,64,189,98,167,146,144,110,47,34,37,160,237,58,5,122,195,2,244,54,53,
+194,129,105,86,246,85,220,103,182,219,37,22,1,139,166,2,108,195,96,196,
+192,99,204,66,185,80,77,162,26,180,230,73,72,119,174,75,108,4,76,78,6,56,
+69,89,3,213,0,243,85,53,36,109,116,235,139,209,169,84,187,239,121,72,210,
+239,145,42,7,167,221,194,50,74,183,48,53,15,225,183,57,13,71,115,157,130,
+111,159,134,36,253,46,25,54,150,59,73,16,24,136,60,33,203,165,54,104,249,
+167,216,118,148,99,79,53,74,128,131,33,43,19,178,176,79,154,89,56,19,45,
+44,203,0,114,242,52,36,79,114,12,187,131,229,58,35,226,163,229,174,25,147,
+244,251,164,185,137,221,106,97,154,181,63,204,216,154,146,140,72,250,93,
+82,233,226,182,219,26,29,168,141,196,209,118,202,113,213,200,209,128,134,
+81,2,174,168,104,184,140,0,78,162,198,7,200,147,144,94,152,32,237,9,150,
+76,123,88,67,3,8,221,59,111,8,163,224,251,84,81,176,202,24,87,213,146,238,
+56,129,155,241,122,34,131,17,168,80,200,56,196,114,44,131,56,1,219,115,
+244,224,42,78,214,48,29,92,223,41,160,134,76,59,80,25,218,225,75,201,140,
+52,78,81,166,133,43,50,162,68,224,186,46,214,112,2,232,44,197,48,244,221,
+147,89,74,146,36,164,210,194,243,93,28,199,168,247,27,55,196,82,22,234,
+219,21,212,55,150,1,78,156,101,218,252,198,113,93,44,97,85,90,161,24,138,
+16,12,23,231,193,109,168,48,229,154,176,94,157,75,209,168,205,170,249,235,
+245,26,45,144,122,1,31,136,127,32,70,112,37,85,131,55,197,8,177,78,209,
+96,78,254,147,117,51,33,6,30,239,204,143,249,215,234,64,101,149,123,168,
+164,52,232,103,85,106,172,122,0,35,178,138,197,191,121,74,22,205,17,199,
+25,194,237,224,185,129,182,163,21,32,148,133,97,23,15,92,230,200,129,155,
+154,16,5,108,104,232,140,38,207,139,13,116,150,56,21,88,142,165,161,63,
+89,88,251,102,49,73,56,67,38,29,220,96,2,123,96,146,82,205,162,114,89,180,
+113,22,89,179,97,96,86,233,240,82,234,64,108,56,45,12,157,69,21,11,179,
+148,153,134,26,171,139,155,97,106,173,110,153,105,95,236,126,140,240,38,
+241,252,82,68,169,150,103,170,148,52,14,81,86,27,55,104,99,219,162,94,90,
+144,245,250,173,48,76,221,105,1,160,82,242,188,90,168,211,127,223,48,138,
+5,92,102,200,170,35,177,48,116,249,75,104,72,54,233,119,153,237,166,24,
+126,192,100,171,133,107,233,107,206,37,67,161,37,81,33,84,104,199,60,99,
+232,226,151,231,141,210,156,89,40,215,13,4,147,48,48,200,10,211,56,129,
+97,90,24,131,248,70,74,242,92,151,78,148,204,136,123,93,250,185,77,107,
+34,192,45,178,237,133,39,147,24,27,116,235,114,72,78,158,101,196,189,57,
+122,145,194,235,24,32,115,237,133,110,20,166,59,50,39,151,121,161,180,161,
+131,41,179,16,236,87,50,35,147,96,24,22,86,161,43,174,242,156,76,137,66,
+211,95,146,167,25,113,127,142,110,172,240,218,2,33,115,114,165,10,121,233,
+102,49,64,213,215,152,113,188,154,74,30,161,84,174,197,130,100,70,30,119,
+137,51,129,229,90,24,12,90,233,52,41,86,8,129,148,82,243,143,6,25,164,81,
+100,169,74,82,213,41,209,193,107,1,127,203,140,60,238,105,162,177,221,194,
+243,124,204,194,228,70,153,38,206,0,45,43,146,144,114,47,211,227,75,8,61,
+54,203,113,170,106,99,96,72,131,146,5,242,0,218,235,62,238,145,164,6,118,
+208,198,54,148,110,111,22,2,97,181,241,23,117,10,167,182,178,206,140,82,
+40,41,139,114,166,254,124,154,9,236,214,4,182,45,16,82,63,235,129,66,28,
+134,81,148,225,20,50,151,40,153,234,251,151,130,229,217,8,149,35,165,85,
+148,30,228,48,201,209,15,64,127,214,16,117,244,71,151,208,138,231,101,24,
+24,134,89,146,102,85,201,170,85,77,230,189,40,91,107,155,220,10,149,165,
+68,97,143,80,57,180,58,45,124,215,172,36,104,58,249,203,178,28,195,176,
+48,12,141,0,229,89,134,84,2,97,154,197,152,204,201,179,65,121,79,63,23,
+107,104,233,173,138,231,158,23,235,131,62,255,129,83,235,112,126,244,103,
+177,178,76,105,23,28,199,210,38,142,149,204,78,151,23,115,210,56,34,149,
+2,219,118,113,44,19,67,24,56,174,65,46,83,226,68,33,108,7,199,49,245,226,
+41,170,43,142,34,79,19,226,36,33,151,38,142,239,23,22,176,162,206,180,22,
+162,190,209,55,148,252,16,99,38,127,165,22,36,243,156,36,137,49,77,3,199,
+118,42,28,190,1,183,192,24,169,91,12,39,166,84,133,57,71,67,54,14,85,40,
+238,170,209,138,64,241,62,89,45,170,13,200,37,200,194,122,86,232,96,168,
+232,231,55,48,202,118,145,226,188,85,133,209,45,132,168,3,18,133,134,115,
+77,24,102,222,24,174,146,161,20,139,175,30,175,197,231,141,49,82,178,85,
+236,207,80,149,251,92,225,24,52,96,3,53,174,37,75,239,9,101,176,146,37,
+164,225,28,105,6,134,219,198,113,28,237,201,156,75,84,145,177,162,180,251,
+96,26,245,73,227,68,223,103,203,199,13,38,112,28,161,221,171,250,93,178,
+172,176,99,53,76,100,26,147,197,62,142,223,193,182,21,89,56,71,158,91,152,
+94,7,219,181,42,104,182,94,192,85,113,252,36,73,144,18,132,229,225,6,83,
+24,158,133,16,10,153,100,228,105,151,36,236,147,229,122,1,48,157,22,174,
+223,198,52,21,228,17,73,212,215,139,164,212,139,128,112,90,120,173,73,12,
+7,173,249,29,38,96,5,56,190,87,24,116,84,104,102,42,71,102,33,105,216,67,
+225,98,251,109,172,129,221,168,74,201,83,141,76,100,113,170,17,48,64,56,
+109,220,160,131,99,11,212,0,185,72,82,189,25,32,16,78,27,47,232,96,219,
+2,149,133,164,97,95,191,174,10,4,46,232,224,250,1,134,204,73,194,30,221,
+48,69,184,45,38,218,1,150,1,42,77,232,245,230,136,50,19,175,213,161,229,
+22,1,160,204,136,251,93,230,226,28,211,245,105,217,130,56,236,211,239,133,
+164,82,161,132,133,215,234,48,57,217,194,38,39,9,187,244,250,25,202,48,
+48,100,76,47,214,22,154,147,19,19,4,174,129,202,82,226,126,143,94,175,79,
+146,229,228,57,40,211,166,53,177,136,182,111,97,140,108,227,98,76,157,92,
+143,77,29,70,20,220,20,41,73,227,46,115,179,115,116,67,109,251,44,133,73,
+46,83,194,174,141,215,234,208,110,121,88,42,35,9,123,244,186,33,113,38,
+81,166,75,171,211,97,178,237,64,30,51,55,59,75,63,182,104,77,78,210,246,
+32,139,122,244,250,49,41,14,174,45,144,113,143,94,148,146,102,57,24,22,
+121,174,143,239,183,218,180,59,1,174,97,148,5,164,193,66,175,70,75,20,53,
+14,221,160,240,148,103,58,248,237,117,201,242,188,128,185,45,100,26,145,
+70,30,182,107,66,94,4,184,104,131,42,203,54,81,42,39,87,54,142,23,96,139,
+148,52,73,138,115,200,180,63,185,112,113,91,19,56,54,100,113,151,52,19,
+152,238,4,158,239,214,234,244,66,232,4,45,79,35,210,176,71,154,100,58,200,
+85,2,195,105,227,6,1,38,17,73,20,163,48,16,232,100,78,8,237,212,230,6,158,
+158,63,105,68,22,118,53,202,171,114,173,117,102,121,216,65,11,83,36,196,
+115,218,225,13,219,199,11,38,113,92,171,80,238,84,72,149,235,241,221,47,
+198,119,193,241,18,150,135,19,232,205,93,37,61,226,176,79,22,39,195,77,
+88,56,45,60,223,199,144,81,229,254,233,172,88,101,9,153,229,226,248,109,
+108,199,208,14,165,97,95,207,47,165,209,52,183,53,89,148,196,50,100,26,
+145,132,122,253,81,128,48,108,44,191,83,92,127,61,213,26,174,197,3,59,225,
+129,198,199,48,162,171,4,0,121,74,28,246,232,197,57,134,19,224,24,57,105,
+170,3,51,83,128,76,67,61,254,82,139,160,51,65,199,19,100,113,159,110,55,
+34,53,61,218,237,22,158,169,72,163,30,189,110,143,40,149,40,97,225,183,
+39,152,152,104,225,152,197,24,74,34,122,189,30,253,72,7,6,134,237,210,106,
+183,240,140,148,126,119,142,110,95,35,53,150,52,108,60,183,128,214,27,1,
+181,202,51,226,40,34,83,2,211,9,112,93,27,211,24,16,1,50,146,40,69,25,22,
+158,107,23,144,155,170,244,252,41,178,56,34,78,37,8,27,111,160,215,91,97,
+249,142,111,49,169,183,64,12,227,149,138,136,68,53,92,82,10,162,56,70,32,
+112,92,103,72,18,84,2,157,129,160,244,226,43,140,161,231,156,42,118,38,
+153,13,94,183,106,36,185,193,223,148,197,231,45,195,108,180,45,138,97,244,
+169,148,194,52,10,217,89,157,248,96,26,86,193,97,40,142,111,154,245,214,
+171,2,214,210,19,11,221,190,214,72,225,21,218,250,17,69,145,57,141,18,60,
+242,60,215,117,47,211,40,251,235,161,200,36,5,121,97,252,99,136,34,242,
+107,136,193,232,227,171,202,235,165,188,43,8,242,60,43,28,181,244,223,175,
+145,106,20,100,82,34,6,159,23,2,178,152,164,55,171,33,193,32,192,34,37,
+237,174,38,142,19,148,25,224,181,39,113,140,132,36,10,201,148,165,221,156,
+124,73,218,155,37,47,50,108,97,24,152,174,135,149,36,218,73,206,107,99,
+217,182,142,188,133,161,23,180,222,12,89,110,97,250,29,28,215,214,158,199,
+162,16,97,138,187,196,113,140,196,193,242,38,9,252,140,180,183,145,68,9,
+132,161,97,196,36,236,146,166,10,211,246,113,39,218,120,162,96,148,27,2,
+153,246,72,122,49,82,20,159,15,20,178,63,67,146,27,152,174,134,29,85,58,
+75,220,79,80,118,128,235,249,152,194,172,117,219,105,31,241,144,164,175,
+237,51,237,118,11,203,178,48,144,58,235,143,34,164,176,177,188,41,236,150,
+34,239,205,146,230,2,203,247,49,137,136,187,250,117,219,155,194,246,37,
+89,56,75,154,155,88,158,143,109,41,210,254,70,178,220,196,116,39,241,91,
+86,225,188,86,140,113,1,105,127,150,185,80,98,249,29,90,190,167,203,26,
+82,145,197,125,122,97,142,29,248,56,102,145,29,9,65,30,233,205,221,176,
+44,68,18,50,19,42,76,219,99,98,73,27,35,11,153,217,216,35,207,53,73,210,
+204,122,204,205,204,209,207,77,252,246,4,65,203,70,169,30,177,48,48,68,
+78,220,157,165,159,72,76,219,103,98,113,128,138,123,204,116,19,12,175,77,
+167,237,14,157,202,70,217,238,163,4,135,44,207,245,64,51,140,194,148,201,
+192,118,91,116,90,218,51,30,183,69,187,229,225,22,153,141,48,5,105,119,
+150,141,105,142,105,123,116,166,91,180,146,30,179,115,33,89,174,145,11,
+203,16,24,195,249,23,211,155,75,72,98,133,233,79,176,200,119,177,12,69,
+110,73,210,220,192,109,235,227,107,107,80,3,179,200,64,161,33,142,35,170,
+68,212,18,214,85,185,68,162,215,135,97,146,98,154,152,174,139,153,196,40,
+211,199,242,218,216,174,85,212,142,99,146,238,44,73,36,49,29,171,64,2,173,
+33,31,218,178,61,76,145,144,68,125,178,76,96,186,109,108,207,67,200,89,
+50,76,132,208,168,77,166,138,205,202,117,27,137,65,49,254,194,24,37,44,
+44,111,138,32,128,180,63,67,150,27,152,94,128,69,68,220,155,37,73,77,44,
+191,141,227,7,24,204,146,73,7,195,54,81,89,143,52,138,201,177,176,188,69,
+4,129,230,86,100,185,192,244,2,76,19,148,178,177,28,143,60,139,81,182,131,
+97,15,144,76,109,134,147,68,17,185,112,138,191,175,107,213,105,110,232,
+123,97,164,196,221,185,98,254,77,17,4,146,172,175,231,135,233,181,176,29,
+237,35,109,37,49,88,62,150,219,46,208,143,130,156,150,245,136,187,33,18,
+11,211,153,196,247,115,178,222,28,57,69,57,76,37,100,189,25,210,220,194,
+244,38,9,90,230,112,238,11,97,150,254,28,148,26,22,85,201,216,42,57,90,
+35,94,170,64,71,52,202,32,227,62,115,115,93,162,36,71,197,9,113,87,32,76,
+143,86,103,130,78,96,107,98,45,18,37,65,169,132,238,92,76,146,42,44,111,
+130,105,223,193,80,49,113,44,193,10,152,152,14,104,69,179,108,156,75,11,
+158,133,68,70,61,102,230,122,36,56,120,254,20,75,38,6,101,241,130,184,170,
+44,140,60,37,205,12,92,47,192,178,92,123,36,245,7,73,150,36,196,81,130,
+68,103,222,182,109,20,208,144,134,128,210,40,37,83,6,174,231,96,15,160,
+104,85,214,254,210,36,38,137,115,112,92,60,199,194,20,198,168,42,42,21,
+85,163,74,115,177,24,221,239,71,117,12,138,243,77,211,132,60,151,248,190,
+143,105,90,181,90,154,102,234,234,56,116,164,63,80,13,152,188,163,18,20,
+3,88,95,155,84,24,35,212,161,1,92,90,234,218,23,84,176,92,67,206,166,161,
+161,102,163,96,146,140,246,74,10,140,2,142,29,36,212,98,4,220,21,122,97,
+96,188,58,132,0,29,88,84,34,146,92,74,148,204,245,125,16,96,25,230,120,
+42,126,177,209,155,3,22,181,40,41,135,84,80,5,211,168,15,248,90,103,29,
+20,102,22,69,112,146,197,164,225,156,230,88,180,59,218,50,82,153,40,39,
+33,207,65,184,1,166,138,137,123,61,77,160,241,2,44,83,161,146,24,169,108,
+189,152,56,22,66,37,100,113,68,174,28,236,86,7,219,113,74,88,77,37,164,
+253,46,105,10,102,208,198,118,237,194,175,71,32,164,206,140,116,61,188,
+141,235,120,152,22,200,56,70,74,19,203,13,48,73,245,231,165,141,211,106,
+105,206,9,69,251,165,202,72,195,46,73,24,161,236,22,158,31,96,154,138,60,
+234,146,103,38,182,63,129,227,217,144,245,137,251,33,210,8,240,252,2,250,
+20,85,178,155,66,101,125,226,176,71,38,29,156,86,11,219,178,128,84,251,
+86,135,49,202,106,225,6,1,150,41,201,163,30,121,110,96,7,1,134,140,73,194,
+4,236,0,199,15,176,140,156,44,234,147,231,38,86,48,129,227,152,200,100,
+150,52,78,192,158,196,178,44,253,247,141,129,190,131,36,9,187,204,117,99,
+164,59,73,224,185,216,3,68,53,139,8,227,88,7,37,166,164,55,179,129,220,
+106,209,114,20,73,63,6,211,195,148,57,73,170,176,59,19,180,125,7,75,72,
+226,180,139,18,6,182,235,97,201,148,126,183,79,34,60,38,23,79,210,242,77,
+84,220,5,101,224,123,54,50,234,17,69,57,86,187,163,73,116,121,196,92,146,
+162,76,143,86,43,192,29,97,237,55,117,201,234,140,247,1,211,88,84,249,51,
+105,74,20,165,72,211,103,162,211,34,40,236,165,81,25,97,111,142,110,47,
+134,194,163,220,20,146,52,79,145,194,198,115,29,61,47,115,125,60,153,37,
+132,253,12,203,14,232,76,5,120,78,49,150,210,144,94,156,34,45,159,201,226,
+248,77,210,94,217,170,41,134,18,220,85,66,234,160,126,58,212,231,175,182,
+155,168,156,60,142,145,202,193,105,119,244,24,70,128,76,200,162,144,44,
+23,88,126,7,67,133,100,210,41,160,231,132,28,31,199,130,60,238,147,43,23,
+183,211,193,118,77,84,50,71,166,76,44,199,129,172,175,3,197,86,7,215,117,
+168,147,228,51,178,168,75,210,255,255,104,123,179,53,201,113,36,107,236,
+24,0,174,190,68,102,245,204,39,189,255,155,73,51,119,210,223,149,17,238,
+206,13,139,233,2,32,9,128,160,71,212,72,202,155,238,202,200,112,231,2,192,
+182,179,76,64,117,69,213,245,80,210,194,78,3,156,19,144,253,29,149,48,208,
+175,23,44,122,180,191,110,168,27,1,55,63,225,28,65,182,29,164,29,125,101,
+95,93,80,119,151,109,253,58,39,252,250,108,107,255,8,236,136,101,92,224,
+68,131,182,13,238,157,171,175,252,224,127,191,105,253,250,55,243,11,206,
+10,84,237,21,2,11,230,87,248,121,215,65,41,134,29,71,88,43,32,187,59,154,
+182,129,224,5,122,158,96,81,163,186,222,81,87,213,158,60,204,79,239,164,
+39,90,212,109,15,41,29,156,158,225,32,33,187,11,234,138,224,150,135,239,
+202,53,61,164,84,16,34,98,19,36,12,97,138,196,215,144,200,239,174,255,102,
+141,15,27,48,207,76,120,77,51,108,125,195,127,252,238,160,164,240,107,138,
+4,164,148,144,128,7,3,50,193,89,191,254,100,213,225,126,191,160,105,20,
+4,49,156,86,80,202,51,205,132,155,49,25,7,212,29,46,151,22,100,70,124,61,
+7,44,212,225,126,187,161,173,101,246,142,9,78,27,76,179,134,149,45,62,110,
+87,168,70,73,136,24,113,104,13,150,121,196,172,29,68,221,162,107,26,40,
+129,132,206,228,204,130,73,51,100,215,160,90,13,95,54,176,133,133,158,38,
+140,26,168,218,22,141,170,252,44,62,86,172,91,17,203,28,203,19,230,0,148,
+52,162,151,24,172,206,49,166,105,66,211,180,193,120,38,157,21,11,162,148,
+168,115,144,154,207,8,8,156,154,91,0,162,44,234,29,209,66,82,75,91,130,
+90,189,229,177,86,156,17,176,35,163,152,249,234,122,55,167,61,208,33,146,
+249,253,113,44,73,217,143,4,8,80,251,247,239,189,208,220,244,133,35,144,
+246,234,47,156,114,41,253,220,39,149,46,160,76,27,96,27,43,176,133,157,
+191,48,141,26,242,250,23,84,237,171,106,199,11,244,60,3,213,13,74,90,44,
+207,47,24,231,192,48,176,203,11,130,8,178,249,64,125,243,149,49,177,133,
+25,63,49,205,132,170,191,161,174,171,157,158,198,22,110,122,98,30,53,100,
+255,225,55,251,150,21,57,216,249,129,233,181,64,244,119,84,93,11,69,128,
+179,3,150,215,0,212,87,223,250,31,254,64,163,67,221,223,81,215,98,199,29,
+176,219,90,238,162,189,161,109,123,8,178,112,211,39,166,193,248,195,175,
+171,0,59,122,132,176,188,161,185,92,188,252,241,230,180,231,179,125,199,
+6,122,252,194,98,43,212,253,5,117,229,147,78,214,3,230,65,131,186,59,154,
+182,133,128,131,29,191,48,13,6,162,191,66,145,197,60,70,63,39,11,55,248,
+251,21,253,7,234,16,176,108,88,144,102,250,27,175,165,65,115,253,133,182,
+171,61,168,198,46,24,31,15,44,162,199,71,239,43,79,10,243,90,171,39,140,
+179,68,125,115,152,7,3,61,91,168,187,195,60,12,176,178,71,43,52,30,79,131,
+234,227,3,151,190,134,2,224,236,130,105,156,129,246,142,190,145,112,243,
+39,158,182,193,253,215,13,151,206,3,10,185,190,226,227,63,46,96,61,226,
+207,223,26,226,122,199,37,180,201,231,233,137,199,34,209,127,120,112,95,
+81,135,1,57,74,123,135,175,9,74,135,68,236,44,230,233,129,167,22,232,239,
+107,112,39,15,228,90,94,120,252,249,194,96,24,180,44,152,30,97,222,14,129,
+238,254,27,93,171,32,5,195,26,134,177,12,178,22,178,185,227,215,253,138,
+74,4,103,8,182,152,199,39,158,139,64,255,209,163,141,130,123,12,99,226,
+92,153,136,34,32,228,122,6,177,63,127,18,220,41,91,216,241,15,166,25,168,
+186,224,155,14,79,167,178,203,3,243,44,161,218,11,36,191,176,152,6,117,
+215,2,250,11,6,173,79,238,198,47,88,225,61,223,171,90,248,68,114,240,9,
+173,18,11,230,151,131,188,252,66,219,212,81,81,17,240,26,203,128,249,165,
+33,186,15,52,157,95,127,110,122,96,30,13,68,119,67,93,49,204,227,1,179,
+126,126,69,96,243,196,50,88,136,246,6,37,13,244,83,131,194,239,75,178,176,
+97,127,136,254,134,186,109,194,51,52,208,211,23,22,87,163,185,92,81,213,
+10,96,11,232,23,230,87,88,223,93,11,9,7,59,61,48,13,26,178,189,66,73,141,
+249,185,128,186,27,218,214,255,220,76,95,97,255,93,67,112,47,156,15,235,
+61,46,79,140,143,79,104,227,0,210,176,203,11,68,4,213,222,81,93,127,65,
+41,9,130,133,128,143,19,102,248,55,236,212,160,190,253,70,219,213,7,81,
+185,216,66,110,83,36,76,72,69,190,27,189,225,180,156,31,93,61,180,194,253,
+126,65,215,85,7,53,5,134,243,88,15,199,32,103,32,235,127,225,247,71,143,
+90,248,181,161,135,7,62,31,19,230,69,195,133,207,52,162,199,95,255,234,
+81,11,131,241,243,11,139,184,226,227,118,69,91,139,163,166,135,243,159,
+225,215,239,5,109,37,67,236,222,14,129,5,203,162,97,33,208,244,151,80,181,
+103,242,18,70,99,154,13,156,168,208,85,97,110,191,174,98,103,48,207,19,
+22,13,200,186,67,91,203,76,216,33,142,20,148,113,71,35,92,82,36,14,83,118,
+33,243,192,143,121,158,65,68,65,204,230,104,24,65,249,228,158,11,96,61,
+58,2,206,14,136,93,202,246,50,31,93,85,93,0,36,201,204,252,3,27,50,61,151,
+94,220,217,3,84,0,173,255,19,154,28,133,238,129,31,23,168,66,129,116,98,
+188,74,145,226,252,138,4,206,53,59,114,70,221,154,205,50,111,157,7,54,35,
+244,60,195,137,22,77,221,64,48,195,57,143,14,118,168,161,106,1,55,191,192,
+234,138,254,122,245,227,156,117,25,200,42,28,132,62,72,207,179,134,168,
+127,251,246,226,246,28,45,236,252,220,64,67,77,215,238,35,21,231,192,38,
+204,210,234,126,63,188,230,1,203,52,194,138,14,117,91,131,151,47,104,43,
+32,175,183,0,200,219,63,27,203,128,121,28,193,162,65,213,53,128,91,176,
+140,15,232,97,6,215,119,212,109,3,50,51,244,248,132,65,141,186,191,64,201,
+0,116,90,91,255,180,162,136,191,160,53,65,117,119,212,117,181,5,247,101,
+24,253,243,105,27,144,11,32,196,113,6,213,55,212,138,97,134,1,78,180,104,
+219,26,228,38,79,175,27,53,68,187,30,168,0,32,33,235,27,186,143,22,102,
+252,194,50,187,157,16,224,12,150,225,133,209,10,212,215,11,186,70,108,163,
+50,54,11,198,113,9,168,110,1,199,12,89,19,172,54,16,168,80,215,18,246,249,
+130,147,29,46,125,3,197,12,103,103,12,175,7,102,91,161,187,117,80,118,192,
+99,102,200,182,71,223,238,72,104,18,2,194,204,120,190,70,44,80,248,232,
+107,72,103,176,140,79,60,7,3,209,220,112,235,171,176,86,252,88,204,49,65,
+40,1,241,173,13,95,172,32,232,194,136,65,3,245,7,250,174,10,109,109,7,54,
+11,134,231,4,35,58,252,254,223,238,232,226,145,21,1,82,74,8,118,88,134,
+1,175,105,198,236,8,50,180,221,105,203,131,125,53,234,63,255,134,75,87,
+67,38,96,58,255,93,235,62,23,82,102,103,20,222,178,96,152,109,8,226,26,
+84,255,70,221,212,254,250,157,131,157,191,160,23,11,81,223,161,196,12,179,
+48,68,221,66,240,20,90,211,53,200,140,48,168,60,0,77,50,220,242,130,30,
+195,154,170,9,246,229,255,127,93,215,161,176,113,219,168,141,205,136,101,
+24,96,69,135,166,221,215,247,50,46,64,125,243,201,239,56,248,25,255,245,
+142,74,146,95,179,211,2,86,13,42,5,232,225,5,35,59,116,109,13,225,22,44,
+211,3,243,48,1,205,47,52,93,23,186,40,126,93,27,45,80,245,119,84,149,244,
+99,51,61,98,126,249,239,239,218,6,194,134,239,159,102,80,125,247,201,69,
+216,31,93,219,64,176,198,60,124,65,79,190,83,85,183,157,79,136,183,243,
+225,175,48,126,8,96,58,61,96,25,6,176,184,160,255,215,13,146,34,150,137,
+172,54,170,44,145,4,53,119,116,178,129,25,31,152,231,112,216,185,117,52,
+185,190,95,15,38,20,72,207,241,68,47,62,1,221,91,63,71,95,28,84,123,195,
+165,173,50,99,100,63,55,95,166,17,175,105,198,226,200,143,123,86,203,49,
+167,241,250,250,194,115,100,84,253,47,252,231,47,130,91,6,60,94,11,92,117,
+193,165,149,48,195,39,6,13,168,123,135,186,18,145,43,195,142,39,51,203,
+19,207,201,0,245,221,175,95,34,40,132,138,124,158,38,44,150,32,235,26,77,
+173,124,160,218,6,234,158,103,200,206,250,214,187,35,84,173,220,205,5,200,
+5,218,156,198,226,4,170,206,131,241,40,87,68,201,209,226,17,5,141,138,182,
+127,185,139,194,14,108,88,244,2,107,13,218,182,219,125,116,11,145,240,88,
+25,103,220,216,28,116,150,169,129,197,26,201,123,192,143,200,22,97,238,
+238,105,79,180,93,203,254,49,1,64,23,117,38,248,36,241,248,222,239,247,
+24,217,57,0,1,73,10,72,126,151,5,112,42,139,185,253,254,158,120,48,82,247,
+181,34,125,47,54,80,98,120,97,96,171,97,12,32,148,4,172,231,124,235,101,
+134,69,131,250,82,129,236,128,217,48,168,169,119,21,56,225,193,154,155,
+80,140,25,176,204,35,28,181,168,148,244,232,218,48,175,178,203,19,203,248,
+130,165,30,117,219,0,214,128,73,128,133,0,185,5,118,26,176,104,134,236,
+8,172,39,44,102,128,153,45,160,174,62,59,119,35,230,89,131,169,131,36,227,
+197,135,132,244,29,22,167,97,150,1,218,48,68,163,224,230,17,250,245,137,
+197,48,68,251,129,254,210,67,176,129,89,94,208,51,67,118,45,4,22,152,217,
+192,185,64,45,21,30,184,100,166,39,244,108,32,218,59,154,182,10,183,22,
+208,197,134,33,91,9,44,3,166,215,23,180,118,16,237,47,180,93,5,55,127,70,
+63,127,97,122,126,97,49,128,236,62,208,244,13,200,25,216,237,21,90,176,
+209,176,78,64,117,23,95,197,48,195,90,141,121,94,224,100,139,174,145,187,
+162,24,91,44,211,136,113,100,168,174,130,18,2,92,57,124,13,14,149,35,180,
+31,61,4,79,248,52,14,80,128,153,23,204,172,49,13,3,52,85,184,252,186,160,
+17,51,158,207,9,70,246,184,247,117,152,249,243,214,61,209,203,136,105,182,
+16,117,11,158,39,140,203,11,159,207,9,168,111,248,125,235,32,3,176,107,
+30,30,248,243,249,130,147,61,62,126,223,209,55,42,9,229,156,212,243,153,
+168,139,245,216,141,209,16,234,142,60,82,216,79,230,97,141,198,172,45,160,
+106,72,236,52,51,41,37,4,57,152,101,196,115,152,48,91,66,219,245,104,212,
+132,175,175,9,65,135,43,28,192,26,243,52,98,178,132,186,19,176,198,128,
+164,12,99,42,108,215,255,245,103,128,86,61,62,254,186,225,18,132,180,104,
+61,43,87,41,236,140,144,207,236,60,232,115,28,224,208,248,153,62,123,128,
+152,157,159,208,203,2,82,61,4,102,152,217,128,154,11,132,155,97,52,67,54,
+29,96,70,204,218,66,181,97,140,179,140,48,139,243,160,203,166,2,244,19,
+102,97,47,91,102,53,12,140,103,168,56,233,199,76,243,43,172,39,225,103,
+224,227,23,150,197,175,191,174,149,176,195,19,218,136,144,60,4,28,202,232,
+3,114,221,84,126,12,96,0,217,73,176,126,97,124,61,48,47,14,178,251,64,223,
+247,62,161,112,190,5,191,76,51,160,46,16,100,96,102,13,161,0,55,191,160,
+173,95,223,110,121,65,191,30,152,181,245,235,187,243,159,175,13,67,180,
+210,39,230,227,23,22,109,33,218,223,232,47,61,164,240,224,180,245,124,168,
+21,133,243,129,124,247,80,79,208,134,129,166,222,13,152,132,2,9,1,255,146,
+3,43,193,55,242,193,86,123,109,131,238,186,81,91,153,253,251,253,252,243,
+130,85,235,250,172,54,188,6,241,238,170,25,15,92,137,1,179,76,24,134,1,
+11,106,92,42,130,53,26,22,4,33,37,36,44,140,158,48,188,38,204,78,160,233,
+46,104,170,1,207,175,9,142,61,14,202,45,47,188,94,51,92,117,69,83,1,118,
+25,240,245,53,194,170,30,191,174,141,159,169,207,51,12,19,148,91,96,52,
+193,5,150,150,12,152,51,107,52,230,113,194,108,8,85,43,252,153,204,18,202,
+24,13,29,4,105,44,8,206,89,232,137,65,66,161,110,59,212,202,194,205,35,
+166,197,211,80,86,247,56,204,65,145,167,242,139,106,158,22,88,40,52,93,
+58,147,79,6,234,7,9,194,178,109,222,158,15,148,25,176,139,89,160,181,143,
+127,38,29,0,0,32,0,73,68,65,84,65,85,85,80,149,58,149,183,40,170,25,82,
+30,185,115,90,83,38,228,18,107,168,115,170,101,236,153,94,94,173,136,214,
+121,52,159,72,44,82,206,183,142,198,9,63,144,148,62,235,106,178,11,168,
+121,65,40,150,68,57,181,143,115,159,128,253,161,231,90,26,28,201,201,18,
+31,213,223,104,19,157,144,16,2,208,203,3,163,126,130,132,130,108,46,104,
+218,11,42,233,96,172,111,221,217,225,111,152,1,16,178,246,51,237,174,133,
+36,225,131,150,51,112,198,120,186,136,89,96,215,86,158,155,96,134,23,150,
+121,6,147,175,130,72,84,80,237,13,77,219,121,202,28,1,228,102,232,151,134,
+149,21,84,115,69,125,105,33,171,10,66,56,216,57,160,119,205,3,227,223,79,
+144,106,80,181,55,212,93,7,177,174,105,187,192,206,3,224,106,8,85,163,170,
+26,143,8,86,2,206,46,176,90,195,218,25,102,176,176,186,71,221,95,80,181,
+149,159,223,177,243,168,226,197,248,138,188,235,54,224,27,5,37,72,103,23,
+240,52,0,117,13,146,85,248,252,30,18,6,58,124,191,153,159,224,5,112,44,
+161,46,161,45,105,95,152,30,67,96,20,120,180,188,172,122,84,173,111,241,
+74,225,159,159,213,19,230,197,130,90,21,104,110,129,97,162,53,166,105,129,
+147,21,250,174,71,3,131,215,226,32,68,131,254,126,65,219,41,152,73,67,18,
+48,207,15,252,249,95,3,170,186,69,223,223,241,171,107,80,193,96,28,103,
+88,212,232,187,22,77,37,82,1,26,242,224,62,134,133,30,95,120,217,10,149,
+4,100,123,67,223,251,54,33,1,112,122,193,248,120,98,90,128,246,163,13,45,
+83,58,136,116,164,162,196,251,58,229,176,214,217,106,76,127,254,13,61,180,
+30,133,220,213,129,186,8,184,233,137,191,231,231,14,198,187,245,80,110,
+240,152,4,217,161,191,94,208,87,14,243,243,233,89,147,50,224,138,86,128,
+148,243,221,128,241,243,223,88,134,22,151,219,205,119,52,182,235,127,97,
+208,140,230,82,163,22,42,51,195,74,59,112,185,134,135,99,159,88,90,253,
+194,228,12,76,123,65,85,1,206,88,8,217,65,72,130,93,24,162,110,32,201,193,
+56,130,168,42,192,141,88,198,17,198,2,214,76,88,68,13,213,94,80,93,186,
+32,190,227,153,4,66,10,216,229,133,233,115,130,80,94,36,198,227,96,180,
+87,144,180,51,204,36,128,170,134,16,53,234,190,65,213,212,32,59,64,59,177,
+5,59,216,9,102,158,124,32,109,47,80,194,64,59,11,103,103,184,137,224,7,
+196,18,85,31,112,34,149,63,243,216,26,88,61,195,46,11,192,10,178,170,80,
+53,190,26,183,28,10,192,233,5,86,21,32,4,84,215,31,63,127,150,64,85,131,
+68,141,170,171,195,156,63,36,67,118,61,31,52,102,187,192,180,55,52,221,
+5,106,195,231,104,184,225,15,134,145,65,178,65,221,221,81,53,10,164,95,
+152,134,23,140,113,27,15,93,212,61,154,238,3,170,110,130,242,36,195,233,
+25,227,227,137,209,0,109,223,122,129,176,200,160,43,209,153,136,169,197,
+214,211,96,135,105,196,108,102,152,233,137,79,246,162,87,183,91,11,105,
+71,60,94,51,156,108,113,189,92,208,87,140,241,233,224,4,5,47,121,127,79,
+214,25,232,233,129,47,51,64,74,1,87,117,184,94,47,232,106,5,178,206,99,
+109,220,132,225,235,127,97,248,148,168,154,139,31,5,52,10,130,194,57,227,
+44,216,46,24,191,254,13,61,181,232,186,22,244,95,143,255,147,221,202,73,
+140,57,157,171,29,33,86,106,3,7,208,65,224,220,9,223,238,139,127,78,97,
+46,155,170,59,164,32,177,216,207,55,175,98,15,74,105,116,148,187,116,214,
+98,24,7,40,169,80,55,77,0,72,148,52,172,56,155,145,103,135,70,110,131,22,
+27,170,228,58,48,69,61,67,138,238,123,109,46,136,204,133,173,32,226,19,
+155,50,188,211,98,255,169,148,113,104,47,109,84,184,83,61,146,130,253,237,
+170,5,144,89,88,228,10,89,7,195,181,156,248,233,220,102,243,235,255,89,
+0,126,137,181,138,116,193,34,56,252,154,88,249,218,209,156,48,48,18,176,
+242,93,225,255,13,56,112,89,57,26,39,108,73,197,106,80,97,131,12,103,192,
+61,8,225,55,238,102,25,27,104,122,219,45,236,223,79,176,225,187,61,24,38,
+214,193,94,215,55,7,78,237,174,249,46,67,92,75,175,223,183,235,69,242,252,
+192,209,239,102,159,15,182,88,95,28,59,27,42,39,63,134,168,187,139,87,241,
+98,11,182,241,251,89,37,110,247,110,17,59,131,233,241,55,254,60,23,200,
+203,111,252,254,232,54,77,139,149,107,207,240,250,1,4,246,220,89,177,126,
+78,16,69,10,173,103,63,9,8,136,241,117,114,104,57,160,116,211,189,189,89,
+66,7,57,78,94,231,206,20,95,167,31,221,77,95,127,227,207,99,6,245,31,184,
+223,175,232,148,200,52,187,75,254,238,209,125,243,202,107,102,56,4,102,
+136,16,190,59,0,191,70,118,155,233,245,103,187,12,55,109,210,172,28,40,
+104,20,173,129,253,61,57,94,53,48,196,246,156,193,22,203,215,191,241,239,
+199,2,234,239,184,223,46,232,194,248,146,15,178,200,56,114,166,193,129,
+10,22,57,203,137,204,223,193,151,151,97,77,5,94,254,244,55,102,45,80,53,
+61,228,58,175,15,107,159,4,109,246,199,188,173,177,117,108,34,67,245,138,
+141,15,238,247,193,58,22,241,123,72,132,119,143,240,44,214,142,204,186,
+86,61,72,216,109,108,31,172,108,19,15,129,4,73,138,38,156,206,211,57,153,
+193,36,194,8,35,140,136,194,245,173,191,191,198,23,132,123,240,159,31,190,
+115,197,103,133,189,178,97,50,216,121,62,254,182,143,196,254,172,92,208,
+187,224,157,77,34,86,100,174,227,141,134,183,99,135,68,164,89,17,176,23,
+95,127,227,239,199,12,234,110,126,125,214,98,59,27,99,85,179,131,27,103,
+160,253,57,199,81,189,68,91,210,201,236,252,54,15,213,246,166,33,225,188,
+242,30,249,7,16,36,156,163,103,19,246,219,58,190,116,225,223,236,248,42,
+25,18,132,120,190,239,176,217,194,144,215,161,161,255,122,254,55,31,59,
+215,39,202,79,145,59,206,161,157,156,185,229,196,124,241,213,176,35,21,
+182,201,205,55,82,2,252,86,251,38,251,158,48,78,35,140,209,184,92,46,129,
+114,80,54,33,224,130,144,25,225,204,94,54,211,187,202,60,35,232,68,248,
+202,174,52,185,117,49,35,179,81,220,20,200,142,76,160,92,40,230,127,96,
+20,183,207,221,165,58,114,221,15,62,162,116,34,206,147,93,239,201,189,30,
+189,125,178,78,0,149,164,65,113,252,204,98,191,37,21,23,42,154,200,172,
+114,149,177,117,47,101,246,145,49,47,25,5,155,181,196,185,43,168,81,197,
+213,215,97,68,18,185,217,149,228,124,57,53,138,56,131,77,100,75,216,31,
+106,243,3,243,228,5,112,234,186,10,56,130,1,142,46,104,175,215,72,24,40,
+219,15,148,25,205,4,28,193,252,252,27,255,254,51,67,93,127,227,95,119,223,
+65,32,58,1,104,190,251,239,111,219,71,231,2,53,199,202,213,193,90,131,105,
+120,225,245,24,193,205,21,31,191,174,158,214,70,7,53,253,76,66,246,248,
+247,116,106,53,155,239,226,163,205,72,218,33,56,55,177,73,93,252,28,172,
+51,152,135,1,207,199,0,110,174,248,245,235,138,102,149,88,203,204,136,40,
+159,250,49,29,177,62,185,12,38,237,133,207,14,66,118,48,195,39,230,105,
+134,104,127,163,109,27,47,74,244,157,103,232,255,208,78,186,44,38,88,98,
+12,164,96,219,228,108,253,206,177,142,115,23,78,138,84,127,57,210,177,63,
+138,215,189,191,232,52,2,240,193,172,246,205,186,97,191,62,231,241,133,
+103,178,62,35,73,236,188,86,165,147,149,152,109,114,66,198,18,75,246,236,
+30,19,81,184,222,243,120,240,46,126,29,141,173,0,64,149,164,26,147,174,
+110,172,218,201,148,105,243,22,220,189,147,161,55,69,114,124,177,244,103,
+80,220,142,245,225,41,69,121,83,2,4,11,68,15,171,97,140,70,211,182,144,
+129,98,118,80,126,203,43,206,196,91,254,196,111,58,112,151,41,225,129,103,
+69,119,140,106,223,178,252,48,119,143,163,12,101,67,5,202,64,134,137,20,
+97,234,86,250,211,63,177,114,153,16,20,4,36,10,243,14,62,25,88,196,89,69,
+244,14,57,145,186,220,21,0,19,204,1,23,162,27,229,91,110,95,102,136,185,
+225,225,222,143,226,166,180,203,112,114,108,82,195,137,230,125,140,246,
+167,232,179,41,191,231,220,236,57,241,96,140,76,39,178,124,140,14,239,154,
+83,141,165,252,29,16,14,186,230,5,113,195,12,10,177,86,20,218,183,52,167,
+9,154,36,68,213,161,238,254,133,182,169,182,170,114,219,180,148,251,78,
+231,159,231,199,30,109,3,207,85,22,84,54,226,40,217,197,30,233,231,56,211,
+70,166,67,43,61,117,14,72,48,157,206,96,25,31,248,124,205,48,162,195,253,
+175,255,68,23,104,141,37,99,16,62,61,202,8,37,230,124,218,208,79,245,135,
+185,104,83,91,54,28,57,155,105,177,51,208,227,3,127,158,51,172,236,112,
+255,235,63,130,222,135,72,163,21,142,58,240,148,124,103,198,192,201,108,
+184,41,193,192,172,227,162,9,86,91,200,246,23,170,174,217,133,184,232,7,
+129,250,39,129,252,96,249,202,5,228,113,24,141,196,62,14,84,24,175,150,
+10,61,202,198,129,116,244,74,223,226,0,165,52,200,56,112,210,183,185,11,
+101,2,173,121,222,196,59,83,42,87,36,101,131,229,245,192,159,215,12,43,
+91,220,255,250,15,116,17,181,144,40,147,16,203,142,59,2,125,167,176,156,
+137,23,115,89,164,140,83,91,210,183,68,147,44,226,209,150,20,113,209,170,
+9,132,80,193,83,30,12,40,85,153,43,80,177,19,218,212,225,133,114,50,207,
+62,92,92,225,159,29,142,148,172,4,183,214,96,154,38,16,17,186,190,207,182,
+125,193,216,182,208,58,59,219,13,107,194,145,248,178,199,163,122,66,108,
+67,12,118,236,69,100,136,124,165,21,89,28,156,85,20,59,63,54,195,27,32,
+167,159,253,32,192,115,16,193,33,120,170,214,217,138,200,44,95,247,228,
+10,145,101,109,180,60,178,204,147,78,192,117,111,244,111,145,155,157,16,
+165,118,235,63,46,39,226,3,116,147,243,141,17,126,148,204,64,87,84,127,
+158,212,236,86,171,145,47,52,241,121,229,137,212,6,248,76,43,61,30,53,157,
+37,201,101,143,251,245,124,243,66,51,251,45,40,144,18,89,176,224,148,3,
+142,204,74,146,119,69,68,176,167,128,137,74,226,91,147,176,51,47,226,211,
+96,113,124,6,185,72,77,50,72,91,129,107,206,194,176,191,55,37,191,235,4,
+208,1,30,203,56,49,101,122,179,118,142,76,26,78,188,232,74,137,202,161,
+99,179,237,51,3,99,125,203,187,18,148,185,205,165,153,45,167,44,211,189,
+189,123,144,147,143,172,96,99,43,226,164,200,241,163,8,33,85,201,83,235,
+255,167,170,61,195,37,241,129,83,188,5,253,51,31,245,99,129,153,90,151,
+174,45,244,221,239,158,147,174,64,110,35,77,63,190,248,200,241,145,75,137,
+97,185,248,101,23,222,175,148,158,57,128,180,224,137,3,209,161,32,57,243,
+63,62,180,235,82,0,23,21,192,224,244,46,91,35,78,100,142,139,71,124,148,
+52,110,93,205,213,229,116,247,131,167,211,103,87,210,135,63,6,253,124,65,
+31,127,33,150,99,77,186,165,239,90,183,12,56,182,152,198,9,32,242,2,22,
+82,101,251,43,157,212,167,14,91,137,37,71,70,95,136,242,191,24,253,158,
+119,162,131,63,243,102,248,145,91,216,190,105,81,31,70,8,156,182,160,74,
+173,220,119,104,122,14,243,200,117,78,67,197,236,60,223,172,199,234,44,
+193,66,100,249,216,183,135,10,50,128,66,86,205,31,183,67,250,65,37,35,208,
+82,237,155,131,16,153,249,96,246,147,67,61,142,124,253,66,195,156,83,239,
+228,221,141,16,135,10,57,121,183,185,19,96,98,180,243,190,211,189,127,12,
+33,111,17,81,172,117,29,169,162,1,101,12,200,219,195,143,207,50,222,55,
+255,255,167,21,224,33,101,253,254,235,191,251,216,99,15,176,212,178,124,
+231,170,133,108,159,241,233,192,239,251,152,120,108,123,114,201,48,227,
+144,14,148,0,179,148,86,198,28,31,198,5,3,153,172,3,153,188,251,36,185,
+255,135,76,155,127,26,237,179,0,31,95,51,149,24,64,200,14,242,28,128,144,
+196,74,58,220,227,62,118,59,73,228,78,10,138,211,148,51,238,20,20,176,88,
+233,131,71,42,84,148,156,251,241,40,44,246,43,161,66,183,171,176,145,56,
+159,217,100,174,244,111,36,200,191,219,43,7,191,188,24,31,144,21,71,98,
+107,56,108,116,52,142,14,57,78,193,214,188,97,157,246,51,175,132,146,167,
+56,82,248,230,29,101,162,15,49,107,43,157,163,198,93,163,224,18,183,104,
+56,102,52,117,237,209,141,135,252,161,176,121,147,189,21,91,64,148,230,
+54,239,55,63,211,62,135,117,198,109,179,239,213,108,224,16,60,176,235,83,
+243,234,60,196,233,56,60,102,229,229,99,58,122,227,240,197,214,109,18,184,
+101,180,124,102,95,181,247,200,82,25,98,138,22,73,228,123,31,175,207,163,
+55,125,212,223,221,90,93,153,86,63,118,225,158,29,116,23,57,177,29,58,194,
+171,211,60,178,49,10,37,246,135,201,153,72,156,52,101,55,79,230,232,32,
+73,88,17,188,126,254,14,42,220,157,215,162,224,158,177,60,14,155,152,50,
+147,70,162,195,6,127,135,7,57,100,17,148,54,168,15,163,177,172,99,182,222,
+48,241,73,245,157,183,221,207,92,8,75,17,248,157,169,219,161,226,72,222,
+204,219,175,47,119,206,168,60,14,60,100,36,156,40,217,189,75,22,184,104,
+93,123,158,98,240,25,90,130,10,179,185,232,204,32,202,44,149,243,246,249,
+118,140,242,97,237,196,123,103,3,35,51,237,35,152,221,14,60,121,120,255,
+48,7,251,31,252,201,138,129,164,109,28,73,88,211,241,236,56,208,159,137,
+179,81,4,82,83,22,100,247,184,158,175,249,152,23,165,170,232,236,13,175,
+125,72,222,110,133,226,132,26,71,61,19,223,209,139,141,190,104,51,153,218,
+106,149,204,216,113,219,179,7,160,18,31,23,242,22,107,163,129,3,83,50,41,
+32,188,187,183,114,53,159,166,215,148,141,160,143,149,163,64,222,62,89,
+219,184,81,59,229,72,227,34,28,158,26,225,24,240,56,189,177,28,108,70,133,
+98,112,159,191,250,255,53,198,219,204,214,117,229,121,214,209,33,121,132,
+203,228,13,68,42,142,156,226,202,49,246,118,78,90,216,113,192,141,213,234,
+4,5,137,67,145,246,92,15,245,13,246,77,188,46,40,74,59,33,84,58,1,233,93,
+107,30,97,44,160,130,126,60,202,11,142,10,99,147,164,207,75,219,187,246,
+60,250,61,216,81,38,57,144,124,198,49,205,221,46,128,233,104,24,74,68,229,
+17,111,33,23,143,67,197,33,56,114,250,121,28,205,62,233,128,55,64,49,108,
+112,148,120,100,186,202,73,64,221,156,174,142,125,147,120,210,119,8,232,
+197,30,68,118,182,115,124,194,112,14,94,224,228,62,54,132,244,187,74,157,
+127,176,118,190,107,235,126,103,69,76,135,29,147,181,20,82,216,26,255,36,
+152,100,212,184,242,223,167,137,247,207,134,206,241,160,141,223,134,5,58,
+36,7,116,92,235,145,165,109,34,149,17,13,16,98,90,45,231,152,155,28,243,
+130,40,248,243,122,135,209,72,52,224,128,24,121,91,255,77,230,248,255,186,
+114,63,62,149,212,105,124,7,11,199,224,232,4,136,204,165,215,27,159,67,
+156,116,71,19,217,111,196,72,240,239,17,199,49,232,52,237,214,164,177,135,
+75,251,36,251,223,181,136,220,247,26,71,133,4,71,137,53,109,99,176,211,
+163,166,228,173,66,177,43,232,190,34,57,26,177,241,143,82,54,206,38,40,
+37,36,10,21,61,160,69,190,192,57,18,63,89,145,160,165,140,170,220,206,205,
+74,244,216,71,61,252,85,92,157,238,51,110,42,30,88,236,28,230,121,134,148,
+18,117,93,39,136,78,100,110,239,229,108,158,179,32,67,233,209,145,211,232,
+226,185,239,33,71,97,88,99,61,101,139,142,126,189,96,74,81,217,135,202,
+134,18,252,215,225,118,249,251,99,209,25,27,232,38,133,13,149,31,216,73,
+25,24,186,40,217,98,95,23,94,146,147,165,56,183,13,185,203,135,139,12,65,
+143,114,105,146,253,48,224,66,101,198,135,162,240,88,247,165,57,106,58,
+58,202,205,5,83,171,221,83,245,3,47,6,20,5,245,196,35,62,223,168,84,46,
+28,56,186,131,29,33,205,135,80,196,165,194,35,235,144,36,169,232,6,100,
+76,243,50,94,71,8,204,105,65,133,147,25,122,233,176,45,253,47,189,249,111,
+46,84,2,217,123,225,195,49,77,111,42,246,119,1,153,128,19,52,205,17,58,
+247,79,90,205,20,93,19,3,223,166,31,84,108,131,112,244,110,87,22,14,35,
+115,26,63,155,23,243,33,42,237,18,183,68,91,215,108,115,40,67,42,141,74,
+244,131,196,142,254,63,136,237,169,36,219,214,146,167,184,138,15,193,47,
+142,215,57,226,189,232,119,157,44,37,222,207,155,168,168,216,146,195,24,
+159,92,236,36,173,133,68,90,68,165,197,34,231,233,90,250,243,184,178,90,
+247,28,81,130,45,162,216,143,131,211,58,134,40,107,171,191,29,117,209,158,
+180,31,18,254,184,168,224,31,108,151,188,231,153,164,94,137,180,73,86,197,
+174,21,124,161,197,140,29,193,188,117,39,34,180,49,33,155,141,36,252,178,
+72,209,41,32,37,207,202,56,166,125,225,115,180,80,152,29,22,189,128,153,
+209,52,45,206,224,9,252,102,126,159,4,165,172,253,202,103,224,146,245,5,
+36,29,170,176,40,165,55,13,72,42,199,188,152,221,90,80,105,203,169,212,
+177,163,159,244,222,214,231,19,92,229,132,146,56,85,248,204,83,215,168,
+191,196,235,66,142,158,71,222,229,200,139,255,61,35,201,16,14,28,63,227,
+52,48,149,32,24,49,12,139,66,176,245,158,197,92,192,150,242,143,114,30,
+14,217,47,81,166,70,200,132,216,184,104,237,160,48,237,98,62,91,70,30,173,
+124,42,244,127,14,201,18,82,240,204,58,30,224,172,83,84,170,43,185,212,
+66,219,144,201,40,2,241,118,118,8,197,133,223,81,70,152,78,122,226,116,
+118,152,151,214,28,101,173,122,62,180,152,114,199,4,42,37,109,197,118,251,
+73,59,28,199,3,57,175,195,232,164,189,127,182,66,182,195,207,217,96,39,
+186,190,159,149,75,236,178,144,79,167,150,181,113,133,181,231,254,148,38,
+116,81,209,146,167,43,201,62,99,58,142,210,214,202,142,9,201,33,201,71,
+204,53,147,55,146,178,133,10,255,159,21,235,126,239,25,109,96,172,3,187,
+132,146,177,83,184,50,252,9,209,14,14,76,216,37,113,48,203,254,125,17,25,
+206,116,196,106,48,227,253,12,37,86,52,77,223,216,170,34,200,180,167,116,
+244,166,233,152,62,188,40,0,175,154,25,155,247,69,170,113,16,23,71,135,
+169,21,83,130,165,72,206,88,166,211,188,138,179,21,126,104,200,69,159,71,
+97,174,145,112,65,104,47,94,206,22,132,218,51,85,159,87,184,32,156,34,99,
+7,180,32,39,202,46,58,172,201,147,244,41,39,191,22,25,244,188,181,151,139,
+179,230,13,209,189,191,122,173,53,244,162,81,213,53,148,82,169,42,220,155,
+136,120,16,173,229,60,155,138,168,126,140,100,254,149,64,227,34,156,132,
+11,106,113,36,87,65,136,104,254,188,38,39,137,19,1,101,70,5,41,64,134,178,
+142,249,105,251,116,221,236,142,225,156,245,186,223,244,141,40,125,174,
+84,23,243,194,163,160,200,49,133,37,222,99,57,155,34,2,139,176,101,88,231,
+127,95,200,181,85,199,9,24,195,63,171,93,189,79,8,32,54,17,99,167,49,143,
+35,166,201,66,180,23,244,125,3,69,239,120,201,229,213,79,20,69,60,32,177,
+41,78,105,155,17,231,61,136,98,184,85,84,34,8,222,136,24,121,74,116,172,
+2,98,67,25,196,192,188,221,35,58,161,137,173,2,31,193,103,219,11,170,120,
+209,16,118,222,59,27,34,18,146,138,168,153,113,109,204,206,134,123,149,
+59,160,178,164,77,80,66,241,242,55,221,216,131,40,18,103,109,198,104,124,
+21,81,226,142,131,175,84,143,142,223,244,144,217,90,88,231,101,130,189,
+136,76,74,179,59,75,212,143,8,153,210,122,9,45,80,167,49,79,19,198,209,
+66,180,61,250,139,128,2,67,79,3,94,79,13,217,117,232,47,45,212,161,68,160,
+244,62,55,61,144,104,112,20,81,146,168,180,54,143,224,159,173,59,185,117,
+67,147,34,37,173,122,157,5,156,3,32,1,25,3,211,153,97,166,23,158,47,227,
+175,191,111,130,222,250,63,8,238,129,186,56,79,35,158,143,39,38,43,80,95,
+238,248,184,122,151,186,21,112,67,49,34,132,210,194,143,136,138,85,98,94,
+68,37,207,12,145,23,7,197,5,11,109,207,135,169,220,132,161,100,48,150,174,
+18,78,31,242,65,239,131,222,236,9,226,93,223,130,41,21,179,217,146,27,138,
+18,240,173,147,150,119,131,25,49,157,119,143,97,200,112,11,148,150,150,
+76,40,73,26,28,57,30,28,121,153,68,159,185,254,156,247,243,131,10,241,109,
+11,240,96,134,113,6,122,154,176,24,160,234,218,160,71,191,202,248,45,152,
+231,5,198,216,160,184,35,160,218,22,93,91,67,9,81,104,144,83,2,143,207,
+29,19,51,115,117,228,86,62,198,106,44,243,2,85,85,94,62,177,240,166,232,
+208,46,60,178,115,83,84,95,52,52,138,99,215,250,176,41,189,20,142,102,109,
+32,68,202,76,133,93,29,103,174,49,223,63,251,113,89,111,255,253,144,154,
+195,152,65,5,11,216,183,187,152,249,64,3,216,148,234,226,115,39,122,55,
+156,97,34,56,30,40,70,159,101,23,194,215,191,25,47,13,180,119,194,253,10,
+84,145,65,152,115,192,252,2,62,31,132,105,1,28,128,186,3,126,127,0,93,11,
+8,48,204,50,225,245,26,96,160,208,116,23,116,109,5,185,29,242,94,49,11,
+76,224,160,255,157,168,26,158,140,32,41,31,151,22,128,62,196,62,177,48,
+65,15,220,44,218,7,102,217,161,185,222,189,77,45,165,218,105,20,145,236,
+55,8,15,229,211,104,42,234,245,123,237,241,193,251,193,75,111,141,43,165,
+5,27,239,70,103,172,66,117,245,14,113,132,152,78,183,134,27,235,181,183,
+135,17,172,58,84,77,7,25,123,59,36,73,14,54,197,46,56,7,7,10,222,214,244,
+207,168,85,148,157,132,7,132,48,21,38,221,145,169,71,218,251,56,252,113,
+122,198,235,243,19,207,5,232,62,238,184,118,45,20,209,161,41,254,110,220,
+76,40,103,51,235,111,153,217,107,130,107,86,104,250,11,186,166,242,103,
+152,179,112,243,140,121,89,32,235,6,173,99,175,21,240,102,180,119,96,103,
+36,149,19,71,149,39,29,166,161,241,51,229,232,243,138,52,76,102,56,6,204,
+76,152,158,192,107,1,218,59,112,235,224,157,192,8,222,108,41,24,129,201,
+186,70,235,216,203,17,159,20,4,165,241,141,51,11,198,231,23,6,35,208,92,
+126,227,214,40,40,169,188,164,114,146,211,228,7,97,94,161,132,80,197,57,
+157,52,233,127,38,207,145,168,48,95,163,2,253,30,71,49,25,100,195,160,124,
+234,206,217,33,86,98,237,228,224,242,53,96,50,86,161,34,164,78,218,156,
+81,196,179,150,192,102,134,182,22,13,68,199,118,44,29,11,206,109,167,211,
+217,43,43,136,175,113,76,91,207,68,189,162,88,115,92,123,254,58,21,204,
+140,113,214,176,206,194,24,134,168,90,84,149,15,238,12,7,51,14,24,13,65,
+213,29,46,45,129,205,132,97,242,102,31,84,224,39,37,228,168,53,35,36,74,
+4,93,152,114,212,31,39,192,167,121,158,65,130,130,167,113,58,247,58,54,
+11,41,217,160,156,76,202,178,74,20,216,45,66,147,4,148,143,205,192,85,173,
+206,248,42,202,171,213,137,180,33,25,209,40,120,163,186,80,54,215,162,3,
+29,48,153,134,208,59,100,48,96,131,134,178,140,91,243,69,196,115,236,138,
+195,89,27,25,145,18,213,113,241,83,246,184,136,142,51,252,101,4,166,137,
+64,61,163,111,67,112,95,219,70,22,120,252,13,252,249,2,236,122,219,21,208,
+182,64,219,120,69,51,61,60,240,53,104,176,106,113,187,93,80,75,138,164,
+106,1,214,47,76,175,17,144,23,212,215,222,75,144,198,156,239,252,16,97,
+126,35,237,75,251,198,133,131,153,191,188,155,150,236,209,92,254,66,125,
+35,64,143,48,44,2,112,147,178,118,43,23,102,94,25,175,154,83,59,223,196,
+156,211,142,152,95,35,28,213,168,187,62,200,190,106,152,101,132,94,28,68,
+215,123,157,112,177,91,140,198,6,63,206,121,247,45,166,6,117,219,237,90,
+7,116,146,7,50,0,251,196,240,28,193,242,130,230,210,99,187,45,198,57,144,
+147,75,153,38,31,142,234,34,197,249,48,156,121,91,58,194,204,35,198,105,
+1,117,119,180,109,19,186,58,156,76,202,83,200,213,119,163,230,184,229,20,
+214,215,75,131,171,14,247,91,143,74,137,221,45,89,16,64,14,198,58,72,120,
+9,219,83,231,138,140,110,186,179,78,163,74,113,173,232,50,37,69,138,198,
+154,27,47,25,59,149,105,59,157,34,202,153,155,9,143,39,48,27,96,158,1,209,
+51,186,142,160,100,20,216,130,105,138,182,222,238,84,9,42,143,103,79,31,
+150,195,252,250,196,160,5,234,235,7,174,173,247,30,207,225,145,28,75,211,
+113,174,34,153,3,177,51,128,4,83,210,9,162,72,228,140,215,191,163,84,220,
+236,32,198,148,96,180,142,182,67,153,230,101,38,149,146,119,74,178,156,
+53,238,160,100,227,211,184,240,139,25,17,28,179,191,98,22,75,54,214,93,
+245,12,54,20,63,113,66,45,143,9,149,244,86,145,165,212,49,11,141,124,206,
+43,178,117,244,186,59,178,34,198,121,133,219,80,211,226,32,148,23,180,183,
+172,80,119,181,207,172,137,225,150,217,27,88,212,61,154,90,66,176,133,182,
+14,16,53,154,85,80,131,78,4,74,169,132,88,204,128,121,216,109,71,215,63,
+90,123,115,132,190,235,163,96,156,86,238,249,162,163,147,201,59,229,83,
+15,226,8,33,93,242,151,227,4,225,232,192,190,133,43,104,87,89,75,229,140,
+118,165,190,98,28,162,211,204,154,233,77,21,31,173,57,41,4,190,87,46,201,
+82,224,40,227,142,57,254,91,91,170,112,105,137,154,219,122,168,57,192,90,
+191,212,68,3,252,254,223,25,170,34,95,89,48,224,44,195,25,96,26,8,127,94,
+12,209,3,191,175,64,173,8,66,249,36,0,78,99,122,62,240,28,29,212,229,134,
+107,95,163,90,239,199,89,95,237,154,25,122,126,194,112,131,166,146,32,103,
+193,188,106,180,135,99,113,213,220,167,157,75,180,234,168,251,100,211,121,
+89,254,72,139,154,131,249,131,15,170,191,209,215,141,103,63,80,176,57,37,
+225,55,135,51,190,51,181,97,111,132,215,46,167,0,170,68,218,5,17,66,134,
+67,55,140,174,86,157,108,223,234,128,158,159,208,220,160,189,244,144,176,
+112,65,148,72,52,191,112,105,40,213,233,14,186,227,219,212,192,44,48,243,
+11,22,53,234,203,5,42,56,213,109,153,252,170,197,189,38,7,214,194,217,5,
+102,246,118,159,77,37,65,236,157,196,182,202,201,186,125,221,7,45,238,77,
+71,159,35,31,128,109,221,122,173,238,4,19,115,216,85,187,207,128,181,54,
+114,89,244,247,231,151,136,7,133,90,102,64,117,248,248,143,11,84,163,32,
+131,17,39,59,7,227,52,92,124,240,49,65,172,58,219,65,16,200,90,11,7,218,
+158,189,140,246,3,187,5,211,235,137,215,224,32,175,55,220,58,223,85,76,
+114,27,246,107,67,74,5,169,36,118,233,71,28,193,117,217,88,139,183,150,
+46,37,227,187,100,12,199,124,200,177,143,17,108,255,193,26,232,204,12,140,
+131,223,91,29,1,218,1,183,59,161,150,89,190,225,86,139,218,10,74,137,51,
+90,254,9,110,208,65,79,47,239,246,215,125,224,210,72,8,226,29,91,148,117,
+250,98,220,1,31,192,151,153,222,67,209,139,59,197,200,239,141,180,92,165,
+50,58,255,15,46,61,101,61,145,173,90,230,52,57,164,236,115,78,244,167,82,
+140,25,197,114,177,37,196,115,230,21,144,196,156,20,131,145,112,63,86,23,
+199,164,193,194,223,106,226,196,248,31,206,37,149,183,196,168,208,249,96,
+62,135,219,16,160,154,182,134,211,51,6,67,144,85,141,90,138,96,129,26,230,
+149,97,110,104,45,99,153,151,208,94,109,209,40,17,209,6,210,47,78,112,68,
+177,113,73,66,27,64,74,89,130,71,169,207,243,140,74,41,40,165,210,99,101,
+155,63,164,227,174,224,8,28,178,74,42,150,41,59,102,40,157,155,108,115,
+227,168,193,182,203,242,250,185,247,198,85,141,16,249,73,134,18,29,212,
+187,113,5,101,2,62,28,137,38,208,49,201,65,150,249,134,85,99,173,5,17,65,
+178,72,75,253,51,128,77,34,223,23,155,193,164,191,30,119,28,182,191,119,
+192,42,200,199,32,192,0,195,23,227,207,195,87,23,82,17,174,191,25,247,198,
+255,219,233,201,248,251,11,24,23,2,59,192,50,32,52,193,46,192,245,23,240,
+209,132,224,254,250,194,99,116,168,250,59,238,151,6,91,103,209,105,152,
+215,39,166,225,229,3,4,9,16,105,140,122,240,110,88,173,4,130,254,1,179,
+133,89,24,85,167,224,172,129,229,214,7,79,30,177,140,26,36,37,216,205,208,
+179,1,201,11,218,219,29,85,229,176,188,62,125,59,188,251,64,221,214,27,
+39,116,51,150,113,6,86,143,208,195,11,139,214,155,83,34,213,31,232,46,61,
+132,125,98,26,23,8,169,192,110,129,94,52,136,26,52,247,223,168,219,218,
+39,6,102,132,30,6,232,197,255,190,101,128,234,43,186,190,133,116,35,198,
+199,23,180,182,160,234,142,246,122,67,211,200,109,224,202,206,194,154,17,
+203,240,130,214,102,55,228,169,174,104,47,23,40,114,176,203,11,243,16,198,
+10,97,45,139,250,142,238,210,1,203,3,243,240,130,177,235,142,151,112,102,
+4,169,14,109,127,69,85,17,172,30,176,140,131,183,183,5,131,170,43,186,235,
+7,234,90,250,235,215,3,150,241,5,189,24,127,93,178,66,213,223,209,116,61,
+68,86,205,39,244,36,6,172,94,48,12,15,12,175,17,75,80,124,107,174,31,184,
+223,46,104,200,66,15,95,248,122,62,49,76,14,44,59,220,127,127,224,222,174,
+6,35,6,243,243,11,95,79,111,165,203,236,224,88,64,181,87,124,124,220,112,
+105,37,172,54,152,95,15,188,198,1,179,1,72,182,184,125,220,113,191,182,
+16,236,29,196,230,199,3,95,19,163,238,174,248,184,180,16,135,222,11,195,
+89,3,173,13,88,54,168,85,176,194,62,180,230,35,31,187,32,174,229,172,11,
+103,67,188,245,4,148,10,54,198,198,29,241,97,68,144,66,97,115,66,222,246,
+185,219,192,91,107,245,175,26,160,151,128,153,128,207,25,168,47,64,223,
+0,50,171,93,57,92,63,100,131,90,85,30,31,197,121,56,202,100,88,194,133,
+57,51,99,28,70,88,213,225,210,53,161,237,207,137,144,13,146,42,56,210,157,
+143,104,195,28,5,229,178,212,241,158,28,81,204,237,143,203,50,138,29,2,
+105,15,136,103,56,134,164,31,203,105,209,82,128,95,150,41,85,185,243,79,
+218,209,141,65,195,140,51,169,178,212,203,100,7,85,70,42,153,177,110,8,
+33,9,211,56,209,113,160,34,122,140,179,174,33,71,194,87,188,41,237,113,
+2,58,229,114,157,200,128,98,107,176,44,22,144,21,218,70,237,109,45,222,
+29,164,150,101,194,203,41,52,77,131,190,82,193,149,9,169,82,79,150,214,
+157,113,55,115,109,94,10,129,205,90,139,69,47,32,18,104,154,102,95,182,
+193,225,9,96,8,33,119,64,212,186,166,182,68,36,84,187,20,209,76,24,187,
+13,36,0,137,224,144,68,188,139,14,172,78,84,1,204,68,161,165,228,77,207,
+188,41,134,181,22,0,249,86,171,72,37,223,216,33,200,214,50,148,80,7,228,
+28,59,134,229,208,230,103,117,80,35,99,14,178,183,32,143,103,136,86,170,
+148,62,176,27,231,143,25,37,100,145,191,108,131,228,169,20,18,185,42,21,
+51,195,178,55,190,150,235,239,175,27,120,197,95,88,95,31,9,10,38,32,142,
+161,103,96,24,129,69,135,121,122,11,180,45,65,50,195,44,132,113,36,204,
+51,195,122,19,53,72,73,16,194,207,221,187,14,16,78,99,122,61,49,44,140,
+234,114,199,173,223,131,251,102,49,91,55,80,214,130,156,130,234,174,168,
+43,17,158,217,4,61,60,49,79,22,178,174,252,187,87,50,180,70,43,84,149,2,
+185,9,203,244,130,49,21,234,170,130,170,21,8,3,44,19,224,102,44,207,193,
+251,33,247,31,168,155,42,45,166,156,129,91,6,44,203,12,71,21,212,229,55,
+46,176,48,211,19,198,10,200,182,241,30,246,207,7,140,171,188,45,113,93,
+67,208,0,199,222,15,221,205,207,96,171,89,67,245,191,81,247,6,102,122,65,
+91,130,106,59,8,193,112,44,81,213,29,0,13,86,10,82,10,191,175,156,1,47,
+3,230,217,127,127,213,255,70,13,11,59,61,161,157,132,108,123,8,140,88,158,
+51,156,216,63,223,206,47,104,43,160,218,11,84,37,193,220,162,170,13,224,
+42,84,253,21,74,170,0,124,119,128,30,49,63,38,88,170,160,218,95,168,59,
+13,61,14,176,161,85,227,204,8,51,189,194,253,254,133,203,117,55,76,34,169,
+14,2,51,9,154,220,57,232,241,137,175,97,1,100,131,251,191,238,80,193,217,
+138,148,12,216,29,137,170,187,224,226,0,231,102,184,218,99,118,68,144,106,
+21,36,80,247,119,252,110,47,176,122,198,52,206,48,80,104,175,23,116,10,
+152,159,95,24,22,239,49,255,241,187,135,153,158,120,142,6,54,0,245,192,
+22,243,240,8,246,173,222,54,86,162,32,96,227,44,204,60,99,97,137,186,239,
+209,170,227,220,221,89,231,215,88,184,111,231,22,12,207,39,158,207,17,58,
+184,16,250,7,34,209,116,87,92,250,6,88,94,254,231,206,237,170,100,36,80,
+183,87,92,111,55,116,181,220,106,89,107,173,63,108,165,8,213,88,132,237,
+48,140,97,36,112,3,220,47,128,202,171,57,103,160,151,25,51,43,52,125,143,
+70,230,234,142,62,89,242,231,147,220,178,10,107,45,172,213,88,166,25,22,
+13,186,235,21,173,202,77,124,114,218,85,132,236,95,125,40,56,13,106,105,
+113,146,151,248,148,206,243,183,98,57,85,139,44,234,234,83,185,80,225,172,
+107,180,119,136,227,51,252,68,15,135,178,214,113,6,49,57,112,178,182,28,
+133,14,158,64,73,0,229,104,174,73,233,40,243,88,77,211,15,101,119,249,212,
+42,41,101,44,70,109,252,44,119,161,66,1,168,230,101,129,38,129,182,169,
+189,121,60,49,236,50,99,94,52,44,252,1,37,196,132,201,88,56,246,158,231,
+196,41,5,107,123,216,185,30,110,70,110,65,36,197,137,88,215,156,217,171,
+213,57,246,115,119,33,247,150,151,16,16,121,117,27,101,85,66,16,28,60,18,
+154,10,45,30,111,8,19,218,178,33,125,225,140,123,43,105,15,124,62,33,240,
+73,131,8,1,86,74,25,181,149,82,9,66,34,132,159,239,243,253,36,41,21,128,
+228,194,12,53,90,5,82,168,237,115,25,222,18,119,165,197,65,16,20,201,50,
+152,102,77,4,132,204,100,151,210,63,219,253,69,85,5,71,59,53,157,241,250,
+247,89,181,192,237,6,88,75,88,36,227,118,3,90,229,59,211,212,48,110,31,
+4,199,132,175,5,232,111,192,71,15,63,55,127,97,31,87,0,0,32,0,73,68,65,
+84,148,128,132,195,252,122,224,49,26,200,246,138,126,173,28,226,249,184,
+91,2,216,173,69,125,189,160,174,148,71,150,187,9,243,56,194,58,133,250,
+210,130,237,2,70,11,165,66,107,76,181,80,164,97,166,17,142,122,180,191,
+110,168,42,192,190,62,193,168,81,213,10,110,126,193,146,242,158,243,77,
+149,181,211,52,244,248,9,189,56,80,117,65,211,117,144,194,64,191,6,56,174,
+80,117,61,36,38,44,195,11,78,93,209,93,110,168,20,96,134,47,48,75,168,182,
+1,235,23,230,197,66,212,23,212,109,11,41,44,204,107,246,35,174,254,138,
+170,169,252,171,208,15,204,198,0,178,67,211,119,254,128,135,198,50,124,
+66,107,6,213,23,180,109,11,73,214,127,63,106,84,93,3,232,17,139,177,16,
+213,37,24,43,89,232,193,127,126,213,93,61,56,207,141,208,203,12,75,29,234,
+107,143,170,14,70,25,206,251,178,47,227,4,174,58,212,77,7,33,44,236,172,
+125,50,211,94,160,20,195,14,15,44,179,5,213,55,72,165,2,253,50,5,100,240,
+1,58,21,218,143,102,194,244,122,98,210,18,221,189,242,45,121,37,2,243,38,
+218,27,206,96,158,22,176,106,112,185,246,168,149,128,136,101,165,137,97,
+230,1,179,118,16,237,13,31,109,13,37,45,198,175,47,188,70,11,217,93,208,
+54,222,211,220,24,11,22,117,72,180,0,243,250,194,99,48,144,221,21,151,174,
+130,148,84,216,34,12,214,35,158,175,9,78,118,184,181,85,104,239,167,195,
+59,33,101,80,169,11,193,209,1,170,233,112,175,186,228,96,39,161,80,41,9,
+192,193,82,31,126,30,137,46,75,5,165,42,72,41,32,121,119,18,147,129,121,
+67,201,129,77,112,6,120,61,9,19,1,183,43,208,20,146,15,214,195,118,253,
+215,182,194,209,122,98,77,76,54,52,41,230,225,137,175,199,0,77,53,46,247,
+27,110,117,181,91,139,210,142,57,162,156,215,26,233,204,111,65,57,71,10,
+159,81,91,34,52,61,115,201,209,45,43,246,223,56,208,109,250,245,76,155,
+216,19,101,148,232,184,77,159,104,183,156,193,52,146,206,3,167,204,170,
+173,24,220,187,188,113,55,152,50,173,128,245,247,185,8,198,76,1,190,252,
+237,116,149,139,244,210,4,71,198,92,228,94,16,103,73,2,211,193,76,74,25,
+11,212,93,131,170,242,129,212,46,51,166,73,3,170,69,91,43,40,225,176,56,
+130,64,240,166,45,216,213,113,172,112,196,116,64,62,35,151,163,165,52,11,
+210,218,187,196,181,1,45,156,91,152,138,92,5,44,201,218,104,71,37,114,1,
+180,135,213,99,153,18,32,103,44,108,147,25,60,193,91,138,203,61,96,243,
+201,240,156,232,208,106,39,206,113,9,101,74,68,252,42,51,229,150,160,146,
+71,32,193,39,253,28,74,193,126,7,215,52,36,178,129,187,185,67,129,95,90,
+194,58,2,96,3,204,3,65,131,209,223,128,190,101,40,177,91,29,154,5,24,12,
+80,247,192,199,21,104,171,157,166,102,150,17,195,48,131,213,21,151,190,
+69,45,210,107,118,118,134,30,30,208,70,162,190,94,80,169,80,121,154,217,
+87,229,182,70,213,42,192,77,48,162,67,165,4,88,15,112,178,71,37,29,236,
+52,131,171,43,218,238,2,37,125,53,173,23,64,54,45,132,155,48,59,9,117,189,
+163,110,234,221,6,136,1,64,195,140,79,232,25,144,151,59,170,186,129,224,
+5,102,120,96,94,128,234,114,131,132,134,30,39,176,186,163,235,123,72,201,
+176,211,19,70,19,100,215,65,176,198,178,56,200,254,142,186,174,33,88,67,
+15,15,204,161,83,81,5,71,42,103,70,44,211,0,75,29,154,254,2,165,36,192,
+58,96,2,214,239,175,33,156,198,50,124,97,214,132,170,111,65,188,192,24,
+134,236,239,168,170,26,18,6,122,248,196,60,3,213,229,142,186,173,65,102,
+130,158,190,176,216,10,117,223,163,170,214,224,174,97,230,7,166,215,19,
+198,50,200,104,184,233,11,144,53,84,115,71,115,105,33,149,0,88,135,78,149,
+129,29,62,97,245,140,246,250,129,170,174,138,230,190,180,9,10,135,125,78,
+210,39,4,243,130,231,191,255,23,166,186,195,253,215,29,215,182,218,3,131,
+155,49,190,70,140,70,162,251,125,69,191,117,7,253,58,176,203,132,97,24,
+49,179,68,215,95,209,53,10,196,22,203,240,192,231,231,19,139,5,132,158,
+49,124,133,107,16,53,186,143,43,250,70,128,151,1,207,97,6,170,27,46,93,
+11,37,202,166,65,48,11,134,97,192,130,26,215,75,143,182,18,25,169,47,58,
+76,137,192,236,96,150,17,143,63,95,24,22,19,179,48,65,170,193,229,118,7,
+243,130,233,235,129,97,49,190,179,24,62,78,84,13,250,219,47,220,20,37,158,
+21,20,203,68,199,113,210,1,243,224,247,80,247,11,232,170,76,248,45,236,
+135,97,24,177,112,133,235,165,71,163,100,249,252,72,230,162,18,117,219,
+162,55,26,207,209,193,57,236,163,195,136,96,159,2,37,115,154,122,42,0,117,
+212,158,47,245,131,115,189,106,222,186,161,200,176,120,40,1,236,146,174,
+4,29,192,216,156,181,236,143,218,45,111,12,197,40,7,211,69,167,115,140,
+192,167,242,44,254,180,255,29,181,253,115,166,216,182,87,50,200,247,41,
+84,34,54,120,123,211,140,32,68,212,189,12,227,80,18,215,82,168,26,223,242,
+100,14,28,229,25,86,52,232,154,10,149,96,56,99,96,52,67,86,13,234,42,180,
+200,169,144,141,229,116,179,8,176,118,72,156,54,46,177,207,246,230,101,
+134,82,42,80,226,184,48,151,40,203,128,174,8,100,250,1,216,44,6,183,128,
+207,70,233,30,7,64,130,64,82,28,244,241,147,3,47,81,120,139,184,203,68,
+111,221,56,241,6,32,179,182,243,136,66,215,224,76,5,165,228,250,20,227,
+144,153,19,62,239,70,7,65,220,158,63,16,43,64,12,88,179,82,222,8,143,145,
+129,14,104,107,130,92,147,4,102,184,133,240,249,0,172,4,126,95,25,109,29,
+29,155,236,231,166,147,171,112,237,253,161,154,102,17,22,118,250,194,172,
+129,170,191,161,174,84,184,14,11,51,125,98,49,10,85,219,67,232,47,204,44,
+81,213,53,104,254,130,33,191,78,221,248,0,171,11,234,254,10,69,22,110,122,
+98,158,52,208,116,80,202,97,126,248,224,188,5,61,182,96,23,146,196,229,
+137,229,53,129,59,31,136,201,78,152,95,159,88,102,134,186,252,66,85,89,
+44,95,3,88,246,168,47,87,40,193,224,217,87,186,162,233,160,132,198,252,
+24,129,246,3,85,83,3,118,198,242,250,196,180,48,170,254,215,54,231,103,
+167,161,135,47,88,116,168,251,155,167,52,49,124,91,254,53,129,219,240,253,
+102,198,50,252,193,60,49,170,235,47,212,52,99,124,77,224,230,142,182,174,
+65,118,198,60,252,9,193,253,23,234,182,1,177,103,5,76,11,161,238,47,104,
+170,218,99,39,156,175,246,150,215,12,106,127,227,218,117,126,150,187,169,
+84,197,212,67,5,217,253,133,75,61,99,121,252,193,226,120,235,80,121,251,
+89,63,182,1,224,177,48,57,106,73,53,232,62,254,3,205,69,227,245,231,223,
+248,50,46,1,78,129,29,220,60,224,57,104,200,203,29,125,91,5,228,186,159,
+181,155,105,196,115,50,16,85,139,123,215,109,116,75,182,51,94,225,249,254,
+231,199,37,36,134,216,218,223,190,18,182,24,162,245,213,168,84,27,98,191,
+84,139,121,124,226,105,36,186,203,21,151,182,218,250,119,153,231,53,118,
+61,111,1,89,119,184,255,85,227,122,96,170,175,224,72,135,74,53,184,21,142,
+106,33,165,239,112,101,220,211,189,8,222,49,75,188,0,159,79,64,94,128,75,
+231,231,238,169,79,141,197,50,190,240,212,10,221,229,134,107,163,126,110,
+78,66,4,54,6,80,29,234,186,14,93,139,35,250,122,29,97,102,4,223,212,199,
+30,199,145,117,66,171,45,217,147,83,170,254,83,104,58,3,239,100,105,41,
+135,117,242,129,158,154,138,196,159,153,31,114,241,251,57,163,211,110,182,
+214,185,223,125,110,230,149,209,99,19,7,210,66,197,158,90,205,150,61,233,
+19,220,60,167,134,172,57,229,47,30,84,172,137,216,250,174,232,196,10,90,
+85,149,88,37,110,96,181,198,226,24,66,250,57,165,54,6,122,94,96,169,66,
+219,70,11,101,107,157,68,70,4,156,130,21,144,81,227,98,229,187,237,133,
+57,198,178,44,96,7,52,125,147,101,165,92,36,17,100,242,198,5,44,60,163,
+104,153,186,113,26,35,171,209,36,9,228,208,174,11,115,250,18,165,34,6,66,
+80,106,139,202,84,112,94,79,27,17,71,244,105,14,244,9,8,98,18,116,218,9,
+203,80,49,105,187,41,18,105,41,21,248,148,80,243,82,196,41,91,194,248,98,
+252,249,155,49,91,192,25,246,192,57,38,124,17,32,126,19,186,138,193,154,
+240,124,50,70,7,92,238,132,190,73,129,61,78,207,152,23,7,170,26,212,85,
+102,151,200,12,187,12,88,230,5,16,55,40,65,112,142,65,48,190,10,215,12,
+209,180,128,29,161,13,65,245,45,96,38,24,167,160,218,10,172,253,204,184,
+234,106,144,29,176,232,17,70,3,162,185,163,110,5,120,250,132,181,12,146,
+14,108,22,24,7,15,148,116,18,82,58,216,105,130,1,161,150,4,59,126,133,46,
+2,65,246,191,80,43,134,121,189,96,92,133,230,118,129,18,14,118,30,176,140,
+19,156,186,163,173,8,102,28,161,89,160,150,4,55,126,97,121,125,249,153,
+123,255,23,154,174,221,130,187,153,190,160,23,11,234,124,144,182,134,32,
+20,195,76,35,12,19,26,41,96,135,79,232,215,3,139,37,168,203,111,212,21,
+160,135,9,214,249,235,51,211,122,125,216,62,159,216,193,233,23,244,172,
+1,113,133,148,4,199,14,196,194,87,254,203,4,227,0,37,171,189,162,16,222,
+206,152,200,5,60,203,250,46,252,126,119,144,168,186,59,170,74,250,192,108,
+23,188,30,127,240,249,48,80,221,29,191,126,95,209,40,17,10,0,7,203,30,88,
+198,204,176,90,195,144,68,123,185,160,173,4,156,181,112,214,130,205,130,
+225,57,97,134,196,189,86,16,161,37,204,118,198,248,124,97,152,44,100,127,
+69,93,87,32,182,176,86,64,10,127,22,44,214,123,218,139,149,45,0,10,123,
+210,175,50,59,77,219,250,242,93,163,163,27,29,59,131,121,120,225,53,106,
+200,238,55,174,93,117,176,162,77,165,120,57,162,28,73,72,37,247,128,123,
+128,63,203,221,19,35,54,108,224,8,205,29,37,68,28,1,206,216,1,206,18,172,
+1,134,7,160,1,220,26,15,153,216,165,67,216,3,16,135,151,79,144,186,95,184,
+246,245,161,64,62,39,209,88,44,227,128,201,16,154,155,199,51,32,227,230,
+231,108,242,181,189,159,83,206,98,154,24,229,156,57,112,10,146,230,35,170,
+158,139,20,225,236,176,164,119,234,76,41,166,61,87,196,227,111,26,155,251,
+191,203,120,120,57,181,59,118,9,205,103,172,121,226,18,221,219,238,21,17,
+33,26,56,237,102,112,228,73,79,39,181,123,226,128,199,92,224,118,68,218,
+46,73,245,30,129,197,9,69,57,73,53,143,51,168,109,80,43,175,182,37,9,48,
+203,136,231,66,16,170,66,211,118,184,84,158,218,130,92,232,33,241,2,62,
+122,228,50,197,237,131,163,12,169,54,62,137,240,115,119,177,7,226,130,165,
+5,138,220,88,58,195,144,30,23,76,20,93,115,7,66,222,84,218,156,7,182,37,
+158,173,92,232,97,211,222,130,90,81,163,7,47,240,132,73,243,134,207,235,
+175,192,57,79,181,34,33,2,137,232,109,63,167,36,63,151,180,159,40,74,93,
+249,184,158,14,25,169,209,140,241,5,104,19,50,87,197,80,0,84,205,104,47,
+132,186,2,200,17,150,9,24,53,208,93,8,183,14,16,34,202,51,217,66,47,19,
+22,203,144,173,244,216,128,68,12,196,128,157,129,179,14,118,249,196,96,
+38,168,238,138,74,50,156,118,160,170,135,36,3,107,28,68,215,65,178,134,
+113,2,178,150,96,243,133,101,88,96,25,176,95,35,72,214,80,205,13,205,173,
+9,224,70,3,43,60,144,205,204,95,24,204,0,89,117,168,250,43,234,70,1,118,
+134,3,3,110,193,242,122,66,213,53,72,181,168,155,22,85,83,129,151,23,12,
+43,212,215,27,42,41,192,198,207,184,89,93,209,116,45,192,11,28,59,192,105,
+44,47,192,169,10,80,53,170,186,69,221,181,30,120,202,14,108,53,204,52,195,
+26,3,154,7,88,117,245,213,186,155,1,118,32,167,49,15,95,80,210,255,126,
+93,183,168,219,22,2,75,224,30,46,88,134,135,191,62,217,160,110,122,212,
+93,231,117,1,96,192,214,63,63,183,124,97,176,35,170,238,3,77,235,147,11,
+63,72,155,161,31,255,23,52,17,72,213,168,187,15,84,181,0,47,79,76,195,0,
+27,0,149,16,10,162,190,160,185,254,11,85,21,58,103,108,161,231,9,195,168,
+193,178,65,119,105,80,5,143,122,107,22,140,143,79,60,134,9,218,121,144,
+100,213,116,184,94,255,66,215,42,176,158,241,120,124,225,53,46,176,43,53,
+14,2,207,47,2,238,119,116,146,177,60,63,241,245,28,48,91,130,92,102,60,
+5,65,169,22,215,143,59,186,70,65,80,133,74,0,195,235,111,252,223,47,223,
+117,168,187,43,238,183,43,218,218,119,127,180,158,49,187,160,11,65,50,75,
+144,1,103,23,76,227,11,227,228,32,187,15,92,174,13,84,73,212,39,83,96,35,
+78,207,253,45,192,101,157,201,195,102,140,18,109,142,2,79,98,136,197,128,
+213,132,231,23,227,53,50,140,243,197,134,3,240,250,4,232,3,184,180,128,
+2,195,217,5,227,48,96,152,12,100,255,129,235,37,194,175,124,235,189,195,
+48,227,11,195,176,64,180,55,63,22,161,115,208,25,199,10,142,76,121,61,180,
+129,205,142,210,16,251,248,97,67,203,103,110,121,251,4,148,226,28,40,161,
+122,37,99,3,58,53,85,71,110,43,246,227,206,104,234,14,20,29,235,145,142,
+70,108,41,30,205,218,55,214,64,73,111,62,186,222,196,246,154,56,19,129,
+194,153,75,69,58,113,223,52,84,248,96,79,125,144,210,202,245,213,248,93,
+139,2,160,255,227,235,191,120,69,197,19,51,92,200,208,87,33,126,18,180,
+11,218,32,205,110,40,75,130,233,100,196,187,53,52,214,108,150,1,107,77,
+48,146,241,232,124,162,115,165,6,122,27,233,178,191,219,22,84,12,230,57,
+206,155,146,121,115,52,108,163,24,253,86,50,174,47,181,223,144,82,228,79,
+45,95,223,40,139,197,47,183,168,7,150,187,195,33,111,15,196,22,142,148,
+138,247,100,226,84,7,125,34,14,84,55,187,103,166,241,89,40,229,222,190,
+117,142,96,29,64,146,195,193,19,233,6,216,5,195,215,31,124,141,14,237,253,
+55,62,46,117,104,171,98,235,220,120,0,163,221,0,144,16,98,23,8,217,24,12,
+4,41,2,131,194,44,48,203,211,87,244,141,159,215,123,176,160,4,201,160,197,
+192,171,165,172,219,56,195,190,34,81,32,233,5,79,152,29,152,189,76,236,
+38,55,12,231,43,178,240,115,207,47,23,91,37,228,137,245,225,239,216,211,
+69,93,184,206,157,82,20,56,227,219,249,25,228,104,57,176,50,132,231,157,
+51,28,216,218,176,46,69,192,141,48,152,124,199,200,175,193,192,135,39,242,
+93,36,231,175,143,68,100,200,228,12,108,204,3,22,106,255,44,103,177,210,
+246,55,243,12,225,37,165,215,107,74,150,84,192,153,196,124,110,231,172,
+167,38,146,244,172,17,218,249,182,206,218,16,184,67,75,122,229,164,147,
+191,111,103,156,167,226,81,4,184,21,50,248,55,56,95,225,39,70,61,254,190,
+132,82,161,251,225,194,247,71,248,24,41,130,80,144,215,53,120,125,253,141,
+175,145,209,126,252,198,71,95,135,249,123,24,241,204,179,159,185,179,66,
+219,93,208,183,42,5,254,189,149,208,9,215,29,89,10,35,231,131,103,71,65,
+10,181,222,231,174,28,185,1,238,232,113,134,181,84,160,213,1,66,2,2,126,
+254,63,188,6,104,174,208,116,61,250,174,242,224,225,31,74,96,216,101,196,
+235,241,192,130,6,253,253,142,174,162,131,149,122,34,252,26,7,241,80,69,
+198,244,225,50,45,247,168,116,183,241,220,177,139,0,113,116,94,150,196,
+170,190,111,70,28,85,221,74,162,43,39,98,122,167,1,111,55,208,74,229,94,
+15,243,243,195,50,57,170,241,237,70,57,123,209,251,51,228,60,222,179,225,
+19,163,54,78,101,170,81,192,124,29,58,187,209,12,126,21,141,96,120,197,
+39,193,50,113,234,162,36,211,45,125,114,228,104,195,56,6,189,248,189,108,
+160,3,135,105,154,33,133,244,109,58,138,249,130,101,219,14,206,152,237,
+167,74,244,171,120,65,116,65,28,181,232,145,131,31,152,225,140,245,104,
+118,41,163,14,77,118,29,148,106,231,49,101,155,253,173,220,236,187,214,
+252,202,119,95,105,110,111,192,150,148,103,86,140,220,121,98,199,61,208,
+1,76,147,219,162,198,46,76,36,35,105,204,136,171,207,148,102,112,36,189,
+128,13,231,34,140,4,64,8,8,17,11,49,164,200,126,134,240,21,191,16,209,33,
+67,200,1,187,98,139,157,14,118,122,64,59,9,213,222,60,104,174,32,229,187,
+85,12,91,176,37,32,183,165,38,1,1,129,189,17,21,104,5,219,119,203,116,42,
+70,2,144,81,149,65,2,144,4,9,42,180,5,35,14,53,9,144,20,135,197,64,16,16,
+42,118,20,76,57,178,62,201,22,137,202,238,70,166,142,63,74,168,125,182,
+158,45,46,18,202,163,172,15,91,200,255,172,156,68,71,51,69,162,141,42,118,
+208,252,38,128,148,66,133,178,211,27,145,128,172,36,100,50,129,140,240,
+51,36,32,34,117,185,226,232,85,8,72,177,126,6,151,127,46,119,99,147,253,
+126,44,244,243,129,199,108,64,85,139,123,223,161,78,76,153,142,188,106,
+74,218,204,41,53,42,158,209,82,108,74,148,59,91,101,237,105,142,170,209,
+60,70,18,8,74,29,139,11,255,113,22,203,227,11,207,217,2,85,135,219,165,
+11,74,124,63,23,184,242,35,147,17,227,98,33,59,185,171,245,113,44,173,187,
+239,199,100,146,28,39,252,188,131,14,143,1,51,99,234,240,137,14,123,236,
+215,144,107,216,100,16,185,131,2,37,50,153,28,202,124,105,215,132,36,103,
+2,252,32,144,82,136,5,28,5,236,88,145,143,207,108,20,226,120,71,199,57,
+64,220,165,254,137,190,227,1,75,197,124,114,158,164,170,122,249,185,76,
+239,84,115,214,22,61,231,173,91,236,165,255,26,39,41,135,129,199,227,2,
+162,83,185,87,196,173,174,232,251,61,37,206,161,235,90,8,146,200,33,21,
+84,32,238,211,187,12,136,50,209,104,78,211,129,68,34,49,75,215,136,177,
+85,130,71,209,5,46,91,246,81,6,6,137,145,248,57,37,240,187,151,29,212,234,
+72,188,153,41,229,107,138,11,179,164,117,163,174,157,146,117,89,4,235,199,
+60,51,229,200,77,46,205,132,247,131,153,169,144,108,197,242,188,25,90,66,
+8,130,144,21,154,138,81,215,234,104,45,151,241,60,83,211,209,116,116,66,
+176,176,203,8,107,133,71,167,215,213,30,220,57,21,28,162,8,195,0,74,207,
+133,188,197,152,170,248,101,26,210,49,225,116,179,9,165,195,136,37,233,
+6,113,129,135,147,210,52,118,96,83,114,131,123,149,19,123,189,208,119,30,
+169,84,2,164,20,130,250,233,98,42,5,207,130,158,62,74,239,13,69,158,111,
+170,52,89,82,233,231,3,80,246,221,55,159,217,213,67,16,72,86,168,107,132,
+245,37,192,176,208,227,136,97,6,154,235,29,93,93,37,70,89,249,195,75,185,
+223,107,231,2,155,64,11,50,224,112,233,66,169,200,195,74,253,212,55,62,
+53,29,116,96,178,251,181,88,198,17,211,76,168,111,119,116,85,21,100,124,
+233,167,165,110,88,239,30,95,225,140,129,30,7,72,85,163,234,107,8,193,73,
+97,195,81,133,157,155,150,112,100,163,157,3,140,99,96,244,190,188,163,57,
+124,52,146,77,172,168,57,39,31,81,193,200,137,10,111,63,22,182,161,8,188,
+188,190,39,138,180,78,74,66,55,241,249,159,134,5,98,206,224,126,123,240,
+199,137,152,15,157,13,137,35,186,24,103,84,164,31,189,58,166,195,201,72,
+56,168,160,29,83,164,19,207,129,124,123,211,127,61,255,155,223,142,151,
+162,67,48,241,52,143,157,160,98,29,250,92,146,53,162,178,1,94,219,125,24,
+95,168,235,38,17,180,193,225,40,161,228,140,44,117,93,40,79,89,10,64,144,
+162,97,115,164,86,103,141,129,16,222,6,54,246,248,198,153,207,120,214,122,
+202,109,96,127,196,176,136,102,134,214,218,80,185,136,31,76,33,232,144,
+188,28,54,9,103,255,20,233,166,203,217,3,224,252,31,159,183,143,74,154,
+73,89,8,3,91,111,120,34,66,123,183,216,51,163,56,3,231,108,157,209,54,178,
+96,231,85,116,40,8,14,37,179,47,78,233,37,73,53,26,183,240,168,44,186,196,
+81,213,157,247,49,243,80,117,62,25,124,151,112,102,243,191,232,148,231,
+216,230,49,202,12,57,155,10,189,13,236,223,36,141,167,90,152,167,139,235,
+44,100,227,135,218,240,71,148,113,26,222,233,173,47,202,217,74,75,63,219,
+227,84,28,211,182,95,136,56,24,96,5,97,170,211,235,202,246,114,178,151,
+24,116,210,53,204,177,105,239,30,105,92,220,30,164,85,163,4,130,99,140,
+12,188,238,5,83,160,33,231,174,129,255,224,15,179,133,51,123,39,70,36,163,
+182,221,27,100,175,170,9,185,124,235,186,247,168,212,179,230,204,90,155,
+115,140,85,26,192,249,164,99,94,94,212,199,119,69,7,131,153,159,157,143,
+20,233,230,199,69,64,82,165,103,73,1,211,94,168,229,115,240,117,108,202,
+111,83,96,0,153,204,108,57,165,45,10,187,239,29,238,216,138,59,73,146,232,
+219,106,189,116,78,208,127,61,255,251,56,97,57,224,229,178,192,151,251,
+149,228,127,157,253,247,250,191,214,90,204,203,2,118,14,125,127,57,204,
+102,222,29,44,244,238,92,58,172,184,60,211,76,129,30,219,38,115,128,35,
+134,36,145,72,17,230,187,181,120,224,211,249,89,250,179,51,152,83,140,14,
+232,29,144,20,7,189,95,228,165,105,94,213,70,217,122,4,10,140,113,45,56,
+29,29,164,25,26,209,81,206,185,188,76,143,173,235,116,196,129,12,144,200,
+201,250,202,252,109,10,95,114,2,38,64,174,101,192,209,92,25,231,58,4,249,
+225,149,168,81,229,205,194,55,179,208,82,197,158,252,95,202,218,190,132,
+195,137,147,39,36,239,130,55,126,176,193,127,240,39,23,43,61,26,61,31,125,
+25,191,195,195,208,65,242,243,124,212,134,31,5,247,210,25,193,89,227,245,
+7,57,205,15,158,65,62,50,218,104,72,197,67,53,158,53,115,18,0,147,89,254,
+201,161,192,239,64,98,252,207,223,37,126,244,94,120,31,71,68,52,227,24,
+183,20,83,232,40,199,254,100,174,159,155,207,69,2,72,222,53,220,153,232,
+187,105,115,241,77,228,123,142,11,35,163,211,38,213,1,27,193,137,255,86,
+108,31,205,209,185,241,147,196,61,119,189,139,207,100,202,136,25,63,91,
+139,148,246,219,57,61,39,183,84,240,232,153,118,60,183,203,58,187,16,177,
+121,124,50,110,205,56,134,180,2,209,120,167,84,128,179,196,142,207,235,
+130,149,239,206,142,209,52,109,18,108,114,188,100,92,140,31,90,203,81,2,
+146,246,191,35,225,2,138,156,221,162,170,105,207,136,24,108,28,172,179,
+187,226,224,246,79,115,84,74,104,15,109,124,98,28,101,27,113,210,249,124,
+115,74,59,235,96,3,215,152,74,34,52,7,34,42,29,223,240,230,250,20,93,87,
+48,197,217,45,132,87,233,222,212,115,220,89,27,76,66,114,202,80,166,97,
+150,163,69,169,108,108,112,56,134,185,52,100,41,33,94,40,9,6,196,105,171,
+137,243,145,73,44,141,92,124,84,188,153,158,188,13,132,9,120,34,79,232,
+104,215,223,6,14,170,92,124,90,128,240,161,147,178,47,163,125,179,236,35,
+197,227,232,235,116,61,113,225,97,115,177,103,94,78,8,190,201,111,240,77,
+133,66,223,102,28,72,142,96,206,158,23,127,147,187,158,253,132,138,99,5,
+74,141,70,78,122,128,223,127,11,101,64,220,200,15,156,35,235,212,220,222,
+97,157,179,199,56,152,68,224,106,15,148,204,217,225,204,39,64,174,247,27,
+234,231,65,157,114,185,204,52,52,238,107,60,133,99,175,115,105,46,209,173,
+18,235,232,125,6,22,123,181,83,164,147,142,168,168,162,31,141,89,115,175,
+3,202,214,96,182,248,223,177,146,114,35,150,117,196,12,138,12,117,162,22,
+127,246,46,40,187,239,216,208,101,61,19,82,44,211,94,125,167,146,179,248,
+217,42,228,99,165,184,119,122,86,22,70,58,239,63,168,245,157,55,227,60,
+30,121,19,157,57,92,1,239,1,99,123,85,180,205,61,210,98,138,15,66,12,241,
+246,92,150,5,214,56,212,117,5,21,164,33,79,166,26,201,212,110,207,157,40,
+69,236,103,234,68,123,231,33,90,116,73,7,54,100,109,43,29,68,120,237,102,
+33,100,116,224,114,154,25,197,162,61,72,93,129,78,70,30,63,139,241,188,
+2,134,82,145,142,211,115,147,248,100,5,174,85,70,180,133,87,69,65,162,211,
+107,162,32,131,171,132,244,242,189,217,13,240,137,52,197,207,51,152,19,
+110,9,31,133,129,210,131,145,78,225,14,7,23,63,218,241,21,167,83,229,226,
+226,167,66,75,40,162,75,101,179,234,82,163,141,74,206,141,72,15,191,253,
+179,40,10,6,105,118,207,56,30,254,197,77,203,223,118,51,203,28,224,124,
+228,114,248,121,170,75,129,195,8,134,78,154,6,199,20,143,14,73,28,31,98,
+21,189,185,204,179,22,69,9,155,131,194,138,44,253,86,249,33,237,9,2,101,
+44,230,132,108,75,89,170,144,143,122,98,128,13,69,5,82,192,188,16,243,126,
+94,100,126,227,69,159,142,210,187,231,127,26,224,57,51,81,225,84,40,133,
+162,245,152,167,57,25,150,152,18,113,243,179,182,120,44,21,155,218,39,167,
+183,194,133,3,243,88,51,199,240,224,212,54,120,111,41,108,145,128,10,137,
+16,239,73,77,162,251,18,221,239,202,26,97,20,50,80,122,211,53,61,204,119,
+105,211,238,63,150,2,140,242,169,84,78,162,147,243,108,3,38,198,10,146,
+180,99,8,126,58,174,11,63,19,49,193,127,119,123,11,23,159,75,0,134,23,191,
+81,107,40,158,105,208,241,65,133,182,183,115,14,243,50,163,174,235,160,
+140,69,233,112,61,217,248,92,64,16,68,7,70,50,15,162,132,219,190,27,216,
+68,237,168,232,197,111,230,42,198,203,80,66,208,102,195,201,81,133,190,
+125,118,2,64,139,44,36,249,216,17,137,81,233,196,111,7,101,208,214,0,142,
+189,107,229,79,90,171,49,58,103,109,3,114,86,125,70,192,137,184,197,70,
+148,210,250,189,74,153,241,246,166,162,144,186,82,86,175,50,138,109,106,
+254,81,22,67,71,0,64,236,91,92,194,13,36,122,150,209,162,203,51,220,72,
+24,130,233,120,133,148,37,252,124,152,99,49,178,155,75,87,26,167,225,162,
+36,63,112,38,144,153,84,61,91,59,215,39,210,7,77,110,42,108,92,122,83,153,
+83,161,44,230,159,84,126,241,251,160,164,217,205,73,160,231,168,62,206,
+141,63,75,169,109,12,207,42,137,83,209,201,103,148,146,100,42,118,122,242,
+113,73,222,241,163,183,157,237,82,3,54,31,13,69,17,56,15,6,200,147,57,58,
+162,54,121,79,15,86,13,73,94,77,101,112,196,191,240,217,248,185,148,63,
+253,227,32,95,122,190,188,117,81,215,174,94,202,253,163,164,237,188,106,
+2,240,129,239,75,17,179,128,15,154,37,197,134,2,178,125,87,76,228,226,244,
+234,44,105,219,187,130,204,132,147,198,206,238,147,18,119,112,177,179,133,
+54,6,198,187,214,126,114,156,18,18,205,226,228,222,56,1,8,243,161,231,80,
+162,191,69,167,84,76,55,139,140,125,152,11,51,112,58,49,212,97,156,51,184,
+24,222,17,146,179,118,57,109,149,108,8,185,132,136,6,145,181,238,242,100,
+153,210,27,98,118,152,231,5,4,66,93,215,169,136,127,22,48,118,7,43,58,2,
+199,15,27,45,158,9,100,115,62,202,91,134,241,162,12,190,208,82,108,149,
+46,33,66,208,70,71,94,154,121,70,45,221,236,160,206,207,89,62,227,186,99,
+229,120,75,79,165,226,111,228,26,41,155,225,241,89,85,190,6,125,218,124,
+142,243,78,249,134,8,103,111,174,33,18,41,220,108,195,112,185,102,227,188,
+5,6,28,220,198,146,211,137,51,154,81,148,164,109,54,148,148,206,181,54,
+241,140,132,10,152,38,32,76,57,114,53,190,110,46,46,156,55,192,234,237,
+217,38,245,40,157,183,23,233,71,61,240,216,26,116,63,88,147,100,36,186,
+182,131,45,53,253,160,154,63,171,98,14,151,71,197,242,48,23,134,226,236,
+195,248,59,236,65,246,133,84,60,41,207,39,247,165,190,93,249,27,74,88,123,
+58,252,102,49,225,58,177,181,76,27,194,129,121,146,123,89,159,161,168,15,
+194,107,180,37,144,20,117,68,163,249,230,121,209,69,223,140,89,254,41,160,
+32,255,79,42,157,218,241,115,217,123,209,219,26,164,72,36,51,139,134,126,
+126,79,201,175,175,156,122,206,233,99,133,21,194,89,11,204,89,235,181,49,
+178,149,200,153,225,75,124,254,123,189,4,46,53,163,34,157,246,76,213,115,
+187,55,74,58,112,76,239,131,36,69,29,154,45,66,113,214,87,226,189,176,163,
+20,34,126,178,23,57,197,11,37,213,127,58,131,219,168,142,121,11,172,148,
+4,22,18,126,197,12,8,202,182,16,81,114,49,171,64,13,103,200,241,36,46,68,
+188,203,72,52,18,203,106,36,211,182,145,56,72,218,250,220,116,220,227,70,
+109,12,140,3,50,100,34,50,80,11,178,172,39,219,190,161,236,114,65,110,83,
+144,216,3,80,210,55,220,111,44,214,114,167,200,64,231,108,211,209,73,66,
+152,52,56,194,194,20,66,150,147,217,119,237,74,226,99,79,56,198,62,16,69,
+78,125,5,36,46,121,217,86,118,110,87,13,204,14,150,53,184,38,90,212,113,
+99,134,57,209,103,78,63,158,139,105,240,190,49,25,206,230,85,179,87,85,
+115,66,64,8,218,172,120,15,6,60,7,176,7,237,9,11,34,17,152,240,29,236,98,
+88,129,240,66,34,34,247,133,62,148,25,25,40,172,172,29,157,118,3,51,172,
+65,204,54,137,171,165,21,247,225,220,118,109,59,173,72,64,200,29,72,67,
+255,20,41,198,39,21,62,149,218,140,124,242,15,82,10,96,14,100,122,203,24,
+64,193,229,49,155,236,51,232,52,192,17,190,81,234,56,192,224,202,144,189,
+188,49,188,10,251,240,106,20,45,4,118,167,231,168,235,144,113,224,41,230,
+90,35,245,1,47,162,201,25,128,211,190,72,34,181,159,125,206,36,98,71,201,
+104,49,202,104,153,0,88,23,214,130,60,117,88,123,155,156,30,142,139,128,
+37,40,137,220,36,152,192,72,131,29,49,69,53,59,118,144,118,216,98,142,118,
+198,131,137,174,99,119,199,60,158,141,14,206,26,204,211,128,121,2,84,223,
+163,235,42,40,4,193,45,183,243,213,165,8,14,150,240,44,1,61,13,24,94,6,
+226,114,193,165,171,33,35,186,26,39,171,56,30,139,236,202,117,7,48,239,
+187,9,17,29,207,132,164,55,197,72,116,247,83,76,37,125,47,217,70,72,93,
+241,178,240,187,73,253,2,101,221,0,250,126,77,40,109,29,234,149,162,117,
+208,221,165,29,137,152,232,204,167,58,187,201,145,30,181,139,141,54,48,
+90,163,170,170,32,135,121,220,187,156,205,94,24,105,48,165,4,242,84,88,
+117,81,251,117,163,94,197,73,70,98,251,183,26,70,208,9,236,246,40,97,153,
+235,22,151,128,84,244,147,132,154,131,24,136,68,81,217,233,188,48,162,50,
+191,147,112,0,208,35,2,8,29,58,44,14,65,232,133,146,3,39,54,11,224,3,61,
+16,233,230,37,122,91,92,48,82,37,189,237,143,117,48,195,132,229,101,160,
+103,7,56,47,170,228,61,80,4,100,223,160,189,85,222,11,91,100,106,128,121,
+235,38,86,233,219,218,133,0,27,7,243,154,48,191,52,172,221,65,150,162,174,
+208,222,107,168,70,238,227,37,112,118,56,237,223,99,93,56,8,4,37,121,46,
+151,92,181,18,139,172,189,15,155,91,59,50,0,183,104,44,95,51,150,201,110,
+65,159,132,66,253,171,69,125,145,65,212,132,193,38,36,48,34,174,28,254,
+65,197,7,156,184,124,173,23,239,169,102,91,219,128,232,237,164,155,222,
+15,97,227,227,180,16,148,41,59,18,87,197,61,23,212,252,232,164,179,18,35,
+250,249,144,6,156,86,235,236,188,67,222,50,98,25,7,24,109,188,82,96,125,
+65,211,95,81,213,106,159,116,1,81,219,154,82,141,140,120,155,37,163,150,
+72,173,206,71,102,56,253,194,60,204,128,234,81,247,255,15,107,239,182,229,
+54,174,108,109,126,56,241,36,41,109,87,173,253,254,47,183,123,140,30,99,
+255,187,150,157,146,120,0,1,68,95,128,164,120,82,218,171,187,125,83,101,
+103,74,162,72,0,17,49,99,198,156,6,173,19,226,159,244,143,7,73,10,138,219,
+7,69,225,54,163,194,175,155,145,72,254,137,239,60,152,6,215,52,43,129,154,
+119,45,151,89,9,242,196,179,98,127,124,44,42,109,171,201,34,57,15,20,199,
+137,214,151,104,216,146,44,44,73,201,118,92,119,109,50,20,23,245,71,208,
+135,41,229,236,129,48,14,29,109,219,49,226,178,147,96,149,253,10,70,47,
+116,173,226,217,10,99,0,93,40,110,223,224,214,76,159,17,35,161,239,232,
+134,68,89,215,249,217,233,85,205,112,112,15,219,54,118,100,117,94,204,163,
+222,219,1,63,117,210,95,93,23,163,175,209,199,141,15,251,74,27,132,47,135,
+227,118,141,172,253,204,158,172,248,98,59,159,250,183,156,141,51,40,121,
+245,255,86,228,100,206,80,109,25,116,178,79,119,86,12,228,115,95,95,33,
+78,208,188,49,154,162,40,54,48,222,154,12,38,39,249,142,108,232,63,178,
+13,26,106,47,174,174,86,237,128,35,153,106,174,238,99,140,160,20,102,86,
+7,83,103,119,143,19,203,67,182,130,36,235,133,175,254,160,216,146,153,181,
+30,178,4,233,87,106,117,251,84,155,93,197,187,185,212,117,22,189,237,49,
+175,53,112,80,217,212,39,165,148,219,19,179,183,252,153,173,236,202,195,
+250,229,132,164,14,252,182,119,7,189,218,100,92,171,114,192,40,76,83,82,
+150,5,230,222,227,61,216,75,137,43,115,245,138,86,89,107,125,170,166,214,
+26,213,235,81,168,117,95,108,190,54,81,2,73,136,189,199,123,48,215,11,85,
+165,95,144,154,81,25,29,56,97,79,110,100,114,68,136,109,79,223,130,189,
+20,20,181,57,74,68,190,123,184,176,67,145,86,137,175,100,109,128,216,122,
+146,182,84,127,213,104,35,164,118,96,120,68,82,76,136,76,70,47,221,64,255,
+20,204,165,192,213,134,195,82,121,215,78,126,55,27,187,31,157,149,68,26,
+238,116,125,64,23,13,69,85,99,118,196,212,147,161,88,222,204,180,236,122,
+227,95,79,255,206,94,5,201,63,232,167,207,183,101,137,85,250,45,156,47,
+103,77,197,211,137,250,92,49,199,254,19,239,71,176,53,246,242,55,149,18,
+82,240,36,101,208,70,111,129,80,181,18,30,146,149,126,2,251,137,176,121,
+228,109,15,182,37,82,104,25,218,1,177,21,69,93,102,129,154,52,226,251,142,
+152,52,182,110,48,198,158,234,160,138,74,200,216,50,180,30,101,75,92,61,
+105,206,203,23,92,10,73,68,255,192,119,1,85,214,184,178,194,104,245,150,
+110,33,178,29,243,92,235,47,200,90,94,247,116,93,189,126,184,17,193,90,
+37,200,155,21,145,34,198,73,188,160,0,0,32,0,73,68,65,84,190,253,228,87,
+155,40,46,23,46,85,137,50,59,192,57,142,12,237,131,199,144,48,174,225,227,
+82,225,172,134,40,180,119,197,211,131,171,132,239,63,192,183,112,247,249,
+50,146,176,160,47,73,132,180,16,25,119,153,216,126,172,89,173,69,200,206,
+241,185,163,232,206,246,68,59,168,121,206,134,101,167,38,35,234,43,53,242,
+237,251,78,136,172,236,98,144,172,166,162,222,169,177,191,229,106,156,252,
+220,106,163,208,178,101,52,175,101,151,148,156,108,61,117,98,19,184,163,
+25,251,126,0,17,202,178,156,4,40,212,10,254,219,129,130,39,213,241,134,
+17,190,234,43,200,153,184,156,28,59,128,123,185,69,61,245,220,213,70,198,
+150,19,198,252,42,128,111,2,220,218,29,73,113,82,236,158,135,128,57,35,
+123,199,152,63,123,56,59,249,217,61,52,168,22,22,231,186,184,125,205,131,
+111,242,176,233,249,105,99,182,45,152,157,124,161,90,29,0,123,160,73,222,
+246,157,191,154,89,222,170,67,41,163,209,195,64,28,5,83,149,84,23,139,182,
+175,181,38,41,33,33,111,94,68,161,13,139,186,31,74,72,33,87,158,178,30,
+111,153,228,99,241,158,177,79,136,43,40,174,54,67,222,107,245,174,144,72,
+115,50,147,166,103,107,212,116,200,79,239,59,140,12,247,64,156,12,79,36,
+230,42,83,171,201,68,102,57,99,101,153,130,80,122,10,224,233,245,126,243,
+253,136,99,182,253,197,64,234,134,41,249,40,112,181,206,190,231,146,16,
+99,208,86,163,98,34,142,1,127,31,137,202,97,53,168,148,16,38,29,249,121,
+30,123,209,220,159,209,40,56,206,250,236,219,108,89,95,94,68,96,108,25,
+250,14,81,57,240,168,20,73,74,239,16,165,29,3,121,199,176,216,213,226,135,
+74,71,173,88,44,51,157,50,165,56,185,215,117,248,190,37,170,6,103,12,42,
+77,4,201,73,64,127,241,80,207,143,9,38,193,36,200,42,109,249,255,166,86,
+33,147,71,128,2,98,143,111,31,132,168,177,245,143,73,245,112,194,15,172,
+203,242,194,42,143,134,174,52,89,179,15,129,214,36,34,164,249,218,215,94,
+28,54,19,35,101,10,232,146,38,127,2,149,173,127,135,22,81,23,170,186,66,
+137,16,227,136,18,75,209,252,133,187,104,180,209,175,196,103,246,249,136,
+51,226,212,226,251,142,164,26,170,166,193,104,77,74,225,213,194,97,50,15,
+210,42,39,70,2,50,62,115,242,160,106,138,73,223,95,196,44,210,218,146,210,
+180,190,201,109,9,163,182,163,123,83,191,91,45,242,197,38,35,105,188,161,
+78,172,202,202,148,230,177,90,80,162,209,54,91,227,146,2,49,9,113,120,242,
+249,104,241,170,166,54,10,73,145,168,178,87,65,182,2,238,121,252,186,211,
+5,67,117,251,224,90,217,105,111,41,158,119,161,243,80,222,224,82,42,244,
+8,109,16,146,2,237,242,22,95,90,201,41,129,42,176,206,230,196,125,65,45,
+167,68,154,156,208,235,3,250,249,146,99,70,94,40,234,86,247,101,43,232,
+182,9,114,167,188,164,93,186,240,219,106,111,165,48,186,46,200,118,173,
+207,53,57,103,197,25,252,179,214,221,46,232,219,217,172,97,83,125,237,103,
+118,213,86,117,75,142,36,248,87,53,36,66,136,35,99,24,169,171,102,169,88,
+23,97,23,145,201,194,242,232,186,182,220,212,77,229,180,243,2,94,235,33,
+174,111,182,8,105,38,8,170,151,30,185,72,158,119,55,218,76,125,104,217,
+144,154,182,35,81,50,153,145,168,13,188,41,7,48,242,8,45,202,10,202,87,
+27,4,60,163,7,102,242,151,63,246,225,118,137,203,59,194,199,142,145,59,
+31,60,75,191,124,90,12,146,100,210,246,159,72,93,147,201,135,50,122,18,
+244,217,58,205,173,231,13,149,40,18,178,74,68,212,193,115,103,54,19,57,
+149,176,88,91,76,174,232,230,74,20,50,70,124,59,18,181,203,193,125,246,
+72,23,201,63,123,12,140,93,32,69,80,198,82,252,168,40,47,57,8,197,62,226,
+239,3,177,143,196,52,25,211,56,139,189,84,84,141,34,181,35,99,210,148,197,
+100,80,147,114,229,110,148,34,13,1,255,171,39,40,3,99,36,141,9,209,6,247,
+189,162,172,53,210,246,12,247,64,24,2,41,41,148,75,244,255,227,81,206,226,
+190,85,56,7,233,217,51,120,133,51,66,240,145,24,64,55,21,213,205,64,59,
+48,116,130,253,94,81,212,38,175,195,193,51,252,138,80,58,138,66,8,109,68,
+85,21,174,210,40,18,161,243,248,65,97,106,135,242,3,237,207,64,28,18,81,
+192,216,68,239,61,131,115,20,223,74,156,131,248,204,9,130,53,16,124,200,
+159,95,87,52,223,139,172,61,191,6,183,212,218,75,65,144,232,241,207,127,
+227,251,158,24,34,162,45,70,121,58,255,68,23,13,213,229,138,117,118,163,
+238,168,54,44,164,68,76,105,167,152,169,38,238,128,126,201,194,206,72,149,
+74,232,197,121,93,32,14,248,199,207,252,249,49,78,38,54,35,173,127,96,108,
+131,43,33,13,3,9,141,164,145,20,21,182,208,217,49,79,213,84,215,26,53,60,
+24,70,193,152,108,104,20,38,231,193,250,246,13,195,192,240,188,19,169,169,
+46,55,172,51,27,12,65,43,72,113,100,244,79,124,215,101,213,184,169,69,160,
+235,31,212,181,69,252,157,97,200,54,217,18,71,226,152,192,84,148,223,126,
+80,20,6,194,72,24,91,124,219,17,67,200,123,74,64,87,223,169,107,135,12,
+159,116,109,71,136,130,46,111,92,110,55,236,100,10,32,36,82,24,137,99,139,
+239,58,66,8,144,18,9,208,229,119,154,75,133,150,64,232,186,233,231,227,
+148,80,26,76,245,157,170,50,164,254,147,97,200,207,15,109,209,202,211,143,
+79,148,189,80,93,46,88,147,136,195,147,161,235,136,49,33,162,48,197,149,
+250,118,203,231,142,4,194,240,96,104,187,236,187,1,217,73,241,242,45,163,
+171,234,11,54,57,66,28,7,218,251,39,207,126,96,12,160,76,193,245,199,15,
+110,149,98,124,254,226,231,189,163,31,134,140,90,184,200,63,190,197,218,
+146,203,183,111,92,235,2,21,71,186,199,157,231,104,185,124,187,114,169,
+92,110,73,37,97,120,8,247,78,81,127,19,154,66,17,7,225,243,83,241,236,21,
+197,119,168,86,126,16,49,4,198,36,152,162,164,48,122,17,20,202,46,136,79,
+126,253,243,192,235,134,239,63,110,52,133,217,4,112,37,108,60,42,94,218,
+60,107,222,215,238,148,87,231,197,162,236,72,116,235,241,222,117,105,164,
+55,146,94,123,241,14,181,1,163,55,8,165,168,211,238,241,25,203,255,132,
+151,183,171,224,247,125,102,142,204,140,183,210,157,135,121,229,108,185,
+58,12,30,163,45,206,217,215,237,16,201,86,149,10,204,166,55,151,191,76,
+154,2,161,82,96,141,221,244,115,101,62,104,98,54,133,177,214,177,87,49,
+75,179,247,55,96,141,222,212,20,217,196,69,19,67,152,94,111,143,242,140,
+211,65,134,18,44,118,59,251,63,45,244,48,155,194,24,115,132,34,39,217,89,
+148,202,238,89,171,71,63,51,246,83,72,136,18,172,177,167,201,87,12,243,
+235,245,158,205,149,219,30,41,1,130,49,246,53,130,179,74,140,82,204,7,177,
+53,102,33,220,201,204,59,64,229,235,3,204,236,42,179,242,200,148,201,225,
+15,64,91,123,28,78,144,233,251,163,80,243,251,111,22,121,90,172,72,173,
+93,95,159,32,49,18,158,158,49,40,220,213,81,56,157,95,63,85,206,97,10,152,
+205,69,8,143,1,223,229,68,75,198,64,120,14,248,81,161,171,146,250,10,227,
+99,96,12,26,247,81,81,148,138,212,245,248,231,72,8,138,52,140,57,249,40,
+29,229,173,68,185,200,56,189,159,254,176,84,215,130,248,236,25,250,215,
+115,145,186,196,133,236,240,102,155,146,234,98,50,114,164,50,204,159,158,
+61,195,221,51,82,226,190,59,202,74,227,63,195,180,85,18,113,140,136,114,
+83,37,46,164,126,96,232,18,84,142,178,214,132,71,246,120,215,78,67,136,
+140,157,199,247,41,183,44,110,14,149,178,193,140,87,9,87,151,57,169,153,
+44,120,149,86,164,71,135,255,244,140,202,97,191,59,202,82,229,207,71,86,
+94,1,175,189,7,121,125,46,123,203,88,108,85,19,163,160,92,129,187,124,80,
+152,121,134,55,175,141,249,72,139,49,130,168,108,197,138,144,146,167,189,
+223,185,63,58,66,90,237,117,109,40,154,143,108,227,106,89,204,85,226,180,
+62,180,150,87,210,174,29,182,170,73,49,161,139,18,215,124,96,237,148,144,
+199,14,255,188,227,123,176,77,49,221,83,51,245,112,13,214,26,84,108,115,
+213,47,21,182,108,40,10,139,146,39,73,153,92,185,247,15,162,148,20,215,
+15,156,211,155,204,57,73,32,249,7,190,247,36,83,81,124,252,11,149,60,99,
+251,32,226,176,101,129,10,119,186,231,131,32,53,85,121,197,85,137,240,124,
+16,149,67,107,72,221,39,190,31,16,91,227,62,254,139,82,6,198,246,78,20,
+139,173,203,169,42,44,41,235,4,93,0,227,80,122,118,7,12,57,240,14,3,98,
+106,138,219,191,166,215,63,8,226,112,117,141,138,79,134,231,64,50,53,238,
+246,55,165,248,252,254,201,226,170,6,91,64,98,186,127,174,194,93,110,216,
+185,229,36,130,132,7,253,179,35,234,154,226,242,47,74,122,198,231,131,56,
+147,203,66,135,111,63,9,82,224,46,255,133,93,115,128,204,202,128,72,118,
+231,13,130,146,72,232,91,186,160,48,151,31,252,117,25,25,158,159,220,251,
+9,69,209,150,162,186,114,139,145,164,12,69,245,193,237,86,98,152,205,133,
+76,14,238,207,95,180,163,162,186,221,184,86,118,17,143,9,61,220,123,48,
+133,80,42,197,227,39,248,108,184,72,121,133,166,129,41,78,35,41,50,250,
+129,81,44,69,85,81,216,87,86,155,226,72,223,117,12,81,83,95,107,170,210,
+110,139,195,141,123,33,219,214,196,70,3,99,71,245,89,221,143,183,238,40,
+111,144,220,23,90,32,156,24,203,46,237,19,181,178,31,223,251,222,43,190,
+104,201,241,62,168,175,127,215,110,53,185,247,125,197,28,228,68,214,44,
+235,21,25,121,61,17,69,134,101,252,48,0,66,85,213,219,47,165,244,98,59,
+122,42,221,175,84,206,122,247,125,237,185,10,156,2,39,154,109,43,97,101,
+71,175,181,94,30,134,76,30,235,136,228,0,175,37,247,159,213,94,140,88,150,
+113,52,51,65,98,251,192,61,11,37,216,236,235,120,206,173,214,106,122,255,
+23,121,39,165,132,136,228,235,86,25,38,127,219,55,81,217,227,154,3,73,109,
+250,130,90,97,208,91,86,135,108,123,246,243,247,71,129,74,16,82,204,6,100,
+38,195,120,90,233,213,236,249,170,210,158,198,92,230,68,96,191,184,230,
+62,209,252,115,165,142,0,190,66,229,231,187,134,161,50,1,128,216,123,6,
+159,208,85,137,171,244,150,247,165,53,186,152,50,214,49,146,146,66,95,28,
+206,9,177,245,57,56,95,203,92,109,15,3,73,105,204,197,225,74,149,43,43,
+159,208,151,134,91,109,167,158,117,134,203,145,68,120,142,196,164,41,254,
+170,50,52,30,34,35,10,211,20,184,74,103,120,126,12,196,32,168,186,160,186,
+90,140,155,208,165,148,72,253,136,239,34,170,172,184,124,20,56,11,177,77,
+40,107,176,165,6,31,137,81,161,43,131,22,33,62,7,198,65,208,85,129,43,53,
+210,15,248,71,182,119,85,255,231,129,183,6,87,59,202,31,37,166,200,54,185,
+105,72,196,8,186,46,41,111,211,231,79,200,70,234,61,190,141,80,86,92,62,
+28,214,65,108,35,152,252,62,70,169,77,107,73,47,163,159,47,2,165,68,79,
+24,2,152,11,101,211,76,73,247,188,141,182,206,131,70,155,141,54,129,36,
+133,43,47,124,47,154,141,235,154,54,22,107,231,251,253,106,163,89,189,219,
+95,34,16,6,162,15,96,47,20,245,229,149,244,135,142,232,123,18,37,197,197,
+128,140,36,93,99,93,254,238,218,149,24,53,50,118,61,82,124,208,212,23,140,
+73,132,174,3,93,97,173,34,246,79,2,37,197,245,70,225,214,62,117,9,73,57,
+80,142,99,174,170,171,186,68,167,145,209,123,68,149,20,85,141,78,185,135,
+174,203,239,92,235,6,99,133,216,61,16,93,226,74,71,234,63,167,215,127,80,
+150,5,154,145,177,27,16,85,225,154,107,254,46,18,17,255,196,143,9,93,94,
+40,234,42,223,130,52,224,159,15,66,16,212,244,122,197,72,232,60,162,42,
+138,202,65,120,48,140,41,255,188,42,208,18,24,59,15,42,127,39,231,52,18,
+59,130,15,200,234,254,229,158,247,200,216,223,241,195,8,246,154,175,79,
+141,132,137,131,80,84,23,180,12,132,225,193,56,10,166,174,114,161,97,205,
+235,8,85,71,169,228,61,189,68,140,195,105,141,86,66,10,35,33,26,138,166,
+162,41,29,90,132,16,61,195,8,174,186,241,241,209,80,90,253,66,121,211,72,
+255,184,243,236,19,166,249,190,10,238,16,61,60,90,240,163,194,8,220,59,
+161,170,160,30,21,126,20,92,163,168,221,12,125,231,68,227,217,142,168,178,
+225,82,154,13,130,168,117,193,229,250,55,245,109,18,47,91,171,10,237,133,
+58,207,156,90,228,56,81,186,177,126,89,163,202,39,132,212,119,157,119,37,
+114,152,240,87,39,76,147,119,125,247,131,100,240,187,10,254,29,250,162,
+192,46,15,89,100,235,164,165,86,35,62,187,145,152,149,198,200,171,159,35,
+194,224,61,49,70,202,42,47,166,189,98,216,186,239,113,74,10,156,89,181,
+114,226,5,60,43,131,201,150,200,165,86,36,193,53,163,95,201,20,240,207,
+104,57,235,44,101,153,107,207,61,85,121,9,21,109,58,137,122,205,240,126,
+55,177,176,195,237,23,11,208,117,159,244,205,168,176,90,19,126,246,114,
+180,74,29,249,17,39,150,142,235,103,147,148,44,62,218,139,46,251,142,80,
+40,59,94,161,218,140,192,237,39,141,89,169,198,205,252,232,221,218,88,205,
+252,206,112,88,26,2,254,25,16,83,80,93,44,198,78,202,87,99,32,180,35,254,
+49,18,99,254,206,49,42,108,83,80,95,44,58,142,244,109,32,105,135,51,16,
+59,79,232,18,20,142,162,113,152,52,50,180,129,168,29,229,165,192,150,107,
+61,104,33,61,70,226,144,80,85,129,107,44,70,70,134,118,36,97,113,151,28,
+72,241,35,254,25,136,88,202,139,203,85,246,252,253,199,192,216,5,196,58,
+202,91,145,3,178,8,246,82,96,46,249,187,134,95,3,130,193,21,185,207,30,
+188,194,92,28,69,109,73,237,192,216,39,236,71,67,221,76,190,245,83,242,
+161,38,142,128,140,35,99,59,18,197,82,78,247,102,121,40,99,192,183,17,41,
+10,170,107,129,41,38,2,226,165,196,54,83,18,179,99,91,111,140,42,149,228,
+62,111,251,36,72,65,209,92,112,214,238,7,137,142,124,151,137,64,230,187,
+7,247,207,7,221,152,54,237,39,93,84,92,63,190,113,157,18,145,87,191,112,
+191,43,20,41,230,207,143,20,184,230,130,157,62,95,98,135,239,59,130,84,
+184,10,36,6,146,106,40,85,34,198,17,108,133,33,16,253,136,114,223,168,235,
+26,99,35,99,219,18,131,193,22,14,9,61,163,88,220,229,74,225,220,110,168,
+47,87,233,33,104,108,115,165,40,11,136,45,227,243,137,79,134,162,185,160,
+83,207,56,120,40,62,40,155,11,86,143,140,109,203,24,44,182,118,48,122,66,
+4,211,220,178,126,71,236,241,207,59,33,89,108,115,205,125,126,129,52,78,
+189,116,221,80,86,23,140,213,232,228,25,218,39,99,84,152,230,70,89,20,168,
+216,49,180,15,66,178,184,233,253,99,0,211,124,80,20,37,42,118,248,246,193,
+24,13,246,114,197,22,14,53,62,51,183,128,50,63,63,55,251,205,142,140,221,
+47,250,231,147,24,65,5,79,236,65,153,10,91,223,50,225,207,168,169,21,32,
+153,220,118,255,135,88,94,169,174,87,180,179,71,253,146,205,129,156,144,
+48,208,182,45,143,71,143,143,153,67,17,146,166,108,174,124,111,106,74,167,
+16,223,241,188,119,140,20,92,47,53,133,213,171,179,72,240,237,147,71,239,
+161,184,113,169,11,230,31,147,160,123,42,62,31,96,107,184,125,19,74,7,195,
+19,218,65,48,181,162,174,192,204,173,198,177,231,217,118,140,170,224,214,
+212,57,153,91,249,141,160,53,90,229,198,208,28,63,94,96,244,203,19,64,246,
+179,235,234,132,92,198,206,85,144,125,46,176,157,115,87,95,248,213,110,
+143,248,55,22,231,162,142,82,236,171,90,91,189,35,216,202,23,85,252,234,
+223,237,43,147,219,118,232,101,45,33,42,219,113,130,35,44,145,213,209,198,
+113,164,44,203,23,4,125,226,244,177,103,218,30,140,22,69,222,136,4,236,
+82,24,245,210,63,158,123,135,115,150,21,83,90,230,221,149,86,175,81,143,
+213,200,221,137,46,239,235,61,150,49,44,245,150,200,168,222,205,38,2,73,
+50,92,173,181,62,178,92,229,15,70,227,20,135,22,194,87,106,12,155,65,15,
+217,246,253,213,198,160,93,246,52,219,87,63,104,165,34,46,162,54,18,176,
+71,49,162,93,10,185,50,156,120,229,36,153,24,23,158,35,1,75,117,113,104,
+155,217,163,169,31,25,254,237,137,198,82,124,111,48,58,255,158,31,21,197,
+173,192,144,24,31,158,56,10,49,121,58,31,48,133,163,188,85,152,74,161,82,
+98,236,71,198,100,40,111,22,235,212,198,162,82,134,41,56,187,130,162,114,
+104,73,196,46,50,142,10,119,179,216,66,67,140,196,118,106,27,124,56,108,
+177,10,111,49,18,251,220,215,47,110,14,83,232,41,64,207,30,241,185,154,
+137,33,243,54,82,63,230,190,254,135,195,22,26,9,129,177,27,145,162,164,
+184,56,140,83,11,11,120,17,211,74,145,240,28,25,131,194,222,28,214,233,
+151,203,94,20,66,231,9,98,40,175,22,83,168,69,175,97,35,45,124,70,110,159,
+213,190,162,39,116,119,198,84,80,54,23,156,51,27,86,52,7,147,150,245,218,
+210,184,242,194,183,127,53,124,200,86,41,72,161,167,150,19,155,81,195,13,
+176,40,32,105,32,180,119,124,42,168,86,201,133,196,12,113,7,26,156,51,200,
+120,207,149,187,213,196,161,37,153,6,171,133,212,141,168,242,134,171,42,
+12,35,161,125,224,7,176,85,133,150,158,222,143,168,250,251,212,174,203,
+189,110,146,66,169,68,236,31,248,33,96,46,223,176,133,201,163,104,207,79,
+66,178,20,151,6,205,192,216,247,168,226,70,81,85,24,21,137,195,3,31,20,
+174,42,209,177,99,152,94,95,88,3,254,73,223,126,18,98,65,113,187,188,130,
+123,108,25,187,14,49,55,138,186,202,196,190,20,24,135,7,190,15,152,203,
+7,133,179,164,241,201,248,248,100,20,71,113,169,48,177,167,239,71,244,229,
+99,186,7,143,220,170,72,150,226,122,161,116,5,68,207,208,223,241,50,221,
+63,55,99,213,129,216,223,25,250,136,185,252,23,117,233,38,178,218,68,252,
+84,19,49,83,1,166,192,214,127,211,216,54,127,127,181,35,49,199,215,88,155,
+49,211,228,137,36,130,111,249,252,249,192,235,154,219,143,191,41,116,160,
+123,182,60,70,205,245,118,165,44,12,196,145,161,107,105,163,166,249,118,
+161,46,204,182,93,25,6,186,174,35,232,154,111,151,138,194,188,150,107,240,
+138,174,23,108,163,248,241,29,42,171,240,29,180,157,224,46,138,166,1,55,
+129,145,50,122,186,182,165,167,228,122,187,80,59,243,162,136,73,34,140,
+49,95,255,188,190,22,64,86,182,102,50,187,74,88,189,179,150,101,30,159,
+219,34,92,178,26,15,84,106,27,9,222,155,37,169,93,136,103,131,152,201,153,
+223,195,238,88,125,235,71,241,39,85,60,96,215,227,32,172,117,136,133,29,
+235,157,67,239,93,86,95,126,24,60,90,79,35,113,103,206,95,107,103,179,183,
+220,92,217,244,251,183,137,213,110,74,87,88,9,85,188,152,237,162,50,82,
+160,245,122,204,73,94,34,48,178,21,24,216,155,51,236,71,222,69,113,118,
+132,189,157,59,158,31,217,151,58,243,167,83,102,106,135,21,201,81,55,124,
+87,29,191,174,113,231,154,38,228,254,229,186,225,36,39,201,214,42,198,239,
+51,90,249,221,120,53,219,113,194,125,6,74,34,143,130,13,130,185,21,20,165,
+66,116,62,64,198,231,128,31,192,125,119,24,151,8,119,79,127,23,236,143,
+10,215,64,248,103,96,12,6,247,163,166,54,211,155,26,139,153,170,244,52,
+12,248,46,161,138,169,79,58,115,3,108,78,102,98,235,51,225,167,41,50,228,
+235,3,67,27,81,101,153,199,207,38,113,145,177,141,36,229,80,70,229,249,
+243,25,97,238,61,67,15,186,113,20,211,252,252,203,70,115,90,185,147,89,
+80,28,4,83,58,220,37,19,226,68,18,241,49,16,147,201,200,129,155,20,129,
+101,71,236,140,145,177,11,68,92,238,137,135,4,54,63,159,212,123,134,1,76,
+237,40,74,253,102,82,229,188,250,152,23,109,26,31,12,62,162,138,114,34,
+90,77,176,252,6,69,123,47,229,163,140,193,126,105,20,187,30,112,85,135,
+81,219,228,159,12,62,160,203,91,70,109,36,129,78,132,238,147,49,58,108,
+227,144,254,78,76,37,182,113,208,230,185,113,235,52,177,189,103,232,190,
+176,168,248,164,239,158,132,88,224,154,111,148,101,100,188,127,18,199,136,
+173,242,220,187,196,152,137,119,202,225,140,103,236,58,34,21,133,81,196,
+246,23,254,241,147,81,213,84,183,15,10,227,233,238,45,98,107,202,166,70,
+35,196,238,51,7,220,234,7,133,9,244,207,150,168,106,156,129,208,255,98,
+184,255,98,164,162,186,221,178,197,181,0,202,19,218,95,248,81,227,42,7,
+227,64,84,6,101,3,161,107,73,212,249,243,187,159,12,247,159,140,212,84,
+31,55,74,27,232,63,231,247,215,196,238,23,195,227,23,129,154,242,246,65,
+85,150,153,143,227,115,146,162,203,27,90,171,149,212,116,32,12,29,41,57,
+172,153,200,106,100,98,106,94,167,129,76,181,153,79,162,68,26,61,66,73,
+81,221,150,68,65,197,150,159,255,252,228,215,67,104,254,250,193,247,239,
+13,78,20,74,69,250,199,131,103,159,168,191,151,20,78,232,239,15,126,221,
+3,213,247,31,89,92,70,129,10,35,109,219,19,164,193,104,53,17,121,205,100,
+121,11,140,61,189,79,232,75,73,89,152,85,75,72,144,8,33,40,116,41,104,5,
+237,29,30,29,20,23,248,184,202,242,157,36,141,180,247,159,220,189,166,186,
+93,185,212,118,101,24,227,121,254,252,135,127,255,12,20,223,255,226,175,
+31,134,98,87,238,108,140,65,207,236,204,213,49,114,206,150,186,178,151,
+82,87,43,113,171,221,38,124,175,108,185,158,85,85,139,145,218,126,66,108,
+249,180,249,119,148,58,250,220,255,14,154,127,243,199,158,169,133,109,181,
+215,119,83,2,155,44,40,111,220,113,28,73,41,82,215,205,251,201,124,117,
+20,49,84,191,29,38,216,43,77,202,170,109,192,70,92,100,182,62,76,41,33,
+49,29,4,109,20,39,98,208,138,157,31,250,74,67,88,173,4,13,78,2,245,217,
+252,191,48,171,197,201,68,94,250,3,35,25,54,52,207,163,53,234,60,83,189,
+210,187,94,170,180,189,115,153,64,148,140,94,204,83,3,219,91,190,147,21,
+149,21,106,162,214,68,143,163,220,238,251,169,72,217,176,68,95,61,182,144,
+251,151,117,73,85,79,18,186,41,143,172,229,113,135,196,248,217,18,219,76,
+218,50,87,75,81,105,100,136,196,49,51,213,227,63,35,195,84,81,234,186,160,
+254,230,48,90,8,93,32,248,8,190,227,241,152,130,81,93,80,222,44,42,230,
+3,206,92,74,156,157,170,225,33,34,214,82,52,122,146,224,20,98,154,26,209,
+222,211,255,79,96,44,29,197,183,2,171,132,56,10,170,112,148,149,89,45,101,
+181,140,75,137,36,130,79,164,160,177,23,71,121,45,208,46,19,13,211,16,136,
+41,247,249,173,83,188,115,40,151,56,137,237,140,158,254,127,34,186,178,
+20,31,5,86,65,8,9,229,10,138,90,243,91,217,196,211,69,53,102,37,183,152,
+136,221,63,60,199,26,87,127,80,84,37,70,157,123,108,171,63,203,66,183,173,
+186,67,125,162,22,114,153,164,152,245,9,218,127,120,250,18,215,92,177,42,
+16,163,201,85,120,244,19,92,93,128,31,24,41,50,123,190,255,201,48,140,40,
+53,18,255,105,81,206,225,202,111,212,215,121,230,59,161,76,129,181,129,
+216,254,155,182,183,152,226,66,209,92,176,214,144,198,33,175,221,208,211,
+63,4,103,44,166,186,161,237,133,194,74,134,229,109,157,97,121,18,201,119,
+140,99,156,250,236,14,137,33,239,247,177,101,184,199,44,235,92,54,148,230,
+74,89,186,105,111,36,210,48,16,167,201,139,208,63,80,117,134,237,25,67,
+222,9,177,165,191,71,204,244,250,194,94,41,230,247,7,136,79,134,71,194,
+90,139,169,46,24,115,163,172,38,189,144,52,102,254,80,18,66,247,15,237,
+88,225,234,111,20,101,70,14,50,221,127,96,248,252,191,241,74,161,109,133,
+187,124,195,25,72,253,39,125,223,231,73,1,209,121,76,176,168,41,62,26,220,
+196,241,145,52,50,76,130,49,182,106,168,235,2,155,155,230,68,31,242,103,
+19,233,126,253,47,225,105,50,169,242,114,227,214,84,152,153,32,55,141,11,
+170,241,201,191,255,167,167,168,26,174,31,55,234,194,162,146,103,24,61,
+9,77,105,204,75,18,118,62,175,53,56,11,125,171,248,31,15,69,41,124,252,
+80,212,197,124,150,36,36,120,186,231,147,231,168,169,110,31,220,106,187,
+18,25,74,140,125,79,251,232,9,166,164,41,92,14,252,154,13,191,104,171,21,
+182,69,47,212,91,191,222,87,203,89,118,37,245,59,145,201,227,24,185,90,
+41,212,201,214,165,240,101,248,178,211,92,120,197,26,245,39,219,252,171,
+139,88,163,0,255,253,252,239,163,168,239,102,52,106,171,220,179,137,147,
+10,198,113,196,15,3,214,90,170,170,58,133,40,246,90,89,103,64,198,209,243,
+253,40,100,115,152,209,84,187,72,187,210,39,94,178,222,141,54,143,218,194,
+243,155,215,203,38,240,137,58,250,57,139,226,203,89,71,89,5,200,63,82,171,
+227,139,62,216,65,229,232,229,63,173,214,114,178,235,150,252,116,221,172,
+22,187,58,43,186,103,141,244,85,43,230,235,203,57,193,132,118,16,215,246,
+247,243,61,78,73,16,173,39,49,149,151,245,162,68,33,109,20,242,152,250,
+245,3,254,145,160,116,184,198,102,98,79,63,48,220,35,184,146,234,175,220,
+199,147,152,118,215,173,166,185,240,9,74,75,243,156,186,44,159,135,90,245,
+173,81,147,108,236,86,135,51,207,45,203,162,244,166,181,58,64,29,146,18,
+177,243,248,199,148,52,124,148,56,183,50,250,145,52,33,14,230,32,249,185,
+86,215,18,1,162,44,9,155,82,25,129,80,211,168,102,102,209,195,151,69,244,
+150,165,202,218,95,119,158,239,159,33,57,189,74,248,222,9,113,156,31,96,
+234,148,166,187,87,154,91,123,64,170,105,230,155,73,92,137,121,102,125,
+46,75,116,230,51,136,168,105,142,45,33,161,99,236,115,143,218,86,87,138,
+25,146,86,26,180,65,111,72,73,41,203,30,47,206,137,250,53,122,59,37,184,
+121,11,232,215,30,215,6,197,52,39,62,205,128,43,166,235,148,185,143,155,
+199,76,243,24,93,230,229,48,207,90,107,61,189,223,124,143,19,18,35,73,169,
+252,239,179,67,230,52,205,178,180,17,23,20,205,46,237,65,73,241,165,231,
+48,17,127,94,50,181,211,29,157,100,173,151,13,162,103,30,199,164,100,151,
+214,150,217,10,165,45,26,33,73,156,158,251,74,33,116,122,246,235,241,71,
+145,148,39,43,116,30,119,92,56,64,41,229,153,247,180,226,229,76,173,33,
+109,94,110,33,146,132,56,201,1,231,229,103,48,54,63,131,20,6,30,63,255,
+225,115,48,220,126,252,224,163,113,43,159,17,129,164,136,105,174,169,4,
+173,103,41,233,44,134,52,244,29,221,179,35,168,130,250,114,165,169,204,
+86,127,44,12,180,247,159,252,122,140,168,230,59,63,190,95,169,204,203,132,
+75,118,2,85,7,165,230,47,90,164,139,109,240,210,170,220,143,198,169,55,
+100,61,117,170,15,178,23,116,222,11,67,29,155,172,191,217,243,194,123,103,
+165,147,77,172,254,251,249,127,109,244,77,183,186,204,235,88,120,236,55,
+132,16,233,135,1,163,117,102,113,106,115,196,21,118,202,52,234,55,215,185,
+86,23,99,35,137,184,241,21,93,5,187,41,56,32,175,49,29,163,115,229,52,17,
+5,213,218,181,71,109,225,132,173,234,226,249,241,246,117,214,247,234,187,
+167,152,242,120,136,86,255,89,128,223,39,53,138,205,24,224,129,203,32,199,
+192,33,105,53,134,184,8,88,200,78,209,76,237,221,30,55,13,169,173,158,217,
+159,160,64,234,221,64,192,86,41,74,189,196,140,212,217,226,146,68,234,61,
+253,231,72,84,150,226,102,177,86,229,94,246,35,144,180,165,184,102,102,
+186,218,73,244,42,190,128,178,118,233,135,172,71,128,54,195,157,59,37,197,
+221,117,74,202,34,26,18,132,208,79,204,253,202,81,52,5,218,168,44,248,177,
+232,95,239,15,133,55,107,231,189,62,208,217,134,56,103,118,190,173,180,
+127,227,33,249,69,7,145,183,181,202,123,12,71,157,31,129,187,79,86,7,221,
+249,69,88,38,14,153,76,150,52,182,154,72,109,234,248,138,175,215,228,193,
+92,116,99,150,177,140,149,237,146,74,212,46,199,95,241,73,214,86,212,123,
+121,210,125,46,254,22,6,254,125,6,245,255,237,207,170,2,60,136,131,169,
+85,145,182,115,48,91,243,35,143,183,81,189,228,82,213,170,83,124,54,18,
+118,144,28,135,20,122,30,191,126,241,240,122,153,133,55,106,255,220,87,
+237,198,249,254,37,79,255,108,105,199,136,118,53,151,166,194,45,220,0,153,
+70,229,60,125,219,210,121,193,53,13,215,75,110,117,168,181,114,221,122,
+87,171,173,132,244,186,39,191,233,85,110,190,204,22,158,125,103,154,124,
+68,113,223,5,249,189,83,158,98,47,34,118,154,191,255,46,144,255,193,223,
+237,86,188,92,173,108,240,212,54,182,238,101,81,21,12,67,15,168,105,68,
+67,159,55,9,246,55,74,142,30,247,156,192,190,155,15,58,10,207,175,2,145,
+44,2,59,203,56,218,138,53,169,246,77,23,121,233,108,201,74,216,99,223,154,
+103,231,114,170,126,3,207,47,243,199,74,253,103,251,247,128,135,159,24,
+152,28,60,152,89,136,131,75,191,134,172,214,167,213,38,87,94,93,231,222,
+245,91,109,121,7,75,95,95,190,252,14,114,66,254,88,120,10,155,141,180,119,
+34,122,71,72,89,105,29,164,72,242,57,105,84,228,121,118,119,173,169,43,
+189,200,205,202,250,26,229,100,50,65,29,47,116,89,35,74,118,27,75,14,14,
+106,107,46,129,154,185,4,189,207,58,242,163,198,94,10,202,239,37,218,189,
+56,22,107,145,167,47,203,227,175,146,59,245,155,192,254,54,25,144,223,98,
+121,234,192,115,81,59,197,248,223,85,238,7,155,200,141,200,244,187,100,
+239,107,254,198,124,249,137,208,119,164,100,112,77,38,165,157,21,19,242,
+85,234,162,214,35,73,171,107,217,205,32,11,39,170,109,7,38,180,156,16,130,
+229,232,23,172,212,41,160,248,54,144,255,255,96,253,122,90,118,172,248,
+71,139,15,136,200,134,161,45,219,184,189,177,183,62,45,24,102,112,89,157,
+88,58,239,151,231,49,30,162,140,193,104,75,225,44,206,218,21,23,105,189,
+38,213,150,94,69,160,123,246,248,168,169,111,87,74,107,94,99,160,50,41,
+225,125,126,242,217,65,81,93,248,246,119,69,97,231,158,255,234,123,174,
+144,201,133,184,125,98,186,179,203,255,14,153,202,178,190,215,30,243,71,
+202,214,73,187,242,104,126,43,95,33,97,235,36,244,43,2,157,252,174,205,
+123,158,131,175,42,248,237,197,203,10,134,95,11,202,204,63,11,227,72,215,
+245,52,77,157,25,140,162,14,214,140,239,172,41,246,160,239,209,76,229,253,
+228,254,54,11,154,148,42,39,181,54,99,76,78,52,54,73,201,46,181,150,179,
+59,9,47,119,32,245,199,103,243,252,179,148,178,90,158,53,118,219,239,255,
+79,170,119,117,114,183,86,21,197,26,213,216,75,189,207,83,3,198,152,44,
+223,186,95,49,167,8,197,234,57,188,1,10,254,168,118,82,175,158,215,218,
+220,97,113,29,84,167,96,193,129,197,47,41,101,200,122,125,150,234,105,182,
+95,111,73,106,107,137,0,245,54,90,126,29,30,212,111,67,226,171,53,146,251,
+217,83,231,67,103,88,121,73,163,166,86,206,130,84,240,82,205,82,239,198,
+88,212,23,149,250,111,43,246,175,22,229,89,144,218,134,171,45,88,248,6,
+57,123,143,97,109,82,163,119,206,4,231,66,199,242,246,41,73,150,47,220,
+180,182,228,180,230,127,135,95,158,163,124,123,181,205,117,111,81,56,12,
+128,188,121,38,106,25,7,220,79,255,32,114,64,234,54,104,141,252,65,194,
+246,167,109,59,206,32,131,29,1,119,174,228,215,237,197,51,82,177,124,125,
+14,189,130,238,110,211,169,45,89,250,28,209,204,189,252,20,4,209,42,79,
+50,169,61,81,122,191,228,167,96,26,82,110,223,152,221,123,79,154,14,49,
+69,146,76,4,230,89,129,85,214,74,168,187,239,189,50,134,249,50,59,60,217,
+128,106,133,248,109,31,229,31,60,200,195,168,247,75,38,87,237,205,147,78,
+80,229,63,56,160,222,7,245,125,237,244,223,143,255,150,237,252,248,42,123,
+86,231,103,74,76,145,182,237,176,198,188,136,117,27,2,206,153,51,149,28,
+250,119,95,102,182,111,153,230,171,204,67,201,139,133,248,210,232,220,102,
+86,135,157,252,197,206,17,89,141,140,109,141,6,222,237,215,185,159,186,
+0,32,239,54,208,215,40,206,57,225,110,103,30,195,145,42,241,146,123,133,
+101,209,31,60,171,149,58,133,29,54,196,147,29,252,118,24,191,127,23,60,
+119,72,203,198,195,89,222,25,57,236,175,71,14,9,217,60,174,114,248,116,
+57,203,135,142,46,80,139,157,236,111,229,255,119,149,238,187,12,250,237,
+26,100,231,22,123,174,220,175,246,218,17,242,7,213,60,191,69,218,79,254,
+126,110,213,42,255,225,71,28,125,219,228,221,14,254,226,216,83,191,61,129,
+14,112,237,111,66,248,215,87,172,54,68,220,253,185,182,73,56,54,207,67,
+109,73,54,114,44,113,151,87,238,42,249,131,47,197,87,92,137,255,47,208,
+252,155,53,115,124,74,47,132,75,214,137,183,58,230,253,235,101,252,174,
+111,186,70,166,228,205,25,121,174,167,250,14,233,225,176,158,222,238,23,
+249,234,140,92,85,205,178,253,187,176,211,76,249,157,27,219,158,207,35,
+175,96,188,119,227,248,26,160,57,219,107,114,222,244,61,3,252,190,98,203,
+243,5,194,247,69,174,171,151,89,111,217,246,114,54,213,210,138,172,144,
+82,194,15,30,165,160,44,74,182,46,243,179,9,202,58,11,223,94,219,86,15,
+72,29,71,193,54,255,174,88,251,14,191,146,240,153,84,7,105,26,87,58,236,
+171,131,200,239,126,211,170,41,144,108,237,100,215,159,63,175,155,119,232,
+169,76,132,154,52,49,82,212,217,124,153,250,2,90,57,205,216,100,155,157,
+204,61,48,181,240,105,94,227,22,9,66,204,142,100,7,34,163,218,69,22,181,
+79,194,94,187,94,206,132,157,14,173,9,57,175,128,69,94,128,219,172,135,
+47,171,98,97,47,206,32,108,61,88,101,23,220,55,56,161,90,145,198,100,249,
+167,245,53,138,58,111,38,46,246,145,178,5,145,213,105,189,254,98,180,190,
+15,234,91,183,197,109,133,36,171,61,242,6,1,218,137,69,158,46,44,254,48,
+8,108,92,159,86,137,237,166,54,216,250,99,43,206,108,48,143,111,122,148,
+65,146,183,34,90,47,197,66,121,163,183,33,156,239,238,215,146,185,33,102,
+0,0,32,0,73,68,65,84,59,156,23,2,239,49,153,119,45,131,245,209,190,222,
+195,107,141,141,53,20,191,237,110,236,123,114,47,136,127,153,60,148,221,
+218,89,85,247,106,111,183,170,254,60,64,127,253,124,207,22,210,110,125,
+169,21,17,116,254,236,157,161,202,126,201,236,137,195,135,160,169,212,74,
+52,233,85,189,168,205,175,169,115,84,69,56,197,140,206,10,139,61,39,72,
+206,107,134,211,125,168,144,233,249,168,117,145,255,122,95,249,29,215,233,
+228,144,155,71,228,54,74,157,95,51,62,246,77,167,87,211,79,54,220,30,217,
+217,170,175,213,225,229,93,46,252,142,26,243,85,224,223,37,254,122,139,
+121,110,73,24,34,199,62,197,48,12,196,148,40,139,50,143,130,201,9,100,187,
+99,7,238,236,108,78,204,91,248,186,193,176,54,189,217,61,35,173,245,4,77,
+159,245,215,100,203,168,56,4,95,217,248,65,159,86,92,95,37,81,34,211,231,
+107,212,87,56,254,87,171,99,233,51,169,99,66,50,103,200,178,87,167,85,203,
+63,106,51,137,60,76,22,138,28,80,11,216,107,42,41,217,30,24,74,157,87,3,
+219,222,253,254,96,217,230,232,178,98,187,169,29,149,98,187,63,207,173,
+71,215,17,118,254,30,106,165,208,54,63,95,197,246,64,85,251,240,37,106,
+27,184,213,10,2,132,3,76,189,246,12,80,111,14,81,181,191,94,121,67,86,92,
+93,194,129,86,161,254,160,176,149,55,9,160,236,191,27,71,201,171,25,177,
+56,60,61,14,59,240,172,10,151,67,227,235,12,151,219,134,195,179,247,81,
+95,16,6,228,208,14,80,7,79,186,125,162,33,167,223,133,93,114,182,186,118,
+145,67,32,150,221,125,60,86,226,235,12,108,103,34,162,214,237,201,87,230,
+42,179,195,228,239,188,65,229,119,4,130,63,8,238,95,225,180,242,58,139,
+242,145,32,7,9,141,181,228,233,169,130,221,172,100,42,43,28,96,29,101,69,
+189,105,227,200,17,182,80,123,52,97,61,174,118,172,230,213,218,168,69,56,
+109,45,109,254,111,149,33,47,21,179,122,215,160,122,23,36,55,242,161,59,
+0,98,221,19,151,147,117,251,39,15,78,142,163,213,178,61,81,213,234,184,
+87,255,9,82,247,213,239,236,47,84,129,62,166,15,178,40,219,237,161,196,
+224,3,33,68,10,231,178,97,203,198,83,156,3,142,124,246,185,95,21,47,155,
+167,184,209,217,150,29,209,67,166,190,119,200,238,102,171,96,176,104,177,
+239,5,9,246,144,240,76,66,89,245,142,215,4,148,51,91,230,245,183,75,41,
+155,123,200,162,108,244,31,164,230,155,221,39,156,179,64,86,0,143,90,169,
+9,47,135,185,100,115,154,36,219,37,40,231,52,215,253,225,184,205,40,143,
+26,201,106,87,193,237,202,239,221,127,100,37,29,44,235,61,114,88,128,114,
+74,68,123,201,35,47,223,123,7,97,137,188,9,122,155,173,126,18,45,101,70,
+106,228,109,0,217,87,117,219,19,82,237,224,70,57,36,255,139,76,242,188,
+108,229,72,253,80,103,250,23,114,130,226,188,147,158,220,83,127,213,49,
+252,162,100,149,204,236,235,228,247,73,245,123,59,96,216,227,18,106,135,
+193,189,63,69,223,253,142,58,171,181,151,251,171,78,83,138,147,204,232,
+48,207,255,18,79,94,67,254,219,86,163,156,161,239,231,215,189,186,223,27,
+16,74,169,45,246,35,187,181,254,14,18,254,211,63,194,169,202,230,241,90,
+133,109,216,93,17,86,145,67,235,252,244,48,219,19,13,231,201,5,81,155,42,
+71,212,62,247,81,111,206,51,217,182,9,216,219,176,158,128,25,138,237,121,
+193,174,56,81,219,81,105,181,14,210,179,98,223,250,121,137,172,90,101,156,
+201,177,188,128,97,217,131,14,106,17,74,83,251,54,210,59,46,171,90,167,
+186,243,123,108,123,158,7,202,168,82,7,224,251,116,221,156,17,112,255,100,
+100,110,245,111,122,171,102,63,93,160,168,67,145,41,34,244,67,143,49,6,
+231,220,42,128,202,70,143,90,109,242,60,57,128,103,234,77,33,178,129,200,
+22,229,53,217,178,193,183,254,1,104,157,25,154,106,13,13,207,144,179,236,
+22,224,89,73,190,90,199,106,215,235,62,149,253,221,5,53,103,236,100,78,
+163,254,112,35,203,241,48,159,211,106,181,37,135,172,243,28,100,219,23,
+156,91,133,198,152,60,195,170,86,200,162,90,195,222,28,205,19,100,237,251,
+190,173,102,55,204,120,206,212,147,213,73,20,90,97,52,39,89,169,28,0,162,
+117,100,148,87,68,220,53,25,94,251,64,54,48,183,240,5,209,100,97,215,171,
+87,184,80,47,242,219,89,128,91,215,226,234,77,226,33,203,184,208,214,72,
+101,73,102,212,171,114,60,35,0,30,146,157,119,183,85,222,252,222,187,52,
+95,246,150,149,199,81,49,197,81,165,64,253,166,43,160,14,152,219,26,5,145,
+147,93,43,95,66,243,103,248,221,90,26,73,54,235,232,43,125,61,217,65,193,
+167,134,14,155,192,162,214,149,182,82,235,243,248,245,236,246,168,141,122,
+17,184,102,229,52,217,164,18,239,59,38,191,173,196,255,95,49,233,213,46,
+74,207,73,255,118,180,115,182,167,94,239,103,181,223,212,251,139,83,39,
+121,179,154,159,130,188,76,139,222,78,107,124,157,139,108,198,49,79,164,
+76,114,248,72,164,49,155,50,157,145,36,215,228,98,17,217,242,3,150,186,
+78,54,26,244,106,125,16,237,151,13,107,219,243,125,138,191,47,103,142,124,
+180,237,141,19,14,49,116,58,127,212,46,85,221,196,61,245,5,82,247,187,123,
+172,248,122,66,99,35,85,171,78,186,229,106,203,162,151,36,140,222,3,80,
+85,213,174,90,218,115,12,229,144,95,30,30,186,156,156,117,123,36,96,14,
+102,107,133,185,233,162,230,202,217,104,179,25,113,99,215,86,80,178,203,
+150,14,228,143,173,243,153,226,108,244,97,215,242,148,172,86,151,36,101,
+182,39,234,63,220,184,138,243,149,190,189,15,178,231,11,172,72,61,41,38,
+146,36,172,178,167,89,234,62,99,221,28,237,59,227,132,205,189,83,251,220,
+252,77,173,39,147,167,246,42,154,41,165,97,114,179,59,37,14,111,250,213,
+171,218,50,133,108,13,59,137,105,100,129,154,53,153,231,53,53,32,107,153,
+189,53,209,114,119,194,138,202,42,26,105,37,196,49,87,57,74,207,34,39,71,
+72,248,192,175,146,149,74,159,40,142,250,111,43,72,88,169,183,19,107,231,
+68,195,105,167,164,56,9,190,228,239,253,213,60,255,54,89,149,115,38,210,
+164,72,150,82,204,247,128,29,233,117,22,133,153,71,203,36,173,132,129,244,
+38,152,201,14,210,103,5,170,171,73,80,38,193,70,32,36,11,178,168,147,126,
+191,218,225,32,114,208,75,88,255,109,17,172,217,3,242,107,199,67,181,21,
+151,58,174,243,227,51,217,25,81,174,174,253,213,3,123,25,145,173,154,16,
+235,22,153,200,116,143,211,14,180,84,40,163,243,58,126,7,3,254,113,69,191,
+30,109,145,3,215,99,29,141,183,19,0,234,229,27,182,57,204,143,77,220,165,
+131,183,38,179,238,174,57,165,144,63,67,235,19,123,240,255,52,131,217,46,
+108,153,220,14,251,174,163,31,20,213,199,53,107,205,3,167,115,121,176,40,
+110,190,230,254,121,17,162,225,197,141,81,95,76,52,76,222,5,41,78,98,66,
+76,106,154,90,47,137,194,62,14,200,219,198,149,90,72,222,235,86,96,138,
+129,36,47,65,50,165,53,90,235,197,12,71,237,130,189,226,11,84,239,79,36,
+41,222,144,239,172,172,23,53,187,100,100,250,197,16,2,62,100,35,25,53,57,
+180,189,88,2,235,164,235,221,45,249,26,0,220,150,62,187,236,72,173,9,27,
+249,34,181,86,32,122,81,171,123,101,221,43,171,219,253,251,173,134,240,
+215,12,208,245,200,135,252,145,42,104,86,127,178,107,151,184,255,24,131,
+219,207,186,115,240,38,222,237,225,149,52,112,30,31,115,216,77,66,163,222,
+209,23,120,221,15,81,71,93,37,224,139,129,39,142,137,156,120,66,127,103,
+120,118,89,174,114,66,76,116,249,141,230,122,195,90,117,94,17,175,25,202,
+18,73,209,19,199,14,223,117,132,49,102,88,204,93,41,175,87,138,194,45,70,
+63,106,53,170,163,214,189,60,73,147,164,166,153,2,227,171,138,147,56,18,
+186,95,244,253,64,138,178,120,46,43,219,80,94,111,184,181,49,198,46,191,
+220,184,250,45,143,73,189,153,107,93,29,168,251,55,75,211,245,41,147,21,
+233,118,140,99,73,137,52,62,232,63,159,36,221,80,221,110,216,217,252,250,
+139,220,106,107,146,112,2,71,73,32,14,119,250,182,37,140,227,116,213,147,
+108,179,182,216,234,70,89,55,88,3,209,223,233,239,175,207,119,179,26,220,
+90,71,225,108,191,38,207,216,254,162,235,253,162,154,6,26,109,235,233,254,
+186,83,212,64,246,7,60,39,147,12,34,72,26,24,219,159,244,189,39,45,104,
+162,70,187,154,242,114,195,21,197,50,198,52,107,66,136,240,58,100,87,135,
+254,161,143,187,218,107,11,57,214,104,182,62,137,43,167,74,181,215,3,17,
+136,3,190,251,201,208,249,213,189,209,104,215,80,94,110,216,66,255,97,162,
+246,187,90,64,78,218,57,91,105,238,53,91,126,131,125,28,230,193,143,45,
+30,145,119,117,90,78,96,226,240,160,191,63,137,166,161,190,222,176,206,
+28,13,182,78,199,142,207,11,190,13,186,155,34,126,104,105,219,158,168,43,
+154,91,243,10,238,179,82,96,16,68,233,151,162,228,250,217,172,170,246,13,
+161,98,21,152,213,65,60,44,239,203,24,61,67,223,241,120,118,12,99,204,190,
+246,205,7,31,183,11,181,85,47,114,181,200,198,187,225,245,236,50,177,155,
+57,104,175,144,173,20,35,227,208,209,62,158,116,195,72,68,161,172,163,108,
+110,124,187,52,20,78,45,57,155,218,115,15,206,96,249,175,24,245,95,101,
+32,179,93,236,30,53,150,93,230,19,67,96,244,30,171,13,206,21,219,160,196,
+86,192,132,195,99,229,64,195,57,157,225,23,54,85,208,166,206,94,109,82,
+145,68,76,105,241,30,63,149,220,219,207,132,200,26,250,223,146,216,132,
+237,193,171,126,115,255,100,81,171,203,149,196,159,22,234,219,68,227,56,
+191,250,138,235,106,3,82,43,81,155,236,46,165,204,61,80,217,228,253,36,
+193,219,40,85,44,179,151,27,67,154,213,23,85,187,249,120,117,24,240,88,
+5,88,17,72,35,113,104,241,125,64,85,223,104,42,139,26,59,134,182,157,178,
+213,244,114,162,59,12,192,75,230,11,68,79,240,15,188,31,65,215,184,235,
+191,168,116,214,158,142,82,160,181,157,42,202,147,117,50,67,111,201,19,
+250,39,222,71,84,121,161,172,202,44,43,170,178,140,229,216,221,25,35,184,
+250,111,92,177,210,38,80,122,242,8,56,127,198,234,20,97,217,30,80,162,212,
+41,98,178,113,95,76,35,97,120,50,246,17,85,54,20,85,57,37,165,171,195,43,
+13,140,93,79,194,224,234,42,219,215,254,14,198,223,252,252,68,72,88,9,96,
+48,229,149,90,89,124,255,36,36,141,171,110,88,103,179,226,158,202,166,36,
+18,123,198,190,39,138,161,168,43,236,228,229,185,239,130,239,247,117,10,
+3,161,127,48,6,69,209,252,157,253,201,245,252,112,102,201,216,221,60,241,
+186,50,223,11,84,237,230,162,37,249,233,249,25,220,229,191,178,225,204,
+28,176,151,247,151,85,204,83,27,241,171,69,133,237,43,40,69,2,161,127,224,
+135,136,46,102,15,247,249,249,158,169,91,201,50,255,157,226,48,25,230,104,
+220,245,95,184,194,102,244,106,74,188,179,123,227,31,84,237,127,36,130,
+179,83,219,90,239,76,117,66,115,92,79,215,174,137,170,135,2,118,247,44,
+102,206,213,58,135,11,158,177,239,73,98,112,101,245,114,16,124,251,61,228,
+208,130,89,208,72,214,173,86,33,141,158,190,107,121,14,9,91,94,248,104,
+178,49,207,114,208,69,79,24,158,248,49,97,92,147,29,254,246,186,220,115,
+43,89,109,45,92,83,76,36,178,204,180,94,236,183,231,181,235,25,218,59,143,
+62,32,174,166,254,246,47,190,147,136,33,59,91,230,71,183,146,169,57,17,
+252,146,232,233,159,15,30,30,138,230,194,173,46,22,196,49,250,158,199,253,
+65,159,12,101,243,141,191,191,155,73,7,32,199,11,179,42,100,223,34,191,
+239,24,125,239,36,62,222,214,210,249,25,219,117,175,83,173,228,68,243,102,
+19,250,190,71,27,67,81,22,39,178,124,199,242,66,14,13,11,117,2,104,236,
+145,134,147,38,130,108,149,122,103,114,139,157,15,232,181,144,138,172,32,
+213,189,156,148,236,18,98,181,239,215,158,137,187,188,255,51,171,229,169,
+63,13,238,123,173,91,217,19,253,182,1,117,233,229,174,73,112,43,65,13,51,
+193,224,7,112,98,61,88,41,171,108,119,55,11,123,16,122,91,29,228,234,48,
+140,244,66,82,148,72,206,232,187,17,85,92,41,235,26,163,179,31,182,136,
+193,56,55,41,233,9,49,134,213,162,51,24,163,115,197,237,31,244,93,135,152,
+18,215,220,176,206,229,13,128,32,166,156,22,163,144,98,64,226,204,185,48,
+88,61,107,88,135,220,158,241,79,6,63,130,105,112,90,33,81,16,35,40,9,140,
+237,39,62,106,108,245,65,81,186,124,191,22,196,38,146,66,200,201,217,226,
+95,144,253,216,181,81,144,178,121,72,118,168,75,203,93,88,140,139,230,72,
+30,51,185,51,223,110,133,104,131,209,89,90,55,165,132,132,39,126,24,65,
+87,88,163,33,206,4,184,44,0,146,131,179,163,184,253,77,33,19,52,190,228,
+102,49,255,206,146,72,231,42,97,58,93,72,162,209,234,5,45,230,10,244,21,
+4,231,247,73,190,35,138,197,213,55,92,89,76,176,121,204,222,235,0,202,81,
+94,255,166,152,219,34,74,101,147,19,201,207,48,73,154,18,192,108,54,34,
+42,43,13,134,246,147,33,106,108,253,129,43,139,172,54,182,129,130,35,41,
+219,153,109,175,127,242,73,72,49,160,140,133,165,53,51,221,95,242,231,135,
+246,87,246,68,175,178,143,187,86,26,65,208,76,250,243,18,179,199,193,180,
+23,82,138,8,26,99,108,118,150,75,42,123,16,196,185,166,122,217,219,74,156,
+158,207,248,100,24,70,176,53,198,40,36,70,196,106,36,5,146,154,160,90,153,
+100,116,67,68,148,205,254,46,18,178,131,92,48,89,82,183,42,208,75,111,117,
+186,182,152,43,194,165,208,73,33,75,242,27,135,34,144,146,70,235,148,255,
+77,4,81,211,254,96,74,252,98,202,201,251,162,135,15,104,187,138,231,41,
+123,57,204,149,143,54,249,59,44,136,126,34,133,236,3,207,180,62,149,181,
+43,126,241,132,44,77,100,52,65,131,181,25,201,76,249,222,230,151,58,138,
+203,95,20,87,243,210,233,95,174,49,174,206,55,51,121,56,144,247,143,104,
+180,150,108,67,43,50,33,59,118,90,13,137,56,182,124,254,108,9,170,164,186,
+93,169,11,59,245,137,37,27,241,164,148,157,8,135,0,182,202,254,18,73,178,
+211,226,186,61,37,43,132,98,74,118,211,216,241,249,235,206,160,43,110,31,
+55,106,187,242,235,136,61,247,159,159,12,82,80,93,110,217,96,199,40,84,
+2,138,130,164,39,75,231,24,242,181,79,237,44,103,179,33,132,164,64,12,217,
+86,248,243,57,32,174,193,232,92,0,99,45,164,142,251,207,127,243,12,37,151,
+31,55,110,165,197,106,189,43,106,51,242,24,226,170,181,163,116,214,240,
+159,143,163,56,173,151,105,63,27,107,208,146,201,127,18,35,162,13,196,200,
+108,83,160,108,78,76,150,199,27,3,203,209,133,206,142,144,115,80,22,181,
+237,9,12,131,39,165,68,93,215,217,157,108,21,112,50,235,89,31,203,152,201,
+97,14,149,157,180,142,53,225,139,73,189,205,197,213,70,56,6,37,203,235,
+133,108,71,152,82,66,27,187,88,191,230,207,103,161,67,46,252,188,180,50,
+162,56,52,225,132,180,136,0,28,173,97,23,146,30,108,122,137,75,223,123,
+26,13,60,39,94,76,223,36,45,247,247,164,95,34,175,209,20,117,210,111,219,
+243,54,166,133,156,66,36,138,228,7,62,191,68,239,34,181,58,27,97,81,43,
+100,79,118,157,16,181,19,184,153,63,63,173,250,152,249,223,162,127,226,
+251,14,177,55,170,186,202,8,202,216,50,246,61,162,42,108,89,160,147,199,
+247,79,124,215,17,99,68,196,98,155,111,212,151,10,124,203,208,61,73,230,
+66,93,55,121,1,167,64,66,47,70,40,18,7,198,254,153,43,203,148,16,52,182,
+250,78,125,169,33,118,248,199,47,6,239,33,73,126,157,25,8,189,195,150,55,
+202,107,137,12,159,248,126,128,234,71,182,40,77,137,200,212,210,73,3,190,
+125,78,149,215,21,167,13,201,63,24,186,22,220,141,210,9,99,247,32,68,141,
+49,145,209,7,82,72,232,234,70,117,251,192,153,201,10,118,108,25,187,79,
+198,113,218,164,166,162,108,62,16,61,18,158,191,240,99,32,197,136,40,131,
+214,158,208,183,152,250,74,89,25,100,120,50,116,93,54,84,105,190,113,185,
+214,175,190,187,164,140,110,12,79,134,174,207,235,29,131,173,191,209,92,
+46,168,212,49,180,119,66,52,24,19,9,126,204,215,87,126,80,125,124,195,153,
+121,181,199,220,66,241,9,211,124,207,193,93,11,18,6,98,255,73,215,118,36,
+177,249,125,175,151,165,50,146,177,197,183,119,66,212,104,27,9,195,152,
+147,157,242,131,250,118,197,234,68,24,126,49,12,30,85,253,200,112,126,74,
+200,92,177,171,136,68,207,56,60,241,125,79,10,145,164,242,245,215,151,11,
+70,141,140,143,79,252,24,81,174,64,249,150,113,12,185,109,114,251,78,225,
+20,97,248,196,247,30,170,191,176,70,231,128,163,65,169,72,232,238,248,206,
+35,6,226,48,130,118,88,39,140,99,194,184,43,85,173,9,253,115,185,63,227,
+232,145,0,166,250,70,117,189,162,99,135,111,127,225,189,39,197,132,96,242,
+250,233,28,182,190,226,108,98,236,59,112,31,212,77,133,210,137,216,221,
+25,218,128,105,62,40,11,67,28,62,241,253,8,229,21,99,84,230,57,204,38,49,
+177,199,63,126,77,158,238,223,113,70,145,198,142,177,187,147,84,137,45,
+10,146,127,146,146,65,155,200,232,7,82,212,203,253,117,58,48,182,119,188,
+79,104,231,144,177,37,248,0,182,166,186,253,133,115,10,21,61,99,255,164,
+239,178,91,92,82,6,91,229,245,161,77,174,46,199,238,145,215,207,20,37,180,
+109,40,174,223,112,78,103,228,171,123,224,251,97,90,163,42,187,236,221,
+110,88,21,137,253,157,190,235,136,201,226,154,111,212,77,195,226,81,36,
+41,191,126,120,50,180,3,41,141,36,108,222,159,215,11,38,181,12,207,7,99,
+84,88,147,24,71,79,12,96,138,43,213,183,143,172,242,233,59,238,247,7,131,
+84,124,124,187,82,185,217,68,72,72,190,101,104,127,226,7,63,153,5,25,180,
+239,9,67,222,223,213,229,130,209,234,32,63,187,241,125,151,68,28,123,188,
+8,67,85,83,152,34,23,7,99,203,227,243,78,27,13,151,31,55,174,133,91,92,
+21,243,6,208,168,20,241,125,71,251,248,164,237,19,65,20,174,186,242,227,
+199,141,146,145,246,241,139,95,143,30,63,142,68,52,118,12,140,221,29,87,
+94,184,126,187,97,67,79,215,141,68,87,99,148,58,104,59,136,100,244,171,
+107,159,124,62,250,236,250,137,163,106,174,124,251,214,96,85,194,119,45,
+237,231,131,46,76,138,125,69,195,183,191,63,104,156,33,180,15,30,247,7,
+163,118,48,120,198,24,16,91,113,249,248,139,111,23,135,38,49,246,109,190,
+126,31,51,114,87,94,39,136,94,113,144,208,139,49,226,189,167,44,74,140,
+177,75,112,20,178,169,201,66,24,216,40,194,76,80,69,76,185,114,210,106,
+55,241,152,51,207,20,227,36,65,170,15,18,23,50,153,198,104,163,17,245,178,
+68,83,138,156,165,3,49,6,244,82,217,200,65,213,45,164,252,254,102,134,203,
+118,109,131,144,2,90,79,129,101,195,106,148,201,170,59,255,28,101,94,148,
+35,165,176,58,143,6,134,56,78,4,63,125,68,87,68,24,99,196,104,141,22,125,
+128,94,36,205,239,111,166,202,70,54,28,3,73,105,185,191,122,129,59,1,173,
+113,83,159,45,132,152,33,40,244,162,3,191,206,177,98,152,190,223,92,185,
+200,198,113,131,24,34,202,232,188,16,213,190,93,146,223,223,76,222,206,
+25,246,234,241,221,131,160,47,148,205,37,163,24,18,242,97,46,5,174,169,
+208,227,157,206,71,148,107,40,191,93,81,254,65,215,182,25,217,247,45,254,
+217,162,202,15,170,170,204,150,160,221,147,16,65,87,63,168,47,21,122,124,
+208,15,3,216,27,197,199,13,149,90,250,71,155,177,122,52,218,148,184,166,
+33,69,65,234,15,138,9,65,152,73,70,18,238,244,143,7,33,10,116,255,144,122,
+157,15,175,235,5,103,33,180,191,24,188,194,53,151,28,60,98,199,216,62,136,
+186,161,116,134,52,252,195,208,245,136,110,48,213,149,170,28,241,247,7,
+216,34,67,119,225,65,255,104,179,79,121,253,47,202,235,148,217,235,73,39,
+63,25,184,4,226,231,19,93,253,160,108,154,233,250,4,136,217,160,198,54,
+148,117,66,58,133,155,180,11,102,20,33,244,159,120,159,80,69,67,245,237,
+10,99,254,60,152,2,93,255,137,239,122,68,215,216,234,70,85,122,252,253,
+153,175,79,205,199,100,68,134,39,190,139,152,230,59,69,237,208,8,146,60,
+193,71,180,189,80,215,66,215,131,41,86,85,97,28,137,195,175,92,213,234,
+10,99,47,148,214,231,103,54,185,164,37,255,96,184,63,178,3,89,251,15,207,
+78,231,239,115,187,98,13,164,238,206,48,68,84,113,161,250,152,174,255,217,
+45,89,104,26,30,12,109,75,84,6,235,46,216,203,15,116,247,111,188,152,92,
+61,142,79,134,251,147,49,37,84,247,191,60,59,133,50,21,197,245,138,85,61,
+253,227,78,76,22,107,20,50,145,91,149,2,163,28,214,229,100,205,247,30,165,
+43,116,117,165,114,61,254,209,78,213,175,70,187,188,126,98,16,76,245,65,
+81,79,207,71,169,92,89,246,63,137,20,84,174,204,235,169,127,48,116,30,85,
+221,176,133,69,194,157,225,241,36,164,4,221,255,18,123,61,93,95,70,138,
+102,226,150,50,14,149,66,118,198,139,96,202,239,84,206,16,187,255,101,28,
+2,232,18,91,94,168,157,101,120,180,96,44,154,188,71,134,103,75,84,26,87,
+212,184,250,7,90,253,155,81,12,154,64,234,30,244,195,8,246,74,249,237,3,
+21,159,12,143,110,233,189,167,177,101,120,220,137,230,70,241,241,129,53,
+204,218,202,217,176,46,62,25,238,119,210,244,243,121,239,228,94,88,32,246,
+121,125,84,165,208,15,96,108,70,181,50,242,49,146,134,59,189,143,104,215,
+80,125,187,65,184,211,63,186,201,129,46,48,118,159,121,255,152,6,91,223,
+168,42,207,248,249,32,217,18,173,12,18,60,237,227,78,79,205,117,69,166,
+155,207,86,101,11,92,221,144,2,72,117,91,16,194,220,86,157,166,133,150,
+2,101,50,145,217,141,239,41,83,80,55,21,195,99,160,107,123,170,194,97,36,
+208,183,15,238,94,113,249,184,113,117,154,20,124,6,213,148,198,216,233,
+218,62,127,209,138,163,185,252,205,191,110,137,238,254,111,30,222,51,198,
+68,89,22,84,151,15,82,76,252,50,53,63,110,87,234,202,101,235,92,147,209,
+141,40,6,107,13,195,240,139,127,254,45,240,237,202,165,174,208,74,16,137,
+140,143,159,252,187,245,168,226,198,183,191,191,145,233,54,217,225,82,197,
+129,251,207,59,189,114,92,190,253,205,205,8,195,243,147,123,235,241,94,
+40,213,192,243,243,23,79,15,197,245,131,219,95,55,98,247,147,207,118,26,
+21,76,158,231,175,95,180,88,154,235,223,252,75,37,186,199,79,30,222,231,
+10,126,173,157,61,107,187,103,181,58,69,81,22,155,32,158,251,223,102,5,
+133,239,105,241,106,9,14,91,24,94,150,170,88,45,144,231,113,56,56,223,116,
+181,244,196,146,64,10,153,13,157,165,222,21,70,79,194,46,27,203,175,105,
+36,70,41,172,50,155,234,126,153,237,156,146,1,107,12,106,150,0,56,105,227,
+47,154,246,50,243,50,50,36,101,140,5,165,176,198,190,39,216,105,48,156,
+49,137,167,7,170,5,131,61,218,23,46,49,88,99,76,238,33,205,35,102,113,130,
+196,148,205,208,114,134,116,212,118,82,96,101,59,106,140,93,94,255,106,
+193,188,160,84,99,204,148,185,238,228,1,38,38,187,181,51,203,51,145,66,
+143,239,186,28,216,46,31,56,171,115,143,185,127,224,199,136,177,53,42,182,
+248,160,209,213,119,202,210,162,196,231,131,26,135,38,16,186,30,49,147,
+7,183,22,82,85,227,82,132,160,48,206,34,195,61,31,94,229,45,195,178,50,
+18,124,64,219,6,87,87,83,5,234,9,67,4,119,163,186,222,176,102,238,183,134,
+156,64,180,35,184,111,92,126,92,94,247,94,101,56,59,244,159,140,62,161,
+203,239,249,48,14,125,174,214,197,226,202,10,53,62,25,250,128,174,254,162,
+186,54,104,21,9,109,155,57,2,69,1,195,61,7,63,211,80,93,46,83,155,232,101,
+88,68,138,72,28,136,67,204,68,193,219,7,86,191,108,125,33,225,92,34,133,
+39,99,0,83,94,112,117,137,34,145,226,144,175,37,104,76,245,157,162,114,
+72,242,153,196,99,42,172,115,136,191,51,244,49,39,14,151,6,163,34,161,243,
+160,75,92,213,96,245,100,255,57,60,240,125,143,184,43,85,93,78,61,72,80,
+218,97,75,77,242,45,99,16,76,121,165,156,91,110,41,16,134,79,134,46,160,
+203,111,84,77,141,209,145,177,109,115,139,161,44,81,161,197,119,3,148,223,
+184,52,205,148,248,205,235,110,100,124,62,136,81,231,164,162,152,158,255,
+16,65,23,249,254,141,15,134,238,73,212,21,229,245,150,73,148,190,101,192,
+98,202,26,45,3,67,55,162,234,31,220,234,50,247,218,151,140,120,192,63,123,
+68,87,148,85,65,74,61,90,215,88,167,16,137,232,178,66,227,25,251,124,253,
+229,165,193,232,64,104,35,216,42,39,130,234,181,126,84,113,163,188,230,
+0,167,38,200,57,141,61,97,76,104,119,193,90,33,246,143,236,27,239,46,84,
+85,129,132,12,233,171,250,7,215,186,92,237,253,87,145,145,145,48,135,140,
+61,99,244,40,87,81,94,27,140,150,156,188,13,1,85,126,163,186,212,24,21,
+25,219,39,98,234,124,190,134,7,67,251,200,247,231,242,65,81,56,100,124,
+16,200,173,175,228,239,121,237,23,55,202,202,161,196,19,198,128,114,249,
+251,105,6,124,119,103,12,228,182,137,157,138,135,25,181,139,61,99,123,103,
+12,58,255,220,216,233,231,243,61,46,80,133,38,133,150,16,19,166,156,188,
+233,37,115,69,124,59,33,91,213,119,202,210,129,12,140,67,2,83,96,157,157,
+144,179,136,174,127,228,2,64,7,66,59,34,166,162,168,43,180,140,180,207,
+59,173,87,148,183,11,151,210,188,64,71,153,171,158,121,127,95,169,63,110,
+152,149,167,70,174,126,115,123,110,158,210,81,198,78,149,242,235,240,214,
+198,226,202,18,215,141,116,227,136,247,35,138,142,103,27,48,197,7,77,9,
+221,227,31,62,127,182,120,12,213,245,198,237,82,16,158,15,250,1,220,71,
+77,57,185,88,198,164,208,174,192,57,147,219,147,227,192,16,20,69,125,225,
+122,109,230,241,179,133,99,162,139,11,31,223,65,125,254,226,62,60,184,63,
+20,88,203,197,36,124,251,224,209,5,76,253,141,239,151,6,55,183,27,36,17,
+198,142,251,189,99,84,37,183,239,31,52,86,33,177,167,151,132,50,5,206,38,
+124,155,247,206,199,223,223,104,106,135,73,3,207,86,99,157,163,116,145,
+238,243,153,221,245,62,26,74,171,166,123,37,104,87,96,55,20,250,213,72,
+92,146,148,71,226,214,79,66,142,83,173,91,210,199,139,44,183,213,26,122,
+113,144,231,32,114,222,164,150,149,188,222,139,88,63,19,163,230,107,209,
+74,109,93,223,118,162,254,91,138,232,154,124,170,22,67,139,141,156,234,
+50,146,157,95,173,23,232,122,98,136,79,149,180,90,219,16,157,16,99,20,199,
+17,136,109,250,48,5,97,205,150,69,191,159,125,159,41,67,107,151,56,182,
+1,125,171,123,178,173,208,149,222,138,125,108,52,200,22,2,220,11,218,218,
+194,24,242,178,103,140,45,190,109,9,201,225,154,43,206,42,36,245,140,237,
+131,16,192,216,58,87,127,201,226,46,23,156,179,144,124,134,122,71,48,69,
+129,132,142,168,74,138,230,130,209,185,39,25,251,62,7,132,162,68,133,39,
+125,223,229,222,95,28,9,157,198,216,106,170,82,167,234,217,63,115,239,94,
+85,20,77,51,245,44,39,38,189,111,115,2,98,74,170,250,130,177,110,241,205,
+78,18,137,221,157,113,136,168,242,131,178,114,48,182,12,93,75,20,135,187,
+84,232,208,49,250,136,110,254,206,100,56,60,99,219,18,83,65,113,169,80,
+241,145,15,231,226,74,89,85,175,126,233,188,112,82,66,198,150,161,235,72,
+170,164,184,92,166,224,190,101,151,200,248,96,244,30,177,13,101,85,231,
+202,58,116,140,109,203,40,22,215,228,233,1,53,145,204,66,80,216,170,65,
+167,39,222,7,116,253,131,162,170,208,202,51,182,29,33,22,184,235,5,231,
+20,66,238,13,14,125,15,246,66,89,215,203,30,89,120,70,190,101,28,6,196,
+94,40,155,58,39,192,105,69,54,171,255,162,168,106,180,26,25,251,142,16,
+29,197,165,193,72,139,239,123,162,154,18,52,103,94,7,91,232,240,237,51,
+39,74,205,53,63,127,241,140,237,131,49,104,108,125,197,72,135,239,91,146,
+186,80,127,92,113,133,67,11,164,242,66,229,106,210,248,204,201,131,185,
+76,236,126,189,224,109,50,182,25,78,214,53,69,157,251,247,152,134,210,38,
+98,204,1,206,164,156,12,170,250,7,213,124,253,93,75,12,150,226,114,195,
+89,50,58,208,118,36,157,159,207,18,220,85,134,181,99,239,17,74,156,129,
+208,127,18,131,160,202,15,234,194,33,227,212,114,176,13,101,125,57,144,
+205,50,55,36,18,71,79,26,71,208,197,196,79,112,104,98,38,12,250,215,253,
+53,42,228,235,139,142,242,114,193,208,49,118,45,73,55,212,151,213,4,130,
+186,80,26,187,64,238,17,65,133,145,212,43,148,173,112,245,141,170,40,114,
+34,31,103,22,238,200,240,249,63,196,250,70,217,92,113,206,188,72,102,146,
+201,169,195,231,255,33,214,87,170,203,21,107,230,66,97,226,141,244,3,226,
+46,175,245,25,123,252,115,245,124,11,7,105,200,207,119,84,216,234,130,142,
+45,126,204,235,179,172,115,178,229,187,150,152,92,70,95,140,48,60,31,180,
+125,192,214,31,92,170,29,19,95,18,105,156,218,82,243,254,86,43,159,145,
+20,241,253,157,207,207,150,33,68,4,133,45,27,174,215,15,46,181,101,121,
+55,137,140,99,79,215,123,124,4,91,104,52,61,237,227,201,168,106,174,215,
+18,99,12,85,125,37,141,137,46,24,170,66,51,62,63,121,60,58,198,164,48,255,
+219,243,80,130,66,163,139,154,219,173,161,208,144,134,150,231,179,39,185,
+154,143,75,149,201,114,74,182,228,101,109,41,155,75,222,23,191,30,4,20,
+90,18,67,251,228,217,135,220,146,107,42,220,66,102,72,164,177,227,249,249,
+164,23,199,229,227,66,237,52,196,128,239,58,124,114,84,183,6,237,59,6,47,
+216,250,70,83,23,24,60,221,227,65,31,52,101,109,9,143,59,143,103,190,126,
+253,127,6,30,115,145,93,212,92,111,205,10,162,159,62,215,143,158,16,2,69,
+81,224,172,61,50,123,119,99,9,114,58,87,206,193,111,251,140,244,118,62,
+66,249,82,2,74,139,82,220,138,104,4,167,149,235,70,228,123,165,116,244,
+146,95,220,234,103,31,44,81,247,30,42,10,98,204,65,194,232,87,197,251,231,
+130,21,103,98,48,114,144,169,221,88,191,175,216,111,106,66,14,162,8,70,
+235,201,252,96,61,50,183,159,239,2,78,140,9,231,164,99,102,160,175,239,
+157,250,66,158,66,226,116,120,71,135,109,174,20,86,145,134,7,190,111,51,
+121,171,44,115,207,28,131,171,167,195,36,244,140,93,75,8,10,83,85,185,242,
+139,96,46,13,214,89,20,35,227,112,199,143,130,46,74,116,242,153,237,126,
+203,108,233,151,115,151,158,136,109,228,0,208,63,73,148,57,0,56,187,84,
+94,209,63,114,112,215,77,134,92,173,89,80,29,145,64,236,159,19,83,250,138,
+43,11,196,63,232,219,39,81,149,148,151,10,29,61,163,31,81,229,37,7,55,25,
+24,187,46,251,146,215,53,58,118,12,221,128,42,174,249,231,230,101,89,59,
+67,31,105,156,184,5,82,82,212,151,227,40,17,66,234,159,248,41,184,23,69,
+141,49,211,168,217,208,51,38,131,109,174,153,237,31,59,134,174,205,149,
+88,213,100,36,99,74,46,138,186,198,202,192,208,61,25,163,161,168,175,216,
+194,101,82,99,159,131,48,166,161,172,154,37,9,89,152,239,195,3,63,12,224,
+46,148,69,133,81,26,69,32,12,15,198,33,228,251,83,255,63,188,189,219,150,
+228,56,174,36,106,160,36,191,70,100,86,237,61,251,255,63,107,94,230,241,
+244,158,151,153,238,202,136,240,155,46,196,121,160,36,2,32,40,247,200,234,
+53,177,86,175,206,138,139,187,92,34,9,192,96,48,219,163,137,247,148,112,
+76,233,240,110,48,160,191,222,192,77,10,110,93,23,132,141,110,143,225,126,
+77,108,247,245,250,231,191,31,9,205,241,13,93,24,48,220,175,152,232,128,
+253,233,13,109,215,169,36,63,142,23,12,247,71,170,100,15,57,184,3,0,15,
+87,12,247,11,34,29,208,54,132,56,222,193,97,159,184,86,195,0,116,71,52,
+28,49,13,233,249,238,14,7,16,63,48,94,175,9,26,63,164,128,196,227,21,195,
+237,130,9,123,236,14,111,51,122,183,92,67,196,56,60,48,140,137,75,16,135,
+27,208,236,209,30,15,2,246,191,33,54,39,236,247,231,68,202,82,252,216,41,
+245,217,239,183,84,93,54,13,154,246,152,38,22,40,98,186,95,48,244,243,243,
+59,28,16,226,29,195,237,150,80,156,195,25,129,70,140,183,116,127,118,75,
+130,180,30,13,19,226,227,138,113,12,232,222,255,11,167,125,151,231,246,
+155,0,162,102,165,237,80,115,192,238,220,34,52,95,120,220,110,133,107,35,
+53,7,236,222,91,132,238,43,61,207,85,91,122,214,76,152,219,27,104,83,112,
+79,19,74,137,63,50,68,241,124,199,123,226,200,12,64,115,56,162,225,17,227,
+48,33,236,126,36,166,59,39,14,206,56,147,36,219,93,131,120,191,224,118,
+77,137,229,241,116,64,215,24,94,214,52,39,128,216,97,119,60,166,138,25,
+217,157,17,77,131,221,225,29,127,238,206,89,132,44,52,9,101,157,199,237,
+226,216,227,118,255,194,229,193,104,118,103,252,249,95,127,98,215,2,195,
+237,23,190,134,8,58,238,177,159,207,134,161,127,160,31,67,66,118,226,3,
+151,7,99,247,227,63,241,159,167,253,74,246,75,72,235,76,126,28,111,248,
+186,92,113,231,22,239,167,19,246,157,152,101,215,213,99,106,85,60,122,140,
+232,176,63,157,208,198,7,46,215,27,198,230,140,243,97,143,78,82,214,226,
+136,219,245,138,75,15,236,127,30,113,220,181,160,56,224,126,251,194,229,
+58,130,246,111,216,135,1,253,165,7,239,223,113,58,30,208,114,143,219,229,
+11,215,7,208,157,142,104,209,227,218,51,246,243,245,55,226,76,95,174,191,
+149,100,128,24,39,60,250,30,251,110,135,174,237,244,92,176,17,251,208,90,
+103,228,168,158,89,97,137,114,244,72,142,209,177,144,145,91,189,157,41,
+217,13,34,232,177,46,182,243,117,235,44,104,89,205,115,49,55,76,243,248,
+153,227,101,68,154,12,184,246,221,233,251,138,147,133,106,29,59,13,1,214,
+34,177,147,197,76,105,0,0,32,0,73,68,65,84,242,243,205,254,112,169,26,12,
+179,40,196,178,244,169,20,166,1,172,170,153,72,46,140,89,143,231,113,175,
+199,60,251,196,22,30,8,237,97,143,134,70,244,151,11,134,97,72,16,244,241,
+128,48,93,113,191,166,138,49,208,132,233,158,8,119,19,150,42,118,64,255,
+24,19,17,7,17,60,61,48,14,87,244,15,74,135,111,59,160,255,124,32,226,132,
+46,100,241,18,52,29,66,152,209,135,56,166,113,179,145,18,137,111,246,14,
+32,138,136,227,13,253,229,130,216,188,165,96,55,183,117,22,146,32,143,119,
+12,215,11,98,51,195,164,215,127,98,184,93,48,132,55,156,223,78,104,226,
+13,247,219,136,112,124,75,48,98,28,49,92,255,194,99,234,176,59,188,161,
+107,24,195,253,129,137,9,187,208,128,227,128,200,4,52,93,86,85,140,35,226,
+227,130,113,4,218,195,62,93,223,60,226,55,135,214,84,5,221,62,48,225,128,
+54,164,126,95,68,3,154,238,24,30,119,112,243,134,192,17,113,38,8,70,236,
+208,29,143,104,249,138,251,109,64,56,188,175,48,103,127,253,11,253,216,
+166,68,98,215,206,252,136,68,142,227,230,125,78,114,130,144,41,229,57,81,
+251,196,132,35,218,144,250,143,224,0,194,29,253,237,14,116,51,220,221,127,
+225,118,79,61,254,221,57,29,30,247,175,47,112,243,134,221,233,60,183,68,
+50,225,106,26,239,51,34,240,6,90,158,255,227,142,136,195,204,115,24,48,
+92,46,136,52,183,53,218,70,173,85,158,174,232,47,31,24,145,198,160,104,
+30,65,69,104,64,252,192,112,253,196,212,36,132,98,188,222,128,221,97,254,
+247,61,177,223,105,194,112,187,131,186,3,218,46,128,135,79,60,30,119,68,
+58,162,59,157,177,219,133,84,89,63,190,208,15,64,123,156,215,143,240,224,
+230,56,32,62,46,152,152,0,116,104,186,51,186,221,62,77,135,76,87,244,151,
+79,76,116,64,215,237,83,192,157,0,162,118,102,146,247,24,239,95,24,39,66,
+179,63,97,223,68,12,95,23,196,121,90,96,234,191,240,184,220,193,187,227,
+124,125,31,73,151,129,142,9,25,161,185,181,17,78,216,29,82,242,36,207,142,
+56,245,24,134,7,56,156,64,109,147,206,134,128,196,208,167,89,108,106,138,
+89,200,40,14,152,134,1,212,158,208,29,211,154,143,99,159,209,186,56,96,
+26,198,148,228,205,235,4,196,224,241,62,127,206,35,218,166,65,28,30,64,
+108,0,190,163,127,60,192,141,120,190,203,254,62,29,209,196,235,188,127,
+206,41,184,99,194,112,253,133,126,106,209,29,207,41,97,143,17,211,240,192,
+125,34,28,206,123,236,90,51,209,20,71,140,247,11,134,129,231,231,147,70,
+129,211,220,123,214,44,161,166,77,109,186,149,79,156,98,69,156,82,239,249,
+54,76,8,251,55,188,255,60,98,223,53,51,169,118,64,63,76,201,234,153,71,
+12,195,0,238,31,184,124,62,192,251,55,28,246,13,134,175,1,3,3,167,25,33,
+77,103,99,139,174,157,255,139,39,140,253,3,215,199,0,236,14,32,74,252,48,
+160,1,97,194,48,102,89,119,142,19,30,215,15,92,6,194,241,199,15,188,29,
+82,114,211,143,19,184,73,232,211,48,183,160,219,38,32,198,17,125,63,96,
+138,13,154,152,70,236,110,215,11,110,3,163,59,189,227,180,39,60,126,93,
+112,199,1,167,182,5,143,119,92,238,23,220,70,194,225,237,29,199,29,112,
+251,248,194,24,129,99,72,201,206,130,213,182,93,88,207,207,86,82,248,251,
+71,143,64,132,110,183,7,130,152,77,175,168,10,129,236,212,59,185,138,155,
+133,226,142,171,181,204,144,124,128,56,77,201,204,101,30,19,144,35,144,
+82,110,114,157,179,36,51,251,78,218,46,148,77,249,107,157,140,72,23,93,
+152,230,190,123,219,54,248,157,240,94,173,246,115,63,0,168,216,139,18,3,
+227,140,94,116,161,213,159,143,181,188,110,1,61,152,127,102,238,4,108,55,
+166,50,86,153,24,173,253,253,142,137,9,241,50,160,111,246,216,29,78,56,
+254,248,137,48,123,222,39,122,115,196,116,255,192,181,255,156,231,85,255,
+3,167,110,30,57,99,70,104,90,208,253,142,254,235,129,129,0,52,123,116,199,
+63,176,63,118,160,49,166,86,194,35,137,189,60,0,208,238,13,135,183,159,
+137,60,24,48,143,117,77,136,67,143,126,236,49,244,39,236,207,63,177,107,
+39,140,247,4,137,119,167,51,218,150,214,126,243,146,208,197,113,192,52,
+14,152,198,79,196,120,66,219,54,8,135,51,246,109,130,13,251,219,152,8,129,
+135,68,132,153,198,235,12,139,255,192,110,223,130,104,76,243,173,227,13,
+253,215,3,125,32,132,238,13,251,243,31,235,1,16,57,77,118,196,161,199,48,
+254,31,12,221,9,251,183,63,176,23,106,92,113,232,49,13,3,70,78,227,78,251,
+243,27,66,219,0,120,164,67,241,241,129,219,227,35,221,191,227,159,216,239,
+90,80,188,97,184,14,64,119,74,201,20,49,166,254,58,39,58,105,60,45,245,
+207,31,152,110,247,20,132,78,103,180,109,208,188,20,164,222,243,52,12,24,
+1,160,109,176,63,156,17,248,134,199,215,47,60,30,17,97,236,49,222,144,250,
+207,115,143,53,208,128,241,122,3,99,143,118,121,93,181,237,19,193,147,192,
+136,143,95,184,61,8,97,119,66,119,248,19,199,93,135,128,244,247,35,239,
+176,59,189,173,226,71,43,146,23,135,89,199,96,0,211,23,166,95,23,16,1,97,
+255,150,96,206,241,142,137,19,243,156,199,11,56,236,208,237,91,196,123,
+106,197,236,218,136,225,250,43,245,129,199,30,195,61,221,191,246,240,7,
+78,251,93,226,141,113,234,209,115,76,26,11,195,87,143,113,247,134,221,233,
+7,246,187,54,41,98,14,183,185,215,254,3,187,211,27,246,221,60,62,25,251,
+132,138,244,61,152,166,4,33,3,8,187,119,236,79,71,96,248,196,227,50,130,
+246,71,236,222,222,208,181,1,211,253,87,34,32,118,4,12,23,60,46,191,240,
+232,35,194,244,192,116,35,208,238,56,223,159,22,1,3,250,219,5,35,119,9,
+253,106,61,227,209,196,83,154,30,95,224,225,11,15,38,132,221,91,90,255,
+225,142,199,237,3,143,91,159,31,74,187,71,119,56,227,120,56,38,152,252,
+242,11,247,123,143,121,38,18,104,118,232,142,103,28,15,167,180,63,231,2,
+105,26,122,76,227,178,62,27,236,78,111,104,186,6,232,123,4,68,140,143,15,
+220,122,164,231,187,255,51,33,9,211,21,143,251,178,62,19,199,97,188,39,
+126,73,123,120,95,133,170,40,14,201,156,12,29,66,155,123,230,107,243,144,
+38,48,167,10,188,191,140,24,30,71,236,79,63,177,219,7,225,173,32,84,45,
+133,64,12,79,119,92,62,174,184,97,135,243,159,103,28,118,173,24,217,4,16,
+58,236,14,7,236,110,15,92,174,127,225,159,183,20,15,218,253,27,126,190,
+29,177,111,35,208,53,8,215,11,190,254,213,227,139,0,10,123,156,222,126,
+224,231,143,195,76,64,158,17,43,30,49,92,127,225,159,183,47,236,79,111,
+248,241,126,64,188,125,226,227,243,142,145,227,76,182,221,225,120,58,226,
+199,127,158,113,104,83,75,119,106,58,116,129,113,185,125,224,159,183,15,
+160,217,225,116,254,129,63,126,30,209,132,54,161,21,183,59,62,254,245,192,
+71,179,199,241,116,194,251,127,156,176,111,24,143,207,191,112,185,220,112,
+199,128,254,254,5,106,15,56,157,79,248,227,143,227,140,116,77,232,186,22,
+225,114,193,215,95,255,7,95,72,231,235,233,237,29,63,127,156,208,17,131,
+120,2,253,127,151,127,48,152,49,142,35,238,247,59,246,135,3,186,174,203,
+176,187,171,152,37,77,234,89,217,48,62,23,217,49,9,3,11,136,127,209,27,
+150,243,219,68,69,96,42,244,85,193,197,128,63,203,62,60,177,10,116,165,
+215,185,157,85,76,125,169,197,68,228,247,190,74,141,245,66,117,73,209,235,
+105,157,102,224,152,62,65,176,86,175,156,221,209,200,42,248,185,222,213,
+156,161,125,192,151,244,116,194,61,199,8,142,147,232,87,164,89,233,32,36,
+243,82,102,28,115,39,36,204,162,14,66,231,35,205,181,138,135,70,13,136,
+18,84,70,96,76,179,148,44,173,73,79,43,166,51,230,74,124,74,236,228,244,
+81,155,117,172,108,25,81,10,82,84,71,60,67,142,35,16,151,229,53,207,241,
+114,130,174,128,41,93,215,204,128,7,243,252,121,40,207,132,99,158,59,21,
+192,83,8,66,200,133,24,28,19,67,118,133,60,3,33,132,76,64,101,38,32,78,
+136,179,167,66,18,153,89,164,69,35,34,79,217,247,65,124,54,240,44,3,76,
+139,108,47,192,60,165,202,59,72,25,214,56,143,132,206,34,48,102,34,130,
+230,191,227,152,145,46,76,143,185,114,62,38,72,180,93,152,50,205,58,143,
+159,70,162,230,81,165,80,42,147,37,125,246,105,22,157,90,110,78,35,36,128,
+147,204,44,144,229,111,37,119,135,145,94,63,178,209,182,155,239,193,58,
+8,76,203,191,231,235,154,166,68,74,188,127,98,228,67,130,147,231,57,229,
+244,183,65,43,25,207,215,193,75,128,152,239,19,226,136,105,188,37,161,161,
+230,136,221,97,65,24,178,59,90,140,233,222,42,171,120,106,230,117,148,5,
+157,86,47,138,121,63,36,210,228,39,70,28,112,56,156,209,180,84,232,25,164,
+190,253,114,127,200,61,22,151,121,117,86,109,195,6,52,39,207,60,69,193,
+179,153,101,158,23,242,115,140,243,53,138,251,78,148,214,95,96,209,185,
+92,174,123,94,135,212,128,154,89,180,135,147,28,247,186,160,150,169,159,
+249,111,34,120,222,203,88,247,35,131,102,97,151,121,18,171,79,179,225,95,
+211,30,63,255,252,3,111,135,86,187,88,179,120,62,235,26,154,133,97,148,
+138,156,96,20,173,250,40,179,46,194,124,46,145,163,61,194,49,173,209,116,
+6,205,252,173,208,32,52,137,98,61,77,9,149,145,54,185,105,186,73,156,153,
+243,107,8,6,54,26,194,90,128,202,22,105,88,200,217,171,6,66,26,173,150,
+98,109,233,253,115,11,58,10,201,136,38,52,160,16,49,222,175,248,252,184,
+32,238,18,19,63,65,251,179,158,67,144,40,88,196,52,233,216,23,86,130,59,
+35,14,119,208,63,46,255,224,20,220,123,52,129,112,60,29,203,0,36,224,109,
+41,115,103,165,252,124,129,157,98,208,28,133,43,135,8,208,145,57,205,247,
+18,205,2,10,90,145,73,50,135,106,179,232,69,232,90,164,28,89,251,220,219,
+106,118,101,108,78,73,45,46,141,102,252,205,234,93,6,122,117,1,86,23,120,
+169,110,210,152,28,133,153,237,254,84,213,82,160,38,74,212,134,11,148,66,
+114,35,184,144,172,221,146,71,210,140,11,150,173,13,35,252,86,216,60,82,
+73,36,92,204,91,36,39,128,125,64,167,234,60,231,192,73,197,181,242,134,
+155,51,187,77,37,103,21,171,181,203,218,44,7,78,238,70,79,36,37,189,239,
+23,63,175,221,84,218,248,67,167,229,100,222,44,14,55,12,43,41,238,39,118,
+93,112,124,71,108,211,71,138,140,110,173,69,223,66,173,92,81,172,156,238,
+202,180,212,127,93,2,167,25,231,219,39,34,119,104,79,63,177,235,26,253,
+62,82,181,202,184,100,50,82,162,19,167,71,66,127,98,64,115,56,163,155,137,
+106,171,114,164,57,83,172,161,217,214,210,227,153,143,49,113,131,238,248,
+7,186,221,134,250,27,111,220,59,35,136,165,158,203,10,228,233,3,140,170,
+70,146,178,102,214,199,239,50,98,167,202,34,137,122,242,134,201,74,161,
+90,74,133,16,241,52,220,241,241,175,127,225,50,237,241,243,207,159,107,
+128,47,172,55,152,180,212,57,137,235,229,156,22,242,90,236,121,86,211,222,
+98,91,132,204,88,173,36,250,134,90,176,251,104,42,59,66,77,45,57,110,172,
+117,1,180,252,253,177,191,224,242,121,65,143,29,206,63,255,192,169,171,
+29,113,180,65,4,163,117,191,183,83,140,120,60,30,104,154,38,65,43,176,126,
+221,84,88,246,105,97,231,10,231,140,178,94,50,73,245,54,11,209,171,224,
+55,187,164,181,141,214,87,183,100,61,81,144,84,245,31,57,67,60,90,202,83,
+154,20,120,183,139,19,185,130,54,66,59,189,74,180,43,71,8,87,165,186,226,
+88,165,213,142,114,241,183,103,233,32,55,87,228,210,68,35,27,187,155,252,
+139,236,81,90,30,246,190,246,60,23,178,197,57,105,224,74,206,34,182,13,
+177,31,160,84,95,5,171,194,22,115,153,11,48,213,34,67,137,28,249,134,58,
+150,29,226,61,100,214,210,190,76,37,201,114,118,138,19,118,99,58,248,177,
+233,60,109,153,70,211,147,211,100,235,196,113,12,101,140,3,186,213,29,116,
+144,154,164,207,63,61,250,196,244,63,157,146,52,45,121,73,15,43,102,77,
+85,9,243,73,96,223,186,25,254,0,41,87,52,57,145,123,200,253,35,137,42,157,
+78,216,117,77,166,245,172,196,71,42,148,45,49,43,180,141,247,207,196,134,
+15,123,116,251,55,236,119,187,60,29,3,172,200,33,17,21,157,52,87,66,216,
+154,151,196,30,99,255,0,144,219,70,47,169,93,42,107,81,22,211,51,230,13,
+151,145,203,245,156,36,181,215,203,224,163,9,185,82,119,126,69,245,86,67,
+167,242,249,177,43,115,107,189,44,202,181,162,38,71,136,208,118,59,28,187,
+110,229,112,228,233,31,193,118,90,199,73,197,217,197,44,90,177,246,10,8,
+181,163,95,111,103,206,72,133,136,47,44,85,79,171,85,162,80,241,148,133,
+136,176,74,90,56,94,100,237,114,23,71,63,174,104,160,87,22,70,156,6,12,
+143,7,166,176,199,241,116,198,161,221,146,170,213,73,139,13,70,171,141,
+245,255,250,63,255,139,167,105,194,241,112,68,211,54,229,149,112,89,74,
+89,99,25,42,169,109,133,139,216,50,78,160,83,78,29,244,198,41,38,113,201,
+25,38,97,174,220,143,205,115,164,140,220,171,49,69,49,155,175,191,198,113,
+156,229,96,155,153,131,64,207,179,58,247,231,198,119,86,90,224,174,63,94,
+250,80,89,110,49,73,24,50,218,144,160,74,183,181,33,161,124,7,246,39,5,
+220,229,251,161,91,18,79,63,128,78,171,72,182,107,10,225,66,61,200,64,228,
+24,100,67,159,50,196,198,9,43,95,160,242,158,118,131,27,101,71,175,165,
+58,97,109,157,249,100,31,161,96,86,178,212,220,135,209,224,23,213,131,208,
+26,112,11,233,154,69,250,86,112,223,42,141,213,66,45,237,164,200,152,111,
+108,21,154,52,67,122,152,181,177,221,150,150,198,221,54,177,28,223,252,
+220,187,13,244,2,222,178,149,53,103,71,181,165,29,129,16,102,37,75,210,
+201,22,121,251,101,105,151,228,182,12,145,132,129,205,106,119,140,183,94,
+145,178,94,96,119,94,94,251,183,144,62,77,198,37,130,33,54,3,214,78,87,
+47,159,202,236,174,176,97,149,43,70,157,225,139,244,43,249,120,152,183,
+15,55,11,232,121,143,199,121,205,133,134,138,142,37,86,103,53,118,194,19,
+155,169,31,232,209,96,218,218,71,6,45,133,12,184,40,12,100,54,93,227,60,
+206,152,60,191,212,11,137,125,100,59,219,219,183,51,151,151,113,154,213,
+61,67,5,193,116,98,179,65,171,86,221,19,102,208,255,252,223,255,147,143,
+135,83,26,131,176,88,163,99,147,165,93,187,233,105,129,194,110,214,197,
+78,122,153,161,116,82,7,173,51,158,39,109,96,85,128,16,140,113,99,57,75,
+68,27,117,198,188,184,99,92,251,254,244,10,100,243,236,251,170,242,149,
+153,46,21,110,78,137,180,21,139,94,42,121,167,162,215,203,151,1,15,164,
+140,39,54,142,206,124,69,214,4,199,57,180,85,174,111,179,123,89,61,20,46,
+83,216,112,235,179,118,38,181,17,200,178,14,100,183,234,43,1,95,50,231,
+189,119,16,146,112,133,99,91,246,144,243,46,207,49,235,122,112,231,23,178,
+15,87,227,161,238,36,249,18,220,248,194,34,38,7,116,125,237,181,203,230,
+207,179,115,205,107,46,216,230,17,219,118,203,194,90,54,15,197,179,228,
+93,188,2,202,28,162,68,33,233,149,68,12,248,123,124,219,231,168,170,27,
+244,73,4,15,53,142,76,149,235,150,163,193,170,144,18,237,213,133,176,75,
+230,185,59,86,169,91,112,148,29,132,150,135,151,76,69,170,129,83,85,216,
+84,122,103,40,4,208,105,153,192,114,177,242,107,172,159,103,221,82,44,120,
+99,164,236,203,183,14,124,82,102,73,114,205,73,20,131,117,226,111,185,232,
+175,22,3,53,114,182,139,246,233,54,14,171,241,231,116,93,161,105,26,116,
+187,54,111,74,5,199,155,130,159,203,99,159,140,73,172,5,129,1,7,165,144,
+171,114,238,165,143,227,76,218,89,136,118,148,125,153,101,24,94,103,229,
+87,204,132,139,235,100,209,191,97,179,137,139,30,213,12,237,77,227,152,
+196,86,158,101,235,213,7,67,101,165,229,57,224,206,89,50,11,200,8,12,140,
+211,152,172,77,107,237,150,108,222,108,94,155,213,6,200,159,217,233,88,
+72,232,70,60,7,34,9,234,44,12,125,41,143,67,50,53,81,113,71,201,15,88,223,
+67,71,38,88,118,121,200,185,80,217,26,96,97,56,164,63,59,101,244,130,181,
+39,25,201,170,81,32,239,204,198,119,217,105,179,175,166,75,107,48,33,221,
+149,98,209,21,241,162,20,111,28,224,79,55,52,109,236,108,50,111,192,234,
+183,182,146,235,87,163,21,193,90,183,74,103,248,87,35,87,25,220,169,232,
+80,194,69,253,96,32,95,172,30,116,80,150,209,73,211,65,6,101,86,93,43,185,
+94,22,178,227,250,254,12,131,72,10,4,136,75,240,79,189,224,214,13,230,23,
+91,118,92,123,230,84,126,91,162,83,242,169,16,21,103,20,219,107,93,44,115,
+55,108,50,25,122,207,47,207,129,108,165,92,65,81,173,196,248,250,93,214,
+24,147,131,27,27,114,53,193,235,11,112,41,230,97,107,134,146,40,65,101,
+209,70,243,125,96,241,110,68,122,165,50,61,197,102,116,156,99,18,220,178,
+156,154,230,245,197,246,49,234,71,205,197,230,168,159,19,246,127,5,55,136,
+205,249,174,207,218,176,63,28,54,86,44,9,39,103,54,21,69,237,10,181,228,
+205,226,197,189,158,140,158,222,11,24,77,155,156,115,164,224,75,174,168,
+68,88,154,77,113,214,96,66,36,136,24,246,210,88,77,232,179,221,183,203,
+38,96,70,104,154,52,67,188,117,156,109,86,106,92,122,188,23,81,16,10,230,
+205,45,94,70,19,146,150,49,132,195,33,185,129,131,77,202,73,197,134,211,
+35,248,92,63,76,68,58,74,44,2,7,107,130,21,153,28,131,159,245,141,229,15,
+68,154,92,116,179,231,68,135,237,33,181,38,120,34,43,182,98,5,203,125,216,
+110,159,233,126,20,139,106,65,165,4,80,220,128,213,188,72,173,17,81,40,
+212,74,80,114,130,3,189,216,214,177,58,9,21,124,143,28,2,27,85,114,11,242,
+79,5,231,191,200,61,85,232,91,193,189,254,219,172,177,43,231,93,25,214,
+168,214,91,204,108,237,150,23,241,38,81,188,17,83,129,130,240,170,5,97,
+73,31,50,174,112,37,177,126,161,205,243,106,85,95,37,73,177,10,120,196,
+94,84,32,161,197,174,247,47,121,1,128,141,242,40,139,83,180,128,162,202,
+228,203,110,84,189,99,72,60,173,60,118,188,156,183,216,162,146,176,126,
+239,20,15,197,10,153,253,78,50,87,41,43,241,17,87,66,149,169,218,72,197,
+24,75,130,43,209,7,218,124,168,228,172,70,206,215,165,142,38,201,91,171,
+108,80,174,228,242,252,226,26,98,231,217,35,39,69,172,158,18,16,146,174,
+54,149,182,190,50,35,103,130,126,116,236,190,31,203,27,172,210,69,150,52,
+245,117,129,164,81,169,136,105,76,99,8,65,52,128,200,246,71,97,8,101,202,
+27,152,53,111,79,45,66,82,23,104,207,229,41,198,121,230,157,159,51,230,
+249,73,239,191,146,134,145,114,143,203,189,54,158,251,162,227,60,114,193,
+42,39,120,66,43,23,41,54,177,238,15,21,182,190,44,211,46,187,161,181,53,
+111,102,55,178,77,27,50,185,177,254,240,81,72,237,17,231,140,87,212,34,
+236,189,30,137,10,133,117,224,43,100,121,161,161,64,61,230,40,95,151,202,
+4,75,161,10,172,54,237,2,235,173,7,10,167,160,65,181,184,203,79,250,233,
+252,13,232,141,117,137,69,46,94,38,211,238,103,221,1,175,4,37,159,103,1,
+79,42,137,220,42,205,175,232,32,118,28,139,125,201,110,172,244,72,130,172,
+107,73,133,30,81,237,126,23,135,61,155,9,21,100,82,26,121,232,2,41,226,
+42,243,198,217,251,236,153,18,94,63,63,42,73,186,20,230,202,157,73,214,
+196,57,101,176,85,94,48,201,226,146,89,212,160,162,112,34,73,194,245,207,
+116,187,48,121,93,129,92,236,67,94,215,103,217,199,231,162,143,77,69,217,
+76,230,89,17,178,247,137,214,50,217,186,215,100,142,61,222,216,126,164,
+210,202,173,135,69,238,190,113,210,81,38,173,74,90,171,202,249,133,239,
+115,181,230,22,191,207,149,164,37,159,102,161,188,71,94,195,147,157,15,
+108,243,75,3,23,193,129,188,204,96,69,164,164,251,158,88,227,193,135,124,
+11,133,91,214,153,154,3,27,201,7,107,200,223,6,225,224,249,253,219,60,143,
+250,221,47,54,184,51,180,78,253,10,96,144,65,86,150,69,78,132,46,180,171,
+243,91,81,241,171,236,188,146,93,146,60,146,169,72,20,101,155,195,39,44,
+178,96,19,75,2,28,187,220,69,213,255,132,110,131,40,214,133,106,126,115,
+62,254,137,69,178,107,97,240,60,167,43,95,151,181,54,111,58,74,136,156,
+90,180,60,130,216,227,109,65,64,251,180,192,190,164,17,17,50,219,129,159,
+52,190,183,54,198,51,152,215,66,169,100,236,38,55,250,0,30,193,187,12,101,
+242,112,214,32,56,153,106,157,94,88,240,92,236,57,113,192,139,181,72,149,
+224,97,71,172,244,125,51,223,87,123,137,252,234,176,246,13,38,21,220,22,
+216,155,68,90,163,28,156,169,220,210,47,157,12,47,31,31,100,138,19,83,91,
+170,249,170,188,23,89,180,73,53,71,35,219,75,203,255,102,69,56,3,252,7,
+76,94,15,81,180,206,202,100,111,13,138,84,66,245,238,253,114,88,230,106,
+13,83,34,176,178,108,27,120,129,220,156,69,112,90,126,122,109,82,241,25,
+236,232,172,15,208,120,252,2,210,114,235,98,141,22,97,158,43,200,43,61,
+5,7,234,112,60,124,206,193,74,230,148,35,200,204,42,45,14,106,161,49,85,
+84,230,100,103,179,146,136,144,3,239,192,114,193,244,98,153,134,228,16,
+68,129,76,191,93,44,84,185,185,37,252,177,58,196,65,152,167,200,5,106,214,
+45,233,216,187,244,253,227,36,189,227,191,241,85,237,157,176,186,33,233,
+51,208,90,89,242,28,248,8,192,52,38,185,73,54,253,195,37,159,90,5,84,214,
+238,6,107,210,30,179,9,96,108,38,213,183,218,127,180,102,210,164,224,29,
+19,188,69,38,156,147,21,46,32,49,150,253,116,206,17,58,143,50,145,83,85,
+195,244,236,100,34,156,160,74,57,82,163,157,15,54,148,8,77,239,183,32,90,
+241,44,253,43,69,17,88,124,150,69,116,73,16,145,170,237,117,222,200,190,
+159,38,135,4,191,52,37,21,38,237,174,103,167,23,240,10,80,192,21,144,158,
+21,21,86,191,254,86,11,154,28,254,132,77,47,217,4,7,255,220,98,213,79,212,
+99,64,25,93,88,125,83,214,231,84,249,96,204,226,16,52,137,50,244,4,1,139,
+185,235,151,3,250,223,146,198,48,197,146,156,102,80,235,44,235,127,20,197,
+28,155,170,184,54,65,228,105,54,44,173,10,222,40,130,201,118,117,201,61,
+80,53,215,157,221,225,25,157,92,56,236,50,38,145,192,229,241,61,150,71,
+9,139,224,192,254,130,214,186,240,180,182,28,151,36,179,134,36,61,107,60,
+201,57,16,82,20,221,101,109,113,53,87,114,15,166,239,114,120,42,21,255,
+106,8,38,12,195,150,196,75,162,233,161,160,67,147,222,188,228,84,17,108,
+8,87,43,145,29,22,162,160,34,227,96,161,102,21,154,212,119,94,117,214,89,
+251,166,168,128,192,57,59,241,32,20,69,10,35,242,71,86,101,32,100,70,104,
+194,172,132,245,155,251,180,168,212,72,167,173,75,36,183,20,242,249,44,
+11,33,36,217,82,178,73,140,77,150,132,84,175,146,41,208,208,49,137,254,
+11,87,219,195,228,183,55,184,108,117,128,243,248,76,17,152,76,245,169,8,
+77,75,127,141,150,141,170,113,171,220,75,20,253,50,210,213,245,146,29,176,
+139,221,240,230,196,6,109,133,58,229,226,199,106,204,44,147,121,105,133,
+230,229,163,132,151,255,214,152,177,94,176,103,231,186,42,61,184,146,74,
+231,131,227,188,209,105,167,87,7,112,171,192,188,151,16,80,145,28,80,113,
+200,235,115,227,25,253,192,75,26,72,50,190,137,21,44,173,122,172,100,180,
+19,88,6,71,177,182,13,209,131,73,36,204,130,247,225,30,194,175,180,235,
+94,46,12,72,100,202,203,184,44,173,228,173,85,185,19,102,228,74,4,18,165,
+189,68,44,168,40,172,207,17,114,246,9,215,90,47,222,179,96,39,242,112,209,
+2,146,133,129,151,144,100,120,164,220,32,203,179,181,200,91,38,190,114,
+125,9,175,115,237,58,29,86,182,41,21,20,98,115,156,129,88,181,119,245,89,
+202,14,58,68,27,73,77,45,129,66,157,112,199,245,165,147,143,13,49,186,171,
+184,114,58,40,133,156,5,234,146,138,197,134,37,115,21,30,91,79,29,88,222,
+56,138,236,203,113,234,187,51,243,218,111,209,204,106,17,135,68,106,77,
+98,245,144,169,2,61,134,55,76,43,110,249,92,145,25,113,202,125,247,167,
+213,187,123,78,146,147,109,105,233,167,117,196,131,37,17,38,85,143,83,28,
+5,241,69,34,114,108,98,176,24,198,21,155,104,117,77,91,163,18,23,21,87,
+49,229,232,208,177,168,128,83,33,32,76,113,88,202,2,75,142,222,24,158,69,
+102,238,170,20,60,175,128,57,35,167,181,146,70,57,24,176,6,96,210,227,106,
+108,251,129,91,143,133,54,118,150,220,204,162,138,101,135,80,195,134,127,
+192,149,44,156,29,120,237,21,146,150,11,215,177,121,9,6,42,140,246,45,234,
+154,43,67,92,33,233,121,176,63,187,192,60,187,7,95,54,135,166,2,42,229,
+205,243,75,101,183,170,167,152,101,73,197,25,177,250,79,24,205,4,103,76,
+67,129,173,130,228,169,196,86,72,16,119,95,237,171,191,210,111,167,87,10,
+120,33,98,67,249,233,100,130,50,43,200,156,108,158,32,251,190,178,7,40,
+199,228,88,16,15,5,163,156,233,185,18,134,6,171,173,108,119,137,122,202,
+100,93,49,222,9,198,110,92,247,15,21,54,204,102,232,93,158,157,14,179,159,
+73,244,40,148,163,38,173,40,156,59,119,194,27,15,136,245,155,145,28,79,
+36,42,202,110,34,31,200,117,225,175,26,103,135,159,32,195,108,181,55,200,
+111,73,27,149,132,96,35,34,25,217,4,192,147,190,0,182,24,185,164,241,92,
+49,31,152,55,115,211,54,104,102,237,235,37,168,177,33,101,112,1,189,88,
+88,145,11,171,84,185,139,11,248,87,236,129,208,132,89,10,247,27,125,118,
+191,241,83,78,48,9,57,201,53,187,230,60,166,195,72,172,125,106,130,243,
+250,84,4,223,178,87,151,17,15,90,239,157,175,220,198,30,78,36,202,229,197,
+181,79,45,18,218,16,174,101,201,99,170,128,174,246,94,144,29,193,43,163,
+50,91,8,139,89,139,33,153,222,57,12,128,205,98,2,192,101,99,203,89,56,131,
+140,231,25,13,246,189,149,106,185,66,141,201,203,149,3,157,158,245,226,
+201,99,154,168,253,199,5,80,79,78,114,84,199,247,164,114,69,113,128,131,
+157,2,132,42,104,128,126,15,222,160,32,108,143,253,218,83,155,229,196,167,
+96,86,235,164,159,108,96,183,84,114,231,12,89,248,1,36,201,120,114,90,135,
+191,145,152,125,235,204,168,60,112,206,28,0,90,213,29,141,234,227,83,176,
+128,5,75,94,200,84,175,137,116,86,91,147,137,130,43,11,204,222,170,209,
+201,2,80,210,33,93,148,172,54,81,98,22,132,250,17,151,39,224,214,109,100,
+69,42,180,47,46,83,67,152,86,31,125,163,15,35,200,120,69,146,82,146,234,
+168,150,208,109,41,81,17,234,218,81,34,65,50,122,54,96,135,48,107,159,93,
+208,119,75,143,96,25,80,213,205,194,185,216,210,92,52,140,152,243,107,76,
+211,132,56,78,235,13,183,199,142,18,185,179,105,186,16,182,33,182,15,83,
+28,79,114,90,129,52,179,48,25,12,100,228,224,111,181,210,188,222,30,233,
+241,148,220,191,77,63,159,166,217,36,1,48,7,89,238,111,115,81,62,82,9,109,
+128,203,190,121,53,142,212,204,130,76,239,19,134,68,47,174,141,224,180,
+15,212,253,38,67,232,225,117,108,201,202,10,179,21,133,98,22,204,223,12,
+95,82,118,13,113,145,8,126,229,236,21,210,179,202,129,208,156,40,44,186,
+22,86,202,184,58,221,180,69,150,193,139,193,194,150,63,27,207,142,20,220,
+253,202,0,155,132,239,180,102,29,85,156,10,120,147,100,64,186,103,238,164,
+162,223,107,82,155,25,226,249,65,48,155,106,110,133,179,103,187,96,23,180,
+200,1,115,29,171,154,137,61,139,47,131,68,199,23,182,55,153,220,175,154,
+31,253,173,47,35,243,76,172,18,223,204,248,230,28,228,61,40,185,80,150,
+150,163,106,200,201,1,147,0,191,196,89,110,53,222,217,236,104,170,133,55,
+57,103,65,138,44,43,5,110,10,5,114,55,217,205,158,32,122,252,118,33,181,
+230,215,101,22,129,205,33,163,102,208,217,32,123,36,211,126,161,208,199,
+175,202,65,177,26,177,206,113,73,251,126,192,34,43,132,231,162,53,236,128,
+169,188,113,182,160,210,151,95,226,160,210,160,200,237,173,229,87,130,93,
+209,22,232,205,188,88,114,11,22,117,212,170,21,163,199,186,214,57,211,64,
+169,239,28,200,95,8,5,140,195,142,20,153,40,209,41,207,141,86,173,54,150,
+158,5,3,129,230,190,123,248,155,217,57,25,162,200,10,167,101,98,15,83,57,
+151,23,66,64,211,54,171,83,156,242,198,96,210,31,151,12,68,109,79,53,214,
+109,92,108,137,76,216,32,194,154,48,98,199,9,11,10,5,114,79,212,39,221,
+200,3,150,85,81,186,108,8,134,207,69,43,42,58,147,248,228,206,12,59,205,
+5,189,241,221,254,223,204,203,80,228,45,54,138,130,162,237,35,204,165,124,
+225,19,194,246,76,43,158,244,226,75,136,5,254,62,148,187,80,86,243,188,
+177,108,173,94,164,25,147,18,128,63,87,18,37,218,8,242,190,20,19,23,48,
+254,243,215,36,39,132,177,129,135,117,187,203,109,167,145,3,123,147,237,
+16,138,179,99,37,109,233,62,182,253,88,252,138,192,205,247,27,240,25,101,
+18,24,57,51,85,154,179,228,179,77,212,25,75,170,154,33,197,123,200,129,
+106,129,187,93,85,111,46,159,2,243,198,92,134,17,142,89,231,217,55,239,
+13,101,67,32,213,191,22,231,4,179,2,100,136,132,126,133,51,126,86,76,230,
+138,36,150,189,189,180,225,12,74,150,7,181,246,246,23,148,197,182,6,105,
+141,41,32,184,22,46,79,219,117,132,23,102,226,169,68,61,87,254,130,109,
+179,150,132,63,211,131,183,89,122,174,27,10,53,159,26,28,161,224,50,113,
+88,199,196,90,95,72,76,86,48,79,63,4,42,75,61,115,152,178,128,125,87,102,
+180,109,225,32,247,140,153,129,105,26,179,17,64,45,146,127,91,112,192,160,
+30,164,180,208,148,138,222,52,141,201,130,209,235,149,147,94,62,69,207,
+147,115,96,82,4,20,42,251,207,228,30,145,94,171,131,5,17,215,39,228,88,
+216,140,165,232,145,170,130,197,103,93,178,93,201,33,35,67,255,224,60,246,
+84,222,119,174,196,70,114,207,117,54,185,32,75,254,6,160,140,31,72,168,
+162,44,247,146,136,235,176,34,158,84,235,188,17,108,24,117,17,28,143,32,
+82,193,231,44,159,217,203,23,106,83,204,62,30,231,211,114,94,43,90,245,
+135,243,157,250,168,58,238,235,146,38,86,213,49,42,187,136,228,144,63,183,
+132,242,151,68,155,228,8,135,20,45,42,120,110,58,8,240,211,88,240,58,13,
+187,10,203,11,2,28,113,193,15,88,46,64,86,98,37,79,69,106,215,179,70,48,
+72,56,195,201,90,156,164,205,180,54,169,42,246,189,228,248,136,187,148,
+246,110,78,152,244,144,20,187,1,140,4,207,32,211,107,244,243,145,163,121,
+100,248,77,94,32,183,9,50,19,185,43,159,74,37,5,55,178,23,230,81,208,26,
+248,172,198,129,57,163,66,120,161,77,71,149,226,160,118,182,80,61,32,145,
+51,14,13,193,179,96,163,53,18,76,153,107,42,58,6,23,40,191,206,181,109,
+24,201,112,137,102,174,166,190,51,37,207,91,54,146,152,146,227,183,176,
+167,21,99,131,20,126,79,74,89,79,107,186,195,115,164,157,255,187,9,205,
+218,119,255,45,112,222,203,198,36,153,108,25,59,147,218,248,66,228,39,132,
+38,25,201,152,170,157,196,72,26,145,206,141,115,3,141,196,66,246,135,225,
+184,32,93,84,134,167,172,128,53,231,247,87,34,26,226,18,86,171,70,152,70,
+189,95,70,169,206,138,158,180,168,84,33,202,252,132,204,144,21,171,112,
+199,181,30,239,250,158,148,197,105,160,201,75,76,37,1,108,133,58,5,202,
+192,14,117,193,111,205,108,4,243,154,20,229,83,78,167,77,65,173,100,13,
+185,181,21,187,229,1,129,77,137,193,176,50,180,236,0,238,207,134,117,203,
+254,188,23,212,249,105,174,160,181,209,173,220,168,154,230,241,164,40,165,
+214,40,73,221,113,227,86,73,102,199,72,33,33,222,48,49,249,221,51,130,183,
+163,254,226,94,183,236,35,118,244,61,214,233,48,177,189,168,122,16,201,
+91,202,90,83,203,58,204,169,106,188,100,219,229,105,167,114,130,131,149,
+89,141,115,48,122,227,206,2,158,95,85,239,20,66,44,11,33,214,60,55,209,
+58,33,225,16,42,137,112,178,109,196,108,207,16,50,211,87,240,27,249,208,
+104,6,11,4,150,136,212,64,84,158,244,113,229,12,252,241,183,87,52,49,252,
+163,180,80,175,40,48,21,98,225,156,170,11,169,160,149,101,74,79,111,170,
+100,245,154,232,195,170,231,109,171,177,200,179,90,156,103,111,89,170,79,
+170,212,33,103,29,2,98,155,73,89,196,172,71,65,169,76,206,86,181,186,105,
+18,6,1,47,102,221,110,181,102,86,48,179,63,59,197,89,166,55,198,152,156,
+234,148,251,143,157,158,99,71,161,207,75,223,69,63,177,224,157,155,172,
+191,214,20,230,50,167,101,33,248,97,201,166,196,89,128,131,137,244,156,
+18,155,107,39,42,124,8,190,219,154,93,143,16,182,240,147,37,127,114,209,
+134,181,9,107,113,168,73,110,8,217,1,133,236,55,77,30,170,71,149,64,255,
+253,182,179,147,162,200,79,207,128,177,93,33,7,91,99,19,140,235,248,6,23,
+225,88,239,107,79,142,166,22,162,217,116,244,217,25,201,100,55,13,168,47,
+10,49,179,35,196,44,86,95,10,19,156,184,64,143,114,169,165,15,127,233,85,
+32,160,87,123,80,146,115,32,255,157,224,94,45,205,28,209,94,1,69,47,21,
+34,11,226,31,213,122,175,172,163,139,76,188,23,118,189,238,34,81,133,58,
+207,197,136,47,171,210,141,77,82,77,202,180,173,212,196,39,151,38,108,111,
+46,73,174,197,234,246,169,173,111,235,82,208,44,16,16,13,155,103,228,193,
+58,89,210,139,103,190,40,39,56,163,127,204,70,233,242,25,234,207,149,64,
+191,133,20,243,83,250,70,57,105,84,164,95,230,36,248,199,229,31,188,213,
+225,223,34,247,45,54,162,204,142,142,129,114,107,92,170,194,144,243,73,
+42,73,210,249,186,29,59,78,211,139,213,90,106,20,80,173,0,0,32,0,73,68,
+65,84,188,70,102,147,73,204,180,138,73,103,250,155,149,123,1,117,219,121,
+13,59,186,129,181,50,164,5,130,164,173,178,139,52,206,76,214,33,13,133,
+173,231,214,51,82,135,43,153,160,39,190,47,29,155,152,133,73,3,59,72,106,
+145,145,45,107,128,20,163,223,202,93,203,63,45,178,64,38,119,37,211,12,
+43,62,115,38,211,240,112,169,45,93,140,116,138,19,170,176,162,180,159,251,
+119,224,89,224,137,251,152,103,176,236,241,216,95,91,138,228,174,0,253,
+255,37,75,229,57,148,192,155,137,34,87,129,207,242,108,174,148,8,42,79,
+180,242,61,228,22,197,100,29,172,43,246,122,138,83,197,139,119,55,149,9,
+225,119,158,231,111,87,247,86,105,70,73,205,173,215,70,197,62,193,198,56,
+139,202,175,103,66,33,11,119,184,194,130,178,116,132,116,78,140,117,157,
+8,103,78,118,156,26,183,151,185,62,199,200,9,184,164,70,110,73,85,59,180,
+185,168,140,151,175,85,220,19,126,247,155,110,118,168,153,224,106,181,59,
+126,214,89,218,62,144,234,238,113,47,175,39,237,248,78,110,152,167,202,
+190,179,16,189,25,151,161,74,190,157,213,3,57,179,85,77,74,179,44,214,56,
+78,136,145,133,25,1,193,196,104,145,225,8,175,111,100,35,152,108,130,34,
+123,88,179,32,65,1,143,232,234,122,156,38,112,140,27,230,188,223,248,178,
+166,47,197,83,103,101,124,1,204,106,117,107,245,91,123,200,114,30,150,10,
+8,155,4,165,157,152,171,28,141,122,93,200,10,214,36,133,158,112,153,177,
+106,80,198,233,35,138,210,67,57,113,209,74,96,82,237,38,210,66,54,182,127,
+103,73,41,4,131,135,57,180,65,126,82,80,203,158,44,23,227,83,180,250,129,
+123,172,95,146,73,63,109,245,208,55,218,211,180,213,208,230,2,106,223,74,
+176,183,64,130,82,47,14,21,144,156,156,100,104,187,128,160,202,251,216,
+83,171,108,41,178,19,10,156,163,149,5,221,143,236,34,96,173,169,174,186,
+98,229,81,77,202,22,204,96,21,138,18,148,171,95,38,252,63,248,178,169,85,
+78,160,149,20,178,242,166,47,31,8,59,164,78,229,250,182,36,9,70,195,223,
+158,10,204,207,200,222,164,90,143,43,240,75,236,71,37,242,28,217,88,73,
+168,178,48,97,89,21,216,214,241,189,249,181,109,146,95,33,78,218,222,254,
+74,63,229,69,149,144,148,226,37,170,45,44,111,146,81,120,1,136,127,75,108,
+67,146,10,129,138,240,171,103,44,243,138,193,76,5,61,34,113,110,75,205,
+9,205,161,183,53,114,250,110,176,253,144,154,144,133,126,136,250,112,96,
+19,36,164,186,15,133,69,45,142,148,219,180,50,239,16,90,208,89,12,70,78,
+146,144,25,45,129,49,112,49,44,72,65,88,107,66,248,126,223,157,94,233,167,
+153,200,196,58,40,47,189,160,52,111,223,232,170,2,101,145,149,225,45,118,
+238,48,173,61,242,172,210,87,102,222,84,187,62,1,65,211,58,94,135,34,16,
+251,48,168,56,143,169,90,132,150,155,158,45,138,81,90,86,215,198,248,120,
+221,176,117,250,67,73,178,19,149,70,225,141,157,199,18,9,26,29,90,105,18,
+222,16,1,111,180,82,107,134,17,47,87,240,202,222,166,200,11,168,178,232,
+248,41,104,224,53,217,60,224,159,55,47,191,196,64,188,154,129,140,38,61,
+171,148,148,42,114,112,228,16,135,178,186,49,171,239,185,28,8,75,174,145,
+12,107,34,229,23,79,236,224,93,228,44,147,103,144,41,125,55,168,163,26,
+173,73,42,235,45,21,167,220,99,142,248,147,246,26,167,178,107,200,246,61,
+180,164,196,122,42,211,179,21,197,38,140,200,94,29,244,249,97,187,36,170,
+19,38,39,32,72,49,249,75,8,123,25,97,36,83,8,152,217,90,46,43,67,118,239,
+53,41,244,182,214,48,80,94,26,14,238,151,29,237,114,251,128,73,35,199,100,
+63,11,63,137,31,91,5,3,233,135,186,238,92,130,114,175,51,214,110,250,217,
+146,176,85,6,33,48,179,18,157,68,101,58,86,175,31,45,73,90,84,139,52,247,
+221,167,113,205,174,148,201,10,233,204,207,138,168,72,50,23,203,191,227,
+124,34,51,213,91,173,12,128,35,99,154,6,49,206,241,141,29,90,155,89,36,
+239,20,207,108,88,82,51,31,72,125,119,241,60,84,247,193,84,180,10,190,103,
+157,8,176,205,30,1,55,13,208,79,199,35,59,86,224,251,21,61,216,80,89,84,
+240,58,148,236,39,41,140,155,87,84,128,69,50,70,14,10,175,231,232,72,111,
+42,42,161,64,54,35,88,26,236,48,135,145,109,204,19,207,232,66,70,135,152,
+169,52,155,163,178,58,217,228,19,120,58,244,132,141,63,244,43,110,203,43,
+240,73,78,53,80,128,10,60,192,163,36,146,234,183,211,102,174,226,227,3,
+229,8,158,238,218,210,19,227,88,24,10,11,57,157,67,18,1,151,183,57,28,156,
+101,93,73,25,160,64,115,131,132,13,48,251,231,164,15,11,255,118,133,207,
+176,92,26,175,90,212,163,169,154,169,94,38,223,126,3,119,65,62,136,28,163,
+164,117,74,68,142,190,85,146,38,88,185,20,103,165,178,156,179,22,234,153,
+181,73,16,178,255,158,247,53,201,106,222,217,63,108,224,9,46,165,138,213,
+26,102,35,112,197,70,50,185,134,186,22,138,167,90,139,154,42,173,31,55,
+40,215,24,166,91,99,103,155,133,66,185,115,215,137,146,194,135,76,120,146,
+228,145,172,244,179,127,92,254,155,159,117,141,182,215,187,25,191,128,102,
+35,74,199,47,50,234,82,44,88,207,142,166,172,238,29,219,14,52,83,161,24,
+75,176,76,72,70,160,176,237,46,248,93,228,158,0,59,148,73,66,52,99,21,201,
+90,33,55,221,48,147,99,237,165,41,142,150,104,52,51,116,197,72,203,118,
+119,218,255,86,230,8,144,65,21,76,239,157,156,190,154,56,116,51,170,70,
+165,214,254,234,17,173,46,95,107,24,24,104,136,32,100,110,77,207,137,43,
+221,96,175,157,175,127,129,84,70,155,151,21,171,207,95,237,157,115,133,
+224,240,10,92,79,207,97,91,221,245,179,213,48,109,38,248,62,19,227,217,
+187,109,95,222,118,207,221,103,57,252,198,144,128,233,197,234,195,152,5,
+17,66,114,117,244,13,168,89,41,47,182,176,58,192,174,107,200,68,113,170,
+41,139,253,30,10,95,255,161,37,27,137,13,182,222,79,15,225,226,10,82,166,
+38,8,202,41,129,69,10,90,33,81,21,147,54,95,35,158,42,207,90,224,50,155,
+162,64,178,151,237,195,250,155,137,149,59,66,77,69,95,194,178,2,184,104,
+10,213,78,200,114,164,110,17,5,218,226,167,48,54,120,148,91,2,73,181,75,
+122,178,254,60,118,132,226,152,192,227,84,100,164,129,24,8,91,173,105,46,
+170,115,114,74,27,173,100,182,170,197,241,88,60,65,53,126,36,224,121,35,
+126,94,254,2,107,235,138,117,1,59,146,170,96,198,24,103,151,58,71,169,251,
+111,65,112,43,228,160,212,104,180,8,75,4,198,105,154,61,230,125,151,87,
+149,107,75,69,43,111,240,156,172,87,180,175,132,202,91,17,71,66,90,130,
+81,74,138,173,171,199,43,74,228,206,113,12,47,130,122,86,163,42,208,178,
+245,92,182,152,169,210,209,20,163,45,178,127,73,47,60,67,41,93,40,238,48,
+179,246,26,33,191,249,202,112,80,142,26,9,229,153,136,119,173,39,39,144,
+149,82,17,178,100,88,191,50,97,67,206,74,240,112,15,122,193,77,235,185,
+111,1,59,78,118,223,129,172,205,20,13,123,79,215,84,81,214,22,181,40,189,
+217,140,45,241,90,97,46,237,61,54,73,185,67,239,248,123,227,113,92,41,2,
+20,188,45,223,95,112,16,216,32,41,82,185,173,70,87,151,80,58,229,209,97,
+181,122,88,23,209,84,230,66,34,201,144,40,80,61,156,177,125,125,139,166,
+168,200,33,223,76,34,14,38,56,91,61,241,141,34,91,157,187,194,232,133,12,
+106,162,119,194,22,254,193,153,185,47,198,227,228,53,115,173,227,178,21,
+71,106,54,151,91,107,206,241,55,241,210,24,229,170,90,69,111,115,24,9,76,
+79,96,38,231,16,82,25,31,105,104,132,64,104,2,33,132,22,33,144,201,54,179,
+82,144,106,161,115,101,168,152,105,243,80,165,2,94,154,135,251,67,64,19,
+66,182,31,252,221,175,90,121,162,161,130,44,254,48,47,192,166,9,201,227,
+62,8,55,50,11,249,168,205,149,161,116,149,202,8,156,158,121,59,49,172,89,
+136,104,93,107,97,234,99,124,218,88,228,46,235,159,177,177,234,178,240,
+60,233,225,25,171,55,178,122,187,195,235,211,25,40,144,197,134,247,7,230,
+1,115,251,73,201,243,24,92,204,170,250,41,115,11,63,59,42,52,159,184,14,
+103,186,195,248,168,4,246,82,197,196,27,112,116,250,231,223,89,168,219,
+29,116,126,201,73,11,155,25,13,187,252,0,126,30,230,23,109,7,102,77,9,49,
+7,62,139,189,226,205,123,210,198,137,187,134,78,34,211,73,150,176,46,41,
+52,128,159,57,198,253,173,47,214,23,205,210,133,37,183,20,24,172,247,36,
+147,212,140,50,246,104,48,197,20,132,106,164,30,43,85,134,85,181,56,172,
+36,78,53,76,229,81,245,92,159,11,131,89,103,46,148,144,155,46,228,84,89,
+228,45,198,219,222,217,43,10,241,145,21,183,26,225,43,231,226,235,94,10,
+172,97,109,203,69,103,209,110,18,179,195,252,12,185,161,202,65,197,79,138,
+4,151,92,103,175,222,51,139,42,155,42,22,155,8,165,173,0,76,175,206,209,
+34,87,61,98,82,74,114,211,56,102,203,77,201,214,150,7,51,179,51,229,192,
+240,5,192,73,109,208,250,232,28,16,153,83,223,159,231,25,218,223,104,155,
+109,102,230,203,117,74,223,97,202,26,254,100,225,71,152,22,248,50,251,233,
+25,89,179,156,33,183,78,230,84,168,154,214,147,68,174,131,183,102,195,19,
+149,203,191,62,15,173,161,65,5,209,45,48,171,82,175,19,80,17,106,80,184,
+77,20,115,5,94,74,45,249,172,110,42,240,60,42,136,117,10,97,16,153,187,
+29,207,36,11,84,60,159,63,244,49,244,90,220,53,8,6,185,181,186,37,15,242,
+83,182,187,226,66,32,31,124,84,192,253,92,17,172,178,23,91,179,101,38,37,
+144,67,79,237,101,101,84,97,99,171,41,147,120,46,176,129,69,202,149,61,
+213,47,242,144,17,22,38,69,153,203,81,44,53,217,105,250,119,6,119,151,180,
+98,96,107,102,141,68,112,105,106,77,21,136,142,84,31,88,8,104,173,214,198,
+186,133,196,188,53,117,225,7,80,50,45,71,24,218,53,23,66,65,40,167,91,215,
+179,95,8,214,192,186,102,82,205,238,210,214,142,176,164,137,76,192,101,
+81,28,138,86,140,145,111,253,157,0,192,115,2,145,181,252,245,228,67,181,
+93,135,74,47,141,54,43,50,125,54,56,174,174,84,57,33,216,20,103,222,5,5,
+205,136,101,231,128,129,134,87,72,102,202,164,231,139,24,160,133,53,46,
+3,17,155,106,95,220,60,133,92,18,235,249,36,42,237,240,10,149,181,117,97,
+205,232,65,211,162,9,205,239,161,110,5,33,162,198,170,202,171,145,69,219,
+192,134,84,86,153,106,230,36,168,135,33,5,43,216,4,45,178,66,21,101,135,
+68,86,53,133,45,189,28,71,35,105,210,145,15,91,37,225,233,246,197,52,129,
+110,201,202,89,140,42,42,194,36,105,157,119,170,61,56,47,157,88,253,231,
+55,140,94,106,15,206,147,46,36,113,36,49,233,77,170,122,242,27,130,54,181,
+224,206,27,193,159,43,23,43,131,17,161,232,156,249,225,150,54,194,51,161,
+110,75,147,221,211,108,64,230,74,183,181,76,231,181,196,142,36,172,90,53,
+69,126,26,241,164,190,186,109,219,228,228,125,85,16,163,74,143,150,115,
+5,39,37,135,213,121,193,154,180,75,236,228,97,175,180,93,190,211,129,112,
+76,96,172,81,189,156,128,201,159,81,111,234,138,53,129,224,16,216,201,152,
+92,205,98,213,161,96,161,23,191,149,144,232,12,150,55,59,147,108,89,173,
+197,47,73,164,87,187,58,230,177,174,197,108,103,33,236,202,9,22,123,254,
+106,183,56,137,202,73,248,156,77,3,233,217,12,171,168,239,201,54,39,45,
+241,81,187,198,125,107,141,240,111,196,28,118,32,233,28,194,11,175,119,
+53,12,90,57,115,130,28,37,240,84,54,75,179,13,3,211,206,201,228,20,167,
+164,22,71,228,207,153,178,34,94,107,99,159,60,35,3,207,179,87,153,69,185,
+61,21,70,140,137,181,207,223,189,193,181,7,163,110,182,231,13,202,206,0,
+176,109,41,56,134,40,204,197,196,65,65,146,41,94,95,48,245,225,115,17,203,
+138,137,138,239,241,10,251,203,177,67,93,220,114,81,80,154,42,123,158,97,
+205,141,237,108,81,153,181,45,204,134,96,18,189,54,118,35,247,58,107,75,
+84,240,62,106,200,5,23,13,70,232,181,99,215,212,186,134,72,107,101,112,
+137,168,190,228,125,250,34,89,70,87,116,236,44,55,18,129,115,171,189,183,
+165,164,81,86,46,53,216,142,188,94,164,75,213,147,110,218,92,24,113,110,
+111,33,145,154,26,157,217,220,90,38,51,242,228,84,95,21,53,66,233,161,144,
+101,161,69,187,27,100,135,52,252,138,125,171,138,127,230,232,229,62,36,
+103,70,95,84,167,171,185,205,42,234,162,73,110,84,83,211,20,218,173,90,
+142,149,86,93,135,245,244,96,209,50,227,237,115,129,106,82,107,214,253,
+149,169,228,45,88,196,197,172,245,172,32,204,202,108,83,198,16,170,146,
+121,107,8,24,229,118,75,209,162,171,57,186,148,169,52,25,29,134,12,70,139,
+137,166,210,69,254,117,127,138,45,52,184,40,22,182,124,81,180,112,53,151,
+13,243,205,175,64,2,227,230,231,34,217,34,75,132,210,97,15,212,160,105,
+2,2,130,159,50,87,4,17,202,12,213,203,178,73,137,160,20,74,235,243,2,111,
+66,131,134,158,49,34,126,179,247,174,250,218,130,26,68,4,112,4,79,35,166,
+62,145,251,216,200,189,179,90,187,214,242,140,10,98,221,154,87,90,199,3,
+199,54,132,54,87,16,25,145,134,69,106,54,39,84,150,115,38,57,28,108,252,
+220,1,164,68,106,24,49,76,17,81,90,110,49,105,75,88,150,90,218,188,97,148,
+44,115,84,25,82,158,43,185,145,163,77,110,37,43,137,156,83,147,133,45,239,
+179,204,118,91,181,213,15,244,188,145,97,82,1,134,186,45,125,63,254,16,
+182,244,46,101,75,131,28,5,59,174,24,87,120,213,181,189,26,174,180,75,94,
+65,31,153,45,23,91,40,98,88,178,44,249,162,46,74,30,84,92,155,106,44,82,
+221,54,121,243,56,164,23,18,254,205,246,157,167,193,39,70,195,68,0,169,
+142,133,193,105,71,120,154,251,76,198,246,85,90,205,98,29,253,44,146,127,
+137,194,21,13,48,227,144,230,36,124,245,194,137,76,76,206,201,22,109,72,
+131,179,29,122,85,230,93,22,93,34,227,143,146,229,99,201,105,41,23,143,
+206,225,35,176,105,165,178,68,142,215,81,108,169,185,82,41,120,189,81,183,
+103,35,151,5,171,190,44,122,114,88,47,157,69,72,53,77,54,150,34,128,86,
+218,128,90,148,223,138,164,230,138,71,108,81,6,166,105,74,130,54,13,233,
+153,206,197,163,216,216,20,174,112,48,147,57,144,52,244,189,84,155,188,
+37,101,59,179,246,137,8,212,132,127,79,63,141,43,41,58,177,230,112,17,128,
+105,196,120,255,194,175,207,43,238,35,112,120,255,3,63,223,143,171,104,
+131,98,196,74,161,9,174,65,71,92,232,99,76,19,16,197,83,108,90,89,21,25,
+233,88,181,208,217,48,73,75,66,151,231,143,144,101,128,37,185,103,194,216,
+95,241,249,113,197,125,24,17,14,111,248,113,126,195,113,31,116,226,193,
+122,67,233,17,29,130,213,176,165,194,62,102,94,95,228,207,106,251,211,219,
+25,134,88,169,28,75,111,151,107,246,162,180,61,4,254,108,182,108,107,19,
+83,237,5,184,212,255,55,255,181,125,54,120,194,154,58,136,17,60,86,13,94,
+40,53,202,166,34,187,18,183,117,79,13,170,88,222,228,106,58,35,72,235,147,
+103,195,69,170,25,251,176,49,151,50,135,28,145,64,137,60,225,37,143,10,
+189,101,28,244,234,4,133,149,128,158,209,44,154,81,171,85,210,91,113,71,
+229,249,136,85,115,223,19,130,82,20,71,209,136,231,117,140,144,171,186,
+6,164,206,75,118,18,65,18,192,182,19,228,197,117,177,83,143,100,143,16,
+121,158,176,16,144,201,42,115,112,246,240,154,144,108,117,180,156,33,56,
+134,44,246,60,180,74,207,162,48,59,177,204,250,162,176,30,235,83,173,198,
+90,103,163,182,54,158,138,65,108,159,35,75,203,185,52,80,99,135,45,81,79,
+60,9,64,171,15,7,42,145,3,174,203,169,44,191,208,180,205,202,80,213,236,
+248,12,169,184,196,22,50,98,123,76,197,88,93,161,47,13,51,82,178,244,253,
+159,49,230,95,37,212,144,87,137,25,153,41,1,9,162,105,209,28,222,113,30,
+39,12,95,119,48,2,26,169,116,196,149,10,76,5,26,118,242,179,244,68,134,
+43,225,175,127,1,151,30,136,0,14,239,192,31,127,2,167,102,113,125,226,172,
+35,32,15,102,34,133,134,43,81,8,107,118,225,234,36,235,50,163,191,126,226,
+215,229,129,176,63,227,127,252,177,67,104,90,52,129,86,50,35,57,248,175,
+162,105,200,67,154,236,248,138,213,234,166,162,95,74,252,172,193,69,62,
+244,101,72,156,22,20,122,206,195,64,93,130,118,83,83,218,6,99,139,76,16,
+182,148,218,75,62,253,118,3,144,139,62,36,169,195,156,93,158,62,80,155,
+241,33,225,27,111,107,124,111,152,138,138,207,44,43,107,70,238,234,8,127,
+51,22,98,39,21,221,112,182,105,43,139,181,77,30,188,95,30,196,213,24,66,
+175,31,186,110,197,134,231,125,89,89,168,72,156,158,200,185,91,2,194,32,
+135,115,204,208,3,237,76,78,184,178,22,22,210,71,217,172,6,237,40,72,230,
+169,145,234,163,82,81,96,233,115,140,228,76,254,218,198,115,32,55,35,46,
+69,53,145,28,182,150,36,34,45,97,105,63,205,102,28,250,153,42,4,171,226,
+51,75,20,24,142,147,156,122,40,138,131,90,75,247,119,11,74,125,192,49,103,
+89,119,249,140,139,2,160,26,211,114,177,24,114,104,167,82,120,103,115,222,
+151,230,190,247,148,34,143,141,22,204,42,75,85,196,9,114,118,141,219,232,
+224,181,135,67,176,198,52,12,158,18,107,158,248,5,214,228,43,147,65,202,
+76,220,220,0,145,61,175,218,192,171,133,234,4,142,12,116,103,28,247,173,
+17,118,177,173,215,26,109,148,12,231,128,16,7,224,126,3,30,3,48,142,0,2,
+112,56,2,187,166,84,113,147,175,71,149,72,101,181,188,165,57,131,195,236,
+152,255,59,98,184,95,113,189,220,64,135,55,188,191,157,177,219,237,208,
+52,33,179,101,77,107,153,189,246,202,70,68,149,108,111,151,116,202,14,162,
+73,222,174,99,161,166,167,17,151,98,41,112,165,199,142,39,149,57,127,39,
+97,228,226,83,218,218,90,131,166,92,45,8,188,178,83,99,95,146,14,71,142,
+227,28,94,56,254,236,104,44,111,196,54,126,94,164,136,153,110,86,109,131,
+26,139,191,108,183,19,217,228,193,234,230,73,47,114,82,134,50,236,44,187,
+170,53,192,119,72,81,192,19,231,201,146,188,198,98,95,179,117,178,85,68,
+113,46,252,57,212,115,36,167,138,91,144,80,174,243,59,107,9,161,94,131,
+108,68,165,202,145,59,54,206,158,214,3,68,213,44,32,149,108,144,74,232,
+36,96,71,69,112,7,32,160,249,76,162,198,106,64,197,219,57,54,121,143,152,
+20,73,157,196,34,147,104,139,74,98,182,218,250,252,4,28,123,22,252,61,126,
+137,11,19,88,42,44,151,241,153,252,55,111,69,59,86,251,106,179,204,227,
+77,201,178,100,63,33,121,172,175,51,157,139,241,60,101,119,36,77,194,224,
+82,144,72,189,116,14,160,172,252,222,179,31,239,202,159,98,128,2,161,225,
+6,20,194,54,193,225,149,138,158,77,182,107,7,50,213,168,134,128,213,226,
+136,199,237,138,235,0,236,15,71,28,247,77,217,246,146,142,109,98,241,48,
+3,113,20,7,0,1,161,97,132,89,44,38,180,140,211,27,97,154,0,190,1,221,15,
+224,237,68,232,150,251,18,129,24,5,124,79,132,38,48,66,64,214,209,152,24,
+211,98,153,25,128,208,232,150,56,169,232,204,166,113,197,152,134,7,238,
+215,11,198,230,128,227,233,132,93,75,70,158,142,138,245,72,182,191,164,
+176,122,191,98,172,37,197,207,133,198,28,105,185,165,37,180,28,166,156,
+71,127,88,160,72,12,247,188,124,29,82,219,36,217,213,51,0,42,172,71,60,
+59,146,58,73,206,134,92,54,221,119,89,203,147,209,142,247,172,97,172,170,
+222,214,169,68,5,24,74,245,167,103,116,44,184,64,6,203,196,144,60,57,55,
+217,159,93,222,155,178,76,237,98,97,188,40,72,130,140,32,139,69,149,176,
+113,96,127,247,236,144,104,158,20,28,38,221,6,90,77,86,20,218,84,86,180,
+26,178,50,78,108,204,194,243,94,60,247,197,100,198,84,239,53,253,71,18,
+7,83,209,250,34,51,143,207,6,253,98,31,234,92,141,94,212,4,205,18,7,132,
+82,35,219,243,33,107,33,172,248,14,149,45,76,162,26,9,147,116,187,210,129,
+127,85,67,146,109,115,11,194,63,37,183,19,172,126,203,38,186,71,149,110,
+215,179,245,69,53,24,128,61,122,182,66,118,55,23,166,120,255,150,151,153,
+81,210,55,103,189,33,132,228,198,22,114,229,202,145,17,227,4,16,16,66,3,
+230,40,178,171,37,200,11,171,88,38,48,197,217,193,75,244,196,86,162,83,
+4,56,153,211,107,207,136,124,165,17,194,101,140,115,223,61,4,2,34,131,3,
+148,30,117,81,173,61,115,106,50,19,127,234,68,138,210,98,12,107,239,16,
+28,49,14,55,92,110,3,184,59,225,124,234,18,201,79,205,174,18,152,163,14,
+132,145,49,77,192,237,147,240,245,5,220,198,148,44,237,79,132,31,127,2,
+167,118,190,127,17,24,31,192,163,7,218,19,240,254,6,116,115,160,28,123,
+224,242,9,124,94,128,97,74,215,214,30,129,159,127,0,231,29,1,19,112,253,
+100,124,125,1,143,17,224,0,28,206,233,231,199,206,64,152,204,32,10,250,
+196,229,136,56,142,184,95,46,120,112,139,253,249,140,99,35,70,76,108,188,
+54,150,171,234,123,14,36,84,147,162,149,65,64,162,124,155,174,100,149,54,
+10,51,28,240,78,83,42,94,10,234,91,57,69,109,211,10,213,45,59,203,238,109,
+84,122,98,255,75,120,214,252,163,162,255,78,149,166,179,254,109,46,12,69,
+225,206,206,179,3,227,250,137,64,161,213,199,210,119,34,247,59,217,246,
+131,13,73,147,192,85,180,132,230,94,247,42,243,42,102,68,115,144,207,62,
+9,68,47,4,242,87,109,60,109,15,90,162,26,235,158,95,174,51,59,76,202,162,
+39,11,243,216,219,77,42,41,102,84,72,50,156,145,49,203,195,245,115,85,210,
+1,20,21,14,140,36,171,178,32,83,91,158,108,145,184,203,250,128,87,77,139,
+12,167,151,173,137,2,133,147,132,95,149,133,147,122,230,235,58,228,156,
+232,184,170,165,235,75,228,68,72,9,3,169,183,178,103,144,86,198,163,87,
+209,97,219,198,123,117,226,70,234,32,57,28,9,114,246,159,27,232,72,115,
+220,219,56,37,59,211,166,105,148,242,219,242,255,211,56,129,193,104,208,
+172,50,164,204,41,176,131,0,158,34,34,24,109,211,172,153,159,76,220,199,
+41,38,150,125,219,136,160,146,87,117,156,146,48,78,19,130,26,33,89,238,
+119,156,34,56,50,66,27,20,177,34,41,213,5,196,56,33,114,68,160,160,201,
+52,243,215,242,249,66,19,0,10,5,68,180,216,185,54,109,3,77,245,79,23,48,
+77,9,126,111,230,235,87,40,7,38,244,247,30,195,200,232,246,13,154,80,106,
+231,78,113,2,115,68,211,52,43,12,63,220,24,191,254,2,174,125,170,174,227,
+68,136,35,208,28,116,146,18,31,132,207,79,160,15,192,251,59,112,234,128,
+64,132,254,139,241,215,191,128,175,158,86,52,129,90,198,225,72,56,118,132,
+233,6,124,252,98,92,30,132,200,64,156,128,56,2,227,129,87,152,138,103,52,
+123,90,158,127,155,81,150,56,78,136,152,208,95,239,120,140,13,246,231,55,
+156,246,29,18,135,145,243,134,157,119,7,187,139,152,28,154,87,174,32,150,
+215,144,82,165,108,40,0,140,186,42,182,151,9,40,103,117,22,196,53,122,162,
+138,248,234,152,148,199,71,163,74,41,88,125,59,109,29,228,135,248,45,62,
+223,150,182,182,13,221,62,93,128,10,126,121,77,79,147,94,238,112,185,141,
+5,34,33,100,35,105,39,164,21,14,157,202,139,200,202,11,154,74,94,89,163,
+102,142,65,150,191,213,28,140,26,79,228,41,15,17,79,42,126,115,166,177,
+152,211,95,11,123,38,229,145,177,252,46,109,186,206,25,184,9,90,116,133,
+201,103,31,212,125,238,61,247,64,114,4,146,253,98,144,44,183,133,25,182,
+220,182,249,135,93,239,118,178,136,128,178,21,106,122,252,68,154,87,164,
+152,150,68,10,101,46,63,178,192,199,8,134,147,100,93,35,197,185,104,224,
+114,226,215,2,244,38,194,87,109,235,100,148,134,23,109,128,194,74,140,213,
+231,116,237,3,108,199,123,222,55,109,8,65,176,30,181,69,29,113,146,125,
+205,155,137,49,197,136,24,35,2,17,2,53,64,8,104,201,48,46,197,222,108,130,
+8,188,156,201,33,203,231,11,33,136,236,125,177,51,229,220,179,9,1,20,242,
+195,157,56,34,142,83,10,152,196,160,16,146,169,61,249,125,248,229,245,11,
+215,176,249,223,77,211,136,140,210,28,208,204,104,40,0,141,70,13,151,5,
+206,17,160,182,69,215,140,24,174,87,92,119,13,222,246,29,130,56,205,154,
+16,144,94,128,129,8,244,55,198,255,253,39,48,48,112,254,19,216,5,224,241,
+197,184,244,132,238,0,180,33,61,133,56,0,215,47,224,30,129,227,159,192,
+121,15,4,2,166,129,113,253,34,92,122,70,115,100,252,124,3,246,29,16,90,
+66,23,128,241,158,94,191,159,95,255,16,24,247,47,194,101,0,186,67,250,29,
+89,185,102,43,221,212,111,31,251,27,62,255,250,196,99,10,216,157,207,120,
+251,227,136,174,109,210,88,153,80,206,242,66,247,186,184,168,60,50,50,151,
+74,30,186,4,61,71,81,153,226,80,102,70,78,219,68,4,115,205,93,33,141,72,
+61,147,140,220,58,228,159,6,2,247,212,135,149,225,120,102,10,243,10,116,
+160,57,207,26,230,183,196,35,255,245,217,175,236,92,154,14,185,223,219,
+146,113,151,253,100,249,234,150,41,94,248,14,89,237,5,70,21,106,89,123,
+178,170,138,213,9,142,80,134,45,43,229,223,65,110,138,15,104,122,61,108,
+2,32,12,153,142,109,107,195,121,173,37,49,38,214,224,128,209,12,88,2,28,
+51,61,111,47,56,142,61,164,20,13,168,132,134,217,151,194,80,56,187,96,78,
+203,17,71,50,43,43,207,255,231,194,194,53,86,33,13,140,172,106,164,107,
+82,192,107,11,248,149,7,169,26,204,108,29,15,164,78,100,137,130,209,86,
+117,238,145,82,94,9,244,94,82,40,70,196,73,213,237,30,167,87,234,204,155,
+123,64,54,184,167,127,183,122,246,156,11,238,215,42,160,176,84,73,243,188,
+57,133,197,239,157,86,33,19,146,217,146,161,254,176,80,82,35,49,16,186,
+18,213,88,120,237,202,0,77,150,104,129,85,231,157,12,172,231,115,1,159,
+239,98,42,224,182,210,242,77,147,255,25,113,184,224,215,175,43,198,246,
+136,243,31,255,137,119,10,104,186,148,108,48,123,14,88,64,236,9,31,127,
+49,190,238,132,166,97,92,62,8,87,48,98,156,33,248,19,176,111,82,162,212,
+95,128,143,43,64,103,224,237,132,181,239,30,0,32,164,123,28,239,192,191,
+122,194,238,4,252,249,39,163,27,9,31,127,1,151,59,208,180,132,235,7,227,
+6,66,140,64,179,190,190,109,133,75,234,83,64,211,29,240,246,62,98,250,117,
+193,48,70,32,36,100,134,196,72,35,136,252,108,157,42,156,6,8,214,243,50,
+58,137,210,46,203,6,173,165,221,67,204,5,45,122,85,215,98,82,19,161,153,
+29,44,250,129,171,209,78,165,231,254,204,116,136,95,252,190,189,78,217,
+87,124,193,153,173,142,18,147,3,177,107,221,46,13,224,189,38,137,83,133,
+105,101,69,92,132,119,73,234,243,7,129,85,128,101,135,172,103,3,187,58,
+19,96,216,204,11,7,135,215,209,165,117,102,121,222,179,89,150,154,180,44,
+118,173,231,254,157,126,251,139,36,74,251,4,37,180,190,158,229,142,209,
+17,75,136,88,88,57,46,74,119,164,50,21,125,151,25,92,156,111,154,199,96,
+84,172,128,162,25,83,143,94,134,185,33,124,67,22,164,22,66,167,61,143,60,
+147,66,238,37,155,176,216,30,100,136,118,139,202,166,37,99,136,226,111,
+29,129,37,108,120,76,202,79,89,4,132,249,58,200,204,16,100,196,164,42,232,
+243,138,93,244,51,77,5,79,200,131,101,65,194,42,61,225,85,206,199,175,48,
+138,36,140,53,10,218,62,151,19,201,61,231,24,99,130,155,67,147,15,86,54,
+112,207,124,131,100,194,153,133,46,140,79,176,56,232,153,25,118,68,76,170,
+31,45,106,117,169,157,16,240,219,54,50,91,4,8,251,139,118,86,5,0,197,136,
+105,120,224,114,185,99,8,7,188,189,29,113,236,26,51,155,15,241,185,102,
+81,149,9,184,94,129,107,79,56,156,25,63,222,128,174,73,9,76,8,64,104,129,
+0,70,223,19,198,7,240,245,5,196,134,113,62,210,10,32,196,9,152,24,56,188,
+1,255,117,32,220,190,128,207,251,210,11,32,92,175,156,200,126,103,194,251,
+123,74,22,64,64,19,24,77,71,104,168,204,78,201,50,88,230,182,12,168,195,
+254,112,64,67,250,196,38,163,83,198,84,214,233,84,140,254,233,85,152,71,
+235,108,221,89,140,201,67,178,244,201,122,187,219,100,90,15,201,58,89,187,
+71,146,170,172,129,173,17,113,247,223,92,221,220,101,181,237,192,170,155,
+80,56,187,152,192,86,63,30,149,179,200,95,244,158,99,156,77,25,60,20,64,
+67,231,69,107,128,29,225,42,81,149,43,216,54,159,114,234,224,99,175,143,
+42,17,10,210,156,124,50,60,158,23,251,30,191,119,136,20,172,100,82,69,11,
+36,161,208,126,60,93,176,235,49,82,53,110,150,239,215,194,109,146,22,187,
+108,157,226,200,39,98,150,149,107,29,233,241,12,85,137,205,153,38,87,34,
+103,148,77,245,144,151,158,187,177,102,230,202,179,201,14,155,118,2,30,
+186,151,111,10,12,251,31,5,231,133,132,4,54,147,74,113,116,210,69,90,164,
+108,43,102,60,131,228,95,240,170,88,90,3,106,242,137,201,65,64,73,55,233,
+197,195,166,141,88,198,52,207,193,151,215,96,168,198,171,90,221,12,215,
+147,214,241,246,214,146,130,106,172,86,163,35,122,78,198,221,201,138,43,
+240,210,46,152,171,250,223,78,196,249,9,220,38,175,147,237,65,199,64,28,
+112,187,94,113,159,26,28,207,41,184,175,237,9,241,39,44,60,160,25,73,172,
+166,191,51,198,30,152,70,194,112,79,111,190,63,17,126,254,1,116,119,224,
+175,95,192,215,157,49,197,212,59,103,34,196,191,210,146,61,16,227,242,23,
+225,242,224,52,149,56,223,224,221,17,248,249,158,160,254,143,123,34,223,
+77,67,130,234,153,8,251,133,120,23,96,122,90,50,207,202,117,228,120,187,
+224,118,159,64,135,51,142,135,29,154,96,5,113,200,159,114,100,193,134,181,
+30,159,166,108,94,4,73,216,244,81,183,204,42,149,24,43,11,153,90,217,58,
+145,76,98,199,148,232,105,143,29,78,220,219,234,187,23,202,77,30,75,221,
+221,93,238,103,229,10,8,82,23,50,177,96,61,158,56,98,215,153,63,18,249,
+40,161,92,122,105,63,113,129,5,90,11,96,121,40,17,156,30,3,76,115,94,237,
+65,121,159,149,217,8,177,178,25,38,242,170,217,127,103,229,94,59,247,217,
+140,96,218,0,74,245,249,234,66,236,129,203,209,92,18,149,30,163,50,243,
+94,43,27,185,168,223,165,125,114,38,61,83,233,125,1,205,131,32,19,160,172,
+179,45,84,43,207,242,150,196,53,59,207,134,201,231,145,20,174,130,213,141,
+205,197,76,136,236,177,147,200,254,88,66,247,100,18,164,170,224,210,147,
+133,80,219,192,30,27,103,17,251,98,146,158,109,69,17,5,209,234,208,135,
+174,109,225,100,101,200,229,230,181,168,28,162,50,240,69,158,16,39,70,106,
+185,135,138,208,131,232,57,213,220,62,85,118,174,171,249,44,181,136,66,
+232,36,114,68,28,35,168,161,98,36,142,232,223,180,59,97,229,98,57,111,164,
+229,254,77,35,250,251,21,215,129,208,157,78,105,230,221,28,84,86,91,122,
+125,60,4,52,29,97,191,103,244,83,202,130,155,29,225,120,78,204,248,199,
+141,112,27,230,7,29,210,131,161,22,216,159,128,93,195,120,124,1,183,129,
+87,201,129,102,71,120,251,193,120,59,3,187,54,193,255,109,199,216,239,129,
+126,162,69,131,7,199,51,112,216,201,145,23,211,2,90,52,4,40,98,122,220,
+113,187,221,49,181,39,156,143,7,116,193,170,72,149,100,53,162,74,226,176,
+28,230,178,143,182,86,204,158,50,26,61,183,230,158,23,151,43,155,201,166,
+47,76,37,161,80,46,109,250,14,57,198,59,144,92,193,136,58,91,79,223,69,
+159,127,78,155,136,32,155,217,101,54,198,47,218,89,221,63,243,61,241,29,
+50,140,123,46,174,184,254,76,184,222,72,53,189,196,165,2,101,135,183,225,
+29,226,121,127,139,106,86,64,196,234,140,144,85,143,72,182,191,53,37,241,
+74,224,39,167,7,45,96,204,117,52,211,84,105,69,42,103,243,95,210,243,223,
+153,125,46,56,41,68,102,76,174,20,100,220,66,104,168,104,194,206,207,199,
+217,67,62,202,201,166,173,34,194,144,154,215,23,235,199,50,251,11,240,73,
+87,132,75,75,142,173,32,14,180,170,226,107,134,202,121,84,81,197,22,9,13,
+137,4,76,118,27,232,149,42,189,118,126,108,206,166,59,144,35,73,39,56,45,
+67,235,207,122,138,27,202,78,123,144,245,238,163,255,190,252,111,174,25,
+80,174,11,41,26,88,196,144,17,216,34,218,44,101,24,157,18,133,205,80,187,
+201,198,72,142,149,46,154,195,210,95,152,254,78,32,247,179,82,215,120,154,
+53,63,97,186,127,224,159,31,61,104,127,198,143,247,35,118,161,220,93,12,
+45,32,67,226,102,196,137,16,153,87,200,42,16,82,210,196,192,60,108,80,48,
+86,67,72,191,23,39,32,74,198,234,60,211,30,150,207,16,1,158,8,19,139,195,
+63,164,215,111,200,25,5,180,187,46,78,184,125,252,19,31,15,194,233,199,
+159,56,239,27,52,65,79,145,214,24,186,101,5,106,14,44,232,136,234,141,180,
+212,167,73,72,107,36,168,30,126,110,223,84,97,254,26,188,70,27,69,206,111,
+87,125,122,248,15,176,247,143,77,184,166,39,148,187,26,15,126,235,227,60,
+155,1,171,149,29,254,223,189,188,213,148,162,149,56,33,86,9,217,252,236,
+168,212,224,172,91,244,170,3,5,70,209,146,253,94,228,43,125,247,167,74,
+132,175,63,111,42,176,10,152,54,67,233,67,79,69,43,80,22,65,249,208,206,
+53,6,41,190,1,217,15,204,27,189,40,131,48,209,147,4,83,199,94,71,224,66,
+73,2,231,15,148,33,103,95,203,204,191,255,180,38,227,190,207,225,107,91,
+212,107,159,228,54,145,222,107,238,218,121,214,186,165,39,92,28,108,64,
+245,38,131,37,147,174,176,115,102,144,173,98,139,252,128,54,79,206,229,
+85,91,87,127,81,244,67,226,20,17,121,66,211,180,218,102,147,76,184,113,
+166,105,0,0,32,0,73,68,65,84,27,206,4,119,176,153,204,173,109,40,98,65,
+176,211,133,254,210,119,143,243,152,25,33,188,190,25,95,81,26,211,18,82,
+166,196,91,190,157,212,250,166,225,129,235,229,142,169,59,225,63,206,7,
+236,26,255,148,93,19,16,42,59,175,161,101,132,10,217,162,13,53,200,54,253,
+43,180,64,3,219,195,144,178,142,4,106,83,50,192,76,219,69,169,177,95,4,
+128,105,232,113,127,12,152,232,156,96,121,35,117,155,225,187,82,51,221,
+87,70,166,2,174,175,179,191,203,94,32,85,116,33,87,89,201,25,234,151,132,
+171,133,208,197,68,165,224,135,39,151,76,27,48,220,119,14,125,54,73,33,
+89,39,119,82,117,148,119,183,80,133,209,107,147,236,58,81,176,212,41,218,
+76,22,234,188,27,170,42,208,215,10,128,108,206,161,14,41,65,128,92,125,
+186,89,143,102,193,6,101,214,30,161,235,12,185,37,95,174,49,141,234,26,
+23,223,17,44,250,78,60,119,80,75,54,28,137,21,75,49,192,142,98,244,27,199,
+72,117,188,115,230,23,72,213,50,38,59,34,102,90,29,197,193,167,91,102,217,
+23,128,159,99,52,170,205,144,219,106,178,111,156,199,253,50,31,96,173,66,
+205,184,180,59,82,102,244,82,86,233,109,7,236,120,85,105,92,57,71,42,55,
+67,107,100,73,165,102,255,86,96,199,55,207,138,167,163,138,156,219,149,
+4,231,124,240,208,244,178,209,103,153,62,114,4,149,64,11,68,239,31,13,60,
+103,144,77,104,103,226,72,41,84,194,154,105,97,244,9,56,51,22,73,104,166,
+175,122,210,84,66,38,18,182,96,0,129,208,160,93,181,238,171,125,142,231,
+252,161,178,218,96,42,113,126,153,180,196,9,253,245,23,126,125,94,49,240,
+14,199,247,119,252,199,249,136,46,80,41,212,69,50,115,39,209,54,100,33,
+49,41,243,53,121,44,144,216,183,22,48,101,223,245,219,140,74,176,153,145,
+80,218,202,54,249,42,184,7,19,24,201,5,111,122,124,225,179,107,209,80,139,
+125,71,202,184,5,140,170,33,74,126,109,79,157,70,207,126,27,73,109,99,52,
+132,210,141,141,203,199,150,209,241,25,102,86,194,66,250,243,86,91,148,
+92,197,195,159,51,235,157,245,71,130,11,224,245,102,109,13,255,12,148,247,
+11,4,86,217,187,30,89,171,133,100,15,9,176,134,53,229,124,62,87,170,40,
+245,78,106,184,88,84,98,194,236,135,68,46,77,84,154,77,234,245,12,1,201,
+11,210,26,178,174,59,155,17,51,218,170,208,241,132,4,245,221,68,206,60,
+71,57,93,164,149,208,50,68,92,180,45,11,166,157,208,153,55,5,78,134,232,
+5,231,192,67,44,180,162,148,51,23,97,42,87,165,29,161,207,46,219,97,100,
+182,237,49,214,80,182,152,146,89,167,28,72,147,165,141,68,170,25,135,164,
+213,221,113,77,100,156,140,141,94,173,231,84,144,211,90,68,100,138,4,45,
+232,83,73,70,106,129,156,55,182,216,147,145,69,203,165,169,53,33,182,243,
+85,93,148,51,203,216,59,79,182,253,247,229,191,185,36,12,33,171,213,33,
+245,221,151,113,184,66,91,157,244,230,213,12,2,35,198,78,102,113,51,4,60,
+35,22,245,188,152,166,249,253,155,208,192,85,125,250,219,125,247,74,38,
+38,23,244,52,33,198,148,104,132,38,36,181,61,143,144,225,42,81,57,15,23,
+122,44,70,141,142,152,67,251,105,233,65,108,124,152,197,192,153,49,129,
+97,137,168,216,57,166,89,173,48,161,53,152,141,100,52,180,78,238,76,244,
+198,42,172,192,82,228,126,194,237,161,29,20,214,167,172,3,170,116,47,220,
+176,85,113,139,216,87,101,74,55,127,78,78,32,231,66,135,170,214,158,248,
+254,2,246,239,29,189,176,232,203,143,111,187,156,158,39,60,61,185,77,122,
+77,170,189,109,218,92,82,15,252,41,138,178,86,96,102,237,9,9,84,38,122,
+249,17,254,253,175,74,91,195,152,147,212,186,96,85,189,122,209,227,180,
+79,107,117,220,35,188,240,28,80,81,244,17,5,133,105,117,120,62,13,228,242,
+42,74,191,212,204,175,17,69,133,76,214,138,194,137,156,104,106,125,189,
+252,193,209,234,174,182,57,131,65,181,32,144,164,98,85,91,199,31,60,233,
+175,191,210,234,217,106,71,20,252,18,59,4,64,224,239,186,157,91,83,51,225,
+3,192,180,244,224,69,246,77,243,111,170,62,167,140,64,210,166,208,16,74,
+228,162,81,245,65,17,216,89,193,253,138,52,179,254,74,204,149,236,119,152,
+116,175,160,145,206,33,162,199,247,230,247,39,210,65,74,120,4,139,181,99,
+184,7,84,246,168,156,213,66,47,8,134,212,2,157,223,241,206,153,57,25,230,
+13,43,242,14,63,89,208,186,106,210,89,188,249,220,213,5,111,29,29,234,215,
+235,239,29,42,43,249,226,121,106,157,239,117,140,142,232,181,158,216,43,
+193,189,10,197,61,131,186,235,187,251,217,217,81,127,125,122,138,24,211,
+11,217,108,73,163,131,219,155,228,167,239,92,243,150,47,153,229,16,208,
+161,127,209,86,172,222,227,201,144,249,167,47,186,206,94,11,134,95,190,
+241,223,15,248,5,241,142,170,57,79,89,252,148,1,116,77,98,5,220,70,210,
+95,97,173,246,81,58,57,86,18,16,235,84,192,207,180,17,61,173,125,228,42,
+59,75,206,102,41,96,47,250,174,147,53,76,149,237,96,87,163,224,10,1,142,
+87,253,147,14,218,170,167,96,181,19,197,59,148,182,21,37,39,154,54,80,190,
+87,198,229,108,113,237,154,172,249,38,216,223,113,221,80,105,160,52,100,
+19,73,102,96,59,175,60,207,187,79,113,210,253,16,54,94,187,198,227,157,
+72,155,119,145,37,143,144,189,36,202,132,106,211,107,137,113,194,52,77,
+136,130,157,250,204,161,241,229,224,191,6,113,217,35,150,42,44,64,228,105,
+149,112,197,34,180,34,131,187,132,66,216,109,70,75,241,109,229,242,181,
+46,44,38,215,200,204,154,52,249,214,158,254,125,93,4,67,216,129,142,151,
+4,165,132,231,203,69,187,192,141,108,250,86,22,129,103,246,15,60,93,64,
+104,146,153,69,177,148,41,173,48,210,40,238,130,64,4,172,231,0,43,27,90,
+103,157,212,180,162,183,32,123,251,96,200,57,156,77,143,140,196,83,38,135,
+159,254,252,18,168,34,40,170,159,189,231,41,95,147,196,45,143,20,237,250,
+141,181,111,252,202,225,79,149,27,36,70,174,172,203,155,88,253,108,156,
+161,243,131,231,82,57,76,140,80,174,211,151,139,194,166,64,195,108,155,
+146,158,65,239,132,239,241,120,170,175,161,137,164,82,10,129,80,106,3,232,
+141,237,248,214,207,7,33,171,181,164,97,82,9,192,19,149,82,199,101,251,
+14,10,237,210,138,230,27,186,138,122,134,54,63,191,89,144,44,161,10,185,
+135,188,118,37,68,146,149,11,118,218,8,132,60,191,94,94,133,68,80,235,71,
+78,157,224,89,82,204,218,203,158,196,164,201,106,126,204,178,183,204,219,
+149,149,61,211,185,178,134,138,131,204,57,94,101,184,241,18,15,131,162,
+201,239,120,120,76,30,173,20,77,95,150,39,68,74,194,2,49,217,218,126,118,
+37,107,179,204,43,114,63,77,90,7,102,49,27,42,90,220,98,87,90,102,76,102,
+66,83,217,86,142,115,15,186,109,218,85,38,23,216,200,21,158,29,210,110,
+246,197,240,92,226,86,168,137,3,218,118,121,127,237,165,46,225,45,34,253,
+176,245,33,149,231,210,60,118,124,46,52,185,114,100,218,232,237,167,151,
+170,27,192,92,234,62,176,29,107,17,7,148,97,162,209,82,225,115,37,171,53,
+113,180,204,76,237,39,162,98,127,120,70,43,92,240,11,200,40,126,233,234,
+168,54,153,207,236,88,102,214,54,47,195,55,86,123,122,232,91,11,90,73,146,
+225,117,147,178,18,3,173,163,123,92,192,252,229,42,208,247,113,219,10,150,
+43,155,193,27,49,146,154,116,178,202,171,19,155,140,92,150,241,196,100,
+38,101,95,99,21,14,37,135,134,204,90,204,162,131,214,88,100,78,252,72,91,
+154,50,161,166,163,84,23,44,250,238,23,195,71,41,228,121,182,200,202,66,
+36,198,82,16,202,33,185,151,217,30,103,249,81,165,211,79,69,123,207,93,
+183,54,34,209,70,188,34,173,67,200,164,166,220,76,14,146,225,16,153,12,
+234,135,74,43,201,90,21,44,30,127,217,229,254,177,227,117,110,9,199,214,
+20,9,27,155,58,39,35,60,115,23,228,224,61,153,132,138,128,231,179,237,30,
+100,198,79,74,108,239,232,94,12,120,188,118,129,218,125,246,211,160,8,48,
+182,176,204,246,188,218,127,33,232,28,129,49,77,17,113,154,114,192,115,
+237,203,89,31,248,44,130,152,132,231,217,148,151,240,37,23,114,146,199,
+201,188,38,70,117,200,208,191,97,115,170,21,92,4,76,18,83,3,19,166,56,230,
+143,175,44,28,53,180,83,13,24,10,245,151,132,19,27,214,228,242,125,229,
+243,148,44,14,45,46,146,15,214,162,15,184,252,148,236,174,214,100,171,85,
+88,200,129,180,216,169,138,233,73,182,101,235,136,130,15,36,158,0,121,9,
+24,149,25,134,238,201,82,113,0,147,195,157,220,144,100,251,61,198,188,178,
+20,182,213,6,171,186,131,170,137,63,57,235,1,69,57,80,18,122,185,130,8,
+82,245,16,180,186,255,44,214,163,60,76,8,30,255,223,57,235,212,227,41,209,
+5,50,7,120,29,202,20,61,36,233,4,72,114,239,232,27,175,238,219,179,12,234,
+111,67,241,185,90,98,98,147,213,179,238,68,49,11,181,71,42,108,153,109,
+15,124,214,175,157,63,58,107,24,121,189,111,226,192,39,214,135,98,69,143,
+196,34,134,42,129,86,228,69,94,209,19,169,61,70,197,217,33,215,57,173,72,
+38,113,102,118,101,19,77,46,142,42,38,191,26,102,89,116,176,92,77,92,244,
+213,107,237,160,98,103,81,38,120,175,111,110,166,180,178,28,238,70,85,254,
+204,144,106,235,28,49,200,12,155,39,193,43,114,65,246,4,84,28,157,82,170,
+197,36,62,148,225,176,181,184,80,104,2,33,96,206,142,151,89,234,16,8,109,
+211,36,27,86,225,91,92,140,64,21,22,133,153,60,147,23,59,219,114,117,30,
+159,177,254,141,194,43,152,104,117,182,123,161,165,248,251,95,42,131,224,
+57,230,37,243,154,182,233,230,33,117,46,8,117,179,245,180,127,192,168,212,
+213,169,102,89,31,184,158,20,168,123,145,4,99,3,201,42,233,176,25,46,213,
+216,157,197,245,58,138,102,2,107,204,249,29,203,164,87,64,243,228,62,19,
+18,232,136,69,94,184,128,181,157,139,46,2,179,49,40,101,105,213,165,91,
+37,252,44,35,231,111,192,181,47,143,89,210,154,131,215,187,237,94,29,108,
+39,41,60,216,85,166,103,86,35,220,214,255,188,17,215,124,125,121,46,90,
+68,12,207,8,150,200,62,97,173,112,68,98,122,128,214,0,197,107,50,201,6,
+170,102,177,95,10,188,130,141,42,156,41,49,185,146,152,241,239,86,3,213,
+100,143,244,2,99,82,31,66,186,155,177,188,251,236,32,23,36,206,69,181,47,
+5,9,140,117,195,132,84,31,222,217,111,21,232,155,139,116,200,174,39,253,
+83,174,190,30,105,47,1,217,74,93,158,47,145,106,189,168,213,101,148,201,
+213,53,80,121,171,213,52,7,105,243,192,186,110,52,68,66,45,180,252,87,182,
+58,235,246,36,28,111,123,114,138,179,87,218,53,126,62,94,152,96,169,226,
+75,124,190,82,226,203,38,131,142,69,175,64,98,86,171,228,229,84,88,173,
+223,243,89,222,46,11,50,114,170,156,137,66,114,24,99,42,100,7,61,31,74,
+213,63,144,227,14,164,63,36,201,174,143,131,10,68,142,152,98,4,5,66,227,
+9,233,124,71,181,142,42,37,135,55,219,200,89,73,105,154,34,66,8,88,197,
+250,140,58,26,115,229,230,203,127,172,114,156,34,147,93,31,234,43,52,40,
+185,4,147,6,0,71,204,174,121,154,176,148,245,249,129,64,97,30,177,51,57,
+174,157,5,231,164,107,16,57,123,53,39,103,192,160,71,153,108,237,184,30,
+82,140,136,136,41,38,15,249,64,65,83,231,56,98,154,239,65,131,70,171,113,
+109,229,105,140,74,95,18,133,86,185,229,108,66,62,31,218,70,103,153,39,
+68,48,8,205,236,66,248,130,27,151,187,209,173,145,199,60,249,193,19,128,
+102,77,4,225,106,125,251,64,100,173,101,65,38,133,243,66,245,75,61,74,103,
+48,7,174,254,64,173,122,176,24,171,144,29,6,129,41,89,43,51,66,114,97,36,
+7,62,7,207,103,13,3,212,160,161,12,91,170,227,110,233,245,10,97,23,114,
+15,189,10,76,191,57,170,132,231,50,197,246,63,20,95,116,70,64,22,33,26,
+73,0,84,8,167,80,83,132,131,40,153,25,232,204,148,207,193,147,216,24,60,
+21,26,238,214,79,208,238,51,205,142,149,142,144,170,120,219,64,4,20,187,
+17,110,84,214,219,181,138,160,148,36,64,107,90,229,165,200,68,181,168,106,
+213,52,120,13,114,75,240,99,65,44,102,233,117,79,149,151,242,252,220,183,
+60,40,42,68,220,178,205,226,159,126,155,51,53,27,178,234,92,36,122,190,
+109,112,43,55,110,19,230,202,153,201,64,79,40,198,225,140,86,129,208,53,
+54,252,92,18,135,136,153,9,203,72,21,175,214,173,68,40,136,73,244,12,70,
+173,45,206,210,214,202,73,249,151,140,47,121,218,35,208,218,203,21,0,134,
+234,29,91,46,120,134,226,101,207,10,171,70,189,132,105,100,27,195,227,159,
+228,65,170,9,227,248,133,143,254,129,72,7,156,119,111,56,52,148,161,108,
+138,152,134,79,252,234,31,136,116,196,219,254,140,61,5,181,217,148,139,
+37,69,140,227,128,199,120,193,109,184,226,62,205,223,15,7,188,31,222,241,
+214,237,211,97,27,39,244,19,208,46,40,10,107,113,156,137,31,248,186,254,
+133,207,145,240,118,248,3,111,187,29,218,212,233,1,243,132,123,255,79,124,
+76,45,206,187,51,78,109,26,43,84,143,105,203,203,216,24,18,120,90,1,170,
+186,160,242,32,40,218,96,44,19,208,136,123,255,79,252,154,26,156,119,111,
+56,183,93,41,60,84,27,111,180,9,98,193,164,137,24,251,127,225,175,145,208,
+237,206,120,111,119,243,103,47,43,98,114,43,124,15,84,183,160,3,131,56,
+162,103,160,161,38,25,1,125,19,178,178,179,12,175,139,246,45,87,49,97,140,
+64,8,13,154,85,86,20,0,79,184,63,254,47,62,230,123,123,106,187,148,66,25,
+93,140,24,31,248,188,253,11,159,99,192,249,248,19,239,221,30,141,169,114,
+153,244,33,166,137,216,92,211,103,253,141,36,237,89,182,77,107,127,124,
+133,200,89,87,196,82,100,143,139,192,39,80,77,53,49,44,20,25,29,216,117,
+77,240,107,26,190,174,16,160,63,253,160,154,38,92,130,101,44,220,60,171,
+240,0,233,64,34,73,92,30,49,204,5,177,172,73,208,250,24,231,93,78,90,209,
+163,152,144,112,228,230,60,77,145,66,177,83,152,153,144,152,25,102,57,118,
+93,11,242,216,72,2,107,16,61,103,228,215,248,10,42,169,97,134,99,168,99,
+210,119,213,181,82,35,36,122,29,50,52,191,77,122,160,180,201,227,61,101,
+222,77,211,148,159,64,72,131,42,69,32,210,67,24,100,156,162,116,213,53,
+103,186,138,64,147,3,230,52,37,151,186,182,105,245,253,124,86,181,215,188,
+61,168,210,210,172,100,167,139,90,95,219,182,170,249,180,40,56,17,106,41,
+184,92,76,134,244,69,165,9,249,186,24,137,170,26,28,137,161,58,226,49,92,
+112,25,30,64,243,142,31,187,3,118,33,228,94,87,28,113,239,63,113,25,122,
+80,243,134,31,187,35,118,77,208,35,138,202,20,98,192,237,241,129,95,253,
+136,182,59,227,253,248,134,159,171,2,92,170,182,2,17,120,186,225,171,255,
+194,149,247,248,121,120,195,126,174,206,243,181,70,140,195,13,183,113,68,
+211,254,192,177,219,165,164,0,12,240,132,199,240,133,175,97,68,232,126,
+224,212,238,214,0,100,109,36,173,102,242,250,27,204,101,134,198,102,247,
+25,71,37,162,210,181,76,181,85,86,109,165,136,199,248,137,207,126,64,232,
+222,113,106,58,237,35,176,9,215,114,57,199,171,198,39,35,134,241,130,175,
+177,7,183,127,226,188,6,247,90,65,249,220,181,130,138,108,156,17,227,125,
+126,62,59,252,60,190,139,174,29,94,120,45,168,14,190,77,50,216,120,178,
+185,193,63,222,240,245,248,194,21,123,252,60,188,99,31,22,158,205,132,126,
+248,192,101,24,65,221,15,156,154,244,249,11,80,134,39,12,227,13,183,113,
+66,211,157,211,26,177,250,249,171,224,85,62,100,216,246,225,95,109,215,
+125,183,7,95,8,178,228,241,52,125,166,145,113,131,99,9,123,149,222,67,130,
+117,175,128,195,98,156,52,35,135,107,191,95,160,3,178,160,146,215,104,117,
+13,109,120,247,244,39,202,214,160,39,151,150,133,201,10,131,85,47,72,82,
+229,204,38,152,246,74,110,111,228,145,63,205,21,41,186,193,14,166,206,38,
+204,175,83,22,172,83,128,149,79,111,44,178,159,122,185,123,222,76,207,230,
+220,197,131,98,83,201,144,184,89,89,189,149,13,125,144,92,71,89,219,90,
+144,80,127,22,21,204,194,82,171,104,218,63,46,255,205,140,8,66,88,3,83,
+49,223,238,113,78,184,44,175,173,204,160,30,69,35,27,230,68,111,142,215,
+30,62,189,98,58,130,223,217,180,21,152,136,19,180,19,164,57,130,106,160,
+61,83,3,175,53,142,161,178,170,103,227,148,107,8,157,30,184,245,159,184,
+112,131,67,119,194,185,221,171,74,45,78,125,250,121,12,56,236,79,56,55,
+7,52,164,173,3,53,137,127,192,99,248,192,63,31,19,186,221,59,126,238,14,
+179,18,223,98,253,152,4,110,38,12,120,244,159,248,140,1,199,246,13,111,
+93,135,64,1,109,160,52,182,40,44,42,3,146,233,79,88,178,81,30,49,12,95,
+248,235,241,64,179,123,199,251,238,132,29,217,57,220,10,199,138,35,226,
+12,154,7,230,4,239,3,32,106,18,162,180,18,153,70,140,113,73,158,8,52,39,
+38,164,213,77,75,127,100,48,24,19,134,225,19,127,61,122,52,221,59,222,119,
+199,249,250,114,101,31,65,73,208,105,105,125,204,80,123,19,114,146,17,227,
+132,184,190,87,72,191,15,198,56,221,240,245,248,192,16,78,56,182,71,28,
+66,72,215,55,27,35,125,111,4,219,226,67,140,41,142,136,113,196,99,248,194,
+71,12,56,182,103,156,187,14,13,53,104,231,182,203,180,106,48,164,107,92,
+238,31,56,98,226,152,254,123,77,80,34,70,102,132,208,162,193,51,29,134,
+52,50,27,227,132,199,248,129,207,137,112,236,222,241,214,118,32,34,180,
+4,140,211,23,126,221,46,152,154,51,206,221,17,187,134,64,104,82,226,136,
+212,182,136,66,216,41,204,207,47,168,53,59,98,228,124,246,164,251,219,32,
+8,11,213,165,181,212,52,45,2,99,91,20,228,223,65,176,91,91,109,207,68,83,
+74,207,141,162,77,105,116,219,101,180,214,251,163,246,34,27,199,155,176,
+114,230,154,26,66,229,218,61,20,57,23,138,218,113,78,147,135,165,104,17,
+151,36,0,245,186,37,108,71,134,53,66,85,143,247,39,7,187,25,229,41,36,166,
+72,40,32,214,236,85,107,193,222,11,228,207,122,242,86,182,208,17,180,225,
+138,22,74,209,233,253,102,136,83,99,176,243,51,107,167,105,74,153,92,40,
+61,125,117,118,17,197,236,54,153,214,252,220,51,138,203,58,8,153,100,183,
+176,24,151,191,15,16,125,69,78,140,125,2,40,52,171,93,32,57,35,255,185,
+162,231,58,100,37,215,33,161,96,138,51,3,20,4,49,138,35,226,52,195,67,75,
+53,18,80,8,240,113,21,30,51,254,184,176,132,176,172,175,188,176,133,41,
+248,70,43,196,17,67,188,227,210,95,48,114,139,227,238,39,222,218,32,102,
+129,39,244,241,134,107,127,195,192,13,142,251,31,120,107,91,44,33,132,35,
+196,252,39,86,177,162,105,188,226,235,113,65,143,227,12,73,231,83,49,78,
+35,238,253,7,62,251,47,220,98,76,199,57,53,136,227,3,183,225,128,243,238,
+132,99,152,112,125,124,226,115,24,129,230,132,159,199,159,120,111,90,132,
+229,243,199,17,195,120,193,103,223,131,155,51,222,118,39,116,222,40,8,71,
+129,140,44,45,160,1,143,254,11,159,195,3,76,1,1,19,110,195,0,166,29,78,
+251,31,248,121,56,160,137,19,134,233,142,235,112,197,117,236,49,49,131,
+194,9,239,135,159,248,217,117,138,55,30,217,192,223,179,66,223,48,124,225,
+99,232,193,205,9,111,251,28,220,121,174,40,175,195,0,52,7,156,119,7,4,30,
+241,232,63,113,153,128,253,238,29,111,104,49,113,143,97,184,224,50,220,
+240,136,17,140,6,93,247,150,18,25,190,227,171,255,196,109,98,16,223,241,
+235,241,23,254,69,59,156,247,63,241,190,63,162,163,167,157,54,193,95,0,
+130,104,105,113,28,112,31,62,241,113,255,194,61,198,180,135,208,33,142,
+119,220,134,35,222,119,103,236,195,136,91,127,197,3,41,216,143,195,5,15,
+110,112,216,253,192,143,93,135,113,248,194,101,10,56,237,222,241,214,54,
+152,226,29,215,254,130,59,119,56,239,126,224,212,54,8,115,42,17,1,133,60,
+48,15,184,247,31,248,120,92,112,143,211,204,7,107,48,77,61,174,225,128,
+247,221,9,251,48,226,250,184,97,0,129,248,134,191,174,191,16,185,195,233,
+240,3,63,118,59,96,186,225,242,248,194,231,56,130,218,19,126,236,127,226,
+189,109,176,166,110,60,162,159,110,184,246,215,132,128,48,64,77,135,99,
+247,142,247,253,25,59,2,16,39,60,198,95,248,245,184,97,106,222,241,243,
+240,142,35,5,21,228,93,242,236,43,73,191,39,163,42,42,87,86,116,11,146,
+20,56,141,224,89,39,236,226,90,252,54,33,137,10,94,91,222,62,11,120,162,
+138,37,0,102,204,170,160,82,50,21,29,39,125,70,74,248,122,249,61,211,167,
+132,54,17,242,122,241,76,78,87,129,216,189,110,18,193,157,77,187,129,94,
+8,111,178,245,188,84,239,185,82,39,195,157,32,173,184,202,79,50,91,215,
+55,101,131,2,80,246,4,13,125,137,224,207,254,136,103,36,122,61,180,149,
+211,200,215,82,252,56,206,249,206,124,67,219,166,105,102,248,111,2,136,
+17,40,29,222,44,72,21,12,78,210,181,28,83,159,90,220,32,34,36,135,180,24,
+193,60,195,252,196,134,159,146,201,96,13,133,85,121,39,114,110,11,76,49,
+53,133,67,19,10,17,7,102,198,52,7,160,16,26,4,203,158,101,96,73,84,214,
+217,121,211,51,25,227,252,115,10,41,1,153,127,33,204,154,172,233,245,129,
+6,33,37,33,130,73,71,243,235,51,48,127,62,115,154,48,99,154,166,84,221,
+54,169,58,177,189,194,105,26,65,72,100,182,66,106,139,7,220,250,11,174,
+211,8,10,103,188,239,14,25,114,159,15,218,229,231,33,156,240,190,63,96,
+23,154,140,24,207,213,13,71,66,211,132,100,169,203,233,200,142,96,76,0,
+120,188,227,235,254,133,176,127,199,137,210,61,12,20,176,235,14,216,79,
+61,16,26,236,186,119,156,186,37,105,136,24,167,9,99,108,177,111,143,232,
+227,3,220,118,104,41,172,73,26,226,132,97,252,156,131,231,17,63,119,39,
+236,73,123,158,47,220,11,142,73,6,183,105,150,231,19,49,142,23,124,62,62,
+112,141,1,135,221,15,28,218,6,13,62,113,231,14,187,38,96,26,47,248,234,
+31,24,209,98,223,253,196,127,116,41,224,92,35,41,83,157,85,214,152,1,106,
+154,85,102,151,227,132,105,250,194,199,248,0,55,167,116,125,11,236,139,
+56,115,28,122,112,56,226,189,221,161,193,132,123,255,129,175,145,209,117,
+111,216,99,194,215,227,3,183,9,232,218,3,222,143,111,248,115,254,240,68,
+4,142,87,124,62,62,240,57,50,246,221,59,222,90,66,15,198,128,14,109,219,
+162,169,200,20,21,80,253,188,126,8,132,24,40,201,66,131,65,212,162,107,
+247,56,116,3,56,54,56,116,111,56,182,45,2,210,231,7,247,248,122,124,225,
+115,24,208,180,103,28,186,3,246,148,172,149,155,208,2,177,199,61,50,218,
+246,136,67,211,128,249,142,75,127,69,207,29,78,187,51,142,109,179,238,132,
+56,197,121,138,36,79,176,16,181,216,181,243,250,136,39,236,119,103,28,155,
+14,205,156,132,199,233,130,207,123,122,126,187,238,13,111,109,131,158,25,
+119,238,208,54,1,227,52,2,220,98,223,29,49,240,3,49,116,232,66,147,247,
+127,124,224,242,248,196,141,27,236,218,31,248,31,251,14,109,72,135,83,66,
+71,102,132,39,222,112,27,31,152,104,135,83,119,76,173,35,114,14,194,87,
+203,191,42,153,172,108,191,73,50,28,51,149,78,229,54,39,32,167,179,179,
+180,29,200,211,69,167,85,148,197,55,126,117,20,251,138,8,237,1,242,80,29,
+93,79,76,175,230,88,166,57,91,172,208,129,60,2,237,128,161,208,250,244,
+69,37,171,218,103,165,185,25,191,148,157,249,200,196,2,135,47,109,62,201,
+227,32,65,36,114,219,7,223,213,153,223,240,50,88,214,182,250,111,230,181,
+120,214,103,191,102,214,211,147,182,19,173,168,43,86,151,70,98,141,222,
+218,207,210,50,24,129,8,77,8,137,81,13,82,100,146,53,91,13,97,118,166,33,
+201,91,0,205,144,27,83,64,226,212,4,77,166,155,31,94,179,136,230,204,119,
+56,245,189,35,104,38,115,133,208,204,173,42,114,165,79,151,191,175,33,86,
+237,250,250,206,110,14,64,2,35,115,89,30,167,20,252,154,208,128,66,74,60,
+36,57,129,116,226,154,249,9,133,63,110,186,216,148,40,161,24,34,101,57,
+250,135,204,67,88,25,209,115,245,114,137,1,199,221,59,78,237,30,173,120,
+13,158,174,184,244,87,92,57,224,176,123,199,169,217,165,159,139,4,140,136,
+16,16,128,150,148,104,8,161,69,215,158,241,190,139,136,211,39,110,227,21,
+215,118,143,125,115,64,32,2,104,196,99,120,96,192,14,167,195,27,78,115,
+59,96,153,95,110,3,207,125,249,30,220,28,240,182,59,227,216,52,235,178,
+28,166,11,62,135,59,38,154,131,167,224,112,72,54,63,83,34,101,17,97,37,
+158,141,211,21,159,247,47,244,225,132,159,135,119,156,219,128,113,248,194,
+53,6,236,119,7,80,188,226,107,28,17,218,119,188,183,123,236,26,96,24,238,
+24,57,160,235,142,56,52,93,70,115,196,235,147,208,44,29,199,11,62,251,43,
+166,112,194,143,238,132,125,104,214,67,107,26,46,248,120,220,210,207,118,
+39,236,67,196,253,241,129,175,97,68,187,251,137,83,152,112,31,174,169,210,
+221,159,112,20,156,130,84,84,94,241,249,72,173,146,227,254,29,111,13,97,
+28,111,24,169,195,97,247,142,183,102,183,38,162,245,66,33,159,168,57,177,
+149,3,196,15,60,134,7,122,222,225,188,127,195,185,219,97,53,49,140,119,
+124,246,191,240,57,50,186,221,31,248,99,119,66,203,15,92,56,162,105,206,
+120,107,128,126,124,96,228,14,239,109,135,192,55,124,245,87,220,121,135,
+247,253,25,135,166,157,95,107,118,58,108,66,209,253,103,30,240,24,31,24,
+121,143,211,225,29,231,182,155,147,150,152,146,175,199,39,30,56,224,199,
+241,7,78,109,192,56,124,98,4,97,223,205,107,137,25,28,175,184,244,61,98,
+216,227,109,127,254,255,105,123,215,46,201,117,35,73,208,28,32,72,198,51,
+171,238,29,245,204,254,255,255,214,58,167,181,163,91,25,17,124,226,225,
+251,1,32,9,128,96,100,150,164,237,62,125,212,170,200,204,224,3,112,184,
+155,155,155,161,21,139,249,140,197,108,94,232,204,12,146,31,104,164,10,
+73,43,69,18,209,0,88,64,86,103,220,168,197,85,72,8,8,127,221,252,255,3,
+36,159,160,63,92,132,16,227,25,240,68,113,150,247,211,218,73,37,202,27,
+153,44,238,209,174,181,88,228,0,153,88,109,39,102,48,121,159,55,151,130,
+222,83,129,227,152,200,177,114,220,238,249,113,198,193,136,57,84,217,227,
+161,116,162,168,56,158,27,245,11,151,67,143,81,164,197,255,91,239,138,66,
+139,149,86,145,37,142,254,189,48,71,255,142,152,121,228,201,244,213,52,
+70,34,149,28,105,33,36,246,129,27,247,106,159,99,124,67,184,129,54,33,175,
+85,232,102,173,248,57,85,63,136,208,148,74,44,57,252,146,21,35,61,220,55,
+68,38,130,60,120,207,28,220,170,222,156,160,177,244,76,41,34,7,132,67,111,
+217,208,239,12,40,40,178,165,124,183,37,223,45,154,120,246,107,89,0,130,
+80,145,76,233,26,68,73,166,181,192,62,73,6,205,5,40,38,167,251,199,173,
+4,74,149,228,40,218,80,214,141,120,77,79,88,113,198,173,61,227,36,68,98,
+37,105,109,135,215,212,249,207,235,19,218,245,16,43,108,208,208,63,78,189,
+216,25,36,42,52,234,138,155,155,161,103,159,8,9,16,216,105,76,211,39,30,
+86,224,220,220,112,145,225,0,75,250,133,26,195,252,68,207,53,110,245,5,
+103,41,215,234,222,134,3,206,200,27,62,234,11,26,33,119,147,169,185,180,
+162,8,159,44,247,61,139,43,126,52,87,156,42,130,213,47,60,181,133,106,46,
+104,121,194,167,54,168,235,59,174,170,133,10,207,226,57,14,64,21,122,232,
+17,66,64,201,152,149,31,95,178,182,195,115,234,160,229,13,247,250,140,86,
+138,245,93,59,59,225,53,119,208,34,192,220,228,48,79,159,248,212,22,117,
+125,199,69,50,134,233,129,17,23,220,155,144,212,68,129,217,242,140,126,
+122,226,229,8,146,53,198,233,47,152,250,7,62,212,15,252,41,229,58,178,248,
+198,246,102,87,62,16,69,66,52,76,224,192,137,120,104,224,210,220,195,225,
+26,206,118,54,152,230,7,158,134,112,110,127,224,166,78,80,0,64,45,174,162,
+197,13,12,231,58,140,134,209,168,6,146,123,60,166,17,78,94,112,111,206,
+104,227,145,203,35,149,60,54,24,231,95,120,104,129,115,115,199,165,10,41,
+50,57,24,59,225,53,191,160,197,21,31,205,21,103,41,96,205,11,175,89,131,
+212,29,215,186,129,34,255,55,6,253,68,207,13,110,245,13,23,41,35,173,112,
+64,176,0,216,97,208,127,97,54,13,110,167,159,184,43,21,107,103,6,130,107,
+224,99,208,155,224,74,255,238,161,158,19,57,203,126,10,177,219,25,189,237,
+211,114,74,192,219,45,130,76,105,157,114,85,152,50,215,115,63,70,202,5,
+50,101,214,211,103,74,218,162,196,116,72,6,218,170,247,232,128,94,214,114,
+82,37,70,78,113,95,192,218,41,69,111,35,45,51,237,231,135,128,239,141,121,
+114,238,94,152,24,111,109,253,246,164,253,79,153,188,120,217,145,186,204,
+77,192,155,196,32,42,200,104,85,230,203,213,74,99,235,41,42,99,43,5,242,
+241,17,252,199,171,196,115,230,0,25,45,97,98,160,202,38,66,214,151,198,
+28,59,146,113,4,119,236,199,21,118,76,19,206,28,207,128,132,73,110,173,
+245,149,191,148,216,73,236,127,215,49,238,157,240,127,145,68,177,193,52,
+214,122,165,58,89,165,186,250,91,166,141,140,125,154,89,194,230,208,92,
+174,1,189,88,225,238,244,210,183,89,113,173,95,120,234,25,78,156,241,209,
+92,34,210,23,129,97,160,231,206,247,166,197,9,31,205,197,247,114,115,221,
+141,124,143,71,243,98,107,46,207,14,206,142,152,44,163,82,87,92,170,6,2,
+140,89,63,241,105,13,42,249,19,119,89,67,136,212,204,194,51,245,31,24,156,
+192,169,185,227,180,180,12,8,112,118,196,107,122,97,66,131,91,125,69,45,
+0,7,11,193,190,61,65,5,161,148,181,213,195,19,250,169,195,204,13,174,167,
+59,206,2,112,166,195,51,192,252,103,201,232,38,3,22,103,220,84,131,138,
+28,140,126,225,169,71,152,240,172,78,11,124,75,7,78,193,110,66,55,119,152,
+200,87,171,141,240,109,36,255,172,38,244,243,19,218,213,184,158,175,104,
+97,208,143,15,60,244,12,161,126,224,166,4,166,233,19,131,149,56,157,174,
+225,112,143,60,166,121,68,63,61,124,95,91,157,193,250,159,120,112,139,179,
+186,224,92,201,109,148,40,232,1,16,100,64,184,80,224,202,166,27,127,91,
+111,22,243,252,194,67,27,40,245,19,55,213,68,136,146,195,172,159,120,90,
+11,85,255,196,143,186,193,38,40,45,65,130,193,152,48,77,35,44,36,36,38,
+244,218,64,170,15,220,170,6,74,80,34,13,90,150,7,117,152,244,19,15,109,
+33,213,29,55,165,60,226,195,12,235,38,12,186,195,204,53,174,167,15,156,
+5,123,52,67,207,96,121,197,143,250,4,37,150,4,225,129,193,73,156,234,59,
+78,149,72,157,132,73,66,213,31,248,67,182,190,207,111,194,92,249,146,64,
+134,158,63,132,128,36,249,158,212,246,29,2,212,219,248,193,169,209,66,118,
+10,108,185,29,37,212,162,136,63,188,157,227,84,80,241,93,184,56,9,25,46,
+233,104,175,135,234,150,180,190,51,105,217,207,59,112,38,16,125,100,33,
+76,59,249,219,180,29,193,37,18,28,239,231,213,17,203,119,23,43,224,244,
+65,228,213,52,83,218,132,120,239,136,88,168,216,120,19,118,89,223,75,100,
+79,27,163,10,28,129,173,84,162,91,188,35,218,149,122,239,69,36,23,200,21,
+29,25,41,223,44,159,102,216,53,78,248,157,148,94,154,132,239,196,113,50,
+194,233,178,30,171,226,40,64,58,183,16,101,153,145,107,23,242,18,191,112,
+145,217,224,51,7,181,188,5,110,23,68,249,124,254,78,172,228,203,17,24,254,
+226,176,231,253,65,47,150,62,99,38,152,188,201,179,150,93,187,41,103,132,
+174,202,65,180,217,220,98,27,133,203,6,9,125,232,180,19,122,51,96,48,12,
+165,238,184,171,26,42,26,25,97,59,96,48,61,6,195,168,212,13,23,213,134,
+207,57,97,175,230,207,129,152,131,88,16,71,138,88,11,65,109,134,19,87,252,
+108,207,104,192,176,174,71,103,70,88,180,184,84,2,22,14,204,11,183,193,
+143,233,205,230,137,215,60,3,213,21,21,52,38,3,40,89,67,146,197,168,7,223,
+151,86,45,36,207,24,141,129,229,10,109,85,251,202,13,123,3,29,98,231,123,
+174,115,32,125,181,87,156,4,252,120,153,238,161,233,140,155,146,48,250,
+137,193,58,52,13,193,218,1,179,29,209,105,11,33,175,248,209,122,134,122,
+134,60,102,34,42,26,227,220,161,55,128,170,91,72,30,49,26,11,227,36,90,
+73,48,182,67,111,28,164,58,129,109,135,95,227,19,157,117,168,234,31,248,
+81,55,96,51,96,52,6,44,78,168,96,60,55,131,132,103,160,179,198,48,191,208,
+91,160,109,110,104,201,226,165,43,84,66,65,209,86,177,89,59,224,53,253,
+194,203,73,156,219,159,184,85,245,218,222,218,86,213,222,12,100,17,79,177,
+110,64,111,7,24,209,224,46,9,142,157,231,110,176,129,214,29,122,163,81,
+169,159,94,187,32,83,131,100,182,48,102,196,104,103,88,156,224,156,215,
+36,104,164,90,25,243,239,89,253,14,214,142,232,205,0,75,39,220,194,247,
+3,2,112,19,186,249,137,206,74,92,154,27,90,1,24,211,227,57,119,33,249,242,
+135,59,216,96,158,159,120,233,25,144,183,117,253,84,34,240,123,214,30,159,
+131,177,26,26,2,173,186,226,34,149,215,90,48,3,186,233,23,158,92,225,82,
+255,196,77,73,143,94,80,129,192,134,47,170,171,175,250,240,5,50,238,134,
+98,114,26,23,98,11,92,230,20,213,196,110,42,54,61,143,144,107,100,44,228,
+239,84,200,134,203,221,247,183,90,40,233,160,24,54,149,52,254,202,87,60,
+98,161,243,86,129,198,127,55,25,164,204,88,255,187,190,111,54,47,79,20,
+43,202,81,86,205,22,56,11,135,215,89,54,57,78,221,59,51,173,121,222,238,
+45,183,212,126,75,148,203,239,135,191,32,104,230,222,137,203,180,200,238,
+230,104,151,220,196,70,134,125,0,0,32,0,73,68,65,84,191,165,18,198,103,
+39,39,248,36,86,209,180,69,102,184,144,228,46,71,70,181,252,80,44,228,144,
+43,23,81,145,64,178,105,40,19,211,65,246,76,27,148,3,192,57,79,182,2,17,
+164,164,226,8,1,253,78,246,205,7,125,148,3,218,251,50,18,70,66,68,108,126,
+36,51,86,49,137,164,108,47,24,33,18,11,249,38,91,41,92,92,11,158,177,253,
+154,7,88,106,112,110,206,43,97,106,153,35,55,182,71,55,15,48,212,224,212,
+92,194,231,188,218,32,174,149,87,78,48,98,192,218,9,253,244,192,203,78,
+48,188,180,77,42,180,245,21,151,246,138,70,44,99,82,94,107,223,56,139,217,
+190,240,203,205,104,234,27,62,234,19,234,192,67,96,231,123,243,147,157,
+1,26,81,85,53,46,85,141,74,8,56,171,161,237,4,109,103,76,206,66,219,51,
+110,181,239,81,43,145,62,131,248,58,29,27,76,102,192,232,68,232,81,43,176,
+27,49,134,68,227,90,95,112,34,131,129,1,184,25,221,240,127,49,138,26,109,
+125,197,181,245,36,49,73,148,177,134,115,178,15,249,145,61,55,195,216,25,
+243,104,161,213,25,55,117,193,89,41,16,143,24,204,12,109,102,76,12,88,169,
+80,201,26,167,74,225,164,206,104,37,65,135,36,202,152,39,254,178,47,8,81,
+227,84,127,224,166,42,56,179,36,54,94,24,136,237,11,12,1,65,50,84,184,0,
+243,140,81,127,226,105,52,160,174,104,133,66,149,96,24,251,106,42,1,107,
+137,97,217,192,88,11,109,59,252,229,52,6,117,199,135,106,0,55,160,55,26,
+44,46,184,169,214,51,204,179,108,214,217,9,253,220,99,100,129,166,62,225,
+174,78,80,36,14,164,108,203,161,212,177,134,177,22,179,125,226,151,155,
+48,214,119,220,171,10,108,123,76,78,224,28,68,130,216,141,24,245,8,71,45,
+174,245,21,117,24,27,180,206,96,178,97,253,240,0,85,121,120,158,109,135,
+191,166,30,147,179,112,1,113,80,234,130,91,253,3,173,84,168,136,192,110,
+134,182,61,6,199,168,212,5,167,74,121,94,8,222,160,115,191,243,217,187,
+66,33,11,34,156,113,105,242,6,20,103,90,11,59,36,114,119,168,112,230,249,
+192,145,245,106,177,177,245,22,158,140,244,219,50,50,86,202,71,71,129,204,
+79,241,140,59,109,230,62,235,72,127,172,194,23,157,230,121,18,195,180,79,
+184,104,27,26,90,213,249,152,227,217,119,172,42,115,137,215,59,103,50,224,
+135,213,108,60,61,64,251,46,118,41,51,34,188,87,162,59,34,218,125,199,219,
+61,198,254,41,170,224,169,52,215,64,95,126,69,130,6,23,248,32,219,127,165,
+88,171,109,109,243,36,121,227,127,247,127,231,163,12,38,158,171,166,162,
+169,61,237,61,68,195,91,167,40,147,36,38,56,138,4,19,104,7,22,125,223,163,
+251,187,61,181,130,159,233,186,200,10,51,250,249,115,76,22,110,46,213,72,
+92,238,163,30,169,58,177,246,194,53,134,33,101,131,147,90,132,107,34,50,
+83,244,249,89,181,80,34,48,156,41,174,16,114,39,155,173,47,230,224,2,83,
+61,186,54,225,199,145,136,98,217,225,133,209,238,124,144,165,112,64,69,
+239,99,253,91,11,129,143,196,202,149,240,255,238,173,116,25,4,177,42,170,
+137,108,165,110,188,134,48,243,21,102,220,61,255,65,128,188,108,172,151,
+211,11,223,239,167,1,44,111,30,6,82,8,79,32,60,234,154,238,38,42,252,204,
+181,151,66,13,243,214,88,184,13,225,190,57,181,220,4,173,42,16,94,136,55,
+76,124,44,233,177,160,192,84,97,7,135,32,207,75,88,103,206,129,229,249,
+24,204,243,3,127,233,1,76,87,220,154,107,24,67,251,170,239,27,29,28,236,
+159,191,115,28,136,73,203,51,246,251,199,31,140,162,96,23,234,231,241,251,
+185,199,236,36,234,218,11,201,84,84,134,62,247,129,37,18,78,9,179,243,171,
+238,129,144,126,124,207,97,99,125,135,100,209,133,100,82,36,25,179,243,
+226,85,224,72,47,128,192,206,192,33,50,19,33,175,23,80,197,26,167,20,153,
+77,133,196,137,222,121,110,19,254,67,51,239,229,126,116,110,83,79,49,196,
+204,69,173,154,253,31,35,218,137,228,108,110,121,17,33,140,232,91,213,107,
+138,252,228,122,105,41,244,203,121,28,71,33,134,39,40,18,50,96,153,178,
+145,115,78,137,208,156,87,156,251,211,115,155,213,47,29,115,188,67,43,246,
+228,56,222,95,83,198,65,79,198,224,114,245,200,82,216,126,183,158,240,134,
+132,247,69,18,153,104,7,32,87,155,219,27,229,236,150,48,165,65,159,24,200,
+37,140,214,184,79,155,16,27,39,94,7,209,74,76,14,120,222,117,74,54,213,
+181,252,176,47,102,191,156,100,21,43,156,69,128,177,218,15,222,175,99,102,
+7,162,3,255,49,54,108,186,0,189,191,59,188,90,158,224,104,158,48,178,175,
+141,213,250,50,20,134,51,79,230,195,21,194,145,88,16,49,136,53,186,241,
+129,151,35,180,245,7,46,85,21,177,228,1,240,28,42,111,66,83,127,224,90,
+85,169,4,105,204,141,192,206,166,249,192,238,48,159,213,217,24,65,171,112,
+7,37,114,132,91,248,138,167,251,248,72,38,56,166,249,198,191,183,63,46,
+14,17,176,76,150,54,233,1,21,22,5,17,229,83,55,25,219,248,32,217,255,87,
+164,76,139,25,45,138,161,215,175,13,3,235,12,134,249,133,151,182,80,234,
+138,123,115,130,18,162,24,244,83,77,176,114,111,137,50,68,168,184,61,152,
+67,50,96,49,219,30,47,173,33,43,63,49,160,4,229,154,96,135,210,217,249,
+96,86,218,186,138,137,128,209,62,201,144,135,253,65,16,224,94,222,67,142,
+148,155,152,20,72,182,223,106,169,255,39,21,177,98,9,209,181,192,137,16,
+200,130,162,88,86,211,236,107,111,70,33,75,136,21,215,246,46,103,235,187,
+207,170,80,138,124,215,243,116,35,127,15,73,155,145,233,253,242,143,12,
+74,18,25,125,218,190,183,8,171,114,198,163,230,108,117,101,163,98,233,179,
+160,93,185,250,126,242,61,79,61,226,34,238,0,65,121,151,75,127,165,96,247,
+238,103,222,156,87,229,136,65,59,92,247,253,178,165,131,228,45,155,55,140,
+16,228,45,169,40,240,190,255,187,251,111,206,55,232,158,161,94,200,82,41,
+158,241,140,22,231,170,72,20,153,0,240,150,249,165,163,76,255,230,193,158,
+179,14,139,82,110,4,184,0,61,137,242,161,177,51,206,201,206,175,100,43,
+101,47,156,146,113,184,148,156,184,208,95,252,140,253,86,249,229,128,190,
+117,54,124,46,55,39,160,130,188,109,162,32,133,252,124,14,159,236,22,41,
+237,43,107,142,93,232,232,139,68,181,100,144,112,188,72,15,81,173,164,90,
+32,236,212,132,242,74,150,246,134,10,244,14,98,59,58,193,254,35,7,64,121,
+203,122,147,38,141,105,254,196,195,24,144,188,226,170,90,180,82,174,202,
+136,199,64,120,202,174,77,169,57,185,154,93,153,141,111,221,136,215,240,
+11,61,19,164,188,226,86,55,104,150,239,206,254,198,239,41,68,150,244,71,
+227,209,176,204,180,38,215,62,41,190,131,84,144,99,167,85,145,245,14,15,
+159,221,127,178,0,40,221,111,146,100,22,6,223,74,241,43,159,30,138,4,71,
+226,248,176,22,8,235,94,165,111,30,113,165,61,184,255,111,137,9,22,103,
+199,202,27,51,245,220,202,118,71,96,92,133,194,182,228,129,153,246,181,
+196,219,171,141,245,210,163,21,201,244,94,213,101,173,88,185,48,43,16,221,
+57,165,82,216,59,37,184,239,28,242,239,198,229,190,129,20,37,9,91,162,104,
+204,223,35,17,82,206,118,220,18,226,212,161,148,80,202,199,147,169,141,
+229,227,191,119,255,237,223,21,231,153,122,122,192,1,7,114,140,145,22,125,
+2,244,44,85,163,11,34,54,196,144,178,218,25,210,31,146,102,254,85,104,173,
+84,189,27,175,150,39,101,149,100,64,9,227,48,123,250,137,244,31,115,230,
+172,199,9,41,134,138,149,199,145,34,95,26,208,233,13,96,186,85,6,169,232,
+16,17,237,18,174,228,16,77,156,159,178,20,19,169,198,62,71,139,130,14,78,
+198,29,179,96,215,41,56,230,30,224,48,163,206,32,188,136,160,184,248,55,
+19,127,113,104,127,23,1,250,138,76,243,182,130,127,83,113,47,237,17,54,
+62,248,201,106,101,180,31,31,166,71,225,143,14,36,75,143,47,215,143,252,
+25,47,179,43,165,23,105,74,92,222,81,236,254,237,133,61,75,173,38,68,235,
+172,100,147,149,42,185,229,227,72,59,116,175,224,120,5,202,15,53,198,111,
+105,153,253,187,109,188,168,92,45,191,97,90,167,74,104,213,200,40,140,153,
+237,198,75,121,31,176,227,191,153,121,113,236,44,76,233,55,18,175,12,246,
+61,102,3,229,123,47,110,243,241,174,78,98,218,199,169,205,47,130,14,146,
+232,47,132,122,138,115,250,92,36,160,149,234,217,180,237,151,43,240,211,
+58,121,240,219,203,226,119,160,250,3,33,213,252,40,47,217,56,29,223,243,
+62,18,112,108,209,29,9,220,228,173,162,188,13,179,203,141,254,187,251,59,
+83,70,225,79,44,245,178,218,101,47,201,154,88,19,173,217,217,50,79,194,
+46,92,180,160,226,113,246,159,66,216,74,129,158,131,98,154,39,156,197,86,
+174,209,171,56,48,75,96,62,104,69,228,158,39,124,84,90,190,11,240,239,113,
+162,196,234,49,170,124,118,240,249,161,233,70,233,141,99,103,14,197,17,
+201,167,188,20,11,33,47,18,3,42,85,153,71,47,101,147,86,204,51,169,204,
+170,48,171,10,75,197,223,187,91,252,214,97,240,221,133,199,123,168,49,159,
+94,253,118,82,83,0,240,202,129,0,133,62,227,119,242,219,163,233,218,244,
+198,185,216,199,44,241,87,82,64,145,99,200,8,88,225,247,242,65,92,104,252,
+114,38,237,26,19,165,22,198,250,78,43,2,239,229,90,255,19,7,124,210,215,
+228,8,110,142,165,187,67,92,227,205,33,50,145,28,47,38,143,105,160,216,
+92,226,98,55,185,148,75,83,34,172,125,7,170,46,17,244,190,164,125,228,253,
+133,152,143,196,219,184,108,66,38,124,151,16,103,189,238,216,166,53,121,
+137,140,183,186,51,239,46,158,34,136,154,179,22,43,120,159,140,28,230,88,
+223,224,95,124,183,40,72,167,45,243,120,129,93,186,245,165,130,114,60,153,
+197,169,237,19,237,210,55,222,113,46,242,139,18,49,52,200,5,216,45,33,7,
+46,25,239,38,120,187,119,5,139,34,179,181,190,194,224,200,68,38,174,58,
+233,77,139,227,95,202,188,50,200,158,173,13,18,178,28,249,190,111,112,212,
+226,159,190,240,238,34,211,167,130,230,0,69,193,40,37,57,166,154,55,209,
+72,77,241,190,142,148,21,104,11,174,132,172,71,190,57,129,31,201,30,111,
+140,223,76,125,129,163,121,213,72,232,120,209,252,207,81,26,236,144,185,
+84,205,138,41,38,124,240,219,81,209,66,103,48,26,250,229,116,204,146,163,
+4,144,246,227,31,148,45,63,202,23,16,10,143,53,254,191,60,255,162,111,44,
+44,202,125,218,243,247,192,135,203,176,116,104,239,255,133,118,159,209,
+174,9,82,138,167,4,20,180,6,184,224,7,30,95,41,71,35,155,244,174,109,144,
+169,154,165,43,52,21,27,41,122,57,229,85,126,252,174,22,182,54,54,31,120,
+138,252,211,233,224,192,248,86,194,246,91,255,19,189,187,213,67,28,169,
+1,214,34,210,149,217,145,38,19,63,57,149,132,41,83,48,203,32,237,228,187,
+57,17,105,58,36,19,238,220,96,246,58,169,20,13,126,115,222,253,216,101,
+240,180,197,22,94,164,82,120,63,153,196,177,8,207,126,159,113,228,121,77,
+116,188,1,22,210,217,58,169,149,216,108,191,59,204,211,131,157,177,73,6,
+35,238,109,243,50,150,76,197,179,229,237,54,167,55,181,215,187,192,86,250,
+39,138,39,24,162,209,231,34,28,192,197,144,181,201,34,199,237,86,78,9,143,
+121,107,36,232,108,236,204,55,253,1,207,137,1,8,50,180,41,153,117,228,180,
+185,159,122,14,164,51,14,75,63,88,84,149,31,33,250,34,155,250,109,72,37,
+167,81,231,22,127,158,127,140,74,40,95,189,211,230,97,188,86,31,28,205,
+250,231,186,202,241,203,138,149,101,146,30,248,193,32,126,198,75,225,98,
+24,167,61,84,152,28,76,169,0,2,243,22,96,242,215,129,133,37,191,76,42,100,
+243,253,241,158,94,131,84,137,124,195,217,2,164,252,122,143,221,22,24,71,
+204,246,131,221,193,153,66,15,109,91,33,49,145,248,110,16,231,227,138,2,
+244,59,11,109,95,151,231,10,125,140,61,21,174,60,58,123,100,198,73,95,128,
+79,92,60,192,203,193,143,10,135,127,234,14,94,26,83,62,78,64,162,164,35,
+97,215,102,156,8,46,96,54,148,61,116,222,8,152,155,169,10,103,107,47,90,
+91,37,118,54,227,88,104,228,93,96,254,86,69,128,8,109,220,250,229,20,89,
+62,115,196,63,88,115,129,228,122,50,104,157,82,209,117,74,60,45,40,3,60,
+195,220,116,20,115,138,132,89,100,131,96,113,127,61,242,152,95,16,197,228,
+18,138,15,134,211,118,200,90,225,68,179,255,113,242,198,148,228,202,107,
+139,147,54,244,50,150,174,79,170,77,78,25,112,20,143,181,209,209,43,203,
+57,231,185,131,13,35,61,226,223,232,184,151,214,9,189,201,202,233,11,164,
+239,80,179,158,214,61,67,5,68,22,187,198,197,30,65,91,165,170,51,255,178,
+34,149,129,247,207,35,63,119,136,0,15,156,31,60,28,206,213,19,233,160,154,
+96,138,222,126,176,184,180,126,212,135,40,149,95,204,219,84,124,152,14,
+189,121,81,140,189,73,68,124,48,146,103,205,59,182,155,59,28,115,82,201,
+196,55,201,5,104,150,162,83,143,51,125,121,80,244,55,40,38,66,112,242,243,
+251,78,54,14,107,92,95,189,100,178,147,89,84,102,66,74,222,193,166,69,156,
+238,89,138,218,100,180,39,34,102,11,156,138,239,151,50,33,163,210,152,7,
+23,143,48,230,130,28,65,210,215,164,72,146,119,211,246,94,32,218,5,194,
+140,98,89,26,223,185,16,167,74,194,20,252,38,25,56,170,10,163,231,79,201,
+102,220,79,40,115,33,223,124,119,172,23,171,199,12,94,207,194,218,193,76,
+48,239,2,33,118,250,139,113,165,206,95,220,126,164,38,22,7,108,78,69,88,
+146,116,135,246,45,159,252,229,172,4,51,74,157,14,57,174,242,121,171,238,
+14,97,210,119,231,212,119,171,4,250,34,192,240,246,12,86,191,136,184,44,
+162,35,205,245,236,107,34,98,93,156,57,39,94,228,20,235,206,83,244,123,
+249,225,146,162,71,121,32,94,53,106,40,69,88,249,40,183,46,114,149,98,143,
+242,37,207,218,16,141,88,70,137,146,130,143,183,47,95,246,47,40,175,75,
+162,201,26,74,194,213,247,242,109,222,42,119,222,8,219,84,0,193,145,39,
+12,223,93,55,124,16,15,232,91,91,56,42,142,57,74,254,121,95,111,126,9,62,
+47,34,57,188,79,4,34,151,60,6,246,231,41,151,103,253,153,253,192,88,210,
+15,43,101,250,199,100,167,148,80,178,218,171,58,239,6,85,85,50,133,90,15,
+18,166,111,189,237,111,60,232,21,200,113,240,179,195,193,41,47,190,192,
+100,35,81,65,87,26,216,85,212,116,216,107,207,193,4,138,200,112,233,103,
+92,56,28,151,170,133,227,74,140,22,88,135,215,115,117,45,12,118,242,151,
+188,199,107,178,209,28,142,92,48,40,108,68,138,130,49,231,144,91,49,40,
+150,32,97,66,84,235,36,155,45,110,119,80,1,118,225,2,112,21,31,85,68,101,
+97,69,38,28,123,22,112,1,108,248,86,15,136,138,21,104,108,221,17,87,11,
+251,253,193,135,189,196,163,161,202,253,236,242,155,124,227,176,250,63,
+210,60,75,91,40,71,41,71,250,87,98,65,141,66,189,145,201,150,81,217,249,
+116,119,141,156,100,104,177,92,231,246,125,203,72,221,138,60,189,241,164,
+56,84,23,251,62,34,255,102,97,132,212,63,56,116,241,110,30,179,156,20,196,
+89,206,58,174,196,57,190,19,237,195,44,209,224,35,40,152,242,141,153,194,
+169,11,52,189,64,235,188,74,100,31,33,53,233,234,91,145,76,196,173,75,14,
+72,64,106,59,93,182,76,165,168,149,200,43,244,190,117,225,182,90,61,183,
+12,200,71,145,223,173,35,46,150,211,132,183,93,155,163,184,192,7,149,59,
+189,169,204,191,36,113,111,207,124,55,115,193,120,175,70,72,217,94,41,28,
+179,20,239,63,202,80,210,47,149,109,189,190,71,196,96,142,218,72,156,43,
+235,210,46,51,95,97,188,133,140,66,94,106,211,57,27,156,111,168,80,115,
+252,43,152,252,209,251,207,51,23,47,196,98,173,1,147,219,189,68,202,14,
+52,100,47,166,56,29,147,180,0,246,205,165,84,99,56,18,247,201,222,163,11,
+234,113,46,135,86,24,0,28,156,51,208,204,209,231,180,135,176,40,67,17,156,
+131,89,255,238,65,159,45,105,204,240,246,110,41,133,120,99,133,188,99,104,
+133,17,155,17,229,199,201,215,136,76,84,142,151,74,54,142,220,57,143,80,
+69,246,90,237,134,13,172,99,240,87,141,177,35,152,237,176,95,196,187,3,
+145,11,135,97,52,211,176,79,122,216,122,45,117,175,12,147,36,67,40,34,129,
+49,70,192,197,102,1,10,73,20,146,29,25,99,83,105,235,132,193,153,26,53,
+21,0,255,204,247,155,82,150,41,71,206,133,27,20,152,153,127,96,11,30,68,
+105,187,120,157,137,143,156,175,18,109,250,66,11,200,177,129,182,94,248,
+136,51,166,247,191,30,67,56,203,233,104,47,26,180,158,64,22,198,101,235,
+172,228,152,22,96,137,196,11,157,211,213,178,249,93,240,110,29,236,207,
+96,58,188,222,13,12,166,44,181,163,130,163,29,82,77,120,218,80,152,216,
+51,156,120,17,152,242,14,155,37,175,116,230,50,159,34,71,79,151,66,132,
+98,247,184,157,188,57,31,159,157,137,11,41,167,141,168,136,217,159,199,
+157,156,116,203,46,188,59,206,98,4,191,67,131,11,167,107,113,189,81,138,
+108,237,172,123,247,115,233,59,162,83,242,44,40,69,205,163,184,192,5,255,
+33,58,114,186,227,120,15,250,245,89,197,130,38,113,31,37,149,92,207,57,
+211,229,89,1,102,231,61,229,133,240,172,121,78,17,128,127,123,132,117,7,
+193,238,201,31,139,75,156,23,86,167,228,5,114,18,80,41,37,18,34,101,198,
+242,170,203,156,250,186,39,105,109,204,142,57,208,29,6,27,76,166,67,175,
+103,176,56,227,162,78,104,86,203,85,130,131,246,122,236,243,12,22,23,92,
+84,139,70,6,199,183,124,93,174,86,129,14,198,77,232,166,7,58,227,141,68,
+238,234,130,86,10,175,56,198,219,188,46,39,162,29,133,248,177,38,61,89,
+182,67,37,16,119,175,210,196,111,40,166,91,70,157,195,253,145,44,112,62,
+184,202,228,117,235,193,176,236,61,235,69,52,66,231,220,132,126,126,161,
+119,18,231,250,138,115,165,10,208,102,145,38,144,80,241,29,187,160,18,39,
+10,236,254,61,86,28,211,235,40,152,201,184,224,167,16,247,221,156,155,208,
+79,79,12,92,225,172,46,56,41,21,41,217,241,1,96,78,9,94,112,220,242,227,
+131,100,157,147,176,71,187,225,36,250,82,246,116,247,113,65,153,45,134,
+9,115,81,21,226,148,128,18,195,170,68,37,52,131,211,3,49,65,185,28,140,
+27,240,24,30,193,174,247,134,91,93,255,135,230,225,83,206,11,115,90,33,
+47,61,121,235,122,60,7,239,85,127,109,63,130,155,95,190,190,105,245,31,
+207,7,100,99,238,66,210,138,38,218,121,96,237,16,171,252,160,64,174,89,
+193,235,248,20,29,9,75,21,145,43,202,52,11,124,44,153,205,128,78,15,96,
+113,198,89,157,208,8,218,135,186,221,54,143,124,226,41,154,154,42,89,77,
+37,188,172,35,139,163,24,17,230,132,163,19,63,217,109,108,56,90,149,153,
+104,150,179,19,122,253,66,111,37,206,205,21,103,81,29,180,33,143,91,57,
+94,177,115,83,241,76,213,90,147,43,218,68,205,178,126,251,209,30,204,253,
+77,98,185,119,142,20,236,182,163,133,98,99,214,99,126,65,129,14,38,114,
+44,153,168,192,105,136,14,138,184,71,29,135,43,135,224,177,110,121,149,
+53,77,218,184,64,89,154,246,119,97,182,34,185,38,234,187,91,151,218,61,
+198,56,199,74,70,163,116,255,81,98,4,135,196,84,55,25,49,43,0,156,209,189,
+198,88,135,47,204,103,116,211,39,158,179,133,168,188,109,169,63,220,23,
+225,136,9,221,248,137,199,180,124,126,66,91,201,72,40,7,5,215,52,239,197,
+253,156,7,244,102,134,131,66,35,26,212,130,86,229,64,62,152,147,47,232,
+244,236,80,140,114,202,74,233,86,99,58,248,201,252,112,122,175,251,72,9,
+54,180,69,65,103,95,248,107,248,39,62,245,8,29,17,198,152,45,134,249,129,
+151,97,40,117,198,169,82,171,231,250,183,130,254,42,251,255,194,95,195,
+95,248,53,15,208,156,137,250,23,104,246,20,213,151,196,254,250,254,25,126,
+127,78,178,48,131,97,254,68,103,1,165,206,104,43,149,201,212,166,221,241,
+84,51,146,222,115,120,10,16,68,25,15,216,87,239,116,8,111,108,94,100,41,
+17,10,187,46,226,97,65,83,12,56,219,12,239,162,67,94,94,7,229,153,43,134,
+197,52,247,24,29,67,169,19,206,170,78,166,83,254,45,4,144,114,181,184,148,
+59,226,239,223,96,210,3,6,235,160,170,51,78,82,121,83,31,202,19,33,222,
+245,53,57,233,133,115,166,215,146,50,245,19,128,144,115,190,204,62,157,
+75,164,150,214,81,95,62,110,171,115,182,193,163,49,166,165,133,238,120,
+192,107,234,97,209,160,173,125,113,65,187,241,149,24,61,139,226,57,115,
+162,72,72,111,217,70,81,251,146,143,3,124,142,100,81,212,126,164,229,220,
+9,163,139,28,98,57,71,4,71,134,65,31,199,8,89,65,8,194,219,205,149,115,
+164,205,182,191,53,51,146,121,221,98,3,129,99,161,231,29,220,158,83,102,
+41,1,205,40,97,27,236,144,26,194,154,68,82,145,136,148,215,9,20,33,10,139,
+93,108,180,223,242,209,197,141,28,191,23,120,89,161,187,144,193,47,149,
+251,2,93,83,6,61,80,209,39,248,155,21,251,87,189,55,7,175,91,29,60,213,
+153,115,0,147,118,40,49,80,158,232,89,101,116,227,52,10,72,4,8,114,64,149,
+163,249,112,130,119,20,235,230,14,19,43,159,69,202,106,117,107,3,0,103,
+123,188,230,14,35,20,174,205,13,109,252,57,83,50,171,190,86,100,236,37,
+73,251,121,6,139,10,149,144,144,210,27,127,72,17,42,83,103,97,225,162,249,
+118,9,41,67,47,6,222,108,199,178,139,156,239,36,164,20,254,224,114,161,
+170,93,236,88,217,122,39,49,10,2,42,97,39,57,102,255,172,1,184,240,222,
+189,219,153,3,179,131,89,198,157,194,191,75,142,160,3,222,12,141,56,154,
+76,112,236,245,239,173,27,209,235,14,131,107,240,81,75,8,231,192,50,88,
+152,154,39,58,109,33,235,15,180,68,112,206,128,73,64,10,17,90,129,94,239,
+222,147,59,151,140,95,64,210,118,127,139,221,233,196,13,238,178,242,104,
+1,111,40,65,90,75,242,6,103,194,194,58,7,235,102,12,186,195,200,13,62,100,
+5,1,255,251,18,22,147,121,162,159,45,68,125,69,43,8,206,217,240,12,66,146,
+192,14,14,46,192,134,190,67,38,5,45,157,178,195,22,97,28,101,87,173,126,
+142,124,4,136,192,193,31,192,177,127,30,130,1,38,47,99,203,36,131,139,155,
+219,170,156,240,46,189,206,253,246,111,110,245,235,14,90,244,228,237,90,
+61,87,213,173,54,184,225,5,135,255,221,116,252,25,14,214,110,155,93,172,
+94,7,12,71,14,112,188,221,63,71,122,243,196,176,108,177,92,162,106,126,
+224,111,53,65,46,104,23,47,237,37,11,27,157,155,146,170,117,220,213,45,
+168,10,188,223,192,130,208,200,40,162,46,162,46,155,14,252,162,7,225,224,
+216,183,186,8,64,173,62,240,95,74,132,181,29,63,127,23,188,26,252,179,17,
+68,235,51,96,164,115,228,37,150,56,59,3,147,192,181,126,125,138,157,131,
+20,178,56,19,12,187,216,249,125,25,125,42,68,181,2,246,142,45,140,91,126,
+90,108,247,31,30,184,11,45,7,16,192,118,70,175,95,152,208,226,222,92,208,
+18,129,157,246,134,75,4,128,195,239,11,138,228,197,57,159,192,141,36,125,
+3,178,197,193,19,131,66,124,89,238,47,248,12,36,235,135,4,132,240,237,70,
+206,8,207,62,98,97,189,7,223,246,34,80,120,191,171,79,4,137,144,156,105,
+140,250,137,151,97,52,205,15,220,226,4,155,227,245,187,125,129,160,10,146,
+131,207,132,115,176,118,194,96,162,248,0,7,231,68,72,18,124,252,116,209,
+129,47,80,65,10,222,201,5,115,202,172,218,142,41,103,224,86,35,159,176,
+190,24,193,215,194,123,93,84,66,110,207,50,236,95,185,238,89,132,189,18,
+246,111,240,27,241,103,138,93,209,27,231,194,106,252,123,247,119,78,233,
+247,97,241,137,136,30,17,201,230,197,90,212,241,16,181,177,198,47,243,74,
+68,173,169,125,230,228,86,85,168,178,52,202,6,75,240,23,159,199,189,115,
+47,7,43,200,31,78,8,178,180,156,206,122,32,151,169,221,233,41,47,11,97,
+149,181,45,83,19,57,180,2,138,74,118,108,97,76,143,215,220,195,210,9,231,
+230,134,147,140,194,52,91,104,219,227,53,245,112,116,194,169,185,225,44,
+41,189,16,236,149,242,152,53,102,221,225,105,25,82,42,8,219,225,101,5,110,
+237,79,220,43,233,45,94,109,143,231,216,99,180,214,127,159,168,113,106,
+239,184,87,45,36,25,104,221,227,57,245,24,156,9,11,37,124,174,106,192,116,
+120,76,22,85,125,198,85,53,32,167,209,207,191,208,115,133,147,20,48,122,
+242,213,52,91,204,22,104,149,132,115,6,19,183,248,121,186,227,44,1,109,
+123,116,211,128,193,234,224,37,114,197,143,211,29,215,74,69,99,51,156,50,
+170,1,56,55,99,152,62,241,169,59,204,198,193,17,129,132,68,5,233,181,213,
+235,51,26,140,248,156,122,88,255,98,161,205,12,71,45,110,167,31,184,215,
+53,4,27,204,118,192,107,234,48,88,227,147,5,2,84,245,129,159,77,3,232,23,
+30,115,135,209,57,184,112,232,75,146,144,242,140,123,125,195,165,174,66,
+91,132,119,45,27,199,254,250,158,115,143,209,58,48,45,129,115,187,190,26,
+35,62,199,30,86,72,16,28,102,61,129,151,235,83,13,4,107,76,102,64,55,247,
+24,172,246,129,75,92,241,227,244,129,91,37,191,88,251,222,6,119,214,35,
+94,186,199,104,102,56,16,72,92,240,163,253,192,181,2,102,253,137,95,211,
+4,25,60,226,201,205,24,244,19,189,118,168,234,11,234,197,23,94,8,48,207,
+24,140,1,196,25,31,167,31,184,87,2,214,116,248,53,14,112,85,141,138,45,
+38,221,67,179,196,185,253,3,63,154,19,36,207,152,141,255,254,65,135,247,
+43,195,251,149,18,128,197,108,58,191,190,140,241,222,67,84,227,82,127,224,
+214,180,144,172,49,155,30,175,121,64,175,117,8,206,10,231,246,142,171,82,
+97,253,189,208,25,7,170,174,248,227,116,199,69,86,171,63,60,59,131,201,
+250,231,215,27,3,134,3,201,27,126,182,31,184,74,135,113,254,196,47,109,
+81,9,1,102,141,193,104,128,90,220,218,31,184,215,139,173,110,42,190,179,
+20,50,206,89,24,243,194,99,234,208,25,11,82,87,252,217,126,120,7,188,69,
+54,217,25,104,219,225,57,251,251,243,201,131,194,185,253,129,107,221,66,
+101,179,182,148,72,167,6,191,0,227,147,254,193,26,56,248,100,66,170,31,
+248,179,189,226,36,229,42,34,133,36,1,199,106,3,108,157,193,168,159,232,
+245,136,201,49,136,42,212,245,61,236,15,191,254,187,185,199,96,252,250,
+130,188,226,103,251,129,123,37,97,157,246,251,115,238,209,91,179,30,194,
+84,221,241,71,123,195,69,242,234,118,57,88,237,19,247,234,138,143,240,251,
+123,73,122,74,91,27,193,250,119,212,79,244,102,192,108,125,177,165,148,
+191,190,150,236,122,125,157,241,184,156,127,127,55,156,104,198,99,120,194,
+144,240,235,220,2,109,165,124,251,210,181,248,209,94,80,241,11,143,217,
+162,146,2,206,206,24,140,5,228,41,172,95,229,139,31,253,137,191,102,131,
+42,184,99,170,56,49,118,26,218,245,120,78,131,143,15,204,126,253,182,31,
+184,72,131,97,122,172,241,129,67,194,47,133,130,20,39,220,219,11,78,18,
+48,118,192,43,139,111,63,79,119,92,171,42,169,28,121,23,191,253,247,207,
+118,64,55,245,225,253,51,72,220,252,239,75,194,164,127,225,115,154,32,234,
+31,248,168,125,252,29,103,111,157,45,171,51,106,204,232,141,241,142,158,
+172,49,104,13,136,51,126,156,127,224,42,37,156,125,225,215,216,195,201,
+6,85,112,238,52,144,168,18,121,112,23,42,41,102,72,146,123,232,140,17,156,
+182,216,155,198,68,214,127,66,74,159,91,5,89,88,239,185,158,30,171,46,84,
+81,0,67,10,185,231,172,241,162,219,142,237,243,172,114,95,191,95,132,62,
+123,80,253,241,63,207,176,214,130,0,8,84,123,245,183,245,254,16,174,63,
+165,173,48,51,92,72,239,164,143,80,25,132,23,70,255,66,245,132,68,135,222,
+19,229,70,237,55,16,85,55,124,168,83,176,80,93,174,125,198,164,123,116,
+214,120,72,94,157,189,127,246,34,137,233,0,235,12,192,128,172,4,150,25,
+63,227,102,140,186,135,118,140,186,58,163,230,9,79,199,1,62,20,190,234,
+157,59,76,78,64,213,127,224,22,57,152,85,66,130,157,63,248,38,39,160,154,
+159,248,47,41,125,214,72,4,1,192,104,239,221,237,132,183,231,4,251,30,214,
+96,24,162,34,159,176,104,139,74,5,87,115,33,131,163,89,141,147,84,16,220,
+227,49,142,152,169,198,169,254,129,51,205,24,231,30,115,200,97,55,5,48,
+183,190,63,41,101,120,134,12,33,42,212,85,139,19,91,8,89,225,164,110,222,
+30,54,228,240,214,118,248,28,31,232,92,133,75,123,70,43,25,70,0,35,87,168,
+4,193,234,39,30,122,132,161,26,231,250,39,46,100,49,233,23,70,39,208,212,
+23,156,164,132,133,65,195,22,196,21,78,245,13,39,25,158,81,168,96,41,188,
+95,107,157,191,106,41,86,65,36,9,133,186,58,161,117,14,144,21,206,245,13,
+109,37,32,152,124,85,16,174,175,183,21,46,237,21,173,4,20,24,51,87,80,130,
+96,236,19,253,212,99,166,26,109,243,3,127,178,198,168,59,204,32,95,217,
+50,86,244,198,6,39,53,41,23,209,91,11,163,59,188,244,128,25,10,173,250,
+192,165,214,24,230,240,251,34,92,183,115,160,224,75,63,207,191,48,90,11,
+18,45,238,39,5,184,1,143,169,195,200,53,174,85,141,70,84,32,238,49,5,39,
+64,19,18,163,206,26,52,178,70,37,79,168,192,232,172,71,66,172,254,196,83,
+143,152,81,163,173,127,224,79,181,92,191,71,203,140,27,48,204,61,38,38,
+212,245,79,220,78,21,22,219,7,41,36,216,246,120,234,30,179,19,80,234,39,
+254,119,27,252,1,67,129,96,140,1,179,66,91,157,224,120,134,147,10,42,172,
+13,102,11,163,123,116,122,130,17,53,154,230,39,206,245,132,110,122,97,10,
+142,118,163,238,240,156,94,152,92,141,170,61,225,36,26,72,244,152,89,65,
+201,165,138,243,133,136,101,27,76,175,132,151,250,117,158,200,231,88,225,
+164,78,112,52,131,101,13,37,182,238,165,117,61,250,169,199,196,2,74,253,
+129,255,106,101,64,13,4,4,85,91,159,115,65,55,194,250,246,136,158,198,172,
+7,127,253,84,227,220,254,129,11,12,198,57,172,79,117,70,35,228,218,79,118,
+214,199,63,33,150,36,193,87,149,62,49,240,63,255,227,252,17,80,155,128,
+238,217,23,126,233,9,150,106,180,201,243,241,237,134,81,119,232,205,4,131,
+26,109,243,39,254,6,141,113,126,97,112,2,117,125,129,194,136,95,67,15,141,
+26,109,253,129,63,201,96,156,58,76,240,241,193,113,80,68,75,10,190,165,
+66,183,208,214,199,159,248,250,100,132,69,179,237,240,169,39,24,82,104,
+155,31,225,250,58,76,96,176,27,241,212,47,188,180,129,82,106,115,17,4,0,
+86,104,164,2,177,63,88,71,167,112,171,26,180,74,129,176,172,95,9,118,22,
+218,188,240,52,22,162,186,224,174,90,84,75,226,225,44,180,233,208,233,97,
+93,191,103,210,107,124,242,200,130,66,93,181,104,173,5,137,10,167,102,139,
+15,126,42,107,192,115,28,48,45,235,159,102,12,115,143,57,20,190,126,255,
+210,118,126,49,32,165,12,249,158,255,254,215,250,253,63,215,223,215,219,
+14,247,191,39,106,212,4,204,243,3,147,49,128,108,113,107,43,192,141,120,
+78,29,70,87,251,251,23,10,196,29,102,120,100,206,218,1,175,249,133,222,
+26,212,178,69,93,157,80,9,160,55,14,21,69,204,59,22,12,225,4,88,208,129,
+126,56,67,8,153,252,119,207,152,135,135,73,69,124,48,211,158,96,71,254,
+231,86,54,110,161,121,36,131,181,100,113,58,130,9,146,130,45,169,136,14,
+124,199,16,82,122,66,68,248,251,1,163,76,123,94,68,144,144,219,76,121,222,
+151,91,124,234,119,224,232,34,137,40,188,109,167,200,174,159,24,214,244,
+120,234,9,51,75,156,234,59,206,178,94,93,225,24,128,51,29,94,122,132,102,
+137,166,249,192,89,40,84,148,42,15,19,121,200,37,86,215,178,166,195,203,
+204,176,33,0,53,52,225,57,78,176,104,112,173,106,72,50,24,167,23,158,218,
+66,85,87,212,85,5,181,88,172,18,131,121,198,164,253,226,87,242,134,38,4,
+79,146,4,114,14,179,121,224,161,103,64,156,112,171,91,40,210,232,198,39,
+122,71,168,85,3,118,19,38,174,112,110,26,176,155,97,69,139,70,120,2,92,
+37,21,42,214,232,102,13,22,39,92,170,22,53,89,76,218,192,162,193,169,62,
+123,227,149,136,207,32,132,63,184,150,86,142,135,45,39,12,102,246,190,240,
+141,183,57,149,1,142,212,250,137,231,52,192,200,11,254,56,221,112,170,128,
+105,122,96,118,10,109,221,130,245,19,159,206,161,170,46,248,168,90,40,97,
+208,79,19,236,210,26,169,20,200,13,232,245,28,124,203,47,56,87,106,131,
+68,147,12,82,64,74,74,181,241,153,225,120,196,168,39,88,106,113,107,46,
+56,203,208,251,103,134,214,47,143,44,136,43,126,158,111,56,11,198,56,61,
+97,88,161,173,79,190,50,53,147,127,62,170,129,18,22,211,172,97,169,193,
+89,93,162,214,140,135,58,133,20,81,202,105,48,206,15,60,167,25,92,181,56,
+87,39,212,194,248,231,75,45,46,234,234,159,47,123,24,143,121,198,52,63,
+97,170,22,231,230,134,70,72,88,243,192,231,220,195,137,11,126,54,55,156,
+37,48,77,159,176,84,227,172,124,101,208,77,15,188,88,224,220,252,129,123,
+221,66,184,17,47,75,168,171,26,202,245,120,90,13,23,191,95,227,175,223,
+175,71,7,173,95,33,1,188,161,150,42,184,232,45,83,25,51,6,253,194,75,59,
+40,117,69,45,43,168,117,141,251,221,33,72,194,153,23,30,206,0,213,25,247,
+250,132,154,200,59,45,134,181,88,169,43,110,85,11,69,14,211,212,193,66,
+161,173,90,72,215,225,53,15,48,213,13,63,235,43,206,2,152,230,39,44,42,
+180,205,5,237,234,232,231,3,190,12,134,78,30,37,246,7,116,93,73,88,243,
+194,99,54,32,121,198,173,62,5,55,190,96,229,60,191,240,50,22,85,117,67,
+45,125,107,76,208,126,160,139,5,249,118,212,26,187,102,116,211,19,189,113,
+144,213,5,31,170,69,45,12,186,113,130,129,194,185,241,107,81,174,126,30,
+180,30,236,11,64,185,100,159,154,0,0,32,0,73,68,65,84,237,175,203,31,222,
+183,214,243,58,228,2,6,179,231,248,140,22,168,212,21,215,170,129,18,140,
+113,122,193,65,225,84,85,176,250,133,222,249,239,191,43,191,63,134,105,
+130,38,133,75,123,134,176,157,95,95,212,226,82,159,182,247,43,26,92,42,
+79,220,101,246,19,62,27,129,175,10,173,37,191,254,31,122,130,67,141,107,
+227,121,49,75,203,135,217,39,26,189,133,119,88,172,26,255,254,230,14,150,
+20,90,33,96,76,143,153,37,174,77,3,203,26,22,45,26,229,147,94,41,79,104,
+48,99,156,122,88,113,198,31,237,21,39,9,76,243,3,142,20,46,234,130,70,0,
+198,60,125,12,147,103,95,185,175,45,69,135,81,63,240,156,253,254,59,43,
+191,127,102,163,97,81,227,92,159,209,10,1,240,224,227,15,181,184,182,33,
+62,4,180,117,156,31,120,134,248,120,81,45,20,89,204,70,195,161,193,165,
+185,6,98,243,6,114,203,112,62,46,118,210,195,252,137,167,158,0,113,246,
+251,127,121,190,168,113,174,47,104,43,9,233,12,28,73,176,155,49,204,15,
+84,178,197,185,253,64,35,42,88,253,192,175,101,255,182,97,255,206,159,112,
+84,227,84,159,81,243,140,126,254,196,203,9,156,218,255,133,187,106,32,221,
+136,167,5,84,213,160,138,181,124,137,41,216,122,231,154,243,188,116,116,
+54,198,223,226,77,29,245,104,124,219,134,182,121,120,138,164,95,105,99,
+113,190,243,76,218,19,89,222,177,196,194,166,168,68,74,4,140,230,121,99,
+206,50,19,118,62,189,95,246,248,57,234,21,19,150,82,43,34,109,58,204,166,
+195,160,71,56,121,193,173,106,209,202,200,38,148,29,180,233,208,235,17,
+78,250,77,184,177,232,35,106,201,242,184,151,200,193,14,179,121,225,57,
+121,168,255,164,106,84,208,232,231,30,61,19,78,205,5,167,170,130,128,9,
+40,194,140,126,254,5,109,53,238,237,13,231,138,188,23,252,58,18,163,49,
+204,127,65,219,25,31,167,27,206,36,97,108,143,151,30,193,226,138,123,8,
+246,253,248,194,203,2,173,170,33,88,99,132,194,89,85,96,55,97,20,39,92,
+36,193,218,17,142,106,84,172,209,207,29,70,199,32,210,152,245,3,66,212,
+104,213,13,215,83,139,70,200,164,187,76,11,159,32,18,60,113,118,64,55,63,
+49,56,133,75,115,241,136,0,124,255,216,234,14,157,158,224,228,21,31,237,
+5,173,112,152,230,39,58,3,212,170,65,197,51,6,199,168,235,59,174,170,134,
+224,25,195,244,192,203,16,78,109,72,178,220,184,254,253,107,115,137,136,
+121,41,23,156,11,172,49,15,173,141,232,231,39,58,167,112,107,195,239,135,
+183,230,167,31,38,176,188,225,163,89,174,175,71,111,29,148,186,160,226,
+9,175,233,129,201,49,64,26,147,38,72,89,163,169,110,184,54,13,90,33,119,
+214,220,27,115,90,99,154,159,248,53,190,48,57,7,114,51,230,249,5,17,126,
+255,222,212,168,133,239,17,26,235,225,115,199,18,109,125,199,181,110,160,
+8,161,85,52,130,229,13,63,234,11,26,201,208,186,199,96,25,181,186,227,34,
+25,211,252,194,192,10,215,246,142,91,213,248,202,71,156,112,23,18,147,233,
+241,24,59,12,206,65,8,141,113,126,64,74,255,126,111,117,139,90,72,8,158,
+161,217,87,170,126,253,205,248,104,111,56,203,202,215,127,28,248,47,172,
+209,141,191,160,205,140,143,246,142,83,37,33,56,240,101,236,128,78,247,
+208,56,225,174,174,56,73,1,56,141,65,191,240,180,140,166,185,225,166,106,
+84,176,152,116,135,151,49,144,234,138,86,88,12,243,12,39,111,248,81,159,
+209,10,235,17,52,71,104,154,43,206,85,227,73,70,209,204,114,170,243,23,
+254,211,142,232,231,1,26,45,62,212,101,125,47,155,14,133,135,232,187,233,
+19,179,213,248,104,111,184,172,109,167,116,122,97,19,237,241,149,243,96,
+28,234,230,142,75,85,163,226,25,221,248,192,211,18,78,245,13,103,213,68,
+36,40,68,133,79,152,36,48,47,159,220,138,51,110,245,5,109,32,232,122,232,
+223,39,15,47,3,180,237,13,23,89,67,45,251,67,27,136,234,236,91,45,142,253,
+247,203,26,21,38,244,99,135,167,97,156,154,179,71,222,38,191,190,132,208,
+152,204,11,82,40,52,234,134,91,211,160,22,2,214,118,120,12,79,12,206,132,
+182,82,131,83,243,129,91,165,128,208,178,48,226,130,91,125,70,27,90,42,
+190,43,49,123,251,100,195,104,151,251,39,139,121,246,213,186,148,45,36,
+12,38,212,62,190,240,4,237,90,92,164,128,179,61,102,113,70,35,28,180,158,
+193,242,30,246,23,99,214,47,140,22,80,234,134,139,146,112,230,137,231,52,
+1,213,13,183,250,228,201,198,0,0,223,206,248,53,62,67,124,50,152,244,19,
+66,214,104,171,27,110,109,139,90,10,144,29,125,18,198,33,62,44,136,15,27,
+140,250,177,254,190,16,26,147,126,128,68,141,86,221,113,109,155,53,206,
+151,103,221,245,250,253,147,99,144,48,152,52,32,68,141,166,190,225,30,190,
+31,236,96,156,134,54,35,44,249,253,123,175,26,84,146,160,117,135,78,143,
+128,184,121,142,132,116,208,115,143,97,185,127,193,152,230,39,122,167,112,
+107,124,12,172,64,96,209,226,38,42,204,230,21,198,228,246,4,216,205,22,
+49,177,94,229,149,214,207,12,88,107,252,130,20,114,27,195,42,141,85,208,
+209,216,207,23,228,58,126,255,153,177,198,87,237,149,88,103,202,211,81,
+158,194,88,18,83,62,242,187,141,189,38,90,54,28,29,238,148,90,28,174,227,
+38,62,232,61,13,163,86,87,220,84,187,66,139,62,225,208,24,231,207,245,243,
+187,106,81,17,37,100,140,152,41,191,10,198,177,133,214,159,248,43,244,203,
+9,51,70,253,240,155,222,58,180,231,191,249,42,151,0,112,133,182,254,3,127,
+171,70,116,195,47,188,22,197,169,245,117,42,156,154,63,160,212,132,215,
+248,23,186,85,102,110,196,107,122,193,202,11,110,245,9,146,71,60,199,7,
+30,22,184,52,55,84,174,67,207,53,206,234,4,50,191,208,115,131,179,82,112,
+243,19,154,78,56,9,135,215,52,131,154,63,240,191,85,11,181,86,73,180,142,
+182,45,142,228,188,26,252,44,227,36,203,92,181,197,52,63,240,48,2,183,80,
+109,139,133,68,99,7,60,167,30,78,94,252,226,22,190,149,240,169,29,26,117,
+193,89,76,248,107,152,32,234,15,156,149,242,80,223,248,11,79,67,184,52,
+63,112,169,106,72,56,140,211,39,62,141,192,181,185,224,82,213,153,174,54,
+103,67,102,132,120,106,214,113,232,237,26,233,175,47,184,197,49,24,108,
+7,188,230,112,125,245,5,141,4,236,252,192,167,118,254,240,20,35,254,26,
+70,80,253,191,240,95,181,223,120,94,13,76,130,132,88,137,49,188,147,10,
+10,137,133,238,240,57,77,144,245,31,248,223,117,56,120,217,255,190,16,158,
+150,231,71,242,30,232,141,111,121,73,89,67,85,53,20,8,204,3,158,83,183,
+93,31,49,244,252,196,167,54,144,213,21,103,165,96,166,127,160,115,21,206,
+245,29,183,181,146,92,2,244,132,215,60,129,234,63,240,255,52,173,63,136,
+56,164,249,210,183,39,252,190,81,104,235,159,248,155,58,251,245,183,114,
+116,194,93,137,106,91,127,195,63,209,97,3,216,60,41,108,70,55,63,48,225,
+140,91,125,13,1,154,253,193,162,13,170,250,3,55,85,67,178,15,208,159,179,
+133,84,87,92,43,160,31,183,231,223,10,64,235,7,30,198,161,169,174,184,84,
+13,100,97,222,152,87,18,43,175,123,184,155,63,49,209,5,183,250,226,91,106,
+241,248,43,41,180,205,31,248,91,53,225,53,252,133,23,187,84,106,37,146,
+185,93,244,195,253,251,123,225,115,26,33,235,15,156,171,10,228,70,124,78,
+191,240,50,2,151,246,3,215,122,57,220,99,114,209,202,74,1,243,136,215,248,
+192,72,87,124,212,55,180,50,154,161,15,201,239,211,88,168,250,238,145,60,
+182,152,231,7,62,103,3,161,174,184,144,222,190,95,214,32,30,241,24,127,
+225,97,5,110,205,7,206,52,134,253,227,247,111,181,198,140,141,88,72,96,
+144,60,225,126,105,112,91,115,153,64,172,164,9,159,227,19,19,157,241,17,
+218,96,139,75,165,111,149,246,120,104,139,170,254,240,215,7,131,121,126,
+226,215,108,32,171,11,42,238,49,173,241,229,129,30,10,231,90,1,243,3,154,
+206,56,85,2,122,244,235,247,214,156,209,146,243,239,95,91,200,234,130,171,
+106,32,185,195,231,216,195,133,9,164,134,60,178,40,137,225,76,135,207,113,
+4,169,63,241,127,234,58,196,93,127,147,18,21,132,0,224,28,250,249,19,15,
+39,112,173,47,184,72,181,22,187,206,188,240,57,78,16,245,159,248,63,117,
+11,9,164,196,69,145,15,47,38,162,1,190,173,56,141,16,245,159,97,255,46,
+103,141,88,137,173,214,142,232,245,19,131,97,84,66,64,82,3,37,26,84,50,
+36,189,99,7,43,175,235,253,235,249,133,207,217,64,170,11,46,170,130,25,
+255,47,94,182,194,37,28,238,130,54,69,65,225,6,60,167,105,109,85,32,85,
+67,227,72,59,122,171,230,121,133,94,54,6,223,194,48,253,194,84,237,95,159,
+117,223,205,56,109,255,191,20,21,72,230,135,49,167,98,153,139,192,13,167,
+51,188,91,235,224,64,128,116,245,76,167,244,231,66,223,213,185,201,179,
+189,45,161,173,63,112,85,42,200,2,122,70,174,117,19,122,221,99,180,64,91,
+255,240,159,103,118,152,123,185,79,134,117,6,179,126,97,176,22,170,249,
+27,126,84,129,17,141,25,195,252,68,167,129,83,213,64,56,13,19,144,20,38,
+134,49,51,12,42,156,235,43,78,36,60,41,104,189,21,7,109,103,88,84,56,213,
+190,242,233,167,23,6,7,156,106,5,103,158,248,107,124,162,99,160,173,63,
+208,64,99,116,140,74,53,128,29,48,88,137,186,105,64,110,192,200,21,218,
+186,6,204,47,104,6,90,161,214,126,43,65,132,53,193,137,144,73,34,7,188,
+28,244,108,97,77,135,78,107,144,184,163,9,194,61,44,8,206,14,126,194,128,
+20,62,26,127,56,205,186,195,107,26,1,233,73,101,227,56,96,38,129,123,69,
+48,243,39,94,211,3,189,147,104,154,63,112,107,26,84,161,194,238,140,6,196,
+29,141,32,88,182,33,56,149,23,91,140,237,48,59,24,211,163,55,26,36,78,158,
+21,31,148,195,156,27,209,77,47,140,188,93,159,158,95,120,234,17,36,127,
+224,86,17,230,121,130,102,194,73,86,33,17,243,196,65,73,9,223,186,228,5,
+5,118,51,70,51,66,51,112,18,85,56,12,1,18,21,68,232,43,14,166,199,96,70,
+223,118,104,107,56,243,130,54,225,250,120,68,63,189,48,57,129,115,83,131,
+224,71,161,6,7,40,245,129,171,18,48,250,137,193,18,234,250,7,238,117,5,
+193,145,186,30,27,140,198,247,24,61,199,34,103,164,123,130,214,194,196,
+103,182,208,102,134,97,25,72,165,194,11,59,173,79,216,66,219,25,6,202,175,
+191,42,212,173,172,49,78,15,223,43,108,106,16,207,152,172,63,36,70,61,96,
+230,10,45,252,122,232,117,239,127,78,221,112,147,14,227,244,194,200,53,
+62,234,51,106,193,152,244,43,160,21,31,184,229,164,186,88,110,57,145,138,
+247,228,170,78,179,255,126,231,191,191,86,117,80,179,91,22,176,131,118,
+97,127,53,55,156,130,237,53,83,32,224,173,49,49,244,100,221,128,206,12,
+152,89,226,78,4,173,159,120,141,15,244,44,112,170,63,60,140,90,152,24,140,
+48,5,76,102,196,232,24,168,36,36,52,180,11,19,15,2,96,59,161,95,158,15,
+17,140,237,49,232,30,157,101,84,213,29,31,149,111,19,205,44,112,19,4,61,
+127,162,155,62,209,135,246,224,85,9,76,243,136,25,192,73,40,72,98,80,152,
+247,22,144,201,254,32,146,94,87,36,146,246,99,114,152,245,136,129,45,88,
+86,144,176,48,206,129,194,193,197,110,10,61,111,233,33,116,219,163,55,189,
+79,68,213,25,45,116,168,194,67,76,177,132,182,109,65,110,192,224,42,212,
+77,5,167,59,140,32,92,148,130,112,35,158,198,199,82,85,127,224,174,20,132,
+155,60,175,133,133,71,213,120,66,103,44,28,20,46,21,175,251,199,79,47,209,
+122,47,62,57,246,107,204,216,14,157,153,1,241,17,226,131,243,241,129,117,
+180,255,124,124,243,164,96,159,252,208,186,238,75,179,223,30,173,154,244,
+8,237,200,63,95,108,140,127,9,192,178,14,235,121,2,168,197,229,84,131,245,
+11,179,117,32,178,176,198,120,100,148,133,111,225,240,136,231,220,173,247,
+127,83,126,77,245,46,156,45,193,239,101,29,140,101,141,209,12,208,44,66,
+98,177,184,215,48,246,170,86,28,251,167,243,54,63,233,12,4,201,21,82,230,
+178,214,203,127,78,212,38,218,172,142,45,156,115,97,156,75,38,126,198,84,
+18,21,224,157,5,121,170,119,65,123,119,18,162,204,243,103,69,40,252,168,
+90,167,71,56,58,225,214,70,194,53,1,178,159,76,143,94,15,112,116,194,245,
+116,94,251,128,148,56,64,103,78,124,236,153,210,147,14,16,116,125,247,89,
+42,5,85,38,235,96,89,160,81,39,84,230,137,191,76,143,201,46,215,174,80,
+171,11,110,167,27,26,193,208,243,39,62,117,143,217,133,57,85,81,161,174,
+46,184,55,127,162,173,36,172,237,49,91,3,235,52,94,211,47,79,172,82,45,
+46,164,208,10,134,49,22,85,117,69,5,227,33,190,250,132,138,53,6,43,113,
+106,206,56,73,198,100,37,4,70,244,253,255,96,36,130,16,13,206,205,15,92,
+149,128,40,13,123,37,38,64,206,247,23,89,67,51,195,232,79,252,191,110,68,
+211,220,113,151,2,198,140,152,156,194,173,190,225,68,128,117,35,6,61,193,
+5,226,162,192,4,11,64,184,9,221,240,128,174,106,84,226,140,171,58,225,90,
+159,60,76,5,227,153,179,235,223,31,208,214,31,248,80,109,8,96,84,212,53,
+216,144,29,7,118,51,12,3,70,63,240,15,55,160,173,127,224,38,5,172,25,48,
+177,194,173,185,250,235,179,19,6,51,129,197,13,247,186,133,20,58,84,58,
+3,94,195,255,160,7,65,46,208,166,106,160,136,10,26,21,219,6,13,167,57,4,
+70,188,250,127,160,23,4,65,13,206,205,5,13,25,244,99,239,123,168,205,135,
+15,110,110,192,211,90,128,42,176,27,209,153,7,30,243,12,205,2,186,31,241,
+20,53,78,234,138,123,123,66,77,14,218,244,232,141,133,80,75,98,202,59,55,
+116,66,5,137,1,93,255,63,24,8,16,162,197,169,185,227,38,37,172,121,226,
+115,238,49,89,7,8,1,34,9,85,93,112,63,253,137,134,0,51,255,194,175,121,
+192,228,92,8,108,21,84,117,198,173,253,19,109,85,249,30,50,51,172,213,24,
+205,236,149,24,117,7,213,92,61,242,194,179,255,61,55,226,115,152,208,203,
+26,141,186,226,227,228,123,152,179,238,49,161,193,173,189,226,36,8,214,
+13,24,205,20,90,17,39,200,157,128,80,110,118,226,99,157,177,19,70,61,193,
+176,133,211,79,168,230,134,115,37,96,245,39,30,147,191,126,14,163,84,170,
+186,248,235,87,213,106,111,145,160,63,107,188,112,112,28,146,193,208,162,
+105,170,6,85,213,226,38,206,184,214,167,104,108,15,69,107,245,37,209,20,
+4,76,243,95,248,135,38,144,244,19,9,87,213,172,51,249,194,13,120,244,19,
+94,210,191,223,31,173,135,168,217,141,158,248,197,35,94,35,80,11,5,41,27,
+156,197,25,215,186,133,100,3,98,9,137,17,175,209,175,79,33,155,240,247,
+101,50,90,182,131,118,215,254,171,39,34,79,243,63,241,63,154,32,69,139,
+83,243,225,97,226,80,132,9,55,226,209,79,232,69,141,182,190,225,227,228,
+15,226,97,246,156,25,5,131,201,50,234,250,130,202,205,24,172,64,171,42,
+56,253,137,79,61,193,178,128,238,39,72,170,208,54,55,220,212,201,207,233,
+131,97,216,132,24,102,240,26,254,137,185,58,227,214,156,113,17,21,4,27,
+63,130,10,141,215,240,15,116,4,84,209,254,243,247,103,225,88,195,56,134,
+182,159,248,135,27,214,228,139,86,154,245,136,110,248,31,12,68,16,178,198,
+185,254,192,181,106,81,9,138,152,242,123,12,142,17,237,223,241,31,232,1,
+72,89,123,242,48,105,116,115,15,205,21,206,205,29,231,170,6,185,17,79,107,
+64,80,32,59,163,55,15,60,230,17,134,8,122,24,241,34,181,193,250,194,39,
+38,189,241,232,200,69,85,17,159,40,86,15,144,16,152,64,127,239,255,206,
+187,113,48,78,93,36,226,89,113,142,196,18,104,153,37,227,66,111,251,95,
+57,204,247,242,63,5,104,222,87,208,105,191,10,171,225,11,23,108,90,99,161,
+35,122,179,118,19,173,214,72,216,152,214,25,210,9,163,30,49,88,134,20,45,
+46,205,2,185,47,114,180,19,38,61,160,183,128,148,13,46,245,9,138,50,166,
+254,65,88,95,167,24,96,193,44,252,108,122,132,90,48,44,172,243,132,36,130,
+133,137,50,170,165,186,147,235,140,179,133,115,169,27,156,207,196,105,85,
+28,116,214,194,45,179,202,66,130,120,153,183,116,176,236,103,52,9,126,102,
+84,10,1,56,11,7,63,173,224,137,103,198,207,147,174,239,76,36,51,213,121,
+47,155,163,23,177,50,134,217,193,46,51,187,68,97,166,219,79,90,56,18,168,
+196,150,104,90,182,32,90,212,196,0,27,100,127,73,120,214,45,45,243,162,
+34,146,188,69,120,14,139,130,24,249,153,213,120,161,81,34,75,129,68,167,
+223,193,173,83,29,8,243,198,2,203,59,146,225,250,252,12,186,99,7,8,5,185,
+40,122,57,7,179,140,59,45,138,124,161,183,75,95,106,56,5,246,184,195,170,
+4,231,161,65,9,17,222,253,58,63,142,128,40,89,31,176,70,211,97,176,64,163,
+174,30,26,94,194,149,240,8,18,133,177,48,203,158,240,40,34,130,215,6,218,
+249,89,102,203,177,185,7,65,200,10,146,253,253,91,23,245,183,216,175,191,
+138,22,226,171,159,213,223,154,16,190,242,169,72,108,230,50,225,63,253,
+108,179,159,185,94,103,222,195,253,251,191,65,65,155,65,134,131,123,209,
+17,16,97,250,129,3,27,222,1,84,173,196,214,47,164,202,66,80,115,235,212,
+2,16,244,3,150,81,87,199,137,154,143,192,178,182,104,47,158,17,169,49,46,
+125,120,235,140,79,66,33,252,94,98,11,71,219,51,58,190,186,5,37,117,176,
+236,247,92,2,157,47,123,60,244,196,87,114,168,144,137,98,162,93,63,15,196,
+86,231,252,196,136,16,1,229,49,176,46,229,1,85,114,75,94,104,23,23,179,
+137,42,23,116,3,162,214,156,140,53,21,172,134,93,81,84,191,119,228,122,
+95,65,51,133,183,248,226,199,236,38,207,91,112,64,163,110,56,87,126,116,
+144,68,152,86,8,162,47,236,131,45,236,162,213,16,14,180,133,248,231,63,
+15,49,114,213,114,33,31,35,19,221,50,11,99,121,21,63,163,48,85,226,239,
+207,250,231,19,201,7,251,107,72,149,34,247,218,157,145,84,46,199,220,138,
+101,255,47,123,39,172,55,208,250,174,173,211,152,244,203,115,72,212,117,
+27,19,21,2,18,210,183,21,194,179,183,64,136,7,233,57,181,162,216,46,232,
+145,252,119,247,247,88,69,113,131,41,153,119,114,85,236,60,107,222,143,
+193,5,129,129,76,156,176,232,180,244,77,133,177,247,159,249,195,219,89,
+179,177,21,69,97,38,51,46,24,57,86,155,227,157,12,232,190,128,203,60,112,
+163,27,90,96,217,201,41,180,245,21,167,202,47,150,245,176,114,30,22,29,
+89,161,85,254,243,138,202,138,61,113,247,117,215,131,167,130,40,80,194,
+31,224,68,205,106,189,47,74,37,178,182,127,203,103,245,247,214,182,9,66,
+147,17,145,104,215,163,206,254,196,145,160,116,98,92,194,169,25,71,46,66,
+200,133,54,36,125,161,90,198,95,36,134,95,159,162,135,139,48,70,129,184,
+168,242,119,116,243,165,207,82,206,197,215,91,98,127,83,148,116,144,75,
+107,201,207,234,119,227,47,116,44,113,82,55,92,87,54,51,21,30,24,54,66,
+216,170,124,181,25,132,196,34,144,95,37,222,75,114,182,244,159,57,82,137,
+91,84,184,226,181,120,248,158,248,64,105,236,63,129,4,198,11,45,35,219,
+81,161,132,142,215,228,94,235,59,59,212,87,217,212,200,251,61,183,160,253,
+206,61,113,58,146,91,180,239,62,188,183,242,242,91,57,73,217,146,218,196,
+179,98,17,173,210,137,85,48,63,94,199,253,41,89,32,20,5,173,131,203,57,
+172,220,40,160,121,253,248,11,157,171,208,214,215,48,33,68,107,79,60,55,
+210,121,187,37,81,150,109,61,124,94,95,220,247,190,32,203,61,31,114,51,
+49,46,40,75,34,139,245,180,242,217,60,80,110,208,13,255,68,207,21,90,117,
+197,37,230,104,16,118,202,164,201,75,229,204,136,38,186,30,47,116,131,99,
+21,165,244,48,224,160,44,180,201,52,37,103,35,114,87,182,255,20,60,31,169,
+197,45,213,70,118,48,164,27,111,211,94,79,42,247,195,3,227,104,119,111,
+137,2,17,195,44,89,48,149,37,120,172,179,96,170,146,207,243,170,125,75,
+166,120,53,168,0,167,54,186,20,59,54,197,175,140,14,130,204,98,230,64,251,
+3,244,109,144,204,78,212,37,24,71,55,253,27,241,183,96,144,17,233,224,239,
+16,149,210,65,241,157,51,179,116,49,229,116,122,255,142,223,70,8,36,91,
+183,228,255,247,189,131,25,95,104,209,97,167,48,14,160,160,21,191,143,84,
+121,202,177,253,45,23,122,208,6,170,185,7,221,244,82,109,200,59,163,218,
+141,56,27,171,175,82,74,64,229,204,87,32,81,229,217,171,58,18,165,168,222,
+145,88,213,239,191,195,127,245,112,207,96,188,248,222,99,142,81,60,190,
+251,246,128,216,18,88,66,108,137,26,241,125,176,121,45,16,232,155,39,53,
+190,92,5,133,188,188,120,96,17,211,174,237,130,130,67,220,225,187,40,168,
+123,38,209,150,51,173,155,236,66,190,247,26,151,244,194,134,81,68,131,74,
+221,3,95,41,75,194,142,156,211,222,161,189,244,69,178,15,124,35,99,72,61,
+1,128,114,18,118,24,33,18,158,21,69,242,197,203,25,198,94,165,115,238,208,
+27,13,89,127,132,158,58,239,136,235,113,17,154,168,181,198,245,20,103,233,
+200,223,251,191,115,156,197,199,138,106,68,91,221,192,206,31,96,130,68,
+16,181,73,252,65,82,53,183,223,221,163,223,168,224,125,207,206,122,162,
+146,164,162,117,45,197,150,137,133,172,135,51,130,108,178,67,34,135,134,
+237,103,50,227,140,253,185,186,203,228,178,244,25,135,46,67,137,17,85,148,
+148,20,207,224,108,117,199,90,240,185,255,51,101,238,120,217,187,89,143,
+177,20,178,121,123,184,113,58,8,244,198,129,49,78,68,168,24,145,226,138,
+110,119,222,22,51,213,239,110,202,127,55,139,164,111,199,6,124,81,209,231,
+38,60,223,63,199,168,24,64,242,234,61,199,163,22,89,203,196,60,167,240,
+237,148,247,141,51,35,157,183,110,205,148,163,115,217,209,179,36,132,171,
+214,57,237,145,30,100,158,15,248,38,202,242,219,8,96,25,114,160,130,209,
+207,166,247,157,141,43,166,179,139,25,91,62,218,35,139,250,39,165,45,169,
+146,165,41,189,89,191,251,53,19,241,138,136,34,64,149,247,246,181,165,202,
+157,242,41,33,74,38,141,227,34,227,248,121,71,8,5,237,241,173,239,248,156,
+31,35,96,49,218,234,5,196,22,243,38,58,226,82,125,133,238,241,65,5,255,
+59,196,239,196,156,139,15,74,180,242,174,41,1,164,111,17,186,72,58,213,
+133,118,88,162,19,195,156,38,75,5,164,153,98,99,177,12,49,4,3,130,163,25,
+245,244,228,225,216,161,51,244,224,124,159,44,223,227,57,148,247,219,241,
+151,191,241,25,17,164,172,194,3,160,220,136,61,176,59,35,87,35,62,40,216,
+10,46,89,177,109,226,162,216,231,31,220,2,11,5,189,253,24,98,217,141,224,
+96,245,118,79,173,1,163,138,107,249,27,204,105,247,131,41,201,162,153,178,
+5,179,250,106,71,246,124,196,169,95,64,86,109,37,30,19,201,38,230,68,100,
+100,179,101,204,67,12,191,9,62,7,14,138,37,119,163,204,20,121,157,129,207,
+108,25,51,51,178,178,247,119,201,3,153,241,77,227,34,218,29,115,244,54,
+32,241,23,235,152,138,89,7,189,61,123,248,139,196,97,111,202,146,90,54,
+199,85,127,234,83,229,251,135,162,88,47,239,204,111,105,111,253,153,208,
+209,168,220,113,73,221,8,211,53,78,20,87,117,251,22,23,115,182,78,241,166,
+34,99,20,188,209,127,43,79,139,78,212,197,76,99,97,189,243,118,189,89,165,
+185,51,82,204,137,198,188,28,230,113,1,193,235,56,232,182,173,54,134,46,
+113,180,206,136,14,170,98,100,201,117,220,32,11,237,143,248,160,206,147,
+153,236,25,113,52,222,188,238,255,204,134,116,61,188,40,179,180,225,108,
+239,34,222,159,137,11,73,8,65,28,197,84,46,24,166,228,175,43,138,57,75,
+191,152,125,98,90,173,206,142,84,190,189,82,44,200,205,252,248,139,115,
+132,191,216,118,107,156,226,196,83,133,18,139,99,222,222,77,254,6,51,183,
+221,248,100,166,44,219,35,94,80,32,207,175,169,86,142,14,37,80,216,174,
+211,150,221,76,18,79,227,39,77,180,16,240,226,72,73,235,2,93,230,26,217,
+122,29,100,98,74,55,64,188,14,178,195,233,95,46,170,10,191,239,93,234,28,
+18,75,163,216,40,151,227,67,148,86,21,173,148,9,191,205,8,238,130,243,226,
+74,20,121,87,175,57,42,97,7,107,150,220,180,182,67,53,234,143,82,236,149,
+182,16,178,54,99,130,132,213,31,173,100,90,55,103,138,84,80,188,208,195,
+44,239,230,189,204,209,207,101,158,215,84,210,3,216,31,34,241,81,79,133,
+163,158,14,143,34,138,156,170,104,243,4,223,156,138,86,114,29,69,2,72,244,
+157,138,238,200,163,62,54,36,163,175,18,70,42,46,52,126,83,105,127,33,199,
+132,3,115,231,245,111,238,127,138,191,9,93,150,131,62,101,167,94,140,11,
+149,219,227,180,75,19,56,235,24,114,22,24,242,119,192,132,162,13,37,39,
+89,65,68,106,164,205,124,42,137,200,4,16,225,107,152,245,109,6,249,173,
+252,42,245,27,103,42,62,201,165,34,230,236,111,36,65,249,104,65,230,237,
+11,74,29,195,56,15,144,241,223,97,126,131,214,68,201,26,210,228,35,246,
+220,72,147,106,74,239,53,65,206,162,52,117,141,15,75,114,178,197,22,74,
+98,61,118,90,38,244,230,64,100,74,33,67,122,187,182,41,65,17,246,53,49,
+37,252,47,198,190,157,240,173,195,186,84,189,231,177,226,155,135,61,83,
+186,131,40,235,125,174,187,136,246,56,38,229,99,92,200,220,1,99,208,152,
+2,228,78,17,138,186,58,245,209,190,144,217,109,191,172,80,141,240,62,177,
+187,27,142,178,187,117,98,71,160,18,21,40,248,4,51,33,59,80,190,81,137,
+127,175,168,74,119,217,194,208,149,65,194,118,151,202,112,118,234,109,128,
+10,199,30,57,136,85,236,120,219,104,76,7,61,194,77,216,102,103,1,251,166,
+155,180,3,237,57,243,13,142,178,114,100,135,247,254,76,138,12,4,151,233,
+129,229,5,82,164,152,21,135,5,142,52,13,10,127,55,113,43,166,131,238,44,
+111,110,72,252,6,21,167,82,26,77,145,159,115,100,79,184,161,11,28,107,38,
+229,151,145,110,60,46,84,114,223,57,127,139,178,82,241,81,158,56,187,239,
+222,30,222,128,2,124,152,238,228,70,153,156,60,157,239,33,132,251,159,162,
+36,93,200,146,197,131,237,67,239,78,208,132,166,18,65,140,121,117,158,240,
+199,10,42,85,204,105,101,75,20,172,60,163,246,30,163,112,170,191,89,80,
+252,27,241,227,29,79,35,199,63,226,202,123,209,141,88,129,176,8,205,34,
+78,168,26,249,161,190,133,153,52,88,19,82,123,206,245,205,81,33,71,56,48,
+180,167,98,34,200,145,173,104,145,34,28,61,127,236,225,217,53,177,79,15,
+255,119,45,231,124,219,112,156,100,112,4,202,83,116,159,156,237,176,183,
+21,30,103,168,80,57,227,163,82,71,159,142,209,165,29,12,243,85,239,157,
+14,123,140,187,135,64,133,232,79,121,6,122,20,44,214,12,176,44,203,190,
+60,191,21,109,206,224,88,202,2,72,106,117,30,78,19,78,81,108,226,36,29,
+9,218,44,7,15,142,131,17,132,99,6,139,108,129,48,37,85,108,162,149,195,
+223,60,216,223,101,82,97,92,74,91,11,231,80,158,199,140,30,48,69,135,19,
+237,109,154,115,99,222,55,107,47,101,45,83,198,174,254,94,191,97,235,135,
+16,113,82,99,113,126,198,102,89,50,103,227,241,177,142,246,42,184,179,105,
+242,238,103,251,233,184,30,220,17,0,118,224,98,12,217,31,65,213,116,208,
+88,68,52,142,22,195,117,148,233,22,151,99,57,151,42,114,250,162,44,120,
+219,4,164,93,41,202,107,21,17,193,140,89,117,252,174,112,164,34,244,77,
+9,10,18,105,184,101,121,10,253,198,109,112,82,209,112,116,173,123,212,229,
+77,94,131,114,31,165,136,126,103,185,239,150,59,115,10,133,81,25,203,97,
+10,189,64,138,187,148,105,203,136,241,155,113,225,203,182,29,142,19,117,
+218,35,81,73,245,67,30,237,227,117,12,117,171,24,227,100,52,78,116,120,
+153,54,161,13,65,228,98,95,225,160,102,41,193,213,89,129,25,31,0,73,219,
+170,212,243,166,61,26,183,58,130,174,60,170,13,110,78,192,132,12,124,139,
+250,8,187,126,230,138,206,36,197,9,237,91,27,121,60,40,93,110,238,69,190,
+142,208,166,252,77,36,249,33,229,128,197,251,68,143,191,200,157,143,126,
+135,211,146,39,103,2,231,235,56,103,93,228,103,233,210,242,93,19,192,168,
+167,77,28,135,55,90,215,99,82,177,163,128,48,69,226,115,188,34,164,28,84,
+46,115,132,129,55,209,177,248,202,137,105,205,120,69,181,244,246,82,218,
+122,190,88,136,191,81,93,253,102,165,79,228,93,159,54,63,226,104,131,50,
+173,112,78,82,63,101,83,253,27,63,142,14,94,110,212,215,142,237,254,176,
+84,204,101,194,204,225,46,163,180,74,220,170,110,222,93,95,214,93,8,135,
+99,52,82,84,194,42,3,55,128,210,237,182,135,223,185,180,153,179,234,58,
+44,2,42,164,54,132,24,238,137,247,0,31,86,33,40,192,110,136,164,125,119,
+188,136,131,133,252,62,152,127,119,157,113,10,17,239,178,60,90,103,172,
+83,140,134,211,3,234,45,132,94,174,155,57,65,108,202,212,129,253,173,241,
+174,49,66,201,53,81,161,118,127,83,28,150,42,61,142,254,110,228,7,64,201,
+25,201,251,130,35,18,187,66,212,11,142,33,250,165,101,148,122,237,102,137,
+108,41,40,127,197,212,250,138,159,67,41,154,71,209,1,196,180,187,244,84,
+230,130,177,77,228,228,121,66,102,38,133,200,139,155,151,160,77,155,166,
+195,33,65,246,27,225,112,119,198,44,7,0,243,46,97,41,45,241,37,182,17,167,
+61,82,70,36,96,22,199,186,184,61,199,249,153,204,7,107,106,67,231,104,131,
+250,194,107,254,206,166,92,226,223,70,16,227,131,7,22,19,164,139,104,30,
+29,20,108,165,66,135,223,116,212,184,80,209,199,240,59,209,46,33,139,57,
+11,92,76,208,104,215,238,228,88,175,36,34,116,114,132,210,174,136,80,196,
+141,218,221,83,118,173,20,29,32,219,100,82,20,191,153,80,149,86,191,131,
+11,214,169,14,34,216,30,198,115,142,111,38,162,254,181,190,123,78,95,101,
+130,181,22,236,92,32,245,81,118,90,71,47,32,202,162,243,91,33,202,216,191,
+9,105,52,99,111,112,6,213,101,189,235,5,114,119,108,189,112,7,137,200,180,
+100,11,132,206,89,56,120,191,113,65,20,237,139,116,198,56,121,49,140,148,
+207,204,105,162,144,246,247,226,254,77,58,106,135,32,30,179,88,46,82,28,
+196,138,41,44,229,3,4,153,170,1,80,102,151,199,72,14,167,72,2,115,70,95,
+163,125,159,157,15,144,6,126,3,153,241,23,27,155,222,151,179,252,166,97,
+151,14,161,81,6,132,191,203,78,211,11,162,8,181,216,158,162,245,194,30,
+16,171,172,115,250,219,233,243,142,249,201,233,95,218,53,145,222,18,132,
+99,58,148,91,108,142,35,33,152,149,53,206,233,20,12,229,12,237,184,106,
+167,84,187,63,31,75,89,49,141,69,112,3,14,102,21,146,137,14,213,32,202,
+68,209,33,195,129,73,189,241,87,130,44,238,87,4,187,236,213,112,66,60,162,
+2,4,77,233,244,207,161,164,1,39,116,122,162,20,153,139,167,7,226,113,174,
+36,6,127,17,20,249,232,72,101,32,155,210,79,19,149,221,100,194,38,213,29,
+171,122,166,8,178,255,220,57,27,98,155,220,222,117,18,10,183,246,36,115,
+206,229,217,164,177,17,205,215,83,225,176,230,67,78,11,39,176,54,197,60,
+142,68,134,132,247,107,177,148,228,191,33,99,46,167,153,181,188,234,235,
+239,30,245,186,55,100,65,129,147,11,174,33,25,77,151,114,13,129,180,242,
+143,199,142,55,61,136,64,218,142,198,55,137,41,131,223,75,139,101,75,162,
+23,95,143,4,229,13,197,31,214,81,77,14,115,240,249,24,150,139,197,46,104,
+71,38,123,55,165,0,252,27,83,76,135,106,117,249,38,140,198,83,162,67,18,
+5,61,124,166,114,119,115,71,219,230,2,68,148,36,187,218,59,89,105,13,146,
+222,61,169,22,209,129,203,218,123,189,235,25,168,46,184,169,11,26,193,233,
+1,147,12,128,83,218,101,224,2,66,22,7,204,4,217,200,180,144,25,32,178,94,
+175,125,158,192,242,140,139,58,163,149,199,51,139,20,130,170,93,100,37,
+23,244,0,123,58,24,103,12,105,74,20,47,178,16,181,222,34,37,129,114,25,
+7,92,103,226,9,94,201,202,57,48,121,69,39,18,180,71,130,142,50,216,223,
+200,40,211,206,228,126,126,230,247,166,178,242,177,199,189,244,204,106,
+86,99,7,116,243,11,35,106,92,213,21,231,74,150,178,90,236,103,212,203,35,
+56,95,3,23,132,116,166,201,123,81,127,142,79,204,212,226,222,222,113,149,
+42,1,21,45,251,231,47,41,77,37,246,19,40,177,98,100,58,106,202,81,155,108,
+137,89,206,121,103,191,231,252,194,192,94,114,80,178,240,146,169,77,100,
+182,226,44,180,27,49,204,47,116,102,130,65,133,90,156,112,109,175,184,84,
+21,222,170,99,230,36,213,29,227,36,153,69,77,198,225,169,212,46,45,38,138,
+239,196,139,226,145,220,244,164,228,29,199,100,79,20,72,20,209,98,157,252,
+156,248,73,239,145,172,210,129,195,9,239,197,27,59,205,166,67,55,133,248,
+80,159,189,37,111,97,140,54,19,227,200,231,6,145,79,112,252,78,228,167,
+194,192,45,71,184,245,146,100,44,98,60,69,88,189,188,133,178,215,196,176,
+110,66,55,191,48,177,194,185,190,225,82,137,228,79,56,59,226,21,62,191,
+212,94,166,120,171,149,40,167,174,124,51,74,196,163,178,190,205,204,20,
+217,156,71,162,72,28,197,198,119,162,60,105,97,184,169,245,109,132,196,
+52,1,95,174,192,153,1,85,46,242,194,240,50,160,94,94,144,86,51,133,248,
+176,1,125,167,71,249,175,29,238,11,114,0,225,189,155,99,168,47,101,126,
+167,61,221,156,205,14,228,44,208,120,214,63,202,6,54,138,253,6,165,240,
+210,115,242,127,214,218,17,253,220,99,98,129,90,221,113,82,245,42,65,235,
+175,55,253,252,172,234,68,146,50,107,145,37,168,215,110,196,33,239,115,
+242,134,86,120,181,48,74,236,101,183,64,222,227,57,207,32,233,125,139,235,
+221,225,30,17,160,192,222,0,196,188,240,152,45,68,117,194,85,181,80,68,
+201,243,165,172,152,89,166,4,152,177,227,137,175,203,58,141,169,89,251,
+132,70,255,77,89,0,0,32,0,73,68,65,84,162,133,106,48,233,14,79,109,32,195,
+53,171,172,226,250,146,88,247,85,37,159,65,233,25,5,105,39,23,83,238,191,
+31,167,176,156,32,44,148,64,109,206,141,232,230,23,6,39,209,214,39,52,149,
+124,83,187,241,110,12,41,23,179,201,103,214,223,98,214,188,168,47,206,24,
+130,41,73,83,123,251,222,21,106,132,13,94,222,22,178,58,225,82,183,137,
+70,62,237,6,144,145,233,85,231,163,83,148,137,197,85,104,234,51,140,211,
+112,44,208,42,239,22,40,99,185,84,55,7,211,30,66,83,221,240,71,243,7,42,
+10,50,201,65,6,251,203,46,204,161,58,90,116,222,114,44,100,151,37,174,49,
+104,71,5,153,238,29,11,37,54,157,226,221,81,151,142,18,30,65,223,217,52,
+13,98,97,174,253,64,26,152,142,19,94,68,118,214,136,17,189,165,61,72,65,
+146,181,199,115,158,64,242,132,179,106,81,83,170,83,176,221,58,103,210,
+222,180,83,190,219,115,49,10,211,33,84,104,74,71,235,156,115,204,44,23,
+241,98,74,236,198,15,19,59,46,47,12,231,102,244,211,19,35,75,180,245,25,
+173,204,15,247,9,93,244,249,226,39,178,121,11,236,247,26,103,24,231,59,
+92,134,217,66,219,23,158,147,143,175,231,186,69,67,98,117,98,37,138,218,
+58,121,78,181,7,89,177,10,145,69,228,239,92,47,36,102,191,248,51,233,181,
+168,225,197,110,75,12,41,133,215,222,93,97,26,42,48,44,255,13,49,155,163,
+164,47,252,187,168,252,108,96,172,168,150,234,183,82,210,99,95,224,156,
+162,24,66,116,16,167,124,163,189,10,76,170,35,224,35,130,209,15,60,230,
+9,70,156,112,111,206,104,68,128,182,22,77,116,253,192,231,60,195,201,22,
+183,250,140,70,84,240,142,177,219,24,197,2,67,113,156,196,176,133,75,24,
+27,2,146,22,173,98,242,154,236,11,145,130,131,22,55,5,63,58,246,122,198,
+110,201,222,92,135,199,52,194,202,11,126,212,103,212,235,60,233,190,195,
+231,216,192,49,224,108,135,207,121,128,161,19,62,164,92,197,22,196,2,243,
+147,247,42,94,158,155,16,222,212,192,107,208,251,140,84,134,228,207,114,
+208,207,167,165,183,155,201,95,82,58,114,105,192,96,211,225,17,190,255,
+20,190,127,53,112,112,14,54,56,150,121,23,182,224,114,149,83,19,56,59,132,
+194,250,181,236,221,177,16,238,213,63,222,160,213,31,12,129,92,184,55,31,
+83,2,207,100,93,0,65,231,58,202,142,133,144,65,87,124,249,220,174,123,131,
+225,117,254,197,2,97,59,31,60,58,43,113,105,239,184,74,239,8,231,55,178,
+129,101,17,125,95,104,235,44,94,1,193,11,220,58,11,7,23,86,144,128,90,244,
+31,240,149,88,142,133,113,54,4,129,10,231,246,15,156,99,15,1,152,32,57,
+253,194,175,121,132,165,51,206,66,2,142,193,130,211,195,113,37,175,198,
+154,11,81,207,58,249,161,136,136,30,70,36,39,221,99,100,129,90,125,224,
+94,55,65,218,121,209,188,31,240,154,58,76,92,225,28,89,241,190,239,187,
+47,154,243,190,69,22,55,83,45,187,0,179,6,88,150,99,114,174,64,80,66,223,
+91,51,231,132,152,181,250,179,27,244,29,107,209,195,193,89,14,250,232,180,
+202,140,90,14,207,120,253,83,214,123,17,172,95,177,36,54,255,31,109,111,
+182,37,59,114,44,139,153,199,0,32,19,153,89,123,119,55,191,65,47,210,215,
+75,75,127,116,47,143,116,46,217,93,149,3,128,152,92,15,17,0,34,2,64,85,
+109,146,106,174,38,217,93,181,115,0,2,62,152,155,155,205,68,90,15,207,33,
+75,142,18,42,109,10,49,2,188,15,203,253,7,68,220,145,230,213,78,54,254,
+124,157,67,106,146,217,51,145,190,255,60,62,243,15,220,205,4,47,122,252,
+208,103,104,41,54,72,25,99,31,41,171,87,49,93,112,201,167,66,172,133,103,
+122,158,176,248,35,4,120,31,117,244,227,43,204,58,255,84,52,92,133,24,54,
+211,234,135,128,116,77,67,14,93,166,235,51,63,159,97,213,193,39,228,91,
+86,0,194,136,199,116,199,16,36,78,109,148,109,22,249,247,10,35,30,211,7,
+134,16,13,95,46,74,101,155,16,180,125,254,139,248,176,186,77,198,223,193,
+50,242,144,20,157,21,153,103,187,227,1,142,206,184,41,149,252,59,50,154,
+47,151,196,193,2,69,73,58,251,97,153,105,201,232,227,144,124,18,66,190,
+194,62,199,39,18,171,72,78,152,240,152,222,49,4,53,39,248,248,202,33,100,
+46,109,52,219,99,150,4,182,133,84,177,84,234,180,211,231,148,34,255,123,
+115,19,174,59,90,2,216,199,7,75,74,57,199,57,44,119,166,146,206,43,24,133,
+123,93,126,86,173,83,49,255,205,102,34,204,139,27,30,22,69,160,185,194,
+142,182,173,143,201,128,213,21,111,77,135,86,172,211,81,102,7,227,30,120,
+24,3,200,27,222,154,22,77,246,90,115,133,15,162,108,44,19,253,175,39,251,
+194,221,12,152,130,139,51,32,150,104,154,159,248,173,145,240,246,142,123,
+0,52,49,140,119,48,222,67,202,51,110,167,31,184,74,128,151,63,63,194,4,
+23,231,171,32,72,245,3,127,107,207,104,150,32,194,37,33,42,85,117,247,241,
+29,15,55,194,248,217,252,194,226,127,249,39,26,217,227,173,61,65,132,23,
+222,141,129,144,26,228,39,140,222,130,169,65,223,253,68,47,29,94,227,29,
+19,245,248,217,157,65,64,68,1,166,17,164,111,184,233,14,90,196,162,144,
+211,60,72,44,45,123,128,15,35,30,67,124,127,235,61,60,41,104,97,241,15,
+255,132,150,23,188,117,103,180,148,172,63,237,136,41,56,4,38,40,125,195,
+111,237,21,39,37,114,246,80,69,158,100,32,121,78,191,91,11,42,62,191,70,
+223,253,158,108,38,13,70,251,140,175,239,29,2,4,148,186,226,183,211,21,
+221,98,245,248,192,135,29,49,121,31,67,175,236,112,105,223,208,43,29,45,
+69,237,115,189,254,16,144,250,130,223,219,43,58,33,0,204,142,128,2,231,
+238,186,38,46,154,33,193,119,12,124,198,207,246,18,157,161,194,43,249,222,
+95,113,211,29,20,44,70,247,192,221,140,176,193,195,67,64,170,43,126,239,
+174,232,68,185,219,94,152,228,16,131,131,197,100,238,120,55,67,178,251,
+253,129,63,186,11,218,100,192,227,195,132,199,244,23,238,102,130,11,14,
+65,72,40,88,252,183,123,160,81,23,252,232,46,177,128,221,67,131,121,134,
+80,87,163,24,44,133,212,42,75,65,201,140,198,249,7,238,206,128,244,207,
+152,220,151,160,24,187,171,209,126,224,225,4,206,77,11,157,58,87,166,156,
+167,194,101,252,64,128,117,79,60,140,131,106,46,56,171,38,201,241,58,24,
+251,196,135,241,104,154,11,206,18,112,169,120,180,222,71,211,34,117,193,
+111,167,27,90,33,10,33,165,25,17,43,27,1,19,239,255,52,193,4,151,138,187,
+14,151,211,27,122,16,188,123,224,238,40,250,81,200,228,222,55,125,96,18,
+103,252,208,39,104,1,88,55,97,176,31,120,121,7,23,0,18,26,93,115,195,155,
+142,223,213,248,17,131,185,99,240,22,54,48,132,104,208,54,111,120,107,26,
+168,224,48,185,116,190,188,133,39,9,37,175,248,253,20,239,127,8,6,147,139,
+241,195,120,151,126,126,193,239,167,107,116,214,227,236,124,122,7,134,135,
+11,2,74,191,197,248,48,39,247,35,52,108,89,147,13,203,60,62,90,227,58,24,
+55,224,49,25,168,230,134,94,37,142,17,59,152,228,211,222,54,87,156,5,96,
+125,180,118,158,130,139,166,64,234,138,223,186,43,78,42,231,195,164,14,
+84,136,165,80,140,36,220,0,235,39,12,230,29,47,111,215,235,167,223,240,
+214,180,80,240,24,221,19,15,59,96,114,46,194,223,242,134,223,210,247,71,
+176,24,237,3,15,47,112,62,221,208,75,93,54,6,193,98,52,15,60,189,192,249,
+116,197,89,234,244,29,231,184,190,243,124,167,231,175,141,94,189,48,126,
+194,203,124,96,112,54,90,34,147,70,167,111,184,40,96,154,222,241,112,6,
+38,164,179,71,22,255,116,47,40,213,227,71,123,73,110,120,148,158,147,106,
+4,157,158,141,229,254,6,7,15,1,45,111,248,189,187,162,33,131,215,244,142,
+71,0,148,96,88,231,96,130,135,16,103,188,157,127,226,34,4,68,152,48,152,
+59,94,62,198,31,53,103,159,217,219,120,38,181,5,231,193,196,80,105,102,
+183,206,87,227,141,240,206,131,4,160,164,218,2,20,12,120,239,1,34,40,185,
+85,197,102,70,20,206,1,173,202,120,233,128,73,21,43,85,231,60,104,54,149,
+217,233,252,157,115,209,219,55,255,121,86,68,56,239,226,247,17,114,139,
+137,7,142,63,23,89,95,152,201,108,250,96,49,154,15,60,61,163,105,162,197,
+224,66,78,74,78,78,195,252,115,253,3,55,221,84,150,125,156,76,113,4,148,
+148,201,221,200,37,72,116,130,23,39,92,207,127,224,45,24,60,167,15,140,
+220,226,220,52,160,240,129,15,243,196,136,19,116,123,197,155,246,120,141,
+31,176,201,5,201,218,119,124,88,3,150,39,92,206,127,64,5,131,199,244,129,
+9,13,250,246,130,46,125,215,69,214,119,190,190,243,108,70,52,56,55,39,216,
+224,33,228,13,151,54,61,20,243,247,15,47,252,57,61,48,120,70,39,59,92,218,
+31,80,246,47,60,124,234,86,252,132,17,2,173,106,163,45,168,127,225,97,70,
+120,209,225,77,159,160,197,250,160,206,247,95,40,181,4,82,73,13,206,109,
+254,254,55,156,100,118,184,253,19,127,218,136,134,244,167,63,112,243,15,
+124,76,15,152,132,112,228,236,87,55,159,47,37,83,23,21,16,194,11,31,230,
+137,151,11,203,231,111,204,159,184,7,17,145,9,251,142,63,205,11,94,156,
+113,105,127,199,13,35,238,227,35,249,150,19,56,12,184,79,31,152,184,197,
+169,251,27,126,46,107,81,201,179,205,190,227,195,142,8,178,199,229,220,
+67,133,39,222,135,7,12,19,152,68,132,189,205,29,127,217,144,124,215,155,
+172,43,245,176,254,185,120,159,43,201,240,126,196,99,122,192,112,139,94,
+53,128,127,199,63,76,172,250,47,221,31,80,169,203,117,217,247,159,97,68,
+111,125,68,54,164,76,200,140,197,224,28,136,78,184,53,140,96,44,164,136,
+142,119,115,141,39,133,198,185,57,195,249,0,163,175,232,155,27,206,34,39,
+181,201,106,30,88,155,229,172,127,123,27,64,130,161,164,88,97,203,4,33,
+6,247,194,125,28,192,212,227,214,116,208,0,24,19,158,227,7,62,204,11,150,
+57,18,155,132,132,159,12,158,246,132,91,123,197,69,55,43,53,209,249,44,
+30,197,121,234,203,88,64,104,52,66,128,131,7,139,200,115,120,88,3,136,22,
+10,3,222,199,23,44,206,184,156,254,134,134,95,248,24,159,240,249,70,76,
+226,145,56,31,227,143,82,114,41,16,67,24,112,31,63,48,161,195,169,251,3,
+63,5,45,208,167,32,36,27,102,15,169,175,56,41,9,248,9,195,244,142,129,21,
+206,170,131,196,136,247,225,129,87,80,232,155,31,248,163,91,99,163,32,1,
+132,17,239,227,29,79,214,184,232,55,252,222,169,18,242,117,119,252,211,
+188,226,253,63,253,129,91,24,112,159,30,240,34,222,115,99,227,245,155,207,
+199,141,7,60,166,7,92,178,47,157,236,29,31,102,138,241,161,251,29,138,109,
+140,15,178,65,223,93,34,82,246,141,191,56,187,254,74,40,128,2,124,48,24,
+140,1,68,131,70,18,56,120,132,229,250,91,144,104,161,120,192,251,240,130,
+19,231,248,252,242,11,247,233,9,151,206,215,50,250,12,49,62,196,49,176,
+200,80,137,17,247,233,17,175,167,254,129,191,117,42,91,43,35,4,247,192,
+63,237,24,57,4,93,140,15,239,230,9,155,156,77,25,30,147,251,192,187,243,
+104,245,15,220,148,46,81,33,246,152,236,7,222,173,143,168,146,210,171,22,
+2,60,140,125,196,243,41,206,184,116,49,62,60,166,24,31,152,34,234,121,159,
+30,177,243,111,126,224,143,86,46,231,131,146,19,167,104,206,176,28,32,229,
+21,125,119,67,183,108,143,196,92,48,55,158,46,196,248,76,98,110,102,29,
+156,75,249,33,221,127,233,159,120,159,238,176,196,8,20,96,93,226,180,32,
+62,47,183,83,192,48,126,192,146,142,58,53,236,48,218,7,62,108,128,86,183,
+104,221,187,120,145,7,191,104,225,146,0,164,148,203,74,192,102,1,138,120,
+125,48,246,144,248,36,43,123,184,19,73,128,20,170,152,243,249,224,35,60,
+47,5,32,0,5,137,138,98,94,200,47,42,41,55,4,188,156,92,18,173,39,105,215,
+197,132,136,98,33,177,4,205,149,201,235,220,128,151,157,96,160,208,183,
+61,78,82,173,93,48,59,56,63,224,105,13,108,246,243,154,77,79,136,137,109,
+177,118,244,19,94,230,137,193,121,72,125,195,143,166,133,100,131,209,27,
+4,234,112,109,123,200,240,196,199,100,64,250,7,254,214,156,209,10,134,177,
+3,88,116,56,105,141,96,227,193,149,205,53,122,26,179,197,224,12,24,29,174,
+221,21,103,41,51,110,132,64,252,199,124,145,55,218,221,14,206,1,242,130,
+183,246,130,78,40,72,74,22,142,254,133,251,116,199,128,6,215,211,21,23,
+213,0,97,128,129,68,171,123,180,48,241,243,139,51,122,9,24,247,196,195,
+78,240,226,140,183,230,140,86,100,212,35,226,165,112,155,231,245,204,1,
+62,76,24,172,143,239,223,93,112,18,10,2,1,222,79,120,185,39,38,71,80,205,
+45,117,103,30,147,13,96,209,225,172,78,145,208,152,193,137,82,201,172,13,
+137,201,253,62,61,48,114,131,203,249,138,171,210,64,24,241,36,137,70,117,
+32,255,192,187,55,96,113,193,69,55,208,228,48,90,7,22,209,71,90,241,132,
+167,185,227,229,1,221,116,104,210,72,68,32,94,183,151,125,98,244,128,210,
+63,113,211,26,10,14,131,245,96,209,161,87,39,40,246,17,121,112,14,82,95,
+241,150,124,167,211,9,72,158,246,14,16,103,156,165,128,119,47,188,236,0,
+131,14,125,219,130,236,59,254,114,6,44,47,184,233,22,18,6,147,179,128,56,
+163,111,123,180,197,166,40,65,232,156,245,75,32,40,116,138,224,221,128,
+167,243,80,42,122,211,139,89,58,150,227,117,30,172,3,139,62,187,254,249,
+117,229,131,13,208,124,254,26,127,71,41,89,8,147,70,226,143,135,115,3,30,
+211,8,39,78,184,180,61,90,154,7,54,209,101,49,0,24,60,160,117,143,94,205,
+92,149,213,74,119,126,53,181,196,143,148,220,221,20,17,31,201,120,77,127,
+34,160,65,167,4,156,55,240,80,80,100,240,48,14,16,61,174,77,7,197,22,163,
+243,96,113,198,165,77,132,216,108,176,174,210,168,109,118,100,12,97,194,
+203,60,240,10,128,110,90,52,50,22,60,179,125,172,177,143,196,23,185,226,
+166,27,32,76,24,204,3,3,75,156,244,25,58,188,240,238,38,120,58,225,231,
+169,71,39,101,38,21,237,97,220,3,79,59,193,209,25,63,219,115,74,182,169,
+92,11,22,131,189,227,105,45,32,47,184,234,6,10,6,147,183,96,113,194,89,
+105,120,251,142,187,53,233,231,109,250,185,3,139,19,122,165,224,236,59,
+30,46,64,234,43,174,170,133,32,139,193,196,248,114,105,174,232,231,66,248,
+136,80,72,229,94,135,76,113,111,62,187,47,51,193,145,66,35,3,94,195,159,
+240,162,193,73,82,188,254,164,160,97,240,52,30,44,123,92,116,23,63,159,
+243,128,56,225,210,164,226,127,94,39,20,12,69,106,137,75,224,68,0,76,205,
+207,155,62,227,164,100,68,255,40,197,7,243,196,228,1,165,223,112,214,45,
+20,28,70,23,0,106,209,171,19,36,91,76,238,129,187,245,16,242,138,91,147,
+138,235,108,52,22,159,207,88,160,221,154,118,201,15,33,24,140,230,142,135,
+179,96,209,227,166,59,72,56,76,206,34,136,51,122,221,129,220,29,31,206,
+192,209,9,63,178,251,155,77,245,225,253,132,209,57,64,164,248,154,114,208,
+186,45,194,203,230,151,20,50,141,120,214,248,18,159,139,31,184,169,6,146,
+45,70,142,241,229,36,91,192,221,241,110,12,160,127,226,111,77,36,112,79,
+230,142,64,29,78,237,25,13,92,50,236,177,144,58,34,202,18,0,253,215,243,
+239,203,164,136,120,134,196,107,114,199,150,88,240,31,49,148,201,85,166,
+10,184,162,52,120,0,182,86,163,76,248,122,23,152,74,114,89,166,98,81,100,
+139,120,157,45,70,251,194,96,45,72,245,56,235,8,201,175,235,61,14,163,141,
+142,63,66,246,56,101,63,223,216,163,21,176,252,136,199,248,192,200,2,109,
+211,163,151,13,192,67,252,119,80,56,53,61,116,24,241,180,35,32,122,92,154,
+51,90,97,241,156,94,24,61,161,107,52,130,55,48,30,104,218,51,122,213,66,
+248,33,86,114,65,225,212,92,112,105,18,92,185,85,90,88,134,169,113,230,
+254,132,69,147,24,163,50,77,209,226,60,252,125,186,99,96,141,115,27,147,
+187,196,234,217,14,242,152,198,7,158,65,160,107,90,200,16,15,50,169,75,
+36,244,9,1,49,203,251,46,151,154,23,98,96,228,212,197,247,55,104,209,183,
+61,206,50,250,147,115,136,85,251,139,5,78,77,154,151,177,195,107,250,192,
+211,123,72,117,197,45,65,159,56,96,58,135,212,233,151,159,63,249,164,135,
+72,54,121,152,1,83,136,144,178,32,130,20,29,206,205,5,103,221,66,11,1,10,
+35,158,211,59,254,50,19,92,16,104,154,43,126,158,46,232,96,112,31,83,87,
+209,244,145,64,9,139,231,248,129,167,243,144,234,134,75,171,225,167,191,
+240,112,1,74,95,112,209,39,52,34,227,33,192,226,57,125,224,233,9,93,147,
+138,37,59,34,136,51,206,74,193,187,59,222,205,11,83,90,231,145,32,8,217,
+225,212,244,232,85,183,140,93,240,233,30,64,128,115,247,133,215,112,109,
+230,142,109,230,5,60,240,62,190,96,208,226,210,70,120,153,14,88,229,165,
+99,81,182,154,71,153,219,28,102,232,118,69,21,226,251,191,224,233,132,139,
+190,224,148,252,188,227,10,157,197,107,140,232,144,210,125,36,85,126,39,
+128,240,136,135,137,227,18,169,90,144,55,201,79,28,113,22,57,195,178,110,
+196,228,3,132,136,160,164,84,45,206,250,138,179,110,75,78,74,190,174,148,
+251,228,112,156,91,190,155,17,150,37,26,125,197,207,182,199,73,9,152,233,
+29,31,206,130,68,31,139,133,132,172,12,44,208,53,23,52,28,139,126,200,30,
+151,166,71,39,242,109,149,128,209,222,83,114,62,227,210,156,211,168,37,
+125,134,48,225,97,62,226,189,9,156,80,197,120,255,187,230,130,94,34,118,
+118,211,11,147,143,13,144,0,226,249,208,87,244,146,97,220,128,209,3,173,
+238,209,235,53,62,140,156,172,87,19,146,180,235,48,185,227,141,75,217,250,
+17,243,152,198,1,1,82,53,128,179,209,195,93,2,33,241,30,34,44,62,96,12,
+33,113,85,0,41,79,56,233,11,122,221,166,243,187,103,217,205,9,153,120,199,
+221,24,112,218,78,106,133,88,125,53,120,192,125,124,224,21,68,140,117,186,
+129,128,199,107,122,199,211,206,13,143,134,179,241,159,133,186,226,210,
+156,208,138,124,84,235,48,154,119,60,108,140,39,151,230,140,102,38,197,
+4,131,167,121,143,215,55,164,243,3,64,138,22,167,230,138,94,107,240,60,
+138,85,125,118,255,202,199,37,164,238,223,160,65,223,92,112,86,42,21,135,
+245,170,113,102,112,4,0,126,72,177,75,166,235,21,147,251,203,124,224,229,
+60,132,190,162,133,197,152,144,139,120,125,28,158,211,3,175,20,79,122,37,
+49,77,239,120,90,7,161,175,184,54,167,101,92,172,124,234,222,133,16,128,
+16,217,190,59,149,59,118,85,242,164,255,132,181,35,71,143,121,23,2,164,
+164,82,2,144,51,230,102,33,194,182,206,234,54,234,88,123,139,192,185,47,
+249,134,129,23,131,150,247,177,26,127,177,136,115,36,169,161,178,66,135,
+125,172,176,94,65,160,209,87,244,170,45,88,242,165,144,72,182,106,198,22,
+131,125,226,233,2,116,23,33,116,231,31,120,142,119,188,184,193,173,59,161,
+225,9,47,107,32,244,53,38,203,185,144,8,2,167,166,129,224,17,79,231,208,
+52,55,156,132,130,183,247,120,32,160,113,233,250,232,251,93,121,1,16,151,
+106,30,33,76,120,76,15,140,208,184,181,23,156,18,97,135,137,211,134,192,
+3,19,34,146,208,43,181,238,139,18,65,49,193,186,1,147,119,32,209,194,217,
+1,86,104,116,237,5,157,210,144,25,27,167,100,17,175,197,90,100,148,223,
+49,160,197,173,233,151,228,2,118,152,220,11,175,64,232,154,107,156,113,
+243,132,151,121,225,233,25,90,223,208,167,185,229,254,96,56,206,181,159,
+230,137,17,45,110,205,5,39,165,211,56,133,1,14,112,110,196,211,5,52,237,
+223,240,91,34,219,68,249,229,88,224,44,169,147,90,156,219,223,160,84,12,
+40,54,50,40,49,134,33,22,31,186,199,89,53,16,60,225,105,158,120,56,160,
+105,222,208,107,133,224,98,231,46,244,45,118,47,130,225,2,226,25,162,0,
+231,166,152,160,228,41,254,121,231,33,213,5,87,41,17,252,29,119,231,209,
+180,127,224,119,169,34,145,139,9,36,34,147,92,102,236,252,93,229,176,200,
+170,129,119,47,60,237,128,32,122,92,117,135,38,171,248,66,24,19,91,189,
+193,181,237,113,146,114,221,48,41,72,89,137,204,185,169,36,8,165,165,238,
+74,80,157,153,189,222,191,18,92,220,227,218,244,49,72,207,9,52,216,152,
+228,92,64,219,92,227,61,253,86,124,136,171,167,15,99,33,165,134,74,228,
+43,199,1,222,73,116,250,4,205,19,30,158,210,253,141,168,89,124,204,19,169,
+45,215,231,42,180,171,171,205,22,17,121,38,74,70,88,220,166,235,106,220,
+128,167,51,16,234,130,139,106,1,255,192,159,211,3,99,208,184,156,122,116,
+100,240,24,7,120,121,197,91,158,88,144,86,211,252,19,15,243,130,151,87,
+252,104,78,145,7,144,205,131,163,205,175,71,219,253,142,223,84,147,136,
+150,72,6,36,1,198,126,224,97,2,154,246,15,252,166,215,231,141,32,32,16,
+127,254,52,30,77,119,195,41,21,139,31,169,88,191,116,61,46,82,67,48,131,
+131,135,35,90,80,137,66,152,160,218,178,225,197,40,194,98,50,79,60,39,11,
+161,154,120,253,49,193,131,96,156,64,167,186,216,185,123,70,211,253,129,
+159,74,71,50,216,188,22,153,182,33,104,230,136,100,14,165,243,88,216,185,
+39,30,102,128,167,43,110,205,25,141,204,52,232,217,98,50,47,60,61,225,212,
+93,208,203,57,62,60,241,176,140,166,185,225,162,36,216,61,240,52,14,164,
+174,17,253,160,144,136,192,4,192,193,186,104,165,28,159,207,22,138,60,2,
+11,8,56,76,246,142,135,141,241,225,167,206,244,25,72,66,18,167,49,228,0,
+47,174,120,75,133,123,77,18,15,46,174,227,205,241,237,156,161,190,185,115,
+31,23,138,132,12,4,135,209,190,240,242,2,93,123,65,175,53,68,152,240,178,
+15,220,29,163,213,61,26,88,140,102,130,104,46,232,213,9,26,22,131,185,39,
+254,202,5,189,36,56,23,209,31,210,55,92,154,14,138,24,62,0,82,164,248,166,
+164,140,1,5,199,43,112,140,29,234,62,253,90,50,63,218,173,83,50,177,98,
+203,168,83,40,5,149,251,100,156,153,69,240,110,247,206,213,110,232,74,95,
+165,76,15,150,225,252,3,31,227,29,47,214,232,155,31,184,205,29,93,130,93,
+156,127,197,185,89,80,232,219,183,72,132,42,220,247,168,44,122,102,18,82,
+234,78,95,211,11,150,100,36,215,216,119,252,243,241,191,240,167,79,55,135,
+12,238,227,0,39,78,232,155,19,26,2,38,243,129,191,140,135,150,39,156,69,
+192,56,61,97,160,160,4,97,50,127,226,31,175,255,198,159,158,208,53,55,92,
+100,19,111,96,33,21,156,75,38,197,31,88,119,199,195,59,72,17,215,251,120,
+254,15,199,93,229,145,27,244,201,71,124,101,39,207,35,143,184,95,63,5,7,
+19,0,146,29,174,237,188,242,84,74,175,172,236,100,206,228,202,3,156,123,
+196,238,86,52,104,68,44,234,86,182,249,0,155,102,156,193,63,240,62,252,
+133,15,199,145,116,164,219,245,129,218,61,82,22,79,19,63,255,165,125,195,
+57,37,240,197,68,133,13,70,247,130,101,9,149,120,12,4,130,16,10,50,5,72,
+27,28,172,183,176,236,224,217,195,186,9,129,26,244,77,143,150,28,6,251,
+130,227,168,19,224,211,231,123,183,140,182,141,164,31,13,131,97,122,193,
+177,70,35,21,16,70,220,205,11,83,112,203,217,117,126,128,67,128,15,14,46,
+16,186,238,22,97,100,225,49,186,17,54,72,40,161,211,60,146,64,114,30,15,
+228,143,9,31,66,86,204,102,65,8,148,84,8,97,130,113,14,62,157,71,231,158,
+184,187,0,41,227,245,159,173,41,211,94,5,198,233,159,248,127,239,255,3,
+127,31,238,24,60,151,82,161,88,85,19,215,231,138,22,162,169,101,7,227,7,
+124,12,239,120,5,133,70,158,208,36,54,53,104,30,123,69,226,163,212,151,
+248,189,191,18,176,89,104,11,3,62,166,59,158,32,104,117,70,131,1,47,27,
+187,185,174,185,225,214,72,248,48,194,178,128,162,57,56,19,4,20,148,20,
+171,161,209,98,232,193,149,150,149,135,11,14,150,45,172,119,112,193,195,
+250,9,44,26,92,244,25,29,28,94,211,29,3,75,104,33,97,237,59,254,249,252,
+111,252,233,8,93,123,197,69,73,4,55,96,8,9,121,225,248,122,126,145,96,139,
+35,191,193,51,4,73,8,246,176,193,70,242,50,115,66,13,7,88,72,40,17,147,
+123,4,81,85,140,201,236,48,186,1,150,4,148,212,203,22,136,16,233,251,193,
+224,105,95,112,164,160,137,48,153,191,240,143,231,127,227,79,39,209,53,
+111,184,234,6,82,0,206,254,133,255,245,252,31,248,127,134,7,198,176,179,
+118,87,200,142,207,119,56,128,253,11,239,169,241,105,212,9,109,24,240,50,
+207,152,144,244,13,111,90,33,248,17,22,2,74,204,197,7,67,72,5,149,32,104,
+81,235,42,20,250,24,1,214,190,48,184,16,157,74,217,193,123,7,23,82,124,
+10,35,158,110,136,133,9,8,33,60,83,124,0,186,54,146,22,37,44,94,230,5,75,
+10,141,146,17,137,49,175,8,149,35,198,128,24,131,21,180,156,127,62,96,116,
+54,197,135,1,6,241,250,170,89,104,90,40,104,17,199,115,203,253,19,2,18,
+30,222,59,248,144,35,243,169,72,241,1,138,26,104,1,248,153,132,158,91,252,
+230,157,252,188,126,24,38,188,236,0,75,4,41,0,239,30,120,159,254,194,187,
+77,241,157,28,158,102,128,87,103,244,205,9,90,48,140,153,57,4,61,46,90,
+67,192,224,53,14,176,208,208,82,129,194,24,191,191,143,223,95,5,239,65,
+82,150,226,162,217,102,90,33,114,66,159,239,193,127,43,201,103,200,16,251,
+16,89,251,243,60,131,121,179,227,89,11,210,16,151,44,124,100,246,163,123,
+35,165,98,177,40,39,194,177,131,49,79,60,173,5,203,30,63,116,135,70,138,
+85,164,132,35,59,247,153,230,94,63,154,46,193,30,92,249,185,115,229,230,
+179,18,146,252,28,150,195,11,143,49,160,145,10,90,247,120,83,17,90,27,156,
+65,80,29,110,237,9,13,24,206,189,48,120,15,173,111,184,106,13,14,46,190,
+90,120,226,99,116,80,66,66,169,51,122,121,195,77,235,180,182,179,111,142,
+129,101,181,201,166,117,14,143,209,252,133,255,246,45,206,205,27,174,138,
+224,221,11,35,75,52,205,117,233,234,138,101,4,14,176,110,192,96,13,130,
+56,161,111,123,92,148,74,162,40,249,68,130,23,181,190,173,149,169,131,15,
+1,129,61,134,233,79,76,174,67,223,196,207,79,76,16,2,128,123,225,47,63,
+64,201,6,39,245,3,191,165,196,78,159,157,163,36,60,52,177,64,219,220,226,
+231,175,221,190,211,58,31,241,128,247,97,196,7,0,45,59,156,219,31,184,136,
+0,99,239,248,211,140,112,243,182,136,208,104,85,143,183,243,41,238,172,
+134,152,216,217,61,241,215,107,128,82,26,157,122,195,111,237,12,59,122,
+88,239,96,131,131,11,14,239,47,139,81,159,113,209,39,116,74,39,194,161,
+129,113,6,14,13,78,42,237,251,47,21,60,65,144,4,97,192,199,107,192,29,4,
+37,59,244,237,79,92,244,188,216,133,227,237,219,133,55,50,97,242,22,46,
+4,12,246,5,209,92,208,169,6,146,25,96,23,239,127,112,24,167,191,240,223,
+190,195,89,191,225,170,99,129,230,253,136,209,13,112,212,160,83,39,116,
+178,66,199,104,182,97,46,49,94,14,6,131,249,192,187,157,96,131,79,164,43,
+15,182,31,16,226,13,23,161,32,152,35,163,218,78,128,184,225,77,119,144,
+223,157,243,133,41,22,63,212,225,173,249,129,94,6,140,83,128,80,63,240,
+123,90,125,162,48,66,66,128,66,186,126,2,144,226,132,190,253,129,11,169,
+56,102,42,130,87,86,20,249,9,163,189,227,47,51,194,5,0,130,65,104,209,234,
+19,110,221,25,173,20,112,238,5,235,28,60,28,238,83,128,38,5,221,92,112,
+19,61,110,74,67,82,92,13,147,152,48,78,255,192,127,153,121,227,226,7,122,
+153,10,224,229,231,255,43,253,252,132,107,251,3,189,76,8,146,144,128,27,
+241,62,140,184,39,104,251,210,254,64,159,232,191,146,36,224,71,124,60,71,
+220,9,80,242,28,191,159,20,113,13,16,20,19,241,228,160,73,66,201,19,46,
+234,26,55,70,128,136,236,76,119,188,130,196,169,237,146,56,87,45,41,92,
+43,69,132,120,127,221,0,71,45,222,186,27,122,193,24,93,186,254,221,109,
+185,254,17,162,31,151,243,43,229,9,125,247,134,139,212,169,17,90,199,175,
+204,235,138,216,226,115,33,36,4,12,198,241,31,24,64,80,234,132,190,125,
+195,69,169,200,205,160,24,31,254,124,14,80,170,65,167,222,240,123,218,88,
+138,205,131,131,9,177,56,123,247,22,83,211,227,210,156,208,73,149,24,249,
+14,214,123,56,188,240,241,154,127,126,142,132,100,246,49,62,132,17,31,207,
+191,227,131,226,243,119,105,127,196,239,7,78,228,185,120,127,255,62,17,
+180,236,226,245,87,51,247,202,193,179,67,8,30,163,249,39,76,136,207,215,
+77,183,144,162,148,9,165,220,106,150,25,33,9,140,193,63,240,231,227,149,
+190,223,13,191,53,145,99,49,26,139,32,59,188,37,162,170,243,47,188,66,128,
+82,49,126,10,142,76,122,199,49,254,124,188,44,76,115,198,89,159,112,150,
+26,204,1,244,63,31,127,103,74,195,130,92,114,176,64,224,63,95,188,253,215,
+102,240,12,4,112,130,131,233,64,124,38,23,215,41,19,105,193,191,203,97,
+184,205,72,41,131,252,211,142,105,112,177,114,123,121,66,163,59,244,75,
+87,158,186,91,63,173,63,87,39,244,25,139,126,243,101,104,223,77,40,146,
+245,67,218,59,78,144,235,44,109,73,18,52,239,121,167,153,27,18,217,141,
+3,128,52,199,226,180,95,26,192,217,142,47,131,73,66,129,138,98,120,35,131,
+183,220,179,152,92,195,204,117,200,200,99,204,12,159,130,136,168,32,144,
+192,30,214,141,177,67,64,131,115,115,195,89,202,204,188,128,11,184,115,
+79,96,142,49,251,61,135,212,213,196,34,107,145,249,229,85,90,55,174,44,
+198,190,90,136,111,8,218,32,190,110,72,59,202,36,54,187,62,160,180,31,29,
+184,180,240,141,73,53,138,189,248,192,197,174,50,137,121,191,63,234,13,
+4,230,101,95,153,210,254,181,204,44,26,35,123,223,71,227,146,4,113,43,202,
+21,225,226,62,51,35,190,175,40,84,235,86,25,89,166,89,51,65,64,80,36,191,
+125,41,172,177,172,123,166,157,92,138,253,235,234,11,79,233,26,248,69,51,
+129,72,164,110,115,245,34,136,154,12,137,84,86,168,225,149,138,122,185,
+76,43,19,47,50,159,165,212,109,188,70,132,0,187,140,13,58,156,155,27,78,
+226,251,177,130,211,30,114,152,119,156,121,86,5,139,223,111,213,117,240,
+105,95,120,86,249,162,101,205,151,170,234,183,20,163,137,163,73,95,72,206,
+138,24,208,83,113,25,137,199,1,126,97,210,139,52,146,72,154,15,233,254,
+151,251,238,34,106,70,100,130,39,158,215,177,134,128,136,59,244,243,189,
+9,14,33,59,214,2,2,66,202,228,2,22,191,159,207,190,67,252,243,50,173,168,
+249,229,249,193,50,110,226,84,84,0,158,39,140,211,7,222,173,133,80,111,
+120,235,122,156,102,173,10,174,10,55,230,76,110,132,192,240,8,97,190,254,
+114,121,22,24,235,190,53,16,192,33,61,219,180,58,93,206,231,136,11,33,230,
+90,57,114,94,150,243,240,62,239,206,196,170,39,48,199,191,197,18,59,219,
+133,79,163,215,128,89,211,98,54,58,18,81,160,45,127,254,230,125,117,202,
+36,144,231,36,155,105,101,204,241,105,141,135,243,243,185,94,99,18,243,
+115,156,213,162,193,39,174,18,45,204,248,25,109,89,27,207,117,174,189,24,
+162,97,213,51,193,252,108,46,239,29,138,235,77,224,120,173,129,236,119,
+210,179,159,127,62,138,155,51,28,28,140,31,65,255,243,249,119,94,160,56,
+46,85,117,248,144,184,246,239,37,248,184,134,17,34,132,35,69,69,10,91,85,
+54,230,170,175,174,54,8,59,42,109,133,86,237,142,34,220,124,156,252,128,
+135,25,224,160,209,233,115,220,83,166,76,188,192,15,120,218,8,121,116,58,
+206,139,37,29,169,244,228,244,253,12,1,161,76,202,180,28,207,103,36,52,
+202,124,219,247,136,141,59,162,123,153,112,248,231,2,110,91,241,212,34,
+84,47,154,197,37,194,17,82,167,239,66,36,117,24,6,26,117,138,172,213,12,
+50,230,220,122,178,230,48,150,53,85,33,95,90,80,22,142,10,70,254,74,181,
+174,186,254,187,180,224,189,43,146,95,131,45,133,120,95,35,142,10,120,124,
+79,142,150,42,51,34,218,211,154,252,196,223,180,148,187,165,67,65,221,253,
+215,231,67,237,61,174,73,61,200,156,225,80,31,200,181,160,46,117,43,215,
+213,82,222,185,134,139,108,241,114,158,82,49,233,29,172,31,240,114,62,42,
+43,54,137,77,255,107,154,192,251,1,36,247,99,47,156,27,215,243,145,111,
+211,108,9,132,56,116,173,91,181,214,107,97,173,61,189,241,76,88,107,89,
+17,156,21,233,120,123,232,171,211,135,163,211,250,137,207,61,237,20,41,
+243,92,155,153,50,171,108,11,27,12,94,211,128,137,9,77,19,121,25,138,86,
+131,174,133,40,57,191,38,103,110,149,213,127,231,231,116,107,140,125,116,
+183,246,21,250,143,158,150,186,97,216,57,200,187,66,60,191,54,18,222,222,
+143,37,241,103,35,223,93,66,249,129,138,96,113,125,178,85,106,230,29,149,
+62,42,132,83,55,155,42,88,52,7,184,208,158,159,207,227,34,176,150,73,68,
+83,161,225,16,185,52,62,88,76,118,128,97,2,253,253,245,119,6,211,30,185,
+124,163,207,254,229,181,253,218,52,61,118,238,204,203,236,120,63,50,85,
+15,24,215,15,118,37,143,12,84,25,102,239,131,174,235,98,179,210,25,165,
+25,17,215,93,55,175,108,235,189,67,187,13,8,171,183,49,103,179,172,210,
+148,101,71,190,49,179,21,228,98,13,113,71,203,154,183,117,204,234,120,196,
+159,220,138,74,239,60,31,107,228,21,54,123,76,238,142,251,248,196,68,45,
+122,29,73,31,170,184,14,165,195,22,113,165,160,158,217,147,209,222,74,206,
+145,180,236,103,194,27,159,37,255,3,211,154,186,180,169,93,218,246,30,99,
+222,73,221,251,178,106,71,97,26,223,10,123,245,239,125,158,196,1,236,59,
+129,31,132,211,74,149,145,80,184,4,19,127,162,40,153,145,80,11,186,75,205,
+152,175,57,89,217,42,160,115,15,220,205,29,131,167,184,6,215,156,209,24,
+63,53,75,0,0,32,0,73,68,65,84,73,149,208,130,79,191,228,191,208,45,160,
+26,151,209,198,87,189,54,127,201,165,107,183,159,225,88,43,126,115,191,
+55,208,230,103,193,143,182,74,153,69,12,219,185,191,187,245,224,103,165,
+223,218,32,5,247,192,221,60,241,10,113,67,167,151,13,212,98,180,146,35,
+181,156,25,203,84,92,228,197,208,171,74,206,75,146,249,164,224,156,209,
+129,141,193,109,46,121,139,141,159,193,151,230,38,159,213,239,71,5,193,
+206,239,175,72,47,109,140,158,81,249,10,108,94,170,248,156,235,97,90,55,
+188,178,77,147,220,35,101,113,137,251,196,208,101,247,251,103,197,91,86,
+100,215,8,247,220,201,27,251,192,125,138,241,251,172,47,232,181,2,253,215,
+235,239,188,121,20,184,50,138,250,119,159,197,236,62,251,16,33,15,169,100,
+36,116,229,237,28,99,239,78,172,29,212,188,83,155,25,150,20,219,96,27,184,
+154,11,113,254,165,6,174,92,229,248,147,158,139,14,202,126,218,233,235,
+138,192,93,27,215,236,122,88,239,152,58,228,124,131,250,207,239,248,64,
+108,14,221,78,63,186,239,99,176,173,170,67,72,112,96,146,102,20,180,129,
+29,0,108,55,43,152,106,189,250,111,20,123,71,15,228,103,7,110,119,244,130,
+141,195,208,54,164,254,42,247,243,19,231,135,131,114,239,216,221,241,168,
+123,207,12,75,170,112,72,95,53,33,188,143,30,21,137,173,42,178,138,113,
+22,14,138,172,162,122,70,233,101,76,235,168,108,47,78,68,68,213,193,167,
+238,69,200,4,99,242,78,231,254,175,52,7,89,81,205,5,196,200,217,72,121,
+219,45,21,128,30,29,39,7,162,181,147,93,188,31,106,78,18,190,118,136,219,
+187,195,91,29,122,124,198,172,40,77,95,178,123,82,184,71,230,51,93,90,89,
+233,88,12,156,18,156,205,123,40,72,157,168,170,241,44,99,119,165,248,115,
+164,48,79,106,153,77,115,150,252,138,38,109,115,110,15,27,237,227,135,226,
+168,56,248,12,5,44,10,217,189,145,116,45,206,79,219,209,239,254,193,220,
+216,251,230,49,168,80,119,61,130,96,243,84,72,251,40,116,188,108,84,174,
+50,166,2,60,142,27,210,8,55,73,235,210,223,95,127,231,26,152,219,69,152,
+254,19,115,119,84,221,251,97,236,203,221,154,56,59,224,216,64,246,185,177,
+89,158,220,43,132,173,120,58,9,149,247,123,145,76,183,149,103,17,170,115,
+119,180,10,6,69,5,74,237,185,219,161,10,252,171,153,207,12,47,114,85,93,
+210,50,79,94,204,117,150,17,105,110,160,83,15,49,115,70,108,105,72,250,
+89,130,58,76,190,217,191,92,181,245,57,131,68,171,226,134,203,196,127,232,
+87,254,43,46,113,252,157,15,74,59,5,14,127,2,127,239,193,243,251,175,9,
+212,222,111,244,117,66,254,180,163,219,130,243,191,102,152,151,157,33,198,
+1,94,193,192,238,171,239,5,202,253,179,190,32,54,216,155,179,28,196,208,
+127,187,51,168,139,152,163,31,29,149,171,219,124,89,84,59,27,212,191,54,
+154,89,97,235,35,188,102,191,40,165,79,15,248,38,74,108,56,60,85,18,94,
+146,36,111,146,78,158,36,121,7,212,160,47,139,104,218,20,253,123,168,227,
+175,161,227,153,219,217,140,4,240,241,179,248,117,204,193,175,21,1,223,
+69,136,152,54,241,177,126,94,190,76,234,59,72,233,230,169,174,76,210,80,
+207,230,107,112,171,186,205,148,17,134,105,7,122,202,37,219,105,103,218,
+33,102,47,222,194,55,137,112,224,173,251,11,232,25,182,164,58,239,61,216,
+135,45,84,145,47,113,215,15,41,21,110,37,40,180,112,184,250,255,89,144,
+34,154,247,20,120,53,124,169,128,23,174,119,21,57,159,183,82,57,223,75,
+196,162,156,71,176,31,39,203,185,29,175,227,255,226,253,86,54,63,47,126,
+200,185,65,205,98,133,203,171,58,96,61,54,41,111,56,29,68,88,202,76,9,86,
+117,59,202,108,36,138,109,25,170,22,15,139,29,104,44,82,159,165,107,199,
+90,189,111,110,253,222,67,66,159,252,243,175,248,127,111,96,115,42,130,
+12,97,235,6,198,59,51,234,79,133,185,55,133,1,29,30,244,173,243,88,126,
+111,234,87,89,131,60,109,230,180,71,102,182,91,94,193,226,59,64,171,128,
+11,215,159,138,214,153,221,76,40,175,29,251,136,243,245,202,106,220,66,
+37,238,51,235,149,31,221,9,250,229,160,241,5,198,194,199,239,180,241,33,
+39,66,245,181,179,70,177,26,227,85,96,62,109,224,240,114,255,31,188,93,
+23,198,1,168,63,63,101,180,59,116,161,253,107,84,41,98,174,99,144,124,145,
+63,5,250,226,241,204,60,18,41,35,61,110,12,153,202,152,75,41,54,174,171,
+189,85,35,64,223,64,148,14,114,231,162,152,192,171,207,98,145,244,246,14,
+205,177,165,227,190,198,201,209,4,109,207,201,142,243,187,130,194,125,173,
+110,123,102,110,20,241,39,65,136,178,194,138,214,228,203,201,248,164,6,
+193,106,85,216,252,254,215,31,119,57,65,60,199,239,85,63,96,243,117,23,
+114,225,246,197,57,173,247,166,217,72,153,144,54,103,141,241,189,140,127,
+96,92,29,40,237,18,74,185,239,153,74,123,33,130,87,215,167,44,168,16,151,
+226,21,249,14,118,129,201,45,65,128,22,131,156,185,187,231,234,244,214,
+129,128,14,246,235,235,147,56,219,247,113,246,112,229,95,97,99,231,87,84,
+37,59,237,206,220,141,45,176,27,22,134,53,118,206,53,243,78,80,216,248,
+205,215,34,37,249,195,156,23,36,180,117,54,202,100,86,150,185,93,81,148,
+174,25,165,64,168,62,91,165,252,46,73,134,191,74,20,101,103,80,254,65,170,
+138,48,62,140,27,116,0,199,175,93,13,103,229,194,222,159,165,47,31,12,218,
+236,23,80,241,105,249,240,242,240,110,171,178,134,103,42,80,30,46,88,250,
+89,129,197,213,237,44,206,223,252,137,214,0,64,156,23,201,229,13,225,170,
+16,217,189,79,191,210,189,127,229,61,189,68,228,109,33,86,20,52,153,105,
+8,237,242,12,118,76,212,51,102,51,23,229,24,99,99,185,182,109,124,55,16,
+1,23,169,147,23,174,120,81,200,205,245,60,209,22,165,166,157,243,191,169,
+1,8,133,222,6,231,170,137,59,155,52,27,194,46,101,242,220,85,28,228,106,
+116,201,219,151,217,75,168,84,95,37,174,7,84,185,223,123,62,27,217,41,64,
+184,250,236,180,243,93,246,254,119,231,252,17,242,230,35,135,201,107,97,
+102,46,255,13,227,211,4,71,105,176,77,156,141,117,138,22,170,28,11,17,87,
+231,55,251,110,156,55,183,243,179,74,188,62,151,84,110,7,109,35,2,31,28,
+109,78,219,24,115,141,69,21,220,243,25,228,65,223,120,104,103,181,49,14,
+8,46,89,143,138,35,214,67,157,185,203,138,155,106,236,137,242,68,194,107,
+7,50,39,28,162,29,211,140,60,182,241,218,89,31,6,85,222,27,181,44,160,2,
+42,54,57,243,186,167,79,245,89,97,172,2,59,155,167,37,131,190,243,243,158,
+23,94,233,125,202,93,245,28,2,170,186,249,204,193,174,236,15,183,62,238,
+216,157,21,51,242,106,133,230,57,83,126,209,168,154,235,230,82,3,124,144,
+155,118,92,255,118,236,209,143,43,246,77,161,181,57,214,217,75,82,53,11,
+69,229,193,118,132,4,236,229,43,62,248,184,180,231,68,190,169,84,184,138,
+184,107,106,38,80,197,129,249,14,66,201,117,128,156,205,59,151,25,242,206,
+17,163,252,30,241,94,179,184,64,241,75,207,69,84,96,34,84,205,16,9,223,
+236,186,190,42,230,62,43,2,151,76,195,11,202,176,204,163,115,27,104,166,
+178,252,160,77,205,155,101,216,249,89,205,157,47,87,116,106,246,82,103,
+108,175,213,222,103,46,153,226,59,17,165,72,48,188,216,240,22,163,232,188,
+248,66,61,77,161,181,19,36,20,39,103,142,19,251,164,201,109,103,203,196,
+149,19,104,230,80,95,1,129,76,159,36,246,172,192,231,106,124,67,121,167,
+76,235,253,41,26,12,170,146,249,87,4,109,28,196,147,221,223,89,137,129,
+249,83,63,207,176,247,70,177,84,52,61,188,3,75,81,86,252,228,5,92,22,111,
+23,68,100,75,92,223,198,175,245,186,80,102,20,144,243,1,104,105,74,121,
+121,30,41,87,97,220,81,167,203,47,141,160,172,66,39,222,135,88,255,37,164,
+45,79,156,28,93,229,68,178,107,68,85,77,229,15,221,218,17,242,74,72,152,
+137,5,188,115,95,185,106,193,41,123,125,94,1,49,218,59,0,180,251,44,109,
+225,199,236,164,206,130,46,249,67,207,53,212,66,229,159,203,59,105,206,
+103,152,149,25,14,231,23,123,246,114,230,109,113,187,118,220,92,84,229,
+43,164,145,85,24,180,77,237,84,0,188,192,126,107,146,201,249,238,244,196,
+185,4,104,126,198,120,63,231,238,207,0,233,11,120,254,104,143,136,104,183,
+40,169,209,9,218,41,240,169,40,0,246,223,140,119,96,127,254,4,48,47,235,
+149,178,208,250,172,57,229,44,21,240,39,121,238,179,25,62,113,254,61,103,
+152,126,13,56,5,63,146,183,117,96,81,28,100,35,157,124,235,100,207,218,
+185,142,36,255,22,26,79,95,4,241,250,228,242,26,64,139,98,99,25,83,48,142,
+1,144,245,98,112,113,64,170,4,77,219,93,7,250,98,148,68,217,41,161,226,
+170,174,99,80,174,152,59,27,116,148,104,195,12,92,45,186,215,221,254,146,
+163,182,34,148,5,60,127,4,1,48,85,143,229,126,217,75,135,131,152,245,60,
+80,85,230,114,29,41,178,228,207,223,65,245,8,199,11,44,159,22,26,245,223,
+21,159,2,57,217,186,30,89,126,86,230,231,207,205,156,100,185,76,31,21,225,
+100,17,242,201,185,211,155,103,132,11,49,169,5,225,229,114,172,192,75,23,
+191,3,208,211,103,207,74,252,75,173,132,46,42,102,217,252,31,32,201,16,
+0,239,99,231,46,147,82,218,146,28,105,135,81,145,153,182,208,209,103,166,
+157,33,196,210,253,87,175,201,33,170,61,113,168,160,87,70,16,73,16,97,135,
+57,66,219,28,183,188,15,21,233,146,129,192,233,61,74,118,131,72,174,124,
+203,163,67,40,131,4,149,132,147,5,134,167,108,42,206,5,138,184,185,55,139,
+38,255,204,15,200,110,224,60,155,229,16,5,18,242,30,131,164,0,137,185,11,
+202,32,181,61,56,147,80,192,191,75,98,10,241,111,2,3,82,172,154,238,73,
+212,131,163,34,67,124,159,3,94,199,151,235,45,135,55,164,70,36,248,96,243,
+139,177,191,245,158,55,14,159,81,118,203,129,13,29,140,0,247,143,39,87,
+49,138,10,85,121,222,161,209,210,97,83,66,5,94,48,239,197,150,27,151,171,
+62,68,214,232,198,127,8,73,44,68,136,45,25,7,40,68,78,226,121,203,138,154,
+140,165,142,154,87,71,219,105,211,191,58,102,255,244,60,228,119,57,159,
+21,87,234,122,200,187,239,195,45,160,234,161,42,135,150,69,39,183,201,152,
+197,103,202,209,197,26,240,229,18,243,41,146,42,29,187,101,109,208,11,202,
+247,21,23,88,126,215,183,139,51,183,182,131,4,184,110,32,108,207,102,13,
+175,81,53,188,218,35,161,50,74,135,130,114,241,140,54,227,93,58,64,39,14,
+99,0,31,210,98,190,55,230,201,248,72,204,216,105,12,50,132,134,74,62,198,
+118,215,40,139,26,203,26,225,54,84,174,40,18,54,12,12,98,108,81,139,60,
+150,45,154,18,25,9,187,250,28,84,121,177,108,139,227,82,183,64,21,172,70,
+222,112,8,126,121,156,86,195,210,81,85,72,32,179,214,169,91,112,16,173,
+14,100,121,167,92,143,220,120,179,23,78,219,50,105,254,119,206,195,61,39,
+76,79,7,111,83,162,23,20,63,143,148,144,125,135,238,162,32,37,54,173,9,
+131,75,41,86,96,97,130,230,171,51,236,29,236,199,132,233,229,150,121,22,
+145,128,236,26,180,55,13,221,138,229,193,42,74,184,140,233,31,109,6,147,
+57,131,164,162,136,40,86,144,242,142,153,176,3,14,87,163,8,14,240,147,133,
+253,107,132,49,88,224,42,82,26,205,207,14,237,89,46,16,165,247,33,106,2,
+72,81,65,83,101,242,92,30,101,102,240,104,48,190,91,112,219,162,187,10,
+8,149,102,122,206,193,126,24,216,32,160,111,13,116,39,203,14,229,40,83,
+238,28,50,158,117,237,67,234,100,100,189,225,206,155,14,187,156,15,111,
+197,124,246,207,52,23,48,254,210,95,37,8,152,67,186,41,185,247,249,23,205,
+231,241,196,138,118,10,130,114,23,99,187,224,24,21,195,56,233,212,215,247,
+157,24,187,223,157,152,17,220,128,105,120,192,139,19,218,83,15,45,105,251,
+48,21,187,242,219,113,66,254,168,237,38,250,127,103,254,254,85,194,207,
+5,93,114,34,1,83,70,48,164,85,184,169,66,21,14,153,228,40,81,10,34,218,
+116,109,197,216,116,247,207,239,227,44,27,105,169,122,76,88,169,155,49,
+239,168,34,112,97,196,155,173,241,109,117,13,14,197,124,246,152,174,51,
+43,255,80,160,131,63,229,186,21,237,59,151,200,73,190,91,159,163,174,40,
+122,8,46,187,220,175,244,47,248,139,153,59,225,120,223,61,35,2,115,214,
+80,149,223,152,11,83,53,170,42,86,42,118,37,179,102,103,179,154,199,25,
+152,156,109,96,112,181,115,190,83,188,172,83,214,74,164,141,170,56,147,
+137,242,28,147,34,242,88,64,80,92,239,51,255,59,237,122,158,191,57,118,
+142,4,2,84,246,112,50,111,32,122,6,149,221,56,111,138,234,205,141,206,5,
+9,86,22,94,54,47,148,18,242,114,66,215,56,216,135,129,243,4,117,110,160,
+219,216,185,67,238,72,162,214,181,103,86,213,21,218,243,4,192,7,184,193,
+193,121,1,253,214,163,153,13,209,65,128,160,152,172,177,138,225,148,93,
+67,154,149,250,0,251,154,96,167,248,217,232,180,74,198,214,2,67,95,174,
+29,21,162,68,140,96,61,252,203,33,168,6,221,91,244,87,119,247,9,211,20,
+192,62,128,131,136,50,155,47,3,51,2,234,220,160,57,71,185,196,13,107,46,
+235,56,152,0,118,1,110,116,112,14,80,23,1,146,233,223,27,7,115,55,176,14,
+80,189,134,110,74,73,199,221,164,254,25,123,54,4,184,231,4,51,1,242,220,
+160,57,203,213,208,39,3,23,143,150,28,247,100,138,142,62,76,25,78,211,215,
+15,30,238,105,226,251,247,13,154,211,78,209,185,59,57,223,102,20,174,10,
+200,163,84,191,157,115,89,184,241,5,99,60,68,211,163,57,137,213,96,104,
+153,47,70,88,158,114,198,53,2,130,27,96,94,79,120,150,208,237,25,42,31,
+145,229,251,139,180,142,195,184,82,111,43,146,28,161,88,49,61,220,77,6,
+126,77,208,102,119,254,74,229,25,204,146,229,154,240,120,157,165,103,31,
+154,179,237,147,61,158,11,215,223,47,91,107,205,159,85,218,131,245,104,
+239,236,236,239,122,114,198,204,207,119,232,41,27,29,174,132,90,70,185,
+251,187,142,77,57,23,32,202,77,66,54,243,255,74,93,143,120,123,198,185,
+112,207,88,86,240,8,244,109,52,134,178,4,61,187,125,46,73,61,79,222,168,
+146,123,142,100,124,182,203,206,223,57,31,248,84,36,139,63,173,80,246,182,
+94,182,170,38,187,220,160,188,132,163,149,172,184,114,12,50,60,174,218,
+76,216,69,191,114,177,176,132,176,16,237,172,246,231,90,12,95,37,131,229,
+17,101,168,189,78,224,95,111,217,203,171,47,132,44,111,36,170,86,160,86,
+131,41,224,106,20,51,244,35,72,180,72,158,217,124,133,210,44,139,173,133,
+243,4,121,110,208,158,53,132,202,42,105,31,59,251,229,44,40,81,174,4,89,
+159,58,247,80,176,110,5,17,194,104,97,198,0,217,181,104,206,18,82,150,137,
+37,184,0,150,4,114,12,80,210,50,79,14,87,8,81,127,57,12,6,230,229,1,173,
+162,10,149,247,192,60,202,240,73,103,157,56,118,248,9,98,21,146,98,55,23,
+8,164,104,117,252,226,128,224,24,44,162,14,184,127,26,184,32,32,251,6,186,
+37,192,1,33,48,40,153,212,4,235,17,38,3,243,244,224,70,131,36,35,56,6,201,
+0,33,0,246,217,218,176,247,241,46,136,88,20,177,243,112,99,0,53,26,186,
+73,51,66,235,96,238,19,60,75,52,183,6,186,19,32,14,240,118,190,215,2,82,
+149,160,19,51,131,93,105,28,20,81,140,136,42,132,49,126,62,104,157,222,
+55,0,82,44,136,8,251,176,170,70,1,128,202,236,65,67,64,96,2,137,52,46,72,
+21,177,16,123,59,68,84,144,225,40,204,239,111,35,58,163,53,148,136,231,
+133,132,40,146,222,190,182,70,0,123,15,8,74,206,121,243,92,220,3,144,32,
+57,91,174,248,136,158,20,160,148,4,9,2,39,3,23,54,79,76,198,2,242,28,175,
+141,247,96,37,87,56,52,248,18,186,38,25,191,99,152,96,95,15,120,150,144,
+205,9,66,68,221,248,217,47,61,185,50,128,93,88,3,188,144,73,115,157,18,
+110,224,1,23,16,178,0,69,164,64,98,221,200,8,46,233,216,171,228,249,77,
+255,66,12,217,35,77,102,35,177,162,43,201,136,180,148,207,203,231,196,49,
+235,101,84,240,254,134,96,148,17,167,102,244,112,73,160,71,68,191,66,196,
+238,72,209,41,47,57,41,35,75,37,37,183,42,243,80,133,6,228,140,236,210,
+34,59,91,101,204,223,139,41,83,179,76,69,94,150,112,75,117,207,92,243,35,
+159,139,239,235,58,28,101,88,206,57,4,11,47,137,119,117,8,242,233,41,227,
+139,21,202,239,174,198,125,210,245,83,197,115,168,81,149,189,82,159,118,
+128,142,61,244,131,22,51,210,149,36,89,232,107,100,186,32,123,93,58,118,
+214,186,185,244,103,204,146,123,134,42,110,54,155,8,71,8,61,231,226,48,
+32,40,14,233,161,161,29,38,94,97,210,113,0,3,204,208,116,214,248,121,31,
+13,54,148,144,217,158,215,30,54,91,105,175,211,30,58,71,179,189,112,1,253,
+111,103,25,37,118,197,140,152,192,94,30,164,59,180,103,5,154,19,76,96,248,
+201,194,60,38,216,41,128,61,32,186,6,237,111,45,180,22,160,224,225,95,22,
+211,221,192,57,6,251,84,165,181,10,205,237,132,86,57,152,193,34,64,163,
+81,4,132,232,63,44,82,2,247,207,17,102,112,8,16,8,147,67,240,49,177,182,
+63,59,104,25,224,30,19,166,167,133,159,24,129,0,41,3,220,203,66,156,52,
+186,91,11,5,7,243,176,240,28,61,161,221,224,224,89,196,247,238,24,238,195,
+192,178,68,251,179,129,82,209,213,204,60,12,236,43,64,92,90,72,54,176,38,
+128,250,22,186,149,64,112,176,207,9,62,8,168,179,64,24,71,76,47,7,103,2,
+0,1,97,98,167,44,79,13,218,91,11,5,31,223,31,2,146,28,236,43,6,113,117,
+59,225,116,145,8,198,194,89,134,60,41,72,37,0,235,48,125,152,132,102,52,
+208,138,16,70,3,251,152,96,167,200,81,144,167,22,221,207,6,74,165,219,230,
+60,236,203,194,60,44,130,143,234,121,234,210,162,59,17,252,107,194,244,
+136,163,21,6,129,148,135,123,81,44,166,222,26,104,201,240,131,129,125,24,
+88,199,64,0,68,171,209,252,214,161,209,4,88,139,233,30,63,191,66,136,247,
+130,36,244,165,67,123,81,17,105,167,3,93,46,235,48,61,38,76,119,7,111,227,
+227,39,84,192,48,95,159,183,120,70,86,90,6,23,115,107,176,131,125,221,97,
+71,3,40,130,155,44,72,72,40,205,176,19,67,118,87,116,253,25,2,22,118,124,
+98,26,198,84,176,121,4,209,161,233,223,208,40,15,247,250,128,49,22,33,164,
+123,36,38,184,177,129,234,174,232,250,19,4,24,222,12,112,227,7,172,141,
+134,43,66,158,160,250,55,180,77,128,127,61,96,109,0,52,96,159,255,192,228,
+24,162,189,226,116,187,65,73,66,240,6,110,124,194,140,67,228,201,144,132,
+58,253,192,169,63,197,144,21,38,216,241,9,51,140,240,137,195,33,117,143,
+246,114,131,22,18,12,143,241,227,29,127,253,53,66,246,55,188,253,184,160,
+145,7,242,204,223,234,218,235,121,248,26,52,115,31,6,174,180,42,104,79,
+61,145,215,2,127,179,24,146,19,66,103,162,106,190,17,195,43,31,134,115,
+190,66,13,217,82,77,149,43,151,228,202,192,78,217,156,124,191,139,43,208,
+135,249,85,153,11,20,112,45,16,114,174,65,189,86,148,59,110,211,102,228,
+70,213,156,121,133,213,169,66,195,142,52,165,177,43,139,204,25,186,176,
+188,18,103,87,231,203,49,2,240,201,196,241,203,196,190,2,60,92,228,131,
+149,214,181,38,207,93,249,97,28,144,177,56,151,110,166,18,100,46,53,157,
+177,7,110,125,113,188,179,127,46,155,13,202,18,59,211,49,78,184,87,179,
+230,218,45,202,7,23,247,211,73,238,220,214,216,201,8,74,14,66,59,249,217,
+121,31,29,184,88,100,77,58,65,145,2,131,225,188,135,148,209,241,171,196,
+78,34,247,205,251,248,254,81,182,182,210,104,78,226,56,66,10,204,206,194,
+165,184,62,47,63,23,36,11,198,120,240,14,238,105,16,72,161,189,40,8,149,
+14,98,8,240,163,133,11,2,234,214,163,97,15,251,49,194,248,104,223,201,206,
+195,188,79,176,44,209,188,157,209,144,131,125,159,224,168,65,251,22,19,
+84,184,27,76,175,232,52,53,12,19,88,8,200,83,131,211,85,67,144,135,189,
+27,88,39,160,110,26,109,175,17,238,35,140,79,130,4,74,65,157,99,209,48,
+9,129,238,166,151,57,53,73,1,112,128,251,152,48,61,60,208,52,104,111,13,
+58,77,152,238,97,113,156,243,54,0,109,19,183,18,130,135,123,90,152,1,80,
+215,22,90,7,152,63,29,130,212,104,36,129,141,133,125,26,56,39,160,127,116,
+169,155,23,16,204,128,208,49,97,182,137,124,149,228,22,221,199,136,233,
+17,128,70,67,221,90,116,202,97,188,251,228,97,204,240,134,193,74,65,183,
+2,228,227,245,115,94,163,189,105,40,193,176,127,69,143,232,166,63,67,95,
+57,254,220,70,132,1,196,240,207,9,227,203,131,218,22,167,223,27,80,154,
+75,8,21,209,7,162,54,94,31,185,126,190,121,77,15,222,97,250,211,194,35,
+222,159,86,0,238,49,96,26,3,216,49,88,49,252,195,96,188,59,80,219,66,205,
+215,239,35,185,61,137,178,141,168,232,107,128,82,80,103,2,251,17,211,68,
+49,161,119,169,186,76,28,142,124,218,228,131,79,238,101,137,212,105,30,
+152,158,119,120,104,104,153,120,20,201,189,142,36,65,42,66,24,223,49,25,
+15,106,47,56,253,184,1,126,128,121,60,224,85,143,166,109,161,68,0,78,14,
+222,191,32,79,111,104,79,45,164,64,114,164,35,176,127,96,120,12,8,162,69,
+115,254,29,189,74,208,59,4,136,2,252,235,79,188,30,19,160,206,104,155,30,
+77,59,193,124,188,0,213,69,84,229,245,142,113,114,160,230,130,246,118,1,
+252,11,230,49,172,16,184,127,96,120,60,1,121,65,247,118,91,58,122,33,100,
+186,87,140,224,38,12,195,4,47,27,244,231,22,90,210,231,222,30,95,175,7,
+236,51,237,56,219,202,166,154,39,151,73,88,115,54,247,221,64,251,40,27,
+149,5,47,231,66,82,148,169,162,70,29,229,185,77,24,45,73,148,117,159,184,
+161,11,109,198,248,92,153,113,85,255,189,36,23,94,70,51,84,73,215,86,20,
+166,140,47,147,19,45,56,51,20,42,73,127,181,216,51,125,10,107,151,123,217,
+229,40,178,114,131,248,10,94,7,190,150,150,5,142,213,248,14,239,81,222,
+33,211,170,245,178,51,140,229,170,16,171,223,159,119,37,177,102,104,126,
+229,72,204,178,188,213,164,231,115,191,169,226,222,209,214,206,135,182,
+69,215,231,66,159,165,214,166,146,82,29,235,45,145,128,148,136,201,119,
+195,240,143,135,69,200,104,93,8,138,72,180,11,17,15,85,114,94,77,200,96,
+250,234,29,4,33,194,149,148,185,82,229,252,65,1,8,200,213,236,164,144,164,
+141,63,151,36,151,228,191,192,40,204,240,47,11,99,5,196,165,133,110,68,
+113,93,73,74,72,41,32,40,206,170,3,11,200,78,67,73,15,247,49,193,90,130,
+122,107,160,91,70,120,49,130,144,80,167,6,186,1,194,96,97,44,161,185,245,
+104,250,108,30,154,118,115,253,221,194,75,133,230,214,161,233,4,48,77,24,
+57,18,239,84,51,19,159,124,156,95,159,52,154,139,94,24,232,196,30,238,101,
+97,7,134,232,79,232,110,26,74,6,216,59,131,164,130,106,20,96,198,104,241,
+218,8,16,123,216,199,4,103,16,191,103,71,240,31,6,246,229,224,69,28,1,64,
+42,52,103,141,246,166,160,180,136,104,131,117,176,46,205,149,47,58,89,183,
+70,88,56,12,19,204,200,16,125,139,238,173,137,239,255,17,32,148,140,176,
+187,53,240,134,33,181,130,144,1,230,195,192,121,9,253,214,66,73,7,243,97,
+225,44,32,175,13,164,142,157,58,24,128,150,16,18,113,230,63,4,136,115,135,
+238,162,33,100,117,180,2,129,109,156,239,203,115,44,144,102,193,21,54,30,
+230,195,198,162,237,135,134,146,2,236,109,124,208,164,140,227,139,215,4,
+51,48,100,127,194,233,71,3,33,2,252,29,32,45,161,78,153,29,234,14,131,152,
+18,112,13,235,224,237,124,125,228,98,72,68,25,172,137,132,42,73,146,169,
+123,15,96,247,130,25,7,176,60,163,109,20,130,31,33,244,9,141,34,132,224,
+161,180,2,249,1,147,21,80,231,31,104,91,21,59,229,41,66,240,237,229,2,37,
+1,182,6,126,114,32,125,69,123,233,161,196,28,136,60,252,56,163,3,23,116,
+253,25,90,100,143,52,59,184,215,29,227,224,32,79,63,209,245,103,72,17,11,
+60,200,88,220,133,241,79,24,227,65,237,21,109,219,130,194,4,103,45,184,
+57,161,61,159,32,48,70,82,158,35,232,83,19,175,43,137,149,220,147,88,188,
+66,157,112,251,173,193,85,72,40,41,254,51,170,180,123,81,127,182,137,46,
+36,60,75,11,104,226,42,248,237,36,129,185,19,90,92,190,150,128,154,203,
+65,151,212,123,250,68,208,102,191,5,221,209,72,220,204,204,247,28,146,114,
+24,130,11,82,111,77,71,160,162,255,46,191,115,13,127,51,237,141,24,178,
+117,187,156,175,64,192,190,222,124,245,237,42,5,203,124,137,105,37,3,175,
+197,71,206,202,60,242,255,194,23,221,238,167,155,53,155,213,103,206,56,
+2,188,240,23,246,28,56,248,87,132,26,136,42,83,176,236,253,56,147,61,231,
+29,65,164,205,218,205,206,6,6,21,148,202,130,188,120,156,214,247,184,62,
+85,145,249,247,215,127,241,225,120,227,23,86,229,152,34,84,90,192,149,187,
+107,24,249,67,183,66,76,156,13,108,40,23,14,216,113,176,218,20,215,57,84,
+21,2,252,96,48,61,45,88,183,56,93,53,164,138,228,133,96,93,234,118,93,156,
+87,115,116,96,150,231,22,167,155,2,57,135,241,110,193,74,161,57,43,144,
+247,112,83,0,181,26,205,73,2,206,193,60,45,130,210,104,207,26,170,201,8,
+120,28,224,159,211,146,188,154,83,236,110,205,221,192,177,68,123,109,160,
+52,33,76,6,211,221,34,8,141,246,170,160,27,185,222,148,201,97,124,90,48,
+105,52,87,13,165,103,50,222,106,36,225,62,38,24,39,161,123,1,216,0,239,
+8,234,162,160,20,197,153,254,16,64,221,76,38,156,217,231,169,243,99,142,
+115,237,187,133,23,26,237,173,129,106,196,58,55,30,45,198,167,69,16,10,
+237,85,71,248,157,227,42,224,124,40,221,99,132,121,50,168,145,16,28,16,
+88,64,221,26,40,21,59,255,241,35,250,91,207,235,113,4,0,141,70,115,109,
+32,67,44,94,232,212,160,57,39,168,28,37,34,195,163,77,215,71,197,89,126,
+147,206,130,177,241,90,6,9,253,214,160,105,37,224,67,132,243,7,134,60,199,
+98,196,189,34,28,31,175,159,136,247,216,167,207,47,233,208,130,103,217,
+40,27,227,232,38,8,29,199,21,250,59,38,48,1,193,142,176,211,0,31,20,164,
+2,130,179,96,138,159,41,56,139,64,26,130,61,152,37,212,233,2,165,37,224,
+94,48,175,1,14,10,250,124,65,163,36,216,70,216,62,136,22,205,233,2,173,
+68,186,54,14,126,124,192,26,11,168,30,205,233,28,121,1,139,75,160,135,27,
+239,48,147,1,244,21,109,215,66,144,129,125,61,225,28,65,182,77,68,10,158,
+3,60,35,110,76,16,65,200,22,234,116,69,211,52,177,216,178,19,204,240,23,
+166,209,197,207,218,93,209,246,61,148,146,199,28,157,111,89,77,254,122,
+178,175,246,86,178,132,153,139,242,148,157,23,31,109,255,108,132,197,105,
+119,196,194,223,226,35,237,147,234,182,150,196,216,5,131,215,241,66,217,
+210,175,154,243,107,199,190,130,6,153,84,245,158,233,234,87,46,154,27,251,
+163,189,37,209,157,222,125,199,139,98,207,219,128,171,149,174,185,110,97,
+124,34,85,253,89,247,253,21,81,243,75,7,202,218,176,246,120,1,238,243,99,
+72,139,178,28,115,133,4,101,219,29,76,84,34,208,21,7,161,118,216,44,193,
+155,44,15,50,23,182,199,95,125,199,61,70,98,78,163,84,123,106,169,255,202,
+186,11,123,70,8,161,36,214,237,170,159,100,171,11,89,53,185,236,128,51,
+109,197,222,246,214,32,54,79,116,186,109,198,193,188,44,88,40,180,231,152,
+220,1,70,120,78,24,31,14,208,26,237,207,22,146,29,204,51,205,182,47,26,
+34,56,152,167,129,155,28,48,121,12,163,139,51,215,75,11,213,74,144,179,
+152,6,135,0,9,221,41,40,93,174,229,248,193,194,14,1,212,180,208,157,130,
+96,11,243,180,112,94,64,93,52,100,35,0,103,35,163,159,101,76,112,77,38,
+219,107,60,236,211,130,33,161,207,42,6,246,121,47,87,165,32,49,88,56,195,
+0,123,240,196,96,41,161,175,177,208,8,131,133,29,61,168,109,160,123,181,
+172,67,21,183,213,197,2,199,177,128,190,196,239,176,4,11,227,96,94,233,
+251,157,27,72,69,177,179,39,1,22,9,254,156,28,220,20,34,167,192,50,160,
+27,168,139,70,211,48,220,195,192,14,128,250,113,70,115,146,177,184,152,
+161,69,9,192,56,140,119,7,86,13,154,78,173,27,12,121,199,228,226,53,112,
+44,208,244,26,58,93,99,132,200,81,176,134,160,110,26,186,17,160,144,54,
+16,94,1,162,213,208,42,68,228,2,18,186,111,160,84,182,197,160,142,5,124,
+144,3,171,46,113,21,88,66,245,13,132,166,2,246,58,18,157,9,102,128,153,
+34,100,174,20,16,220,4,150,45,36,5,4,235,0,169,33,188,131,15,128,60,157,
+99,49,54,221,49,189,158,240,104,209,94,46,104,180,6,219,7,166,33,254,187,
+166,59,167,228,78,0,60,194,244,192,52,140,32,125,69,115,62,65,82,254,108,
+121,248,241,1,51,121,136,230,138,230,116,2,133,17,246,245,130,11,26,170,
+83,128,123,193,25,130,190,254,13,125,163,51,253,108,1,33,212,66,9,99,221,
+161,17,127,64,170,123,228,7,32,235,116,19,225,50,214,75,50,113,25,126,129,
+88,247,45,19,145,92,208,138,51,168,53,223,241,159,29,212,104,167,105,192,
+54,214,20,122,250,181,117,87,25,240,247,192,198,221,93,104,96,147,46,246,
+23,40,247,155,127,194,30,63,32,3,251,243,133,119,162,205,107,44,186,25,
+92,65,236,84,22,172,219,120,57,163,179,91,127,112,218,235,178,119,121,18,
+92,109,29,148,9,127,195,2,255,106,195,130,127,97,238,254,25,233,110,215,
+46,145,54,123,14,181,15,197,167,199,54,19,28,43,26,113,206,20,19,170,117,
+192,173,108,44,21,107,116,51,119,98,41,220,184,54,234,162,133,186,86,223,
+187,220,5,181,214,139,169,145,9,2,101,44,250,95,213,142,230,109,221,32,
+165,66,177,78,90,72,60,230,214,111,188,117,240,161,242,161,59,222,237,172,
+36,110,23,214,67,100,24,219,151,129,15,145,201,45,155,244,35,107,99,226,
+8,18,77,35,32,56,118,214,214,8,52,63,53,164,240,176,31,22,158,20,186,223,
+79,16,34,226,175,66,10,8,77,16,193,195,13,6,214,2,178,147,144,196,8,54,
+128,5,65,74,32,216,8,173,179,108,160,79,18,130,226,156,223,24,134,186,104,
+232,78,64,32,192,153,72,28,67,19,175,83,112,30,164,4,16,24,126,180,176,
+94,64,95,99,2,171,203,94,74,54,187,81,56,72,128,85,74,196,50,177,218,95,
+6,65,54,104,78,58,6,255,205,154,69,64,48,30,214,196,247,23,137,233,47,148,
+0,130,91,223,255,18,19,171,64,110,110,67,96,246,49,184,15,30,62,0,234,124,
+138,93,178,162,184,141,48,5,4,2,180,200,2,190,72,187,245,105,44,192,46,
+128,101,220,22,16,0,152,4,72,166,223,15,12,111,28,236,228,65,173,138,96,
+185,67,44,110,66,128,55,73,80,40,48,194,152,238,135,3,228,185,133,62,17,
+194,107,140,163,130,84,184,236,238,213,3,155,205,248,124,180,227,141,131,
+155,24,220,17,4,24,108,67,188,63,180,149,155,89,88,247,126,132,125,61,17,
+84,7,37,1,63,142,128,62,65,75,134,27,44,160,91,40,225,97,38,131,160,122,
+40,182,176,143,15,140,195,19,44,47,56,93,174,208,90,1,193,194,79,207,184,
+206,217,53,113,124,196,28,229,35,130,131,179,19,60,139,56,235,246,14,65,
+136,200,104,135,135,159,62,48,142,14,162,187,64,119,29,4,91,216,215,7,140,
+215,104,206,29,36,77,48,131,129,23,231,216,137,207,132,40,82,105,45,211,
+197,77,141,25,228,11,6,206,58,144,238,161,187,115,28,183,49,195,185,1,247,
+127,254,133,167,145,56,255,246,3,215,115,187,6,144,239,250,11,28,5,148,
+133,208,196,155,102,155,119,88,90,245,218,85,62,54,207,45,166,87,81,23,
+42,117,245,151,125,98,218,55,142,202,96,107,58,208,89,230,79,96,139,237,
+111,82,165,239,85,15,221,43,121,221,153,244,54,179,212,107,182,55,74,197,
+180,141,198,87,54,35,47,18,247,198,29,110,107,206,243,105,187,77,229,158,
+126,174,199,147,119,200,196,59,184,192,87,30,232,95,121,195,127,214,128,
+102,208,75,97,228,66,84,66,215,153,112,17,125,51,217,45,92,135,172,148,
+43,92,75,103,149,187,4,185,111,53,34,118,84,155,138,21,3,108,228,15,168,
+214,77,160,163,21,198,26,158,207,201,165,41,193,115,117,239,190,157,220,
+211,239,122,231,0,38,72,37,143,77,52,43,15,98,174,118,65,22,205,93,100,
+243,50,28,41,246,240,22,154,39,32,152,52,187,61,69,129,21,49,195,42,62,
+146,235,216,36,2,90,35,192,144,144,23,141,230,44,16,6,3,103,60,172,243,
+112,163,73,108,93,66,243,118,194,233,77,33,56,7,59,56,184,33,38,98,67,4,
+8,133,246,218,162,189,70,86,121,96,1,121,142,176,48,57,3,55,50,168,209,
+104,78,49,136,50,82,55,230,25,254,105,48,188,44,84,154,115,11,239,96,12,
+64,157,142,251,244,98,167,220,36,134,31,28,188,35,52,111,81,164,39,194,
+224,1,110,50,177,235,60,55,177,235,165,189,231,104,86,222,139,176,246,48,
+24,200,190,67,251,166,33,157,135,117,128,104,21,154,78,228,130,130,25,81,
+135,17,76,64,240,20,137,119,63,154,216,24,83,92,47,20,90,128,6,11,243,215,
+11,6,0,132,68,115,139,34,56,16,4,161,36,72,88,184,231,132,241,101,0,41,
+161,111,13,218,171,206,30,196,36,208,243,28,49,188,4,84,223,38,98,163,128,
+208,0,6,7,243,151,135,17,18,170,215,104,127,198,49,2,79,6,222,18,68,171,
+226,125,255,178,25,224,157,209,216,124,106,227,70,193,124,127,154,91,11,
+173,80,153,73,204,127,202,193,141,67,36,212,53,13,48,13,96,209,162,105,
+36,252,248,2,171,19,218,254,12,26,223,1,182,240,227,59,44,110,144,66,64,
+181,39,136,246,13,77,151,56,48,236,192,232,101,224,0,0,32,0,73,68,65,84,
+17,66,64,176,6,198,77,176,250,130,182,191,161,105,226,125,22,4,144,27,97,
+30,35,12,8,162,189,161,235,223,160,120,128,49,22,208,61,218,238,20,215,
+42,199,39,172,39,168,238,130,166,213,128,179,32,98,132,233,142,209,60,48,
+130,33,186,27,218,254,7,52,6,216,215,7,198,209,172,45,130,234,160,187,43,
+186,174,131,72,92,26,80,128,29,94,120,62,159,176,221,79,40,213,110,129,
+145,127,117,238,158,101,243,92,80,106,19,32,169,90,141,61,216,174,219,179,
+1,43,133,225,104,167,191,195,150,20,119,80,149,108,135,59,25,197,137,120,
+113,248,90,63,15,21,174,146,229,122,47,10,5,79,112,133,23,81,150,228,51,
+239,239,163,249,115,206,242,34,194,70,26,151,170,85,178,210,61,243,232,
+22,113,33,121,188,112,164,50,191,11,170,185,2,121,108,63,74,238,123,250,
+219,95,37,118,222,169,11,171,213,48,46,8,106,165,133,55,209,87,52,125,222,
+217,21,219,126,182,66,44,136,184,218,192,168,190,43,213,34,111,156,131,
+75,107,17,81,29,86,206,53,253,55,151,168,156,182,23,42,132,185,154,222,
+127,189,254,139,127,113,220,94,98,64,179,225,131,160,131,209,0,85,130,216,
+217,164,160,88,87,41,155,243,218,240,170,188,193,180,3,69,205,146,156,34,
+219,117,78,15,74,0,124,200,246,106,243,149,190,215,4,243,10,16,125,11,221,
+198,132,233,95,6,211,131,33,46,39,116,87,5,73,33,170,169,85,129,102,222,
+107,231,16,98,53,61,179,169,129,8,99,207,221,236,220,105,132,184,139,188,
+92,129,89,202,149,211,206,54,17,32,176,57,40,156,16,4,115,247,160,115,139,
+246,162,35,25,43,189,116,240,1,12,145,18,193,190,56,39,1,203,222,120,72,
+223,67,72,90,87,112,226,166,90,22,2,178,144,144,62,72,112,81,85,142,228,
+204,70,207,118,218,61,199,239,150,207,169,230,189,116,2,144,126,206,217,
+190,110,252,121,166,208,227,83,151,62,255,142,72,239,131,136,206,132,220,
+164,97,230,21,36,238,71,88,84,19,107,66,79,253,136,215,240,86,22,109,210,
+245,89,98,239,242,30,199,138,94,28,2,64,241,123,112,28,110,131,40,234,43,
+204,228,52,102,7,164,85,179,56,175,136,171,111,177,64,163,117,142,31,66,
+246,230,42,251,121,220,119,71,166,50,23,247,229,227,214,69,252,238,98,153,
+229,69,221,130,89,142,152,226,239,120,95,18,4,73,197,251,200,1,193,135,
+76,122,51,186,72,203,68,144,72,42,16,128,29,241,120,255,19,239,19,163,187,
+254,142,31,151,14,138,112,108,168,241,159,32,220,109,173,209,11,103,197,
+60,8,150,113,39,15,238,7,18,137,57,87,104,39,248,109,4,239,118,202,229,
+114,120,67,123,68,251,207,69,90,150,88,87,174,173,81,33,183,155,117,143,
+123,201,163,154,56,108,204,37,115,183,178,140,223,180,254,207,175,117,117,
+84,237,159,228,252,0,170,229,71,153,107,119,172,195,235,128,163,239,245,
+221,89,125,118,209,103,205,129,188,28,167,74,35,159,142,38,241,84,231,153,
+140,148,88,58,189,111,239,53,202,132,95,158,71,236,232,18,228,27,8,53,183,
+140,81,106,210,31,21,118,245,244,189,42,89,102,146,221,183,18,122,117,120,
+150,53,53,18,49,217,29,117,249,213,64,134,120,39,255,231,68,128,202,216,
+130,119,121,2,59,10,20,123,124,190,221,0,68,137,20,55,98,252,176,8,186,
+69,247,166,35,244,110,44,204,211,129,69,220,121,86,186,188,153,53,186,118,
+72,26,225,250,203,85,213,95,134,108,80,109,60,65,107,49,192,54,38,119,103,
+163,88,79,115,209,144,180,74,116,150,0,201,246,240,126,118,43,11,79,247,
+60,29,214,243,76,170,8,35,168,224,164,239,64,108,95,173,195,124,201,80,
+46,83,243,222,12,173,184,252,169,88,160,3,25,81,136,84,16,45,76,219,237,
+126,47,190,228,142,109,15,194,87,159,107,123,153,74,70,114,13,177,237,69,
+107,218,208,161,120,43,125,200,121,231,64,171,12,237,30,1,43,15,254,197,
+236,54,170,30,90,59,98,184,63,49,56,160,187,190,225,218,183,144,7,218,24,
+135,132,160,35,194,249,94,18,161,76,35,188,38,173,29,36,140,29,14,93,134,
+164,206,10,97,84,52,19,219,4,126,112,167,153,118,153,98,117,247,187,253,
+138,92,57,62,98,199,122,163,92,47,43,59,205,138,1,194,180,37,112,85,172,
+182,66,70,53,139,85,92,137,225,124,62,194,58,0,102,104,107,122,140,124,
+84,66,91,25,222,79,23,14,142,103,26,223,39,114,242,94,144,231,157,103,183,
+86,25,60,136,227,76,216,8,116,47,51,118,94,229,119,105,63,95,23,35,24,70,
+193,234,95,139,206,108,21,110,225,80,112,225,76,186,52,37,188,63,194,200,
+117,11,118,212,255,215,95,159,59,248,95,253,171,16,194,161,29,24,102,83,
+85,151,191,59,171,1,21,21,81,22,100,138,149,184,106,206,67,121,183,193,
+92,25,75,28,16,69,234,234,195,51,220,115,192,120,79,243,199,180,118,39,
+218,6,186,215,208,237,74,4,59,202,223,116,88,125,174,65,122,53,120,200,
+37,64,121,153,253,81,109,98,65,177,211,246,131,129,121,68,222,128,62,41,
+232,94,65,106,81,60,76,91,147,146,253,93,201,101,79,184,38,181,213,102,
+11,53,83,167,80,190,42,89,160,191,84,97,227,139,223,223,4,81,250,230,92,
+119,235,30,55,139,232,184,199,4,243,244,81,68,167,254,24,146,160,78,45,
+244,37,141,84,104,31,57,252,30,223,148,62,197,17,169,144,67,225,170,243,
+219,7,124,235,127,218,174,135,149,163,47,250,44,248,205,164,167,74,68,126,
+89,249,161,253,130,27,240,112,102,192,227,241,196,96,8,77,119,70,127,233,
+208,104,153,180,182,255,141,142,125,83,183,208,210,165,20,58,247,153,148,
+108,30,15,234,228,204,92,23,153,180,22,51,53,36,79,155,48,143,194,222,19,
+223,45,90,246,220,5,120,45,38,190,186,56,27,182,119,174,140,86,237,231,
+239,144,160,249,136,24,157,131,140,53,95,105,167,227,218,52,221,159,21,
+179,84,89,154,114,77,110,228,45,236,202,159,52,125,223,101,204,255,2,160,
+188,104,246,87,116,179,138,13,112,72,70,47,242,72,97,48,150,33,67,135,93,
+57,29,34,17,196,91,228,131,137,118,197,178,151,252,72,95,69,157,173,6,225,
+198,120,243,203,14,126,39,218,69,37,80,15,102,134,18,234,120,22,148,149,
+144,69,215,138,76,187,152,112,220,133,213,189,51,239,68,51,222,169,37,118,
+97,179,186,228,199,226,136,86,124,118,17,161,222,52,56,47,73,57,213,124,
+137,247,152,187,117,5,183,69,14,63,215,208,72,210,184,243,103,99,138,235,
+110,179,24,204,182,114,61,46,66,190,186,145,148,9,64,112,118,104,169,10,
+0,56,130,177,240,141,14,253,59,130,20,155,239,243,213,222,213,113,0,157,
+3,101,240,92,9,139,84,191,63,27,15,209,62,236,118,252,9,142,211,63,109,
+108,40,107,209,73,170,190,193,247,203,8,252,242,159,220,65,23,18,39,101,
+233,28,43,164,171,36,129,37,81,37,23,199,63,82,69,137,224,127,11,133,63,
+176,203,43,5,231,138,197,245,221,72,176,169,9,107,173,247,124,52,147,23,
+142,59,187,209,251,12,229,227,174,29,149,159,121,33,87,74,188,209,97,223,
+204,100,177,19,8,138,201,49,173,66,95,88,61,234,115,1,176,61,20,99,238,
+232,170,89,198,231,35,5,254,12,238,45,203,23,70,9,215,21,43,124,121,139,
+81,159,145,207,24,243,95,29,249,207,8,121,95,83,227,118,88,242,188,181,
+125,62,32,251,213,13,99,13,213,239,198,149,221,78,123,91,8,21,46,160,59,
+23,130,246,206,227,55,38,27,69,38,157,223,239,95,237,224,67,136,10,119,
+44,14,230,66,213,160,137,50,242,8,87,93,97,109,79,75,245,3,86,117,127,11,
+132,183,67,150,162,186,11,253,118,59,145,67,132,229,211,153,203,78,111,
+154,221,189,215,41,56,7,84,53,246,107,20,218,255,204,223,51,65,46,36,53,
+177,111,178,178,223,52,151,131,205,37,201,231,196,140,202,92,6,59,208,60,
+209,47,60,136,191,212,237,213,16,219,177,124,213,247,26,128,99,108,176,
+46,2,203,137,45,125,189,106,123,52,203,255,70,143,255,45,154,15,149,114,
+159,27,86,54,237,160,42,5,46,187,38,140,2,109,219,36,179,117,143,23,71,
+69,235,255,31,127,109,70,14,92,176,186,203,241,27,103,201,46,123,134,14,
+156,237,86,93,249,237,253,33,222,235,52,203,23,90,74,138,131,27,87,227,
+100,95,214,182,123,182,144,188,7,13,103,134,86,25,100,187,232,203,31,146,
+5,42,145,220,90,166,117,62,7,121,180,248,212,93,108,103,13,139,86,151,194,
+21,25,172,142,221,119,58,247,175,226,3,127,55,126,148,49,161,46,98,120,
+239,94,45,90,242,116,112,30,185,24,165,162,30,131,213,6,92,84,117,219,123,
+198,75,179,132,47,85,58,128,76,69,179,88,231,134,207,56,32,123,115,247,
+122,231,31,0,4,255,66,220,157,209,8,231,92,34,214,237,18,86,75,57,223,108,
+238,128,140,25,207,181,20,125,190,53,50,195,117,57,217,102,243,255,235,
+158,102,166,116,19,202,221,212,114,107,117,91,68,110,161,16,102,84,110,
+77,105,107,159,235,102,147,246,97,44,80,169,132,53,143,20,82,32,173,59,
+127,174,159,138,3,125,102,226,50,185,175,93,9,237,234,50,81,158,40,62,29,
+181,208,2,215,130,86,87,170,98,139,131,118,172,66,107,41,231,95,233,220,
+248,43,148,97,127,251,156,62,233,222,247,142,255,190,167,36,23,97,160,132,
+184,234,20,191,237,12,176,51,177,47,63,31,178,191,121,199,144,243,200,5,
+179,210,20,207,18,13,229,118,159,56,88,44,161,157,109,149,172,40,46,116,
+175,185,20,238,152,3,100,110,12,114,120,95,249,63,148,224,51,54,113,93,
+94,205,1,118,49,70,75,123,239,53,113,142,234,37,252,124,193,38,253,195,
+255,245,127,254,223,248,63,254,183,255,29,215,230,138,139,238,139,29,99,
+206,198,88,216,67,0,171,134,133,0,244,186,199,89,247,203,217,225,170,49,
+224,163,251,179,119,0,42,4,125,117,140,43,159,179,34,185,231,90,243,181,
+158,125,177,198,197,75,97,180,174,193,173,118,193,252,197,173,44,215,232,
+226,102,81,174,26,8,174,10,99,46,77,241,118,201,114,95,117,232,188,143,
+242,148,255,254,43,23,154,181,233,217,12,44,121,71,136,173,254,172,76,11,
+226,204,187,201,63,233,181,100,133,85,33,107,144,131,29,84,102,158,92,169,
+53,95,245,94,87,87,215,49,46,127,146,220,75,204,144,81,239,249,196,156,
+195,16,223,38,216,101,23,92,72,9,33,229,174,141,222,54,49,230,59,153,249,
+58,192,255,215,218,151,71,91,82,87,231,126,187,170,78,157,241,158,123,187,
+5,186,155,110,26,163,207,149,136,224,11,13,146,176,222,66,88,47,43,17,101,
+16,208,24,141,60,76,162,8,6,3,130,18,73,212,16,67,38,194,76,192,72,34,17,
+77,98,48,68,77,242,100,185,178,36,131,130,2,33,9,42,51,40,105,160,161,231,
+59,156,169,230,223,126,127,84,157,170,223,84,231,92,120,185,107,221,213,
+125,239,185,167,78,13,191,97,239,111,127,251,251,216,44,89,88,221,124,204,
+112,149,101,76,77,115,54,5,116,88,10,146,99,56,73,143,157,244,117,198,178,
+91,177,82,175,38,229,85,19,174,171,148,181,138,205,156,181,218,31,193,48,
+39,52,157,135,200,210,219,85,108,21,229,220,100,201,31,195,26,167,90,218,
+140,180,59,194,234,121,151,203,20,203,123,5,91,235,83,235,192,137,102,195,
+113,51,50,250,48,12,113,245,85,87,99,199,235,143,197,166,222,38,28,251,
+250,29,184,250,170,171,17,134,97,185,125,50,128,135,30,252,55,156,127,222,
+249,120,221,182,215,97,115,127,51,142,59,106,7,126,239,183,127,15,97,16,
+148,199,250,242,151,238,196,241,71,31,143,195,122,135,226,248,163,143,195,
+93,119,222,165,124,150,252,250,113,71,31,135,191,189,243,174,242,46,46,
+53,151,176,212,220,80,252,43,127,47,106,219,125,117,81,15,61,248,16,62,
+112,222,249,120,237,182,215,226,176,254,97,56,246,168,99,241,187,198,57,
+125,25,199,29,189,3,135,246,14,193,142,163,119,224,111,238,252,155,242,
+150,44,54,251,232,55,251,88,108,46,98,209,95,148,236,96,243,69,167,223,
+236,99,209,239,163,223,92,204,255,214,207,255,190,26,12,172,146,37,36,107,
+230,233,175,251,254,2,250,197,231,244,155,11,216,190,105,59,222,117,206,
+187,240,220,179,207,25,212,153,218,121,168,61,187,5,127,193,250,109,157,
+82,70,6,0,171,71,167,114,9,122,180,105,41,119,202,255,235,249,61,244,26,
+189,114,254,125,244,146,203,240,95,207,254,23,30,124,248,223,48,138,71,
+74,208,14,107,160,165,85,99,137,80,195,238,81,125,196,185,230,22,217,90,
+124,165,136,128,203,41,201,170,21,184,44,57,43,135,155,164,225,184,18,154,
+49,157,178,196,106,200,201,242,240,64,101,3,76,243,240,113,154,234,172,
+171,140,121,150,243,1,204,80,66,181,37,2,235,233,48,152,153,20,176,228,
+52,170,162,31,186,175,159,109,145,98,43,249,83,141,34,88,242,137,159,58,
+200,49,201,101,76,217,212,71,171,30,147,154,40,202,174,123,36,203,22,151,
+65,22,73,110,124,168,184,49,214,56,132,148,192,170,110,229,231,34,241,115,
+214,23,105,79,97,249,12,89,150,153,94,203,164,133,162,83,232,194,32,216,
+169,217,34,177,58,103,101,82,13,213,207,16,179,199,16,250,64,35,3,34,83,
+20,203,108,33,180,12,145,83,69,114,97,27,194,75,154,251,79,181,2,73,8,79,
+30,204,144,34,197,107,170,168,65,118,47,85,196,56,84,14,0,89,248,185,168,
+129,144,235,11,55,92,94,95,197,226,172,28,170,20,215,114,182,36,10,122,
+91,20,207,201,236,214,43,49,89,252,34,8,38,56,235,45,103,225,201,39,158,
+196,151,190,242,215,120,97,121,23,254,234,43,95,194,19,143,63,129,179,222,
+242,118,4,210,70,249,59,159,252,29,156,113,214,25,120,232,145,135,240,212,
+11,79,225,212,211,78,197,181,127,112,45,62,118,241,199,0,0,247,125,251,
+62,92,248,203,23,226,205,167,188,25,79,63,255,52,78,58,249,36,124,240,125,
+31,196,3,223,125,16,4,224,222,111,223,135,11,202,215,159,194,73,39,159,
+132,243,223,119,62,238,255,238,3,96,0,171,209,170,242,125,231,87,191,12,
+0,56,98,251,17,90,136,86,13,138,79,127,242,211,56,253,172,51,240,239,143,
+252,59,158,126,225,25,156,122,218,169,184,230,15,174,193,71,47,254,40,24,
+192,119,190,125,31,62,248,203,31,196,201,167,156,140,167,159,127,26,111,
+62,249,205,56,255,125,231,227,193,239,62,0,128,176,22,173,97,45,26,192,
+136,10,181,175,65,52,192,90,52,192,160,248,46,3,93,50,3,110,2,180,148,188,
+56,70,60,192,74,176,130,223,251,163,223,199,55,238,254,6,46,120,255,5,234,
+144,123,5,182,175,195,120,168,124,43,207,92,111,35,210,92,198,202,5,211,
+166,203,46,67,162,108,211,54,32,51,109,150,50,203,93,47,236,2,0,28,245,
+134,163,138,77,141,148,30,109,158,177,232,201,121,28,131,180,174,104,146,
+94,99,83,121,140,180,13,132,245,32,91,187,15,18,2,195,54,201,122,19,150,
+44,231,52,201,190,172,176,148,252,184,174,32,89,63,93,203,88,81,210,40,
+145,45,188,229,5,66,41,154,214,172,153,150,29,120,126,182,174,128,112,164,
+98,104,172,90,172,18,235,99,159,52,208,196,210,56,169,187,195,200,126,245,
+82,159,127,233,65,204,170,128,146,236,44,168,92,35,107,7,153,234,18,144,
+218,27,46,119,28,88,171,220,154,96,16,43,136,243,244,26,201,146,219,23,
+201,248,92,88,85,190,15,228,192,245,92,192,70,248,146,49,252,50,187,150,
+218,50,160,145,14,203,4,156,13,27,71,147,77,205,26,164,174,175,65,172,26,
+30,88,215,40,214,178,111,121,127,86,87,182,234,103,21,14,103,229,1,146,
+29,86,167,42,171,150,161,254,18,174,101,82,219,216,216,250,52,37,44,156,
+76,168,222,184,122,13,13,171,219,229,229,168,94,47,49,80,165,171,92,250,
+79,203,147,152,53,32,192,214,214,66,168,211,138,152,147,185,231,127,112,
+253,213,215,99,203,214,45,248,163,27,175,193,205,215,221,140,55,254,143,
+99,112,202,9,39,227,251,15,127,31,155,15,223,140,235,175,190,174,252,168,
+255,251,205,175,227,204,115,206,196,226,134,37,44,46,46,226,55,175,252,
+77,0,192,221,255,112,55,0,224,150,27,110,1,0,252,234,197,23,97,105,227,
+6,92,116,241,69,0,128,155,175,187,9,44,189,126,209,197,23,97,195,198,141,
+248,213,139,127,181,124,157,138,254,246,44,205,166,246,10,184,225,154,235,
+1,0,151,255,198,175,155,70,31,197,53,220,253,205,187,113,214,57,111,199,
+210,134,13,88,90,92,196,39,174,252,68,121,78,4,224,230,27,110,46,207,105,
+227,198,141,229,57,221,112,221,141,168,204,39,116,65,12,179,36,193,154,
+181,178,140,190,64,179,126,206,157,199,212,113,57,133,191,61,215,195,59,
+223,245,14,0,192,195,255,249,48,158,122,242,41,244,253,5,108,61,100,43,
+134,131,124,131,254,209,15,127,132,5,127,1,59,142,222,241,138,97,122,35,
+187,111,44,148,203,211,173,55,223,130,158,191,128,133,230,2,94,115,196,
+107,240,107,23,126,24,163,225,168,148,239,236,249,61,44,20,25,121,207,239,
+97,169,179,132,19,223,116,34,30,40,2,49,67,29,76,91,194,186,141,94,149,
+217,55,186,232,54,122,96,6,186,126,183,248,185,250,119,250,117,203,77,183,
+228,191,247,123,248,177,109,175,193,135,47,252,48,134,195,161,10,113,3,
+232,54,58,232,54,186,88,108,247,113,226,241,39,226,193,239,60,80,38,54,
+108,11,108,32,75,148,86,206,110,202,148,159,246,60,203,157,3,117,185,14,
+75,139,188,70,52,102,174,220,206,170,36,134,235,99,54,210,123,63,170,205,
+131,202,146,163,161,227,168,106,229,207,210,69,168,155,251,179,2,73,227,
+53,46,203,157,68,242,26,198,18,42,97,178,100,172,107,127,173,60,46,155,
+224,169,172,29,32,151,132,44,117,55,50,206,23,70,187,3,131,45,157,13,90,
+169,102,6,169,144,141,70,97,46,75,131,172,93,152,51,47,107,159,126,101,
+89,6,33,50,105,19,174,97,182,104,215,63,93,112,100,67,123,42,23,27,150,
+8,115,82,253,70,27,70,106,122,78,170,189,167,20,147,233,17,52,27,213,84,
+214,22,5,42,122,75,101,172,37,67,150,38,200,210,4,156,198,200,50,161,168,
+226,154,215,75,150,13,173,202,66,74,142,54,107,253,18,132,66,100,36,129,
+162,15,131,220,156,36,151,164,213,123,160,245,160,66,228,231,41,132,154,
+192,17,106,120,214,82,192,196,80,219,113,88,218,178,136,44,136,133,141,
+13,60,103,98,206,156,196,106,137,132,179,12,119,125,233,46,92,254,27,151,
+227,67,191,124,33,14,219,116,24,238,255,222,253,216,55,218,135,135,159,
+252,30,62,254,169,43,112,215,95,223,85,11,6,252,231,67,255,9,0,56,228,208,
+67,0,16,30,253,193,163,0,128,109,219,183,130,192,216,186,125,27,0,148,191,
+159,254,187,117,251,54,48,128,109,69,102,254,232,15,30,65,150,6,24,172,
+172,98,48,202,109,132,191,115,239,119,241,224,253,15,226,181,175,253,49,
+188,245,204,51,17,51,67,40,213,87,54,178,70,0,248,143,135,254,3,0,240,170,
+67,95,165,124,230,17,71,230,231,178,237,72,245,156,42,57,76,253,137,169,
+253,235,91,150,54,99,243,226,38,252,212,79,158,128,155,111,248,99,164,89,
+170,105,126,179,181,238,165,117,206,35,19,2,95,251,219,175,1,0,118,28,183,
+3,63,254,19,63,142,83,223,118,42,6,131,1,238,184,253,14,0,192,93,95,206,
+239,249,233,103,158,62,255,185,207,249,122,239,121,239,197,174,253,187,
+48,140,71,229,246,176,127,223,126,220,251,192,125,216,55,216,143,43,127,
+231,183,113,199,237,119,224,183,62,113,165,145,91,191,231,220,247,96,215,
+190,93,184,237,246,219,240,200,247,31,193,69,23,92,36,141,71,174,29,120,
+227,100,84,254,52,74,198,24,37,99,101,120,159,123,222,185,120,233,192,75,
+24,39,227,242,119,251,247,239,199,125,15,222,135,3,131,3,184,242,170,43,
+241,249,219,63,143,43,63,241,91,198,208,255,197,115,127,17,47,237,127,17,
+127,246,249,63,195,15,190,255,3,124,232,130,15,201,0,160,189,134,197,114,
+7,131,38,111,74,18,239,155,102,112,224,72,6,108,43,78,201,212,38,151,36,
+14,16,179,89,206,172,54,137,58,232,79,222,190,171,82,73,133,204,154,93,
+33,96,61,131,158,145,161,215,193,5,179,72,1,108,7,2,171,128,134,172,117,
+248,121,131,149,52,142,82,85,237,34,51,224,214,79,196,146,184,176,74,42,
+49,238,123,197,117,209,213,74,88,11,178,102,215,201,21,142,1,73,88,151,
+130,128,209,58,88,244,185,38,12,152,89,82,136,35,211,64,134,212,44,190,
+106,47,80,39,97,69,0,144,100,245,12,205,26,233,226,121,218,222,83,181,143,
+129,40,247,66,7,12,5,37,19,169,212,155,159,234,46,50,3,103,49,146,104,130,
+56,8,114,145,25,114,225,181,23,209,238,116,224,58,150,76,89,235,121,183,
+209,72,167,170,74,106,47,47,131,145,34,11,135,136,3,1,183,187,132,134,239,
+193,65,138,52,28,32,28,132,64,107,1,237,94,55,231,59,40,211,177,240,187,
+231,226,253,161,128,219,89,130,239,123,101,103,31,213,20,190,153,171,251,
+71,174,3,71,191,247,58,173,141,52,68,117,22,173,124,94,159,123,205,164,
+205,251,214,35,76,134,171,120,205,17,199,224,187,15,63,128,83,126,250,100,
+60,252,163,199,112,200,134,62,166,122,106,113,28,97,235,134,109,216,55,
+222,111,44,155,143,63,246,56,206,121,235,217,216,183,119,31,190,120,231,
+23,113,198,217,103,96,211,194,38,196,113,140,229,112,5,14,1,66,48,54,182,
+55,194,247,125,236,29,238,45,95,95,9,87,0,34,136,76,224,85,157,252,245,
+39,158,125,12,236,119,209,239,181,209,112,8,63,255,246,119,226,158,127,
+188,7,127,124,203,181,248,153,51,207,65,127,227,34,186,13,207,218,205,62,
+61,183,199,30,123,28,103,189,245,237,216,183,119,31,254,226,206,191,192,
+153,103,159,137,67,23,14,69,28,199,88,13,87,65,68,16,66,96,67,123,3,124,
+223,199,254,209,129,114,78,45,22,117,254,18,174,39,24,66,27,59,159,123,
+14,31,191,244,215,241,141,187,191,129,75,62,122,9,174,250,253,171,12,116,
+165,106,77,173,14,210,247,251,198,99,240,125,31,223,252,214,55,177,227,
+184,29,184,247,91,247,226,109,63,251,54,108,221,182,21,143,62,253,40,78,
+60,254,68,60,249,248,147,248,167,111,255,19,78,248,233,19,172,207,86,169,
+183,107,144,189,252,250,51,207,61,131,205,91,54,107,173,113,178,82,98,134,
+197,246,18,182,29,177,13,79,252,232,73,16,1,189,34,3,127,122,231,211,216,
+114,248,225,72,146,4,27,187,27,64,68,24,70,67,107,143,234,244,61,163,100,
+4,2,149,217,121,89,127,167,234,119,63,124,254,135,216,178,101,11,234,148,
+120,178,44,67,191,213,199,182,35,182,225,169,103,159,46,51,119,0,120,102,
+231,51,216,186,117,43,146,36,193,98,103,17,68,132,113,60,182,139,238,104,
+68,56,82,220,225,244,82,32,43,238,118,54,7,196,169,182,189,194,251,33,139,
+46,185,41,137,180,206,126,15,187,112,140,202,82,39,203,122,136,122,157,
+249,217,188,184,217,167,80,83,234,179,214,159,13,46,249,140,86,8,197,33,
+142,213,46,141,146,227,68,218,26,200,48,32,19,104,138,180,100,234,155,144,
+70,0,92,71,183,98,185,215,18,145,145,193,171,222,133,246,231,236,204,43,
+189,179,96,100,89,10,133,66,110,107,142,174,97,95,145,156,233,130,212,186,
+252,212,53,199,16,179,97,229,41,231,209,99,140,52,88,69,48,88,67,156,164,
+185,108,169,76,235,102,181,46,202,50,44,110,165,212,72,146,172,105,128,
+120,188,140,201,112,0,65,45,180,23,55,161,183,225,16,116,187,29,248,13,
+175,132,60,73,71,38,84,226,0,100,150,154,228,145,87,213,255,167,154,206,
+156,34,11,198,136,67,1,167,217,45,54,119,1,145,133,72,130,220,170,180,209,
+108,193,117,43,47,114,153,84,194,34,183,14,173,222,239,106,101,11,253,193,
+8,176,72,144,77,86,17,12,215,16,199,105,30,243,147,90,113,96,137,207,96,
+184,12,178,17,224,175,175,246,94,235,247,92,157,169,227,250,104,247,22,
+177,121,243,38,236,217,179,15,199,157,240,38,220,118,211,45,24,172,172,
+150,185,196,179,63,124,22,91,182,110,49,234,223,223,249,214,125,120,219,
+41,111,197,190,189,251,112,205,77,215,226,140,179,207,0,0,28,122,216,161,
+0,128,40,138,0,16,194,48,175,223,111,218,188,73,121,61,140,66,16,51,38,
+163,213,18,1,240,218,125,108,232,119,208,112,9,143,62,242,8,238,249,199,
+123,240,134,163,143,194,219,206,120,107,62,238,4,176,161,185,88,146,238,
+114,226,93,117,161,247,126,235,94,156,122,202,91,176,111,239,62,92,123,
+211,181,56,243,236,51,107,206,41,170,206,137,97,118,59,88,244,169,167,27,
+227,171,143,60,18,55,125,230,38,0,192,157,127,117,167,148,238,87,144,139,
+98,133,42,75,93,2,24,196,67,12,162,1,238,248,203,59,16,199,49,46,255,200,
+229,0,128,147,78,62,9,199,238,56,22,47,238,122,17,159,254,212,167,241,228,
+227,79,98,211,230,77,120,211,79,189,233,149,215,224,139,175,205,91,182,
+40,83,230,161,127,123,8,103,156,122,58,94,189,249,72,244,253,62,22,219,
+75,0,128,23,119,189,104,152,80,30,126,248,225,0,1,126,163,81,150,30,140,
+177,56,151,19,66,85,191,248,20,13,217,172,142,169,135,30,124,8,167,191,
+229,116,108,223,124,4,122,126,15,253,86,95,58,39,117,224,111,221,186,21,
+0,163,161,157,19,89,212,209,204,115,99,101,133,208,33,97,214,201,240,80,
+137,49,37,204,203,114,242,91,149,6,105,218,206,198,58,111,160,6,235,32,
+117,205,38,35,176,152,174,223,108,53,169,177,144,158,212,154,52,89,200,
+150,100,205,67,102,187,201,149,226,77,100,168,79,176,146,189,147,85,217,
+205,38,4,85,37,64,84,182,40,150,36,59,73,99,190,170,201,147,36,237,172,
+101,239,50,225,117,138,156,17,155,72,0,179,218,146,202,51,22,75,146,49,
+21,158,161,83,202,70,76,52,159,100,71,200,55,26,207,177,147,38,116,149,
+25,82,161,75,171,204,44,169,18,250,68,53,245,101,206,192,34,131,72,67,36,
+193,8,113,148,128,221,70,158,77,179,200,191,179,92,103,91,136,20,89,38,
+128,44,5,103,105,161,187,158,107,120,115,150,21,255,38,16,105,150,235,114,
+51,131,56,69,26,141,16,141,199,72,69,3,126,119,35,154,157,46,188,70,3,78,
+163,5,175,189,0,207,247,225,32,203,97,243,52,129,72,18,100,105,154,235,
+119,115,145,21,103,41,56,203,114,184,61,77,139,207,155,150,32,184,250,236,
+36,69,154,6,72,130,33,162,40,1,26,109,120,173,6,56,203,33,121,80,27,126,
+255,16,244,54,190,42,55,9,1,131,33,192,66,64,136,252,115,211,36,204,223,
+31,38,64,163,3,191,213,204,125,217,179,4,105,113,142,89,154,64,136,252,
+250,69,150,32,75,34,36,193,0,81,156,130,92,31,158,75,64,154,229,2,238,44,
+138,123,28,67,36,113,126,140,226,222,149,17,167,200,138,227,228,231,144,
+137,20,66,111,227,160,250,48,145,133,200,157,218,146,20,105,146,85,229,
+7,146,202,18,113,132,211,223,126,26,62,123,203,159,224,51,127,254,39,216,
+245,220,11,120,211,49,39,96,83,111,19,118,252,196,14,252,225,85,127,136,
+119,188,235,157,200,178,172,132,227,190,118,215,87,113,206,105,231,32,8,
+2,220,246,249,219,240,190,247,191,15,105,42,32,0,28,253,198,163,1,0,59,
+159,253,47,164,153,192,115,59,159,207,137,86,71,191,1,34,171,94,127,126,
+231,78,36,225,8,79,61,241,12,0,224,232,255,249,70,44,244,154,112,139,133,
+235,134,63,186,1,0,240,155,159,186,28,32,23,13,207,43,173,104,229,175,52,
+205,175,235,43,119,125,5,103,159,118,54,130,32,192,237,127,113,59,62,112,
+225,249,229,28,56,250,141,199,20,159,249,60,0,198,174,231,95,144,126,207,
+165,46,185,190,191,19,179,78,152,6,19,74,20,43,152,4,102,137,128,160,134,
+184,146,62,119,85,2,38,156,118,230,105,0,128,239,127,239,251,229,186,115,
+201,101,151,0,0,110,188,238,70,0,192,105,167,159,86,109,0,255,29,61,241,
+197,90,241,75,239,253,37,252,235,63,255,43,254,228,115,159,197,242,104,
+25,123,150,247,72,27,37,207,119,175,38,173,148,161,247,137,27,36,181,34,
+248,102,170,67,62,113,222,123,207,195,191,252,243,191,224,179,183,223,134,
+149,241,10,246,173,236,45,207,201,38,152,196,118,127,80,123,148,43,147,
+113,73,10,82,52,133,62,34,150,60,44,44,27,30,213,115,108,42,159,121,46,
+45,129,235,77,108,229,253,134,161,54,189,169,250,247,114,210,165,116,217,
+240,156,13,123,61,188,141,121,34,54,172,214,95,229,230,86,121,43,39,9,221,
+88,79,229,208,236,106,144,244,32,36,188,156,167,27,180,252,92,100,9,98,
+133,164,5,104,244,251,242,185,200,132,92,150,13,215,230,204,43,82,240,104,
+117,32,176,193,197,82,111,178,35,63,96,61,41,203,178,12,34,205,105,70,66,
+176,193,163,83,178,41,161,77,202,194,5,169,10,104,184,228,121,104,74,155,
+37,41,68,141,250,4,178,112,132,112,117,55,70,251,95,194,104,176,134,56,
+10,144,6,171,152,172,45,35,154,12,16,141,14,34,92,59,136,96,176,31,163,
+253,123,17,172,30,192,100,184,15,195,3,251,17,4,97,110,163,57,88,70,56,
+60,128,96,120,0,227,229,61,24,28,216,139,96,18,65,100,41,226,241,10,194,
+113,0,118,219,133,115,87,163,128,195,81,158,59,167,19,68,163,85,76,86,246,
+97,180,188,27,131,3,187,48,88,89,65,20,198,200,162,33,194,181,3,152,12,
+150,17,12,246,99,188,178,7,131,125,187,49,30,143,145,22,155,127,154,140,
+145,140,86,48,62,184,23,163,229,221,24,238,223,141,209,40,2,53,218,240,
+60,70,54,89,198,120,249,37,12,14,28,68,24,37,32,199,131,227,22,25,57,103,
+16,73,128,100,188,130,201,242,94,140,15,238,198,240,64,254,126,52,186,104,
+181,26,64,22,32,26,175,96,92,190,62,61,191,8,105,184,134,112,109,31,134,
+251,95,196,104,109,128,56,10,16,7,43,24,175,174,32,12,163,124,163,78,38,
+136,71,203,152,44,239,195,240,224,30,140,150,247,35,12,34,8,76,149,204,
+198,136,70,203,24,175,236,197,104,121,15,70,7,247,32,24,141,243,128,100,
+38,244,3,64,164,136,227,9,134,171,203,216,183,127,47,118,239,222,131,61,
+251,14,98,109,28,34,31,86,197,208,77,2,12,71,33,46,188,244,50,236,217,189,
+27,151,255,218,165,184,236,227,151,226,209,103,190,135,123,190,245,13,28,
+115,204,81,216,185,243,57,252,226,121,239,197,129,213,9,226,76,224,214,
+27,111,197,251,207,125,63,90,237,22,190,240,151,127,138,255,117,210,137,
+216,189,123,15,246,175,14,17,37,2,31,254,200,135,1,0,55,93,119,35,118,62,
+251,44,110,190,54,223,168,223,253,190,255,131,181,32,193,69,31,249,53,0,
+192,173,215,223,140,231,94,216,141,207,253,217,23,0,0,31,249,216,37,229,
+164,216,249,236,78,252,221,87,254,14,199,159,112,60,126,230,127,159,132,
+152,29,248,173,38,26,142,139,181,130,93,191,18,238,199,174,61,207,96,239,
+158,253,184,238,154,27,241,43,231,254,10,218,237,54,190,122,247,215,240,
+142,119,189,83,73,90,46,190,180,248,204,63,190,21,203,203,43,184,245,230,
+91,1,84,27,170,46,42,161,56,221,105,44,228,253,123,246,227,227,31,253,120,
+89,219,6,35,111,155,243,251,74,233,139,168,114,190,210,85,183,4,51,190,
+254,247,95,207,3,159,55,28,85,78,191,179,222,113,22,182,31,185,189,252,
+211,211,223,126,58,254,91,190,100,107,76,16,210,52,5,0,244,23,251,8,162,
+16,191,253,201,43,53,210,23,207,44,231,130,73,99,72,219,125,222,140,165,
+178,94,48,162,60,167,197,126,31,97,24,226,183,164,115,34,139,137,83,237,
+102,43,11,72,232,189,250,83,98,47,169,11,61,73,61,87,108,67,38,228,182,
+22,57,226,83,26,128,213,78,126,94,151,145,140,188,207,200,208,116,149,180,
+149,138,163,5,27,188,214,13,204,86,170,163,154,0,128,215,25,24,208,140,
+232,78,73,36,165,49,48,167,35,132,52,42,150,204,67,44,121,98,178,71,4,155,
+60,1,102,59,153,142,88,210,69,32,82,136,112,144,73,113,54,185,110,43,128,
+167,10,48,177,65,215,151,175,67,59,198,158,201,30,206,10,175,113,207,149,
+188,175,153,32,202,122,47,67,8,145,103,242,100,62,37,81,188,223,117,221,
+178,103,84,22,43,102,33,144,137,12,158,59,117,192,82,75,24,66,228,142,86,
+174,231,230,157,123,229,249,71,72,38,107,136,130,20,78,107,17,126,225,147,
+13,206,144,197,67,132,195,16,236,249,240,60,129,52,6,92,175,1,114,50,100,
+194,71,179,237,131,227,53,68,33,195,109,116,224,119,125,112,52,70,20,9,
+52,186,139,112,197,4,73,148,2,173,13,104,183,154,112,61,82,245,245,167,
+168,65,230,192,109,117,208,112,29,112,60,70,20,132,64,107,17,173,6,33,11,
+151,17,76,114,152,188,217,107,3,241,24,113,144,194,237,189,10,77,79,32,
+139,70,72,50,7,110,179,131,134,231,64,196,99,196,147,16,104,46,192,247,
+93,128,9,14,165,72,38,35,36,236,163,217,95,132,239,229,94,241,156,134,72,
+131,33,162,204,129,215,236,22,239,31,229,159,223,236,163,237,187,200,226,
+252,252,26,205,46,188,226,245,56,8,129,230,18,218,157,54,28,36,72,130,226,
+254,181,151,224,55,189,60,235,99,128,56,65,26,14,17,167,4,167,217,67,163,
+65,224,112,136,40,18,240,186,27,209,108,17,56,26,34,12,18,56,254,66,94,
+70,152,150,42,156,234,57,83,77,207,59,167,17,198,163,53,12,35,192,111,47,
+160,219,242,224,22,16,41,21,227,136,192,64,22,99,60,88,195,90,232,160,247,
+170,37,120,34,197,141,87,95,135,191,249,210,151,241,210,139,187,177,121,
+203,22,188,243,61,239,196,37,31,185,0,105,148,32,105,244,176,180,180,128,
+195,123,135,212,46,89,187,199,7,225,115,132,47,126,238,14,220,112,195,103,
+241,210,139,47,225,136,237,71,224,146,203,62,132,159,61,237,108,116,151,
+54,96,161,229,226,206,47,126,17,215,252,225,245,216,245,194,139,56,226,
+200,237,184,226,83,87,224,23,222,243,174,114,92,127,228,162,75,113,199,
+231,62,143,191,255,250,93,248,201,29,199,96,130,14,54,246,123,240,27,78,
+177,148,8,196,225,24,171,203,67,164,110,27,175,223,254,99,181,231,180,22,
+173,149,112,250,213,191,127,53,158,223,249,60,182,191,122,59,174,248,228,
+21,120,247,123,126,161,232,131,95,172,121,239,0,32,198,162,95,189,222,237,
+118,241,234,215,188,26,231,253,210,121,248,224,135,62,8,34,194,82,123,9,
+174,235,98,37,88,177,48,137,243,71,212,215,234,229,253,126,31,199,30,119,
+44,174,185,228,123,80,228,0,0,24,190,73,68,65,84,254,26,188,254,13,175,
+47,127,127,235,205,183,226,138,143,93,129,133,133,5,236,124,105,39,252,
+166,95,91,44,172,173,193,39,67,128,171,215,85,216,158,112,223,189,247,226,
+242,75,47,199,19,143,61,129,172,112,187,171,224,254,17,136,24,189,130,113,
+63,173,159,3,121,159,123,249,59,77,150,213,168,185,19,161,87,252,60,78,
+70,101,190,215,45,127,55,86,206,233,59,223,190,23,31,189,244,99,120,252,
+177,199,141,115,154,36,99,0,132,78,81,131,31,39,147,242,118,76,127,55,73,
+39,22,178,45,169,158,220,108,194,219,178,47,5,107,124,41,211,57,83,91,129,
+89,246,231,128,226,61,191,94,199,56,187,216,178,154,19,210,43,161,220,204,
+244,159,192,108,93,104,37,9,36,173,73,145,44,44,43,198,76,23,0,139,7,2,
+203,246,186,208,68,200,100,88,126,189,118,234,242,158,79,170,158,138,106,
+106,165,10,1,91,195,209,18,117,179,25,232,144,53,166,210,111,30,237,153,
+236,97,6,20,221,88,98,32,205,82,56,142,3,199,113,236,114,144,10,182,100,
+39,45,40,42,240,37,33,132,106,244,153,245,154,85,6,145,12,17,142,18,80,
+187,139,102,187,157,119,231,177,0,39,35,4,195,17,132,219,129,239,166,136,
+163,20,142,223,133,135,8,137,240,224,53,91,112,146,98,115,239,46,162,217,
+110,129,56,64,180,186,138,204,93,128,239,165,136,195,16,212,90,66,171,211,
+129,235,64,29,62,217,4,193,218,0,153,211,70,179,219,67,163,225,128,179,
+9,162,193,4,236,119,224,55,155,16,193,65,132,1,195,235,46,162,217,110,130,
+68,136,120,48,64,230,245,224,183,92,100,163,1,50,183,141,70,167,135,134,
+231,0,98,130,112,48,6,251,93,52,219,157,194,17,78,64,4,203,8,34,66,163,
+221,135,223,110,194,1,67,100,19,68,131,252,243,253,206,66,254,249,233,4,
+209,112,12,110,116,224,55,9,233,104,136,212,105,193,239,44,192,47,206,175,
+58,126,23,174,195,224,120,136,96,28,193,105,246,224,119,242,207,204,173,
+93,35,68,195,149,252,94,181,114,14,0,101,1,226,73,4,246,186,240,59,29,56,
+60,70,52,88,69,130,46,90,221,5,120,13,55,15,14,116,79,24,203,164,228,44,
+197,100,112,16,131,196,67,167,183,128,94,219,207,63,91,183,8,228,12,217,
+100,13,251,87,99,120,139,139,216,208,107,195,133,0,167,1,86,15,14,144,184,
+45,116,122,93,52,93,64,196,99,172,173,5,160,238,18,150,250,29,120,156,32,
+73,115,219,213,220,3,125,136,213,177,64,171,191,136,133,150,135,108,116,
+16,7,134,41,154,253,69,44,116,219,104,32,196,112,121,136,216,233,96,97,
+177,135,6,69,24,47,47,99,132,14,22,23,251,232,250,142,61,51,224,12,241,
+112,25,7,71,140,206,210,18,22,59,77,201,109,152,129,44,67,90,216,181,58,
+14,205,163,245,24,171,13,105,172,88,80,213,113,65,36,251,131,207,88,176,
+8,248,135,175,254,3,206,125,247,185,184,237,207,255,20,239,121,239,187,
+205,72,94,219,99,0,93,174,86,93,140,239,191,255,126,252,220,41,63,135,115,
+126,254,28,124,225,175,190,240,138,97,120,195,243,213,118,237,18,89,149,
+88,213,234,54,140,135,234,116,195,37,146,175,110,98,102,53,165,153,187,
+209,89,164,197,75,163,17,75,58,104,169,247,151,189,207,108,216,106,85,139,
+61,87,255,87,141,98,108,215,73,74,223,55,216,124,152,84,214,119,201,234,
+203,81,255,140,84,120,87,30,143,74,11,176,230,202,183,110,18,93,29,155,
+30,53,36,59,13,89,49,76,85,12,161,65,139,35,223,220,29,94,187,126,146,253,
+43,72,65,163,89,113,122,171,227,20,113,101,156,84,62,39,213,62,151,100,
+71,190,89,106,193,146,99,156,157,4,105,185,189,82,160,50,253,242,12,114,
+71,49,17,28,199,45,188,184,181,73,97,106,202,66,165,3,234,182,79,210,191,
+68,42,169,64,22,2,80,102,123,6,17,143,17,133,17,216,237,162,213,106,149,
+22,169,156,4,136,131,4,236,245,224,55,8,34,77,65,126,15,190,39,144,38,2,
+78,163,9,87,4,136,83,202,51,209,78,3,36,162,156,188,70,77,52,124,7,34,74,
+192,110,7,173,118,27,174,228,29,15,193,224,44,68,60,9,32,168,133,214,66,
+31,158,195,224,104,140,56,8,144,161,137,102,179,1,142,70,72,146,252,248,
+237,78,3,16,33,226,48,132,112,90,240,91,30,56,154,64,80,11,126,111,1,13,
+23,224,120,132,104,146,191,191,213,238,192,117,28,64,100,121,70,30,103,
+32,127,9,126,219,207,55,247,52,64,26,132,16,212,70,179,215,135,231,162,
+64,6,38,200,168,1,191,233,64,132,249,249,53,123,253,226,248,99,68,193,4,
+130,154,121,240,224,136,28,173,8,3,176,219,133,223,110,231,27,44,51,68,
+22,32,30,15,16,78,2,192,241,192,105,136,24,14,92,191,9,175,189,132,86,211,
+207,7,122,146,15,19,145,140,16,12,66,52,90,139,104,117,219,185,79,248,12,
+114,12,139,24,225,100,140,32,1,90,189,69,44,180,43,87,62,29,195,23,113,
+128,209,36,6,55,90,232,117,154,112,33,32,210,16,227,193,26,134,227,16,236,
+165,136,194,81,89,47,118,252,14,250,29,31,72,198,24,141,198,24,78,98,8,
+46,184,22,240,224,119,23,209,107,186,16,209,4,163,68,192,235,46,97,105,
+161,13,151,8,224,22,186,27,60,116,29,31,14,39,8,39,99,76,18,7,205,126,23,
+237,134,99,95,0,132,64,26,78,48,10,82,56,173,62,122,45,223,208,131,135,
+235,161,129,249,6,122,246,230,77,213,19,132,73,107,219,97,147,50,105,119,
+253,203,123,236,127,247,15,174,202,55,119,173,167,151,20,104,88,10,228,
+107,22,150,61,123,246,224,178,139,47,3,17,225,3,23,124,224,101,110,232,
+250,130,45,155,77,64,178,173,165,42,144,97,46,156,187,106,220,241,228,229,
+69,17,142,209,60,21,74,177,41,213,5,177,172,35,215,49,150,53,73,80,197,
+134,83,90,176,229,131,49,215,217,71,200,74,53,186,221,144,92,218,101,21,
+201,148,214,78,5,213,183,234,94,153,134,1,138,160,22,217,84,50,96,119,217,
+212,198,164,60,180,100,11,83,150,120,27,134,87,1,102,100,230,58,84,207,
+53,127,59,99,77,145,183,185,74,234,129,97,250,145,218,105,198,250,5,27,
+70,58,114,35,148,60,79,36,45,18,130,37,42,54,60,224,81,121,183,151,220,
+23,201,123,133,212,214,96,157,31,161,132,50,36,211,6,201,18,223,234,50,
+186,146,221,180,244,229,233,28,60,145,229,164,40,199,113,44,66,119,90,26,
+32,57,41,144,100,247,168,216,58,85,171,150,113,19,203,89,162,134,242,57,
+148,29,78,32,156,54,154,157,118,142,34,8,1,78,198,136,162,0,240,58,240,
+73,64,36,17,224,181,208,64,134,52,73,65,141,46,28,142,145,38,12,175,179,
+136,134,239,1,201,4,113,20,33,205,8,94,187,5,36,99,36,25,224,117,219,112,
+220,202,58,86,16,1,34,68,50,25,33,77,61,52,186,61,184,200,144,6,57,236,
+157,215,233,125,32,10,144,36,69,107,90,211,7,178,0,73,48,70,198,13,52,218,
+30,68,56,68,146,54,208,232,118,225,34,67,18,140,17,79,2,192,109,163,217,
+235,193,115,29,16,103,72,226,33,210,40,134,211,90,66,195,247,243,129,32,
+98,164,147,49,162,204,133,223,237,194,163,12,217,100,140,40,200,121,2,126,
+187,1,132,99,196,105,245,122,26,140,17,77,166,60,130,30,60,7,69,112,52,
+129,112,58,69,54,95,60,55,17,34,13,70,72,50,15,205,13,135,195,247,189,114,
+196,56,142,83,64,239,197,32,109,180,209,92,108,192,13,134,8,163,164,226,
+111,242,116,156,100,16,204,112,92,175,112,101,203,209,149,52,10,48,26,135,
+224,102,31,189,162,117,207,74,6,74,67,140,71,99,4,236,163,219,239,162,233,
+56,96,17,35,26,79,48,137,28,244,14,219,132,94,211,47,223,159,15,37,129,
+116,50,192,234,56,1,53,123,216,112,232,34,40,13,49,153,68,72,168,137,126,
+175,5,39,11,49,8,2,100,110,23,139,5,89,46,31,253,14,92,175,1,176,64,18,
+78,48,30,199,112,218,125,244,218,213,57,170,189,193,140,44,14,48,14,67,
+8,191,135,197,94,27,57,207,52,255,155,44,203,144,9,192,241,28,184,228,204,
+208,244,208,37,188,52,7,103,150,91,113,184,34,73,201,45,163,108,49,159,
+144,164,91,137,129,123,238,189,71,105,61,35,230,242,253,202,134,71,242,
+57,144,193,9,75,179,20,175,59,242,117,216,184,113,35,62,243,167,159,193,
+73,111,62,169,126,1,159,151,129,65,179,201,44,230,252,212,244,132,138,44,
+151,229,126,94,174,218,75,117,31,83,210,119,84,82,197,62,80,152,119,232,
+50,32,186,50,24,235,112,43,217,120,200,83,168,155,37,193,151,10,74,39,203,
+178,72,10,245,95,138,220,140,117,18,10,178,89,162,3,178,67,29,105,42,132,
+172,178,230,117,39,146,105,187,112,158,245,145,213,66,148,106,225,6,29,
+85,169,76,128,160,107,102,218,54,111,219,198,204,51,96,250,89,122,245,48,
+147,73,67,145,148,101,145,160,153,33,204,92,28,157,65,102,107,59,171,146,
+18,68,54,186,124,21,9,40,232,47,73,138,166,164,17,91,167,92,52,170,37,22,
+104,60,120,6,219,96,119,157,19,34,7,211,172,162,46,158,94,228,39,2,28,207,
+53,109,240,88,231,244,75,226,199,83,246,175,148,113,40,42,140,172,237,245,
+26,11,85,17,227,207,34,36,209,4,137,112,224,55,252,162,55,49,3,210,0,113,
+24,130,221,38,92,98,100,113,12,106,180,224,58,140,44,202,64,158,15,226,
+20,89,20,3,141,54,28,23,200,162,53,36,81,2,184,29,248,189,22,28,14,17,77,
+18,8,246,65,16,224,36,70,198,2,66,16,92,215,201,9,109,113,2,248,45,16,98,
+196,195,33,162,40,6,26,61,180,219,205,252,28,98,145,67,222,173,252,231,
+100,50,68,2,31,141,86,19,148,77,144,36,41,208,104,131,16,35,25,14,17,134,
+49,168,209,67,171,179,0,175,225,129,32,144,198,99,36,65,30,192,52,136,192,
+113,12,209,32,112,50,70,146,36,32,191,9,226,24,241,96,128,48,74,242,207,
+239,180,225,100,35,132,211,243,227,4,209,112,128,40,76,64,141,46,90,221,
+30,26,13,23,200,66,164,209,4,153,112,224,53,27,112,136,33,24,57,58,144,
+68,72,162,24,212,88,128,235,186,197,28,114,64,174,83,168,183,165,37,153,
+50,239,75,142,145,101,25,92,175,131,70,187,200,132,145,34,26,15,176,186,
+54,65,230,180,208,91,202,51,91,7,12,136,12,73,20,34,78,5,188,22,131,69,
+146,215,248,201,133,231,82,158,109,103,2,44,82,132,147,49,70,145,128,219,
+105,160,217,112,138,103,159,34,138,99,100,240,209,118,28,73,30,215,203,
+159,115,24,96,50,14,16,115,11,11,77,15,78,22,98,52,28,35,18,13,244,150,
+218,104,185,25,130,113,128,136,27,232,182,218,101,173,92,246,90,66,22,35,
+14,67,164,236,161,211,108,192,115,108,234,227,140,36,28,99,60,154,32,113,
+90,232,116,187,104,55,220,226,175,50,36,225,24,171,43,67,68,240,177,176,
+180,136,110,187,1,183,54,87,103,131,154,197,202,255,72,177,82,150,51,119,
+185,209,192,176,115,133,153,57,178,162,76,42,147,125,200,178,224,90,44,
+154,25,240,92,207,218,226,54,155,142,140,90,255,1,38,181,37,200,204,28,
+169,84,120,52,4,121,172,125,194,108,89,61,88,97,131,151,215,75,170,143,
+44,213,16,174,108,142,93,12,85,74,70,23,191,46,157,212,88,106,43,85,202,
+236,234,17,88,38,31,79,95,39,201,213,77,65,123,37,109,123,50,107,14,165,
+155,155,225,168,72,154,239,134,237,113,177,185,166,91,248,218,164,88,236,
+194,32,63,146,81,7,169,9,254,108,123,46,173,131,61,207,242,189,82,45,191,
+153,84,109,19,69,43,148,76,242,156,170,53,64,146,13,47,171,0,63,87,70,63,
+138,155,223,156,210,2,107,166,239,178,165,47,145,102,46,75,164,6,131,68,
+181,129,22,219,86,146,105,144,108,59,29,38,35,126,243,100,200,32,203,82,
+16,57,112,92,199,18,89,177,10,15,233,70,43,50,60,207,182,218,128,6,189,
+105,180,142,60,98,23,57,60,159,101,224,56,66,148,198,72,146,5,52,219,13,
+32,142,192,78,11,141,134,131,44,154,178,208,5,146,40,3,249,109,184,60,65,
+56,153,228,62,224,105,136,36,112,225,54,123,240,59,27,225,121,46,28,135,
+192,153,11,199,245,64,73,136,104,16,35,113,124,120,221,5,248,205,38,28,
+71,64,36,34,239,81,15,135,0,122,112,201,133,215,234,193,107,247,224,136,
+233,230,222,133,223,110,130,68,130,52,154,32,225,6,26,237,30,26,46,144,
+165,25,72,164,200,194,1,162,172,3,143,28,184,205,46,26,237,94,78,170,67,
+174,231,207,113,136,44,73,32,8,32,183,81,240,11,184,96,222,231,159,31,165,
+29,184,228,192,105,118,242,227,123,14,178,148,1,78,33,194,1,98,238,193,
+33,23,141,118,19,94,107,1,141,66,120,69,112,6,145,9,136,56,70,156,38,200,
+154,61,52,59,61,144,87,60,42,135,144,134,3,4,209,0,64,46,228,227,183,91,
+121,89,35,24,33,142,210,226,1,57,128,215,66,179,221,71,171,217,204,51,124,
+102,100,73,140,96,18,34,201,8,173,110,27,109,223,43,224,127,2,195,129,231,
+121,240,220,24,209,96,25,7,134,14,28,175,141,133,126,15,157,150,139,100,
+188,134,225,40,64,156,49,50,145,183,187,185,2,24,58,46,250,221,22,60,199,
+69,195,245,224,68,19,172,29,12,176,70,4,199,109,161,191,184,128,78,219,
+3,139,12,153,16,200,178,49,134,203,17,34,223,65,234,248,104,247,122,232,
+54,93,136,120,132,48,115,209,105,119,208,109,186,22,226,16,67,136,4,81,
+28,67,56,11,240,60,207,130,81,9,36,225,8,195,97,4,225,117,208,235,118,208,
+242,157,106,50,8,129,104,50,194,36,136,64,189,30,60,207,179,110,238,70,
+166,94,107,129,171,250,78,171,155,174,186,0,144,205,24,163,116,191,170,
+178,127,134,174,179,33,101,135,150,141,147,214,67,136,194,156,215,108,48,
+181,172,252,33,91,215,106,217,81,165,26,38,193,147,172,101,238,44,37,33,
+154,202,90,89,147,157,6,51,242,38,80,100,180,181,155,137,225,181,203,138,
+178,186,172,99,33,183,69,213,249,199,148,106,132,204,149,6,135,134,82,202,
+190,237,83,130,28,73,252,129,170,15,141,205,29,138,36,196,7,154,35,2,145,
+66,58,155,245,72,137,77,89,83,101,19,149,108,185,73,35,1,26,110,108,179,
+203,196,51,180,48,48,199,240,188,178,184,37,157,211,5,178,154,196,130,237,
+70,73,172,5,13,96,178,204,81,117,114,144,156,160,202,188,3,137,147,81,9,
+74,201,28,9,82,28,71,13,187,98,154,83,151,224,202,80,76,45,240,176,161,
+118,169,0,11,108,186,187,42,36,59,102,6,57,164,142,119,107,228,165,109,
+234,18,116,111,181,204,213,219,37,73,202,88,88,135,22,178,124,147,102,145,
+71,178,5,23,128,51,1,56,185,170,91,150,9,56,174,7,32,203,85,246,146,17,
+194,201,24,104,244,209,106,53,43,8,196,41,136,97,82,164,207,89,38,69,110,
+78,142,86,76,9,41,34,5,103,197,153,185,30,136,243,62,2,103,90,51,7,64,228,
+86,139,72,150,130,41,15,30,242,69,38,1,68,113,91,28,183,120,191,147,103,
+201,78,181,170,9,145,149,110,115,228,21,236,244,34,131,230,105,247,153,
+227,84,239,119,156,252,154,68,10,81,30,223,3,113,10,144,155,31,191,124,
+54,185,46,64,57,199,28,233,117,206,187,21,100,177,33,114,167,159,47,138,
+222,126,25,194,204,131,61,149,177,153,183,78,10,56,69,215,132,86,47,20,
+25,18,33,101,173,236,192,45,50,105,145,73,2,69,210,174,226,148,221,25,12,
+145,165,170,210,106,241,140,28,0,44,50,164,66,148,3,203,113,9,44,40,63,
+143,156,186,143,148,9,158,227,90,156,251,242,159,147,96,128,149,131,171,
+72,90,75,56,100,67,15,126,113,111,185,120,127,56,30,98,28,36,112,154,11,
+232,247,90,82,134,95,40,41,70,19,172,173,44,99,144,249,232,111,60,20,139,
+45,215,170,127,93,47,189,45,161,9,164,102,125,165,84,41,203,88,130,93,201,
+76,109,158,102,197,60,165,84,138,228,154,78,38,158,195,10,126,185,72,167,
+173,24,79,48,165,149,161,9,97,146,180,77,113,229,47,174,103,33,21,79,129,
+116,220,223,170,195,78,122,155,142,21,13,160,250,186,130,82,199,149,178,
+245,105,111,57,195,84,171,83,78,128,76,212,2,150,154,61,145,81,113,177,
+14,32,182,213,165,109,112,53,214,249,224,180,42,116,57,94,236,68,53,157,
+242,49,215,97,112,189,227,138,215,155,209,171,36,64,134,106,111,67,51,163,
+4,187,229,51,235,229,20,173,219,129,32,213,206,217,162,212,7,149,7,66,172,
+138,233,216,116,85,103,50,252,21,148,157,172,109,6,165,180,56,207,224,25,
+144,26,24,211,238,201,30,102,145,103,84,110,193,154,159,127,179,42,168,
+64,134,14,89,183,138,85,215,30,147,117,169,4,12,108,141,100,84,108,82,191,
+25,2,34,9,16,142,135,57,251,187,200,116,109,163,144,140,42,168,201,241,
+227,90,130,143,10,245,153,236,93,75,27,9,207,32,245,204,186,175,172,178,
+47,215,171,220,104,46,10,100,173,221,112,13,163,122,230,122,87,247,250,
+255,151,232,9,65,23,95,180,213,153,230,79,13,29,210,82,139,62,208,170,145,
+73,56,198,218,218,0,49,58,88,218,216,71,167,32,216,101,73,132,96,60,66,
+144,58,104,117,187,232,180,124,120,133,114,87,30,148,37,72,162,24,147,209,
+24,17,187,232,46,244,209,107,55,13,121,224,249,203,172,134,92,201,27,190,
+188,129,96,6,163,90,203,62,101,38,182,49,12,140,76,228,101,44,192,47,135,
+84,103,208,245,21,254,143,84,138,38,69,2,153,181,5,169,214,118,148,234,
+246,18,82,219,142,20,18,148,122,95,230,237,74,164,67,221,83,137,108,139,
+101,178,33,7,173,103,49,176,120,187,151,207,149,75,66,84,229,27,65,150,
+137,46,175,7,38,23,161,42,189,86,187,190,125,138,154,171,8,145,134,124,
+200,252,64,137,184,199,60,35,225,155,53,30,102,77,136,185,147,132,44,37,
+24,178,19,71,231,18,91,217,122,248,82,66,92,10,26,89,71,39,216,82,189,153,
+21,44,73,139,171,161,59,49,119,154,145,117,207,178,9,216,176,173,192,86,
+115,255,189,41,25,199,43,123,216,235,34,114,185,215,164,218,124,101,69,
+33,149,112,64,10,195,147,153,106,180,225,45,59,127,37,149,164,174,25,164,
+46,214,185,118,124,4,154,182,163,185,150,54,130,162,230,81,219,223,168,
+147,95,21,146,133,37,149,40,225,78,185,180,48,21,10,34,85,206,86,131,240,
+88,130,16,43,7,33,201,72,68,34,70,233,192,25,106,231,9,73,228,30,125,53,
+229,122,212,148,44,237,36,243,132,40,116,130,204,124,14,203,12,10,56,43,
+42,76,70,77,86,163,147,240,156,18,48,43,128,37,91,130,136,252,101,199,117,
+224,185,13,144,219,128,231,230,159,148,37,49,162,113,222,101,177,176,212,
+65,211,115,170,32,129,5,178,104,140,225,112,132,32,243,208,106,47,96,99,
+183,13,223,115,140,208,195,164,116,217,92,17,228,233,42,205,21,146,245,
+197,85,116,214,186,70,75,16,238,20,142,174,54,35,185,99,69,98,167,83,189,
+62,201,43,224,39,217,215,39,86,192,74,69,177,208,38,83,109,24,40,234,85,
+8,50,145,67,21,110,101,197,85,172,74,220,85,34,86,221,24,52,77,60,12,35,
+118,157,211,103,25,210,108,45,109,179,225,217,161,242,189,89,241,116,183,
+61,6,86,247,125,150,125,60,204,191,169,135,228,77,210,6,179,185,89,202,
+188,41,133,145,173,163,172,182,113,192,115,2,63,187,197,231,156,13,142,
+102,198,182,144,87,135,105,185,163,230,175,72,230,55,72,146,179,85,199,
+4,169,193,47,175,111,109,155,142,191,202,115,68,26,67,12,195,90,156,176,
+62,134,191,156,170,40,199,52,144,35,11,241,175,84,197,4,232,197,225,139,
+204,96,184,78,221,6,15,115,51,102,91,52,84,109,206,70,175,187,150,0,27,
+91,22,107,142,113,178,121,139,100,168,160,44,166,156,215,75,89,112,14,103,
+19,161,206,48,194,136,133,164,212,161,46,58,150,225,42,147,33,40,91,196,
+74,117,79,205,226,81,1,30,44,189,157,90,184,12,211,38,193,168,128,233,200,
+208,140,103,35,233,143,235,251,190,134,238,218,74,168,243,51,199,57,17,
+249,58,213,47,200,50,13,9,117,16,245,252,99,217,242,118,181,14,103,25,51,
+34,43,30,183,3,199,49,37,52,132,16,200,132,200,153,248,14,193,33,103,46,
+224,166,71,217,198,72,212,218,195,201,178,104,177,46,36,100,252,177,222,
+167,60,125,222,82,13,117,29,189,223,175,24,141,169,93,8,73,221,236,160,
+201,154,74,16,82,5,255,90,178,88,3,225,35,13,203,214,77,87,204,235,157,
+159,45,153,75,170,57,164,107,204,217,21,232,15,10,155,152,116,75,16,139,
+104,141,114,15,244,214,59,131,31,160,102,243,58,144,62,7,209,159,3,203,
+145,57,254,12,114,36,205,238,111,159,33,84,179,46,7,202,154,11,168,11,230,
+235,218,239,97,163,168,232,213,122,153,204,201,108,57,30,219,155,237,102,
+65,160,44,89,1,67,87,39,212,72,179,235,130,251,204,210,155,202,218,129,
+105,104,99,57,89,47,111,135,35,72,234,29,218,83,134,186,217,169,225,144,
+212,55,40,193,18,100,66,108,198,190,105,132,237,172,74,58,146,250,128,140,
+24,128,114,183,91,114,107,194,68,173,132,80,14,12,105,213,177,18,124,25,
+10,171,95,53,149,49,239,79,85,63,35,51,160,37,245,97,177,205,217,206,152,
+16,242,99,36,107,84,110,157,180,178,55,50,145,220,224,96,192,240,164,118,
+116,152,45,88,175,100,19,88,151,112,56,215,0,81,230,146,85,103,155,67,214,
+35,48,216,146,229,51,216,168,39,130,28,192,213,182,125,71,103,219,171,255,
+39,199,133,231,56,26,34,64,53,197,3,121,49,225,202,119,129,165,201,41,5,
+152,186,247,151,33,26,90,183,56,146,153,246,202,203,53,145,74,140,154,169,
+24,70,47,115,179,183,240,108,205,5,139,85,89,79,121,3,101,216,145,15,29,
+161,128,9,103,148,80,55,169,118,210,100,88,31,202,100,3,115,142,25,129,
+165,18,28,155,206,92,181,101,3,174,100,99,73,202,140,217,56,180,116,204,
+242,188,84,50,215,76,173,116,86,185,75,58,251,91,238,131,95,143,242,43,
+75,1,161,174,66,15,153,109,174,203,36,211,140,77,121,214,13,155,71,190,
+179,168,243,149,8,21,171,123,145,204,76,39,155,245,10,235,244,195,74,255,
+159,184,34,197,149,29,10,128,242,12,141,232,66,79,104,193,210,16,37,217,
+31,88,233,211,151,61,127,13,46,39,236,200,186,108,1,108,114,88,52,117,3,
+174,9,10,80,117,90,56,194,66,6,177,251,74,179,230,140,68,202,190,199,146,
+219,16,179,145,228,42,242,139,36,107,42,91,160,27,101,200,105,34,21,245,
+101,30,109,229,155,182,146,204,32,250,24,177,140,230,97,95,95,115,81,161,
+22,185,238,71,100,158,81,85,163,97,117,130,235,62,193,26,107,213,94,175,
+150,31,172,70,19,85,72,50,172,198,75,164,104,49,152,196,14,27,228,54,75,
+71,122,46,161,198,14,170,177,114,23,235,215,12,251,220,178,179,78,85,15,
+193,233,239,204,19,155,93,250,211,109,49,245,2,130,174,153,181,78,231,12,
+150,125,30,88,113,79,36,205,220,67,22,42,177,126,43,207,167,128,239,24,
+154,185,140,20,168,50,25,207,144,231,193,237,235,45,189,204,250,89,126,
+214,68,213,156,32,105,45,176,140,3,117,227,228,106,76,51,73,89,144,76,144,
+82,89,211,12,86,231,6,145,189,11,9,154,142,56,212,190,123,214,42,158,52,
+67,20,72,29,115,100,36,71,172,149,101,100,19,188,90,244,195,208,158,47,
+142,175,252,95,10,91,9,224,25,35,210,128,231,167,107,24,91,36,110,136,36,
+166,182,166,137,47,159,147,45,88,172,227,241,80,205,49,52,227,28,146,239,
+29,177,178,127,144,209,41,32,149,22,140,196,193,94,35,32,182,248,220,203,
+229,8,170,41,71,218,16,132,178,44,203,165,82,97,217,42,206,21,226,194,250,
+154,77,58,8,108,245,188,147,198,13,12,111,63,148,1,4,107,139,102,149,241,
+151,52,242,146,84,103,133,92,201,124,40,86,128,132,75,226,8,49,73,61,148,
+150,186,149,34,112,160,101,237,83,229,31,61,19,98,182,27,54,105,108,87,
+229,169,144,134,53,19,73,182,123,176,111,246,172,77,92,182,65,70,44,213,
+23,81,218,192,42,129,31,91,22,4,182,184,231,105,72,136,25,201,205,71,182,
+160,147,136,74,53,44,82,72,143,101,233,64,246,37,214,58,30,172,3,124,222,
+226,94,187,81,204,254,67,86,170,208,178,89,134,185,248,91,6,161,17,42,144,
+102,208,171,47,2,235,39,58,66,51,100,36,99,109,162,154,73,55,171,10,90,
+6,34,197,67,32,189,38,71,234,222,102,44,166,108,15,170,202,133,157,85,119,
+42,34,203,102,86,179,96,217,199,255,203,252,50,50,56,233,195,185,66,206,
+108,78,211,101,240,107,11,40,169,66,8,33,181,211,209,148,113,175,187,138,
+144,10,19,214,162,195,68,74,198,196,133,250,156,169,20,166,7,146,181,49,
+191,230,23,38,219,189,144,98,98,2,178,216,151,202,48,154,18,39,144,178,
+128,147,214,157,79,26,146,85,79,116,151,199,28,91,82,136,105,25,165,114,
+77,51,114,28,90,87,65,220,220,75,108,162,54,150,140,133,109,55,149,205,
+240,4,198,19,177,205,113,201,43,131,72,186,234,170,92,91,109,83,156,115,
+69,244,214,65,91,128,173,132,20,22,212,72,206,70,103,56,27,202,251,137,
+81,133,215,60,10,160,201,58,40,153,239,44,152,134,200,38,52,70,106,161,
+215,114,211,88,87,126,146,24,161,50,73,204,120,96,4,11,193,77,202,102,203,
+40,90,173,193,170,186,202,243,242,65,121,210,179,138,20,48,27,240,180,181,
+114,40,23,15,21,253,194,42,43,81,81,82,82,29,134,172,193,82,21,204,176,
+100,35,72,36,109,114,108,11,90,230,36,76,83,98,158,54,144,73,211,181,102,
+89,74,209,54,41,108,27,201,203,109,105,153,49,241,109,65,153,236,140,196,
+70,111,243,220,208,70,139,225,213,76,216,182,192,211,220,205,93,95,48,73,
+9,234,72,11,78,236,199,100,5,94,85,44,44,229,241,47,89,84,201,45,59,42,
+244,103,243,70,163,74,225,75,106,53,83,149,107,217,116,125,148,18,52,235,
+41,207,179,174,156,155,217,219,161,130,138,172,88,100,29,26,103,128,229,
+69,17,150,37,199,114,238,44,163,34,100,89,15,168,78,228,69,215,103,215,
+37,63,229,220,73,221,221,152,168,182,233,74,175,224,41,50,188,242,94,197,
+246,10,168,125,243,148,71,54,25,201,26,171,57,151,186,106,176,93,34,153,
+109,88,38,177,36,251,170,173,103,115,145,154,25,235,4,48,223,3,30,246,160,
+176,180,170,102,214,84,228,88,153,133,166,8,145,150,212,161,66,147,217,
+114,127,229,89,95,33,184,100,15,118,165,222,249,146,188,58,117,76,101,82,
+206,121,74,56,151,166,106,237,125,100,219,141,80,212,14,101,121,119,54,
+133,109,160,239,85,84,218,75,3,140,255,7,235,53,118,152,139,141,219,172,
+0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_2 = 340;
+static size_t xml_res_size_2 = 322;
static unsigned char xml_res_file_2[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,112,97,121,
-112,97,108,34,62,65,98,111,117,116,68,108,103,95,98,105,116,109,97,112,
-115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,
-111,110,115,95,97,98,111,117,116,95,51,50,95,112,97,121,112,97,108,46,112,
-110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
-32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,115,112,108,97,115,104,115,99,114,101,101,110,34,62,65,98,111,
-117,116,68,108,103,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,
-95,82,117,110,116,105,109,101,95,105,109,97,103,101,115,95,115,112,108,
-97,115,104,115,99,114,101,101,110,46,112,110,103,60,47,111,98,106,101,99,
-116,62,10,60,47,114,101,115,111,117,114,99,101,62,10};
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,112,97,121,112,97,108,34,62,65,98,111,117,116,68,108,103,95,98,105,116,
+109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,
+45,105,99,111,110,115,95,97,98,111,117,116,95,51,50,95,112,97,121,112,97,
+108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
+101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
+32,110,97,109,101,61,34,115,112,108,97,115,104,115,99,114,101,101,110,34,
+62,65,98,111,117,116,68,108,103,95,98,105,116,109,97,112,115,46,99,112,
+112,36,46,46,95,82,117,110,116,105,109,101,95,105,109,97,103,101,115,95,
+115,112,108,97,115,104,115,99,114,101,101,110,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,60,47,114,101,115,111,117,114,99,101,62,10};
void wxC3415InitBitmapResources()
{
@@ -1574,8 +8133,8 @@ void wxC3415InitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$.._codelite-icons_about_32_paypal.png"), xml_res_file_0, xml_res_size_0, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$.._Runtime_images_splashscreen.png"), xml_res_file_1, xml_res_size_1, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$_home_eran_devl_codelitegit_LiteEditor_AboutDlg_bitmaps.xrc"), xml_res_file_2, xml_res_size_2, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/AboutDlg_bitmaps.cpp$_home_eran_devl_codelitegit_LiteEditor_AboutDlg_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$.._codelite-icons_about_32_paypal.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$.._Runtime_images_splashscreen.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/AboutDlg_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_AboutDlg_bitmaps.xrc"), xml_res_file_2, xml_res_size_2, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/AboutDlg_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_AboutDlg_bitmaps.xrc"));
}
diff --git a/LiteEditor/AccelTableBaseDlg.cpp b/LiteEditor/AccelTableBaseDlg.cpp
index f1162d76..f39aa05c 100644
--- a/LiteEditor/AccelTableBaseDlg.cpp
+++ b/LiteEditor/AccelTableBaseDlg.cpp
@@ -54,7 +54,7 @@ AccelTableBaseDlg::AccelTableBaseDlg(wxWindow* parent, wxWindowID id, const wxSt
m_dataview->AppendTextColumn(_("Keyboard Shortcut"), m_dataview->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT);
wxBoxSizer* bSizer3 = new wxBoxSizer(wxVERTICAL);
- bSizer4->Add(bSizer3, 0, wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer4->Add(bSizer3, 0, 0, 5);
m_buttonEdit = new wxButton(this, wxID_ANY, _("&Edit..."), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -76,11 +76,17 @@ AccelTableBaseDlg::AccelTableBaseDlg(wxWindow* parent, wxWindowID id, const wxSt
m_stdBtnSizer6->AddButton(m_button10);
m_stdBtnSizer6->Realize();
+ SetName(wxT("AccelTableBaseDlg"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_textCtrlFilter->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(AccelTableBaseDlg::OnText), NULL, this);
m_dataview->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(AccelTableBaseDlg::OnDVItemActivated), NULL, this);
diff --git a/LiteEditor/AccelTableBaseDlg.h b/LiteEditor/AccelTableBaseDlg.h
index bae1f7a3..59549793 100644
--- a/LiteEditor/AccelTableBaseDlg.h
+++ b/LiteEditor/AccelTableBaseDlg.h
@@ -18,6 +18,12 @@
#include <wx/dataview.h>
#include "keyboardaccelemodel.h"
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class AccelTableBaseDlg : public wxDialog
{
@@ -41,6 +47,10 @@ protected:
virtual void OnButtonOk(wxCommandEvent& event) { event.Skip(); }
public:
+ wxSearchCtrl* GetTextCtrlFilter() { return m_textCtrlFilter; }
+ wxDataViewCtrl* GetDataview() { return m_dataview; }
+ wxButton* GetButtonEdit() { return m_buttonEdit; }
+ wxButton* GetButtonDefault() { return m_buttonDefault; }
AccelTableBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Keyboard Shortcuts"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~AccelTableBaseDlg();
};
diff --git a/LiteEditor/AccelTableBaseDlg.wxcp b/LiteEditor/AccelTableBaseDlg.wxcp
index 096a732b..1add8ba5 100644
--- a/LiteEditor/AccelTableBaseDlg.wxcp
+++ b/LiteEditor/AccelTableBaseDlg.wxcp
@@ -72,6 +72,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Keyboard Shortcuts"
@@ -128,6 +132,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer1"
}, {
@@ -151,6 +159,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer5"
}, {
@@ -261,6 +273,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer4"
}, {
@@ -439,9 +455,13 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer3"
}, {
diff --git a/LiteEditor/AccelTableBaseDlg_liteeditor_bitmaps.cpp b/LiteEditor/AccelTableBaseDlg_liteeditor_bitmaps.cpp
index 06e1a046..3c5f2dfc 100644
--- a/LiteEditor/AccelTableBaseDlg_liteeditor_bitmaps.cpp
+++ b/LiteEditor/AccelTableBaseDlg_liteeditor_bitmaps.cpp
@@ -1,48 +1,47 @@
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxCFD7DInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/AccelTableBaseDlg_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_AccelTableBaseDlg_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/AccelTableBaseDlg_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_AccelTableBaseDlg_liteeditor_bitmaps.xrc"));
-}
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCFD7DInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/AccelTableBaseDlg_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_AccelTableBaseDlg_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/AccelTableBaseDlg_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_AccelTableBaseDlg_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/AddFunctionsImpDlg.cpp b/LiteEditor/AddFunctionsImpDlg.cpp
index c87162fe..25730257 100644
--- a/LiteEditor/AddFunctionsImpDlg.cpp
+++ b/LiteEditor/AddFunctionsImpDlg.cpp
@@ -82,12 +82,13 @@ AddFunctionsImpDlg::AddFunctionsImpDlg(wxWindow* parent, const TagEntryPtrVector
m_dataviewModel->AppendItem( wxDataViewItem(0), cols, new wxStringClientData(body) );
}
m_filePicker->SetPath( targetFile );
- WindowAttrManager::Load(this, "AddFunctionsImpDlg", NULL);
+ SetName("AddFunctionsImpDlg");
+ WindowAttrManager::Load(this);
}
AddFunctionsImpDlg::~AddFunctionsImpDlg()
{
- WindowAttrManager::Save(this, "AddFunctionsImpDlg", NULL);
+
}
wxString AddFunctionsImpDlg::GetFileName() const
diff --git a/LiteEditor/AddIncludeFile.wxcp b/LiteEditor/AddIncludeFile.wxcp
index e9a1be96..7db13c6c 100644
--- a/LiteEditor/AddIncludeFile.wxcp
+++ b/LiteEditor/AddIncludeFile.wxcp
@@ -72,6 +72,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Add a missing header file"
@@ -128,6 +132,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer7"
}, {
@@ -217,6 +225,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer9"
}, {
@@ -240,6 +252,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer12"
}, {
@@ -263,6 +279,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_LEFT"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer15"
}, {
@@ -377,7 +397,7 @@
"gbSpan": "1,1",
"gbPosition": "0,0",
"m_styles": ["wxAUI_TB_PLAIN_BACKGROUND", "wxAUI_TB_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -701,6 +721,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer4"
}, {
@@ -1058,6 +1082,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer8"
}, {
diff --git a/LiteEditor/BuildTabSettings.wxcp b/LiteEditor/BuildTabSettings.wxcp
index f15d838f..187e35d4 100644
--- a/LiteEditor/BuildTabSettings.wxcp
+++ b/LiteEditor/BuildTabSettings.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 2,
+ "m_objCounter": 28,
"m_includeFiles": [],
"m_bitmapFunction": "wxCraftertNJGa9InitBitmapResources",
"m_bitmapsFile": "buildsettingstab_liteeditor_bitmaps.cpp",
@@ -87,11 +87,11 @@
}, {
"type": "string",
"m_label": "Inherited Class",
- "m_value": ""
+ "m_value": "BuildTabSetting"
}, {
"type": "string",
"m_label": "File:",
- "m_value": ""
+ "m_value": "buildsettingstab"
}, {
"type": "string",
"m_label": "Class Decorator",
@@ -108,6 +108,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer1"
}, {
@@ -122,146 +126,109 @@
}],
"m_events": [],
"m_children": [{
- "m_type": 4403,
- "proportion": 0,
+ "m_type": 4485,
+ "proportion": 1,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxPG_DESCRIPTION", "wxPG_SPLITTER_AUTO_CENTER", "wxPG_BOLD_MODIFIED"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer1"
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
}, {
"type": "string",
- "m_label": "Style:",
- "m_value": ""
+ "m_label": "Size:",
+ "m_value": "400,400"
}, {
"type": "string",
- "m_label": "# Columns:",
- "m_value": "3"
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
}, {
"type": "string",
- "m_label": "# Rows:",
- "m_value": "3"
+ "m_label": "Name:",
+ "m_value": "m_pgMgr"
}, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1,2"
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
}, {
"type": "string",
- "m_label": "Growable rows:",
+ "m_label": "Class Name:",
"m_value": ""
}, {
"type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
+ "m_label": "Include File:",
+ "m_value": ""
}, {
"type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "integer",
+ "m_label": "Sash Position:",
+ "m_value": -1
+ }, {
+ "type": "bool",
+ "m_label": "Set Splitter Left:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCustomButtonClicked(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the custom editor button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_PG_CHANGED",
+ "m_eventClass": "wxPropertyGridEvent",
+ "m_eventHandler": "wxPropertyGridEventHandler",
+ "m_functionNameAndSignature": "OnAppearanceChanged(wxPropertyGridEvent& event)",
+ "m_description": "Respond to wxEVT_PG_CHANGED event, generated when property value has been changed by the user",
+ "m_noBody": false
}],
- "m_events": [],
"m_children": [{
- "m_type": 4405,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_staticText3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
+ "m_value": "CAT_COLOURS_AND_FONTS"
}, {
"type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
"m_label": "Label:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText5"
+ "m_value": "Colours and Fonts"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -271,368 +238,257 @@
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": "10,normal, bold, swiss, 0, Sans"
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "String Value",
"m_value": ""
}, {
"type": "multi-string",
- "m_label": "Label:",
- "m_value": "Foreground colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
+ "m_label": "Choices:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText6"
- }, {
"type": "multi-string",
- "m_label": "Tooltip:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": "10,normal, bold, swiss, 0, Sans"
- }, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Font weight:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
"type": "font",
"m_label": "Font:",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Compiler errors colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4429,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_colourPickerErrorFg"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
"type": "colour",
- "m_label": "Fg Colour:",
+ "m_label": "Initial Colour",
"colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Value:",
- "colour": ""
}],
"m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
+ "m_children": [{
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropFont"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Font"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Select the font to use in the build output tab"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 5,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 4,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropErrorColour"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Error colour"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Use this colour to highlight build error messages"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 15,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "(255,0,0)"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropWarningColour"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Warnings colour"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Use this colour to highlight build warning messages"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 15,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "(128,128,0)"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_checkBoxBoldErrFont"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
+ "m_value": "CAT_GENERAL"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Bold"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": true
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText2"
+ "m_value": "General"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -642,396 +498,322 @@
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": "wxSYS_DEFAULT_GUI_FONT,normal,normal,normal"
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "String Value",
"m_value": ""
}, {
"type": "multi-string",
- "m_label": "Label:",
- "m_value": "Compiler warnings colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4429,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
+ "m_label": "Choices:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_colourPickerWarningsFg"
- }, {
"type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Value:",
- "colour": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Minimum Size:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxBoldWarnFont"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
"type": "font",
"m_label": "Font:",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Bold"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "General:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxSkipWarnings"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
"type": "colour",
- "m_label": "Bg Colour:",
+ "m_label": "Initial Colour",
"colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "When using the menu to jump to errors, skip warnings"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
}],
"m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
+ "m_children": [{
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropJumpWarnings"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Skip warnings"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When using the menu to jump to errors, skip warnings"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropAutoHideBuildPane"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Auto hide build pane"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Automatically hide the build pane when there are neither errors nor warnings"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropAutoShowBuildPane"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Auto show build pane"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Select when to show the build pane"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 9,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": "When build starts"
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "When build starts;When build ends;Don't automatically show"
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": "0;1;2"
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropAutoScroll"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "When build ends scroll to..."
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "After build finishes, if showing the build pane scroll to..."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 9,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": "The first warning or error"
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "The first error;The first warning or error;The end"
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": "0;1;2"
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_checkBoxAutoHide"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
+ "m_value": "CAT_MARKERS"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Automatically hide the build pane when there are neither errors nor warnings"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4416,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxRA_SPECIFY_ROWS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_radioBuildPaneScrollDestination"
+ "m_value": "Build error indicators"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -1041,317 +823,176 @@
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Class Name:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "After build finishes, if showing the build pane scroll to:"
- }, {
"type": "multi-string",
"m_label": "Choices:",
- "m_value": "The first error;The first warning or error;The end"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Major Dimension:",
- "m_value": "1"
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4416,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxRA_SPECIFY_COLS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_radioBoxShowBuildTab"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Show build pane:"
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": "When build starts;When build ends;Don't automatically show"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Major Dimension:",
- "m_value": "1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Errors / warnings markers:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxDisplayMarkers"
- }, {
"type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Compiler errors / warnings marked with bookmarks"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Minimum Size:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxDisplayAnnotations"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If checked, any errors or warnings will be displayed in the editor alongside the failing code."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
"type": "font",
"m_label": "Font:",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Compiler errors / warnings displayed inline"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
- "m_children": []
+ "m_children": [{
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropUseMarkers"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Use markers"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Mark the line that contains the build error with a red marker on the left margin"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4486,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_pgPropUseAnnotations"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Use annotations"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If checked, any errors or warnings will be displayed in the editor alongside the failing code."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
}]
}]
}]
diff --git a/LiteEditor/CMakeLists.txt b/LiteEditor/CMakeLists.txt
index 4dde288c..fd23f837 100644
--- a/LiteEditor/CMakeLists.txt
+++ b/LiteEditor/CMakeLists.txt
@@ -6,7 +6,9 @@ cmake_minimum_required(VERSION 2.6.2)
project(codelite)
if ( UNIX AND NOT APPLE )
- execute_process(COMMAND sed s@%%PREFIX%%@${CL_PREFIX}@g Runtime/codelite.desktop.template WORKING_DIRECTORY "${CL_SRC_ROOT}" OUTPUT_FILE Runtime/codelite.desktop)
+ execute_process(COMMAND sed s@%%PREFIX%%@${CL_PREFIX}@g Runtime/codelite.desktop.template
+ WORKING_DIRECTORY "${CL_SRC_ROOT}"
+ OUTPUT_FILE Runtime/codelite.desktop)
message("-- Generating desktop file...")
endif ( UNIX AND NOT APPLE )
@@ -103,95 +105,110 @@ endif()
## Copy binaries / scripts
set (EXE_PERM OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
-install(TARGETS codelite DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-if (UNIX)
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite_exec DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite_fix_files DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite_kill_children DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite_xterm DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-install(FILES ${CL_SRC_ROOT}/Runtime/clg++ DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-install(FILES ${CL_SRC_ROOT}/Runtime/clgcc DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
-endif (UNIX)
-
-# Install clang-format
-# We name it codelite-clang-format to avoid collision with any official installation
-if ( UNIX AND NOT APPLE )
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- install(FILES ${CL_SRC_ROOT}/sdk/clang/Linux/x86_64/bin/codelite-clang-format DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
- else()
- install(FILES ${CL_SRC_ROOT}/sdk/clang/Linux/i386/bin/codelite-clang-format DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+if(NOT APPLE)
+ install(TARGETS codelite DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ if (UNIX)
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite_exec DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite_fix_files DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite_kill_children DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite_xterm DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ install(FILES ${CL_SRC_ROOT}/Runtime/clg++ DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ install(FILES ${CL_SRC_ROOT}/Runtime/clgcc DESTINATION ${CL_PREFIX}/bin PERMISSIONS ${EXE_PERM})
+ endif (UNIX)
+
+ ## codelite icons
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons-fresh-farm.zip DESTINATION ${CL_PREFIX}/share/codelite)
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons-dark.zip DESTINATION ${CL_PREFIX}/share/codelite)
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons.zip DESTINATION ${CL_PREFIX}/share/codelite)
+
+ ## License file
+ install(FILES ${CL_SRC_ROOT}/LICENSE DESTINATION ${CL_PREFIX}/share/codelite)
+
+ ## Manual pages
+ if(UNIX AND NOT APPLE)
+ install(DIRECTORY ${CL_SRC_ROOT}/Runtime/man1 DESTINATION ${CL_PREFIX}/share/man)
endif()
-endif()
-
-## codelite icons
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons-fresh-farm.zip DESTINATION ${CL_PREFIX}/share/codelite)
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons-dark.zip DESTINATION ${CL_PREFIX}/share/codelite)
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite-icons.zip DESTINATION ${CL_PREFIX}/share/codelite)
-
-## License file
-install(FILES ${CL_SRC_ROOT}/LICENSE DESTINATION ${CL_PREFIX}/share/codelite)
-## Manual pages
-install(DIRECTORY ${CL_SRC_ROOT}/Runtime/man1 DESTINATION ${CL_PREFIX}/share/man)
-
-## Copy default configuration files
-install(FILES ${CL_SRC_ROOT}/Runtime/config/accelerators.conf.default DESTINATION ${CL_PREFIX}/share/codelite/config)
-install(FILES ${CL_SRC_ROOT}/Runtime/config/build_settings.xml.default DESTINATION ${CL_PREFIX}/share/codelite/config)
-install(FILES ${CL_SRC_ROOT}/Runtime/config/debuggers.xml.gtk DESTINATION ${CL_PREFIX}/share/codelite/config RENAME debuggers.xml.default)
-install(FILES ${CL_SRC_ROOT}/Runtime/config/codelite.xml.default.gtk DESTINATION ${CL_PREFIX}/share/codelite/config RENAME codelite.xml.default)
-if ( UNIX AND NOT APPLE )
-install(FILES ${CL_SRC_ROOT}/Runtime/codelite.desktop DESTINATION ${CL_PREFIX}/share/applications)
-endif ( UNIX AND NOT APPLE )
-
-install(
- DIRECTORY ${CL_SRC_ROOT}/Runtime/plugins/resources
- DESTINATION ${PLUGINS_DIR}
- USE_SOURCE_PERMISSIONS
- PATTERN ".svn" EXCLUDE
- PATTERN ".git" EXCLUDE
-)
-
-install(
- DIRECTORY ${CL_SRC_ROOT}/Runtime/images ${CL_SRC_ROOT}/Runtime/gdb_printers ${CL_SRC_ROOT}/Runtime/src/ ${CL_SRC_ROOT}/Runtime/lexers ${CL_SRC_ROOT}/Runtime/templates ${CL_SRC_ROOT}/Runtime/rc
- DESTINATION ${CL_PREFIX}/share/codelite
- USE_SOURCE_PERMISSIONS
- PATTERN ".svn" EXCLUDE
- PATTERN ".git" EXCLUDE
-)
-
-install(
- DIRECTORY ${CL_SRC_ROOT}/translations/
- DESTINATION ${CL_PREFIX}/share/locale
- USE_SOURCE_PERMISSIONS
- FILES_MATCHING PATTERN "codelite.mo"
-)
-
-if (UNIX AND CL_COPY_WX_LIBS) # If we're packaging with wx2.9
- # We need to deduce the location of the wx libs to be installed
- execute_process(COMMAND ${WX_TOOL} --libs OUTPUT_VARIABLE WX_LIBSOUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE)
- if (${WX_LIBSOUTPUT} MATCHES "^-L.+") # In recent, multi-architecture, distro versions it'll start with -L/foo/bar
- string(REGEX REPLACE "^-L([^ ;]+).*" "\\1" WX_LIBS_DIR ${WX_LIBSOUTPUT})
- else()
- set(WX_LIBS_DIR "/usr/lib") # ${WX_LIBS_DIR} will be empty for older, non multi-architecture, distro versions that still use /usr/lib
+ ## Copy default configuration files
+ install(FILES ${CL_SRC_ROOT}/Runtime/config/accelerators.conf.default DESTINATION
+ ${CL_PREFIX}/share/codelite/config)
+ install(FILES ${CL_SRC_ROOT}/Runtime/config/build_settings.xml.default
+ DESTINATION ${CL_PREFIX}/share/codelite/config)
+ install(FILES ${CL_SRC_ROOT}/Runtime/config/debuggers.xml.gtk DESTINATION
+ ${CL_PREFIX}/share/codelite/config
+ RENAME debuggers.xml.default)
+ install(FILES ${CL_SRC_ROOT}/Runtime/config/codelite.xml.default.gtk
+ DESTINATION ${CL_PREFIX}/share/codelite/config
+ RENAME codelite.xml.default)
+
+ ## Create application launcher, copy application icon to standard location
+ if ( UNIX AND NOT APPLE )
+ install(FILES ${CL_SRC_ROOT}/Runtime/codelite.desktop DESTINATION ${CL_PREFIX}/share/applications)
+ install(FILES ${CL_SRC_ROOT}/Runtime/images/cubes.png
+ DESTINATION ${CL_PREFIX}/share/icons/hicolor/32x32/apps
+ RENAME codelite.png)
+ # Clear the icon cache if exists
+ install(CODE "execute_process(COMMAND rm -f ${CL_PREFIX}/share/icons/hicolor/icon-theme.cache)")
+ endif ( UNIX AND NOT APPLE )
+
+ install(
+ DIRECTORY ${CL_SRC_ROOT}/Runtime/plugins/resources
+ DESTINATION ${PLUGINS_DIR}
+ USE_SOURCE_PERMISSIONS
+ PATTERN ".svn" EXCLUDE
+ PATTERN ".git" EXCLUDE
+ )
+
+ install(
+ DIRECTORY ${CL_SRC_ROOT}/Runtime/images
+ ${CL_SRC_ROOT}/Runtime/gdb_printers
+ ${CL_SRC_ROOT}/Runtime/src/
+ ${CL_SRC_ROOT}/Runtime/lexers
+ ${CL_SRC_ROOT}/Runtime/templates
+ ${CL_SRC_ROOT}/Runtime/rc
+ DESTINATION ${CL_PREFIX}/share/codelite
+ USE_SOURCE_PERMISSIONS
+ PATTERN ".svn" EXCLUDE
+ PATTERN ".git" EXCLUDE
+ )
+
+ install(
+ DIRECTORY ${CL_SRC_ROOT}/translations/
+ DESTINATION ${CL_PREFIX}/share/locale
+ USE_SOURCE_PERMISSIONS
+ FILES_MATCHING PATTERN "codelite.mo"
+ )
+
+ if (UNIX AND CL_COPY_WX_LIBS) # If we're packaging with wx2.9
+ # We need to deduce the location of the wx libs to be installed
+ execute_process(COMMAND ${WX_TOOL} --libs OUTPUT_VARIABLE WX_LIBSOUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (${WX_LIBSOUTPUT} MATCHES "^-L.+") # In recent, multi-architecture, distro versions it'll start with -L/foo/bar
+ string(REGEX REPLACE "^-L([^ ;]+).*" "\\1" WX_LIBS_DIR ${WX_LIBSOUTPUT})
+ else()
+ set(WX_LIBS_DIR "/usr/lib") # ${WX_LIBS_DIR} will be empty for older, non multi-architecture, distro versions that still use /usr/lib
+ endif()
+ message("-- wxlibsdir is: ${WX_LIBS_DIR}")
+
+ # Grab the necessary libs
+ execute_process(COMMAND ${WX_TOOL} --libs all OUTPUT_VARIABLE WX_LIBS_ALL_IN OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" WX_LIBS_ALL_LIST ${WX_LIBS_ALL_IN}) # the semicolons make the variable into a list
+
+ foreach(ITEM ${WX_LIBS_ALL_LIST})
+ # We want to replace -l with lib. We also want to exclude imaginary libs called _all.so, which buggy wx-config scripts can invent
+ if (${ITEM} MATCHES "-lwx_.+" AND NOT ${ITEM} MATCHES "-l.+_all.+")
+ string(REGEX REPLACE "^-l" "lib" LIBITEM ${ITEM})
+ list(APPEND WX_LIBS_ALL ${WX_LIBS_DIR}/${LIBITEM}.so*) # we need the terminal [.]so because the rpms contain both dynamic and static libs
+ endif()
+ endforeach()
+
+ file(GLOB wxfilepaths ${WX_LIBS_ALL})
+ install(FILES ${wxfilepaths} DESTINATION ${CL_PREFIX}/${CL_INSTALL_LIBDIR}/codelite)
endif()
- message("-- wxlibsdir is: ${WX_LIBS_DIR}")
-
- # Grab the necessary libs
- execute_process(COMMAND ${WX_TOOL} --libs all OUTPUT_VARIABLE WX_LIBS_ALL_IN OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" WX_LIBS_ALL_LIST ${WX_LIBS_ALL_IN}) # the semicolons make the variable into a list
- foreach(ITEM ${WX_LIBS_ALL_LIST})
- # We want to replace -l with lib. We also want to exclude imaginary libs called _all.so, which buggy wx-config scripts can invent
- if (${ITEM} MATCHES "-lwx_.+" AND NOT ${ITEM} MATCHES "-l.+_all.+")
- string(REGEX REPLACE "^-l" "lib" LIBITEM ${ITEM})
- list(APPEND WX_LIBS_ALL ${WX_LIBS_DIR}/${LIBITEM}.so*) # we need the terminal [.]so because the rpms contain both dynamic and static libs
- endif()
- endforeach()
-
- file(GLOB wxfilepaths ${WX_LIBS_ALL})
- install(FILES ${wxfilepaths} DESTINATION ${CL_PREFIX}/${CL_INSTALL_LIBDIR}/codelite)
+ if ( USE_CLANG AND MINGW )
+ install(FILES ${CLANG_BINARY} DESTINATION ${PLUGINS_DIR})
+ endif( USE_CLANG AND MINGW )
+else() # !APPLE
+ install(TARGETS codelite DESTINATION ${CMAKE_BINARY_DIR}/codelite.app/Contents/MacOS PERMISSIONS ${EXE_PERM})
+ CL_INSTALL_NAME_TOOL_STD(${CMAKE_BINARY_DIR}/codelite.app/Contents/MacOS/codelite)
endif()
-
-if ( USE_CLANG )
- install(FILES ${CLANG_BINARY} DESTINATION ${PLUGINS_DIR})
-endif( USE_CLANG )
diff --git a/LiteEditor/ClangOutputTab.cpp b/LiteEditor/ClangOutputTab.cpp
index 774f4ecd..5595726a 100644
--- a/LiteEditor/ClangOutputTab.cpp
+++ b/LiteEditor/ClangOutputTab.cpp
@@ -21,7 +21,7 @@ ClangOutputTab::ClangOutputTab(wxWindow* parent)
if(lexer) {
lexer->Apply(m_stc);
}
-
+ EventNotifier::Get()->Bind(wxEVT_FILE_SAVED, &ClangOutputTab::OnFileSaved, this);
::clRecalculateSTCHScrollBar(m_stc);
// defaults
m_choiceCache->Clear();
@@ -43,6 +43,7 @@ ClangOutputTab::~ClangOutputTab()
wxEVT_BUILD_STARTED, clBuildEventHandler(ClangOutputTab::OnBuildStarted), NULL, this);
EventNotifier::Get()->Disconnect(
wxEVT_CLANG_CODE_COMPLETE_MESSAGE, clCommandEventHandler(ClangOutputTab::OnClangOutput), NULL, this);
+ EventNotifier::Get()->Unbind(wxEVT_FILE_SAVED, &ClangOutputTab::OnFileSaved, this);
}
void ClangOutputTab::OnBuildStarted(clBuildEvent& event)
@@ -56,6 +57,16 @@ void ClangOutputTab::OnClangOutput(clCommandEvent& event)
event.Skip();
DoClear();
DoAppendText(event.GetString());
+ const TagsOptionsData& options = clMainFrame::Get()->GetTagsOptions();
+ if(options.GetClangOptions() & CC_CLANG_INLINE_ERRORS) {
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
+
+ // event.GetInt() == 1 means that this is a real error message and not just a status message
+ // these kind of messages are also shown in the editor
+ if(event.GetInt() && editor) {
+ editor->SetCodeCompletionAnnotation(event.GetString(), editor->GetCurrentLine());
+ }
+ }
}
void ClangOutputTab::DoAppendText(const wxString& text)
@@ -71,7 +82,7 @@ void ClangOutputTab::DoAppendText(const wxString& text)
m_stc->SetSelectionEnd(pos);
m_stc->ScrollToEnd();
m_stc->SetReadOnly(true);
-
+
::clRecalculateSTCHScrollBar(m_stc);
}
@@ -80,6 +91,12 @@ void ClangOutputTab::DoClear()
m_stc->SetReadOnly(false);
m_stc->ClearAll();
m_stc->SetReadOnly(true);
+
+ // Clear editor annotations
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
+ if(editor) {
+ editor->GetCtrl()->AnnotationClearAll();
+ }
}
void ClangOutputTab::OnPolicy(wxCommandEvent& event)
@@ -140,3 +157,46 @@ void ClangOutputTab::OnEnableClang(wxCommandEvent& event)
options.SetClangOptions(clangOptions);
TagsManagerST::Get()->SetCtagsOptions(options);
}
+
+void ClangOutputTab::OnEnableClangUI(wxUpdateUIEvent& event)
+{
+ const TagsOptionsData& options = clMainFrame::Get()->GetTagsOptions();
+ event.Check(options.GetClangOptions() & CC_CLANG_ENABLED);
+}
+
+void ClangOutputTab::OnShowAnnotations(wxCommandEvent& event)
+{
+ TagsOptionsData& options = clMainFrame::Get()->GetTagsOptions();
+ size_t clangOptions = options.GetClangOptions();
+ if(event.IsChecked()) {
+ clangOptions |= CC_CLANG_INLINE_ERRORS;
+ } else {
+ clangOptions &= ~CC_CLANG_INLINE_ERRORS;
+ }
+
+ // Apply the changes
+ options.SetClangOptions(clangOptions);
+ TagsManagerST::Get()->SetCtagsOptions(options);
+
+ // Clear any annotations we have
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
+ if(editor) {
+ editor->GetCtrl()->AnnotationClearAll();
+ }
+}
+
+void ClangOutputTab::OnShowAnnotationsUI(wxUpdateUIEvent& event)
+{
+ const TagsOptionsData& options = clMainFrame::Get()->GetTagsOptions();
+ event.Enable(options.GetClangOptions() & CC_CLANG_ENABLED);
+}
+
+void ClangOutputTab::OnFileSaved(clCommandEvent& event)
+{
+ event.Skip();
+ // Clear editor annotations
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
+ if(editor) {
+ editor->GetCtrl()->AnnotationClearAll();
+ }
+}
diff --git a/LiteEditor/ClangOutputTab.h b/LiteEditor/ClangOutputTab.h
index babb0dcd..5c8878d3 100644
--- a/LiteEditor/ClangOutputTab.h
+++ b/LiteEditor/ClangOutputTab.h
@@ -6,6 +6,9 @@
class ClangOutputTab : public ClangOutputTabBase
{
protected:
+ virtual void OnShowAnnotations(wxCommandEvent& event);
+ virtual void OnShowAnnotationsUI(wxUpdateUIEvent& event);
+ virtual void OnEnableClangUI(wxUpdateUIEvent& event);
virtual void OnEnableClang(wxCommandEvent& event);
virtual void OnClearCache(wxCommandEvent& event);
virtual void OnClearCacheUI(wxUpdateUIEvent& event);
@@ -13,16 +16,17 @@ protected:
virtual void OnClearTextUI(wxUpdateUIEvent& event);
virtual void OnPolicy(wxCommandEvent& event);
virtual void OnPolicyUI(wxUpdateUIEvent& event);
-
+
// Event handlers
void OnBuildStarted(clBuildEvent& event);
void OnClangOutput(clCommandEvent& event);
- void OnInitDone(wxCommandEvent &event);
-
+ void OnInitDone(wxCommandEvent& event);
+ void OnFileSaved(clCommandEvent& event);
+
private:
void DoClear();
- void DoAppendText(const wxString &text);
-
+ void DoAppendText(const wxString& text);
+
public:
ClangOutputTab(wxWindow* parent);
virtual ~ClangOutputTab();
diff --git a/LiteEditor/CodeLiteUpgradeFrame.wxcp b/LiteEditor/CodeLiteUpgradeFrame.wxcp
index 77542346..b43eaf5f 100644
--- a/LiteEditor/CodeLiteUpgradeFrame.wxcp
+++ b/LiteEditor/CodeLiteUpgradeFrame.wxcp
@@ -17,7 +17,7 @@
"border": 5,
"gbSpan": "1,1",
"gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE"],
+ "m_styles": ["wxSTAY_ON_TOP", "wxRESIZE_BORDER"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
@@ -236,7 +236,7 @@
"border": 5,
"gbSpan": "1,1",
"gbPosition": "0,0",
- "m_styles": [],
+ "m_styles": ["wxBORDER_THEME"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
diff --git a/LiteEditor/CodeLiteUpgradeFrameBase.cpp b/LiteEditor/CodeLiteUpgradeFrameBase.cpp
index 7b1e296e..8c5292ea 100644
--- a/LiteEditor/CodeLiteUpgradeFrameBase.cpp
+++ b/LiteEditor/CodeLiteUpgradeFrameBase.cpp
@@ -33,7 +33,7 @@ clInitializeDialogBase::clInitializeDialogBase(wxWindow* parent, wxWindowID id,
wxBoxSizer* boxSizer6 = new wxBoxSizer(wxVERTICAL);
m_panel4->SetSizer(boxSizer6);
- m_banner = new wxBannerWindow(m_panel4, wxID_ANY, wxTOP, wxDefaultPosition, wxSize(-1,-1), 0);
+ m_banner = new wxBannerWindow(m_panel4, wxID_ANY, wxTOP, wxDefaultPosition, wxSize(-1,-1), wxBORDER_THEME);
m_banner->SetBitmap(wxNullBitmap);
m_banner->SetText(_("Initializing CodeLite"), wxT(""));
m_banner->SetGradient(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION), wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION));
diff --git a/LiteEditor/CodeLiteUpgradeFrameBase.h b/LiteEditor/CodeLiteUpgradeFrameBase.h
index 97e7a9a5..48ac5a32 100644
--- a/LiteEditor/CodeLiteUpgradeFrameBase.h
+++ b/LiteEditor/CodeLiteUpgradeFrameBase.h
@@ -28,7 +28,10 @@ protected:
protected:
public:
- clInitializeDialogBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Initializing CodeLite"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,-1), long style = wxDEFAULT_DIALOG_STYLE);
+ wxBannerWindow* GetBanner() { return m_banner; }
+ wxGauge* GetGauge() { return m_gauge; }
+ wxPanel* GetPanel4() { return m_panel4; }
+ clInitializeDialogBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Initializing CodeLite"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,-1), long style = wxSTAY_ON_TOP|wxRESIZE_BORDER);
virtual ~clInitializeDialogBase();
};
diff --git a/LiteEditor/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp b/LiteEditor/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp
index 3b2c8745..9f7ad828 100644
--- a/LiteEditor/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp
+++ b/LiteEditor/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp
@@ -1,48 +1,47 @@
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxCrafterIPOGcqInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_CodeLiteUpgradeFrame_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_CodeLiteUpgradeFrame_liteeditor_bitmaps.xrc"));
-}
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCrafterIPOGcqInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_CodeLiteUpgradeFrame_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_CodeLiteUpgradeFrame_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/CompilerMainPage.cpp b/LiteEditor/CompilerMainPage.cpp
index fe0e8283..51ac7019 100644
--- a/LiteEditor/CompilerMainPage.cpp
+++ b/LiteEditor/CompilerMainPage.cpp
@@ -260,7 +260,7 @@ void CompilerMainPage::OnEditIncludePaths(wxCommandEvent& event)
{
wxString curIncludePath = m_textCtrlGlobalIncludePath->GetValue();
curIncludePath = wxJoin(::wxStringTokenize(curIncludePath, ";", wxTOKEN_STRTOK), '\n', '\0');
- wxString newIncludePath = ::clGetTextFromUser(curIncludePath, EventNotifier::Get()->TopFrame());
+ wxString newIncludePath = ::clGetStringFromUser(curIncludePath, EventNotifier::Get()->TopFrame());
newIncludePath.Trim().Trim(false);
if(!newIncludePath.IsEmpty()) {
m_isDirty = true;
@@ -273,7 +273,7 @@ void CompilerMainPage::OnEditLibraryPaths(wxCommandEvent& event)
{
wxString curLibPath = m_textCtrlGlobalLibPath->GetValue();
curLibPath = wxJoin(::wxStringTokenize(curLibPath, ";", wxTOKEN_STRTOK), '\n', '\0');
- wxString newLibPath = ::clGetTextFromUser(curLibPath, EventNotifier::Get()->TopFrame());
+ wxString newLibPath = ::clGetStringFromUser(curLibPath, EventNotifier::Get()->TopFrame());
newLibPath.Trim().Trim(false);
if(!newLibPath.IsEmpty()) {
m_isDirty = true;
@@ -836,10 +836,11 @@ void CompilerMainPage::OnCompilerSelected(wxCommandEvent& event) { LoadCompiler(
CompilerPatternDlg::CompilerPatternDlg(wxWindow* parent, const wxString& title)
: CompilerPatternDlgBase(parent, wxID_ANY, title)
{
- WindowAttrManager::Load(this, wxT("CompilerPatternDlg"), NULL);
+ SetName("CompilerPatternDlg");
+ WindowAttrManager::Load(this);
}
-CompilerPatternDlg::~CompilerPatternDlg() { WindowAttrManager::Save(this, wxT("CompilerPatternDlg"), NULL); }
+CompilerPatternDlg::~CompilerPatternDlg() { }
void CompilerPatternDlg::SetPattern(const wxString& pattern,
const wxString& lineIdx,
diff --git a/LiteEditor/CompilersFoundDlg.cpp b/LiteEditor/CompilersFoundDlg.cpp
index 1fa901b9..b4df034b 100644
--- a/LiteEditor/CompilersFoundDlg.cpp
+++ b/LiteEditor/CompilersFoundDlg.cpp
@@ -31,18 +31,19 @@
class MyCompilersFoundModel : public CompilersFoundModel
{
CompilersFoundDlg* m_dlg;
+
public:
- MyCompilersFoundModel(CompilersFoundDlg* dlg) : m_dlg(dlg) {}
+ MyCompilersFoundModel(CompilersFoundDlg* dlg)
+ : m_dlg(dlg)
+ {
+ }
virtual ~MyCompilersFoundModel() {}
-
- virtual bool GetAttr(const wxDataViewItem &item,
- unsigned int col,
- wxDataViewItemAttr & attr) const
+ virtual bool GetAttr(const wxDataViewItem& item, unsigned int col, wxDataViewItemAttr& attr) const
{
CompilerPtr compiler = m_dlg->GetCompiler(item);
- if ( compiler && m_dlg->IsDefaultCompiler(compiler) ) {
- attr.SetBold( true );
+ if(compiler && m_dlg->IsDefaultCompiler(compiler)) {
+ attr.SetBold(true);
return true;
}
return false;
@@ -52,82 +53,81 @@ public:
class CompilersFoundDlgItemData : public wxClientData
{
CompilerPtr m_compiler;
+
public:
- CompilersFoundDlgItemData(CompilerPtr compiler) : m_compiler( compiler ) {}
- virtual ~CompilersFoundDlgItemData() {}
-
- CompilerPtr GetCompiler() const {
- return m_compiler;
+ CompilersFoundDlgItemData(CompilerPtr compiler)
+ : m_compiler(compiler)
+ {
}
+ virtual ~CompilersFoundDlgItemData() {}
+
+ CompilerPtr GetCompiler() const { return m_compiler; }
};
CompilersFoundDlg::CompilersFoundDlg(wxWindow* parent, const ICompilerLocator::CompilerVec_t& compilers)
: CompilersFoundDlgBase(parent)
{
m_allCompilers = compilers;
-
+
// Replace the model with a custom one
unsigned int colCount = m_dataviewModel->GetColCount();
m_dataviewModel = new MyCompilersFoundModel(this);
- m_dataviewModel->SetColCount( colCount );
- m_dataview->AssociateModel( m_dataviewModel.get() );
+ m_dataviewModel->SetColCount(colCount);
+ m_dataview->AssociateModel(m_dataviewModel.get());
// Add the categories
std::map<wxString, wxDataViewItem> categories;
- for(size_t i=0; i<compilers.size(); ++i) {
- if ( categories.count(compilers.at(i)->GetCompilerFamily()) == 0 ) {
+ for(size_t i = 0; i < compilers.size(); ++i) {
+ if(categories.count(compilers.at(i)->GetCompilerFamily()) == 0) {
wxVector<wxVariant> cols;
cols.push_back(compilers.at(i)->GetCompilerFamily());
wxDataViewItem item = m_dataviewModel->AppendItem(wxDataViewItem(0), cols);
- categories.insert( std::make_pair(compilers.at(i)->GetCompilerFamily(), item) );
+ categories.insert(std::make_pair(compilers.at(i)->GetCompilerFamily(), item));
}
}
- for(size_t i=0; i<compilers.size(); ++i) {
+ for(size_t i = 0; i < compilers.size(); ++i) {
CompilerPtr compiler = compilers.at(i);
- wxDataViewItem parent = categories.find( compiler->GetCompilerFamily() )->second;
+ wxDataViewItem parent = categories.find(compiler->GetCompilerFamily())->second;
wxVector<wxVariant> cols;
- cols.push_back( compiler->GetName() );
- cols.push_back( compiler->GetInstallationPath() );
+ cols.push_back(compiler->GetName());
+ cols.push_back(compiler->GetInstallationPath());
m_dataviewModel->AppendItem(parent, cols, new CompilersFoundDlgItemData(compiler));
- if ( m_defaultCompilers.count(compiler->GetCompilerFamily()) == 0 ) {
+ if(m_defaultCompilers.count(compiler->GetCompilerFamily()) == 0) {
compiler->SetIsDefault(true); // Per family
- m_defaultCompilers.insert( std::make_pair(compiler->GetCompilerFamily(), compiler) );
+ m_defaultCompilers.insert(std::make_pair(compiler->GetCompilerFamily(), compiler));
MSWUpdateToolchain(compiler);
}
}
-
+
std::map<wxString, wxDataViewItem>::iterator iter = categories.begin();
- for(; iter != categories.end(); ++iter ) {
- m_dataview->Expand( iter->second );
+ for(; iter != categories.end(); ++iter) {
+ m_dataview->Expand(iter->second);
}
- WindowAttrManager::Load(this, "CompilersFoundDlg");
-
-
+ SetName("CompilersFoundDlg");
+ WindowAttrManager::Load(this);
}
-CompilersFoundDlg::~CompilersFoundDlg()
-{
- WindowAttrManager::Save(this, "CompilersFoundDlg");
-}
+CompilersFoundDlg::~CompilersFoundDlg() { }
void CompilersFoundDlg::OnItemActivated(wxDataViewEvent& event)
{
CompilerPtr compiler = GetCompiler(event.GetItem());
- if ( compiler ) {
- m_defaultCompilers.erase( compiler->GetCompilerFamily() );
+ if(compiler) {
+ m_defaultCompilers.erase(compiler->GetCompilerFamily());
compiler->SetIsDefault(true);
- m_defaultCompilers.insert( std::make_pair(compiler->GetCompilerFamily(), compiler) );
+ m_defaultCompilers.insert(std::make_pair(compiler->GetCompilerFamily(), compiler));
m_dataview->UnselectAll();
- m_dataview->CallAfter( &wxDataViewCtrl::Refresh, true, (const wxRect*)NULL );
- MSWUpdateToolchain( compiler );
+ m_dataview->CallAfter(&wxDataViewCtrl::Refresh, true, (const wxRect*)NULL);
+ MSWUpdateToolchain(compiler);
}
}
CompilerPtr CompilersFoundDlg::GetCompiler(const wxDataViewItem& item) const
{
- CompilersFoundDlgItemData* itemData = dynamic_cast<CompilersFoundDlgItemData*>(m_dataviewModel->GetClientObject(item));
- if ( itemData ) {
+ CompilersFoundDlgItemData* itemData =
+ dynamic_cast<CompilersFoundDlgItemData*>(m_dataviewModel->GetClientObject(item));
+ if(itemData) {
return itemData->GetCompiler();
}
return CompilerPtr(NULL);
@@ -135,37 +135,36 @@ CompilerPtr CompilersFoundDlg::GetCompiler(const wxDataViewItem& item) const
bool CompilersFoundDlg::IsDefaultCompiler(CompilerPtr compiler) const
{
- if ( m_defaultCompilers.count(compiler->GetCompilerFamily()) == 0 )
- return false;
+ if(m_defaultCompilers.count(compiler->GetCompilerFamily()) == 0) return false;
CompilerPtr defaultCompiler = m_defaultCompilers.find(compiler->GetCompilerFamily())->second;
return defaultCompiler->GetName() == compiler->GetName();
}
void CompilersFoundDlg::MSWUpdateToolchain(CompilerPtr compiler)
{
- wxUnusedVar( compiler );
+ wxUnusedVar(compiler);
#ifdef __WXMSW__
- if ( compiler->GetCompilerFamily() == COMPILER_FAMILY_MINGW ) {
+ if(compiler->GetCompilerFamily() == COMPILER_FAMILY_MINGW) {
// Clang and VC lacks 2 tools: make and windres
// so we copy those from the default MinGW compiler
wxString make = compiler->GetTool("MAKE");
wxString resourceCompiler = compiler->GetTool("ResourceCompiler");
-
- for(size_t i=0; i<m_allCompilers.size(); ++i) {
+
+ for(size_t i = 0; i < m_allCompilers.size(); ++i) {
CompilerPtr c = m_allCompilers.at(i);
- if ( c->GetCompilerFamily() == COMPILER_FAMILY_CLANG || c->GetCompilerFamily() == COMPILER_FAMILY_VC) {
+ if(c->GetCompilerFamily() == COMPILER_FAMILY_CLANG || c->GetCompilerFamily() == COMPILER_FAMILY_VC) {
c->SetTool("MAKE", make);
c->SetTool("ResourceCompiler", resourceCompiler);
-
- if ( c->GetCompilerFamily() == COMPILER_FAMILY_CLANG ) {
+
+ if(c->GetCompilerFamily() == COMPILER_FAMILY_CLANG) {
// Clang under Windows, needs the include paths from the MinGW compiler
IncludePathLocator locator(NULL);
wxArrayString includePaths, excludePaths;
locator.Locate(includePaths, excludePaths, false, compiler->GetTool("CXX"));
-
+
// Convert the include paths to semi colon separated list
wxString mingwIncludePaths = wxJoin(includePaths, ';');
- c->SetGlobalIncludePath( mingwIncludePaths );
+ c->SetGlobalIncludePath(mingwIncludePaths);
}
}
}
diff --git a/LiteEditor/CompilersModifiedDlg.cpp b/LiteEditor/CompilersModifiedDlg.cpp
index dcaa6ba8..d6c1ae7c 100644
--- a/LiteEditor/CompilersModifiedDlg.cpp
+++ b/LiteEditor/CompilersModifiedDlg.cpp
@@ -47,12 +47,13 @@ CompilersModifiedDlg::CompilersModifiedDlg(wxWindow* parent, const wxStringSet_t
message << _("Create a new compiler named '") << *iter << "' by cloning an existing compiler";
prop->SetHelpString( message );
}
- WindowAttrManager::Load(this, "CompilersModifiedDlg");
+ SetName("CompilersModifiedDlg");
+ WindowAttrManager::Load(this);
}
CompilersModifiedDlg::~CompilersModifiedDlg()
{
- WindowAttrManager::Save(this, "CompilersModifiedDlg");
+
}
void CompilersModifiedDlg::OnOKUI(wxUpdateUIEvent& event)
diff --git a/LiteEditor/ContextJavaScript.cpp b/LiteEditor/ContextJavaScript.cpp
new file mode 100644
index 00000000..ee51b4b4
--- /dev/null
+++ b/LiteEditor/ContextJavaScript.cpp
@@ -0,0 +1,283 @@
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2015 The CodeLite Team
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+#include "ContextJavaScript.h"
+#include "cl_editor.h"
+#include "editor_config.h"
+#include "cl_editor_tip_window.h"
+
+ContextJavaScript::ContextJavaScript(LEditor* editor)
+ : ContextBase(editor)
+{
+ editor->SetWordChars(wxT("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$"));
+ m_completionTriggerStrings.insert(".");
+ SetName("javascript");
+}
+
+ContextJavaScript::ContextJavaScript()
+ : ContextBase(wxT("javascript"))
+{
+}
+
+ContextJavaScript::~ContextJavaScript() {}
+
+void ContextJavaScript::AddMenuDynamicContent(wxMenu* menu) { wxUnusedVar(menu); }
+
+void ContextJavaScript::ApplySettings()
+{
+ SetName(wxT("javascript"));
+ LexerConf::Ptr_t lexPtr;
+ if(EditorConfigST::Get()->IsOk()) {
+ lexPtr = EditorConfigST::Get()->GetLexer(GetName());
+ }
+ LEditor& rCtrl = GetCtrl();
+ if(lexPtr) {
+ rCtrl.SetLexer(lexPtr->GetLexerId());
+ for(int i = 0; i <= 4; ++i) {
+ wxString keyWords = lexPtr->GetKeyWords(i);
+ keyWords.Replace(wxT("\n"), wxT(" "));
+ keyWords.Replace(wxT("\r"), wxT(" "));
+ rCtrl.SetKeyWords(i, keyWords);
+ }
+ } else {
+ rCtrl.SetLexer(wxSTC_LEX_NULL);
+ }
+ DoApplySettings(lexPtr);
+}
+
+void ContextJavaScript::AutoIndent(const wxChar& nChar)
+{
+ LEditor& rCtrl = GetCtrl();
+
+ if(rCtrl.GetDisableSmartIndent()) {
+ return;
+ }
+ if(rCtrl.GetLineIndentation(rCtrl.GetCurrentLine()) && nChar == wxT('\n')) {
+ return;
+ }
+
+ int curpos = rCtrl.GetCurrentPos();
+ if(IsCommentOrString(curpos) && nChar == wxT('\n')) {
+ AutoAddComment();
+ return;
+ }
+
+ if(IsCommentOrString(curpos)) {
+ ContextBase::AutoIndent(nChar);
+ return;
+ }
+ int line = rCtrl.LineFromPosition(curpos);
+ if(nChar == wxT('\n')) {
+
+ int prevpos(wxNOT_FOUND);
+ int foundPos(wxNOT_FOUND);
+
+ wxString word;
+ wxChar ch = rCtrl.PreviousChar(curpos, prevpos);
+ word = rCtrl.PreviousWord(curpos, foundPos);
+
+ // user hit ENTER after 'else'
+ if(word == wxT("else")) {
+ int prevLine = rCtrl.LineFromPosition(prevpos);
+ rCtrl.SetLineIndentation(line, rCtrl.GetIndent() + rCtrl.GetLineIndentation(prevLine));
+ rCtrl.SetCaretAt(rCtrl.GetLineIndentPosition(line));
+ rCtrl.ChooseCaretX(); // set new column as "current" column
+ return;
+ }
+
+ // User typed 'ENTER' immediatly after closing brace ')'
+ if(prevpos != wxNOT_FOUND && ch == wxT(')')) {
+
+ long openBracePos(wxNOT_FOUND);
+ int posWordBeforeOpenBrace(wxNOT_FOUND);
+
+ if(rCtrl.MatchBraceBack(wxT(')'), prevpos, openBracePos)) {
+ rCtrl.PreviousChar(openBracePos, posWordBeforeOpenBrace);
+ if(posWordBeforeOpenBrace != wxNOT_FOUND) {
+ word = rCtrl.PreviousWord(posWordBeforeOpenBrace, foundPos);
+
+ // c++ expression with single line and should be treated separatly
+ if(word == wxT("if") || word == wxT("while") || word == wxT("for")) {
+ int prevLine = rCtrl.LineFromPosition(prevpos);
+ rCtrl.SetLineIndentation(line, rCtrl.GetIndent() + rCtrl.GetLineIndentation(prevLine));
+ rCtrl.SetCaretAt(rCtrl.GetLineIndentPosition(line));
+ rCtrl.ChooseCaretX(); // set new column as "current" column
+ return;
+ }
+ }
+ }
+ }
+
+ // use the previous line indentation level
+ if(prevpos == wxNOT_FOUND || ch != wxT('{') || IsCommentOrString(prevpos)) {
+ ContextBase::AutoIndent(nChar);
+ return;
+ }
+
+ // Open brace? increase indent size
+ int prevLine = rCtrl.LineFromPosition(prevpos);
+ rCtrl.SetLineIndentation(line, rCtrl.GetIndent() + rCtrl.GetLineIndentation(prevLine));
+ rCtrl.SetCaretAt(rCtrl.GetLineIndentPosition(line));
+
+ } else if(nChar == wxT('}')) {
+
+ long matchPos = wxNOT_FOUND;
+ if(!rCtrl.MatchBraceBack(wxT('}'), rCtrl.PositionBefore(curpos), matchPos)) return;
+ int secondLine = rCtrl.LineFromPosition(matchPos);
+ if(secondLine == line) return;
+ rCtrl.SetLineIndentation(line, rCtrl.GetLineIndentation(secondLine));
+
+ } else if(nChar == wxT('{')) {
+ wxString lineString = rCtrl.GetLine(line);
+ lineString.Trim().Trim(false);
+
+ int matchPos = wxNOT_FOUND;
+ wxChar previousChar = rCtrl.PreviousChar(rCtrl.PositionBefore(curpos), matchPos);
+ if(previousChar != wxT('{') && lineString == wxT("{")) {
+ // indent this line accroding to the previous line
+ int line = rCtrl.LineFromPosition(rCtrl.GetCurrentPos());
+ rCtrl.SetLineIndentation(line, rCtrl.GetLineIndentation(line - 1));
+ rCtrl.ChooseCaretX();
+ }
+ }
+
+ // set new column as "current" column
+ rCtrl.ChooseCaretX();
+}
+
+wxString ContextJavaScript::CallTipContent() { return wxEmptyString; }
+
+void ContextJavaScript::CodeComplete(long pos) {}
+
+void ContextJavaScript::CompleteWord() {}
+
+int ContextJavaScript::DoGetCalltipParamterIndex() { return ContextBase::DoGetCalltipParamterIndex(); }
+
+wxString ContextJavaScript::GetCurrentScopeName() { return wxT(""); }
+
+wxMenu* ContextJavaScript::GetMenu() { return ContextBase::GetMenu(); }
+
+TagEntryPtr ContextJavaScript::GetTagAtCaret(bool scoped, bool impl) { return NULL; }
+
+void ContextJavaScript::GoHyperlink(int start, int end, int type, bool alt) {}
+
+void ContextJavaScript::GotoDefinition() {}
+
+void ContextJavaScript::GotoPreviousDefintion() {}
+
+bool ContextJavaScript::IsCommentOrString(long pos)
+{
+ int style = GetCtrl().GetStyleAt(pos);
+ return IsComment(pos) || style == wxSTC_C_STRING || style == wxSTC_C_CHARACTER || style == wxSTC_C_STRINGEOL;
+}
+
+bool ContextJavaScript::IsDefaultContext() const { return false; }
+
+ContextBase* ContextJavaScript::NewInstance(LEditor* container) { return new ContextJavaScript(container); }
+
+void ContextJavaScript::OnCallTipClick(wxStyledTextEvent& event) {}
+
+void ContextJavaScript::OnCalltipCancel() {}
+
+void ContextJavaScript::OnDbgDwellEnd(wxStyledTextEvent& event) {}
+
+void ContextJavaScript::OnDbgDwellStart(wxStyledTextEvent& event) {}
+
+void ContextJavaScript::OnDwellEnd(wxStyledTextEvent& event) {}
+
+void ContextJavaScript::OnDwellStart(wxStyledTextEvent& event) {}
+
+void ContextJavaScript::OnEnterHit() {}
+
+void ContextJavaScript::OnFileSaved() {}
+
+void ContextJavaScript::OnKeyDown(wxKeyEvent& event) { event.Skip(); }
+
+void ContextJavaScript::OnSciUpdateUI(wxStyledTextEvent& event)
+{
+ LEditor& ctrl = GetCtrl();
+ if(ctrl.GetFunctionTip()->IsActive()) {
+ ctrl.GetFunctionTip()->Highlight(DoGetCalltipParamterIndex());
+ }
+}
+
+void ContextJavaScript::RemoveMenuDynamicContent(wxMenu* menu) {}
+
+void ContextJavaScript::RetagFile() {}
+
+void ContextJavaScript::SemicolonShift()
+{
+ int foundPos(wxNOT_FOUND);
+ int semiColonPos(wxNOT_FOUND);
+ LEditor& ctrl = GetCtrl();
+ if(ctrl.NextChar(ctrl.GetCurrentPos(), semiColonPos) == wxT(')')) {
+
+ // test to see if we are inside a 'for' statement
+ long openBracePos(wxNOT_FOUND);
+ int posWordBeforeOpenBrace(wxNOT_FOUND);
+
+ if(ctrl.MatchBraceBack(wxT(')'), semiColonPos, openBracePos)) {
+ ctrl.PreviousChar(openBracePos, posWordBeforeOpenBrace);
+ if(posWordBeforeOpenBrace != wxNOT_FOUND) {
+ wxString word = ctrl.PreviousWord(posWordBeforeOpenBrace, foundPos);
+
+ // At the current pos, we got a ';'
+ // at semiColonPos we got ;
+ // switch
+ ctrl.DeleteBack();
+ ctrl.SetCurrentPos(semiColonPos);
+ ctrl.InsertText(semiColonPos, wxT(";"));
+ ctrl.SetCaretAt(semiColonPos + 1);
+ }
+ }
+ }
+}
+
+void ContextJavaScript::SetActive() {}
+
+bool ContextJavaScript::IsComment(long pos)
+{
+ int style = GetCtrl().GetStyleAt(pos);
+ return style == wxSTC_C_COMMENT || style == wxSTC_C_COMMENTDOC || style == wxSTC_C_COMMENTDOCKEYWORD ||
+ style == wxSTC_C_COMMENTDOCKEYWORDERROR || style == wxSTC_C_COMMENTLINE || style == wxSTC_C_COMMENTLINEDOC;
+}
+
+#define IS_BETWEEN(style, x, y) (style >= x && style <= y)
+
+int ContextJavaScript::GetActiveKeywordSet() const { return wxNOT_FOUND; }
+
+bool ContextJavaScript::IsAtBlockComment() const
+{
+ int curpos = GetCtrl().GetCurrentPos();
+ int cur_style = GetCtrl().GetStyleAt(curpos);
+ return cur_style == wxSTC_C_COMMENT || cur_style == wxSTC_C_COMMENTDOC || cur_style == wxSTC_C_COMMENTDOCKEYWORD ||
+ cur_style == wxSTC_C_COMMENTDOCKEYWORDERROR;
+}
+
+bool ContextJavaScript::IsAtLineComment() const
+{
+ int curpos = GetCtrl().GetCurrentPos();
+ int cur_style = GetCtrl().GetStyleAt(curpos);
+ return cur_style == wxSTC_C_COMMENTLINE || cur_style == wxSTC_C_COMMENTLINEDOC;
+}
diff --git a/LiteEditor/ContextJavaScript.h b/LiteEditor/ContextJavaScript.h
new file mode 100644
index 00000000..fe5b87d6
--- /dev/null
+++ b/LiteEditor/ContextJavaScript.h
@@ -0,0 +1,74 @@
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2015 The CodeLite Team
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef CONTEXTJAVASCRIPT_H
+#define CONTEXTJAVASCRIPT_H
+
+#include "context_base.h" // Base class: ContextBase
+
+class ContextJavaScript : public ContextBase
+{
+public:
+ ContextJavaScript();
+ ContextJavaScript(LEditor *Editor);
+ virtual ~ContextJavaScript();
+
+public:
+ virtual int GetActiveKeywordSet() const;
+ virtual int DoGetCalltipParamterIndex();
+ virtual wxMenu* GetMenu();
+ virtual void AddMenuDynamicContent(wxMenu* menu);
+ virtual void ApplySettings();
+ virtual void AutoIndent(const wxChar&);
+ virtual wxString CallTipContent();
+ virtual void CodeComplete(long pos = wxNOT_FOUND);
+ virtual void CompleteWord();
+ virtual wxString GetCurrentScopeName();
+ virtual TagEntryPtr GetTagAtCaret(bool scoped, bool impl);
+ virtual void GoHyperlink(int start, int end, int type, bool alt);
+ virtual void GotoDefinition();
+ virtual void GotoPreviousDefintion();
+ virtual bool IsComment(long pos);
+ virtual bool IsCommentOrString(long pos);
+ virtual bool IsDefaultContext() const;
+ virtual ContextBase* NewInstance(LEditor* container);
+ virtual void OnCallTipClick(wxStyledTextEvent& event);
+ virtual void OnCalltipCancel();
+ virtual void OnDbgDwellEnd(wxStyledTextEvent& event);
+ virtual void OnDbgDwellStart(wxStyledTextEvent& event);
+ virtual void OnDwellEnd(wxStyledTextEvent& event);
+ virtual void OnDwellStart(wxStyledTextEvent& event);
+ virtual void OnEnterHit();
+ virtual void OnFileSaved();
+ virtual void OnKeyDown(wxKeyEvent& event);
+ virtual void OnSciUpdateUI(wxStyledTextEvent& event);
+ virtual void RemoveMenuDynamicContent(wxMenu* menu);
+ virtual void RetagFile();
+ virtual void SemicolonShift();
+ virtual void SetActive();
+ virtual bool IsAtBlockComment() const;
+ virtual bool IsAtLineComment() const;
+};
+
+#endif // CONTEXTJAVASCRIPT_H
diff --git a/LiteEditor/ContextPhp.cpp b/LiteEditor/ContextPhp.cpp
index 14c92b4c..6952582b 100644
--- a/LiteEditor/ContextPhp.cpp
+++ b/LiteEditor/ContextPhp.cpp
@@ -335,3 +335,19 @@ bool ContextPhp::IsAtLineComment() const
int cur_style = GetCtrl().GetStyleAt(curpos);
return cur_style == wxSTC_HPHP_COMMENTLINE;
}
+
+bool ContextPhp::IsStringTriggerCodeComplete(const wxString& str) const
+{
+ int style = GetCtrl().GetStyleAt(GetCtrl().GetCurrentPos());
+ if(IS_BETWEEN(style, wxSTC_HJ_START, wxSTC_HJA_REGEX)) {
+ // When in JS section, trigger CC if str is a dot
+ return str == ".";
+
+ } else if(IS_BETWEEN(style, wxSTC_H_DEFAULT, wxSTC_H_ENTITY)){
+ return str == "</" || str == "<";
+
+ } else {
+ return (m_completionTriggerStrings.count(str) > 0);
+
+ }
+}
diff --git a/LiteEditor/ContextPhp.h b/LiteEditor/ContextPhp.h
index 81fede99..07a93567 100644
--- a/LiteEditor/ContextPhp.h
+++ b/LiteEditor/ContextPhp.h
@@ -36,6 +36,7 @@ public:
virtual ~ContextPhp();
public:
+ bool IsStringTriggerCodeComplete(const wxString& str) const;
virtual int GetActiveKeywordSet() const;
virtual int DoGetCalltipParamterIndex();
virtual wxMenu* GetMenu();
diff --git a/LiteEditor/FileExplorerTabToolBar.cpp b/LiteEditor/FileExplorerTabToolBar.cpp
index 7d5890b6..451b3a41 100644
--- a/LiteEditor/FileExplorerTabToolBar.cpp
+++ b/LiteEditor/FileExplorerTabToolBar.cpp
@@ -1,10 +1,15 @@
#include "FileExplorerTabToolBar.h"
+#include "FileExplorerTab.h"
-FileExplorerTabToolBar::FileExplorerTabToolBar(wxWindow* parent)
+FileExplorerTabToolBar::FileExplorerTabToolBar(wxWindow* parent, FileExplorerTab* fileExplorer)
: FileExplorerTabToolBarBase(parent)
+ , m_fileExplorer(fileExplorer)
{
}
-FileExplorerTabToolBar::~FileExplorerTabToolBar()
+FileExplorerTabToolBar::~FileExplorerTabToolBar() {}
+
+void FileExplorerTabToolBar::OnFindInFilesUI(wxUpdateUIEvent& event)
{
+ event.Enable(m_fileExplorer->GetSelectionCount());
}
diff --git a/LiteEditor/FileExplorerTabToolBar.h b/LiteEditor/FileExplorerTabToolBar.h
index 8278d4fd..08d0b4ec 100644
--- a/LiteEditor/FileExplorerTabToolBar.h
+++ b/LiteEditor/FileExplorerTabToolBar.h
@@ -2,10 +2,15 @@
#define FILEEXPLORERTABTOOLBAR_H
#include "wxcrafter.h"
+class FileExplorerTab;
class FileExplorerTabToolBar : public FileExplorerTabToolBarBase
{
+ FileExplorerTab* m_fileExplorer;
+
public:
- FileExplorerTabToolBar(wxWindow* parent);
+ FileExplorerTabToolBar(wxWindow* parent, FileExplorerTab* fileExplorer);
virtual ~FileExplorerTabToolBar();
+protected:
+ virtual void OnFindInFilesUI(wxUpdateUIEvent& event);
};
#endif // FILEEXPLORERTABTOOLBAR_H
diff --git a/LiteEditor/ImportFilesDialogNew.cpp b/LiteEditor/ImportFilesDialogNew.cpp
index 17ff6d55..32e3e14c 100644
--- a/LiteEditor/ImportFilesDialogNew.cpp
+++ b/LiteEditor/ImportFilesDialogNew.cpp
@@ -97,14 +97,15 @@ ImportFilesDialogNew::ImportFilesDialogNew(wxWindow* parent)
m_dirPicker->SetPath(options.GetBaseDir());
m_textCtrSpec->SetValue( options.GetFileMask() );
m_checkBoxFilesWOExt->SetValue(options.GetFlags() & IFS_INCLUDE_FILES_WO_EXT );
- WindowAttrManager::Load(this, wxT("ImportFilesDialog"), NULL);
+ SetName("ImportFilesDialogNew");
+ WindowAttrManager::Load(this);
DoBuildTree();
}
ImportFilesDialogNew::~ImportFilesDialogNew()
{
- WindowAttrManager::Save(this, wxT("ImportFilesDialog"), NULL);
+
ImportFilesSettings options;
options.SetBaseDir(m_dirPicker->GetPath());
options.SetFileMask(m_textCtrSpec->GetValue());
diff --git a/LiteEditor/LiteEditor.project b/LiteEditor/LiteEditor.project
index e4cee85f..f327243b 100644
--- a/LiteEditor/LiteEditor.project
+++ b/LiteEditor/LiteEditor.project
@@ -2,7 +2,7 @@
<CodeLite_Project Name="CodeLiteIDE">
<Plugins>
<Plugin Name="qmake">
- <![CDATA[00130001N0011CMake_Debug0000000000000001N0013CMake_Release0000000000000001N0009OSX_Debug0000000000000001N0004Unix0000000000000001N0011Unix_Make_J0000000000000001N0010Unix_Wx_290000000000000001N0015WinDebugUnicode0000000000000001N0011WinDebug_290000000000000001N0017WinReleaseUnicode0000000000000001N0013WinRelease_290000000000000001N0016Win_wxWidgets_290000000000000001N0013Win_x64_Debug0000000000000001N0015Win_x64_Release000000000000]]>
+ <![CDATA[00150001N0011CMake_Debug0000000000000001N0013CMake_Release0000000000000001N0009OSX_Debug0000000000000001N0011OSX_Release0000000000000001N0004Unix0000000000000001N0011Unix_Make_J0000000000000001N0010Unix_Wx_290000000000000001N0015WinDebugUnicode0000000000000001N0011WinDebug_290000000000000001N0017WinReleaseUnicode0000000000000001N0013WinRelease_290000000000000001N0016Win_wxWidgets_290000000000000001N0013Win_x64_Debug0000000000000001N0015Win_x64_Release0000000000000001N0015Win_x86_Release000000000000]]>
</Plugin>
<Plugin Name="CMakePlugin">
<![CDATA[[{
@@ -237,6 +237,7 @@
<File Name="editorsettingsfolding.h"/>
<File Name="editorsettingsfoldingbase.cpp"/>
<File Name="editorsettingsfoldingbase.h"/>
+ <File Name="editor_options_folding.wxcp"/>
</VirtualDirectory>
<VirtualDirectory Name="Misc">
<File Name="editorsettingsmiscbasepanel.cpp"/>
@@ -264,6 +265,9 @@
<File Name="optionsdialogbase2.wxcp"/>
<File Name="editor_options_misc.wxcp"/>
<File Name="editor_options_caret.wxcp"/>
+ <VirtualDirectory Name="Code">
+ <File Name="editor_options_comments_base.wxcp"/>
+ </VirtualDirectory>
</VirtualDirectory>
<File Name="env_var_dlg_base.h"/>
<File Name="env_var_dlg_base.cpp"/>
@@ -510,10 +514,6 @@
<File Name="checktreectrl.h"/>
<File Name="checkdirtreectrl.cpp"/>
<File Name="checkdirtreectrl.h"/>
- <File Name="cc_boxbase.h"/>
- <File Name="cc_box.cpp"/>
- <File Name="cc_box.h"/>
- <File Name="cc_boxbase.cpp"/>
<File Name="ccvirtuallistctrl.cpp"/>
<File Name="ccvirtuallistctrl.h"/>
<File Name="quickfindbar.h"/>
@@ -565,6 +565,8 @@
<File Name="cl_unredo.h"/>
<File Name="ContextPhp.h"/>
<File Name="ContextPhp.cpp"/>
+ <File Name="ContextJavaScript.h"/>
+ <File Name="ContextJavaScript.cpp"/>
</VirtualDirectory>
<VirtualDirectory Name="Manager">
<File Name="manager.h"/>
@@ -611,6 +613,29 @@
<File Name="../README.md"/>
<File Name="../InnoSetup/codelite_php.iss"/>
<File Name="../InnoSetup/codelite64_mingw.iss"/>
+ <VirtualDirectory Name="CMakeModules">
+ <File Name="../cmake/Modules/FindClang.cmake"/>
+ <File Name="../cmake/Modules/FindGLIB2.cmake"/>
+ <File Name="../cmake/Modules/FindGTK3.cmake"/>
+ <File Name="../cmake/Modules/FindLLVM.cmake"/>
+ <File Name="../cmake/Modules/OSXInstall.cmake"/>
+ <File Name="../cmake/Modules/plugin.cmake"/>
+ <File Name="../cmake/Modules/FindLibClang.cmake"/>
+ <File Name="../cmake/Modules/FindLibLLDB.cmake"/>
+ </VirtualDirectory>
+ <File Name="../Runtime/Info.plist"/>
+ <VirtualDirectory Name="SDKCMakeFiles">
+ <File Name="../sdk/wxshapeframework/CMakeLists.txt"/>
+ <File Name="../sdk/wxsqlite3/CMakeLists.txt"/>
+ <File Name="../sdk/databaselayer/CMakeLists.txt"/>
+ <File Name="../sdk/codelite_cppcheck/CMakeLists.txt"/>
+ <File Name="../sdk/codelite_indexer/CMakeLists.txt"/>
+ <File Name="../codelitegcc/CMakeLists.txt"/>
+ <File Name="../codelite_make/CMakeLists.txt"/>
+ <File Name="../codelite_terminal/CMakeLists.txt"/>
+ <File Name="../codelite_echo/CMakeLists.txt"/>
+ </VirtualDirectory>
+ <File Name="../TODO.TXT"/>
</VirtualDirectory>
<VirtualDirectory Name="Docking Windows">
<File Name="output_pane.cpp"/>
@@ -687,7 +712,6 @@
</Dependencies>
<VirtualDirectory Name="scripts">
<File Name="../Runtime/update.bat"/>
- <File Name="../Runtime/make_mac_bundle.sh"/>
<File Name="../make_src_targz.sh"/>
<File Name="../mac-build.sh"/>
<File Name="../Runtime/excludes"/>
@@ -708,7 +732,6 @@
<File Name="editor_options_comments.fbp"/>
<File Name="editor_options_indetation.fbp"/>
<File Name="editor_options_dialogs.fbp"/>
- <File Name="editor_options_folding.fbp"/>
<File Name="editor_options_terminal.fbp"/>
<File Name="manageperspectivesbasedlg.fbp"/>
</VirtualDirectory>
@@ -798,8 +821,6 @@
<File Name="clang_utils.cpp"/>
<File Name="clang_unsaved_files.h"/>
<File Name="clang_unsaved_files.cpp"/>
- <File Name="code_completion_box.h"/>
- <File Name="code_completion_box.cpp"/>
<File Name="clang_compilation_db_thread.h"/>
<File Name="clang_compilation_db_thread.cpp"/>
<File Name="clang_cleaner_thread.h"/>
@@ -909,6 +930,8 @@
<File Name="new_workspace_dlg_liteeditor_bitmaps.cpp"/>
<File Name="quickdebug_formbuilder_bitmaps.cpp"/>
<File Name="CodeLiteUpgradeFrame_liteeditor_bitmaps.cpp"/>
+ <File Name="editor_options_comments_base_liteeditor_bitmaps.cpp"/>
+ <File Name="editor_options_folding_liteeditor_bitmaps.cpp"/>
</VirtualDirectory>
<File Name="../formbuilder/editorsettingslocalbase.wxcp"/>
<File Name="../formbuilder/findinfiles_dlg.wxcp"/>
@@ -999,6 +1022,10 @@
<File Name="reconcileprojectbase.cpp"/>
<File Name="reconcileprojectbase.h"/>
</VirtualDirectory>
+ <VirtualDirectory Name="CMake">
+ <File Name="CMakeLists.txt"/>
+ <File Name="../CMakeLists.txt"/>
+ </VirtualDirectory>
<Dependencies Name="CMake_Debug">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
@@ -1013,7 +1040,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="CMake_Debug_DBE_MySQL">
+ <Dependencies Name="CMake_Debug_Aui_Book">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1027,7 +1054,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="CMake_Debug_Essential">
+ <Dependencies Name="CMake_Debug_DBE_MySQL">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1041,7 +1068,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="CMake_Release">
+ <Dependencies Name="CMake_Debug_Essential">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1055,7 +1082,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="CMake_Release_DBE_MySQL">
+ <Dependencies Name="CMake_Release">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1069,7 +1096,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="CMake_Release_Essential">
+ <Dependencies Name="CMake_Release_Aui_Book">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1083,7 +1110,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="OSX_Debug">
+ <Dependencies Name="CMake_Release_DBE_MySQL">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1097,7 +1124,7 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="OSX_Release">
+ <Dependencies Name="CMake_Release_Essential">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
@@ -1111,123 +1138,50 @@
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
</Dependencies>
- <Dependencies Name="Win_x86_Release">
- <Project Name="PCH"/>
+ <Dependencies Name="CMake_Release_NO_SFTP">
+ <Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
- <Project Name="databaselayer_sqlite"/>
- <Project Name="wxshapeframework"/>
<Project Name="libCodeLite"/>
<Project Name="plugin_sdk"/>
- <Project Name="DebuggerGDB"/>
<Project Name="CodeFormatter"/>
+ <Project Name="DebuggerGDB"/>
+ <Project Name="Subversion"/>
<Project Name="Gizmos"/>
<Project Name="Cscope"/>
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
- <Project Name="ExternalTools"/>
- <Project Name="snipwiz"/>
- <Project Name="wxFormBuilder"/>
- <Project Name="abbreviation"/>
- <Project Name="ContinuousBuild"/>
- <Project Name="QMakePlugin"/>
- <Project Name="CppChecker"/>
- <Project Name="Subversion2"/>
- <Project Name="Outline"/>
- <Project Name="git"/>
- <Project Name="DatabaseExplorer"/>
- <Project Name="CallGraph"/>
- <Project Name="ZoomNavigator"/>
- <Project Name="SFTP"/>
- <Project Name="Tweaks"/>
- <Project Name="CMakePlugin"/>
- <Project Name="CodeLiteDiff"/>
- <Project Name="LLDBDebugger"/>
- <Project Name="hunspell"/>
- <Project Name="SpellCheck"/>
- <Project Name="PHPParser"/>
- <Project Name="PHPPlugin"/>
- <Project Name="WordCompletion"/>
</Dependencies>
- <Dependencies Name="Win_x64_Debug">
- <Project Name="PCH"/>
+ <Dependencies Name="OSX_Debug">
+ <Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
- <Project Name="databaselayer_sqlite"/>
- <Project Name="wxshapeframework"/>
<Project Name="libCodeLite"/>
<Project Name="plugin_sdk"/>
<Project Name="CodeFormatter"/>
<Project Name="DebuggerGDB"/>
+ <Project Name="Subversion"/>
<Project Name="Gizmos"/>
<Project Name="Cscope"/>
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
- <Project Name="ExternalTools"/>
- <Project Name="snipwiz"/>
- <Project Name="wxFormBuilder"/>
- <Project Name="abbreviation"/>
- <Project Name="ContinuousBuild"/>
- <Project Name="QMakePlugin"/>
- <Project Name="CppChecker"/>
- <Project Name="Subversion2"/>
- <Project Name="Outline"/>
- <Project Name="git"/>
- <Project Name="DatabaseExplorer"/>
- <Project Name="CallGraph"/>
- <Project Name="ZoomNavigator"/>
- <Project Name="SFTP"/>
- <Project Name="Tweaks"/>
- <Project Name="CMakePlugin"/>
- <Project Name="CodeLiteDiff"/>
- <Project Name="hunspell"/>
- <Project Name="LLDBDebugger"/>
- <Project Name="SpellCheck"/>
- <Project Name="PHPParser"/>
- <Project Name="PHPPlugin"/>
- <Project Name="WordCompletion"/>
</Dependencies>
- <Dependencies Name="Win_x64_Release">
+ <Dependencies Name="OSX_Release">
<Project Name="wxscintilla"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
<Project Name="libCodeLite"/>
<Project Name="plugin_sdk"/>
- <Project Name="DebuggerGDB"/>
<Project Name="CodeFormatter"/>
+ <Project Name="DebuggerGDB"/>
<Project Name="Subversion"/>
<Project Name="Gizmos"/>
<Project Name="Cscope"/>
<Project Name="Copyright"/>
<Project Name="UnitTestPP"/>
- <Project Name="CMakePlugin"/>
- <Project Name="CallGraph"/>
- <Project Name="CodeLiteDiff"/>
- <Project Name="ContinuousBuild"/>
- <Project Name="CppChecker"/>
- <Project Name="wxshapeframework"/>
- <Project Name="databaselayer_sqlite"/>
- <Project Name="DatabaseExplorer"/>
- <Project Name="ExternalTools"/>
- <Project Name="LLDBDebugger"/>
- <Project Name="Outline"/>
- <Project Name="PCH"/>
- <Project Name="PHPParser"/>
- <Project Name="PHPPlugin"/>
- <Project Name="QMakePlugin"/>
- <Project Name="SFTP"/>
- <Project Name="hunspell"/>
- <Project Name="SpellCheck"/>
- <Project Name="Subversion2"/>
- <Project Name="Tweaks"/>
- <Project Name="WordCompletion"/>
- <Project Name="ZoomNavigator"/>
- <Project Name="abbreviation"/>
- <Project Name="git"/>
- <Project Name="snipwiz"/>
- <Project Name="wxFormBuilder"/>
</Dependencies>
<Dependencies Name="Win_x64_Debug">
+ <Project Name="PCH"/>
<Project Name="sqlite3"/>
<Project Name="wxsqlite3"/>
<Project Name="databaselayer_sqlite"/>
@@ -1253,16 +1207,17 @@
<Project Name="DatabaseExplorer"/>
<Project Name="CallGraph"/>
<Project Name="ZoomNavigator"/>
- <Project Name="CodeBeautifier"/>
<Project Name="SFTP"/>
<Project Name="Tweaks"/>
<Project Name="CMakePlugin"/>
<Project Name="CodeLiteDiff"/>
<Project Name="hunspell"/>
- <Project Name="SpellCheck"/>
<Project Name="LLDBDebugger"/>
+ <Project Name="SpellCheck"/>
<Project Name="PHPParser"/>
<Project Name="PHPPlugin"/>
+ <Project Name="WordCompletion"/>
+ <Project Name="WebTools"/>
</Dependencies>
<Settings Type="Executable">
<GlobalSettings>
@@ -1291,7 +1246,7 @@
<![CDATA[]]>
</Environment>
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
- <DebuggerSearchPaths>/home/eran/devl/wx295/build</DebuggerSearchPaths>
+ <DebuggerSearchPaths/>
<PostConnectCommands/>
<StartupCommands/>
</Debugger>
@@ -1299,7 +1254,7 @@
<PostBuild/>
<CustomBuild Enabled="yes">
<Target Name="install">make install</Target>
- <Target Name="cmake">cmake -DWITH_WXC=1 -DPREFIX=/home/eran/root -DCMAKE_BUILD_TYPE=Debug .. -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DWITH_FLEX=1</Target>
+ <Target Name="cmake">cmake -DPREFIX=/home/eran/root -DCMAKE_BUILD_TYPE=Debug .. -DCMAKE_EXPORT_COMPILE_COMMANDS=1</Target>
<RebuildCommand>make clean &amp;&amp; make -j8</RebuildCommand>
<CleanCommand>make clean</CleanCommand>
<BuildCommand>make -j8</BuildCommand>
@@ -1313,7 +1268,7 @@
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="yes">
+ <Completion EnableCpp11="yes" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1369,7 +1324,7 @@ LD_LIBRARY_PATH=/home/eran/root/lib/codelite/]]>
resources.cpp: resources.xrc
wxrc -c -v -o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1412,7 +1367,7 @@ resources.cpp: resources.xrc
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1455,7 +1410,7 @@ resources.cpp: resources.xrc
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1494,7 +1449,7 @@ LD_LIBRARY_PATH=/home/eran/root/lib/codelite/]]>
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="yes">
- <Target Name="cmake">cmake -DCMAKE_BUILD_TYPE=Release -DWITH_WXC=1 .. -DMAKE_DEB=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DWITH_PCH=1</Target>
+ <Target Name="cmake">cmake -DCMAKE_BUILD_TYPE=Release .. -DMAKE_DEB=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DWITH_PCH=1</Target>
<RebuildCommand>make clean &amp;&amp; make -j8</RebuildCommand>
<CleanCommand>make clean</CleanCommand>
<BuildCommand>make -e -j 8</BuildCommand>
@@ -1510,7 +1465,7 @@ LD_LIBRARY_PATH=/home/eran/root/lib/codelite/]]>
resources.cpp: resources.xrc
wxrc -c -v -o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1565,7 +1520,7 @@ LD_LIBRARY_PATH=/home/eran/root/lib/codelite/]]>
resources.cpp: resources.xrc
wxrc -c -v -o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1607,7 +1562,7 @@ resources.cpp: resources.xrc
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1650,7 +1605,7 @@ resources.cpp: resources.xrc
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1705,7 +1660,7 @@ LD_LIBRARY_PATH=/home/eran/root/lib/codelite/]]>
resources.cpp: resources.xrc
wxrc -c -v -o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1747,14 +1702,14 @@ resources.cpp: resources.xrc
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
<SearchPaths/>
</Completion>
</Configuration>
- <Configuration Name="OSX_Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
+ <Configuration Name="OSX_Release" CompilerType="" DebuggerType="" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-g -Wall" C_Options="" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="."/>
</Compiler>
@@ -1775,21 +1730,22 @@ resources.cpp: resources.xrc
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="yes">
- <Target Name="CMake_Plus_Build">./mac-build.sh --cmake --wxc</Target>
- <RebuildCommand>cd build-release &amp;&amp; make clean &amp;&amp; cd .. &amp;&amp; ./mac-build.sh --wxc</RebuildCommand>
- <CleanCommand>cd build-release &amp;&amp; make clean</CleanCommand>
- <BuildCommand>./mac-build.sh --wxc</BuildCommand>
+ <Target Name="cmake">cmake .. -DCMAKE_BUILD_TYPE=Release</Target>
+ <Target Name="Install">make install</Target>
+ <RebuildCommand>make clean &amp;&amp; make -j4</RebuildCommand>
+ <CleanCommand>make clean</CleanCommand>
+ <BuildCommand>make -j4</BuildCommand>
<PreprocessFileCommand/>
<SingleFileCommand/>
<MakefileGenerationCommand/>
<ThirdPartyToolName/>
- <WorkingDirectory>$(WorkspacePath)</WorkingDirectory>
+ <WorkingDirectory>$(WorkspacePath)/build-release</WorkingDirectory>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
- <Completion EnableCpp11="no">
+ <Completion EnableCpp11="no" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1806,6 +1762,7 @@ resources.cpp: resources.xrc
<IncludePath Value="../Interfaces"/>
<IncludePath Value="../sdk/clang/include"/>
<Preprocessor Value="HAS_LIBCLANG=1"/>
+ <Preprocessor Value="HAS_LIBCLANG_BRIEFCOMMENTS=1"/>
</Compiler>
<Linker Options="-g;$(shell wx-config --debug=yes --libs std,stc,propgrid --unicode=yes);-Wl,--subsystem,windows -mwindows;" Required="yes">
<LibraryPath Value="."/>
@@ -1851,7 +1808,7 @@ resources.cpp: resources.xrc
wxrc /c /v /o resources.cpp resources.xrc
</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="yes">
+ <Completion EnableCpp11="yes" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1869,6 +1826,7 @@ resources.cpp: resources.xrc
<IncludePath Value="../PCH"/>
<IncludePath Value="../sdk/clang/include"/>
<Preprocessor Value="HAS_LIBCLANG=1"/>
+ <Preprocessor Value="HAS_LIBCLANG_BRIEFCOMMENTS=1"/>
</Compiler>
<Linker Options="-s;$(shell wx-config --debug=no --unicode=yes --libs std,stc,propgrid);-Wl,--subsystem,windows -mwindows;-O2;-s" Required="yes">
<LibraryPath Value="."/>
@@ -1909,7 +1867,7 @@ resources.cpp: resources.xrc
resources.cpp: resources.xrc
wxrc /c /v /o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="yes">
+ <Completion EnableCpp11="yes" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1927,6 +1885,7 @@ resources.cpp: resources.xrc
<IncludePath Value="../PCH"/>
<IncludePath Value="../sdk/clang/include"/>
<Preprocessor Value="HAS_LIBCLANG=1"/>
+ <Preprocessor Value="HAS_LIBCLANG_BRIEFCOMMENTS=1"/>
</Compiler>
<Linker Options="-s;$(shell wx-config --debug=no --unicode=yes --libs std,stc,propgrid);-Wl,--subsystem,windows -mwindows;-O2;-s" Required="yes">
<LibraryPath Value="."/>
@@ -1967,7 +1926,7 @@ resources.cpp: resources.xrc
resources.cpp: resources.xrc
wxrc /c /v /o resources.cpp resources.xrc</CustomPreBuild>
</AdditionalRules>
- <Completion EnableCpp11="yes">
+ <Completion EnableCpp11="yes" EnableCpp14="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
@@ -1975,4 +1934,126 @@ resources.cpp: resources.xrc
</Completion>
</Configuration>
</Settings>
+ <Dependencies Name="Win_x64_Release">
+ <Project Name="wxscintilla"/>
+ <Project Name="sqlite3"/>
+ <Project Name="wxsqlite3"/>
+ <Project Name="libCodeLite"/>
+ <Project Name="plugin_sdk"/>
+ <Project Name="DebuggerGDB"/>
+ <Project Name="CodeFormatter"/>
+ <Project Name="Subversion"/>
+ <Project Name="Gizmos"/>
+ <Project Name="Cscope"/>
+ <Project Name="Copyright"/>
+ <Project Name="UnitTestPP"/>
+ <Project Name="CMakePlugin"/>
+ <Project Name="CallGraph"/>
+ <Project Name="CodeLiteDiff"/>
+ <Project Name="ContinuousBuild"/>
+ <Project Name="CppChecker"/>
+ <Project Name="wxshapeframework"/>
+ <Project Name="databaselayer_sqlite"/>
+ <Project Name="DatabaseExplorer"/>
+ <Project Name="ExternalTools"/>
+ <Project Name="LLDBDebugger"/>
+ <Project Name="Outline"/>
+ <Project Name="PCH"/>
+ <Project Name="PHPParser"/>
+ <Project Name="PHPPlugin"/>
+ <Project Name="QMakePlugin"/>
+ <Project Name="SFTP"/>
+ <Project Name="hunspell"/>
+ <Project Name="SpellCheck"/>
+ <Project Name="Subversion2"/>
+ <Project Name="Tweaks"/>
+ <Project Name="WordCompletion"/>
+ <Project Name="ZoomNavigator"/>
+ <Project Name="abbreviation"/>
+ <Project Name="git"/>
+ <Project Name="snipwiz"/>
+ <Project Name="wxFormBuilder"/>
+ <Project Name="WebTools"/>
+ <Project Name="HelpPlugin"/>
+ </Dependencies>
+ <Dependencies Name="Win_x64_Debug">
+ <Project Name="sqlite3"/>
+ <Project Name="wxsqlite3"/>
+ <Project Name="databaselayer_sqlite"/>
+ <Project Name="wxshapeframework"/>
+ <Project Name="libCodeLite"/>
+ <Project Name="plugin_sdk"/>
+ <Project Name="CodeFormatter"/>
+ <Project Name="DebuggerGDB"/>
+ <Project Name="Gizmos"/>
+ <Project Name="Cscope"/>
+ <Project Name="Copyright"/>
+ <Project Name="UnitTestPP"/>
+ <Project Name="ExternalTools"/>
+ <Project Name="snipwiz"/>
+ <Project Name="wxFormBuilder"/>
+ <Project Name="abbreviation"/>
+ <Project Name="ContinuousBuild"/>
+ <Project Name="QMakePlugin"/>
+ <Project Name="CppChecker"/>
+ <Project Name="Subversion2"/>
+ <Project Name="Outline"/>
+ <Project Name="git"/>
+ <Project Name="DatabaseExplorer"/>
+ <Project Name="CallGraph"/>
+ <Project Name="ZoomNavigator"/>
+ <Project Name="CodeBeautifier"/>
+ <Project Name="SFTP"/>
+ <Project Name="Tweaks"/>
+ <Project Name="CMakePlugin"/>
+ <Project Name="CodeLiteDiff"/>
+ <Project Name="hunspell"/>
+ <Project Name="SpellCheck"/>
+ <Project Name="LLDBDebugger"/>
+ <Project Name="PHPParser"/>
+ <Project Name="PHPPlugin"/>
+ <Project Name="WebTools"/>
+ <Project Name="WordCompletion"/>
+ <Project Name="HelpPlugin"/>
+ </Dependencies>
+ <Dependencies Name="Win_x86_Release">
+ <Project Name="PCH"/>
+ <Project Name="sqlite3"/>
+ <Project Name="wxsqlite3"/>
+ <Project Name="databaselayer_sqlite"/>
+ <Project Name="wxshapeframework"/>
+ <Project Name="libCodeLite"/>
+ <Project Name="plugin_sdk"/>
+ <Project Name="DebuggerGDB"/>
+ <Project Name="CodeFormatter"/>
+ <Project Name="Gizmos"/>
+ <Project Name="Cscope"/>
+ <Project Name="Copyright"/>
+ <Project Name="UnitTestPP"/>
+ <Project Name="ExternalTools"/>
+ <Project Name="snipwiz"/>
+ <Project Name="wxFormBuilder"/>
+ <Project Name="abbreviation"/>
+ <Project Name="ContinuousBuild"/>
+ <Project Name="QMakePlugin"/>
+ <Project Name="CppChecker"/>
+ <Project Name="Subversion2"/>
+ <Project Name="Outline"/>
+ <Project Name="git"/>
+ <Project Name="DatabaseExplorer"/>
+ <Project Name="CallGraph"/>
+ <Project Name="ZoomNavigator"/>
+ <Project Name="SFTP"/>
+ <Project Name="Tweaks"/>
+ <Project Name="CMakePlugin"/>
+ <Project Name="CodeLiteDiff"/>
+ <Project Name="LLDBDebugger"/>
+ <Project Name="hunspell"/>
+ <Project Name="SpellCheck"/>
+ <Project Name="PHPParser"/>
+ <Project Name="PHPPlugin"/>
+ <Project Name="WordCompletion"/>
+ <Project Name="WebTools"/>
+ <Project Name="HelpPlugin"/>
+ </Dependencies>
</CodeLite_Project>
diff --git a/LiteEditor/NewCompilerDlg.cpp b/LiteEditor/NewCompilerDlg.cpp
index a9bbea66..6d5177d0 100644
--- a/LiteEditor/NewCompilerDlg.cpp
+++ b/LiteEditor/NewCompilerDlg.cpp
@@ -39,12 +39,13 @@ NewCompilerDlg::NewCompilerDlg(wxWindow* parent)
}
m_choiceCompilers->SetStringSelection("<None>");
- WindowAttrManager::Load(this, "NewCompilerDlg");
+ SetName("NewCompilerDlg");
+ WindowAttrManager::Load(this);
}
NewCompilerDlg::~NewCompilerDlg()
{
- WindowAttrManager::Save(this, "NewCompilerDlg");
+
}
void NewCompilerDlg::OnOkUI(wxUpdateUIEvent& event)
diff --git a/LiteEditor/NewThemeDialog.cpp b/LiteEditor/NewThemeDialog.cpp
index 6ebb9fdb..15c689a6 100644
--- a/LiteEditor/NewThemeDialog.cpp
+++ b/LiteEditor/NewThemeDialog.cpp
@@ -6,11 +6,12 @@ NewThemeDialog::NewThemeDialog(wxWindow* parent, LexerConf::Ptr_t lexer)
: NewThemeDialogBase(parent)
{
Center();
- WindowAttrManager::Load(this, "NewThemeDialog");
+ SetName("NewThemeDialog");
+ WindowAttrManager::Load(this);
DoInitialize(lexer);
}
-NewThemeDialog::~NewThemeDialog() { WindowAttrManager::Save(this, "NewThemeDialog"); }
+NewThemeDialog::~NewThemeDialog() { }
void NewThemeDialog::OnOkUI(wxUpdateUIEvent& event) { event.Enable(!m_textCtrlName->IsEmpty()); }
diff --git a/LiteEditor/NewVirtualFolderDlg.cpp b/LiteEditor/NewVirtualFolderDlg.cpp
index 9c81b93f..7adf7f07 100644
--- a/LiteEditor/NewVirtualFolderDlg.cpp
+++ b/LiteEditor/NewVirtualFolderDlg.cpp
@@ -39,12 +39,14 @@ NewVirtualFolderDlg::NewVirtualFolderDlg(wxWindow* parent, const wxString& curre
ProjectPtr proj = WorkspaceST::Get()->FindProjectByName(project_name, errmsg);
wxString projectPath = proj->GetFileName().GetPath();
m_basePath = wxFileName(projectPath + wxFILE_SEP_PATH + vd_path, "").GetPath();
- WindowAttrManager::Load(this, "NewVirtualFolderDlg");
+
+ SetName("NewVirtualFolderDlg");
+ WindowAttrManager::Load(this);
}
NewVirtualFolderDlg::~NewVirtualFolderDlg()
{
- WindowAttrManager::Save(this, "NewVirtualFolderDlg");
+
clConfig::Get().Write(kConfigCreateVirtualFoldersOnDisk, m_checkBoxCreateOnDisk->IsChecked());
}
diff --git a/LiteEditor/OpenFolderDlg.cpp b/LiteEditor/OpenFolderDlg.cpp
index 4d26e036..3afa276f 100644
--- a/LiteEditor/OpenFolderDlg.cpp
+++ b/LiteEditor/OpenFolderDlg.cpp
@@ -3,10 +3,8 @@
OpenFolderDlg::OpenFolderDlg(wxWindow* parent)
: OpenFolderDlgBase(parent)
{
- WindowAttrManager::Load(this, "OpenFolderDlg");
+ SetName("OpenFolderDlg");
+ WindowAttrManager::Load(this);
}
-OpenFolderDlg::~OpenFolderDlg()
-{
- WindowAttrManager::Save(this, "OpenFolderDlg");
-}
+OpenFolderDlg::~OpenFolderDlg() {}
diff --git a/LiteEditor/OpenWindowsPanelBase.wxcp b/LiteEditor/OpenWindowsPanelBase.wxcp
index 467eea1b..0706f212 100644
--- a/LiteEditor/OpenWindowsPanelBase.wxcp
+++ b/LiteEditor/OpenWindowsPanelBase.wxcp
@@ -170,7 +170,7 @@
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItem4"
+ "m_value": "m_toolbarItemSort1"
}, {
"type": "string",
"m_label": "Label:",
diff --git a/LiteEditor/OpenWindowsPanelBase_liteeditor_bitmaps.cpp b/LiteEditor/OpenWindowsPanelBase_liteeditor_bitmaps.cpp
index 6365a7f5..df973eb9 100644
--- a/LiteEditor/OpenWindowsPanelBase_liteeditor_bitmaps.cpp
+++ b/LiteEditor/OpenWindowsPanelBase_liteeditor_bitmaps.cpp
@@ -42,20 +42,19 @@ static unsigned char xml_res_file_0[] = {
218,112,19,36,205,25,130,10,174,255,254,254,127,1,81,71,79,231,198,102,
199,75,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_1 = 224;
+static size_t xml_res_size_1 = 206;
static unsigned char xml_res_file_1[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,115,111,
-114,116,34,62,79,112,101,110,87,105,110,100,111,119,115,80,97,110,101,108,
-66,97,115,101,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
-109,97,112,115,46,99,112,112,36,114,101,115,95,115,111,114,116,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,111,117,114,99,
-101,62,10};
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,115,111,114,116,34,62,79,112,101,110,87,105,110,100,111,119,115,80,97,
+110,101,108,66,97,115,101,95,108,105,116,101,101,100,105,116,111,114,95,
+98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,115,111,114,116,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,111,
+117,114,99,101,62,10};
void wxCrafterKq0OgDInitBitmapResources()
{
diff --git a/LiteEditor/ProjectCustomBuildTragetDlg.cpp b/LiteEditor/ProjectCustomBuildTragetDlg.cpp
index ac8189eb..0caf9ff5 100644
--- a/LiteEditor/ProjectCustomBuildTragetDlg.cpp
+++ b/LiteEditor/ProjectCustomBuildTragetDlg.cpp
@@ -37,12 +37,13 @@ ProjectCustomBuildTragetDlg::ProjectCustomBuildTragetDlg(wxWindow* parent, const
{
m_textCtrlCommand->ChangeValue( targetCommand );
m_textCtrlTargetName->ChangeValue( targetName );
- WindowAttrManager::Load(this, "ProjectCustomBuildTragetDlg", NULL);
+ SetName("ProjectCustomBuildTragetDlg");
+ WindowAttrManager::Load(this);
}
ProjectCustomBuildTragetDlg::~ProjectCustomBuildTragetDlg()
{
- WindowAttrManager::Save(this, "ProjectCustomBuildTragetDlg", NULL);
+
}
void ProjectCustomBuildTragetDlg::OnEditTargetNameUI(wxUpdateUIEvent& event)
{
diff --git a/LiteEditor/SelectProjectsDlg.cpp b/LiteEditor/SelectProjectsDlg.cpp
index 8d51afa7..601503b9 100644
--- a/LiteEditor/SelectProjectsDlg.cpp
+++ b/LiteEditor/SelectProjectsDlg.cpp
@@ -40,12 +40,13 @@ SelectProjectsDlg::SelectProjectsDlg(wxWindow* parent)
m_checkListBoxProjects->Check(pos, true);
}
- WindowAttrManager::Load(this, "SelectProjectsDlg", NULL);
+ SetName("SelectProjectsDlg");
+ WindowAttrManager::Load(this);
}
SelectProjectsDlg::~SelectProjectsDlg()
{
- WindowAttrManager::Save(this, "SelectProjectsDlg", NULL);
+
}
void SelectProjectsDlg::OnSelectAll(wxCommandEvent& event)
diff --git a/LiteEditor/SyntaxHighlightBaseDlg.wxcp b/LiteEditor/SyntaxHighlightBaseDlg.wxcp
index a84cb0ae..933e4ecf 100644
--- a/LiteEditor/SyntaxHighlightBaseDlg.wxcp
+++ b/LiteEditor/SyntaxHighlightBaseDlg.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 153,
+ "m_objCounter": 161,
"m_includeFiles": [],
"m_bitmapFunction": "wxCrafterqEa5vvInitBitmapResources",
"m_bitmapsFile": "syntaxhighlightbasedlg_liteeditor_bitmaps.cpp",
@@ -72,6 +72,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Colours and Fonts"
@@ -128,6 +132,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer1"
}, {
@@ -731,12 +739,782 @@
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_panelSyntaxHighlight"
+ "m_value": "m_panelGlobalColours"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
+ "m_value": "Set global colours and fonts"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
"m_value": ""
}, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "General"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": true
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer82"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4403,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer4"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText159"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Global font:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4430,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxFNTP_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_fontPickerGlobal"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Set a global font for all the supported languages"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Value:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_FONTPICKER_CHANGED",
+ "m_eventClass": "wxFontPickerEvent",
+ "m_eventHandler": "wxFontPickerEventHandler",
+ "m_functionNameAndSignature": "OnGlobalFontSelected(wxFontPickerEvent& event)",
+ "m_description": "Generated whenever the selected font changes.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText155"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Global theme:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4411,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_choiceGlobalTheme"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Set a global theme for all the supported languages.\\nIf the theme is not available for a given language, CodeLite will use the next available theme from\\nthe same family"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHOICE_SELECTED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnGlobalThemeSelected(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHOICE_SELECTED event, when an item on the list is selected.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText91"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Global foreground Colour:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4429,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_USE_TEXTCTRL", "wxCLRP_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_colourPickerOutputPanesFgColour"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "This is where you can set the foreground colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Value:",
+ "colour": "wxSYS_COLOUR_WINDOWTEXT"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_COLOURPICKER_CHANGED",
+ "m_eventClass": "wxColourPickerEvent",
+ "m_eventHandler": "wxColourPickerEventHandler",
+ "m_functionNameAndSignature": "OnOutputViewColourChanged(wxColourPickerEvent& event)",
+ "m_description": "The user changed the colour selected in the control either using the button or using text control\n(see wxCLRP_USE_TEXTCTRL; note that in this case the event is fired only if the user's input is valid, i.e. recognizable).",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText911"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Global background Colour:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4429,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_USE_TEXTCTRL", "wxCLRP_DEFAULT_STYLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_colourPickerOutputPanesBgColour"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "This is where you can set the background colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Value:",
+ "colour": "wxSYS_COLOUR_WINDOW"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_COLOURPICKER_CHANGED",
+ "m_eventClass": "wxColourPickerEvent",
+ "m_eventHandler": "wxColourPickerEventHandler",
+ "m_functionNameAndSignature": "OnOutputViewColourChanged(wxColourPickerEvent& event)",
+ "m_description": "The user changed the colour selected in the control either using the button or using text control\n(see wxCLRP_USE_TEXTCTRL; note that in this case the event is fired only if the user's input is valid, i.e. recognizable).",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panelSyntaxHighlight"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Customize your colours and font per language"
+ }, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
@@ -775,7 +1553,7 @@
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Syntax Highlight"
+ "m_value": "Customize"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
@@ -800,6 +1578,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer21"
}, {
@@ -971,6 +1753,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer3"
}, {
@@ -1142,6 +1928,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer6"
}, {
@@ -1165,6 +1955,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer2"
}, {
@@ -1282,6 +2076,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer95"
}, {
@@ -1919,7 +2717,7 @@
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Customize"
+ "m_value": "Styles"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
@@ -1944,6 +2742,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer51"
}, {
@@ -1967,6 +2769,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer8"
}, {
@@ -2072,6 +2878,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer9"
}, {
@@ -2095,6 +2905,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer1"
}, {
@@ -2944,6 +3758,10 @@
"m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer5"
}, {
@@ -3529,6 +4347,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer7"
}, {
@@ -3552,6 +4374,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer3"
}, {
@@ -4069,462 +4895,6 @@
}]
}]
}]
- }, {
- "m_type": 4441,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panelGlobalColours"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Global Colours"
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer82"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer4"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText91"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Global foreground Colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4429,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_USE_TEXTCTRL", "wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_colourPickerOutputPanesFgColour"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "This is where you can set the foreground colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Value:",
- "colour": "wxSYS_COLOUR_WINDOWTEXT"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_COLOURPICKER_CHANGED",
- "m_eventClass": "wxColourPickerEvent",
- "m_eventHandler": "wxColourPickerEventHandler",
- "m_functionNameAndSignature": "OnOutputViewColourChanged(wxColourPickerEvent& event)",
- "m_description": "The user changed the colour selected in the control either using the button or using text control\n(see wxCLRP_USE_TEXTCTRL; note that in this case the event is fired only if the user's input is valid, i.e. recognizable).",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText911"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Global background Colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4429,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_USE_TEXTCTRL", "wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_colourPickerOutputPanesBgColour"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "This is where you can set the background colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Value:",
- "colour": "wxSYS_COLOUR_WINDOW"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_COLOURPICKER_CHANGED",
- "m_eventClass": "wxColourPickerEvent",
- "m_eventHandler": "wxColourPickerEventHandler",
- "m_functionNameAndSignature": "OnOutputViewColourChanged(wxColourPickerEvent& event)",
- "m_description": "The user changed the colour selected in the control either using the button or using text control\n(see wxCLRP_USE_TEXTCTRL; note that in this case the event is fired only if the user's input is valid, i.e. recognizable).",
- "m_noBody": false
- }],
- "m_children": []
- }]
- }]
- }]
}]
}, {
"m_type": 4401,
@@ -4536,6 +4906,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer19"
}, {
@@ -4556,7 +4930,7 @@
"gbSpan": "1,1",
"gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -4792,6 +5166,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "New Theme"
@@ -4848,6 +5226,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer115"
}, {
@@ -4871,6 +5253,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer125"
}, {
diff --git a/LiteEditor/WelcomePage.cpp b/LiteEditor/WelcomePage.cpp
index 27392ea6..075e7fd6 100644
--- a/LiteEditor/WelcomePage.cpp
+++ b/LiteEditor/WelcomePage.cpp
@@ -118,7 +118,12 @@ WelcomePage::DoGetPopupMenuSelection(wxCommandLinkButton* btn, const wxArrayStri
for(size_t i = 0; i < strings.GetCount(); i++) {
wxBitmap bmp = bmps[FileExtManager::TypeText];
- FileExtManager::FileType type = FileExtManager::GetType(strings.Item(i));
+ wxString filename = strings.Item(i);
+ if(filename.Find("@") != wxNOT_FOUND) {
+ filename = filename.AfterFirst('@');
+ }
+ filename.Trim().Trim(false);
+ FileExtManager::FileType type = FileExtManager::GetType(filename);
if(bmps.count(type)) {
bmp = bmps[type];
}
diff --git a/LiteEditor/acceltabledlg.cpp b/LiteEditor/acceltabledlg.cpp
index ce351da5..06c5f606 100644
--- a/LiteEditor/acceltabledlg.cpp
+++ b/LiteEditor/acceltabledlg.cpp
@@ -83,12 +83,13 @@ AccelTableDlg::AccelTableDlg(wxWindow* parent)
PopulateTable();
// center the dialog
- Centre();
+ CentreOnParent();
m_textCtrlFilter->SetFocus();
m_dataview->SetIndent(16);
-
- WindowAttrManager::Load(this, "AccelTableDlg", NULL);
+
+ SetName("AccelTableDlg");
+ WindowAttrManager::Load(this);
}
void AccelTableDlg::PopulateTable(const wxString& filter)
@@ -210,7 +211,7 @@ void AccelTableDlg::OnText(wxCommandEvent& event)
PopulateTable(m_textCtrlFilter->GetValue());
}
-AccelTableDlg::~AccelTableDlg() { WindowAttrManager::Save(this, "AccelTableDlg", NULL); }
+AccelTableDlg::~AccelTableDlg() { }
void AccelTableDlg::OnDVItemActivated(wxDataViewEvent& event)
{
wxUnusedVar(event);
diff --git a/LiteEditor/addincludefiledlg.cpp b/LiteEditor/addincludefiledlg.cpp
index a9730b85..fe33c47d 100644
--- a/LiteEditor/addincludefiledlg.cpp
+++ b/LiteEditor/addincludefiledlg.cpp
@@ -64,8 +64,9 @@ AddIncludeFileDlg::AddIncludeFileDlg(wxWindow* parent, const wxString& fullpath,
SetAndMarkLine();
m_textCtrlPreview->EmptyUndoBuffer();
m_textCtrlPreview->SetFocus();
- WindowAttrManager::Load(this, "AddIncludeFileDlg", NULL);
- Centre();
+ CentreOnParent();
+ SetName("AddIncludeFileDlg");
+ WindowAttrManager::Load(this);
// Only call OnModified when text was deleted or added
Bind(wxEVT_IDLE, &AddIncludeFileDlg::OnIdle, this);
@@ -78,7 +79,7 @@ AddIncludeFileDlg::AddIncludeFileDlg(wxWindow* parent, const wxString& fullpath,
m_textCtrlPreview->SetFirstVisibleLine(firstVisibleLine);
}
-AddIncludeFileDlg::~AddIncludeFileDlg() { WindowAttrManager::Save(this, "AddIncludeFileDlg", NULL); }
+AddIncludeFileDlg::~AddIncludeFileDlg() { }
void AddIncludeFileDlg::UpdateLineToAdd()
{
diff --git a/LiteEditor/addincludefiledlgbase.cpp b/LiteEditor/addincludefiledlgbase.cpp
index 3e6d449d..8eb510ec 100644
--- a/LiteEditor/addincludefiledlgbase.cpp
+++ b/LiteEditor/addincludefiledlgbase.cpp
@@ -53,7 +53,7 @@ AddIncludeFileDlgBase::AddIncludeFileDlgBase(wxWindow* parent, wxWindowID id, co
m_auibar6 = new wxAuiToolBar(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE);
m_auibar6->SetToolBitmapSize(wxSize(16,16));
- boxSizer15->Add(m_auibar6, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer15->Add(m_auibar6, 0, wxLEFT|wxRIGHT|wxEXPAND, 5);
m_auibar6->AddTool(ID_LINEUP, _("Move Up"), wxXmlResource::Get()->LoadBitmap(wxT("arrow-up")), wxNullBitmap, wxITEM_NORMAL, _("Move the #include statement one line up"), _("Move the #include statement one line up"), NULL);
@@ -167,12 +167,18 @@ AddIncludeFileDlgBase::AddIncludeFileDlgBase(wxWindow* parent, wxWindowID id, co
bSizer8->Add(m_buttonCancel, 0, wxALL, 5);
+ SetName(wxT("AddIncludeFileDlgBase"));
SetMinSize( wxSize(250,-1) );
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre();
+ CentreOnParent();
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
this->Connect(ID_LINEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(AddIncludeFileDlgBase::OnButtonUp), NULL, this);
this->Connect(ID_LINEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(AddIncludeFileDlgBase::OnButtonDown), NULL, this);
diff --git a/LiteEditor/addincludefiledlgbase.h b/LiteEditor/addincludefiledlgbase.h
index 5d6438a0..31e6f21c 100644
--- a/LiteEditor/addincludefiledlgbase.h
+++ b/LiteEditor/addincludefiledlgbase.h
@@ -24,6 +24,12 @@
#include <wx/stc/stc.h>
#include <wx/textctrl.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class AddIncludeFileDlgBase : public wxDialog
{
@@ -51,6 +57,16 @@ protected:
virtual void OnButtonOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText14() { return m_staticText14; }
+ wxAuiToolBar* GetAuibar6() { return m_auibar6; }
+ wxStyledTextCtrl* GetTextCtrlPreview() { return m_textCtrlPreview; }
+ wxStaticText* GetStaticText21() { return m_staticText21; }
+ wxStaticText* GetStaticTextPreview() { return m_staticTextPreview; }
+ wxStaticText* GetStaticText5() { return m_staticText5; }
+ wxTextCtrl* GetTextCtrlFullPath() { return m_textCtrlFullPath; }
+ wxPanel* GetMainPanel() { return m_mainPanel; }
+ wxButton* GetButtonOK() { return m_buttonOK; }
+ wxButton* GetButtonCancel() { return m_buttonCancel; }
AddIncludeFileDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Add a missing header file"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~AddIncludeFileDlgBase();
};
diff --git a/LiteEditor/addoptioncheckdlg.cpp b/LiteEditor/addoptioncheckdlg.cpp
index 54ed4f50..31555f7b 100644
--- a/LiteEditor/addoptioncheckdlg.cpp
+++ b/LiteEditor/addoptioncheckdlg.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : addoptioncheckdlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : addoptioncheckdlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "addoptioncheckdlg.h"
#include "windowattrmanager.h"
#include <wx/tokenzr.h>
@@ -31,133 +31,114 @@
#include <list>
#include <algorithm> // std::find
-AddOptionCheckDlg::AddOptionCheckDlg(wxWindow* parent, const wxString& title, const Compiler::CmpCmdLineOptions& cmpOptions, const wxString& value)
-: AddOptionCheckDialogBase(parent, wxID_ANY, title)
-, m_cmpOptions(cmpOptions)
-{
- WindowAttrManager::Load(this, wxT("AddOptionCheckDlg"), NULL);
-
- // Fill the list of available options
- Compiler::CmpCmdLineOptions::const_iterator itOption = m_cmpOptions.begin();
- for ( ; itOption != m_cmpOptions.end(); ++itOption)
- {
- const Compiler::CmpCmdLineOption& cmpOption = itOption->second;
- m_checkListOptions->Append(cmpOption.help + wxT(" [") + cmpOption.name + wxT("]"));
- }
-
- // Update controls
- SetValue(value);
-}
+AddOptionCheckDlg::AddOptionCheckDlg(wxWindow* parent,
+ const wxString& title,
+ const Compiler::CmpCmdLineOptions& cmpOptions,
+ const wxString& value)
+ : AddOptionCheckDialogBase(parent, wxID_ANY, title)
+ , m_cmpOptions(cmpOptions)
+{
+ SetName("AddOptionCheckDlg");
+ WindowAttrManager::Load(this);
-AddOptionCheckDlg::~AddOptionCheckDlg()
-{
- WindowAttrManager::Save(this, wxT("AddOptionCheckDlg"), NULL);
+ // Fill the list of available options
+ Compiler::CmpCmdLineOptions::const_iterator itOption = m_cmpOptions.begin();
+ for(; itOption != m_cmpOptions.end(); ++itOption) {
+ const Compiler::CmpCmdLineOption& cmpOption = itOption->second;
+ m_checkListOptions->Append(cmpOption.help + wxT(" [") + cmpOption.name + wxT("]"));
+ }
+
+ // Update controls
+ SetValue(value);
}
+AddOptionCheckDlg::~AddOptionCheckDlg() {}
+
void AddOptionCheckDlg::SetValue(const wxString& value)
{
- m_textCmdLn->SetValue(value);
-
- UpdateOptions();
- UpdateCmdLine();
-}
+ m_textCmdLn->SetValue(value);
-wxString AddOptionCheckDlg::GetValue() const
-{
- return m_textCmdLn->GetValue();
+ UpdateOptions();
+ UpdateCmdLine();
}
-void AddOptionCheckDlg::OnOptionToggled( wxCommandEvent& event )
-{
- UpdateCmdLine();
- UpdateOptions();
-}
+wxString AddOptionCheckDlg::GetValue() const { return m_textCmdLn->GetValue(); }
-void AddOptionCheckDlg::OnOptionsText( wxCommandEvent& event )
+void AddOptionCheckDlg::OnOptionToggled(wxCommandEvent& event)
{
- UpdateCmdLine();
+ UpdateCmdLine();
+ UpdateOptions();
}
+void AddOptionCheckDlg::OnOptionsText(wxCommandEvent& event) { UpdateCmdLine(); }
+
void AddOptionCheckDlg::UpdateOptions()
{
- // Remove all check boxes
- m_checkListOptions->Freeze();
-
- for (unsigned int idx = 0; idx < m_checkListOptions->GetCount(); ++idx)
- {
- m_checkListOptions->Check(idx, false);
- }
-
- // Check all options entered
- wxString customOptions;
- wxStringTokenizer tkz(m_textCmdLn->GetValue(), wxT(";"));
- while(tkz.HasMoreTokens())
- {
- wxString token = tkz.GetNextToken();
- token = token.Trim().Trim(false);
- if (!token.empty())
- {
- Compiler::CmpCmdLineOptions::const_iterator itOption = m_cmpOptions.find(token);
- if(itOption != m_cmpOptions.end())
- {
- const Compiler::CmpCmdLineOption& cmpOption = itOption->second;
- m_checkListOptions->Check(m_checkListOptions->FindString(cmpOption.help + wxT(" [") + cmpOption.name + wxT("]")));
- }
- else
- {
- if(!customOptions.empty()) customOptions << wxT(";");
- customOptions << token;
- }
- }
- }
- m_textOptions->ChangeValue(customOptions);
-
- m_checkListOptions->Thaw();
+ // Remove all check boxes
+ m_checkListOptions->Freeze();
+
+ for(unsigned int idx = 0; idx < m_checkListOptions->GetCount(); ++idx) {
+ m_checkListOptions->Check(idx, false);
+ }
+
+ // Check all options entered
+ wxString customOptions;
+ wxStringTokenizer tkz(m_textCmdLn->GetValue(), wxT(";"));
+ while(tkz.HasMoreTokens()) {
+ wxString token = tkz.GetNextToken();
+ token = token.Trim().Trim(false);
+ if(!token.empty()) {
+ Compiler::CmpCmdLineOptions::const_iterator itOption = m_cmpOptions.find(token);
+ if(itOption != m_cmpOptions.end()) {
+ const Compiler::CmpCmdLineOption& cmpOption = itOption->second;
+ m_checkListOptions->Check(
+ m_checkListOptions->FindString(cmpOption.help + wxT(" [") + cmpOption.name + wxT("]")));
+ } else {
+ if(!customOptions.empty()) customOptions << wxT(";");
+ customOptions << token;
+ }
+ }
+ }
+ m_textOptions->ChangeValue(customOptions);
+
+ m_checkListOptions->Thaw();
}
void AddOptionCheckDlg::UpdateCmdLine()
{
- // Store all actual options
- std::list<wxString> options;
- wxStringInputStream input(m_textOptions->GetValue());
- wxTextInputStream text(input);
- while( !input.Eof() ) {
- wxString option = text.ReadLine().Trim().Trim(false);
- if (!option.empty())
- {
- options.push_back(option);
- }
- }
-
- // Read check box options
- for (unsigned int idx = 0; idx < m_checkListOptions->GetCount(); ++idx)
- {
- wxString value = m_checkListOptions->GetString(idx).AfterLast(wxT('[')).BeforeLast(wxT(']'));
- if (m_checkListOptions->IsChecked(idx))
- {
- // If the option doesn't exist actually, add it
- if (std::find(options.begin(), options.end(), value) == options.end())
- {
- //options.push_back(value.AfterLast(wxT('[')).BeforeLast(wxT(']')));
- options.insert(options.begin(), value);
- }
- else
- // uncheck the option if already defined manualy
- m_checkListOptions->Check(idx, false);
- }
- }
-
- // Update the options textctrl
- wxString value;
- std::list<wxString>::const_iterator itOption = options.begin();
- for ( ; itOption != options.end(); ++itOption)
- {
- if(!value.Contains(*itOption + wxT(";")))
- {
- if(!value.empty()) value << wxT(";");
- value << *itOption;
- }
- }
- m_textCmdLn->SetValue(value);
-}
+ // Store all actual options
+ std::list<wxString> options;
+ wxStringInputStream input(m_textOptions->GetValue());
+ wxTextInputStream text(input);
+ while(!input.Eof()) {
+ wxString option = text.ReadLine().Trim().Trim(false);
+ if(!option.empty()) {
+ options.push_back(option);
+ }
+ }
+ // Read check box options
+ for(unsigned int idx = 0; idx < m_checkListOptions->GetCount(); ++idx) {
+ wxString value = m_checkListOptions->GetString(idx).AfterLast(wxT('[')).BeforeLast(wxT(']'));
+ if(m_checkListOptions->IsChecked(idx)) {
+ // If the option doesn't exist actually, add it
+ if(std::find(options.begin(), options.end(), value) == options.end()) {
+ // options.push_back(value.AfterLast(wxT('[')).BeforeLast(wxT(']')));
+ options.insert(options.begin(), value);
+ } else
+ // uncheck the option if already defined manualy
+ m_checkListOptions->Check(idx, false);
+ }
+ }
+
+ // Update the options textctrl
+ wxString value;
+ std::list<wxString>::const_iterator itOption = options.begin();
+ for(; itOption != options.end(); ++itOption) {
+ if(!value.Contains(*itOption + wxT(";"))) {
+ if(!value.empty()) value << wxT(";");
+ value << *itOption;
+ }
+ }
+ m_textCmdLn->SetValue(value);
+}
diff --git a/LiteEditor/advance_settings.wxcp b/LiteEditor/advance_settings.wxcp
index 874917e5..13cf9a3a 100644
--- a/LiteEditor/advance_settings.wxcp
+++ b/LiteEditor/advance_settings.wxcp
@@ -1,519 +1,394 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 21,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCrafterMQKEsvInitBitmapResources",
- "m_bitmapsFile": "advance_settings_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": -1329469887,
- "m_outputFileName": "advance_settings_base",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "AdvancedDlgBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Build Settings"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 0,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "AdvancedDlg"
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "advanced_settings"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "mainSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4456,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxAUI_NB_TOP", "wxBK_DEFAULT"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "250,250"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_notebook"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer13"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonRestoreDefaults"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Revert all the changes and restore all the build settings to the factory defaults"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Restore Defaults..."
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnRestoreDefaults(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer17"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4467,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_stdBtnSizer2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 6,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonCancel"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 0,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonOK"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonOKClicked(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 3,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonApply"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
- "m_noBody": false
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnApplyUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 21,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCrafterMQKEsvInitBitmapResources",
+ "m_bitmapsFile": "advance_settings_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": -1329469887,
+ "m_outputFileName": "advance_settings_base",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "AdvancedDlgBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Build Settings"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 0,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "AdvancedDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "advanced_settings"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4456,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxAUI_NB_TOP", "wxBK_DEFAULT", "wxBORDER_NONE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "250,250"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_notebook"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4467,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_stdBtnSizer2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 6,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonCancel"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 0,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonOK"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonOKClicked(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 3,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonApply"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnApplyUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/advance_settings_base.cpp b/LiteEditor/advance_settings_base.cpp
index 7076c8fc..259864b2 100644
--- a/LiteEditor/advance_settings_base.cpp
+++ b/LiteEditor/advance_settings_base.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : advance_settings_base.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: advance_settings.wxcp
@@ -51,24 +26,14 @@ AdvancedDlgBase::AdvancedDlgBase(wxWindow* parent, wxWindowID id, const wxString
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
this->SetSizer(mainSizer);
- m_notebook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(250,250), wxAUI_NB_TOP|wxBK_DEFAULT);
+ m_notebook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(250,250), wxAUI_NB_TOP|wxBK_DEFAULT|wxBORDER_NONE);
+ m_notebook->SetName(wxT("m_notebook"));
mainSizer->Add(m_notebook, 1, wxALL|wxEXPAND, 5);
- wxBoxSizer* boxSizer13 = new wxBoxSizer(wxHORIZONTAL);
-
- mainSizer->Add(boxSizer13, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
-
- m_buttonRestoreDefaults = new wxButton(this, wxID_ANY, _("Restore Defaults..."), wxDefaultPosition, wxSize(-1,-1), 0);
- m_buttonRestoreDefaults->SetToolTip(_("Revert all the changes and restore all the build settings to the factory defaults"));
-
- boxSizer13->Add(m_buttonRestoreDefaults, 0, wxALL|wxALIGN_LEFT, 5);
-
- boxSizer13->Add(0, 0, 1, wxALL, 5);
-
m_stdBtnSizer2 = new wxStdDialogButtonSizer();
- boxSizer13->Add(m_stdBtnSizer2, 0, wxALL|wxALIGN_RIGHT, 5);
+ mainSizer->Add(m_stdBtnSizer2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
m_buttonCancel = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_stdBtnSizer2->AddButton(m_buttonCancel);
@@ -81,13 +46,29 @@ AdvancedDlgBase::AdvancedDlgBase(wxWindow* parent, wxWindowID id, const wxString
m_stdBtnSizer2->AddButton(m_buttonApply);
m_stdBtnSizer2->Realize();
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook);
+ } else {
+ wxPersistenceManager::Get().Restore(m_notebook);
+ }
+ #endif
+
+ SetName(wxT("AdvancedDlgBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre();
+ CentreOnParent();
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
- m_buttonRestoreDefaults->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnRestoreDefaults), NULL, this);
m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnButtonOKClicked), NULL, this);
m_buttonApply->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnApply), NULL, this);
m_buttonApply->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(AdvancedDlgBase::OnApplyUI), NULL, this);
@@ -96,7 +77,6 @@ AdvancedDlgBase::AdvancedDlgBase(wxWindow* parent, wxWindowID id, const wxString
AdvancedDlgBase::~AdvancedDlgBase()
{
- m_buttonRestoreDefaults->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnRestoreDefaults), NULL, this);
m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnButtonOKClicked), NULL, this);
m_buttonApply->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AdvancedDlgBase::OnApply), NULL, this);
m_buttonApply->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(AdvancedDlgBase::OnApplyUI), NULL, this);
diff --git a/LiteEditor/advance_settings_base.h b/LiteEditor/advance_settings_base.h
index 4c7b58a9..53897fbd 100644
--- a/LiteEditor/advance_settings_base.h
+++ b/LiteEditor/advance_settings_base.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : advance_settings_base.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: advance_settings.wxcp
@@ -41,24 +16,29 @@
#include <wx/sizer.h>
#include <wx/aui/auibook.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class AdvancedDlgBase : public wxDialog
{
protected:
wxAuiNotebook* m_notebook;
- wxButton* m_buttonRestoreDefaults;
wxStdDialogButtonSizer* m_stdBtnSizer2;
wxButton* m_buttonCancel;
wxButton* m_buttonOK;
wxButton* m_buttonApply;
protected:
- virtual void OnRestoreDefaults(wxCommandEvent& event) { event.Skip(); }
virtual void OnButtonOKClicked(wxCommandEvent& event) { event.Skip(); }
virtual void OnApply(wxCommandEvent& event) { event.Skip(); }
virtual void OnApplyUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxAuiNotebook* GetNotebook() { return m_notebook; }
AdvancedDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Build Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~AdvancedDlgBase();
};
diff --git a/LiteEditor/advance_settings_liteeditor_bitmaps.cpp b/LiteEditor/advance_settings_liteeditor_bitmaps.cpp
index 4e3536e8..365e6737 100644
--- a/LiteEditor/advance_settings_liteeditor_bitmaps.cpp
+++ b/LiteEditor/advance_settings_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : advance_settings_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCrafterMQKEsvInitBitmapResources()
{
diff --git a/LiteEditor/advanced_settings.cpp b/LiteEditor/advanced_settings.cpp
index 3235bd5b..c315f72f 100644
--- a/LiteEditor/advanced_settings.cpp
+++ b/LiteEditor/advanced_settings.cpp
@@ -70,7 +70,7 @@ AdvancedDlg::AdvancedDlg(wxWindow* parent,
wxBoxSizer* bSizer4;
bSizer4 = new wxBoxSizer(wxHORIZONTAL);
- bSizer5->Add(bSizer4, 0, wxALIGN_RIGHT | wxEXPAND, 5);
+ bSizer5->Add(bSizer4, 0, wxEXPAND, 5);
m_compilersPage = new CompilerMainPage(m_compilersMainPanel);
bSizer5->Add(m_compilersPage, 1, wxALL | wxEXPAND, 5);
@@ -90,10 +90,11 @@ AdvancedDlg::AdvancedDlg(wxWindow* parent,
LoadCompilers();
// center the dialog
- Centre();
+ CentreOnParent();
this->Layout();
-
- WindowAttrManager::Load(this, wxT("BuildSettingsDlg"), NULL);
+
+ SetName("AdvancedDlg");
+ WindowAttrManager::Load(this);
}
void AdvancedDlg::LoadCompilers() { m_compilersPage->LoadCompilers(); }
@@ -101,7 +102,7 @@ void AdvancedDlg::LoadCompilers() { m_compilersPage->LoadCompilers(); }
AdvancedDlg::~AdvancedDlg()
{
wxDELETE(m_rightclickMenu);
- WindowAttrManager::Save(this, wxT("BuildSettingsDlg"), NULL);
+
}
void AdvancedDlg::OnButtonNewClicked()
@@ -174,22 +175,6 @@ void AdvancedDlg::OnContextMenu(wxContextMenuEvent& e)
// }
}
-void AdvancedDlg::OnRestoreDefaults(wxCommandEvent&)
-{
- if(wxMessageBox(_("Are you sure you want to revert to the default settings?"),
- wxT("CodeLite"),
- wxYES_NO | wxCANCEL | wxCENTRE | wxICON_WARNING,
- this) == wxYES) {
- // restore the default settings of the build configuration
- BuildSettingsConfigST::Get()->RestoreDefaults();
-
- // Dismiss this dialog and reload it
- wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED, XRCID("advance_settings"));
- clMainFrame::Get()->GetEventHandler()->AddPendingEvent(event);
- EndModal(wxID_OK);
- }
-}
-
#define ID_MENU_AUTO_DETECT_COMPILERS 1001
#define ID_MENU_ADD_COMPILER_BY_PATH 1002
#define ID_MENU_CLONE_COMPILER 1003
@@ -257,7 +242,7 @@ void AdvancedDlg::OnApply(wxCommandEvent& event)
}
}
-void AdvancedDlg::OnApplyUI(wxUpdateUIEvent& event) { event.Enable(m_compilersPage->IsDirty()); }
+void AdvancedDlg::OnApplyUI(wxUpdateUIEvent& event) { event.Enable(m_compilersPage->IsDirty() || m_buildSettings->IsModified()); }
void AdvancedDlg::OnAddExistingCompiler()
{
diff --git a/LiteEditor/advanced_settings.h b/LiteEditor/advanced_settings.h
index 289db311..6b691afb 100644
--- a/LiteEditor/advanced_settings.h
+++ b/LiteEditor/advanced_settings.h
@@ -85,7 +85,6 @@ protected:
void OnButtonNewClicked();
void OnAddExistingCompiler();
void OnButtonOKClicked(wxCommandEvent &);
- void OnRestoreDefaults(wxCommandEvent &);
void OnContextMenu(wxContextMenuEvent &e);
void LoadCompilers();
diff --git a/LiteEditor/app.cpp b/LiteEditor/app.cpp
index c9011a0b..1d4dfa19 100644
--- a/LiteEditor/app.cpp
+++ b/LiteEditor/app.cpp
@@ -28,7 +28,6 @@
#include "file_logger.h"
#include "fileextmanager.h"
#include "evnvarlist.h"
-#include "code_completion_box.h"
#include "environmentconfig.h"
#include "conffilelocator.h"
#include "app.h"
@@ -54,8 +53,12 @@
#include "clKeyboardManager.h"
#include "clInitializeDialog.h"
#include "event_notifier.h"
+#include "clsplashscreen.h"
+#include <wx/persist.h>
+#include "singleinstancethreadjob.h"
+#include "SocketAPI/clSocketClient.h"
-#define __PERFORMANCE
+//#define __PERFORMANCE
#include "performance.h"
//////////////////////////////////////////////
@@ -261,6 +264,7 @@ CodeLiteApp::CodeLiteApp(void)
: m_pMainFrame(NULL)
, m_singleInstance(NULL)
, m_pluginLoadPolicy(PP_All)
+ , m_persistencManager(NULL)
#ifdef __WXMSW__
, m_handler(NULL)
#endif
@@ -279,11 +283,17 @@ CodeLiteApp::~CodeLiteApp(void)
if(m_singleInstance) {
delete m_singleInstance;
}
- // wxAppBase::ExitMainLoop();
+ wxDELETE(m_persistencManager);
}
bool CodeLiteApp::OnInit()
{
+#if defined(__WXMSW__) && !defined(NDEBUG)
+ SetAppName(wxT("codelite-dbg"));
+#else
+ SetAppName(wxT("codelite"));
+#endif
+
#if defined(__WXGTK__) || defined(__WXMAC__)
// block signal pipe
@@ -304,10 +314,10 @@ bool CodeLiteApp::OnInit()
#endif
wxSocketBase::Initialize();
-// #if wxUSE_ON_FATAL_EXCEPTION
-// //trun on fatal exceptions handler
-// wxHandleFatalExceptions(true);
-// #endif
+#if wxUSE_ON_FATAL_EXCEPTION
+ // trun on fatal exceptions handler
+ wxHandleFatalExceptions(true);
+#endif
#ifdef __WXMSW__
// as described in http://jrfonseca.dyndns.org/projects/gnu-win32/software/drmingw/
@@ -344,14 +354,19 @@ bool CodeLiteApp::OnInit()
return false;
}
+ // check for single instance
+ if(!IsSingleInstance(parser)) {
+ return false;
+ }
+
if(parser.Found(wxT("h"))) {
// print usage
parser.Usage();
return false;
}
-
+
if(parser.Found(wxT("v"))) {
- // print version
+// print version
#ifdef __WXMSW__
::wxMessageBox(wxString() << "CodeLite IDE v" << clGitRevision, "CodeLite");
#else
@@ -392,7 +407,8 @@ bool CodeLiteApp::OnInit()
clStandardPaths::Get().SetUserDataDir(newDataDir);
}
- // Set the log file verbosity. NB Doing this earlier seems to break wxGTK debug output when debugging CodeLite itself :/
+ // Set the log file verbosity. NB Doing this earlier seems to break wxGTK debug output when debugging CodeLite
+ // itself :/
FileLogger::OpenLog("codelite.log", clConfig::Get().Read(kConfigLogVerbosity, FileLogger::Error));
CL_DEBUG(wxT("Starting codelite..."));
@@ -411,7 +427,6 @@ bool CodeLiteApp::OnInit()
#if defined(__WXGTK__)
if(homeDir.IsEmpty()) {
- SetAppName(wxT("codelite"));
homeDir = clStandardPaths::Get()
.GetUserDataDir(); // By default, ~/Library/Application Support/codelite or ~/.codelite
if(!wxFileName::Exists(homeDir)) {
@@ -442,7 +457,6 @@ bool CodeLiteApp::OnInit()
}
#elif defined(__WXMAC__)
- SetAppName(wxT("codelite"));
homeDir = clStandardPaths::Get().GetUserDataDir();
if(!wxFileName::Exists(homeDir)) {
wxLogNull noLog;
@@ -470,11 +484,11 @@ bool CodeLiteApp::OnInit()
#else //__WXMSW__
if(homeDir.IsEmpty()) { // did we got a basedir from user?
-# ifdef USE_POSIX_LAYOUT
+#ifdef USE_POSIX_LAYOUT
homeDir = wxStandardPaths::Get().GetDataDir() + wxT(INSTALL_DIR);
-# else
+#else
homeDir = ::wxGetCwd();
-# endif
+#endif
}
wxFileName fnHomdDir(homeDir + wxT("/"));
@@ -494,13 +508,14 @@ bool CodeLiteApp::OnInit()
ManagerST::Get()->SetInstallDir(homeDir);
#endif
- // Update codelite revision and Version
- EditorConfigST::Get()->Init(clGitRevision, wxT("2.0.2"));
-
+ // Use our persistence manager (which uses wxFileConfig instead of the registry...)
+ m_persistencManager = new clPersistenceManager();
+ wxPersistenceManager::Set(*m_persistencManager);
+
// Make sure we have an instance if the keyboard manager allocated before we create the main frame class
// (the keyboard manager needs to connect to the main frame events)
clKeyboardManager::Get();
-
+
ManagerST::Get()->SetOriginalCwd(wxGetCwd());
::wxSetWorkingDirectory(homeDir);
// Load all of the XRC files that will be used. You can put everything
@@ -518,8 +533,6 @@ bool CodeLiteApp::OnInit()
// Initialize the configuration file locater
ConfFileLocator::Instance()->Initialize(ManagerST::Get()->GetInstallDir(), ManagerST::Get()->GetStartupDirectory());
- Manager* mgr = ManagerST::Get();
-
// set the CTAGS_REPLACEMENT environment variable
wxSetEnv(wxT("CTAGS_REPLACEMENTS"), ManagerST::Get()->GetStartupDirectory() + wxT("/ctags.replacements"));
@@ -541,13 +554,36 @@ bool CodeLiteApp::OnInit()
}
#endif
- EditorConfigST::Get()->SetInstallDir(mgr->GetInstallDir());
+ Manager* mgr = ManagerST::Get();
EditorConfig* cfg = EditorConfigST::Get();
+ cfg->SetInstallDir(mgr->GetInstallDir());
+
+ // Update codelite revision and Version
+ cfg->Init(clGitRevision, wxT("2.0.2"));
if(!cfg->Load()) {
CL_ERROR(wxT("Failed to load configuration file: %s/config/codelite.xml"), wxGetCwd().c_str());
return false;
}
+#if !defined(__WXMAC__) && defined(NDEBUG)
+ // Now all image handlers have been added, show splash screen; but only when using Release builds of codelite
+ GeneralInfo inf;
+ cfg->ReadObject(wxT("GeneralInfo"), &inf);
+ if(inf.GetFlags() & CL_SHOW_SPLASH) {
+ wxBitmap bitmap;
+ wxString splashName(clStandardPaths::Get().GetDataDir() + wxT("/images/splashscreen.png"));
+ if(bitmap.LoadFile(splashName, wxBITMAP_TYPE_PNG)) {
+ wxString mainTitle = CODELITE_VERSION_STR;
+ clSplashScreen::g_splashScreen = new clSplashScreen(clSplashScreen::CreateSplashScreenBitmap(bitmap),
+ wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT,
+ -1,
+ NULL,
+ wxID_ANY);
+ wxYield();
+ }
+ }
+#endif
+
#ifdef __WXGTK__
bool redirect = clConfig::Get().Read(kConfigRedirectLogOutput, true);
if(redirect) {
@@ -559,10 +595,6 @@ bool CodeLiteApp::OnInit()
wxUnusedVar(new_stdout);
}
#endif
- // check for single instance
- if(!IsSingleInstance(parser, ManagerST::Get()->GetOriginalCwd())) {
- return false;
- }
//---------------------------------------------------------
// Set environment variable for CodeLiteDir (make it first
@@ -584,9 +616,6 @@ bool CodeLiteApp::OnInit()
#endif
- GeneralInfo inf;
- cfg->ReadObject(wxT("GeneralInfo"), &inf);
-
// Set up the locale if appropriate
if(EditorConfigST::Get()->GetOptions()->GetUseLocale()) {
int preferredLocale = wxLANGUAGE_ENGLISH;
@@ -610,11 +639,11 @@ bool CodeLiteApp::OnInit()
wxLocale::AddCatalogLookupPathPrefix(wxT("/usr/local/share/locale"));
#elif defined(__WXMSW__)
-# ifdef USE_POSIX_LAYOUT
+#ifdef USE_POSIX_LAYOUT
wxLocale::AddCatalogLookupPathPrefix(wxStandardPaths::Get().GetDataDir() + wxT("/share/locale"));
-# else
+#else
wxLocale::AddCatalogLookupPathPrefix(ManagerST::Get()->GetInstallDir() + wxT("\\locale"));
-# endif
+#endif
#endif
// This has to be done before the catalogues are added, as otherwise the wrong one (or none) will be found
@@ -630,6 +659,10 @@ bool CodeLiteApp::OnInit()
// as otherwise, in a RTL locale, menus, dialogs etc will be displayed RTL, in English...
// However I couldn't find a way to do this
}
+ } else {
+ // For proper encoding handling by system libraries it's needed to inialize locale even if UI translation is
+ // turned off
+ m_locale.Init(wxLANGUAGE_ENGLISH, wxLOCALE_DONT_LOAD_DEFAULT);
}
// Append the binary's dir to $PATH. This makes codelite-cc available even for a --prefix= installation
@@ -650,33 +683,16 @@ bool CodeLiteApp::OnInit()
// If running under Cygwin terminal, adjust the environment variables
AdjustPathForMSYSIfNeeded();
-
- // determine if the 'upgrade' frame needs to be started instead of the
- // standard main frame
- bool needsLexerLoadedEvent(false);
- if(ColoursAndFontsManager::Get().IsUpgradeNeeded()) {
- clInitializeDialog initDialog(NULL);
- SetTopWindow(&initDialog);
- initDialog.ShowModal();
- needsLexerLoadedEvent = true;
- } else {
- // Make sure that the colours and fonts manager is instantiated
- ColoursAndFontsManager::Get().Load();
- }
-
+
+ // Make sure that the colours and fonts manager is instantiated
+ ColoursAndFontsManager::Get().Load();
+
// Create the main application window
clMainFrame::Initialize(parser.GetParamCount() == 0);
m_pMainFrame = clMainFrame::Get();
m_pMainFrame->Show(TRUE);
SetTopWindow(m_pMainFrame);
-
- if (needsLexerLoadedEvent) {
- // Though a wxEVT_COLOURS_AND_FONTS_LOADED will already have been sent, it won't have done anything because
- // the frame wasn't instantiated/Connect()ed at that time. So a session won't be loaded unless...
- clColourEvent event(wxEVT_COLOURS_AND_FONTS_LOADED);
- EventNotifier::Get()->AddPendingEvent(event);
- }
-
+
long lineNumber(0);
parser.Found(wxT("l"), &lineNumber);
if(lineNumber > 0) {
@@ -756,7 +772,7 @@ void CodeLiteApp::OnFatalException()
#endif
}
-bool CodeLiteApp::IsSingleInstance(const wxCmdLineParser& parser, const wxString& curdir)
+bool CodeLiteApp::IsSingleInstance(const wxCmdLineParser& parser)
{
// check for single instance
if(clConfig::Get().Read(kConfigSingleInstance, false)) {
@@ -765,30 +781,30 @@ bool CodeLiteApp::IsSingleInstance(const wxCmdLineParser& parser, const wxString
m_singleInstance = new wxSingleInstanceChecker(name);
if(m_singleInstance->IsAnotherRunning()) {
// prepare commands file for the running instance
- wxString files;
+ wxArrayString files;
for(size_t i = 0; i < parser.GetParamCount(); i++) {
wxString argument = parser.GetParam(i);
// convert to full path and open it
wxFileName fn(argument);
- fn.MakeAbsolute(curdir);
- files << fn.GetFullPath() << wxT("\n");
+ fn.MakeAbsolute();
+ files.Add(fn.GetFullPath());
}
- if(files.IsEmpty() == false) {
- Mkdir(ManagerST::Get()->GetStartupDirectory() + wxT("/ipc"));
-
- wxString file_name, tmp_file;
- tmp_file << ManagerST::Get()->GetStartupDirectory() << wxT("/ipc/command.msg.tmp");
+ try {
+ // Send the request
+ clSocketClient client;
+ bool dummy;
+ client.ConnectRemote("127.0.0.1", SINGLE_INSTANCE_PORT, dummy);
- file_name << ManagerST::Get()->GetStartupDirectory() << wxT("/ipc/command.msg");
+ JSONRoot json(cJSON_Object);
+ json.toElement().addProperty("args", files);
+ client.WriteMessage(json.toElement().format());
+ return false;
- // write the content to a temporary file, once completed,
- // rename the file to the actual file name
- WriteFileUTF8(tmp_file, files);
- wxRenameFile(tmp_file, file_name);
+ } catch(clSocketException& e) {
+ CL_ERROR("Failed to send single instance request: %s", e.what());
}
- return false;
}
}
return true;
@@ -911,12 +927,12 @@ void CodeLiteApp::DoCopyGdbPrinters()
#ifdef __WXGTK__
printersInstallDir = wxFileName(wxString(INSTALL_DIR, wxConvUTF8), "gdb_printers");
#else
-# ifdef USE_POSIX_LAYOUT
- wxString commdir(wxStandardPaths::Get().GetDataDir() + wxT( INSTALL_DIR ));
+#ifdef USE_POSIX_LAYOUT
+ wxString commdir(wxStandardPaths::Get().GetDataDir() + wxT(INSTALL_DIR));
printersInstallDir = wxFileName(commdir, "gdb_printers");
-# else
+#else
printersInstallDir = wxFileName(wxStandardPaths::Get().GetDataDir(), "gdb_printers");
-# endif
+#endif
#endif
// copy the files to ~/.codelite/gdb_printers
@@ -934,9 +950,9 @@ void CodeLiteApp::AdjustPathForCygwinIfNeeded()
CL_DEBUG("Not running under Cygwin - nothing be done");
return;
}
-
+
CL_SYSTEM("Cygwin environment detected");
-
+
wxString cygwinRootDir;
CompilerLocatorCygwin cygwin;
if(cygwin.Locate()) {
@@ -995,9 +1011,9 @@ void CodeLiteApp::AdjustPathForMSYSIfNeeded()
CL_DEBUG("Not running under MSYS - nothing be done");
return;
}
-
+
CL_SYSTEM("MSYS environment detected");
-
+
// Running under Cygwin
// Adjust the PATH environment variable
wxString pathEnv;
diff --git a/LiteEditor/app.h b/LiteEditor/app.h
index 1f67b785..26a3cfd5 100644
--- a/LiteEditor/app.h
+++ b/LiteEditor/app.h
@@ -27,6 +27,7 @@
#include "frame.h"
#include <set>
+#include "clPersistenceManager.h"
class wxSplashScreen;
class wxSingleInstanceChecker;
@@ -44,10 +45,11 @@ protected:
wxLocale m_locale;
wxArrayString m_allowedPlugins;
PluginPolicy m_pluginLoadPolicy;
-
+ clPersistenceManager* m_persistencManager;
+
private: // Methods
bool CopySettings(const wxString& destDir, wxString& installPath);
- bool IsSingleInstance(const wxCmdLineParser& parser, const wxString& curdir);
+ bool IsSingleInstance(const wxCmdLineParser& parser);
void DoCopyGdbPrinters();
void MSWReadRegistry();
wxString DoFindMenuFile(const wxString& installDirectory, const wxString& requiredVersion);
diff --git a/LiteEditor/assignedfilesmodel.cpp b/LiteEditor/assignedfilesmodel.cpp
index 6e9d7f87..1d2c012c 100644
--- a/LiteEditor/assignedfilesmodel.cpp
+++ b/LiteEditor/assignedfilesmodel.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : assignedfilesmodel.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// Do not modify this file by hand!
@@ -61,7 +36,7 @@ AssignedFilesModel::AssignedFilesModel()
AssignedFilesModel::~AssignedFilesModel()
{
for(size_t i=0; i<m_data.size(); ++i) {
- delete m_data.at(i);
+ wxDELETE(m_data.at(i));
}
m_data.clear();
}
@@ -101,6 +76,10 @@ wxString AssignedFilesModel::GetColumnType(unsigned int col) const
wxDataViewItem AssignedFilesModel::GetParent(const wxDataViewItem& item) const
{
+ if ( IsEmpty() ) {
+ return wxDataViewItem(NULL);
+ }
+
AssignedFilesModel_Item* node = reinterpret_cast<AssignedFilesModel_Item*>(item.m_pItem);
if ( node ) {
return wxDataViewItem(node->GetParent());
@@ -228,7 +207,7 @@ void AssignedFilesModel::DeleteItem(const wxDataViewItem& item)
if ( parent && parent->GetChildren().empty() )
DoChangeItemType(parentItem, false);
- delete node;
+ wxDELETE(node);
}
if ( IsEmpty() )
@@ -253,6 +232,7 @@ void AssignedFilesModel::Clear()
for(; iter != roots.end(); ++iter) {
DeleteItem( wxDataViewItem(*iter) );
}
+ m_data.clear();
Cleared();
}
diff --git a/LiteEditor/assignedfilesmodel.h b/LiteEditor/assignedfilesmodel.h
index 8a7e25af..c9ec88c4 100644
--- a/LiteEditor/assignedfilesmodel.h
+++ b/LiteEditor/assignedfilesmodel.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : assignedfilesmodel.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// Do not modify this file by hand!
@@ -217,9 +192,9 @@ public:
protected:
// Helpers
- wxDataViewItem DoAppendItem(const wxDataViewItem& parent, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData = NULL);
- wxDataViewItem DoInsertItem(const wxDataViewItem& insertBeforeMe, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData);
- void DoChangeItemType(const wxDataViewItem& item, bool changeToContainer);
+ virtual wxDataViewItem DoAppendItem(const wxDataViewItem& parent, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData = NULL);
+ virtual wxDataViewItem DoInsertItem(const wxDataViewItem& insertBeforeMe, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData);
+ virtual void DoChangeItemType(const wxDataViewItem& item, bool changeToContainer);
public:
/**
diff --git a/LiteEditor/attachdbgprocdlg.cpp b/LiteEditor/attachdbgprocdlg.cpp
index 334a13b9..10012c9c 100644
--- a/LiteEditor/attachdbgprocdlg.cpp
+++ b/LiteEditor/attachdbgprocdlg.cpp
@@ -31,147 +31,138 @@
/// Ascending sorting function
struct PIDSorter {
- bool operator()(const ProcessEntry &rStart, const ProcessEntry &rEnd) {
- return rEnd.pid < rStart.pid;
- }
+ bool operator()(const ProcessEntry& rStart, const ProcessEntry& rEnd) { return rEnd.pid < rStart.pid; }
};
struct NameSorter {
- bool operator()(const ProcessEntry &rStart, const ProcessEntry &rEnd) {
- return rEnd.name.CmpNoCase(rStart.name) < 0;
- }
+ bool operator()(const ProcessEntry& rStart, const ProcessEntry& rEnd)
+ {
+ return rEnd.name.CmpNoCase(rStart.name) < 0;
+ }
};
-AttachDbgProcDlg::AttachDbgProcDlg( wxWindow* parent )
- : AttachDbgProcBaseDlg( parent )
- , m_selectedItem(wxNOT_FOUND)
+AttachDbgProcDlg::AttachDbgProcDlg(wxWindow* parent)
+ : AttachDbgProcBaseDlg(parent)
+ , m_selectedItem(wxNOT_FOUND)
{
- wxArrayString choices = DebuggerMgr::Get().GetAvailableDebuggers();
- m_choiceDebugger->Append(choices);
+ wxArrayString choices = DebuggerMgr::Get().GetAvailableDebuggers();
+ m_choiceDebugger->Append(choices);
- if (choices.IsEmpty() == false) {
- m_choiceDebugger->SetSelection(0);
- }
+ if(choices.IsEmpty() == false) {
+ m_choiceDebugger->SetSelection(0);
+ }
- m_listCtrlProcesses->InsertColumn(0, _("PID"));
- m_listCtrlProcesses->InsertColumn(1, _("Name"));
+ m_listCtrlProcesses->InsertColumn(0, _("PID"));
+ m_listCtrlProcesses->InsertColumn(1, _("Name"));
- RefreshProcessesList(wxEmptyString);
- m_textCtrlFilter->SetFocus();
- Centre();
+ RefreshProcessesList(wxEmptyString);
+ m_textCtrlFilter->SetFocus();
+ Centre();
- WindowAttrManager::Load(this, wxT("AttachDbgProcDlg"), NULL);
+ SetName("AttachDbgProcDlg");
+ WindowAttrManager::Load(this);
}
void AttachDbgProcDlg::RefreshProcessesList(wxString filter, int colToSort)
{
- m_listCtrlProcesses->Freeze();
- m_listCtrlProcesses->DeleteAllItems();
-
- filter.Trim().Trim(false);
-
- //Populate the list with list of processes
- std::vector<ProcessEntry> proclist;
- ProcUtils::GetProcessList(proclist);
-
- if (colToSort == 0) {//sort by PID
- std::sort(proclist.begin(), proclist.end(), PIDSorter());
-
- } else if (colToSort == 1) {//sort by name
- std::sort(proclist.begin(), proclist.end(), NameSorter());
-
- }
-
- filter.MakeLower();
- for (size_t i=0; i<proclist.size(); i++) {
-
- // Use case in-sensitive match for the filter
- wxString entryName (proclist.at(i).name);
- entryName.MakeLower();
-
- // Append only processes that matches the filter string
- if ( filter.IsEmpty() || entryName.Contains(filter) ) {
- long item = AppendListCtrlRow(m_listCtrlProcesses);
- ProcessEntry entry = proclist.at(i);
- wxString spid;
- bool selfPid = (entry.pid == (long)wxGetProcessId());
- spid << entry.pid;
- SetColumnText(m_listCtrlProcesses, item, 0, spid);
- SetColumnText(m_listCtrlProcesses, item, 1, entry.name);
-
- if (selfPid) {
- m_listCtrlProcesses->SetItemTextColour(item, wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
- }
- }
-
- }
-
- m_listCtrlProcesses->SetColumnWidth(0, 100);
- m_listCtrlProcesses->SetColumnWidth(1, 500);
- m_listCtrlProcesses->Thaw();
+ m_listCtrlProcesses->Freeze();
+ m_listCtrlProcesses->DeleteAllItems();
+
+ filter.Trim().Trim(false);
+
+ // Populate the list with list of processes
+ std::vector<ProcessEntry> proclist;
+ ProcUtils::GetProcessList(proclist);
+
+ if(colToSort == 0) { // sort by PID
+ std::sort(proclist.begin(), proclist.end(), PIDSorter());
+
+ } else if(colToSort == 1) { // sort by name
+ std::sort(proclist.begin(), proclist.end(), NameSorter());
+ }
+
+ filter.MakeLower();
+ for(size_t i = 0; i < proclist.size(); i++) {
+
+ // Use case in-sensitive match for the filter
+ wxString entryName(proclist.at(i).name);
+ entryName.MakeLower();
+
+ // Append only processes that matches the filter string
+ if(filter.IsEmpty() || entryName.Contains(filter)) {
+ long item = AppendListCtrlRow(m_listCtrlProcesses);
+ ProcessEntry entry = proclist.at(i);
+ wxString spid;
+ bool selfPid = (entry.pid == (long)wxGetProcessId());
+ spid << entry.pid;
+ SetColumnText(m_listCtrlProcesses, item, 0, spid);
+ SetColumnText(m_listCtrlProcesses, item, 1, entry.name);
+
+ if(selfPid) {
+ m_listCtrlProcesses->SetItemTextColour(item, wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
+ }
+ }
+ }
+
+ m_listCtrlProcesses->SetColumnWidth(0, 100);
+ m_listCtrlProcesses->SetColumnWidth(1, 500);
+ m_listCtrlProcesses->Thaw();
}
wxString AttachDbgProcDlg::GetExeName() const
{
- if (m_selectedItem != wxNOT_FOUND) {
- return GetColumnText(m_listCtrlProcesses, m_selectedItem, 1);
- }
- return wxEmptyString;
+ if(m_selectedItem != wxNOT_FOUND) {
+ return GetColumnText(m_listCtrlProcesses, m_selectedItem, 1);
+ }
+ return wxEmptyString;
}
wxString AttachDbgProcDlg::GetProcessId() const
{
- if (m_selectedItem != wxNOT_FOUND) {
- return GetColumnText(m_listCtrlProcesses, m_selectedItem, 0);
- }
- return wxEmptyString;
+ if(m_selectedItem != wxNOT_FOUND) {
+ return GetColumnText(m_listCtrlProcesses, m_selectedItem, 0);
+ }
+ return wxEmptyString;
}
-
-void AttachDbgProcDlg::OnSortColumn( wxListEvent& event )
+void AttachDbgProcDlg::OnSortColumn(wxListEvent& event)
{
- RefreshProcessesList( m_textCtrlFilter->GetValue(), event.m_col );
+ RefreshProcessesList(m_textCtrlFilter->GetValue(), event.m_col);
}
-void AttachDbgProcDlg::OnItemActivated( wxListEvent& event )
+void AttachDbgProcDlg::OnItemActivated(wxListEvent& event)
{
- m_selectedItem = event.m_itemIndex;
- EndModal(wxID_OK);
+ m_selectedItem = event.m_itemIndex;
+ EndModal(wxID_OK);
}
-void AttachDbgProcDlg::OnItemDeselected( wxListEvent& event )
+void AttachDbgProcDlg::OnItemDeselected(wxListEvent& event)
{
- m_selectedItem = wxNOT_FOUND;
- wxUnusedVar(event);
+ m_selectedItem = wxNOT_FOUND;
+ wxUnusedVar(event);
}
-void AttachDbgProcDlg::OnItemSelected( wxListEvent& event )
+void AttachDbgProcDlg::OnItemSelected(wxListEvent& event)
{
- m_selectedItem = event.m_itemIndex;
- wxUnusedVar(event);
+ m_selectedItem = event.m_itemIndex;
+ wxUnusedVar(event);
}
-void AttachDbgProcDlg::OnBtnAttachUI( wxUpdateUIEvent& event )
-{
- event.Enable(m_selectedItem != wxNOT_FOUND);
-}
+void AttachDbgProcDlg::OnBtnAttachUI(wxUpdateUIEvent& event) { event.Enable(m_selectedItem != wxNOT_FOUND); }
-AttachDbgProcDlg::~AttachDbgProcDlg()
-{
- WindowAttrManager::Save(this, wxT("AttachDbgProcDlg"), NULL);
-}
+AttachDbgProcDlg::~AttachDbgProcDlg() {}
void AttachDbgProcDlg::OnFilter(wxCommandEvent& event)
{
- wxUnusedVar(event);
- RefreshProcessesList(m_textCtrlFilter->GetValue());
+ wxUnusedVar(event);
+ RefreshProcessesList(m_textCtrlFilter->GetValue());
}
void AttachDbgProcDlg::OnRefresh(wxCommandEvent& event)
{
- wxUnusedVar(event);
- // Clear all filters and refresh the processes list
- m_textCtrlFilter->Clear();
- RefreshProcessesList(wxEmptyString);
- m_textCtrlFilter->SetFocus();
+ wxUnusedVar(event);
+ // Clear all filters and refresh the processes list
+ m_textCtrlFilter->Clear();
+ RefreshProcessesList(wxEmptyString);
+ m_textCtrlFilter->SetFocus();
}
diff --git a/LiteEditor/autoversion.cpp b/LiteEditor/autoversion.cpp
index ea05ee5e..2ace3ad2 100644
--- a/LiteEditor/autoversion.cpp
+++ b/LiteEditor/autoversion.cpp
@@ -27,6 +27,6 @@
#define CL_GIT_REVISION
#include <wx/string.h>
-const wxChar* clGitRevision = wxT("7.0");
+const wxChar* clGitRevision = wxT("8.0");
#endif
diff --git a/LiteEditor/breakpoint_dlg_liteeditor_bitmaps.cpp b/LiteEditor/breakpoint_dlg_liteeditor_bitmaps.cpp
index c067cfd9..9fbfaf14 100644
--- a/LiteEditor/breakpoint_dlg_liteeditor_bitmaps.cpp
+++ b/LiteEditor/breakpoint_dlg_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : breakpoint_dlg_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCrafterFrb2RoInitBitmapResources()
{
diff --git a/LiteEditor/breakpointdlg.wxcp b/LiteEditor/breakpointdlg.wxcp
index 6e83e0c7..4e8397cf 100644
--- a/LiteEditor/breakpointdlg.wxcp
+++ b/LiteEditor/breakpointdlg.wxcp
@@ -1,3448 +1,3582 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 9,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCrafterFrb2RoInitBitmapResources",
- "m_bitmapsFile": "breakpoint_dlg_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": -24015,
- "m_outputFileName": "breakpointdlgbase",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4407,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "BreakpointTabBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": ""
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CL:LiteEditor"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "BreakpointDlg"
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "breakpointdlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer5"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4413,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLC_SINGLE_SEL", "wxLC_REPORT"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_listCtrlBreakpoints"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": "BreakpointsListctrl"
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": "breakpointslistctrl.h"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_ACTIVATED",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemActivated(wxListEvent& event)",
- "m_description": "The item has been activated (ENTER or double click)"
- }, {
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_DESELECTED",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemDeselected(wxListEvent& event)",
- "m_description": "The item has been deselected"
- }, {
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemRightClick(wxListEvent& event)",
- "m_description": "The right mouse button has been clicked on an item"
- }, {
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_SELECTED",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemSelected(wxListEvent& event)",
- "m_description": "The item has been selected"
- }],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 25,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxTOP", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer6"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonAdd"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Add a new breakpoint or watchpoint"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Add"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnAdd(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonEdit"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Edit the selected item"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Edit"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnEdit(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonDelete"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Delete the selected item"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Delete"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnDelete(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonDeleteAll"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Delete all breakpoints and watchpoints"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Delete &All"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnDeleteAll(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonApplyPending"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If this button is visible, there are breakpoints that you tried to set, but that the debugger refused. This most often happens when the breakpoint is inside a library that hadn't been loaded when the debugger started.\\n\\nClick to offer the breakpoints to the debugger again."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Set Pending"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnApplyPending(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "BreakpointPropertiesDlgBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Breakpoint and Watchpoint Properties"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CL:LiteEditor"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 0,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "BreakptPropertiesDlg"
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "breakpointpropertiesdlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer3"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText9"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Select the type of the breakpoint:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4445,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_choicebook"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED",
- "m_eventClass": "wxChoicebookEvent",
- "m_eventHandler": "wxChoicebookEventHandler",
- "m_functionNameAndSignature": "OnPageChanged(wxChoicebookEvent& event)",
- "m_description": "The page selection was changed"
- }, {
- "m_eventName": "wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING",
- "m_eventClass": "wxChoicebookEvent",
- "m_eventHandler": "wxChoicebookEventHandler",
- "m_functionNameAndSignature": "OnPageChanging(wxChoicebookEvent& event)",
- "m_description": "The page selection is about to be changed. This event can be vetoed"
- }],
- "m_children": [{
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Breakpoint"
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer14"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText51"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Break by line, function or memory address:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer111"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkLineno"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Line number"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakLineno(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakLinenoUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textLineno"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Enter the line-number on which you wish to break. It's assumed to refer to the current file: if it doesn't, please enter the correct filepath below."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBreakFunction"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Function name"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakFunction(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakFunctionUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textFunctionname"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If you wish to break when a particular function is entered, insert its name here. In C just the name will do e.g. 'main' or 'myFoo'. For C++ class methods, you need to do 'MyClass::myFoo'\\n\\nAlternatively you can enter a regular expression, and tick the checkbox below. A breakpoint will then be set on all matching functions."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer134"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkRegex"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If you wish to insert a breakpoint on several functions, you can tick this box, then enter a suitable regular expression in the textctrl above."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "This is a regex"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBreakMemory"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Memory address:"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakMemory(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCheckBreakMemoryUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textBreakMemory"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "To break on a memory address, enter the address here.\\ne.g. 0x0a1b2c3d or 12345678"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "In file: "
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer18"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textFilename"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If you've entered a line-number, its assumed to refer to the current file. If it isn't, enter the correct filename here.\\n\\nFor a function, a file is usually not required. However, if you have several functions with the same name, in several different files (do people _really_ do that?) and you want to break on only one of those, enter the correct filename here."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonBrowse"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Browse"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnBrowse(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4418,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLI_HORIZONTAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticline5"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Watchpoint"
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Null Page",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer13"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4416,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxRA_SPECIFY_ROWS"],
- "m_sizerFlags": ["wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_radioWatchtype"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "The usual type of watchpoint is 'write-only': that is, it's triggered whenever the target is changed.\\n\\nAlternatively you can choose for it to trigger when the target is read from, or either written to or read from."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Type of watchpoint:"
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": "write only;read only;read-write"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Major Dimension:",
- "m_value": "3"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText5"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Data to watch:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textWatchExpression"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Identify the data to be watched. It can be one of:\\n1) Any variable name e.g. 'foo'\\n2) A memory address, suitably cast e.g.*(int*)0x12345678 will watch an int-sized block starting at this address.\\nDon't include spaces in the expression: gdb can't understand them.\\n3) A complex expression e.g. a*b + c/d'. The expression can use any operators valid in the program's native language.\\n\\nNB. A watchpoint set on a local variable will automatically be removed when the variable loses scope."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer5"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Conditional Breaks: Add any condition here"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCond"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "You can add a condition to any breakpoint or watchpoint. The debugger will then stop only if the condition is met.\\n\\nThe condition can be any simple or complex expression in your programming language,providing it returns a bool. However any variables that you use must be in scope.\\n\\nIf you've previously set a condition and no longer want it, just clear this textctrl."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText11"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Command List: Add any command(s) here"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCommands"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "You can add a list of commands to any breakpoint or watchpoint. When the breakpoint is hit and the program interrupted, those commands will be executed.\\n\\nFor example, to print the value of the variable foo and then continue running the program, enter:\\nprint foo\\ncont\\n\\nIf you've previously entered commands, and no longer want them, just clear this textctrl."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4403,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "4"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0,1,2,3"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkDisable"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If you check this box, the breakpoint (or watchpoint) will still exist, but it won't trigger. If you uncheck it in the future, the breakpoint will work again."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Disable"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkTemp"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "A temporary breakpoint (or watchpoint) is one that works only once. When it's hit it behaves like any other, except that it's then deleted."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Make temporary"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText7"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Enter a count >0 to ignore this breakpoint (or watchpoint) for that number of times. It then behaves as though it is disabled, except that every time it would have triggered, the ignore count decrements.\\nWhen the count reaches zero, the breakpoint becomes active again."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Ignore count:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4436,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxSP_ARROW_KEYS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_spinIgnore"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Min value:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Max value:",
- "m_value": "1000000"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4418,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLI_HORIZONTAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticline4"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer9"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button7"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 9,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCrafterFrb2RoInitBitmapResources",
+ "m_bitmapsFile": "breakpoint_dlg_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": -24015,
+ "m_outputFileName": "breakpointdlgbase",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4407,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "BreakpointTabBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CL:LiteEditor"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "BreakpointDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "breakpointdlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer5"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4413,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLC_SINGLE_SEL", "wxLC_REPORT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_listCtrlBreakpoints"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": "BreakpointsListctrl"
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": "breakpointslistctrl.h"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_LIST_ITEM_ACTIVATED",
+ "m_eventClass": "wxListEvent",
+ "m_eventHandler": "wxListEventHandler",
+ "m_functionNameAndSignature": "OnItemActivated(wxListEvent& event)",
+ "m_description": "The item has been activated (ENTER or double click)",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_LIST_ITEM_DESELECTED",
+ "m_eventClass": "wxListEvent",
+ "m_eventHandler": "wxListEventHandler",
+ "m_functionNameAndSignature": "OnItemDeselected(wxListEvent& event)",
+ "m_description": "The item has been deselected",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK",
+ "m_eventClass": "wxListEvent",
+ "m_eventHandler": "wxListEventHandler",
+ "m_functionNameAndSignature": "OnItemRightClick(wxListEvent& event)",
+ "m_description": "The right mouse button has been clicked on an item",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_LIST_ITEM_SELECTED",
+ "m_eventClass": "wxListEvent",
+ "m_eventHandler": "wxListEventHandler",
+ "m_functionNameAndSignature": "OnItemSelected(wxListEvent& event)",
+ "m_description": "The item has been selected",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 25,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxTOP", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer6"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonAdd"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Add a new breakpoint or watchpoint"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Add"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnAdd(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonEdit"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Edit the selected item"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Edit"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnEdit(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonDelete"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Delete the selected item"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Delete"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnDelete(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonDeleteAll"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Delete all breakpoints and watchpoints"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Delete &All"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnDeleteAll(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonApplyPending"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If this button is visible, there are breakpoints that you tried to set, but that the debugger refused. This most often happens when the breakpoint is inside a library that hadn't been loaded when the debugger started.\\n\\nClick to offer the breakpoints to the debugger again."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Set Pending"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnApplyPending(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "BreakpointPropertiesDlgBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Breakpoint and Watchpoint Properties"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CL:LiteEditor"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 0,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "BreakptPropertiesDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "breakpointpropertiesdlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText9"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Select the type of the breakpoint:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4445,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_choicebook"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED",
+ "m_eventClass": "wxChoicebookEvent",
+ "m_eventHandler": "wxChoicebookEventHandler",
+ "m_functionNameAndSignature": "OnPageChanged(wxChoicebookEvent& event)",
+ "m_description": "The page selection was changed",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING",
+ "m_eventClass": "wxChoicebookEvent",
+ "m_eventHandler": "wxChoicebookEventHandler",
+ "m_functionNameAndSignature": "OnPageChanging(wxChoicebookEvent& event)",
+ "m_description": "The page selection is about to be changed. This event can be vetoed",
+ "m_noBody": false
+ }],
+ "m_children": [{
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Breakpoint"
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer14"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText51"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Break by line, function or memory address:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer111"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4403,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer2"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkLineno"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Line number"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakLineno(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakLinenoUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textLineno"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Enter the line-number on which you wish to break. It's assumed to refer to the current file: if it doesn't, please enter the correct filepath below."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBreakFunction"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Function name"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakFunction(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakFunctionUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textFunctionname"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If you wish to break when a particular function is entered, insert its name here. In C just the name will do e.g. 'main' or 'myFoo'. For C++ class methods, you need to do 'MyClass::myFoo'\\n\\nAlternatively you can enter a regular expression, and tick the checkbox below. A breakpoint will then be set on all matching functions."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer134"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkRegex"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If you wish to insert a breakpoint on several functions, you can tick this box, then enter a suitable regular expression in the textctrl above."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "This is a regex"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBreakMemory"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Memory address:"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakMemory(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnCheckBreakMemoryUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textBreakMemory"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "To break on a memory address, enter the address here.\\ne.g. 0x0a1b2c3d or 12345678"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "In file: "
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer18"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textFilename"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If you've entered a line-number, its assumed to refer to the current file. If it isn't, enter the correct filename here.\\n\\nFor a function, a file is usually not required. However, if you have several functions with the same name, in several different files (do people _really_ do that?) and you want to break on only one of those, enter the correct filename here."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonBrowse"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Browse"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnBrowse(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4418,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline5"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Watchpoint"
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer13"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4416,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxRA_SPECIFY_ROWS"],
+ "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_radioWatchtype"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "The usual type of watchpoint is 'write-only': that is, it's triggered whenever the target is changed.\\n\\nAlternatively you can choose for it to trigger when the target is read from, or either written to or read from."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Type of watchpoint:"
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "write only;read only;read-write"
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Major Dimension:",
+ "m_value": "3"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText5"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Data to watch:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textWatchExpression"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Identify the data to be watched. It can be one of:\\n1) Any variable name e.g. 'foo'\\n2) A memory address, suitably cast e.g.*(int*)0x12345678 will watch an int-sized block starting at this address.\\nDon't include spaces in the expression: gdb can't understand them.\\n3) A complex expression e.g. a*b + c/d'. The expression can use any operators valid in the program's native language.\\n\\nNB. A watchpoint set on a local variable will automatically be removed when the variable loses scope."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer5"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Conditional Breaks: Add any condition here"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCond"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "You can add a condition to any breakpoint or watchpoint. The debugger will then stop only if the condition is met.\\n\\nThe condition can be any simple or complex expression in your programming language,providing it returns a bool. However any variables that you use must be in scope.\\n\\nIf you've previously set a condition and no longer want it, just clear this textctrl."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText11"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Command List: Add any command(s) here"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCommands"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "You can add a list of commands to any breakpoint or watchpoint. When the breakpoint is hit and the program interrupted, those commands will be executed.\\n\\nFor example, to print the value of the variable foo and then continue running the program, enter:\\nprint foo\\ncont\\n\\nIf you've previously entered commands, and no longer want them, just clear this textctrl."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4403,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "4"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0,1,2,3"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkDisable"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If you check this box, the breakpoint (or watchpoint) will still exist, but it won't trigger. If you uncheck it in the future, the breakpoint will work again."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Disable"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkTemp"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "A temporary breakpoint (or watchpoint) is one that works only once. When it's hit it behaves like any other, except that it's then deleted."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Make temporary"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText7"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Enter a count >0 to ignore this breakpoint (or watchpoint) for that number of times. It then behaves as though it is disabled, except that every time it would have triggered, the ignore count decrements.\\nWhen the count reaches zero, the breakpoint becomes active again."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Ignore count:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4436,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxSP_ARROW_KEYS"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_spinIgnore"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Min value:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Max value:",
+ "m_value": "1000000"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4418,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline4"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer9"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&OK"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button7"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Cancel"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/breakpointdlgbase.cpp b/LiteEditor/breakpointdlgbase.cpp
index 20af4fc0..e0628e87 100644
--- a/LiteEditor/breakpointdlgbase.cpp
+++ b/LiteEditor/breakpointdlgbase.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : breakpointdlgbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: breakpointdlg.wxcp
@@ -84,11 +59,12 @@ BreakpointTabBase::BreakpointTabBase(wxWindow* parent, wxWindowID id, const wxPo
bSizer6->Add(m_buttonApplyPending, 0, wxALL, 5);
+ SetName(wxT("BreakpointTabBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_listCtrlBreakpoints->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(BreakpointTabBase::OnItemActivated), NULL, this);
m_listCtrlBreakpoints->Connect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(BreakpointTabBase::OnItemDeselected), NULL, this);
@@ -134,6 +110,7 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
bSizer3->Add(m_staticText9, 0, wxALL, 5);
m_choicebook = new wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_choicebook->SetName(wxT("m_choicebook"));
bSizer3->Add(m_choicebook, 0, wxALL|wxEXPAND, 5);
@@ -165,6 +142,9 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
m_textLineno = new wxTextCtrl(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_textLineno->SetToolTip(_("Enter the line-number on which you wish to break. It's assumed to refer to the current file: if it doesn't, please enter the correct filepath below."));
+ #if wxVERSION_NUMBER >= 3000
+ m_textLineno->SetHint(wxT(""));
+ #endif
fgSizer2->Add(m_textLineno, 0, wxALL|wxEXPAND, 5);
@@ -175,6 +155,9 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
m_textFunctionname = new wxTextCtrl(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_textFunctionname->SetToolTip(_("If you wish to break when a particular function is entered, insert its name here. In C just the name will do e.g. 'main' or 'myFoo'. For C++ class methods, you need to do 'MyClass::myFoo'\n\nAlternatively you can enter a regular expression, and tick the checkbox below. A breakpoint will then be set on all matching functions."));
+ #if wxVERSION_NUMBER >= 3000
+ m_textFunctionname->SetHint(wxT(""));
+ #endif
fgSizer2->Add(m_textFunctionname, 0, wxALL|wxEXPAND, 5);
@@ -193,6 +176,9 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
m_textBreakMemory = new wxTextCtrl(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_textBreakMemory->SetToolTip(_("To break on a memory address, enter the address here.\ne.g. 0x0a1b2c3d or 12345678"));
+ #if wxVERSION_NUMBER >= 3000
+ m_textBreakMemory->SetHint(wxT(""));
+ #endif
fgSizer2->Add(m_textBreakMemory, 1, wxALL|wxEXPAND, 5);
@@ -206,6 +192,9 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
m_textFilename = new wxTextCtrl(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_textFilename->SetToolTip(_("If you've entered a line-number, its assumed to refer to the current file. If it isn't, enter the correct filename here.\n\nFor a function, a file is usually not required. However, if you have several functions with the same name, in several different files (do people _really_ do that?) and you want to break on only one of those, enter the correct filename here."));
+ #if wxVERSION_NUMBER >= 3000
+ m_textFilename->SetHint(wxT(""));
+ #endif
bSizer18->Add(m_textFilename, 1, wxALL, 5);
@@ -224,14 +213,14 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
m_panel2->SetSizer(bSizer13);
wxArrayString m_radioWatchtypeArr;
- m_radioWatchtypeArr.Add(wxT("write only"));
- m_radioWatchtypeArr.Add(wxT("read only"));
- m_radioWatchtypeArr.Add(wxT("read-write"));
+ m_radioWatchtypeArr.Add(_("write only"));
+ m_radioWatchtypeArr.Add(_("read only"));
+ m_radioWatchtypeArr.Add(_("read-write"));
m_radioWatchtype = new wxRadioBox(m_panel2, wxID_ANY, _("Type of watchpoint:"), wxDefaultPosition, wxSize(-1, -1), m_radioWatchtypeArr, 3, wxRA_SPECIFY_ROWS);
m_radioWatchtype->SetToolTip(_("The usual type of watchpoint is 'write-only': that is, it's triggered whenever the target is changed.\n\nAlternatively you can choose for it to trigger when the target is read from, or either written to or read from."));
m_radioWatchtype->SetSelection(0);
- bSizer13->Add(m_radioWatchtype, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer13->Add(m_radioWatchtype, 0, wxALIGN_CENTER_HORIZONTAL, 5);
m_staticText5 = new wxStaticText(m_panel2, wxID_ANY, _("Data to watch:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -314,11 +303,28 @@ BreakpointPropertiesDlgBase::BreakpointPropertiesDlgBase(wxWindow* parent, wxWin
bSizer9->Add(m_button7, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_choicebook)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_choicebook);
+ } else {
+ wxPersistenceManager::Get().Restore(m_choicebook);
+ }
+ #endif
+
+ SetName(wxT("BreakpointPropertiesDlgBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre();
+ CentreOnParent();
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
m_choicebook->Connect(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, wxChoicebookEventHandler(BreakpointPropertiesDlgBase::OnPageChanged), NULL, this);
m_choicebook->Connect(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, wxChoicebookEventHandler(BreakpointPropertiesDlgBase::OnPageChanging), NULL, this);
diff --git a/LiteEditor/breakpointdlgbase.h b/LiteEditor/breakpointdlgbase.h
index 843121ce..55341eb7 100644
--- a/LiteEditor/breakpointdlgbase.h
+++ b/LiteEditor/breakpointdlgbase.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : breakpointdlgbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: breakpointdlg.wxcp
@@ -51,6 +26,12 @@
#include <wx/statline.h>
#include <wx/radiobox.h>
#include <wx/spinctrl.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class BreakpointTabBase : public wxPanel
{
@@ -74,6 +55,12 @@ protected:
virtual void OnApplyPending(wxCommandEvent& event) { event.Skip(); }
public:
+ BreakpointsListctrl* GetListCtrlBreakpoints() { return m_listCtrlBreakpoints; }
+ wxButton* GetButtonAdd() { return m_buttonAdd; }
+ wxButton* GetButtonEdit() { return m_buttonEdit; }
+ wxButton* GetButtonDelete() { return m_buttonDelete; }
+ wxButton* GetButtonDeleteAll() { return m_buttonDeleteAll; }
+ wxButton* GetButtonApplyPending() { return m_buttonApplyPending; }
BreakpointTabBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~BreakpointTabBase();
};
@@ -125,6 +112,36 @@ protected:
virtual void OnBrowse(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText9() { return m_staticText9; }
+ wxStaticText* GetStaticText51() { return m_staticText51; }
+ wxCheckBox* GetCheckLineno() { return m_checkLineno; }
+ wxTextCtrl* GetTextLineno() { return m_textLineno; }
+ wxCheckBox* GetCheckBreakFunction() { return m_checkBreakFunction; }
+ wxTextCtrl* GetTextFunctionname() { return m_textFunctionname; }
+ wxCheckBox* GetCheckRegex() { return m_checkRegex; }
+ wxCheckBox* GetCheckBreakMemory() { return m_checkBreakMemory; }
+ wxTextCtrl* GetTextBreakMemory() { return m_textBreakMemory; }
+ wxStaticText* GetStaticText6() { return m_staticText6; }
+ wxTextCtrl* GetTextFilename() { return m_textFilename; }
+ wxButton* GetButtonBrowse() { return m_buttonBrowse; }
+ wxStaticLine* GetStaticline5() { return m_staticline5; }
+ wxPanel* GetPanel1() { return m_panel1; }
+ wxRadioBox* GetRadioWatchtype() { return m_radioWatchtype; }
+ wxStaticText* GetStaticText5() { return m_staticText5; }
+ wxTextCtrl* GetTextWatchExpression() { return m_textWatchExpression; }
+ wxPanel* GetPanel2() { return m_panel2; }
+ wxChoicebook* GetChoicebook() { return m_choicebook; }
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxTextCtrl* GetTextCond() { return m_textCond; }
+ wxStaticText* GetStaticText11() { return m_staticText11; }
+ wxTextCtrl* GetTextCommands() { return m_textCommands; }
+ wxCheckBox* GetCheckDisable() { return m_checkDisable; }
+ wxCheckBox* GetCheckTemp() { return m_checkTemp; }
+ wxStaticText* GetStaticText7() { return m_staticText7; }
+ wxSpinCtrl* GetSpinIgnore() { return m_spinIgnore; }
+ wxStaticLine* GetStaticline4() { return m_staticline4; }
+ wxButton* GetButton6() { return m_button6; }
+ wxButton* GetButton7() { return m_button7; }
BreakpointPropertiesDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Breakpoint and Watchpoint Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~BreakpointPropertiesDlgBase();
};
diff --git a/LiteEditor/breakpointpropertiesdlg.cpp b/LiteEditor/breakpointpropertiesdlg.cpp
index a57863a1..b093d167 100644
--- a/LiteEditor/breakpointpropertiesdlg.cpp
+++ b/LiteEditor/breakpointpropertiesdlg.cpp
@@ -1,75 +1,71 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : breakpointpropertiesdlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : breakpointpropertiesdlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include <wx/msgdlg.h>
#include <wx/filedlg.h>
#include <wx/filename.h>
#include "breakpointpropertiesdlg.h"
#include "windowattrmanager.h"
-
-
-BreakptPropertiesDlg::BreakptPropertiesDlg( wxWindow* parent )
- : BreakpointPropertiesDlgBase( parent )
+BreakptPropertiesDlg::BreakptPropertiesDlg(wxWindow* parent)
+ : BreakpointPropertiesDlgBase(parent)
{
- its_a_breakpt = true; // Default to breakpoint for new items
- whichBreakcheck = wbc_line; // and assume it'll be a line-number type
- WindowAttrManager::Load(this, wxT("BreakptPropertiesDlgAttr"), NULL);
+ its_a_breakpt = true; // Default to breakpoint for new items
+ whichBreakcheck = wbc_line; // and assume it'll be a line-number type
+ SetName("BreakptPropertiesDlg");
+ WindowAttrManager::Load(this);
}
-BreakptPropertiesDlg::~BreakptPropertiesDlg()
-{
- WindowAttrManager::Save(this, wxT("BreakptPropertiesDlgAttr"), NULL);
-}
+BreakptPropertiesDlg::~BreakptPropertiesDlg() {}
// Insert the data from an existing breakpoint into the dialog fields
-void BreakptPropertiesDlg::EnterBPData( const BreakpointInfo &bp )
+void BreakptPropertiesDlg::EnterBPData(const BreakpointInfo& bp)
{
// The class BreakpointInfo& b will become the new bp, so copy the old ids
b.debugger_id = bp.debugger_id;
b.internal_id = bp.internal_id;
- if (bp.bp_type == BP_type_watchpt) {
- its_a_breakpt = false; // UpdateUI will then tick the checkbox
+ if(bp.bp_type == BP_type_watchpt) {
+ its_a_breakpt = false; // UpdateUI will then tick the checkbox
m_radioWatchtype->SetSelection(bp.watchpoint_type);
m_textWatchExpression->SetValue(bp.watchpt_data);
} else {
its_a_breakpt = true;
- if (bp.memory_address.IsEmpty() == false) {
+ if(bp.memory_address.IsEmpty() == false) {
m_checkBreakMemory->SetValue(true);
m_textBreakMemory->Clear();
*m_textBreakMemory << bp.memory_address;
whichBreakcheck = wbc_memory;
} else {
m_textFilename->SetValue(bp.file);
- if (bp.lineno != -1) {
+ if(bp.lineno != -1) {
m_checkLineno->SetValue(true);
m_textLineno->Clear();
*m_textLineno << bp.lineno;
whichBreakcheck = wbc_line;
- } else if (!bp.function_name.IsEmpty()) {
+ } else if(!bp.function_name.IsEmpty()) {
m_checkBreakFunction->SetValue(true);
m_textFunctionname->SetValue(bp.function_name);
m_checkRegex->SetValue(bp.regex == true);
@@ -78,15 +74,22 @@ void BreakptPropertiesDlg::EnterBPData( const BreakpointInfo &bp )
}
}
- // We need temporarily to Disconnect this event, otherwise it's impossible to edit a watchpoint while the debugger's running
+ // We need temporarily to Disconnect this event, otherwise it's impossible to edit a watchpoint while the debugger's
+ // running
// as SetSelection(1) causes a wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING event, which is vetoed
- m_choicebook->Disconnect( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, wxChoicebookEventHandler( BreakptPropertiesDlg::OnPageChanging ), NULL, this );
- if (its_a_breakpt) {
+ m_choicebook->Disconnect(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING,
+ wxChoicebookEventHandler(BreakptPropertiesDlg::OnPageChanging),
+ NULL,
+ this);
+ if(its_a_breakpt) {
m_choicebook->SetSelection(0);
} else {
m_choicebook->SetSelection(1);
}
- m_choicebook->Connect( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, wxChoicebookEventHandler( BreakptPropertiesDlg::OnPageChanging ), NULL, this );
+ m_choicebook->Connect(wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING,
+ wxChoicebookEventHandler(BreakptPropertiesDlg::OnPageChanging),
+ NULL,
+ this);
m_checkDisable->SetValue(!bp.is_enabled);
m_checkTemp->SetValue(bp.is_temp);
@@ -96,37 +99,40 @@ void BreakptPropertiesDlg::EnterBPData( const BreakpointInfo &bp )
m_textCommands->SetValue(bp.commandlist);
}
-void BreakptPropertiesDlg::EndModal( int retCode )
+void BreakptPropertiesDlg::EndModal(int retCode)
{
- if (retCode != wxID_OK) {
+ if(retCode != wxID_OK) {
return wxDialog::EndModal(retCode);
}
long l;
wxString contents;
int selectedPage = m_choicebook->GetSelection();
- if (m_choicebook->GetPageText((size_t)selectedPage) == _("Watchpoint")) {
+ if(m_choicebook->GetPageText((size_t)selectedPage) == _("Watchpoint")) {
b.bp_type = BP_type_watchpt;
b.watchpoint_type = (WatchpointType)m_radioWatchtype->GetSelection();
b.watchpt_data = m_textWatchExpression->GetValue();
- if (b.watchpt_data.IsEmpty()) {
- wxMessageBox(_("You don't seem to have entered a variable for the watchpoint to watch. Please try again."), wxT(":/"), wxICON_ERROR);
+ if(b.watchpt_data.IsEmpty()) {
+ wxMessageBox(_("You don't seem to have entered a variable for the watchpoint to watch. Please try again."),
+ wxT(":/"),
+ wxICON_ERROR);
return;
}
} else {
-
+
// reset the fields to only the proper ones are copied
b.lineno = wxNOT_FOUND;
b.memory_address.Clear();
b.file.Clear();
b.function_name.Clear();
-
- // It's some flavour of breakpoint (assume standard for now). Only insert enabled data, in case a lineno sort is now a function bp
+
+ // It's some flavour of breakpoint (assume standard for now). Only insert enabled data, in case a lineno sort is
+ // now a function bp
b.bp_type = BP_type_break;
- switch (whichBreakcheck) {
+ switch(whichBreakcheck) {
case wbc_line:
contents = m_textLineno->GetValue();
- if ( ! contents.ToLong(&l, 0) ) {
+ if(!contents.ToLong(&l, 0)) {
wxMessageBox(_("The breakpoint's line-number is invalid. Please try again."), _(":/"), wxICON_ERROR);
return;
}
@@ -136,8 +142,10 @@ void BreakptPropertiesDlg::EndModal( int retCode )
case wbc_function:
b.function_name = m_textFunctionname->GetValue();
- if (b.function_name.IsEmpty()) {
- wxMessageBox(_("You don't seem to have entered a name for the function. Please try again."), _(":/"), wxICON_ERROR);
+ if(b.function_name.IsEmpty()) {
+ wxMessageBox(_("You don't seem to have entered a name for the function. Please try again."),
+ _(":/"),
+ wxICON_ERROR);
return;
}
b.regex = m_checkRegex->IsChecked();
@@ -151,7 +159,7 @@ void BreakptPropertiesDlg::EndModal( int retCode )
}
}
- b.is_enabled = ! m_checkDisable->GetValue();
+ b.is_enabled = !m_checkDisable->GetValue();
b.is_temp = m_checkTemp->GetValue();
b.ignore_number = m_spinIgnore->GetValue();
b.conditions = m_textCond->GetValue();
@@ -162,65 +170,68 @@ void BreakptPropertiesDlg::EndModal( int retCode )
void BreakptPropertiesDlg::OnCheckBreakLineno(wxCommandEvent& event)
{
- if (event.IsChecked()) {
+ if(event.IsChecked()) {
whichBreakcheck = wbc_line;
}
}
void BreakptPropertiesDlg::OnCheckBreakFunction(wxCommandEvent& event)
{
- if (event.IsChecked()) {
+ if(event.IsChecked()) {
whichBreakcheck = wbc_function;
}
}
void BreakptPropertiesDlg::OnCheckBreakMemory(wxCommandEvent& event)
{
- if (event.IsChecked()) {
+ if(event.IsChecked()) {
whichBreakcheck = wbc_memory;
}
}
-void BreakptPropertiesDlg::OnBrowse( wxCommandEvent& event )
+void BreakptPropertiesDlg::OnBrowse(wxCommandEvent& event)
{
wxUnusedVar(event);
wxString newfilepath, filepath(m_textFilename->GetValue());
- if ((!filepath.IsEmpty()) && wxFileName::FileExists(filepath)) {
+ if((!filepath.IsEmpty()) && wxFileName::FileExists(filepath)) {
newfilepath = wxFileSelector(_("Select file:"), filepath.c_str());
} else {
newfilepath = wxFileSelector(_("Select file:"));
}
- if (!newfilepath.IsEmpty()) {
+ if(!newfilepath.IsEmpty()) {
m_textFilename->SetValue(newfilepath);
}
}
-void BreakptPropertiesDlg::OnCheckBreakLinenoUI( wxUpdateUIEvent& event )
+void BreakptPropertiesDlg::OnCheckBreakLinenoUI(wxUpdateUIEvent& event)
{
m_checkLineno->SetValue(whichBreakcheck == wbc_line);
m_textLineno->Enable(m_checkLineno->IsChecked() && m_checkLineno->IsEnabled());
}
-void BreakptPropertiesDlg::OnCheckBreakFunctionUI( wxUpdateUIEvent& event )
+void BreakptPropertiesDlg::OnCheckBreakFunctionUI(wxUpdateUIEvent& event)
{
m_checkBreakFunction->SetValue(whichBreakcheck == wbc_function);
m_textFunctionname->Enable(m_checkBreakFunction->IsChecked() && m_checkBreakFunction->IsEnabled());
m_checkRegex->Enable(m_textFunctionname->IsEnabled());
}
-void BreakptPropertiesDlg::OnCheckBreakMemoryUI( wxUpdateUIEvent& event )
+void BreakptPropertiesDlg::OnCheckBreakMemoryUI(wxUpdateUIEvent& event)
{
m_checkBreakMemory->SetValue(whichBreakcheck == wbc_memory);
m_textBreakMemory->Enable(m_checkBreakMemory->IsChecked() && m_checkBreakMemory->IsEnabled());
// Disable the filename textctrl if the memory check is ticked
- m_textFilename->Enable(! m_textBreakMemory->IsEnabled());
+ m_textFilename->Enable(!m_textBreakMemory->IsEnabled());
}
void BreakptPropertiesDlg::OnPageChanging(wxChoicebookEvent& event)
{
- if (b.debugger_id != -1) {
- wxMessageBox(_("Sorry, you can't change a breakpoint to a watchpoint, or vice versa, while the debugger is running"), _("Not possible"), wxICON_ERROR | wxOK);
+ if(b.debugger_id != -1) {
+ wxMessageBox(
+ _("Sorry, you can't change a breakpoint to a watchpoint, or vice versa, while the debugger is running"),
+ _("Not possible"),
+ wxICON_ERROR | wxOK);
event.Veto();
}
}
diff --git a/LiteEditor/breakpointsmgr.cpp b/LiteEditor/breakpointsmgr.cpp
index e84caf6a..73ca9421 100644
--- a/LiteEditor/breakpointsmgr.cpp
+++ b/LiteEditor/breakpointsmgr.cpp
@@ -157,57 +157,51 @@ const BreakpointInfo& BreakptMgr::GetBreakpoint(const wxString &fileName, const
return *iter;
}
-wxString BreakptMgr::GetTooltip(const wxString& fileName, const int lineno)
+void BreakptMgr::GetTooltip(const wxString& fileName, int lineno, wxString& tip, wxString &title)
{
if (fileName.IsEmpty() || lineno < 0) {
- return wxEmptyString;
+ return ;
}
const BreakpointInfo &bp = GetBreakpoint(fileName, lineno);
if ( bp.IsNull() ) {
- return wxEmptyString;
+ return ;
}
- wxString tooltip;
- if (! tooltip.IsEmpty()) {
- tooltip << wxT("<hr>");
- }
-
int id = (bp.debugger_id > 0 ? bp.debugger_id : bp.internal_id - FIRST_INTERNAL_ID);
- tooltip << _("<b>Breakpoint: ") << id << _("</b>\n");
+ title << _("<b>Breakpoint# ") << id << "</b>";
bool isSimple = true;
if (bp.is_temp) {
- tooltip << _("Temporary \n");
+ tip << _("Temporary \n");
isSimple = false;
}
if (! bp.is_enabled) {
- tooltip << _(" (disabled)\n");
+ tip << _(" (disabled)\n");
isSimple = false;
}
if (bp.ignore_number > 0) {
- tooltip << wxString::Format(_("Ignore-count = %u\n"), bp.ignore_number);
+ tip << wxString::Format(_("Ignore-count = %u\n"), bp.ignore_number);
isSimple = false;
}
if (! bp.conditions.IsEmpty()) {
- tooltip << wxString::Format(_("Condition:\n<code>%s</code>\n"), bp.conditions.c_str());
+ tip << wxString::Format(_("Condition:\n<code>%s</code>\n"), bp.conditions.c_str());
isSimple = false;
}
if (! bp.commandlist.IsEmpty()) {
- tooltip << wxString::Format(_("Commands:\n<code>%s</code>\n"), bp.commandlist.c_str());
+ tip << wxString::Format(_("Commands:\n<code>%s</code>\n"), bp.commandlist.c_str());
isSimple = false;
}
if ( isSimple ) {
- tooltip << _("Normal breakpoint\n");
+ tip << _("Normal breakpoint\n");
}
- tooltip.Trim().Trim(false);
- return tooltip;
+ tip.Trim().Trim(false);
}
// Delete all line-type breakpoint markers in all editors
diff --git a/LiteEditor/breakpointsmgr.h b/LiteEditor/breakpointsmgr.h
index 98313088..c01b74dd 100644
--- a/LiteEditor/breakpointsmgr.h
+++ b/LiteEditor/breakpointsmgr.h
@@ -245,7 +245,7 @@ public:
/**
* Returns a string containing details of any breakpoints on this line
*/
- wxString GetTooltip(const wxString& fileName, const int lineno);
+ void GetTooltip(const wxString& fileName, int lineno, wxString& tip, wxString& title);
/**
* Update the m_bps with what the debugger really contains
diff --git a/LiteEditor/build_page.cpp b/LiteEditor/build_page.cpp
index aa5f24e8..3b646914 100644
--- a/LiteEditor/build_page.cpp
+++ b/LiteEditor/build_page.cpp
@@ -63,15 +63,15 @@ BuildPage::BuildPage(wxWindow* parent, int id, wxPoint pos, wxSize size, int sty
m_fixOnStartup = new wxCheckBox(this, wxID_ANY, _("Fix build tool path on startup"));
mainSizer->Add(m_fixOnStartup, 0, wxEXPAND | wxALL, 5);
- m_generateAsteriskCleanTarget =
- new wxCheckBox(this, wxID_ANY, _("Use asterisk (*) for the clean target (e.g. rm -f *.o)"));
- mainSizer->Add(m_generateAsteriskCleanTarget, 0, wxEXPAND | wxALL, 5);
+ // m_generateAsteriskCleanTarget =
+ // new wxCheckBox(this, wxID_ANY, _("Use asterisk (*) for the clean target (e.g. rm -f *.o)"));
+ // mainSizer->Add(m_generateAsteriskCleanTarget, 0, wxEXPAND | wxALL, 5);
long fix = EditorConfigST::Get()->GetInteger(wxT("FixBuildToolOnStartup"), 1);
m_fixOnStartup->SetValue(fix ? true : false);
- long asterisk = EditorConfigST::Get()->GetInteger(wxT("CleanTragetWithAsterisk"), 0);
- m_generateAsteriskCleanTarget->SetValue(asterisk ? true : false);
+ // long asterisk = EditorConfigST::Get()->GetInteger(wxT("CleanTragetWithAsterisk"), 0);
+ // m_generateAsteriskCleanTarget->SetValue(asterisk ? true : false);
this->SetSizer(mainSizer);
this->Layout();
@@ -99,8 +99,8 @@ wxPanel* BuildPage::CreateBuildSystemPage(const wxString& name)
void BuildPage::Save()
{
EditorConfigST::Get()->SetInteger(wxT("FixBuildToolOnStartup"), m_fixOnStartup->IsChecked() ? 1 : 0);
- EditorConfigST::Get()->SetInteger(wxT("CleanTragetWithAsterisk"),
- m_generateAsteriskCleanTarget->IsChecked() ? 1 : 0);
+ // EditorConfigST::Get()->SetInteger(wxT("CleanTragetWithAsterisk"),
+ // m_generateAsteriskCleanTarget->IsChecked() ? 1 : 0);
// Save current page displayed as 'selected' builder
int sel = (int)m_bookBuildSystems->GetSelection();
diff --git a/LiteEditor/buildsettingstab.cpp b/LiteEditor/buildsettingstab.cpp
index b4e05aa7..1cf43f16 100644
--- a/LiteEditor/buildsettingstab.cpp
+++ b/LiteEditor/buildsettingstab.cpp
@@ -27,46 +27,95 @@
#include "buildtabsettingsdata.h"
#include "editor_config.h"
#include "new_build_tab.h"
+#include <wx/any.h>
+#include "macros.h"
+#include <wx/fontdlg.h>
+#include "clFontHelper.h"
+#include "event_notifier.h"
+#include "globals.h"
BuildTabSetting::BuildTabSetting(wxWindow* parent)
: BuildTabSettingsBase(parent)
+ , m_isModified(false)
{
+ ::wxPGPropertyBooleanUseCheckbox(m_pgMgr->GetGrid());
BuildTabSettingsData options;
EditorConfigST::Get()->ReadObject(wxT("build_tab_settings"), &options);
- m_checkBoxSkipWarnings->SetValue(options.GetSkipWarnings());
- m_colourPickerErrorFg->SetColour(options.GetErrorColour());
- m_colourPickerWarningsFg->SetColour(options.GetWarnColour());
- m_checkBoxBoldErrFont->SetValue(options.GetBoldErrFont());
- m_checkBoxBoldWarnFont->SetValue(options.GetBoldWarnFont());
- m_radioBoxShowBuildTab->Select(options.GetShowBuildPane());
- m_checkBoxAutoHide->SetValue(options.GetAutoHide());
- m_radioBuildPaneScrollDestination->SetSelection(options.GetBuildPaneScrollDestination());
- m_checkBoxDisplayMarkers->SetValue(options.GetErrorWarningStyle() & BuildTabSettingsData::EWS_Bookmarks);
- m_checkBoxDisplayAnnotations->SetValue(options.GetErrorWarningStyle() & BuildTabSettingsData::EWS_Annotate);
+ m_pgPropJumpWarnings->SetValue(options.GetSkipWarnings());
+
+ wxVariant errorColour, warningColour;
+ errorColour << wxColour(options.GetErrorColour());
+ warningColour << wxColour(options.GetWarnColour());
+
+ m_pgPropErrorColour->SetValue(errorColour);
+ m_pgPropWarningColour->SetValue(warningColour);
+
+ const wxFont& font = options.GetBuildFont();
+ m_pgPropFont->SetValue(clFontHelper::ToString(font));
+
+ m_pgPropAutoShowBuildPane->SetValueFromInt(options.GetShowBuildPane());
+ m_pgPropAutoHideBuildPane->SetValue((bool)options.GetAutoHide());
+ m_pgPropAutoScroll->SetValueFromInt(options.GetBuildPaneScrollDestination());
+ m_pgPropUseMarkers->SetValue((bool)(options.GetErrorWarningStyle() & BuildTabSettingsData::EWS_Bookmarks));
+ m_pgPropUseAnnotations->SetValue((bool)(options.GetErrorWarningStyle() & BuildTabSettingsData::EWS_Annotate));
}
void BuildTabSetting::Save()
{
BuildTabSettingsData options;
- options.SetErrorColour(m_colourPickerErrorFg->GetColour().GetAsString(wxC2S_HTML_SYNTAX));
- options.SetWarnColour(m_colourPickerWarningsFg->GetColour().GetAsString(wxC2S_HTML_SYNTAX));
- options.SetSkipWarnings(m_checkBoxSkipWarnings->IsChecked());
- options.SetBoldErrFont(m_checkBoxBoldErrFont->IsChecked());
- options.SetBoldWarnFont(m_checkBoxBoldWarnFont->IsChecked());
- options.SetShowBuildPane(m_radioBoxShowBuildTab->GetSelection());
- options.SetAutoHide(m_checkBoxAutoHide->IsChecked());
- options.SetBuildPaneScrollDestination(m_radioBuildPaneScrollDestination->GetSelection());
+ wxColour defaultErrorColour(*wxRED);
+ wxColour defaultWarningColour("rgb(128, 128, 0)");
+
+ wxColourPropertyValue errorColour, warningColour;
+ errorColour << m_pgPropErrorColour->GetValue();
+ warningColour << m_pgPropWarningColour->GetValue();
+
+ options.SetErrorColour(errorColour.m_colour.GetAsString(wxC2S_HTML_SYNTAX));
+ options.SetWarnColour(warningColour.m_colour.GetAsString(wxC2S_HTML_SYNTAX));
+ options.SetBuildFont(clFontHelper::FromString(m_pgPropFont->GetValue().GetString()));
+ options.SetSkipWarnings(m_pgPropJumpWarnings->GetValue().GetBool());
+ options.SetShowBuildPane(m_pgPropAutoShowBuildPane->GetValue().GetInteger());
+ options.SetAutoHide(m_pgPropAutoHideBuildPane->GetValue().GetBool());
+ options.SetBuildPaneScrollDestination(m_pgPropAutoScroll->GetValue().GetInteger());
+
int flag(BuildTabSettingsData::EWS_NoMarkers);
- if(m_checkBoxDisplayMarkers->IsChecked()) {
+ if(m_pgPropUseMarkers->GetValue().GetBool()) {
flag |= BuildTabSettingsData::EWS_Bookmarks;
}
- if(m_checkBoxDisplayAnnotations->IsChecked()) {
+
+ if(m_pgPropUseAnnotations->GetValue().GetBool()) {
flag |= BuildTabSettingsData::EWS_Annotate;
}
options.SetErrorWarningStyle(flag);
EditorConfigST::Get()->WriteObject(wxT("build_tab_settings"), &options);
+ m_isModified = false;
}
void BuildTabSetting::OnUpdateUI(wxUpdateUIEvent& event) {}
+
+void BuildTabSetting::OnCustomButtonClicked(wxCommandEvent& event)
+{
+ wxPGProperty* prop = m_pgMgr->GetSelectedProperty();
+ CHECK_PTR_RET(prop);
+
+ if(prop == m_pgPropFont) {
+ CallAfter(&BuildTabSetting::SelectFont);
+ }
+}
+
+void BuildTabSetting::SelectFont()
+{
+ wxFontDialog dlg(EventNotifier::Get()->TopFrame());
+ if(dlg.ShowModal() == wxID_OK) {
+ const wxFontData& fntdata = dlg.GetFontData();
+ wxFont font = fntdata.GetChosenFont();
+ m_pgPropFont->SetValue(clFontHelper::ToString(font));
+ }
+}
+void BuildTabSetting::OnAppearanceChanged(wxPropertyGridEvent& event)
+{
+ event.Skip();
+ m_isModified = true;
+}
diff --git a/LiteEditor/buildsettingstab.h b/LiteEditor/buildsettingstab.h
index 6054ac4b..55ca7a35 100644
--- a/LiteEditor/buildsettingstab.h
+++ b/LiteEditor/buildsettingstab.h
@@ -25,21 +25,26 @@
#ifndef __buildsettingstab__
#define __buildsettingstab__
-/**
-@file
-Subclass of BuildTabSettingsBase, which is generated by wxFormBuilder.
-*/
-
#include "buildsettingstabbase.h"
/** Implementing BuildTabSettingsBase */
class BuildTabSetting : public BuildTabSettingsBase
{
+ bool m_isModified;
+
public:
- /** Constructor */
BuildTabSetting(wxWindow* parent);
+
+ void SetIsModified(bool isModified) { this->m_isModified = isModified; }
+ bool IsModified() const { return m_isModified; }
+
+ void SelectFont();
void Save();
void OnUpdateUI(wxUpdateUIEvent& event);
+
+protected:
+ virtual void OnAppearanceChanged(wxPropertyGridEvent& event);
+ virtual void OnCustomButtonClicked(wxCommandEvent& event);
};
#endif // __buildsettingstab__
diff --git a/LiteEditor/buildsettingstab_liteeditor_bitmaps.cpp b/LiteEditor/buildsettingstab_liteeditor_bitmaps.cpp
index 597d494d..a6f39ab8 100644
--- a/LiteEditor/buildsettingstab_liteeditor_bitmaps.cpp
+++ b/LiteEditor/buildsettingstab_liteeditor_bitmaps.cpp
@@ -21,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCraftertNJGa9InitBitmapResources()
{
diff --git a/LiteEditor/buildsettingstabbase.cpp b/LiteEditor/buildsettingstabbase.cpp
index c9bf134b..f69f904a 100644
--- a/LiteEditor/buildsettingstabbase.cpp
+++ b/LiteEditor/buildsettingstabbase.cpp
@@ -26,112 +26,82 @@ BuildTabSettingsBase::BuildTabSettingsBase(wxWindow* parent, wxWindowID id, cons
wxBoxSizer* bSizer1 = new wxBoxSizer(wxVERTICAL);
this->SetSizer(bSizer1);
- wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer(3, 3, 0, 0);
- fgSizer1->SetFlexibleDirection( wxBOTH );
- fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer1->AddGrowableCol(1);
- fgSizer1->AddGrowableCol(2);
-
- bSizer1->Add(fgSizer1, 0, wxALL|wxEXPAND, 5);
-
- m_staticText3 = new wxStaticText(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer1->Add(m_staticText3, 0, wxALL, 5);
-
- m_staticText5 = new wxStaticText(this, wxID_ANY, _("Foreground colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
- wxFont m_staticText5Font(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxT("Sans"));
- m_staticText5->SetFont(m_staticText5Font);
-
- fgSizer1->Add(m_staticText5, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
-
- m_staticText6 = new wxStaticText(this, wxID_ANY, _("Font weight:"), wxDefaultPosition, wxSize(-1, -1), 0);
- wxFont m_staticText6Font(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxT("Sans"));
- m_staticText6->SetFont(m_staticText6Font);
-
- fgSizer1->Add(m_staticText6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
-
- m_staticText1 = new wxStaticText(this, wxID_ANY, _("Compiler errors colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer1->Add(m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
-
- m_colourPickerErrorFg = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_DEFAULT_STYLE);
-
- fgSizer1->Add(m_colourPickerErrorFg, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxBoldErrFont = new wxCheckBox(this, wxID_ANY, _("Bold"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxBoldErrFont->SetValue(true);
-
- fgSizer1->Add(m_checkBoxBoldErrFont, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
-
- m_staticText2 = new wxStaticText(this, wxID_ANY, _("Compiler warnings colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
- wxFont m_staticText2Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
- m_staticText2->SetFont(m_staticText2Font);
-
- fgSizer1->Add(m_staticText2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
-
- m_colourPickerWarningsFg = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_DEFAULT_STYLE);
-
- fgSizer1->Add(m_colourPickerWarningsFg, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxBoldWarnFont = new wxCheckBox(this, wxID_ANY, _("Bold"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxBoldWarnFont->SetValue(false);
-
- fgSizer1->Add(m_checkBoxBoldWarnFont, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
-
- wxStaticBoxSizer* sbSizer2 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("General:")), wxVERTICAL);
-
- bSizer1->Add(sbSizer2, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxSkipWarnings = new wxCheckBox(this, wxID_ANY, _("When using the menu to jump to errors, skip warnings"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxSkipWarnings->SetValue(false);
-
- sbSizer2->Add(m_checkBoxSkipWarnings, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxAutoHide = new wxCheckBox(this, wxID_ANY, _("Automatically hide the build pane when there are neither errors nor warnings"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxAutoHide->SetValue(false);
-
- sbSizer2->Add(m_checkBoxAutoHide, 0, wxALL|wxEXPAND, 5);
-
- wxArrayString m_radioBuildPaneScrollDestinationArr;
- m_radioBuildPaneScrollDestinationArr.Add(wxT("The first error"));
- m_radioBuildPaneScrollDestinationArr.Add(wxT("The first warning or error"));
- m_radioBuildPaneScrollDestinationArr.Add(wxT("The end"));
- m_radioBuildPaneScrollDestination = new wxRadioBox(this, wxID_ANY, _("After build finishes, if showing the build pane scroll to:"), wxDefaultPosition, wxSize(-1, -1), m_radioBuildPaneScrollDestinationArr, 1, wxRA_SPECIFY_ROWS);
- m_radioBuildPaneScrollDestination->SetSelection(0);
-
- sbSizer2->Add(m_radioBuildPaneScrollDestination, 0, wxALL|wxEXPAND, 5);
-
- wxArrayString m_radioBoxShowBuildTabArr;
- m_radioBoxShowBuildTabArr.Add(wxT("When build starts"));
- m_radioBoxShowBuildTabArr.Add(wxT("When build ends"));
- m_radioBoxShowBuildTabArr.Add(wxT("Don't automatically show"));
- m_radioBoxShowBuildTab = new wxRadioBox(this, wxID_ANY, _("Show build pane:"), wxDefaultPosition, wxSize(-1, -1), m_radioBoxShowBuildTabArr, 1, wxRA_SPECIFY_COLS);
- m_radioBoxShowBuildTab->SetSelection(0);
-
- bSizer1->Add(m_radioBoxShowBuildTab, 0, wxALL|wxEXPAND, 5);
-
- wxStaticBoxSizer* sbSizer1 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Errors / warnings markers:")), wxVERTICAL);
-
- bSizer1->Add(sbSizer1, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxDisplayMarkers = new wxCheckBox(this, wxID_ANY, _("Compiler errors / warnings marked with bookmarks"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxDisplayMarkers->SetValue(false);
-
- sbSizer1->Add(m_checkBoxDisplayMarkers, 0, wxALL, 5);
-
- m_checkBoxDisplayAnnotations = new wxCheckBox(this, wxID_ANY, _("Compiler errors / warnings displayed inline"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxDisplayAnnotations->SetValue(false);
- m_checkBoxDisplayAnnotations->SetToolTip(_("If checked, any errors or warnings will be displayed in the editor alongside the failing code."));
-
- sbSizer1->Add(m_checkBoxDisplayAnnotations, 0, wxALL, 5);
-
+ wxArrayString m_pgMgrArr;
+ wxUnusedVar(m_pgMgrArr);
+ wxArrayInt m_pgMgrIntArr;
+ wxUnusedVar(m_pgMgrIntArr);
+ m_pgMgr = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(400,400), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
+
+ bSizer1->Add(m_pgMgr, 1, wxALL|wxEXPAND, 5);
+
+ CAT_COLOURS_AND_FONTS = m_pgMgr->Append( new wxPropertyCategory( _("Colours and Fonts") ) );
+ CAT_COLOURS_AND_FONTS->SetHelpString(wxT(""));
+
+ m_pgPropFont = m_pgMgr->AppendIn( CAT_COLOURS_AND_FONTS, new wxStringProperty( _("Font"), wxPG_LABEL, wxT("")) );
+ m_pgPropFont->SetHelpString(_("Select the font to use in the build output tab"));
+ m_pgPropFont->SetEditor( wxT("TextCtrlAndButton") );
+
+ m_pgPropErrorColour = m_pgMgr->AppendIn( CAT_COLOURS_AND_FONTS, new wxSystemColourProperty( _("Error colour"), wxPG_LABEL, wxColour(wxT("rgb(255,0,0)"))) );
+ m_pgPropErrorColour->SetHelpString(_("Use this colour to highlight build error messages"));
+
+ m_pgPropWarningColour = m_pgMgr->AppendIn( CAT_COLOURS_AND_FONTS, new wxSystemColourProperty( _("Warnings colour"), wxPG_LABEL, wxColour(wxT("rgb(128,128,0)"))) );
+ m_pgPropWarningColour->SetHelpString(_("Use this colour to highlight build warning messages"));
+
+ CAT_GENERAL = m_pgMgr->Append( new wxPropertyCategory( _("General") ) );
+ CAT_GENERAL->SetHelpString(wxT(""));
+
+ m_pgPropJumpWarnings = m_pgMgr->AppendIn( CAT_GENERAL, new wxBoolProperty( _("Skip warnings"), wxPG_LABEL, 1) );
+ m_pgPropJumpWarnings->SetHelpString(_("When using the menu to jump to errors, skip warnings"));
+
+ m_pgPropAutoHideBuildPane = m_pgMgr->AppendIn( CAT_GENERAL, new wxBoolProperty( _("Auto hide build pane"), wxPG_LABEL, 1) );
+ m_pgPropAutoHideBuildPane->SetHelpString(_("Automatically hide the build pane when there are neither errors nor warnings"));
+
+ m_pgMgrArr.Clear();
+ m_pgMgrIntArr.Clear();
+ m_pgMgrArr.Add(_("When build starts"));
+ m_pgMgrArr.Add(_("When build ends"));
+ m_pgMgrArr.Add(_("Don't automatically show"));
+ m_pgMgrIntArr.Add(0);
+ m_pgMgrIntArr.Add(1);
+ m_pgMgrIntArr.Add(2);
+ m_pgPropAutoShowBuildPane = m_pgMgr->AppendIn( CAT_GENERAL, new wxEnumProperty( _("Auto show build pane"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
+ m_pgPropAutoShowBuildPane->SetHelpString(_("Select when to show the build pane"));
+
+ m_pgMgrArr.Clear();
+ m_pgMgrIntArr.Clear();
+ m_pgMgrArr.Add(_("The first error"));
+ m_pgMgrArr.Add(_("The first warning or error"));
+ m_pgMgrArr.Add(_("The end"));
+ m_pgMgrIntArr.Add(0);
+ m_pgMgrIntArr.Add(1);
+ m_pgMgrIntArr.Add(2);
+ m_pgPropAutoScroll = m_pgMgr->AppendIn( CAT_GENERAL, new wxEnumProperty( _("When build ends scroll to..."), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 1) );
+ m_pgPropAutoScroll->SetHelpString(_("After build finishes, if showing the build pane scroll to..."));
+
+ CAT_MARKERS = m_pgMgr->Append( new wxPropertyCategory( _("Build error indicators") ) );
+ CAT_MARKERS->SetHelpString(wxT(""));
+
+ m_pgPropUseMarkers = m_pgMgr->AppendIn( CAT_MARKERS, new wxBoolProperty( _("Use markers"), wxPG_LABEL, 1) );
+ m_pgPropUseMarkers->SetHelpString(_("Mark the line that contains the build error with a red marker on the left margin"));
+
+ m_pgPropUseAnnotations = m_pgMgr->AppendIn( CAT_MARKERS, new wxBoolProperty( _("Use annotations"), wxPG_LABEL, 1) );
+ m_pgPropUseAnnotations->SetHelpString(_("If checked, any errors or warnings will be displayed in the editor alongside the failing code."));
+
+ SetName(wxT("BuildTabSettingsBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+ // Connect events
+ m_pgMgr->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BuildTabSettingsBase::OnCustomButtonClicked), NULL, this);
+ m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(BuildTabSettingsBase::OnAppearanceChanged), NULL, this);
+
}
BuildTabSettingsBase::~BuildTabSettingsBase()
{
+ m_pgMgr->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BuildTabSettingsBase::OnCustomButtonClicked), NULL, this);
+ m_pgMgr->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(BuildTabSettingsBase::OnAppearanceChanged), NULL, this);
+
}
diff --git a/LiteEditor/buildsettingstabbase.h b/LiteEditor/buildsettingstabbase.h
index 07fdd884..0d9871fe 100644
--- a/LiteEditor/buildsettingstabbase.h
+++ b/LiteEditor/buildsettingstabbase.h
@@ -13,49 +13,39 @@
#include <wx/panel.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
-#include <wx/stattext.h>
-#include <wx/clrpicker.h>
-#include <wx/checkbox.h>
-#include <wx/statbox.h>
-#include <wx/radiobox.h>
+#include <wx/propgrid/manager.h>
+#include <wx/propgrid/property.h>
+#include <wx/propgrid/advprops.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class BuildTabSettingsBase : public wxPanel
{
protected:
- wxStaticText* m_staticText3;
- wxStaticText* m_staticText5;
- wxStaticText* m_staticText6;
- wxStaticText* m_staticText1;
- wxColourPickerCtrl* m_colourPickerErrorFg;
- wxCheckBox* m_checkBoxBoldErrFont;
- wxStaticText* m_staticText2;
- wxColourPickerCtrl* m_colourPickerWarningsFg;
- wxCheckBox* m_checkBoxBoldWarnFont;
- wxCheckBox* m_checkBoxSkipWarnings;
- wxCheckBox* m_checkBoxAutoHide;
- wxRadioBox* m_radioBuildPaneScrollDestination;
- wxRadioBox* m_radioBoxShowBuildTab;
- wxCheckBox* m_checkBoxDisplayMarkers;
- wxCheckBox* m_checkBoxDisplayAnnotations;
+ wxPropertyGridManager* m_pgMgr;
+ wxPGProperty* CAT_COLOURS_AND_FONTS;
+ wxPGProperty* m_pgPropFont;
+ wxPGProperty* m_pgPropErrorColour;
+ wxPGProperty* m_pgPropWarningColour;
+ wxPGProperty* CAT_GENERAL;
+ wxPGProperty* m_pgPropJumpWarnings;
+ wxPGProperty* m_pgPropAutoHideBuildPane;
+ wxPGProperty* m_pgPropAutoShowBuildPane;
+ wxPGProperty* m_pgPropAutoScroll;
+ wxPGProperty* CAT_MARKERS;
+ wxPGProperty* m_pgPropUseMarkers;
+ wxPGProperty* m_pgPropUseAnnotations;
protected:
+ virtual void OnCustomButtonClicked(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnAppearanceChanged(wxPropertyGridEvent& event) { event.Skip(); }
public:
- wxStaticText* GetStaticText3() { return m_staticText3; }
- wxStaticText* GetStaticText5() { return m_staticText5; }
- wxStaticText* GetStaticText6() { return m_staticText6; }
- wxStaticText* GetStaticText1() { return m_staticText1; }
- wxColourPickerCtrl* GetColourPickerErrorFg() { return m_colourPickerErrorFg; }
- wxCheckBox* GetCheckBoxBoldErrFont() { return m_checkBoxBoldErrFont; }
- wxStaticText* GetStaticText2() { return m_staticText2; }
- wxColourPickerCtrl* GetColourPickerWarningsFg() { return m_colourPickerWarningsFg; }
- wxCheckBox* GetCheckBoxBoldWarnFont() { return m_checkBoxBoldWarnFont; }
- wxCheckBox* GetCheckBoxSkipWarnings() { return m_checkBoxSkipWarnings; }
- wxCheckBox* GetCheckBoxAutoHide() { return m_checkBoxAutoHide; }
- wxRadioBox* GetRadioBuildPaneScrollDestination() { return m_radioBuildPaneScrollDestination; }
- wxRadioBox* GetRadioBoxShowBuildTab() { return m_radioBoxShowBuildTab; }
- wxCheckBox* GetCheckBoxDisplayMarkers() { return m_checkBoxDisplayMarkers; }
- wxCheckBox* GetCheckBoxDisplayAnnotations() { return m_checkBoxDisplayAnnotations; }
+ wxPropertyGridManager* GetPgMgr() { return m_pgMgr; }
BuildTabSettingsBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~BuildTabSettingsBase();
};
diff --git a/LiteEditor/buildtabsettingsdata.cpp b/LiteEditor/buildtabsettingsdata.cpp
index 12e9cc20..af469cbe 100644
--- a/LiteEditor/buildtabsettingsdata.cpp
+++ b/LiteEditor/buildtabsettingsdata.cpp
@@ -64,6 +64,7 @@ void BuildTabSettingsData::Serialize(Archive& arch)
arch.Write(wxT("m_showBuildPane"), m_showBuildPane);
arch.Write(wxT("m_errorWarningStyle"), m_errorWarningStyle);
arch.Write(wxT("m_buildpaneScrollTo"), m_buildpaneScrollTo);
+ arch.Write("m_buildFont", m_buildFont);
}
void BuildTabSettingsData::DeSerialize(Archive& arch)
@@ -81,4 +82,5 @@ void BuildTabSettingsData::DeSerialize(Archive& arch)
arch.Read(wxT("m_showBuildPane"), m_showBuildPane);
arch.Read(wxT("m_errorWarningStyle"), m_errorWarningStyle);
arch.Read(wxT("m_buildpaneScrollTo"), m_buildpaneScrollTo);
+ arch.Read("m_buildFont", m_buildFont);
}
diff --git a/LiteEditor/buildtabsettingsdata.h b/LiteEditor/buildtabsettingsdata.h
index 59f5b258..9f7aebb4 100644
--- a/LiteEditor/buildtabsettingsdata.h
+++ b/LiteEditor/buildtabsettingsdata.h
@@ -26,6 +26,7 @@
#define __buildtabsettingsdata__
#include "serialized_object.h"
+#include <wx/font.h>
class BuildTabSettingsData : public SerializedObject
{
@@ -42,6 +43,7 @@ class BuildTabSettingsData : public SerializedObject
bool m_errorsFirstLine;
int m_errorWarningStyle;
int m_buildpaneScrollTo;
+ wxFont m_buildFont;
private:
BuildTabSettingsData(const BuildTabSettingsData& rhs);
@@ -58,6 +60,9 @@ public:
void Serialize(Archive& arch);
void DeSerialize(Archive& arch);
+ void SetBuildFont(const wxFont& buildFont) { this->m_buildFont = buildFont; }
+ const wxFont& GetBuildFont() const { return m_buildFont; }
+
// Setters
void SetBoldErrFont(const bool& boldErrFont) { this->m_boldErrFont = boldErrFont; }
void SetBoldWarnFont(const bool& boldWarnFont) { this->m_boldWarnFont = boldWarnFont; }
diff --git a/LiteEditor/cc_box.cpp b/LiteEditor/cc_box.cpp
deleted file mode 100644
index 4977d1e4..00000000
--- a/LiteEditor/cc_box.cpp
+++ /dev/null
@@ -1,1055 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : cc_box.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-#include "cc_box.h"
-#include "frame.h"
-#include <wx/settings.h>
-#include "comment_parser.h"
-#include "code_completion_manager.h"
-#include "code_completion_box.h"
-#include "ctags_manager.h"
-#include "event_notifier.h"
-#include <wx/regex.h>
-#include <wx/wupdlock.h>
-#include "pluginmanager.h"
-#include "editor_config.h"
-#include "cl_editor_tip_window.h"
-#include "cl_editor.h"
-#include "globals.h"
-#include <wx/imaglist.h>
-#include <wx/xrc/xmlres.h>
-#include "entry.h"
-#include "plugin.h"
-#include <wx/tooltip.h>
-#include <wx/tipwin.h>
-#include <wx/display.h>
-#include "event_notifier.h"
-#include "cc_box_tip_window.h"
-#include "cl_command_event.h"
-#include "CxxTemplateFunction.h"
-
-#ifdef __WXGTK__
-#define TIP_TIMER 100
-#else
-#define TIP_TIMER 100
-#endif
-
-const wxEventType wxCMD_EVENT_SET_EDITOR_ACTIVE = XRCID("wxCMD_EVENT_SET_EDITOR_ACTIVE");
-const wxEventType wxCMD_EVENT_DISMISS_CC_BOX = ::wxNewEventType();
-
-CCBox::CCBox(LEditor* parent, bool autoHide, bool autoInsertSingleChoice)
-#if CCBOX_USE_POPUP
- : CCBoxBase(wxTheApp->GetTopWindow(), wxID_ANY, wxPoint(-1000, -1000), wxSize(1, 1))
-#else
- : CCBoxBase(parent, wxID_ANY, wxPoint(10000, 10000), wxSize(1, 1))
-#endif
- , m_height(BOX_HEIGHT)
- , m_autoHide(autoHide)
- , m_insertSingleChoice(autoInsertSingleChoice)
- , m_owner(NULL)
- , m_startPos(wxNOT_FOUND)
- , m_editor(parent)
- , m_tipWindow(NULL)
- , m_displayingFileList(false)
-{
- Hide();
- m_constructing = true;
-
- m_refreshListTimer = new wxTimer(this);
- Connect(m_refreshListTimer->GetId(), wxEVT_TIMER, wxTimerEventHandler(CCBox::OnRefreshList), NULL, this);
-
- m_tipTimer = new wxTimer(this);
- Connect(m_tipTimer->GetId(), wxEVT_TIMER, wxTimerEventHandler(CCBox::OnDisplayTooltip), NULL, this);
-
- // load all the CC images
- wxImageList* il = new wxImageList(16, 16, true);
-
- // Initialise the file bitmaps
- BitmapLoader* bmpLoader = PluginManager::Get()->GetStdIcons();
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/class")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/struct")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/namespace")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/member_public")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/typedef")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/member_private")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/member_public")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/member_protected")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/function_private")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/function_public")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/function_protected")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/typedef")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/enum")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/enumerator")));
- il->Add(bmpLoader->LoadBitmap(wxT("mime/16/cpp")));
- il->Add(bmpLoader->LoadBitmap(wxT("mime/16/h")));
- il->Add(bmpLoader->LoadBitmap(wxT("mime/16/text")));
- il->Add(bmpLoader->LoadBitmap(wxT("cc/16/cpp_keyword")));
-
- m_isTipBgDark = DrawingUtils::IsDark(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK));
-
- if(m_isTipBgDark) {
- // the tooltip colour is dark
- m_editor->CallTipSetForegroundHighlight(wxT("YELLOW"));
- }
-
- // assign the image list and let the control take owner ship (i.e. delete it)
- m_listCtrl->AssignImageList(il, wxIMAGE_LIST_SMALL);
- m_listCtrl->EnableAlternateRowColours();
- m_listCtrl->InsertColumn(0, wxT("Name"));
- m_listCtrl->SetColumnWidth(0, m_listCtrl->GetClientSize().x - wxSystemSettings::GetMetric(wxSYS_VSCROLL_X));
- m_constructing = false;
-
- EventNotifier::Get()->Connect(
- wxEVT_TIP_BTN_CLICKED_DOWN, wxCommandEventHandler(CCBox::OnTipClickedDown), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_TIP_BTN_CLICKED_UP, wxCommandEventHandler(CCBox::OnTipClickedUp), NULL, this);
-}
-
-CCBox::~CCBox()
-{
- EventNotifier::Get()->Disconnect(
- wxEVT_TIP_BTN_CLICKED_DOWN, wxCommandEventHandler(CCBox::OnTipClickedDown), NULL, this);
- EventNotifier::Get()->Disconnect(
- wxEVT_TIP_BTN_CLICKED_UP, wxCommandEventHandler(CCBox::OnTipClickedUp), NULL, this);
-
- wxDELETE(m_refreshListTimer);
- wxDELETE(m_tipTimer);
-
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
-}
-
-void CCBox::OnItemActivated(wxListEvent& event)
-{
-#if CCBOX_USE_POPUP
- m_selectedItem = event.m_itemIndex;
- InsertSelection();
- HideCCBox();
-#endif
-}
-
-void CCBox::OnItemDeSelected(wxListEvent& event)
-{
-#ifdef __WXMAC__
- m_listCtrl->Select(event.m_itemIndex, false);
-#endif
- m_selectedItem = wxNOT_FOUND;
-}
-
-void CCBox::OnItemSelected(wxListEvent& event)
-{
- if(m_selectedItem == event.m_itemIndex) return;
-
- m_selectedItem = event.m_itemIndex;
- m_listCtrl->Refresh();
- PostSelectItem(m_selectedItem);
-}
-
-void CCBox::Show(const TagEntryPtrVector_t& tags, const wxString& word, bool autoRefreshList, wxEvtHandler* owner)
-{
- if(tags.empty()) {
- return;
- }
- m_tags = tags;
-
- m_displayingFileList = (m_tags.at(0)->GetKind() == "FileCpp") || (m_tags.at(0)->GetKind() == "FileHeader");
- m_owner = owner;
- m_autoRefershList = autoRefreshList;
- Show(word);
-}
-
-void CCBox::Display(LEditor* editor)
-{
-#if !CCBOX_USE_POPUP
- Move(10000, 10000);
-#endif
- CCBoxParent::Show(false);
-
- m_editor = editor;
- int point = editor->GetCurrentPos();
- wxPoint pt = editor->PointFromPosition(point); // Point is in editor's coordinates
- int lineHeight = editor->GetCurrLineHeight();
-
- // add the line height
- pt.y += lineHeight;
- wxPoint ccPoint = pt;
-
-#if CCBOX_USE_POPUP
-
- wxSize size = ::wxGetDisplaySize();
- // FIX BUG#3032473: "CC box position and dual screen"
- // Incase we are using multiple screens,
- // re-calculate the width
- unsigned displayCount = wxDisplay::GetCount();
- if(displayCount > 1) {
- size.x = 0;
-
- for(unsigned i = 0; i < displayCount; i++) {
- wxDisplay display(i);
- size.x += display.GetGeometry().width;
- }
- }
- // the completion box is child of the main frame
- // Make sure that CC box remains is fully visible
- ccPoint = editor->ClientToScreen(pt);
- int diff = ccPoint.x + BOX_WIDTH - size.x;
- // Handle the X axis
- if(ccPoint.x + BOX_WIDTH > size.x) {
- ccPoint.x -= diff;
- pt.x -= diff;
- }
-
- if(ccPoint.y + BOX_HEIGHT > size.y) {
- ccPoint.y -= BOX_HEIGHT;
- ccPoint.y -= lineHeight;
-
- pt.y -= BOX_HEIGHT;
- pt.y -= lineHeight;
-
-#ifdef __WXMSW__
- // Under Windows it seems that we need another 5 pixels ...
- pt.y -= 5;
- ccPoint.y -= 5;
-#endif
- }
-
- // adjust the X axis
- if(size.x - pt.x < BOX_WIDTH) {
- // the box is too wide to fit the screen
- if(size.x > BOX_WIDTH) {
- // the screen can contain the completion box
- pt.x = size.x - BOX_WIDTH;
- } else {
- // this will provive the maximum visible area
- pt.x = 0;
- }
- }
-#else // CCBOX_USE_POPUP
-
- //-------------------------------------------------
- // Using wxPanel as our completion box
- //-------------------------------------------------
- wxSize size = editor->GetClientSize();
-
- // X-axis
- int diff = ccPoint.x + BOX_WIDTH - size.x;
- if((ccPoint.x + BOX_WIDTH) > size.x) {
- ccPoint.x -= diff;
- }
-
- // Y-axis
- if((ccPoint.y + BOX_HEIGHT) > size.y) {
- ccPoint.y -= (BOX_HEIGHT + lineHeight);
- }
-#endif
- Move(ccPoint);
- CCBoxParent::Show(true);
-}
-
-bool CCBox::SelectWord(const wxString& word)
-{
- bool fullMatch;
- long item = m_listCtrl->FindMatch(word, fullMatch);
- if(item != wxNOT_FOUND) {
- // first unselect the current item
- if(m_selectedItem != wxNOT_FOUND && m_selectedItem != item) {
- m_listCtrl->Select(m_selectedItem, false);
- }
-
- if(m_selectedItem != item) {
- // We are changing selection
- m_selectedItem = item;
- SelectItem(m_selectedItem);
- }
-
- if(fullMatch) {
- // Incase we got a full match, insert the selection and release the completion box
- InsertSelection();
- if(m_editor) {
- m_editor->SetActive();
- }
- HideCCBox();
- return true;
- }
-
- } else {
- // Before we dismiss the code completion box, test to see if the cause
- // of the 'no-match' is due to typo
- bool typoError = false;
- if(word.length() > 1) {
- wxString word2 = word.Mid(0, word.length()-1);
- long where = m_listCtrl->FindMatch(word2, fullMatch);
- if(where != wxNOT_FOUND) {
- typoError = true;
- }
- }
-
- if(typoError) {
- // typo error, just unselect the match
- m_listCtrl->Select(m_selectedItem, false);
- } else {
- // Not a typo, the match does not exist in the results
- // hide the code completion box
- if(m_editor) {
- m_editor->CallAfter(&LEditor::CodeComplete, true);
- }
- HideCCBox();
- }
- return false;
- }
-
- m_refreshListTimer->Stop();
- if(m_autoRefershList) {
- m_refreshListTimer->Start(TIP_TIMER, true);
- }
- return fullMatch;
-}
-
-void CCBox::Next()
-{
- if(m_selectedItem != wxNOT_FOUND) {
- if(m_selectedItem + 1 < m_listCtrl->GetItemCount()) {
- m_selectedItem++;
- // select next item
- SelectItem(m_selectedItem);
- }
- }
-}
-
-void CCBox::Previous()
-{
- if(m_selectedItem != wxNOT_FOUND) {
- if(m_selectedItem - 1 >= 0) {
- m_selectedItem--;
-
- // select previous item
- SelectItem(m_selectedItem);
- }
- }
-}
-
-void CCBox::SelectItem(long item)
-{
- if(item == m_listCtrl->GetNextSelected(-1)) return;
-
- if(item < 0 || item >= m_listCtrl->GetItemCount()) return;
-
- if(m_listCtrl->GetFirstSelected() != -1) {
- m_listCtrl->RefreshItem(m_listCtrl->GetFirstSelected());
- }
- m_listCtrl->Select(item);
- m_listCtrl->EnsureVisible(item);
-
- PostSelectItem(item);
-}
-
-void CCBox::PostSelectItem(long item)
-{
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
-
- m_tipTimer->Stop();
- m_tipTimer->Start(200, true);
-
- // CCItemInfo tag;
- // if(m_listCtrl->GetItemTagEntry(item, tag)) {
- // DoFormatDescriptionPage( tag );
- //}
- m_editor->SetActive();
-}
-
-void CCBox::Show(const wxString& word)
-{
- // keep the initial word
- m_initialWord = word;
- m_displayingFileList = false;
-
- wxString lastName;
- size_t i(0);
- std::vector<CCItemInfo> _tags;
-
- m_listCtrl->SetCursor(wxCursor(wxCURSOR_ARROW));
- this->SetCursor(wxCursor(wxCURSOR_ARROW));
-
- CCItemInfo item;
-
- clWindowUpdateLocker locker(m_listCtrl);
- m_listCtrl->DeleteAllItems();
-
- // Get the associated editor
- wxStringSet_t uniqueTags;
- if(!m_tags.empty()) {
- m_displayingFileList = (m_tags.at(0)->GetKind() == "FileCpp") || (m_tags.at(0)->GetKind() == "FileHeader");
- _tags.reserve(m_tags.size());
- for(; i < m_tags.size(); i++) {
- TagEntryPtr tag = m_tags.at(i);
- wxString access = tag->GetAccess();
-
- if(TagsManagerST::Get()->GetCtagsOptions().GetFlags() & CC_KEEP_FUNCTION_SIGNATURE_UNFORMATTED) {
- tag->SetFlags(tag->GetFlags() | TagEntry::Tag_No_Signature_Format);
- }
-
- // start a new group
-
- wxString displayName = tag->GetDisplayName().Trim().Trim(false);
- if(uniqueTags.count(displayName)) {
- continue;
- }
-
- uniqueTags.insert(displayName);
-
- item.Reset();
- item.displayName = displayName;
- item.imgId = GetImageId(tag);
- item.tag = *tag;
- item.listOfTags.push_back(*tag);
- _tags.push_back(item);
- }
- }
-
- if(_tags.size() == 1 && m_insertSingleChoice) {
- m_selectedItem = 0;
- DoInsertSelection(_tags.at(0).tag.GetName(), false);
-
- // return without calling to wxWindow::Show()
- // also, make sure we are hidden
- if(IsShown()) {
- HideCCBox();
- }
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
-
- return;
- }
-
- m_listCtrl->SetItems(_tags);
- m_listCtrl->SetItemCount(_tags.size());
- m_selectedItem = 0;
-
- bool fullMatch;
- m_selectedItem = m_listCtrl->FindMatch(word, fullMatch);
- if(m_selectedItem == wxNOT_FOUND && GetAutoHide()) {
- // return without calling wxWindow::Show
- return;
- }
- if(m_selectedItem == wxNOT_FOUND) {
- m_selectedItem = 0;
- }
-
- // m_mainPanel->GetSizer()->Fit(m_mainPanel);
- m_mainPanel->GetSizer()->Fit(this);
- if(!CodeCompletionManager::Get().GetWordCompletionRefreshNeeded()) {
- Display(m_editor);
- }
- SelectItem(m_selectedItem);
-}
-
-void CCBox::DoInsertSelection(const wxString& word, bool triggerTip)
-{
- if(m_owner) {
- // Let the owner override the default behavior
- clCodeCompletionEvent e(wxEVT_CCBOX_SELECTION_MADE);
- e.SetWord(word);
- e.SetEventObject(m_owner);
- if(EventNotifier::Get()->ProcessEvent(e)) return;
- }
-
- if(m_editor) {
- m_editor->CallTipCancel();
- // setup the insertion point start and end
- int insertPos = wxNOT_FOUND;
- if(!m_initialWord.IsEmpty() && m_displayingFileList) {
- insertPos = m_editor->GetCurrentPos() - m_initialWord.length();
- } else {
- insertPos = m_editor->WordStartPosition(m_editor->GetCurrentPos(), true);
- }
- int endPos = m_editor->GetCurrentPos();
-
- m_editor->SetSelection(insertPos, endPos);
- m_editor->ReplaceSelection(word);
-
- // incase we are adding a function, add '()' at the end of the function name and place the caret in the middle
- CCItemInfo itemInfo;
- if(m_listCtrl->GetItemTagEntry(m_selectedItem, itemInfo) && itemInfo.tag.IsMethod()) {
- // The selected item is a method (any kind of function)
- // if full declaration was selected, dont do anything,
- // otherwise, append '()' to the inserted string, place the caret
- // in the middle, and trigger the function tooltip
- if(itemInfo.tag.IsTemplateFunction()) {
-
- /////////////////////////////////////////////////////////////
- // Entering C++ zone here:
- /////////////////////////////////////////////////////////////
-
- // a template function was found - insert the following:
- // <>()
- // There is however, one condition where we don't want to automatically
- // enter "<|>()" and place the caret between the angle brackets:
- // the template arguments can be deduced from the function signaure
- TagEntryPtr t(new TagEntry(itemInfo.tag));
- CxxTemplateFunction tf(t);
- if(tf.CanTemplateArgsDeduced()) {
- m_editor->InsertText(m_editor->GetCurrentPos(), wxT("()"));
- int pos = m_editor->GetCurrentPos();
- m_editor->SetSelectionStart(pos);
- m_editor->SetSelectionEnd(pos);
- m_editor->CharRight();
- m_editor->SetIndicatorCurrent(MATCH_INDICATOR);
- m_editor->IndicatorFillRange(pos, 1);
- } else {
- m_editor->InsertText(m_editor->GetCurrentPos(), wxT("<>()"));
- int pos = m_editor->GetCurrentPos();
- m_editor->SetSelectionStart(pos);
- m_editor->SetSelectionEnd(pos);
- m_editor->CharRight();
- m_editor->SetIndicatorCurrent(MATCH_INDICATOR);
- m_editor->IndicatorFillRange(pos, 1);
- // trigger function tip
- m_editor->CodeComplete();
- }
- } else if(word.Find(wxT("(")) == wxNOT_FOUND && triggerTip) {
-
- // If the char after the insertion is '(' dont place another '()'
- int dummyPos = wxNOT_FOUND;
- wxChar charAfter = m_editor->NextChar(m_editor->GetCurrentPos(), dummyPos);
- if(charAfter != wxT('(')) {
- // add braces
- m_editor->InsertText(m_editor->GetCurrentPos(), wxT("()"));
- dummyPos = wxNOT_FOUND;
- }
-
- int pos = dummyPos == wxNOT_FOUND ? m_editor->GetCurrentPos() : dummyPos;
- m_editor->SetSelectionStart(pos);
- m_editor->SetSelectionEnd(pos);
- m_editor->CharRight();
- m_editor->SetIndicatorCurrent(MATCH_INDICATOR);
- m_editor->IndicatorFillRange(pos, 1);
-
- // select the tag to display to match the current one
- TagEntryPtr tt(new TagEntry(itemInfo.tag));
- TagEntryPtrVector_t tags;
- tags.push_back(tt);
- std::vector<clTipInfo> tips;
- clCallTip::FormatTagsToTips(tags, tips);
-
- // trigger function tip if we have at least 1 calltip and
- // the signature does not match "()"
- if(tips.size() == 1 && tips.at(0).str == "()") {
- m_editor->CharRight();
- } else {
- m_editor->CodeComplete();
- }
-
- // post an event to select the proper signature
- if(!tips.empty()) {
- m_editor->GetFunctionTip()->SelectSignature(tips.at(0).str);
- }
-
- wxString tipContent = m_editor->GetContext()->CallTipContent();
- int where = tipContent.Find(wxT(" : "));
- if(where != wxNOT_FOUND) {
- tipContent = tipContent.Mid(where + 3);
- }
-
- if(tipContent.Trim().Trim(false) == wxT("()")) {
- // dont place the caret in the middle of the braces,
- // and it is OK to cancel the function calltip
- int new_pos = m_editor->GetCurrentPos() + 1;
- m_editor->SetCurrentPos(new_pos);
- m_editor->SetSelectionStart(new_pos);
- m_editor->SetSelectionEnd(new_pos);
-
- // remove the current tip that we just activated.
- // if this was the last tip, it will also make it go away
- m_editor->GetFunctionTip()->Remove();
- }
- }
- }
- }
-}
-
-void CCBox::InsertSelection()
-{
- if(m_selectedItem == wxNOT_FOUND) {
- return;
- }
-
- // get the selected word
- wxString word = GetColumnText(m_listCtrl, m_selectedItem, 0);
- DoInsertSelection(word.BeforeFirst('('));
-}
-
-int CCBox::GetImageId(TagEntryPtr entry)
-{
- wxString kind = entry->GetKind();
- wxString access = entry->GetAccess();
- if(kind == wxT("class")) return 0;
-
- if(kind == wxT("struct")) return 1;
-
- if(kind == wxT("namespace")) return 2;
-
- if(kind == wxT("variable")) return 3;
-
- if(kind == wxT("typedef")) return 4;
-
- if(kind == wxT("member") && access.Contains(wxT("private"))) return 5;
-
- if(kind == wxT("member") && access.Contains(wxT("public"))) return 6;
-
- if(kind == wxT("member") && access.Contains(wxT("protected"))) return 7;
-
- // member with no access? (maybe part of namespace??)
- if(kind == wxT("member")) return 6;
-
- if((kind == wxT("function") || kind == wxT("prototype")) && access.Contains(wxT("private"))) return 8;
-
- if((kind == wxT("function") || kind == wxT("prototype")) && (access.Contains(wxT("public")) || access.IsEmpty()))
- return 9;
-
- if((kind == wxT("function") || kind == wxT("prototype")) && access.Contains(wxT("protected"))) return 10;
-
- if(kind == wxT("macro")) return 11;
-
- if(kind == wxT("enum")) return 12;
-
- if(kind == wxT("enumerator")) return 13;
-
- if(kind == wxT("cpp_keyword")) return 17;
-
- // try the user defined images
- std::map<wxString, int>::iterator iter = m_userImages.find(kind);
- if(iter != m_userImages.end()) {
- return iter->second;
- }
- return wxNOT_FOUND;
-}
-
-void CCBox::RegisterImageForKind(const wxString& kind, const wxBitmap& bmp)
-{
- wxImageList* il = m_listCtrl->GetImageList(wxIMAGE_LIST_SMALL);
- if(il && bmp.IsOk()) {
- std::map<wxString, int>::iterator iter = m_userImages.find(kind);
-
- if(iter == m_userImages.end()) {
- int id = il->Add(bmp);
- m_userImages[kind] = id;
- } else {
- // an entry for this kind already exist, replace the current image with new one
- il->Replace(iter->second, bmp);
- }
- }
-}
-
-void CCBox::NextPage()
-{
- if(m_selectedItem != wxNOT_FOUND) {
- if(m_selectedItem + 1 < m_listCtrl->GetItemCount()) {
-#ifdef __WXMAC__
- // unselect current item
- m_listCtrl->Select(m_selectedItem, false);
-#endif
- m_selectedItem += 10;
- // select next item
- SelectItem(m_selectedItem);
- } else {
-#ifdef __WXMAC__
- // unselect current item
- m_listCtrl->Select(m_selectedItem, false);
-#endif
- m_selectedItem = m_listCtrl->GetItemCount() - 1;
- // select next item
- SelectItem(m_selectedItem);
- }
- }
-}
-
-void CCBox::PreviousPage()
-{
- if(m_selectedItem != wxNOT_FOUND) {
- if(m_selectedItem - 10 >= 0) {
-#ifdef __WXMAC__
- // unselect current item
- m_listCtrl->Select(m_selectedItem, false);
-#endif
- m_selectedItem -= 10;
-
- // select previous item
- SelectItem(m_selectedItem);
- } else {
-#ifdef __WXMAC__
- // unselect current item
- m_listCtrl->Select(m_selectedItem, false);
-#endif
- m_selectedItem = 0;
-
- // select previous item
- SelectItem(m_selectedItem);
- }
- }
-}
-
-void CCBox::HideCCBox()
-{
- clCodeCompletionEvent evt(wxEVT_CC_CODE_COMPLETE_BOX_DISMISSED, GetId());
- evt.SetEventObject(this);
- EventNotifier::Get()->AddPendingEvent(evt);
-
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
-
- if(m_editor) {
- wxCommandEvent evt(wxCMD_EVENT_SET_EDITOR_ACTIVE, GetId());
- evt.SetEventObject(this);
- m_editor->GetEventHandler()->AddPendingEvent(evt);
- }
- CodeCompletionBox::Get().Hide();
-}
-
-void CCBox::DoShowTagTip()
-{
- if(!m_editor) {
- return;
- }
-
- if(m_currentItem.listOfTags.empty()) return;
-
- if(m_currentItem.currentIndex >= (int)m_currentItem.listOfTags.size()) {
- m_currentItem.currentIndex = 0;
- }
-
- if(m_currentItem.currentIndex < 0) {
- m_currentItem.currentIndex = m_currentItem.listOfTags.size() - 1;
- }
-
- wxString prefix;
- TagEntry tag = m_currentItem.listOfTags.at(m_currentItem.currentIndex);
- size_t numOfTips = m_currentItem.listOfTags.size();
-
- // Send the plugins an event requesting tooltip for this tag
- bool gotAComment(false);
- if(m_owner) {
- TagEntryPtr tagPtr(new TagEntry(tag));
- clCodeCompletionEvent evt(wxEVT_CC_CODE_COMPLETE_TAG_COMMENT, GetId());
- evt.SetEventObject(this);
- evt.SetTagEntry(tagPtr);
-
- if(EventNotifier::Get()->ProcessEvent(evt)) {
- prefix << evt.GetTooltip();
- gotAComment = true;
- }
- }
-
- if(!gotAComment) {
- if(tag.IsMethod()) {
-
- if(tag.IsConstructor())
- prefix << wxT("<b>[Constructor]</b>\n");
-
- else if(tag.IsDestructor())
- prefix << wxT("<b>[Destructor]</b>\n");
-
- TagEntryPtr p(new TagEntry(tag));
- prefix << wxT("<code>")
- << TagsManagerST::Get()->FormatFunction(p, FunctionFormat_WithVirtual | FunctionFormat_Arg_Per_Line)
- << wxT("</code>\n");
- prefix.Replace(tag.GetName(), wxT("<b>") + tag.GetName() + wxT("</b>"));
- } else if(tag.IsClass()) {
-
- prefix << wxT("<b>Kind:</b> ");
- prefix << wxString::Format(wxT("%s\n"), tag.GetKind().c_str());
-
- if(tag.GetInheritsAsString().IsEmpty() == false) {
- prefix << wxT("<b>Inherits:</b> ");
- prefix << tag.GetInheritsAsString() << wxT("\n");
- }
-
- } else if(tag.IsMacro() || tag.IsTypedef() || tag.IsContainer() || tag.GetKind() == wxT("member") ||
- tag.GetKind() == wxT("variable")) {
-
- prefix << wxT("<b>Kind:</b> ");
- prefix << wxString::Format(wxT("%s\n"), tag.GetKind().c_str());
-
- prefix << wxT("<b>Match Pattern:</b> ");
-
- // Prettify the match pattern
- wxString matchPattern(tag.GetPattern());
- matchPattern.Trim().Trim(false);
-
- if(matchPattern.StartsWith(wxT("/^"))) {
- matchPattern.Replace(wxT("/^"), wxT(""));
- }
-
- if(matchPattern.EndsWith(wxT("$/"))) {
- matchPattern.Replace(wxT("$/"), wxT(""));
- }
-
- matchPattern.Replace(wxT("\t"), wxT(" "));
- while(matchPattern.Replace(wxT(" "), wxT(" "))) {
- }
-
- matchPattern.Trim().Trim(false);
-
- // BUG#3082954: limit the size of the 'match pattern' to a reasonable size (200 chars)
- matchPattern = TagsManagerST::Get()->WrapLines(matchPattern);
- matchPattern.Replace(tag.GetName(), wxT("<b>") + tag.GetName() + wxT("</b>"));
- prefix << wxT("<code>") << matchPattern << wxT("</code>\n");
-
- } else {
- // non valid tag entry
- return;
- }
-
- // Add comment section
- wxString filename(m_comments.getFilename().c_str(), wxConvUTF8);
- if(filename != tag.GetFile()) {
- m_comments.clear();
- ParseComments(tag.GetFile().mb_str(wxConvUTF8).data(), m_comments);
- m_comments.setFilename(tag.GetFile().mb_str(wxConvUTF8).data());
- }
- wxString tagComment;
- bool foundComment(false);
- std::string comment;
- // search for comment in the current line, the line above it and 2 above it
- // use the first match we got
- for(size_t i = 0; i < 3; i++) {
- comment = m_comments.getCommentForLine(tag.GetLine() - i);
- if(comment.empty() == false) {
- foundComment = true;
- break;
- }
- }
- if(foundComment || !tag.GetComment().IsEmpty()) {
-
- wxString theComment;
- if(!tag.GetComment().IsEmpty())
- theComment = tag.GetComment();
- else
- theComment = wxString(comment.c_str(), wxConvUTF8);
-
- theComment = TagsManagerST::Get()->WrapLines(theComment);
- theComment.Trim(false);
- tagComment = wxString::Format(wxT("%s\n"), theComment.c_str());
- if(prefix.IsEmpty() == false) {
- prefix.Trim().Trim(false);
- prefix << wxT("\n<hr>");
- }
- prefix << tagComment;
- }
- } // gotAComment = true
-
- // Update all "doxy" comments and surround them with <green> tags
- static wxRegEx reDoxyParam("([@\\\\]{1}param)[ \\t]+([_a-z][a-z0-9_]*)?", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDoxyBrief("([@\\\\]{1}(brief|details))[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDoxyThrow("([@\\\\]{1}(throw|throws))[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDoxyReturn("([@\\\\]{1}(return|retval|returns))[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDoxyToDo("([@\\\\]{1}todo)[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDoxyRemark("([@\\\\]{1}(remarks|remark))[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reDate("([@\\\\]{1}date)[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
- static wxRegEx reFN("([@\\\\]{1}fn)[ \\t]*", wxRE_DEFAULT | wxRE_ICASE);
-
- if(reDoxyParam.IsValid() && reDoxyParam.Matches(prefix)) {
- reDoxyParam.ReplaceAll(&prefix, "\n<b>Parameter</b>\n<i>\\2</i>");
- }
-
- if(reDoxyBrief.IsValid() && reDoxyBrief.Matches(prefix)) {
- reDoxyBrief.ReplaceAll(&prefix, "");
- }
-
- if(reDoxyThrow.IsValid() && reDoxyThrow.Matches(prefix)) {
- reDoxyThrow.ReplaceAll(&prefix, "\n<b>Throws</b>\n");
- }
-
- if(reDoxyReturn.IsValid() && reDoxyReturn.Matches(prefix)) {
- reDoxyReturn.ReplaceAll(&prefix, "\n<b>Returns</b>\n");
- }
-
- if(reDoxyToDo.IsValid() && reDoxyToDo.Matches(prefix)) {
- reDoxyToDo.ReplaceAll(&prefix, "\n<b>TODO</b>\n");
- }
-
- if(reDoxyRemark.IsValid() && reDoxyRemark.Matches(prefix)) {
- reDoxyRemark.ReplaceAll(&prefix, "\n ");
- }
-
- if(reDate.IsValid() && reDate.Matches(prefix)) {
- reDate.ReplaceAll(&prefix, "<b>Date</b> ");
- }
-
- if(reFN.IsValid() && reFN.Matches(prefix)) {
- size_t fnStart, fnLen, fnEnd;
- if(reFN.GetMatch(&fnStart, &fnLen)) {
- fnEnd = prefix.find('\n', fnStart);
- if(fnEnd != wxString::npos) {
- // remove the string from fnStart -> fnEnd (including ther terminating \n)
- prefix.Remove(fnStart, (fnEnd - fnStart) + 1);
- }
- }
- }
-
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
-
- m_startPos == wxNOT_FOUND ? m_startPos = m_editor->GetCurrentPos() : m_startPos;
-
- // if nothing to display skip this
- prefix.Trim().Trim(false);
- if(prefix.IsEmpty()) {
- return;
- }
-
- m_tipWindow = new CCBoxTipWindow(wxTheApp->GetTopWindow(), prefix, numOfTips);
-#if CCBOX_USE_POPUP
- m_tipWindow->PositionRelativeTo(this, m_editor->PointFromPosition(m_editor->GetCurrentPos()), m_editor);
-#else
- m_tipWindow->PositionRelativeTo(this, m_editor->PointFromPosition(m_editor->GetCurrentPos()), m_editor);
-#endif
-
-#if !CCBOX_USE_POPUP
- wxWindow* tlw = ::wxGetTopLevelParent(m_editor);
- if(tlw) {
- tlw->Raise();
- }
- m_editor->SetActive();
-#endif
-}
-
-void CCBox::DoFormatDescriptionPage(const CCItemInfo& item)
-{
- LEditor* editor = m_editor;
- if(!editor) {
- return;
- }
-
- m_currentItem = item;
- if(m_currentItem.listOfTags.empty()) {
- if(m_tipWindow) {
- m_tipWindow->Destroy();
- m_tipWindow = NULL;
- }
- return;
- }
-
- m_currentItem.currentIndex = 0;
- DoShowTagTip();
-}
-
-void CCBox::OnTipClickedUp(wxCommandEvent& event)
-{
- event.Skip();
- m_currentItem.currentIndex--;
- DoShowTagTip();
-}
-
-void CCBox::OnTipClickedDown(wxCommandEvent& event)
-{
- event.Skip();
- m_currentItem.currentIndex++;
- DoShowTagTip();
-}
-
-void CCBox::DoFilterCompletionEntries(CCItemInfo& item)
-{
- std::map<wxString, TagEntry> uniqueList;
-
- // filter our some of the duplicate results
- // (e.g. dont show prototpe + impl as 2 entries)
- for(size_t i = 0; i < item.listOfTags.size(); i++) {
- const TagEntry& t = item.listOfTags.at(i);
- const wxString& name = t.GetName();
-
- if(t.IsMethod()) {
- wxString signature = t.GetSignature();
- if(t.IsFunction()) {
- if(uniqueList.find(name + signature) == uniqueList.end()) uniqueList[name + signature] = t;
-
- } else {
- // override any existing item
- uniqueList[name + signature] = t;
- }
- } else {
- uniqueList[name] = t;
- }
- }
-
- item.listOfTags.clear();
- item.listOfTags.reserve(uniqueList.size());
- std::map<wxString, TagEntry>::iterator iter = uniqueList.begin();
- for(; iter != uniqueList.end(); iter++) {
- item.listOfTags.push_back(iter->second);
- }
-}
-void CCBox::OnDisplayTooltip(wxTimerEvent& event)
-{
- if(IsShown() == false) return;
-
- CCItemInfo tag;
- if(m_listCtrl->GetItemTagEntry(m_selectedItem, tag)) {
- DoFormatDescriptionPage(tag);
- }
-}
-
-void CCBox::OnRefreshList(wxTimerEvent& event)
-{
- if(m_autoRefershList) {
-
- // clang is already slow... don't re-invoke the list
- if(m_tags.empty() == false && m_tags.at(0)->GetIsClangTag()) return;
-
- // Tags with user data are from plugins. So we disable the auto-refresh feature of the
- // completion box
- if(!m_tags.empty() && m_tags.at(0)->GetUserData()) return;
-
- wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED, XRCID("complete_word_refresh_list"));
- event.SetEventObject(clMainFrame::Get());
- clMainFrame::Get()->GetEventHandler()->AddPendingEvent(event);
- }
-}
-
-void CCBox::OnDismiss()
-{
- // our popup win was dismissed for some reason
- m_editor = NULL;
-}
-
-void CCBox::OnClose(wxCommandEvent& e)
-{
- e.Skip();
- Destroy();
-}
-
-void CCBox::SortTags(std::vector<CCItemInfo>& tags, const wxString& userTyped)
-{
- wxUnusedVar(tags);
- wxUnusedVar(userTyped);
-}
diff --git a/LiteEditor/cc_box.h b/LiteEditor/cc_box.h
deleted file mode 100644
index e503d03b..00000000
--- a/LiteEditor/cc_box.h
+++ /dev/null
@@ -1,138 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : cc_box.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-#ifndef __cc_box__
-#define __cc_box__
-
-/**
-@file
-Subclass of CCBoxBase, which is generated by wxFormBuilder.
-*/
-
-#include "cc_boxbase.h"
-#include "comment_parser.h"
-#include "entry.h"
-#include <vector>
-#include <map>
-#include <wx/timer.h>
-#include <wx/spinbutt.h>
-
-extern const wxEventType wxCMD_EVENT_SET_EDITOR_ACTIVE;
-
-// A custom event sent by the CodeCompletionBox class
-// to make sure that any zombies instances are released
-extern const wxEventType wxCMD_EVENT_DISMISS_CC_BOX;
-
-class LEditor;
-class CCBoxTipWindow;
-
-/** Implementing CCBoxBase */
-class CCBox : public CCBoxBase
-{
- int m_selectedItem;
- std::vector<TagEntryPtr> m_tags;
- bool m_showFullDecl;
- int m_height;
- bool m_autoHide;
- bool m_insertSingleChoice;
- std::map<wxString, int> m_userImages;
- wxEvtHandler* m_owner;
- bool m_constructing;
- bool m_hideExtInfoPane;
- CommentParseResult m_comments;
- int m_startPos;
- bool m_isTipBgDark;
- CCItemInfo m_currentItem;
- LEditor* m_editor;
- wxTimer* m_refreshListTimer;
- wxTimer* m_tipTimer;
- bool m_autoRefershList;
- CCBoxTipWindow* m_tipWindow;
- wxString m_initialWord;
- bool m_displayingFileList;
-
-public:
- void OnTipClickedDown(wxCommandEvent& event);
- void OnTipClickedUp(wxCommandEvent& event);
-
-protected:
- // Handlers for CCBoxBase events.
- void OnItemActivated(wxListEvent& event);
- void OnItemDeSelected(wxListEvent& event);
- void OnItemSelected(wxListEvent& event);
- void OnClose(wxCommandEvent& e);
-
- void OnDisplayTooltip(wxTimerEvent& event);
- void OnRefreshList(wxTimerEvent& event);
- void Display(LEditor* editor);
- void SortTags(std::vector<CCItemInfo>& tags, const wxString& userTyped);
-
-protected:
- // helper methods
- int GetImageId(TagEntryPtr entry);
- void SelectItem(long item);
- void PostSelectItem(long item);
- void Show(const wxString& word);
- void DoInsertSelection(const wxString& word, bool triggerTip = true);
- void DoFormatDescriptionPage(const CCItemInfo& tag);
- void DoShowTagTip();
- void DoFilterCompletionEntries(CCItemInfo& item);
-
-public:
- /** Constructor */
- CCBox(LEditor* parent, bool autoHide = true, bool autoInsertSingleChoice = true);
- virtual ~CCBox();
-
- void HideCCBox();
- void Show(const TagEntryPtrVector_t& tags, const wxString& word, bool autoRefreshList, wxEvtHandler* owner = NULL);
- void InsertSelection();
-
- // can this window have focus? (no)
- bool AcceptsFocus() const { return false; }
-
- void OnDismiss();
- bool SelectWord(const wxString& word);
- void Next();
- void Previous();
-
- // Setters
- void SetAutoHide(const bool& autoHide) { this->m_autoHide = autoHide; }
- void SetInsertSingleChoice(const bool& insertSingleChoice) { this->m_insertSingleChoice = insertSingleChoice; }
- // Getters
- const bool& GetAutoHide() const { return m_autoHide; }
- const bool& GetInsertSingleChoice() const { return m_insertSingleChoice; }
-
- /**
- * @brief register new user image fot TagEntry kind
- * @param kind the kind string that will be associated with the bitmap (TagEntry::GetKind())
- * @param bmp 16x16 bitmap
- */
- void RegisterImageForKind(const wxString& kind, const wxBitmap& bmp);
- void NextPage();
- void PreviousPage();
- void SetEditor(LEditor* editor) { this->m_editor = editor; }
- LEditor* GetEditor() { return m_editor; }
-};
-
-#endif // __cc_box__
diff --git a/LiteEditor/cc_boxbase.cpp b/LiteEditor/cc_boxbase.cpp
deleted file mode 100644
index 7f9fa71e..00000000
--- a/LiteEditor/cc_boxbase.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : cc_boxbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version May 4 2010)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "cc_boxbase.h"
-#include <wx/pen.h>
-#include "ccboxmainpanel.h"
-#if wxVERSION_NUMBER >= 2809
-#include <wx/aui/auibar.h>
-#else
-#include <wx/toolbar.h>
-#endif
-#include <wx/xrc/xmlres.h>
-
-
-#include "pluginmanager.h"
-///////////////////////////////////////////////////////////////////////////
-
-CCBoxBase::CCBoxBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
- : CCBoxParent( parent )
-{
- SetSizeHints(BOX_WIDTH, BOX_HEIGHT);
- wxBoxSizer* mainSizer = new wxBoxSizer( wxVERTICAL );
- wxBoxSizer* topSizer = new wxBoxSizer( wxHORIZONTAL );
- SetSizer(mainSizer);
-
- m_mainPanel = new CCBoxMainPanel(this);
- m_mainPanel->SetSizer(topSizer);
- mainSizer->Add(m_mainPanel, 1, wxEXPAND);
- m_listCtrl = new CCVirtualListCtrl( m_mainPanel,
- wxID_ANY,
- wxDefaultPosition,
- wxSize(BOX_WIDTH - 16, BOX_HEIGHT),
- wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VIRTUAL|wxBORDER_SIMPLE);
- topSizer->Add( m_listCtrl, 1, wxEXPAND|wxALL, 0);
-
- //m_mainPanel->SetAutoLayout( true );
- GetSizer()->Fit(this);
-
- // Connect Events
- m_listCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CCBoxBase::OnItemActivated ), NULL, this );
- m_listCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( CCBoxBase::OnItemDeSelected ), NULL, this );
- m_listCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CCBoxBase::OnItemSelected ), NULL, this );
- m_listCtrl->Connect( wxEVT_COMMAND_LIST_KEY_DOWN, wxListEventHandler( CCBoxBase::OnKeyDown ), NULL, this );
-}
-
-CCBoxBase::~CCBoxBase()
-{
- // Disconnect Events
- m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CCBoxBase::OnItemActivated ), NULL, this );
- m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( CCBoxBase::OnItemDeSelected ), NULL, this );
- m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CCBoxBase::OnItemSelected ), NULL, this );
- m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_KEY_DOWN, wxListEventHandler( CCBoxBase::OnKeyDown ), NULL, this );
-}
diff --git a/LiteEditor/cc_boxbase.h b/LiteEditor/cc_boxbase.h
deleted file mode 100644
index 85ce14df..00000000
--- a/LiteEditor/cc_boxbase.h
+++ /dev/null
@@ -1,99 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : cc_boxbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version May 4 2010)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __cc_boxbase__
-#define __cc_boxbase__
-
-#include <wx/listctrl.h>
-#include "ccvirtuallistctrl.h"
-#include <wx/gdicmn.h>
-#include <wx/font.h>
-#include <wx/colour.h>
-#include <wx/settings.h>
-#include <wx/string.h>
-#include <wx/bitmap.h>
-#include <wx/image.h>
-#include <wx/pen.h>
-#include <wx/icon.h>
-#include <wx/toolbar.h>
-#include <wx/sizer.h>
-#include <wx/panel.h>
-#include <wx/popupwin.h>
-
-///////////////////////////////////////////////////////////////////////////
-
-#define BOX_HEIGHT 250
-#define BOX_WIDTH 600
-
-#if defined(__WXMSW__)
-# define CCBOX_USE_POPUP 1
-#elif defined(__WXMAC__)
-# define CCBOX_USE_POPUP 0
-#elif defined(__WXGTK__)
-# define CCBOX_USE_POPUP 1
-#endif
-
-#if CCBOX_USE_POPUP
-# define CCBoxParent wxPopupWindow
-#else
-# define CCBoxParent wxPanel
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class CCBoxBase
-///////////////////////////////////////////////////////////////////////////////
-class CCBoxBase : public CCBoxParent
-{
-protected:
- CCVirtualListCtrl* m_listCtrl;
- wxPanel* m_mainPanel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnItemActivated( wxListEvent& event ) {
- event.Skip();
- }
- virtual void OnItemDeSelected( wxListEvent& event ) {
- event.Skip();
- }
- virtual void OnItemSelected( wxListEvent& event ) {
- event.Skip();
- }
- virtual void OnKeyDown( wxListEvent& event ) {
- event.Skip();
- }
-
-public:
- CCBoxBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 486,300 ), long style = wxBORDER_NONE|wxTAB_TRAVERSAL );
- ~CCBoxBase();
-};
-
-#endif //__cc_boxbase__
diff --git a/LiteEditor/clInitializeDialog.cpp b/LiteEditor/clInitializeDialog.cpp
index 96063ff5..c32c9aec 100644
--- a/LiteEditor/clInitializeDialog.cpp
+++ b/LiteEditor/clInitializeDialog.cpp
@@ -13,6 +13,7 @@ clInitializeDialog::clInitializeDialog(wxWindow* parent)
wxEVT_UPGRADE_LEXERS_END, clCommandEventHandler(clInitializeDialog::OnLexersUpgradeEnd), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_UPGRADE_LEXERS_PROGRESS, clCommandEventHandler(clInitializeDialog::OnLexersUpgradeProgress), NULL, this);
+ CenterOnScreen();
}
clInitializeDialog::~clInitializeDialog()
@@ -46,5 +47,9 @@ void clInitializeDialog::StartUpgrade()
void clInitializeDialog::OnLexersUpgradeStart(clCommandEvent& e)
{
e.Skip();
- m_gauge->SetRange(e.GetInt());
+ static bool rangeSet = false;
+ if(!rangeSet) {
+ m_gauge->SetRange(e.GetInt());
+ rangeSet = true;
+ }
}
diff --git a/LiteEditor/cl_editor.cpp b/LiteEditor/cl_editor.cpp
index 10ac7500..a74915d2 100644
--- a/LiteEditor/cl_editor.cpp
+++ b/LiteEditor/cl_editor.cpp
@@ -30,7 +30,6 @@
#include "macromanager.h"
#include <wx/log.h>
#include "event_notifier.h"
-#include "code_completion_box.h"
#include "event_notifier.h"
#include "cl_editor_tip_window.h"
#include "new_quick_watch_dlg.h"
@@ -39,7 +38,6 @@
#include "stringhighlighterjob.h"
#include "job.h"
#include "drawingutils.h"
-#include "cc_box.h"
#include "stringsearcher.h"
#include "colourrequest.h"
#include "colourthread.h"
@@ -72,6 +70,12 @@
#include "codelite_events.h"
#include "clSTCLineKeeper.h"
#include "ColoursAndFontsManager.h"
+#include "wxCodeCompletionBoxManager.h"
+#include <wx/richtooltip.h> // wxRichToolTip
+#include "cc_box_tip_window.h"
+#include "clSTCLineKeeper.h"
+#include "clEditorStateLocker.h"
+//#include "clFileOrFolderDropTarget.h"
// fix bug in wxscintilla.h
#ifdef EVT_STC_CALLTIP_CLICK
@@ -137,7 +141,6 @@ EVT_COMMAND(wxID_ANY, wxEVT_FRD_BOOKMARKALL, LEditor::OnFindDialog)
EVT_COMMAND(wxID_ANY, wxEVT_FRD_CLOSE, LEditor::OnFindDialog)
EVT_COMMAND(wxID_ANY, wxEVT_FRD_CLEARBOOKMARKS, LEditor::OnFindDialog)
EVT_COMMAND(wxID_ANY, wxCMD_EVENT_REMOVE_MATCH_INDICATOR, LEditor::OnRemoveMatchInidicator)
-EVT_COMMAND(wxID_ANY, wxCMD_EVENT_SET_EDITOR_ACTIVE, LEditor::OnSetActive)
EVT_IDLE(LEditor::OnIdle)
END_EVENT_TABLE()
@@ -164,6 +167,7 @@ LEditor::LEditor(wxWindow* parent)
, m_autoAdjustHScrollbarWidth(true)
, m_reloadingFile(false)
, m_functionTip(NULL)
+ , m_calltip(NULL)
, m_lastCharEntered(0)
, m_lastCharEnteredPos(0)
, m_isFocused(true)
@@ -171,9 +175,14 @@ LEditor::LEditor(wxWindow* parent)
, m_positionToEnsureVisible(wxNOT_FOUND)
, m_findBookmarksActive(false)
, m_mgr(PluginManager::Get())
+ , m_hasCCAnnotation(false)
{
+ DoUpdateOptions();
+ EventNotifier::Get()->Bind(wxEVT_EDITOR_CONFIG_CHANGED, &LEditor::OnEditorConfigChanged, this);
m_commandsProcessor.SetParent(this);
+ // SetDropTarget(new clFileOrFolderDropTarget(clMainFrame::Get()->GetMainBook()));
+
// User timer to check if we need to highlight markers
m_timerHighlightMarkers = new wxTimer(this);
m_timerHighlightMarkers->Start(100, true);
@@ -226,6 +235,8 @@ LEditor::LEditor(wxWindow* parent)
LEditor::~LEditor()
{
+ EventNotifier::Get()->Unbind(wxEVT_EDITOR_CONFIG_CHANGED, &LEditor::OnEditorConfigChanged, this);
+
EventNotifier::Get()->Disconnect(
wxCMD_EVENT_ENABLE_WORD_HIGHLIGHT, wxCommandEventHandler(LEditor::OnHighlightWordChecked), NULL, this);
EventNotifier::Get()->Disconnect(
@@ -349,6 +360,7 @@ void LEditor::SetProperties()
CallTipSetBackground(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK));
CallTipSetForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT));
+ MarkerEnableHighlight(options->IsHighlightFoldWhenActive());
m_hightlightMatchedBraces = options->GetHighlightMatchedBraces();
m_autoAddMatchedCurlyBrace = options->GetAutoAddMatchedCurlyBraces();
@@ -403,12 +415,9 @@ void LEditor::SetProperties()
// Mark current line
SetCaretLineVisible(options->GetHighlightCaretLine());
SetCaretLineBackground(options->GetCaretLineColour());
- SetCaretLineBackAlpha(30);
-
- // MarkerSetAlpha(smt_bookmark, 30);
+ SetCaretLineBackAlpha(options->GetCaretLineAlpha());
SetFoldFlags(options->GetUnderlineFoldLine() ? 16 : 0);
-
SetEndAtLastLine(!options->GetScrollBeyondLastLine());
//------------------------------------------
@@ -577,25 +586,19 @@ void LEditor::SetProperties()
// turning off these two greatly improves performance
// on Mac
SetTwoPhaseDraw(true);
- SetBufferedDraw(false);
-
-// // Using BufferedDraw as 'false'
-// // improves performance *alot*, however
-// // the downside is that the word hightlight does
-// // not work...
-// // this is why we enable / disable it according to the "highlight word" toggle state
-// long highlightWord(1);
-// EditorConfigST::Get()->GetLongValue(wxT("highlight_word"), highlightWord);
-// SetBufferedDraw(highlightWord == 1 ? true : false);
-// //wxLogMessage("Buffered draw is set to %d", (int)highlightWord);
+ SetBufferedDraw(true);
+ SetLayoutCache(wxSTC_CACHE_DOCUMENT);
#elif defined(__WXGTK__)
SetTwoPhaseDraw(true);
SetBufferedDraw(false);
+ SetLayoutCache(wxSTC_CACHE_PAGE);
#else // MSW
SetTwoPhaseDraw(true);
SetBufferedDraw(true);
+ SetLayoutCache(wxSTC_CACHE_PAGE);
+
#endif
// indentation settings
@@ -613,8 +616,6 @@ void LEditor::SetProperties()
SetIndent(options->GetIndentWidth());
SetIndentationGuides(options->GetShowIndentationGuidelines() ? 3 : 0);
- SetLayoutCache(wxSTC_CACHE_PAGE);
-
size_t frame_flags = clMainFrame::Get()->GetFrameGeneralInfo().GetFlags();
SetViewEOL(frame_flags & CL_SHOW_EOL ? true : false);
@@ -632,9 +633,6 @@ void LEditor::SetProperties()
}
IndicatorSetForeground(1, options->GetBookmarkBgColour(smt_find_bookmark - smt_FIRST_BMK_TYPE));
-
- // Word highlight indicator
- IndicatorSetStyle(MARKER_WORD_HIGHLIGHT, wxSTC_INDIC_ROUNDBOX);
IndicatorSetUnder(MARKER_WORD_HIGHLIGHT, true);
IndicatorSetForeground(MARKER_WORD_HIGHLIGHT, col2);
long alpha = EditorConfigST::Get()->GetInteger(wxT("WordHighlightAlpha"));
@@ -703,8 +701,6 @@ void LEditor::OnSavePoint(wxStyledTextEvent& event)
void LEditor::OnCharAdded(wxStyledTextEvent& event)
{
- // Allways cancel the tip
- CodeCompletionBox::Get().CancelTip();
OptionsConfigPtr options = GetOptions();
if(m_prevSelectionInfo.IsOk()) {
if(event.GetKey() == '"' && options->IsWrapSelectionWithQuotes()) {
@@ -727,22 +723,6 @@ void LEditor::OnCharAdded(wxStyledTextEvent& event)
int pos = GetCurrentPos();
bool canShowCompletionBox(true);
-
- // get the word and select it in the completion box
- if(IsCompletionBoxShown()) {
- int start = WordStartPosition(pos, true);
- wxString word = GetTextRange(start, pos);
-
- if(word.IsEmpty()) {
- HideCompletionBox();
- } else {
- if(CodeCompletionBox::Get().SelectWord(word)) {
- canShowCompletionBox = false;
- HideCompletionBox();
- }
- }
- }
-
// make sure line is visible
int curLine = LineFromPosition(pos);
if(!GetFoldExpanded(curLine)) {
@@ -894,8 +874,7 @@ void LEditor::OnCharAdded(wxStyledTextEvent& event)
strTyped << charTyped;
strTyped2 << firstChar << charTyped;
- if((GetContext()->GetCompletionTriggerStrings().count(strTyped) ||
- GetContext()->GetCompletionTriggerStrings().count(strTyped2)) &&
+ if((GetContext()->IsStringTriggerCodeComplete(strTyped) || GetContext()->IsStringTriggerCodeComplete(strTyped2)) &&
!GetContext()->IsCommentOrString(GetCurrentPos())) {
// this char should trigger a code completion
CodeComplete();
@@ -981,9 +960,9 @@ void LEditor::OnScnPainted(wxStyledTextEvent& event)
if(m_positionToEnsureVisible == wxNOT_FOUND) {
return;
}
- CL_DEBUG1(wxString::Format(wxT("OnScnPainted: position = %i, preserveSelection = %s"),
- m_positionToEnsureVisible,
- m_preserveSelection ? wxT("true") : wxT("false")));
+ // CL_DEBUG1(wxString::Format(wxT("OnScnPainted: position = %i, preserveSelection = %s"),
+ // m_positionToEnsureVisible,
+ // m_preserveSelection ? wxT("true") : wxT("false")));
DoEnsureCaretIsVisible(m_positionToEnsureVisible, m_preserveSelection);
m_positionToEnsureVisible = wxNOT_FOUND;
}
@@ -1055,7 +1034,7 @@ void LEditor::OnSciUpdateUI(wxStyledTextEvent& event)
// update line number
wxString message;
- message << wxT("Ln ") << curLine + 1 << wxT(", Col ") << GetColumn(pos);
+ message << wxT("Ln ") << curLine + 1 << wxT(", Col ") << GetColumn(pos) << ", Pos " << pos;
// Always update the status bar with event, calling it directly causes performance degredation
m_mgr->GetStatusBar()->SetLinePosColumn(message);
@@ -1111,8 +1090,6 @@ void LEditor::OnMarginClick(wxStyledTextEvent& event)
bm = wxBitmap(wxImage(stop_xpm));
}
- // There'll probably be a tooltip from the marker. Kill it
- DoCancelCalltip();
// The breakpoint manager organises the actual drag/drop
BreakptMgr* bpm = ManagerST::Get()->GetBreakpointsMgr();
bpm->DragBreakpoint(this, nLine, bm);
@@ -1189,7 +1166,7 @@ bool LEditor::SaveFile()
if(!SaveToFile(m_fileName)) return false;
// if we managed to save the file, remove the 'read only' attribute
- clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this, false);
+ clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this);
// Take a snapshot of the current deltas. We'll need this as a 'base' for any future FindInFiles call
m_deltas->OnFileSaved();
@@ -1241,7 +1218,7 @@ bool LEditor::SaveFileAs()
// update syntax highlight
SetSyntaxHighlight();
- clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this, IsFileReadOnly(GetFileName()));
+ clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this);
return true;
}
return false;
@@ -1549,6 +1526,9 @@ void LEditor::OnDwellStart(wxStyledTextEvent& event)
wxPoint pt(ScreenToClient(wxGetMousePosition()));
wxRect clientRect = GetClientRect();
+ // Always cancel the previous tooltip...
+ DoCancelCodeCompletionBox();
+
for(int n = 0; n < FOLD_MARGIN_ID; ++n) {
margin += GetMarginWidth(n);
}
@@ -1561,31 +1541,34 @@ void LEditor::OnDwellStart(wxStyledTextEvent& event)
} else if(event.GetX() > 0 // It seems that we can get spurious events with x == 0
&&
event.GetX() < margin) {
+
// We can't use event.GetPosition() here, as in the margin it returns -1
int position = PositionFromPoint(wxPoint(event.GetX(), event.GetY()));
int line = LineFromPosition(position);
- wxString tooltip;
+ wxString tooltip, title;
wxString fname = GetFileName().GetFullPath();
if(MarkerGet(line) & mmt_all_breakpoints) {
- tooltip = ManagerST::Get()->GetBreakpointsMgr()->GetTooltip(fname, line + 1);
+ ManagerST::Get()->GetBreakpointsMgr()->GetTooltip(fname, line + 1, tooltip, title);
}
else if(MarkerGet(line) & mmt_all_bookmarks) {
- tooltip = GetBookmarkTooltip(line);
+ GetBookmarkTooltip(line, tooltip, title);
}
// Compiler marker takes precedence over any other tooltip on that margin
if((MarkerGet(line) & mmt_compiler) && m_compilerMessagesMap.count(line)) {
// Get the compiler tooltip
tooltip = m_compilerMessagesMap.find(line)->second;
+ if(MarkerGet(line) & (1 << smt_warning)) {
+ title = "<color=\"yellow\">WARNING</color>";
+ } else {
+ title = "<color=\"pink\">ERROR</color>";
+ }
}
- wxString tmpTip = tooltip;
- tmpTip.Trim().Trim(false);
-
- if(!tmpTip.IsEmpty()) {
- DoShowCalltip(-1, tooltip);
+ if(!title.IsEmpty() && !tooltip.IsEmpty()) {
+ DoShowCalltip(-1, title, tooltip);
}
} else if(ManagerST::Get()->DbgCanInteract() && clientRect.Contains(pt)) {
@@ -1614,6 +1597,7 @@ void LEditor::OnDwellEnd(wxStyledTextEvent& event)
evtTypeinfo.SetEventObject(this);
if(EventNotifier::Get()->ProcessEvent(evtTypeinfo)) return;
+ DoCancelCalltip();
m_context->OnDwellEnd(event);
m_context->OnDbgDwellEnd(event);
}
@@ -1847,6 +1831,9 @@ void LEditor::BraceMatch(long pos)
long endPos = wxStyledTextCtrl::BraceMatch(pos);
if(endPos != wxSTC_INVALID_POSITION) {
wxStyledTextCtrl::BraceHighlight(pos, endPos);
+#ifdef __WXMSW__
+ Refresh();
+#endif
if(GetIndentationGuides() != 0 && GetIndent() > 0) {
// Highlight indent guide if exist
indentCol =
@@ -2381,27 +2368,15 @@ void LEditor::ToggleTopmostFoldsInSelection()
}
}
-void LEditor::StoreCollapsedFoldsToArray(std::vector<int>& folds) const
+void LEditor::StoreCollapsedFoldsToArray(clEditorStateLocker::VecInt_t& folds) const
{
- for(int line = 0; line < GetLineCount(); ++line) {
- if((GetFoldLevel(line) & wxSTC_FOLDLEVELHEADERFLAG) && (GetFoldExpanded(line) == false)) {
- folds.push_back(line);
- }
- }
+ clEditorStateLocker::SerializeFolds(const_cast<wxStyledTextCtrl*>(static_cast<const wxStyledTextCtrl*>(this)),
+ folds);
}
-void LEditor::LoadCollapsedFoldsFromArray(const std::vector<int>& folds)
+void LEditor::LoadCollapsedFoldsFromArray(const clEditorStateLocker::VecInt_t& folds)
{
- for(size_t i = 0; i < folds.size(); ++i) {
- int line = folds.at(i);
- // 'line' was collapsed when serialised, so collapse it now. That assumes that the line-numbers haven't changed
- // in the meanwhile.
- // If we cared enough, we could have saved a fold-level too, and/or the function name +/- the line's
- // displacement within the function. But for now...
- if(GetFoldLevel(line) & wxSTC_FOLDLEVELHEADERFLAG) {
- ToggleFold(line);
- }
- }
+ clEditorStateLocker::ApplyFolds(GetCtrl(), folds);
}
//----------------------------------------------
@@ -2441,33 +2416,12 @@ bool LEditor::LineIsMarked(enum marker_mask_type mask)
void LEditor::StoreMarkersToArray(wxArrayString& bookmarks)
{
- for(int line = 0; (line = MarkerNext(line, mmt_all_bookmarks)) >= 0; ++line) {
- for(int type = smt_FIRST_BMK_TYPE; type <= smt_LAST_BMK_TYPE; ++type) {
- int mask = (1 << type);
- if(MarkerGet(line) & mask) {
- // We need to serialise both the line and BM type. To keep things simple in sessionmanager, just merge
- // their strings
- bookmarks.Add(wxString::Format("%d:%d", line, type));
- }
- }
- }
+ clEditorStateLocker::SerializeBookmarks(GetCtrl(), bookmarks);
}
void LEditor::LoadMarkersFromArray(const wxArrayString& bookmarks)
{
- for(size_t i = 0; i < bookmarks.GetCount(); i++) {
- // Unless this is an old file, each bookmark will have been stored in the form: "linenumber:type"
- wxString lineno = bookmarks.Item(i).BeforeFirst(':');
- long bmt = smt_bookmark1;
- wxString type = bookmarks.Item(i).AfterFirst(':');
- if(!type.empty()) {
- type.ToLong(&bmt);
- }
- long line = 0;
- if(lineno.ToLong(&line)) {
- MarkerAdd(line, bmt);
- }
- }
+ clEditorStateLocker::ApplyBookmarks(GetCtrl(), bookmarks);
}
void LEditor::DelAllMarkers(int which_type)
@@ -2712,36 +2666,30 @@ void LEditor::OnChangeActiveBookmarkType(wxCommandEvent& event)
clMainFrame::Get()->SelectBestEnvSet(); // Updates the statusbar display
}
-wxString LEditor::GetBookmarkTooltip(const int lineno)
+void LEditor::GetBookmarkTooltip(int lineno, wxString& tip, wxString& title)
{
- wxString active, others;
-
+ title << "<b>Bookmarks</b>";
// If we've arrived here we know there's a bookmark on the line; however we don't know which type(s)
// If multiple, list each, with the visible one first
int linebits = MarkerGet(lineno);
if(linebits & GetActiveBookmarkMask()) {
wxString label = GetBookmarkLabel((sci_marker_types)GetActiveBookmarkType());
wxString suffix = label.Lower().Contains("bookmark") ? "" : " bookmark";
- active = "<b>" + label + suffix + "</b>";
+ tip << label << suffix;
}
for(int bmt = smt_FIRST_BMK_TYPE; bmt <= smt_LAST_BMK_TYPE; ++bmt) {
if(bmt != GetActiveBookmarkType()) {
if(linebits & (1 << bmt)) {
- if(!others.empty()) {
- others << "\n";
+ if(!tip.empty()) {
+ tip << "\n";
}
wxString label = GetBookmarkLabel((sci_marker_types)bmt);
wxString suffix = label.Lower().Contains("bookmark") ? "" : " bookmark";
- others << label << suffix << "";
+ tip << label << suffix;
}
}
}
-
- if(!active.empty() && !others.empty()) {
- active << "\n<hr>";
- }
- return active + others;
}
void LEditor::ReloadFile()
@@ -2749,8 +2697,8 @@ void LEditor::ReloadFile()
wxWindowUpdateLocker locker(this);
SetReloadingFile(true);
- HideCompletionBox();
DoCancelCalltip();
+ GetFunctionTip()->Deactivate();
if(m_fileName.GetFullPath().IsEmpty() == true || !m_fileName.FileExists()) {
SetEOLMode(GetEOLByOS());
@@ -2758,13 +2706,8 @@ void LEditor::ReloadFile()
return;
}
- clSTCLineKeeper lk(static_cast<wxStyledTextCtrl*>(this));
- // Store a 'template' of the current file, so that it can be reapplied after
- wxArrayString bookmarks;
- StoreMarkersToArray(bookmarks);
-
- std::vector<int> folds;
- StoreCollapsedFoldsToArray(folds);
+ // State locker (on dtor it restores: bookmarks, current line, breakpoints and folds)
+ clEditorStateLocker stateLocker(GetCtrl());
int lineNumber = GetCurrentLine();
m_mgr->GetStatusBar()->SetMessage(_("Loading file..."));
@@ -2784,9 +2727,6 @@ void LEditor::ReloadFile()
EmptyUndoBuffer();
GetCommandsProcessor().Reset();
- // remove breakpoints belongs to this file
- DelAllBreakpointMarkers();
-
UpdateColours();
SetEOL();
@@ -2797,7 +2737,7 @@ void LEditor::ReloadFile()
SetEnsureCaretIsVisible(PositionFromLine(lineNumber));
// mark read only files
- clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this, IsFileReadOnly(GetFileName()));
+ clMainFrame::Get()->GetMainBook()->MarkEditorReadOnly(this);
SetReloadingFile(false);
// Notify that a file has been loaded into the editor
@@ -2807,18 +2747,12 @@ void LEditor::ReloadFile()
SetProperty(wxT("lexer.cpp.track.preprocessor"), wxT("0"));
SetProperty(wxT("lexer.cpp.update.preprocessor"), wxT("0"));
-
- // Now restore as far as possible the look'n'feel of the file
- ManagerST::Get()->GetBreakpointsMgr()->RefreshBreakpointsForEditor(this);
- LoadMarkersFromArray(bookmarks);
- LoadCollapsedFoldsFromArray(folds);
m_mgr->GetStatusBar()->SetMessage(_("Ready"));
}
void LEditor::SetEditorText(const wxString& text)
{
wxWindowUpdateLocker locker(this);
- HideCompletionBox();
SetText(text);
// remove breakpoints belongs to this file
@@ -2892,37 +2826,39 @@ void LEditor::OnContextMenu(wxContextMenuEvent& event)
{
wxString selectText = GetSelectedText();
wxPoint pt = event.GetPosition();
- wxPoint clientPt = ScreenToClient(pt);
-
- // If the right-click is in the margin, provide a different context menu: bookmarks/breakpts
- int margin = 0;
- for(int n = 0; n < FOLD_MARGIN_ID; ++n) { // Assume a click anywhere to the left of the fold margin is for markers
- margin += GetMarginWidth(n);
- }
- if(clientPt.x < margin) {
- GotoPos(PositionFromPoint(clientPt));
- DoBreakptContextMenu(clientPt);
- return;
- }
+ if(pt != wxDefaultPosition) { // Analyze position only for mouse-originated events
+ wxPoint clientPt = ScreenToClient(pt);
+
+ // If the right-click is in the margin, provide a different context menu: bookmarks/breakpts
+ int margin = 0;
+ for(int n = 0; n < FOLD_MARGIN_ID;
+ ++n) { // Assume a click anywhere to the left of the fold margin is for markers
+ margin += GetMarginWidth(n);
+ }
+ if(clientPt.x < margin) {
+ GotoPos(PositionFromPoint(clientPt));
+ DoBreakptContextMenu(clientPt);
+ return;
+ }
- int closePos = PositionFromPointClose(clientPt.x, clientPt.y);
- if(closePos != wxNOT_FOUND) {
- if(!selectText.IsEmpty()) {
- // If the selection text is placed under the cursor,
- // keep it selected, else, unselect the text
- // and place the caret to be under cursor
- int selStart = GetSelectionStart();
- int selEnd = GetSelectionEnd();
- if(closePos < selStart || closePos > selEnd) {
- // cursor is not over the selected text, unselect and re-position caret
+ int closePos = PositionFromPointClose(clientPt.x, clientPt.y);
+ if(closePos != wxNOT_FOUND) {
+ if(!selectText.IsEmpty()) {
+ // If the selection text is placed under the cursor,
+ // keep it selected, else, unselect the text
+ // and place the caret to be under cursor
+ int selStart = GetSelectionStart();
+ int selEnd = GetSelectionEnd();
+ if(closePos < selStart || closePos > selEnd) {
+ // cursor is not over the selected text, unselect and re-position caret
+ SetCaretAt(closePos);
+ }
+ } else {
+ // no selection, just place the caret
SetCaretAt(closePos);
}
- } else {
- // no selection, just place the caret
- SetCaretAt(closePos);
}
}
-
// Let the plugins handle this event first
wxCommandEvent contextMenuEvent(wxEVT_CMD_EDITOR_CONTEXT_MENU, GetId());
contextMenuEvent.SetEventObject(this);
@@ -2964,7 +2900,8 @@ void LEditor::OnContextMenu(wxContextMenuEvent& event)
void LEditor::OnKeyDown(wxKeyEvent& event)
{
// always cancel the tip
- CodeCompletionBox::Get().CancelTip();
+ DoCancelCodeCompletionBox();
+
m_prevSelectionInfo.Clear();
if(HasSelection()) {
for(int i = 0; i < GetSelections(); ++i) {
@@ -3022,59 +2959,6 @@ void LEditor::OnKeyDown(wxKeyEvent& event)
escapeUsed = true;
}
- if(IsCompletionBoxShown()) {
- switch(event.GetKeyCode()) {
- case WXK_NUMPAD_ENTER:
- case WXK_RETURN:
- case WXK_TAB:
- CodeCompletionBox::Get().InsertSelection();
- HideCompletionBox();
- return;
-
- case WXK_ESCAPE:
- case WXK_LEFT:
- case WXK_RIGHT:
- case WXK_HOME:
- case WXK_END:
- case WXK_DELETE:
- case WXK_NUMPAD_DELETE:
- HideCompletionBox();
- return;
- case WXK_UP:
- CodeCompletionBox::Get().Previous();
- return;
- case WXK_DOWN:
- CodeCompletionBox::Get().Next();
- return;
- case WXK_PAGEUP:
- CodeCompletionBox::Get().PreviousPage();
- return;
- case WXK_PAGEDOWN:
- CodeCompletionBox::Get().NextPage();
- return;
- case WXK_BACK: {
-
- if(event.ControlDown()) {
- HideCompletionBox();
- } else {
-
- wxString word = GetWordAtCaret();
- if(word.IsEmpty()) {
- HideCompletionBox();
- } else {
- word.RemoveLast();
- if(CodeCompletionBox::Get().SelectWord(word)) {
- HideCompletionBox();
- }
- }
- }
- break;
- }
- default:
- break;
- }
- }
-
// If we've not already used ESC, there's a reasonable chance that the user wants to close the QuickFind bar
if(event.GetKeyCode() == WXK_ESCAPE && !escapeUsed) {
clMainFrame::Get()->GetMainBook()->ShowQuickBar(
@@ -3109,6 +2993,10 @@ void LEditor::OnFocusLost(wxFocusEvent& event)
{
m_isFocused = false;
event.Skip();
+ if(HasCapture()) {
+ CL_DEBUG("Releasing the mouse...");
+ ReleaseMouse();
+ }
}
void LEditor::OnRightDown(wxMouseEvent& event)
@@ -3154,8 +3042,7 @@ void LEditor::OnLeftDown(wxMouseEvent& event)
HighlightWord(false);
// hide completion box
- HideCompletionBox();
- CodeCompletionBox::Get().CancelTip();
+ DoCancelCalltip();
GetFunctionTip()->Deactivate();
if(ManagerST::Get()->GetDebuggerTip()->IsShown()) {
@@ -3627,29 +3514,17 @@ void LEditor::OnDragEnd(wxStyledTextEvent& e)
e.Skip();
}
-void LEditor::ShowCompletionBox(const std::vector<TagEntryPtr>& tags,
- const wxString& word,
- bool autoRefreshList,
- wxEvtHandler* owner)
-{
- if(tags.empty()) {
- return;
- }
- CodeCompletionBox::Get().Display(this, tags, word, autoRefreshList, owner);
-}
-
void LEditor::ShowCompletionBox(const std::vector<TagEntryPtr>& tags, const wxString& word)
{
if(tags.empty()) {
return;
}
- bool autoRefresh = !(tags.at(0)->GetKind() == wxT("cpp_keyword"));
- CodeCompletionBox::Get().Display(this, tags, word, autoRefresh, NULL);
+ // When using this method, use an automated refresh completion box
+ wxCodeCompletionBoxManager::Get().ShowCompletionBox(
+ this, tags, wxCodeCompletionBox::kRefreshOnKeyType, wxNOT_FOUND);
}
-void LEditor::HideCompletionBox() { CodeCompletionBox::Get().Hide(); }
-
int LEditor::GetCurrLineHeight()
{
int point = GetCurrentPos();
@@ -3681,7 +3556,9 @@ int LEditor::GetCurrLineHeight()
void LEditor::DoHighlightWord()
{
wxString word = GetSelectedText();
- if(word.IsEmpty()) {
+ wxString selectedTextTrimmed = word;
+ selectedTextTrimmed.Trim().Trim(false);
+ if(selectedTextTrimmed.IsEmpty()) {
return;
}
@@ -3767,7 +3644,7 @@ void LEditor::OnLeftDClick(wxStyledTextEvent& event)
event.Skip();
}
-bool LEditor::IsCompletionBoxShown() { return CodeCompletionBox::Get().IsShown(); }
+bool LEditor::IsCompletionBoxShown() { return wxCodeCompletionBoxManager::Get().IsShown(); }
int LEditor::GetCurrentLine()
{
@@ -3912,11 +3789,6 @@ int LEditor::GetLexerId() { return GetLexer(); }
int LEditor::GetStyleAtPos(int pos) { return GetStyleAt(pos); }
-void LEditor::RegisterImageForKind(const wxString& kind, const wxBitmap& bmp)
-{
- CodeCompletionBox::Get().RegisterImage(kind, bmp);
-}
-
int LEditor::WordStartPos(int pos, bool onlyWordCharacters)
{
return wxStyledTextCtrl::WordStartPosition(pos, onlyWordCharacters);
@@ -4075,23 +3947,33 @@ void LEditor::OnDbgJumpToCursor(wxCommandEvent& event)
}
}
-void LEditor::DoShowCalltip(int pos, const wxString& tip)
+void LEditor::DoShowCalltip(int pos, const wxString& title, const wxString& tip)
{
- CodeCompletionBox::Get().CancelTip();
+ DoCancelCalltip();
+ wxPoint pt;
+ wxString tooltip;
+ tooltip << title;
+ tooltip.Trim().Trim(false);
+ if(!tooltip.IsEmpty()) {
+ tooltip << "\n<hr>";
+ }
+ tooltip << tip;
+ m_calltip = new CCBoxTipWindow(this, tooltip);
if(pos == wxNOT_FOUND) {
- CodeCompletionBox::Get().ShowTip(tip, wxGetMousePosition(), this);
-
+ pt = ::wxGetMousePosition();
} else {
- CodeCompletionBox::Get().ShowTip(tip, this);
+ pt = PointFromPosition(pos);
}
+
+ // Place the tip on top of the mouse position, not under it
+ pt.y -= m_calltip->GetSize().GetHeight();
+ m_calltip->PositionAt(pt, this);
}
void LEditor::DoCancelCalltip()
{
- CodeCompletionBox::Get().CancelTip();
CallTipCancel();
- GetFunctionTip()->Deactivate();
- m_context->OnCalltipCancel();
+ DoCancelCodeCompletionBox();
}
int LEditor::DoGetOpenBracePos()
@@ -4165,6 +4047,12 @@ void LEditor::OnChange(wxStyledTextEvent& event)
bool isUndo = event.GetModificationType() & wxSTC_PERFORMED_UNDO;
bool isRedo = event.GetModificationType() & wxSTC_PERFORMED_REDO;
+ // Remove any code completion annotations if we have some...
+ if(m_hasCCAnnotation) {
+ CallAfter(&LEditor::AnnotationClearAll);
+ m_hasCCAnnotation = false;
+ }
+
// Notify about this editor being changed
clCommandEvent eventMod(wxEVT_EDITOR_MODIFIED);
eventMod.SetFileName(GetFileName().GetFullPath());
@@ -4446,17 +4334,15 @@ wxMenu* LEditor::DoCreateDebuggerWatchMenu(const wxString& word)
return menu;
}
-OptionsConfigPtr LEditor::GetOptions()
+void LEditor::DoUpdateOptions()
{
// Start by getting the global settings
- OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
+ m_options = EditorConfigST::Get()->GetOptions();
// Now let any local preferences overwrite the global equivalent
if(ManagerST::Get()->IsWorkspaceOpen()) {
- LocalWorkspaceST::Get()->GetOptions(options, GetProject());
+ LocalWorkspaceST::Get()->GetOptions(m_options, GetProject());
}
-
- return options;
}
bool LEditor::ReplaceAllExactMatch(const wxString& what, const wxString& replaceWith)
@@ -4552,12 +4438,6 @@ wxString LEditor::GetTextRange(int startPos, int endPos) { return wxStyledTextCt
void LEditor::DelayedSetActive() { CallAfter(&LEditor::SetActive); }
-void LEditor::OnSetActive(wxCommandEvent& e)
-{
- wxUnusedVar(e);
- SetActive();
-}
-
void LEditor::OnFocus(wxFocusEvent& event)
{
m_isFocused = true;
@@ -4651,10 +4531,8 @@ size_t LEditor::GetCodeNavModifier()
{
size_t mod = wxMOD_NONE;
if(GetOptions()->GetOptions() & OptionsConfig::Opt_NavKey_Alt) mod |= wxMOD_ALT;
-
if(GetOptions()->GetOptions() & OptionsConfig::Opt_NavKey_Control) mod |= wxMOD_CONTROL;
-
- if(GetOptions()->GetOptions() & OptionsConfig::Opt_NavKey_Shift) mod |= wxMOD_SHIFT;
+ if(GetOptions()->GetOptions() & OptionsConfig::Opt_NavKey_Shift) mod |= wxMOD_ALT;
return mod;
}
@@ -4768,7 +4646,7 @@ wxString LEditor::GetWordAtMousePointer()
}
}
-void LEditor::ShowRichTooltip(const wxString& tip, int pos) { DoShowCalltip(pos, tip); }
+void LEditor::ShowRichTooltip(const wxString& tip, const wxString& title, int pos) { DoShowCalltip(pos, title, tip); }
wxString LEditor::GetFirstSelection()
{
@@ -4853,15 +4731,11 @@ void LEditor::OnTimer(wxTimerEvent& event)
m_timerHighlightMarkers->Start(100, true);
if(!HasFocus()) return;
- CL_DEBUG1("Inside LEditor::OnTimer. File: %s", GetFileName().GetFullPath());
-
if(!HasSelection()) {
- CL_DEBUG1("No selection - nothing to do here");
HighlightWord(false);
} else {
if(EditorConfigST::Get()->GetInteger("highlight_word") == 1) {
-
int pos = GetCurrentPos();
int wordStartPos = WordStartPos(pos, true);
int wordEndPos = WordEndPos(pos, true);
@@ -4912,9 +4786,14 @@ void LEditor::SplitSelection()
}
ClearSelections();
- for(int i = selLineStart; i < selLineEnd; ++i) {
- int caretPos = PositionBefore(LineEnd(i)); // We use PositionBefore here, because LineEnd
- // includes the EOL as well
+ for(int i = selLineStart; i <= selLineEnd; ++i) {
+ int caretPos;
+ if(i != GetLineCount() - 1) {
+ // Normally use PositionBefore as LineEnd includes the EOL as well
+ caretPos = PositionBefore(LineEnd(i));
+ } else {
+ caretPos = LineEnd(i); // but it seems not for the last line of the doc
+ }
if(i == selLineStart) {
// first selection
SetSelection(caretPos, caretPos);
@@ -4944,6 +4823,141 @@ void LEditor::CenterLine(int line, int col)
SetCaretAt(pos);
}
+void LEditor::OnEditorConfigChanged(wxCommandEvent& event)
+{
+ event.Skip();
+ DoUpdateOptions();
+ SetProperties();
+}
+
+void LEditor::ConvertIndentToSpaces()
+{
+ clSTCLineKeeper lk(GetCtrl());
+ bool useTabs = GetUseTabs();
+ SetUseTabs(false);
+ int lineCount = GetLineCount();
+ for(int i = 0; i < lineCount; ++i) {
+ int indentStart = PositionFromLine(i);
+ int indentEnd = GetLineIndentPosition(i);
+ int lineIndentSize = GetLineIndentation(i);
+
+ if(indentEnd > indentStart) {
+ // this line have indentation
+ // delete it
+ DeleteRange(indentStart, indentEnd - indentStart);
+ SetLineIndentation(i, lineIndentSize);
+ }
+ }
+ SetUseTabs(useTabs);
+}
+
+void LEditor::ConvertIndentToTabs()
+{
+ clSTCLineKeeper lk(GetCtrl());
+ bool useTabs = GetUseTabs();
+ SetUseTabs(true);
+ int lineCount = GetLineCount();
+ for(int i = 0; i < lineCount; ++i) {
+ int indentStart = PositionFromLine(i);
+ int indentEnd = GetLineIndentPosition(i);
+ int lineIndentSize = GetLineIndentation(i);
+
+ if(indentEnd > indentStart) {
+ // this line have indentation
+ // delete it
+ DeleteRange(indentStart, indentEnd - indentStart);
+ SetLineIndentation(i, lineIndentSize);
+ }
+ }
+ SetUseTabs(useTabs);
+}
+
+void LEditor::DoCancelCodeCompletionBox()
+{
+ if(m_calltip) {
+ m_calltip->Hide();
+ m_calltip->Destroy();
+ m_calltip = NULL;
+ }
+}
+
+void LEditor::SetCodeCompletionAnnotation(const wxString& text, int lineno)
+{
+ AnnotationClearAll();
+ m_hasCCAnnotation = true;
+ AnnotationSetText(lineno, text);
+ AnnotationSetStyle(lineno, ANNOTATION_STYLE_CC_ERROR);
+}
+
+int LEditor::GetFirstSingleLineCommentPos(int from, int commentStyle)
+{
+ int lineNu = LineFromPos(from);
+ int lastPos = from + LineLength(lineNu);
+ for(int i = from; from < lastPos; ++i) {
+ if(GetStyleAt(i) == commentStyle) {
+ return i;
+ }
+ }
+ return wxNOT_FOUND;
+}
+
+void LEditor::ToggleLineComment(const wxString& commentSymbol, int commentStyle)
+{
+ int start = GetSelectionStart();
+ int end = GetSelectionEnd();
+ if(LineFromPosition(PositionBefore(end)) != LineFromPosition(end)) {
+ end = std::max(start, PositionBefore(end));
+ }
+
+ bool doingComment = GetStyleAt(start) != commentStyle;
+
+ int line_start = LineFromPosition(start);
+ int line_end = LineFromPosition(end);
+
+ BeginUndoAction();
+ for(; line_start <= line_end; line_start++) {
+ start = PositionFromLine(line_start);
+ if(doingComment) {
+ InsertText(start, commentSymbol);
+
+ } else {
+ int firstCommentPos = GetFirstSingleLineCommentPos(start, commentStyle);
+ if(firstCommentPos != wxNOT_FOUND) {
+ if(GetStyleAt(firstCommentPos) == commentStyle) {
+ SetAnchor(firstCommentPos);
+ SetCurrentPos(PositionAfter(PositionAfter(firstCommentPos)));
+ DeleteBackNotLine();
+ }
+ }
+ }
+ }
+ EndUndoAction();
+
+ SetCaretAt(PositionFromLine(line_end + 1));
+ ChooseCaretX();
+}
+
+void LEditor::CommentBlockSelection(const wxString& commentBlockStart, const wxString& commentBlockEnd)
+{
+ int start = GetSelectionStart();
+ int end = GetSelectionEnd();
+ if(LineFromPosition(PositionBefore(end)) != LineFromPosition(end)) {
+ end = PositionBefore(end);
+ }
+ if(start == end) return;
+
+ SetCurrentPos(end);
+
+ BeginUndoAction();
+ InsertText(end, commentBlockEnd);
+ InsertText(start, commentBlockStart);
+ EndUndoAction();
+
+ CharRight();
+ CharRight();
+ ChooseCaretX();
+}
+
// ----------------------------------
// SelectionInfo
// ----------------------------------
diff --git a/LiteEditor/cl_editor.h b/LiteEditor/cl_editor.h
index 53a47cd1..02d76acd 100644
--- a/LiteEditor/cl_editor.h
+++ b/LiteEditor/cl_editor.h
@@ -45,6 +45,7 @@
#include "cl_defs.h"
#include "bookmark_manager.h"
#include "cl_unredo.h"
+#include "clEditorStateLocker.h"
#define DEBUGGER_INDICATOR 11
#define MATCH_INDICATOR 10
@@ -52,6 +53,7 @@
#define USER_INDICATOR 3
#define HYPERLINK_INDICATOR 4
+class CCBoxTipWindow;
class IManager;
class wxFindReplaceDialog;
class CCBox;
@@ -169,7 +171,7 @@ private:
{
return ctrl->PositionFromLine(ctrl->GetFirstVisibleLine()) == m_firstOffset && m_hasMarkers;
}
-
+
// setters/getters
void SetFirstOffset(int firstOffset) { this->m_firstOffset = firstOffset; }
void SetHasMarkers(bool hasMarkers) { this->m_hasMarkers = hasMarkers; }
@@ -208,6 +210,7 @@ protected:
bool m_disableSmartIndent;
bool m_disableSemicolonShift;
clEditorTipWindow* m_functionTip;
+ CCBoxTipWindow* m_calltip;
wxChar m_lastCharEntered;
int m_lastCharEnteredPos;
bool m_isFocused;
@@ -222,16 +225,19 @@ protected:
wxString m_preProcessorsWords;
SelectionInfo m_prevSelectionInfo;
MarkWordInfo m_highlightedWordInfo;
- wxTimer *m_timerHighlightMarkers;
+ wxTimer* m_timerHighlightMarkers;
IManager* m_mgr;
+ OptionsConfigPtr m_options;
+ bool m_hasCCAnnotation;
+
public:
static bool m_ccShowPrivateMembers;
static bool m_ccShowItemsComments;
static bool m_ccInitialized;
typedef std::vector<LEditor*> Vec_t;
-
+
IManager* GetManager() { return m_mgr; }
-
+
public:
static FindReplaceData& GetFindReplaceData() { return m_findReplaceData; }
@@ -260,13 +266,13 @@ public:
// Save content of the editor to a given file (Save As...)
// this function prompts the user for selecting file name
bool SaveFileAs();
-
- /**
+
+ /**
* @brief split the current selection into multiple carets.
- * i.e. place a caret at the end of each line in the selection
+ * i.e. place a caret at the end of each line in the selection
*/
void SplitSelection();
-
+
void SetDisableSmartIndent(bool disableSmartIndent) { this->m_disableSmartIndent = disableSmartIndent; }
bool GetDisableSmartIndent() const { return m_disableSmartIndent; }
@@ -295,16 +301,28 @@ public:
const wxString& GetProject() const { return m_project; }
// Set the project name
void SetProject(const wxString& proj) { m_project = proj; }
-
- /**
- * @brief attempt to code complete the expression up until the caret position
+
+ /**
+ * @brief attempt to code complete the expression up until the caret position
* @param refreshingList when set to true, it means that the 'CodeComplete' was invoked
* by the code completion box itself in attempt to request new items for the list
* This feature is only supported internally for C++ and is not exposed to plugins
- * i.e. the event wxEVT_CC_CODE_COMPLETE is fired only when refreshingList == false
+ * i.e. the event wxEVT_CC_CODE_COMPLETE is fired only when refreshingList == false
*/
void CodeComplete(bool refreshingList = false);
-
+
+ /**
+ * @brief toggle line comment
+ * @param commentSymbol the comment symbol to insert (e.g. "//")
+ * @param commentStyle the wxSTC line comment style
+ */
+ virtual void ToggleLineComment(const wxString& commentSymbol, int commentStyle);
+
+ /**
+ * @brief block comment the selection
+ */
+ virtual void CommentBlockSelection(const wxString& commentBlockStart, const wxString& commentBlockEnd);
+
// User clicked Ctrl+.
void GotoDefinition();
@@ -385,12 +403,22 @@ public:
* marker (warning or error)
*/
bool HasCompilerMarkers();
-
- /**
- * @brief center the line in the editor
- */
+
+ /**
+ * @brief center the line in the editor
+ */
void CenterLine(int line, int col = wxNOT_FOUND);
-
+
+ /**
+ * @brief convert the editor indentation to spaces
+ */
+ void ConvertIndentToSpaces();
+
+ /**
+ * @brief convert the editor indentation to tabs
+ */
+ void ConvertIndentToTabs();
+
// Is there currently a marker at the current line?
bool LineIsMarked(enum marker_mask_type mask);
// Toggle marker at the current line
@@ -440,7 +468,7 @@ public:
/**
* Returns a tooltip for the most significant bookmark on the passed line
*/
- wxString GetBookmarkTooltip(const int lineno);
+ void GetBookmarkTooltip(int lineno, wxString& tip, wxString& title);
// Replace all
bool ReplaceAll();
@@ -466,11 +494,11 @@ public:
/**
* Load collapsed folds from a vector
*/
- void LoadCollapsedFoldsFromArray(const std::vector<int>& folds);
+ void LoadCollapsedFoldsFromArray(const clEditorStateLocker::VecInt_t& folds);
/**
* Store any collapsed folds to a vector, so they can be serialised
*/
- void StoreCollapsedFoldsToArray(std::vector<int>& folds) const;
+ void StoreCollapsedFoldsToArray(clEditorStateLocker::VecInt_t& folds) const;
static FindReplaceDialog* GetFindReplaceDialog() { return m_findReplaceDlg; }
@@ -614,9 +642,10 @@ public:
virtual void SetWarningMarker(int lineno, const wxString& annotationText);
virtual void SetErrorMarker(int lineno, const wxString& annotationText);
virtual void DelAllCompilerMarkers();
-
- void DoShowCalltip(int pos, const wxString& tip);
+
+ void DoShowCalltip(int pos, const wxString& title, const wxString& tip);
void DoCancelCalltip();
+ void DoCancelCodeCompletionBox();
int DoGetOpenBracePos();
//----------------------------------
@@ -648,35 +677,11 @@ public:
void ShowCompletionBox(const std::vector<TagEntryPtr>& tags, const wxString& word);
/**
- * @brief displays teh code completion box. Unlike the previous metho, this method accepts owner and sends an event
- * once selection is made
- * @param tags list if tags to display
- * @param word part of the word
- * @param owner event handler to be notified once a selection is made
- */
- virtual void ShowCompletionBox(const std::vector<TagEntryPtr>& tags,
- const wxString& word,
- bool autoRefreshList,
- wxEvtHandler* owner);
-
- /**
- * @brief register new user image fot TagEntry kind
- * @param kind the kind string that will be associated with the bitmap (TagEntry::GetKind())
- * @param bmp 16x16 bitmap
- */
- virtual void RegisterImageForKind(const wxString& kind, const wxBitmap& bmp);
-
- /**
* @brief return true if the completion box is visible
*/
virtual bool IsCompletionBoxShown();
/**
- * @brief hide the completion box if it is active.
- */
- virtual void HideCompletionBox();
-
- /**
* @brief highlight the word where the cursor is at
* @param highlight
*/
@@ -694,7 +699,15 @@ public:
* Implemetation for IEditor interace
*--------------------------------------------------
*/
- virtual wxStyledTextCtrl* GetSTC() { return static_cast<wxStyledTextCtrl*>(this); }
+ virtual wxStyledTextCtrl* GetCtrl() { return static_cast<wxStyledTextCtrl*>(this); }
+
+ /**
+ * @brief set a code completion annotation at the given line. code completion
+ * annotations are automatically cleared on the next char added
+ * @param text
+ * @param lineno
+ */
+ virtual void SetCodeCompletionAnnotation(const wxString& text, int lineno);
virtual wxString GetEditorText() { return GetText(); }
virtual void SetEditorText(const wxString& text);
@@ -806,11 +819,11 @@ public:
bool IsDetached() const;
/**
- * @brief display a rich tooltip (a tip that supports basic markup, such as <a></a>, <strong></strong> etc)
+ * @brief display a rich tooltip (title + tip)
* @param tip tip text
- * @param pos position for the tip. If wxNOT_FOUND the tip is positioned at the mouse
+ * @param pos position for the tip. If wxNOT_FOUND the tip is positioned at mouse cursor position
*/
- void ShowRichTooltip(const wxString& tip, int pos = wxNOT_FOUND);
+ void ShowRichTooltip(const wxString& tip, const wxString& title, int pos = wxNOT_FOUND);
/**
* @brief return the first selection (in case there are multiple selections enabled)
@@ -823,7 +836,7 @@ public:
/**
* Get editor options. Takes any workspace/project overrides into account
*/
- OptionsConfigPtr GetOptions();
+ OptionsConfigPtr GetOptions() { return m_options; }
void SetIsVisible(const bool& isVisible) { this->m_isVisible = isVisible; }
const bool& GetIsVisible() const { return m_isVisible; }
@@ -849,7 +862,9 @@ public:
private:
void DoUpdateTLWTitle(bool raise);
void DoWrapPrevSelectionWithChars(wxChar first, wxChar last);
-
+ void DoUpdateOptions();
+ int GetFirstSingleLineCommentPos(int from, int commentStyle);
+
void FillBPtoMarkerArray();
BPtoMarker GetMarkerForBreakpt(enum BreakpointType bp_type);
void SetProperties();
@@ -907,10 +922,10 @@ private:
void OnDragStart(wxStyledTextEvent& e);
void OnDragEnd(wxStyledTextEvent& e);
void DoSetCaretAt(long pos);
- void OnSetActive(wxCommandEvent& e);
void OnFileFormatDone(wxCommandEvent& e);
void OnFileFormatStarting(wxCommandEvent& e);
void OnTimer(wxTimerEvent& event);
+ void OnEditorConfigChanged(wxCommandEvent& event);
};
#endif // LITEEDITOR_EDITOR_H
diff --git a/LiteEditor/clang_code_completion.cpp b/LiteEditor/clang_code_completion.cpp
index 00c1050d..022af46c 100644
--- a/LiteEditor/clang_code_completion.cpp
+++ b/LiteEditor/clang_code_completion.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : clang_code_completion.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : clang_code_completion.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#if HAS_LIBCLANG
#include "clang_code_completion.h"
@@ -54,31 +54,46 @@
#include "manager.h"
#include <memory>
-#define CHECK_CLANG_ENABLED_RET() if(!(TagsManagerST::Get()->GetCtagsOptions().GetClangOptions() & CC_CLANG_ENABLED)) return;
+#define CHECK_CLANG_ENABLED_RET() \
+ if(!(TagsManagerST::Get()->GetCtagsOptions().GetClangOptions() & CC_CLANG_ENABLED)) return;
ClangCodeCompletion* ClangCodeCompletion::ms_instance = 0;
ClangCodeCompletion::ClangCodeCompletion()
: m_allEditorsAreClosing(false)
{
- EventNotifier::Get()->Connect(wxEVT_ACTIVE_EDITOR_CHANGED, wxCommandEventHandler(ClangCodeCompletion::OnFileLoaded), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_FILE_SAVED, clCommandEventHandler(ClangCodeCompletion::OnFileSaved), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_ALL_EDITORS_CLOSING, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosing), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosed ), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_BUILD_STARTING, clBuildEventHandler(ClangCodeCompletion::OnBuildStarting), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_BUILD_ENDED, clBuildEventHandler(ClangCodeCompletion::OnBuildEnded), NULL, this);
- EventNotifier::Get()->Connect(wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnWorkspaceClosed), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_ACTIVE_EDITOR_CHANGED, wxCommandEventHandler(ClangCodeCompletion::OnFileLoaded), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_FILE_SAVED, clCommandEventHandler(ClangCodeCompletion::OnFileSaved), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_ALL_EDITORS_CLOSING, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosing), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosed), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_BUILD_STARTING, clBuildEventHandler(ClangCodeCompletion::OnBuildStarting), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_BUILD_ENDED, clBuildEventHandler(ClangCodeCompletion::OnBuildEnded), NULL, this);
+ EventNotifier::Get()->Connect(
+ wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnWorkspaceClosed), NULL, this);
}
ClangCodeCompletion::~ClangCodeCompletion()
{
- EventNotifier::Get()->Disconnect(wxEVT_ACTIVE_EDITOR_CHANGED, wxCommandEventHandler(ClangCodeCompletion::OnFileLoaded), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_FILE_SAVED, clCommandEventHandler(ClangCodeCompletion::OnFileSaved), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_ALL_EDITORS_CLOSING, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosing), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosed ), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_BUILD_STARTING, clBuildEventHandler(ClangCodeCompletion::OnBuildStarting), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_BUILD_ENDED, clBuildEventHandler(ClangCodeCompletion::OnBuildEnded), NULL, this);
- EventNotifier::Get()->Disconnect(wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnWorkspaceClosed), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_ACTIVE_EDITOR_CHANGED, wxCommandEventHandler(ClangCodeCompletion::OnFileLoaded), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_FILE_SAVED, clCommandEventHandler(ClangCodeCompletion::OnFileSaved), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_ALL_EDITORS_CLOSING, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosing), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnAllEditorsClosed), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_BUILD_STARTING, clBuildEventHandler(ClangCodeCompletion::OnBuildStarting), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_BUILD_ENDED, clBuildEventHandler(ClangCodeCompletion::OnBuildEnded), NULL, this);
+ EventNotifier::Get()->Disconnect(
+ wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(ClangCodeCompletion::OnWorkspaceClosed), NULL, this);
}
ClangCodeCompletion* ClangCodeCompletion::Instance()
@@ -97,15 +112,11 @@ void ClangCodeCompletion::Release()
ms_instance = 0;
}
-void ClangCodeCompletion::ClearCache()
-{
- m_clang.ClearCache();
-}
+void ClangCodeCompletion::ClearCache() { m_clang.ClearCache(); }
void ClangCodeCompletion::CodeComplete(IEditor* editor)
{
- if(m_clang.IsBusy())
- return;
+ if(m_clang.IsBusy()) return;
m_clang.SetContext(CTX_CodeCompletion);
m_clang.CodeCompletion(editor);
@@ -125,8 +136,7 @@ void ClangCodeCompletion::CancelCodeComplete()
void ClangCodeCompletion::Calltip(IEditor* editor)
{
- if(m_clang.IsBusy())
- return;
+ if(m_clang.IsBusy()) return;
m_clang.SetContext(CTX_Calltip);
m_clang.CodeCompletion(editor);
@@ -143,14 +153,11 @@ void ClangCodeCompletion::OnFileLoaded(wxCommandEvent& e)
CL_DEBUG(wxT("ClangCodeCompletion::OnFileLoaded() ENDED"));
return;
}
- if(e.GetClientData()) {
- IEditor *editor = (IEditor*)e.GetClientData();
+ if(::clGetManager()->GetActiveEditor()) {
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
// sanity
- if(editor->GetProjectName().IsEmpty() || editor->GetFileName().GetFullName().IsEmpty())
- return;
-
- if(!TagsManagerST::Get()->IsValidCtagsFile(editor->GetFileName()))
- return;
+ if(editor->GetProjectName().IsEmpty() || editor->GetFileName().GetFullName().IsEmpty()) return;
+ if(!TagsManagerST::Get()->IsValidCtagsFile(editor->GetFileName())) return;
m_clang.SetContext(CTX_CachePCH);
m_clang.CodeCompletion(editor);
@@ -171,15 +178,11 @@ void ClangCodeCompletion::OnAllEditorsClosing(wxCommandEvent& e)
m_allEditorsAreClosing = true;
}
-bool ClangCodeCompletion::IsCacheEmpty()
-{
- return m_clang.IsCacheEmpty();
-}
+bool ClangCodeCompletion::IsCacheEmpty() { return m_clang.IsCacheEmpty(); }
void ClangCodeCompletion::WordComplete(IEditor* editor)
{
- if(m_clang.IsBusy())
- return;
+ if(m_clang.IsBusy()) return;
m_clang.SetContext(CTX_WordCompletion);
m_clang.CodeCompletion(editor);
}
@@ -189,17 +192,16 @@ void ClangCodeCompletion::OnFileSaved(clCommandEvent& e)
e.Skip();
CHECK_CLANG_ENABLED_RET();
- if( TagsManagerST::Get()->GetCtagsOptions().GetFlags() & ::CC_DISABLE_AUTO_PARSING) {
+ if(TagsManagerST::Get()->GetCtagsOptions().GetFlags() & ::CC_DISABLE_AUTO_PARSING) {
CL_DEBUG(wxT("ClangCodeCompletion::OnFileSaved: Auto-parsing of saved files is disabled"));
return;
}
// Incase a file has been saved, we need to reparse its translation unit
- wxFileName fn( e.GetString() );
- if(!TagsManagerST::Get()->IsValidCtagsFile(fn))
- return;
+ wxFileName fn(e.GetString());
+ if(!TagsManagerST::Get()->IsValidCtagsFile(fn)) return;
- m_clang.ReparseFile( fn.GetFullPath() );
+ m_clang.ReparseFile(fn.GetFullPath());
}
void ClangCodeCompletion::OnBuildEnded(clBuildEvent& e)
@@ -230,30 +232,29 @@ void ClangCodeCompletion::OnBuildStarting(clBuildEvent& e)
::wxSetEnv(wxT("CL_COMPILATION_DB"), cdb.GetFileName().GetFullPath());
// If this is NOT a custom project, set the CXX and CC environment
- wxString project = e.GetProjectName();
- wxString config = e.GetConfigurationName();
-
+ wxString project = e.GetProjectName();
+ wxString config = e.GetConfigurationName();
+
BuildConfigPtr bldConf = WorkspaceST::Get()->GetProjBuildConf(project, config);
- if( bldConf && !bldConf->IsCustomBuild()) {
+ if(bldConf && !bldConf->IsCustomBuild()) {
wxString cxx = bldConf->GetCompiler()->GetTool(wxT("CXX"));
- wxString cc = bldConf->GetCompiler()->GetTool(wxT("CC"));
-
+ wxString cc = bldConf->GetCompiler()->GetTool(wxT("CC"));
+
// CMake does not handle backslahses pretty well...
cxx.Replace("\\", "/");
cc.Replace("\\", "/");
-
+
cxx.Prepend(wxT("codelite-cc "));
cc.Prepend(wxT("codelite-cc "));
-
+
::wxSetEnv("CXX", cxx);
- ::wxSetEnv("CC" , cc);
+ ::wxSetEnv("CC", cc);
}
}
void ClangCodeCompletion::GotoDeclaration(IEditor* editor)
{
- if(m_clang.IsBusy())
- return;
+ if(m_clang.IsBusy()) return;
m_clang.SetContext(CTX_GotoDecl);
m_clang.CodeCompletion(editor);
@@ -261,17 +262,16 @@ void ClangCodeCompletion::GotoDeclaration(IEditor* editor)
void ClangCodeCompletion::GotoImplementation(IEditor* editor)
{
- if(m_clang.IsBusy())
- return;
+ if(m_clang.IsBusy()) return;
m_clang.SetContext(CTX_GotoImpl);
m_clang.CodeCompletion(editor);
}
-void ClangCodeCompletion::OnWorkspaceClosed(wxCommandEvent& e)
+void ClangCodeCompletion::OnWorkspaceClosed(wxCommandEvent& e)
{
e.Skip();
- ClearCache();
-}
+ ClearCache();
+}
#endif // HAS_LIBCLANG
diff --git a/LiteEditor/clang_driver.cpp b/LiteEditor/clang_driver.cpp
index f34316d3..038c3e95 100644
--- a/LiteEditor/clang_driver.cpp
+++ b/LiteEditor/clang_driver.cpp
@@ -30,7 +30,6 @@
#include "compilation_database.h"
#include "pluginmanager.h"
#include <wx/regex.h>
-#include "code_completion_box.h"
#include "clangpch_cache.h"
#include "asyncprocess.h"
#include "frame.h"
@@ -62,6 +61,7 @@
#include "browse_record.h"
#include "mainbook.h"
#include "macromanager.h"
+#include "wxCodeCompletionBoxManager.h"
static bool wxIsWhitespace(wxChar ch)
{
@@ -220,12 +220,6 @@ ClangThreadRequest* ClangDriver::DoMakeClangThreadRequest(IEditor* editor, Worki
void ClangDriver::CodeCompletion(IEditor* editor)
{
if(m_isBusy) {
- if(editor) {
- CodeCompletionBox::Get().CancelTip();
- CodeCompletionBox::Get().ShowTip(
- wxT("<b>clang: </b>Code Completion Message:<hr>A lengthy operation is in progress..."),
- dynamic_cast<LEditor*>(m_activeEditor));
- }
return;
}
@@ -364,12 +358,16 @@ FileTypeCmpArgs_t ClangDriver::DoPrepareCompilationArgs(const wxString& projectN
cCompileArgs.Add(wxString::Format(wxT("-D%s"), workspaceMacros.Item(i).Trim().Trim(false).c_str()));
}
- // C++ 11
+ // C++ 11 / 14
size_t workspaceFlags = LocalWorkspaceST::Get()->GetParserFlags();
if(workspaceFlags & LocalWorkspace::EnableCpp11) {
cppCompileArgs.Add(wxT("-std=c++11"));
cCompileArgs.Add(wxT("-std=c++11"));
}
+ if(workspaceFlags & LocalWorkspace::EnableCpp14) {
+ cppCompileArgs.Add(wxT("-std=c++14"));
+ cCompileArgs.Add(wxT("-std=c++14"));
+ }
///////////////////////////////////////////////////////////////////////
// Project setting additional flags
@@ -401,6 +399,10 @@ FileTypeCmpArgs_t ClangDriver::DoPrepareCompilationArgs(const wxString& projectN
cppCompileArgs.Add(wxT("-std=c++11"));
cCompileArgs.Add(wxT("-std=c++11"));
}
+ if(buildConf->IsClangC14()) {
+ cppCompileArgs.Add(wxT("-std=c++14"));
+ cCompileArgs.Add(wxT("-std=c++14"));
+ }
}
cppCompileArgs.insert(cppCompileArgs.end(), args.begin(), args.end());
@@ -577,6 +579,7 @@ void ClangDriver::OnPrepareTUEnded(wxCommandEvent& e)
// Notify about this error
clCommandEvent event(wxEVT_CLANG_CODE_COMPLETE_MESSAGE);
event.SetString(reply->errorMessage);
+ event.SetInt(1); // indicates that this is an error message
EventNotifier::Get()->AddPendingEvent(event);
return;
}
@@ -641,7 +644,7 @@ void ClangDriver::OnPrepareTUEnded(wxCommandEvent& e)
tag->SetSignature(entrySignature);
// Add support for clang comment parsing
-#ifndef __FreeBSD__
+#if HAS_LIBCLANG_BRIEFCOMMENTS
CXString BriefComment = clang_getCompletionBriefComment(str);
const char* comment = clang_getCString(BriefComment);
if(comment && comment[0] != '\0') {
@@ -708,7 +711,8 @@ void ClangDriver::OnPrepareTUEnded(wxCommandEvent& e)
m_activeEditor->ShowCalltip(new clCallTip(tips));
} else {
- m_activeEditor->ShowCompletionBox(tags, filterWord, true, NULL);
+ wxCodeCompletionBoxManager::Get().ShowCompletionBox(
+ m_activeEditor->GetCtrl(), tags, wxCodeCompletionBox::kNone, wxNOT_FOUND);
}
}
@@ -814,9 +818,6 @@ ClangThreadRequest::List_t ClangDriver::DoCreateListOfModifiedBuffers(IEditor* e
return modifiedBuffers;
}
-void ClangDriver::DoDeleteTempFile(const wxString& fileName)
-{
- wxUnusedVar(fileName);
-}
+void ClangDriver::DoDeleteTempFile(const wxString& fileName) { wxUnusedVar(fileName); }
#endif // HAS_LIBCLANG
diff --git a/LiteEditor/clang_pch_maker_thread.cpp b/LiteEditor/clang_pch_maker_thread.cpp
index 5ea0a89b..5e746983 100644
--- a/LiteEditor/clang_pch_maker_thread.cpp
+++ b/LiteEditor/clang_pch_maker_thread.cpp
@@ -50,9 +50,14 @@ const wxEventType wxEVT_CLANG_PCH_CACHE_ENDED = XRCID("clang_pch_cache_ended");
const wxEventType wxEVT_CLANG_PCH_CACHE_CLEARED = XRCID("clang_pch_cache_cleared");
const wxEventType wxEVT_CLANG_TU_CREATE_ERROR = XRCID("clang_pch_create_error");
-ClangWorkerThread::ClangWorkerThread() { clang_toggleCrashRecovery(1); }
+ClangWorkerThread::ClangWorkerThread()
+{
+ clang_toggleCrashRecovery(1);
+}
-ClangWorkerThread::~ClangWorkerThread() {}
+ClangWorkerThread::~ClangWorkerThread()
+{
+}
void ClangWorkerThread::ProcessRequest(ThreadRequest* request)
{
@@ -154,7 +159,7 @@ void ClangWorkerThread::ProcessRequest(ThreadRequest* request)
usf.GetUnsavedFiles(),
usf.GetCount(),
clang_defaultCodeCompleteOptions()
-#ifndef __FreeBSD__
+#if HAS_LIBCLANG_BRIEFCOMMENTS
|
CXCodeComplete_IncludeBriefComments
#endif
@@ -236,8 +241,8 @@ void ClangWorkerThread::ProcessRequest(ThreadRequest* request)
// Failed to reparse
cr.SetCancelled(true); // cancel the re-caching of the TU
- DoSetStatusMsg(wxString::Format("clang: clang_reparseTranslationUnit '%s' failed\n",
- cacheEntry.sourceFile));
+ DoSetStatusMsg(
+ wxString::Format("clang: clang_reparseTranslationUnit '%s' failed\n", cacheEntry.sourceFile));
clang_disposeTranslationUnit(TU);
wxDELETE(reply);
@@ -245,8 +250,8 @@ void ClangWorkerThread::ProcessRequest(ThreadRequest* request)
return;
}
- DoSetStatusMsg(wxString::Format("clang: clang_reparseTranslationUnit '%s' - done\n",
- cacheEntry.sourceFile));
+ DoSetStatusMsg(
+ wxString::Format("clang: clang_reparseTranslationUnit '%s' - done\n", cacheEntry.sourceFile));
// Update the 'lastReparse' field
cacheEntry.lastReparse = time(NULL);
}
@@ -371,8 +376,8 @@ char** ClangWorkerThread::MakeCommandLine(ClangThreadRequest* req, int& argc, Fi
void ClangWorkerThread::DoSetStatusMsg(const wxString& msg)
{
- clCommandEvent event(wxEVT_CLANG_CODE_COMPLETE_MESSAGE);
- wxString sMsg = msg;
+ clCommandEvent event(wxEVT_CLANG_CODE_COMPLETE_MESSAGE);
+ wxString sMsg = msg;
sMsg.Trim().Append("\n");
event.SetString(sMsg);
EventNotifier::Get()->AddPendingEvent(event);
@@ -434,11 +439,14 @@ CXTranslationUnit ClangWorkerThread::DoCreateTU(CXIndex index, ClangThreadReques
// First time, need to create it
unsigned flags;
if(reparse) {
- flags = CXTranslationUnit_CXXPrecompiledPreamble | CXTranslationUnit_CacheCompletionResults |
- CXTranslationUnit_PrecompiledPreamble | CXTranslationUnit_Incomplete |
- CXTranslationUnit_DetailedPreprocessingRecord | CXTranslationUnit_CXXChainedPCH;
+ flags = CXTranslationUnit_CacheCompletionResults | CXTranslationUnit_PrecompiledPreamble |
+ CXTranslationUnit_Incomplete | CXTranslationUnit_DetailedPreprocessingRecord |
+ CXTranslationUnit_CXXChainedPCH;
} else {
- flags = CXTranslationUnit_Incomplete | CXTranslationUnit_SkipFunctionBodies |
+ flags = CXTranslationUnit_Incomplete |
+#if HAS_LIBCLANG_BRIEFCOMMENTS
+ CXTranslationUnit_SkipFunctionBodies |
+#endif
CXTranslationUnit_DetailedPreprocessingRecord;
}
diff --git a/LiteEditor/clsplashscreen.cpp b/LiteEditor/clsplashscreen.cpp
index fa9ba7db..ee41eb65 100644
--- a/LiteEditor/clsplashscreen.cpp
+++ b/LiteEditor/clsplashscreen.cpp
@@ -24,9 +24,14 @@
//////////////////////////////////////////////////////////////////////////////
#include "clsplashscreen.h"
+#include <wx/dcmemory.h>
+#include <wx/settings.h>
+extern wxString CODELITE_VERSION_STR;
-clSplashScreen::clSplashScreen(bool& flag,
- const wxBitmap& bitmap,
+clSplashScreen* clSplashScreen::g_splashScreen = NULL;
+bool clSplashScreen::g_destroyed = false;
+
+clSplashScreen::clSplashScreen(const wxBitmap& bitmap,
long splashStyle,
int milliseconds,
wxWindow* parent,
@@ -35,7 +40,6 @@ clSplashScreen::clSplashScreen(bool& flag,
const wxSize& size,
long style)
: wxSplashScreen(bitmap, splashStyle, milliseconds, parent, id, pos, size, style)
- , m_flag(flag)
{
Bind(wxEVT_CLOSE_WINDOW, &clSplashScreen::OnCloseWindow, this);
}
@@ -43,8 +47,39 @@ clSplashScreen::clSplashScreen(bool& flag,
void clSplashScreen::OnCloseWindow(wxCloseEvent& event)
{
// mark the splash as "destroyed" so we won't destroy it again later
- m_flag = true;
+ g_destroyed = true;
event.Skip();
}
clSplashScreen::~clSplashScreen() {}
+
+wxBitmap clSplashScreen::CreateSplashScreenBitmap(const wxBitmap& origBmp)
+{
+ wxBitmap bmp;
+ wxMemoryDC memDC;
+
+ bmp = wxBitmap(origBmp.GetWidth(), origBmp.GetHeight());
+ memDC.SelectObject(bmp);
+ memDC.SetBrush(wxColour(63, 80, 24));
+ memDC.SetPen(wxColour(63, 80, 24));
+ memDC.DrawRectangle(0, 0, origBmp.GetWidth(), origBmp.GetHeight());
+ memDC.DrawBitmap(origBmp, 0, 0, true);
+ memDC.SetPen(*wxWHITE);
+ memDC.SetBrush(*wxTRANSPARENT_BRUSH);
+ memDC.DrawRectangle(0, 0, origBmp.GetWidth(), origBmp.GetHeight());
+
+ wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ font.SetPointSize(14);
+ font.SetWeight(wxFONTWEIGHT_BOLD);
+
+ memDC.SetFont(font);
+ wxString versionString;
+ versionString << "v" << CODELITE_VERSION_STR;
+ wxSize textSize = memDC.GetTextExtent(versionString);
+ wxCoord textx, texty;
+ textx = (bmp.GetWidth() - textSize.GetWidth()) - 5;
+ texty = 5;
+ memDC.DrawText(versionString, textx, texty);
+ memDC.SelectObject(wxNullBitmap);
+ return bmp;
+}
diff --git a/LiteEditor/clsplashscreen.h b/LiteEditor/clsplashscreen.h
index e8c6327a..ae84a3b9 100644
--- a/LiteEditor/clsplashscreen.h
+++ b/LiteEditor/clsplashscreen.h
@@ -35,9 +35,8 @@
class clSplashScreen : public wxSplashScreen
{
- bool& m_flag;
public:
- clSplashScreen(bool& flag, const wxBitmap& bitmap,
+ clSplashScreen(const wxBitmap& bitmap,
long splashStyle,
int milliseconds,
wxWindow* parent,
@@ -47,6 +46,9 @@ public:
long style = SPLASH_STYLE);
virtual ~clSplashScreen();
void OnCloseWindow(wxCloseEvent& event);
+ static wxBitmap CreateSplashScreenBitmap(const wxBitmap& origBmp);
+ static clSplashScreen* g_splashScreen;
+ static bool g_destroyed;
};
#endif // CLSPLASHSCREEN_H
diff --git a/LiteEditor/code_completion_box.cpp b/LiteEditor/code_completion_box.cpp
deleted file mode 100644
index f83f42ff..00000000
--- a/LiteEditor/code_completion_box.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : code_completion_box.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-#include "code_completion_box.h"
-#include "cc_box.h"
-#include "ctags_manager.h"
-#include "cc_box_tip_window.h"
-#include "code_completion_manager.h"
-
-CodeCompletionBox::CodeCompletionBox()
- : m_ccBox(NULL)
- , m_tip(NULL)
-{
-}
-
-CodeCompletionBox::~CodeCompletionBox() {}
-
-CodeCompletionBox& CodeCompletionBox::Get()
-{
- static CodeCompletionBox mgr;
- return mgr;
-}
-
-void CodeCompletionBox::Display(LEditor* editor,
- const TagEntryPtrVector_t& tags,
- const wxString& word,
- bool autoRefreshList,
- wxEvtHandler* owner)
-{
- if(!m_ccBox) {
- DoCreateBox(editor);
- }
-
- if(!CodeCompletionManager::Get().GetWordCompletionRefreshNeeded()) {
- if(m_ccBox) {
- Hide();
- }
- DoCreateBox(editor);
- } else {
-
- // turn off the flag
- if(!m_ccBox) {
- CodeCompletionManager::Get().SetWordCompletionRefreshNeeded(false);
- return;
- }
- }
-
- m_ccBox->Show(tags, word, autoRefreshList, owner);
- // Show takes into account the return value of 'GetWordCompletionRefreshNeeded'
- // this is why we reset the flag *after* the call to Show(..)
- CodeCompletionManager::Get().SetWordCompletionRefreshNeeded(false);
- this->CallAfter(&CodeCompletionBox::FocusEditor, editor);
-}
-
-void CodeCompletionBox::Hide()
-{
- if(m_ccBox) {
- // Cancel the calltip as well
- CancelTip();
- m_ccBox->Destroy();
- }
- m_ccBox = NULL;
-}
-
-bool CodeCompletionBox::IsShown() const { return m_ccBox && m_ccBox->IsShown(); }
-
-bool CodeCompletionBox::SelectWord(const wxString& word)
-{
- if(IsShown()) {
- return m_ccBox->SelectWord(word);
- } else {
- return false;
- }
-}
-
-void CodeCompletionBox::InsertSelection()
-{
- if(IsShown()) {
- m_ccBox->InsertSelection();
- }
-}
-
-void CodeCompletionBox::Next()
-{
- if(IsShown()) {
- m_ccBox->Next();
- }
-}
-
-void CodeCompletionBox::NextPage()
-{
- if(IsShown()) {
- m_ccBox->NextPage();
- }
-}
-
-void CodeCompletionBox::Previous()
-{
- if(IsShown()) {
- m_ccBox->Previous();
- }
-}
-
-void CodeCompletionBox::PreviousPage()
-{
- if(IsShown()) {
- m_ccBox->PreviousPage();
- }
-}
-
-void CodeCompletionBox::CancelTip()
-{
- if(m_tip) {
- m_tip->Destroy();
- m_tip = NULL;
- }
-}
-
-void CodeCompletionBox::ShowTip(const wxString& msg, LEditor* editor)
-{
- CancelTip();
-
- if(!editor) return;
-
- wxPoint pt = editor->PointFromPosition(editor->GetCurrentPos());
- wxPoint displayPt = editor->ClientToScreen(pt);
-
- // Dont display the tip if it displays outside of the
- // editor client area
- wxRect editorRect = editor->GetScreenRect();
- if(editorRect.Contains(displayPt) == false) {
- return;
- }
-
- m_tip = new CCBoxTipWindow(::wxGetTopLevelParent(editor), msg, 1, true);
- m_tip->PositionAt(displayPt);
-}
-
-void CodeCompletionBox::ShowTip(const wxString& msg, const wxPoint& pt, LEditor* editor)
-{
- CancelTip();
- if(!editor) return;
-
- wxPoint p = pt;
- p.y += 16; // Place it under the cursor
-
- // Dont display the tip if it displays outside of the
- // editor client area
- wxRect editorRect = editor->GetScreenRect();
- if(editorRect.Contains(p) == false) {
- return;
- }
-
- m_tip = new CCBoxTipWindow(::wxGetTopLevelParent(editor), msg, 1, true);
- m_tip->PositionAt(p);
-}
-
-void CodeCompletionBox::RegisterImage(const wxString& kind, const wxBitmap& bmp)
-{
- // sanity
- if(bmp.IsOk() == false || kind.IsEmpty()) return;
-
- BitmapMap_t::iterator iter = m_bitmaps.find(kind);
- if(iter != m_bitmaps.end()) {
- m_bitmaps.erase(iter);
- }
- m_bitmaps.insert(std::make_pair(kind, bmp));
-}
-
-void CodeCompletionBox::DoCreateBox(LEditor* editor)
-{
- m_ccBox =
- new CCBox(editor, false, TagsManagerST::Get()->GetCtagsOptions().GetFlags() & CC_AUTO_INSERT_SINGLE_CHOICE);
- BitmapMap_t::const_iterator iter = m_bitmaps.begin();
- for(; iter != m_bitmaps.end(); ++iter) {
- m_ccBox->RegisterImageForKind(iter->first, iter->second);
- }
-}
-
-void CodeCompletionBox::FocusEditor(LEditor* editor) { editor->SetActive(); }
diff --git a/LiteEditor/code_completion_box.h b/LiteEditor/code_completion_box.h
deleted file mode 100644
index 3772d1b8..00000000
--- a/LiteEditor/code_completion_box.h
+++ /dev/null
@@ -1,90 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : code_completion_box.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef CODECOMPLETIONBOX_H
-#define CODECOMPLETIONBOX_H
-
-#include "cl_editor.h"
-#include <wx/event.h>
-#include <wx/bitmap.h>
-
-class CCBoxTipWindow;
-class CCBox;
-class CodeCompletionBox : public wxEvtHandler
-{
- typedef std::map<wxString, wxBitmap> BitmapMap_t;
-
- CCBox* m_ccBox;
- CCBoxTipWindow* m_tip;
- BitmapMap_t m_bitmaps;
-
-private:
- CodeCompletionBox();
-
-protected:
- void DoCreateBox(LEditor* editor);
- void FocusEditor(LEditor* editor);
-
-public:
- virtual ~CodeCompletionBox();
- static CodeCompletionBox& Get();
-
- void Display(LEditor* editor,
- const TagEntryPtrVector_t& tags,
- const wxString& word,
- bool autoRefreshList,
- wxEvtHandler* owner = NULL);
- void Hide();
- bool IsShown() const;
- bool SelectWord(const wxString& word);
- void InsertSelection();
- void Previous();
- void Next();
- void PreviousPage();
- void NextPage();
- /**
- * @brief display a tooltip at the caret position of the editor
- */
- void ShowTip(const wxString& msg, LEditor* editor);
-
- /**
- * @brief display a tooltip at a given point
- * 'pt' is in screen coordinates
- */
- void ShowTip(const wxString& msg, const wxPoint& pt, LEditor* editor);
-
- /**
- * @brief dismiss the last calltip shown
- */
- void CancelTip();
-
- /**
- * @brief add an additional image to the code completion box for a given
- * "kind"
- */
- void RegisterImage(const wxString& kind, const wxBitmap& bmp);
-};
-
-#endif // CODECOMPLETIONBOX_H
diff --git a/LiteEditor/code_completion_manager.cpp b/LiteEditor/code_completion_manager.cpp
index 28d468f3..66769420 100644
--- a/LiteEditor/code_completion_manager.cpp
+++ b/LiteEditor/code_completion_manager.cpp
@@ -52,13 +52,15 @@ struct EditorDimmerDisabler {
{
if(m_editor) {
m_editor->SetPreProcessorsWords("");
- m_editor->GetSTC()->SetProperty(wxT("lexer.cpp.track.preprocessor"), wxT("0"));
- m_editor->GetSTC()->SetProperty(wxT("lexer.cpp.update.preprocessor"), wxT("0"));
- m_editor->GetSTC()->Colourise(0, wxSTC_INVALID_POSITION);
+ m_editor->GetCtrl()->SetProperty(wxT("lexer.cpp.track.preprocessor"), wxT("0"));
+ m_editor->GetCtrl()->SetProperty(wxT("lexer.cpp.update.preprocessor"), wxT("0"));
+ m_editor->GetCtrl()->Colourise(0, wxSTC_INVALID_POSITION);
}
}
- ~EditorDimmerDisabler() {}
+ ~EditorDimmerDisabler()
+ {
+ }
};
CodeCompletionManager::CodeCompletionManager()
@@ -85,6 +87,8 @@ CodeCompletionManager::CodeCompletionManager()
EventNotifier::Get()->Connect(
wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(CodeCompletionManager::OnWorkspaceClosed), NULL, this);
+ EventNotifier::Get()->Bind(
+ wxEVT_ENVIRONMENT_VARIABLES_MODIFIED, &CodeCompletionManager::OnEnvironmentVariablesModified, this);
// Start the worker threads
m_preProcessorThread.Start();
m_usingNamespaceThread.Start();
@@ -111,6 +115,8 @@ CodeCompletionManager::~CodeCompletionManager()
EventNotifier::Get()->Disconnect(
wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(CodeCompletionManager::OnWorkspaceClosed), NULL, this);
wxTheApp->Unbind(wxEVT_ACTIVATE_APP, &CodeCompletionManager::OnAppActivated, this);
+ EventNotifier::Get()->Unbind(
+ wxEVT_ENVIRONMENT_VARIABLES_MODIFIED, &CodeCompletionManager::OnEnvironmentVariablesModified, this);
}
void CodeCompletionManager::WordCompletion(LEditor* editor, const wxString& expr, const wxString& word)
@@ -167,7 +173,8 @@ void CodeCompletionManager::DoClangWordCompletion(LEditor* editor)
{
#if HAS_LIBCLANG
DoUpdateOptions();
- if(GetOptions() & CC_CLANG_ENABLED) ClangCodeCompletion::Instance()->WordComplete(editor);
+ if(GetOptions() & CC_CLANG_ENABLED)
+ ClangCodeCompletion::Instance()->WordComplete(editor);
#else
wxUnusedVar(editor);
#endif
@@ -193,7 +200,8 @@ void CodeCompletionManager::DoClangCalltip(LEditor* editor)
{
#if HAS_LIBCLANG
DoUpdateOptions();
- if(GetOptions() & CC_CLANG_ENABLED) ClangCodeCompletion::Instance()->Calltip(editor);
+ if(GetOptions() & CC_CLANG_ENABLED)
+ ClangCodeCompletion::Instance()->Calltip(editor);
#else
wxUnusedVar(editor);
#endif
@@ -208,7 +216,8 @@ void CodeCompletionManager::Calltip(LEditor* editor,
bool res(false);
DoUpdateOptions();
- if(::IsCppKeyword(word)) return;
+ if(::IsCppKeyword(word))
+ return;
if(GetOptions() & CC_CTAGS_ENABLED) {
res = DoCtagsCalltip(editor, line, expr, text, word);
@@ -276,7 +285,8 @@ void CodeCompletionManager::ProcessMacros(LEditor* editor)
wxArrayString macros;
wxArrayString includePaths;
- if(!GetDefinitionsAndSearchPaths(editor, includePaths, macros)) return;
+ if(!GetDefinitionsAndSearchPaths(editor, includePaths, macros))
+ return;
// Queue this request in the worker thread
m_preProcessorThread.QueueFile(editor->GetFileName().GetFullPath(), macros, includePaths);
@@ -373,9 +383,15 @@ void CodeCompletionManager::DoUpdateCompilationDatabase()
ClangCompilationDbThreadST::Get()->AddFile(db.GetFileName().GetFullPath());
}
-void CodeCompletionManager::OnAppActivated(wxActivateEvent& e) { e.Skip(); }
+void CodeCompletionManager::OnAppActivated(wxActivateEvent& e)
+{
+ e.Skip();
+}
-void CodeCompletionManager::Release() { wxDELETE(ms_CodeCompletionManager); }
+void CodeCompletionManager::Release()
+{
+ wxDELETE(ms_CodeCompletionManager);
+}
void CodeCompletionManager::OnBuildStarted(clBuildEvent& e)
{
@@ -408,10 +424,10 @@ void CodeCompletionManager::OnParseThreadCollectedMacros(const wxArrayString& de
// its the same file that triggered the request, update its pre processor colouring
// turn off the macro colouring (until new set is arrived)
editor->SetPreProcessorsWords(macrosAsString);
- editor->GetSTC()->SetProperty(wxT("lexer.cpp.track.preprocessor"), wxT("1"));
- editor->GetSTC()->SetProperty(wxT("lexer.cpp.update.preprocessor"), wxT("1"));
- editor->GetSTC()->SetKeyWords(4, macrosAsString);
- editor->GetSTC()->Colourise(0, wxSTC_INVALID_POSITION);
+ editor->GetCtrl()->SetProperty(wxT("lexer.cpp.track.preprocessor"), wxT("1"));
+ editor->GetCtrl()->SetProperty(wxT("lexer.cpp.update.preprocessor"), wxT("1"));
+ editor->GetCtrl()->SetKeyWords(4, macrosAsString);
+ editor->GetCtrl()->Colourise(0, wxSTC_INVALID_POSITION);
CL_DEBUG("Updating editor colours...done");
}
}
@@ -471,6 +487,7 @@ void CodeCompletionManager::RefreshPreProcessorColouring()
void CodeCompletionManager::OnWorkspaceConfig(wxCommandEvent& event)
{
event.Skip();
+ Project::ClearBacktickCache();
RefreshPreProcessorColouring();
}
@@ -499,7 +516,8 @@ void CodeCompletionManager::ProcessUsingNamespace(LEditor* editor)
wxArrayString macros;
wxArrayString includePaths;
- if(!GetDefinitionsAndSearchPaths(editor, includePaths, macros)) return;
+ if(!GetDefinitionsAndSearchPaths(editor, includePaths, macros))
+ return;
wxUnusedVar(macros);
// Queue this request in the worker thread
@@ -513,11 +531,14 @@ bool CodeCompletionManager::GetDefinitionsAndSearchPaths(LEditor* editor,
// Sanity
CHECK_PTR_RET_FALSE(editor);
- if(editor->GetProjectName().IsEmpty()) return false;
- if(!WorkspaceST::Get()->IsOpen()) return false;
+ if(editor->GetProjectName().IsEmpty())
+ return false;
+ if(!WorkspaceST::Get()->IsOpen())
+ return false;
// Support only C/C++ files
- if(!FileExtManager::IsCxxFile(editor->GetFileName().GetFullName())) return false;
+ if(!FileExtManager::IsCxxFile(editor->GetFileName().GetFullName()))
+ return false;
// Get the file's project and get the build configuration settings
// for it
@@ -575,4 +596,12 @@ void CodeCompletionManager::OnWorkspaceClosed(wxCommandEvent& event)
{
event.Skip();
LanguageST::Get()->ClearAdditionalScopesCache();
+ Project::ClearBacktickCache();
+}
+
+void CodeCompletionManager::OnEnvironmentVariablesModified(clCommandEvent& event)
+{
+ event.Skip();
+ Project::ClearBacktickCache();
+ RefreshPreProcessorColouring();
}
diff --git a/LiteEditor/code_completion_manager.h b/LiteEditor/code_completion_manager.h
index 08a22385..3ce30d2b 100644
--- a/LiteEditor/code_completion_manager.h
+++ b/LiteEditor/code_completion_manager.h
@@ -73,6 +73,7 @@ protected:
void OnFileLoaded(clCommandEvent& event);
void OnWorkspaceConfig(wxCommandEvent& event);
void OnWorkspaceClosed(wxCommandEvent& event);
+ void OnEnvironmentVariablesModified(clCommandEvent &event);
public:
CodeCompletionManager();
diff --git a/LiteEditor/code_completion_page.cpp b/LiteEditor/code_completion_page.cpp
index 8a9cec18..a753655a 100644
--- a/LiteEditor/code_completion_page.cpp
+++ b/LiteEditor/code_completion_page.cpp
@@ -47,6 +47,7 @@ CodeCompletionPage::CodeCompletionPage(wxWindow *parent, int type)
m_textCtrlMacros->SetValue(macros );
m_checkBoxCpp11->SetValue( LocalWorkspaceST::Get()->GetParserFlags() & LocalWorkspace::EnableCpp11 );
+ m_checkBoxCpp14->SetValue( LocalWorkspaceST::Get()->GetParserFlags() & LocalWorkspace::EnableCpp14 );
}
}
@@ -77,6 +78,7 @@ void CodeCompletionPage::Save()
LocalWorkspaceST::Get()->SetParserMacros(GetMacros());
if ( m_checkBoxCpp11->IsChecked() ) flags |= LocalWorkspace::EnableCpp11;
+ if ( m_checkBoxCpp14->IsChecked() ) flags |= LocalWorkspace::EnableCpp14;
LocalWorkspaceST::Get()->SetParserFlags( flags );
LocalWorkspaceST::Get()->Flush();
diff --git a/LiteEditor/code_parser.rc b/LiteEditor/code_parser.rc
index 39b5af03..9ccfba86 100644
--- a/LiteEditor/code_parser.rc
+++ b/LiteEditor/code_parser.rc
@@ -30,12 +30,11 @@ aaaaa ICON "res/cubes.ico"
#else
1 24 "wx/msw/wx.manifest"
#endif
-
///////////////////////////////////////////////////////////////////////////////
// Version information
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 7,0,0,0
-PRODUCTVERSION 7,0,0,1
+FILEVERSION 8,0,0,0
+PRODUCTVERSION 8,0,0,1
FILEFLAGSMASK 0x3fL // VS_FFI_FILEFLAGSMASK
FILEFLAGS 0x0L // final version
FILEOS VOS_NT_WINDOWS32
@@ -49,14 +48,14 @@ FILESUBTYPE VFT2_UNKNOWN { // not used
VALUE "CompanyName", "The CodeLite Team"
VALUE "Developer", "Eran Ifrah"
VALUE "FileDescription", "CodeLite, an Open Source, free, cross platform IDE for C/C++/PHP"
- VALUE "FileVersion", "7.0.0"
+ VALUE "FileVersion", "8.0.0"
VALUE "InternalName", "CodeLite"
VALUE "LegalCopyright", "Copyright (C) 2007-2015 CodeLite Team"
VALUE "LegalTrademarks", "All rights reserved."
VALUE "OriginalFilename", "codelite.exe"
VALUE "PrivateBuild", ""
VALUE "ProductName", "CodeLite"
- VALUE "ProductVersion", "7.0.0"
+ VALUE "ProductVersion", "8.0.0"
VALUE "SpecialBuild", ""
VALUE "Support", "http://forums.codelite.org"
VALUE "Users", "Unlimited."
diff --git a/LiteEditor/configuration_manager_dlg.cpp b/LiteEditor/configuration_manager_dlg.cpp
index 03ef1d54..30b6b697 100644
--- a/LiteEditor/configuration_manager_dlg.cpp
+++ b/LiteEditor/configuration_manager_dlg.cpp
@@ -34,326 +34,321 @@
// Configuration Manager
//----------------------------------------------------------------------------
-static int wxStringCmpFunc(const wxString& item1, const wxString& item2)
-{
- return item1.CmpNoCase(item2);
-}
+static int wxStringCmpFunc(const wxString& item1, const wxString& item2) { return item1.CmpNoCase(item2); }
-ConfigurationManagerDlg::ConfigurationManagerDlg( wxWindow* parent )
- : ConfigManagerBaseDlg( parent )
- , m_dirty(false)
+ConfigurationManagerDlg::ConfigurationManagerDlg(wxWindow* parent)
+ : ConfigManagerBaseDlg(parent)
+ , m_dirty(false)
{
- PopulateConfigurations();
- InitDialog();
- CentreOnScreen();
- WindowAttrManager::Load(this, wxT("ConfigurationManagerDlg"), NULL);
+ PopulateConfigurations();
+ InitDialog();
+ CentreOnParent();
+ SetName("ConfigurationManagerDlg");
+ WindowAttrManager::Load(this);
}
-
-void ConfigurationManagerDlg::AddEntry(const wxString &projectName, const wxString &selectedConf)
+void ConfigurationManagerDlg::AddEntry(const wxString& projectName, const wxString& selectedConf)
{
- wxFlexGridSizer *mainSizer = dynamic_cast<wxFlexGridSizer*>(m_scrolledWindow->GetSizer());
- if (!mainSizer) return;
-
- wxArrayString choices;
- wxChoice *choiceConfig = new wxChoice( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices, 0 );
-
- // Get all configuration of the project
- ProjectSettingsPtr settings = ManagerST::Get()->GetProjectSettings(projectName);
- if (settings) {
- ProjectSettingsCookie cookie;
- BuildConfigPtr bldConf = settings->GetFirstBuildConfiguration(cookie);
- while (bldConf) {
- choiceConfig->Append(bldConf->GetName());
- bldConf = settings->GetNextBuildConfiguration(cookie);
- }
- }
- choiceConfig->Append(wxGetTranslation(clCMD_NEW));
- choiceConfig->Append(wxGetTranslation(clCMD_EDIT));
- ConnectChoice(choiceConfig, ConfigurationManagerDlg::OnConfigSelected);
- wxStaticText *text = new wxStaticText( m_scrolledWindow, wxID_ANY, projectName, wxDefaultPosition, wxDefaultSize, 0 );
-
- int where = choiceConfig->FindString(selectedConf);
- if (where == wxNOT_FOUND) {
- where = 0;
- }
- choiceConfig->SetSelection(where);
- mainSizer->Add(text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
- mainSizer->Add(choiceConfig, 1, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, 5);
-
- ConfigEntry entry;
- entry.project = projectName;
- entry.projectSettings = settings;
- entry.choiceControl = choiceConfig;
-
- m_projSettingsMap[choiceConfig->GetId()] = entry;
+ wxFlexGridSizer* mainSizer = dynamic_cast<wxFlexGridSizer*>(m_scrolledWindow->GetSizer());
+ if(!mainSizer) return;
+
+ wxArrayString choices;
+ wxChoice* choiceConfig = new wxChoice(m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices, 0);
+
+ // Get all configuration of the project
+ ProjectSettingsPtr settings = ManagerST::Get()->GetProjectSettings(projectName);
+ if(settings) {
+ ProjectSettingsCookie cookie;
+ BuildConfigPtr bldConf = settings->GetFirstBuildConfiguration(cookie);
+ while(bldConf) {
+ choiceConfig->Append(bldConf->GetName());
+ bldConf = settings->GetNextBuildConfiguration(cookie);
+ }
+ }
+ choiceConfig->Append(wxGetTranslation(clCMD_NEW));
+ choiceConfig->Append(wxGetTranslation(clCMD_EDIT));
+ ConnectChoice(choiceConfig, ConfigurationManagerDlg::OnConfigSelected);
+ wxStaticText* text = new wxStaticText(m_scrolledWindow, wxID_ANY, projectName, wxDefaultPosition, wxDefaultSize, 0);
+
+ int where = choiceConfig->FindString(selectedConf);
+ if(where == wxNOT_FOUND) {
+ where = 0;
+ }
+ choiceConfig->SetSelection(where);
+ mainSizer->Add(text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+ mainSizer->Add(choiceConfig, 1, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+ ConfigEntry entry;
+ entry.project = projectName;
+ entry.projectSettings = settings;
+ entry.choiceControl = choiceConfig;
+
+ m_projSettingsMap[choiceConfig->GetId()] = entry;
}
void ConfigurationManagerDlg::PopulateConfigurations()
{
- //popuplate the configurations
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- if (!matrix) {
- return;
- }
-
- wxFlexGridSizer *mainSizer = dynamic_cast<wxFlexGridSizer*>(m_scrolledWindow->GetSizer());
- if (!mainSizer) return;
-
- Freeze();
- mainSizer->Clear(true);
-
- m_projSettingsMap.clear();
-
- std::list<WorkspaceConfigurationPtr> configs = matrix->GetConfigurations();
- std::list<WorkspaceConfigurationPtr>::iterator iter = configs.begin();
-
- m_choiceConfigurations->Clear();
- for (; iter != configs.end(); iter++) {
- m_choiceConfigurations->Append((*iter)->GetName());
- }
-
- // append the 'New' & 'Delete' commands
- m_choiceConfigurations->Append(wxGetTranslation(clCMD_NEW));
- m_choiceConfigurations->Append(wxGetTranslation(clCMD_EDIT));
-
- int sel = m_choiceConfigurations->FindString(matrix->GetSelectedConfigurationName());
- if (sel != wxNOT_FOUND) {
- m_choiceConfigurations->SetSelection(sel);
- } else if (m_choiceConfigurations->GetCount() > 2) {
- m_choiceConfigurations->SetSelection(2);
- } else {
- m_choiceConfigurations->Append(_("Debug"));
- m_choiceConfigurations->SetSelection(2);
- }
-
- // keep the current workspace configuration
- m_currentWorkspaceConfiguration = m_choiceConfigurations->GetStringSelection();
-
- wxArrayString projects;
- ManagerST::Get()->GetProjectList(projects);
- projects.Sort(wxStringCmpFunc);
-
- for (size_t i=0; i<projects.GetCount(); i++) {
- wxString selConf = matrix->GetProjectSelectedConf(matrix->GetSelectedConfigurationName(), projects.Item(i));
- AddEntry(projects.Item(i), selConf);
- }
-
- Thaw();
- mainSizer->Fit(m_scrolledWindow);
- Layout();
-
+ // popuplate the configurations
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ if(!matrix) {
+ return;
+ }
+
+ wxFlexGridSizer* mainSizer = dynamic_cast<wxFlexGridSizer*>(m_scrolledWindow->GetSizer());
+ if(!mainSizer) return;
+
+ Freeze();
+ mainSizer->Clear(true);
+
+ m_projSettingsMap.clear();
+
+ std::list<WorkspaceConfigurationPtr> configs = matrix->GetConfigurations();
+ std::list<WorkspaceConfigurationPtr>::iterator iter = configs.begin();
+
+ m_choiceConfigurations->Clear();
+ for(; iter != configs.end(); iter++) {
+ m_choiceConfigurations->Append((*iter)->GetName());
+ }
+
+ // append the 'New' & 'Delete' commands
+ m_choiceConfigurations->Append(wxGetTranslation(clCMD_NEW));
+ m_choiceConfigurations->Append(wxGetTranslation(clCMD_EDIT));
+
+ int sel = m_choiceConfigurations->FindString(matrix->GetSelectedConfigurationName());
+ if(sel != wxNOT_FOUND) {
+ m_choiceConfigurations->SetSelection(sel);
+ } else if(m_choiceConfigurations->GetCount() > 2) {
+ m_choiceConfigurations->SetSelection(2);
+ } else {
+ m_choiceConfigurations->Append(_("Debug"));
+ m_choiceConfigurations->SetSelection(2);
+ }
+
+ // keep the current workspace configuration
+ m_currentWorkspaceConfiguration = m_choiceConfigurations->GetStringSelection();
+
+ wxArrayString projects;
+ ManagerST::Get()->GetProjectList(projects);
+ projects.Sort(wxStringCmpFunc);
+
+ for(size_t i = 0; i < projects.GetCount(); i++) {
+ wxString selConf = matrix->GetProjectSelectedConf(matrix->GetSelectedConfigurationName(), projects.Item(i));
+ AddEntry(projects.Item(i), selConf);
+ }
+
+ Thaw();
+ mainSizer->Fit(m_scrolledWindow);
+ Layout();
}
-void ConfigurationManagerDlg::LoadWorkspaceConfiguration(const wxString &confName)
+void ConfigurationManagerDlg::LoadWorkspaceConfiguration(const wxString& confName)
{
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- if (!matrix) {
- return;
- }
-
- m_choiceConfigurations->SetStringSelection(confName);
- std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
- for (; iter != m_projSettingsMap.end(); iter++) {
- wxString selConf = matrix->GetProjectSelectedConf(confName, iter->second.project);
- iter->second.choiceControl->SetStringSelection(selConf);
- }
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ if(!matrix) {
+ return;
+ }
+
+ m_choiceConfigurations->SetStringSelection(confName);
+ std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
+ for(; iter != m_projSettingsMap.end(); iter++) {
+ wxString selConf = matrix->GetProjectSelectedConf(confName, iter->second.project);
+ iter->second.choiceControl->SetStringSelection(selConf);
+ }
}
-void ConfigurationManagerDlg::LoadProjectConfiguration(const wxString &projectName)
+void ConfigurationManagerDlg::LoadProjectConfiguration(const wxString& projectName)
{
- std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
- for (; iter != m_projSettingsMap.end(); iter++) {
- if (iter->second.project == projectName) {
- iter->second.choiceControl->Clear();
-
- ProjectSettingsPtr proSet = ManagerST::Get()->GetProjectSettings(projectName);
- if (proSet) {
- ProjectSettingsCookie cookie;
- BuildConfigPtr bldConf = proSet->GetFirstBuildConfiguration(cookie);
- while (bldConf) {
- iter->second.choiceControl->Append(bldConf->GetName());
- bldConf = proSet->GetNextBuildConfiguration(cookie);
- }
-
- //append the EDIT & NEW commands
- iter->second.choiceControl->Append(wxGetTranslation(clCMD_EDIT));
- iter->second.choiceControl->Append(wxGetTranslation(clCMD_NEW));
-
- //select the build configuration according to the build matrix
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- if (!matrix) {
- return;
- }
-
- wxString configName = matrix->GetProjectSelectedConf(m_choiceConfigurations->GetStringSelection(), projectName);
- int match = iter->second.choiceControl->FindString(configName);
- if (match != wxNOT_FOUND) {
- iter->second.choiceControl->SetStringSelection(configName);
- } else {
- iter->second.choiceControl->SetSelection(0);
- }
-
- return;
- }
- }
- }
+ std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
+ for(; iter != m_projSettingsMap.end(); iter++) {
+ if(iter->second.project == projectName) {
+ iter->second.choiceControl->Clear();
+
+ ProjectSettingsPtr proSet = ManagerST::Get()->GetProjectSettings(projectName);
+ if(proSet) {
+ ProjectSettingsCookie cookie;
+ BuildConfigPtr bldConf = proSet->GetFirstBuildConfiguration(cookie);
+ while(bldConf) {
+ iter->second.choiceControl->Append(bldConf->GetName());
+ bldConf = proSet->GetNextBuildConfiguration(cookie);
+ }
+
+ // append the EDIT & NEW commands
+ iter->second.choiceControl->Append(wxGetTranslation(clCMD_EDIT));
+ iter->second.choiceControl->Append(wxGetTranslation(clCMD_NEW));
+
+ // select the build configuration according to the build matrix
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ if(!matrix) {
+ return;
+ }
+
+ wxString configName =
+ matrix->GetProjectSelectedConf(m_choiceConfigurations->GetStringSelection(), projectName);
+ int match = iter->second.choiceControl->FindString(configName);
+ if(match != wxNOT_FOUND) {
+ iter->second.choiceControl->SetStringSelection(configName);
+ } else {
+ iter->second.choiceControl->SetSelection(0);
+ }
+
+ return;
+ }
+ }
+ }
}
void ConfigurationManagerDlg::InitDialog()
{
- // Connect events
- ConnectButton(m_buttonOK, ConfigurationManagerDlg::OnButtonOK);
- ConnectButton(m_buttonApply, ConfigurationManagerDlg::OnButtonApply);
- m_buttonApply->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( ConfigurationManagerDlg::OnButtonApplyUI ), NULL, this );
- ConnectChoice(m_choiceConfigurations, ConfigurationManagerDlg::OnWorkspaceConfigSelected);
+ // Connect events
+ ConnectButton(m_buttonOK, ConfigurationManagerDlg::OnButtonOK);
+ ConnectButton(m_buttonApply, ConfigurationManagerDlg::OnButtonApply);
+ m_buttonApply->Connect(
+ wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ConfigurationManagerDlg::OnButtonApplyUI), NULL, this);
+ ConnectChoice(m_choiceConfigurations, ConfigurationManagerDlg::OnWorkspaceConfigSelected);
}
-void ConfigurationManagerDlg::OnWorkspaceConfigSelected(wxCommandEvent &event)
+void ConfigurationManagerDlg::OnWorkspaceConfigSelected(wxCommandEvent& event)
{
- if (event.GetString() == wxGetTranslation(clCMD_NEW)) {
- OnButtonNew(event);
- } else if (event.GetString() == wxGetTranslation(clCMD_EDIT)) {
- //popup the delete dialog for configurations
- EditWorkspaceConfDlg *dlg = new EditWorkspaceConfDlg(this);
- dlg->ShowModal();
- dlg->Destroy();
-
- //once done, restore dialog
- PopulateConfigurations();
- } else {
- if (m_dirty) {
- if ( wxMessageBox(wxString::Format(_("Settings for workspace configuration '%s' have changed, would you like to save them?"), m_currentWorkspaceConfiguration.GetData()), _("CodeLite"), wxYES_NO|wxICON_QUESTION) == wxYES) {
- SaveCurrentSettings();
- }
- m_dirty = false;
- }
- m_currentWorkspaceConfiguration = event.GetString();
- LoadWorkspaceConfiguration(event.GetString());
- }
+ if(event.GetString() == wxGetTranslation(clCMD_NEW)) {
+ OnButtonNew(event);
+ } else if(event.GetString() == wxGetTranslation(clCMD_EDIT)) {
+ // popup the delete dialog for configurations
+ EditWorkspaceConfDlg* dlg = new EditWorkspaceConfDlg(this);
+ dlg->ShowModal();
+ dlg->Destroy();
+
+ // once done, restore dialog
+ PopulateConfigurations();
+ } else {
+ if(m_dirty) {
+ if(wxMessageBox(
+ wxString::Format(
+ _("Settings for workspace configuration '%s' have changed, would you like to save them?"),
+ m_currentWorkspaceConfiguration.GetData()),
+ _("CodeLite"),
+ wxYES_NO | wxICON_QUESTION) == wxYES) {
+ SaveCurrentSettings();
+ }
+ m_dirty = false;
+ }
+ m_currentWorkspaceConfiguration = event.GetString();
+ LoadWorkspaceConfiguration(event.GetString());
+ }
}
-void ConfigurationManagerDlg::OnConfigSelected(wxCommandEvent &event)
+void ConfigurationManagerDlg::OnConfigSelected(wxCommandEvent& event)
{
- std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.find(event.GetId());
- if (iter == m_projSettingsMap.end())
- return;
-
- wxString selection = event.GetString();
- if (selection == wxGetTranslation(clCMD_NEW)) {
- // popup the 'New Configuration' dialog
- NewConfigurationDlg *dlg = new NewConfigurationDlg(this, iter->second.project);
- dlg->ShowModal();
- dlg->Destroy();
-
- // repopulate the configurations
- LoadProjectConfiguration(iter->second.project);
-
- // clCMD_NEW does not mark the page as dirty !
-
- } else if (selection == wxGetTranslation(clCMD_EDIT)) {
- EditConfigurationDialog *dlg = new EditConfigurationDialog(this, iter->second.project);
- dlg->ShowModal();
- dlg->Destroy();
-
- // repopulate the configurations
- LoadProjectConfiguration(iter->second.project);
-
- m_dirty = true;
-
- } else {
- // just mark the page as dirty
- m_dirty = true;
- }
+ std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.find(event.GetId());
+ if(iter == m_projSettingsMap.end()) return;
+
+ wxString selection = event.GetString();
+ if(selection == wxGetTranslation(clCMD_NEW)) {
+ // popup the 'New Configuration' dialog
+ NewConfigurationDlg* dlg = new NewConfigurationDlg(this, iter->second.project);
+ dlg->ShowModal();
+ dlg->Destroy();
+
+ // repopulate the configurations
+ LoadProjectConfiguration(iter->second.project);
+
+ // clCMD_NEW does not mark the page as dirty !
+
+ } else if(selection == wxGetTranslation(clCMD_EDIT)) {
+ EditConfigurationDialog* dlg = new EditConfigurationDialog(this, iter->second.project);
+ dlg->ShowModal();
+ dlg->Destroy();
+
+ // repopulate the configurations
+ LoadProjectConfiguration(iter->second.project);
+
+ m_dirty = true;
+
+ } else {
+ // just mark the page as dirty
+ m_dirty = true;
+ }
}
-void ConfigurationManagerDlg::OnButtonNew(wxCommandEvent &event)
+void ConfigurationManagerDlg::OnButtonNew(wxCommandEvent& event)
{
- wxUnusedVar(event);
- wxTextEntryDialog *dlg = new wxTextEntryDialog(this, _("Enter New Configuration Name:"), _("New Configuration"));
- if (dlg->ShowModal() == wxID_OK) {
- wxString value = dlg->GetValue();
- TrimString(value);
- if (value.IsEmpty() == false) {
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- if (!matrix) {
- return;
- }
-
- WorkspaceConfigurationPtr conf(new WorkspaceConfiguration(NULL));
- conf->SetName(value);
- conf->SetConfigMappingList(GetCurrentSettings());
- matrix->SetConfiguration(conf);
- //save changes
- ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
- }
- }
- PopulateConfigurations();
- dlg->Destroy();
+ wxUnusedVar(event);
+ wxTextEntryDialog* dlg = new wxTextEntryDialog(this, _("Enter New Configuration Name:"), _("New Configuration"));
+ if(dlg->ShowModal() == wxID_OK) {
+ wxString value = dlg->GetValue();
+ TrimString(value);
+ if(value.IsEmpty() == false) {
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ if(!matrix) {
+ return;
+ }
+
+ WorkspaceConfigurationPtr conf(new WorkspaceConfiguration(NULL));
+ conf->SetName(value);
+ conf->SetConfigMappingList(GetCurrentSettings());
+ matrix->SetConfiguration(conf);
+ // save changes
+ ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
+ }
+ }
+ PopulateConfigurations();
+ dlg->Destroy();
}
-void ConfigurationManagerDlg::OnButtonApply(wxCommandEvent &event)
+void ConfigurationManagerDlg::OnButtonApply(wxCommandEvent& event)
{
- wxUnusedVar(event);
- SaveCurrentSettings();
+ wxUnusedVar(event);
+ SaveCurrentSettings();
}
-
WorkspaceConfiguration::ConfigMappingList ConfigurationManagerDlg::GetCurrentSettings()
{
- //return the current settings as described by the dialog
- WorkspaceConfiguration::ConfigMappingList list;
-
- std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
- for (; iter != m_projSettingsMap.end(); iter++) {
-
- wxString value = iter->second.choiceControl->GetStringSelection();
- if (value != wxGetTranslation(clCMD_NEW) && value != wxGetTranslation(clCMD_EDIT)) {
- ConfigMappingEntry entry(iter->second.project, value);
- list.push_back(entry);
- }
- }
- return list;
+ // return the current settings as described by the dialog
+ WorkspaceConfiguration::ConfigMappingList list;
+
+ std::map<int, ConfigEntry>::iterator iter = m_projSettingsMap.begin();
+ for(; iter != m_projSettingsMap.end(); iter++) {
+
+ wxString value = iter->second.choiceControl->GetStringSelection();
+ if(value != wxGetTranslation(clCMD_NEW) && value != wxGetTranslation(clCMD_EDIT)) {
+ ConfigMappingEntry entry(iter->second.project, value);
+ list.push_back(entry);
+ }
+ }
+ return list;
}
-void ConfigurationManagerDlg::OnButtonOK(wxCommandEvent &event)
+void ConfigurationManagerDlg::OnButtonOK(wxCommandEvent& event)
{
- OnButtonApply(event);
- EndModal(wxID_OK);
+ OnButtonApply(event);
+ EndModal(wxID_OK);
}
void ConfigurationManagerDlg::SaveCurrentSettings()
{
- m_currentWorkspaceConfiguration = m_currentWorkspaceConfiguration.Trim().Trim(false);
+ m_currentWorkspaceConfiguration = m_currentWorkspaceConfiguration.Trim().Trim(false);
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- if (!matrix) {
- return;
- }
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ if(!matrix) {
+ return;
+ }
- matrix->SetSelectedConfigurationName(m_currentWorkspaceConfiguration);
+ matrix->SetSelectedConfigurationName(m_currentWorkspaceConfiguration);
- WorkspaceConfigurationPtr conf = matrix->GetConfigurationByName(m_currentWorkspaceConfiguration);
- if (!conf) {
- //create new configuration
- conf = new WorkspaceConfiguration(NULL);
- conf->SetName(m_currentWorkspaceConfiguration);
- matrix->SetConfiguration(conf);
- }
+ WorkspaceConfigurationPtr conf = matrix->GetConfigurationByName(m_currentWorkspaceConfiguration);
+ if(!conf) {
+ // create new configuration
+ conf = new WorkspaceConfiguration(NULL);
+ conf->SetName(m_currentWorkspaceConfiguration);
+ matrix->SetConfiguration(conf);
+ }
- conf->SetConfigMappingList(GetCurrentSettings());
+ conf->SetConfigMappingList(GetCurrentSettings());
- //save changes
- ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
- m_dirty = false;
+ // save changes
+ ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
+ m_dirty = false;
}
-void ConfigurationManagerDlg::OnButtonApplyUI(wxUpdateUIEvent& event)
-{
- event.Enable(m_dirty);
-}
+void ConfigurationManagerDlg::OnButtonApplyUI(wxUpdateUIEvent& event) { event.Enable(m_dirty); }
-ConfigurationManagerDlg::~ConfigurationManagerDlg()
-{
- WindowAttrManager::Save(this, wxT("ConfigurationManagerDlg"), NULL);
-}
+ConfigurationManagerDlg::~ConfigurationManagerDlg() {}
diff --git a/LiteEditor/context_base.cpp b/LiteEditor/context_base.cpp
index f4738b6b..952b7e44 100644
--- a/LiteEditor/context_base.cpp
+++ b/LiteEditor/context_base.cpp
@@ -37,6 +37,7 @@
#include "commentconfigdata.h"
#include "editor_config.h"
#include <wx/tokenzr.h>
+#include <wx/regex.h>
// static wxColor GetInactiveColor(const wxColor& col)
//{
@@ -68,7 +69,7 @@ void ContextBase::AutoIndent(const wxChar& ch)
int prevpos(wxNOT_FOUND);
int curpos = rCtrl.GetCurrentPos();
int line = rCtrl.LineFromPosition(curpos);
-
+
if(ch == wxT('\n')) {
wxChar prevCh = rCtrl.PreviousChar(curpos, prevpos);
if(prevCh == '{') {
@@ -76,7 +77,7 @@ void ContextBase::AutoIndent(const wxChar& ch)
int prevLine = rCtrl.LineFromPosition(prevpos);
rCtrl.SetLineIndentation(line, rCtrl.GetIndent() + rCtrl.GetLineIndentation(prevLine));
rCtrl.SetCaretAt(rCtrl.GetLineIndentPosition(line));
-
+
} else {
// just copy the previous line indentation
int line = rCtrl.LineFromPosition(rCtrl.GetCurrentPos());
@@ -84,9 +85,8 @@ void ContextBase::AutoIndent(const wxChar& ch)
// place the caret at the end of the line
rCtrl.SetCaretAt(rCtrl.GetLineIndentPosition(line));
rCtrl.ChooseCaretX();
-
}
- } else if (ch == '}') {
+ } else if(ch == '}' && !IsCommentOrString(curpos)) {
long matchPos = wxNOT_FOUND;
if(!rCtrl.MatchBraceBack(wxT('}'), rCtrl.PositionBefore(curpos), matchPos)) return;
int secondLine = rCtrl.LineFromPosition(matchPos);
@@ -157,11 +157,9 @@ int ContextBase::DoGetCalltipParamterIndex()
// loop over the text from pos -> current position and count the number of commas found
int depth(0);
- bool exit_loop(false);
-
- while(pos < ctrl.GetCurrentPos() && !exit_loop) {
+ while(pos < ctrl.GetCurrentPos()) {
wxChar ch = ctrl.SafeGetChar(pos);
- wxChar ch_before = ctrl.SafeGetChar(ctrl.PositionBefore(pos));
+ // wxChar ch_before = ctrl.SafeGetChar(ctrl.PositionBefore(pos));
if(IsCommentOrString(pos)) {
pos = ctrl.PositionAfter(pos);
@@ -172,32 +170,10 @@ int ContextBase::DoGetCalltipParamterIndex()
case wxT(','):
if(depth == 0) index++;
break;
- case wxT('{'):
- case wxT('}'):
- case wxT(';'):
- // error?
- exit_loop = true;
- break;
- case wxT('<'):
- if(ch_before == '<') {
- // operator <<
- // dont count this as depth ++
- break;
- }
- // fall thru
case wxT('('):
- case wxT('['):
depth++;
break;
-
- case wxT('>'):
- if(ch_before == wxT('-')) {
- // operator noting to do
- break;
- }
- // fall through
case wxT(')'):
- case wxT(']'):
depth--;
break;
default:
@@ -205,61 +181,34 @@ int ContextBase::DoGetCalltipParamterIndex()
}
pos = ctrl.PositionAfter(pos);
}
+ } else {
+ return wxNOT_FOUND;
}
return index;
}
void ContextBase::OnUserTypedXChars(const wxString& word)
{
- // user typed more than 3 chars, display completion box with C++ keywords
+ // user typed more than X chars
+ // trigger code complete event (as if the user typed ctrl-space)
+ // if no one handles this event, fire a word completion event
if(IsCommentOrString(GetCtrl().GetCurrentPos())) {
return;
}
-
- TagEntryPtrVector_t tags;
- if(TagsManagerST::Get()->GetCtagsOptions().GetFlags() & CC_CPP_KEYWORD_ASISST) {
- clCodeCompletionEvent ccEvt(wxEVT_CC_CODE_COMPLETE_LANG_KEYWORD);
+
+ const TagsOptionsData& options = TagsManagerST::Get()->GetCtagsOptions();
+ if(options.GetFlags() & CC_WORD_ASSIST) {
+ // Try to call code completion
+ clCodeCompletionEvent ccEvt(wxEVT_CC_CODE_COMPLETE);
ccEvt.SetEditor(&GetCtrl());
ccEvt.SetWord(word);
- if(EventNotifier::Get()->ProcessEvent(ccEvt)) {
- tags = ccEvt.GetTags();
-
- } else if(GetActiveKeywordSet() != wxNOT_FOUND) {
-
- // the default action is to use the lexer keywords
- LexerConf::Ptr_t lexPtr;
- // Read the configuration file
- if(EditorConfigST::Get()->IsOk()) {
- lexPtr = EditorConfigST::Get()->GetLexer(GetName());
- }
-
- if(!lexPtr) return;
-
- wxString Words = lexPtr->GetKeyWords(GetActiveKeywordSet());
-
- wxString s1(word);
- wxStringSet_t uniqueWords;
- wxArrayString wordsArr = ::wxStringTokenize(Words, wxT(" \r\t\n"));
- for(size_t i = 0; i < wordsArr.GetCount(); i++) {
-
- // Dont add duplicate words
- if(uniqueWords.count(wordsArr.Item(i))) continue;
-
- uniqueWords.insert(wordsArr.Item(i));
- wxString s2(wordsArr.Item(i));
- if(s2.StartsWith(s1) || s2.Lower().StartsWith(s1.Lower())) {
- TagEntryPtr tag(new TagEntry());
- tag->SetName(wordsArr.Item(i));
- tag->SetKind("cpp_keyword");
- tags.push_back(tag);
- }
- }
- }
-
- if(tags.empty() == false) {
- GetCtrl().ShowCompletionBox(tags, // list of tags
- word); // do not automatically insert word if there is only single choice
+ if(!EventNotifier::Get()->ProcessEvent(ccEvt)) {
+ // This is ugly, since CodeLite should not be calling
+ // the plugins... we take comfort in the fact that it
+ // merely fires an event and not calling it directly
+ wxCommandEvent wordCompleteEvent(wxEVT_MENU, XRCID("word_complete_no_single_insert"));
+ wxTheApp->ProcessEvent(wordCompleteEvent);
}
}
}
@@ -308,6 +257,8 @@ void ContextBase::AutoAddComment()
clCodeCompletionEvent event(wxEVT_CC_GENERATE_DOXY_BLOCK);
event.SetEditor(&rCtrl);
if(EventNotifier::Get()->ProcessEvent(event) && !event.GetTooltip().IsEmpty()) {
+ rCtrl.BeginUndoAction();
+
// To make the doxy block fit in, we need to prepend each line
// with the exact whitespace of the line that starts with "/**"
int lineStartPos = rCtrl.PositionFromLine(rCtrl.LineFromPos(startPos));
@@ -319,12 +270,26 @@ void ContextBase::AutoAddComment()
lines.Item(i).Prepend(whitespace);
}
}
-
+
// Join the lines back
wxString doxyBlock = ::wxJoin(lines, '\n');
rCtrl.SetSelection(startPos, curpos);
rCtrl.ReplaceSelection(doxyBlock);
+
+ // Try to place the caret after the @brief
+ wxRegEx reBrief("[@\\]brief[ \t]*");
+ if(reBrief.IsValid() && reBrief.Matches(doxyBlock)) {
+ wxString match = reBrief.GetMatch(doxyBlock);
+ // Get the index
+ int where = doxyBlock.Find(match);
+ if(where != wxNOT_FOUND) {
+ where += match.length();
+ int caretPos = startPos + where;
+ rCtrl.SetCaretAt(caretPos);
+ }
+ }
+ rCtrl.EndUndoAction();
return;
}
}
@@ -343,3 +308,13 @@ void ContextBase::AutoAddComment()
rCtrl.ChooseCaretX(); // set new column as "current" column
}
}
+
+bool ContextBase::IsStringTriggerCodeComplete(const wxString& str) const
+{
+ // default behavior is to check if 'str' exists in the m_completionTriggerStrings container
+ if(GetCtrl().GetLexer() == wxSTC_LEX_XML) {
+ return str == "<" || str == "</";
+ } else {
+ return (m_completionTriggerStrings.count(str) > 0);
+ }
+}
diff --git a/LiteEditor/context_base.h b/LiteEditor/context_base.h
index baa08f1a..3ea57d4d 100644
--- a/LiteEditor/context_base.h
+++ b/LiteEditor/context_base.h
@@ -75,6 +75,11 @@ public:
virtual ~ContextBase();
+ /**
+ * @brief return true if str is a string that should trigger a code completion
+ */
+ virtual bool IsStringTriggerCodeComplete(const wxString& str) const;
+
/**
* @brief when the context is requested to display a code completion for keywords
* this functions determines which keyword set to display ( there are up to 5, indexed from: 0-4)
@@ -82,10 +87,7 @@ public:
virtual int GetActiveKeywordSet() const {
return 0;
}
-
- const wxStringSet_t& GetCompletionTriggerStrings() const {
- return m_completionTriggerStrings;
- }
+
/**
* Return the context parent control
*/
diff --git a/LiteEditor/context_cpp.cpp b/LiteEditor/context_cpp.cpp
index 40b8936f..2b92b7e7 100644
--- a/LiteEditor/context_cpp.cpp
+++ b/LiteEditor/context_cpp.cpp
@@ -39,7 +39,6 @@
#include "debuggerconfigtool.h"
#include "debuggersettings.h"
#include "parse_thread.h"
-#include "cc_box.h"
#include <wx/progdlg.h>
#include "renamesymboldlg.h"
#include "cpptoken.h"
@@ -77,6 +76,9 @@
#include <parse_thread.h>
#include "cl_command_event.h"
#include "codelite_events.h"
+#include "wxCodeCompletionBoxManager.h"
+#include <wx/regex.h>
+#include "clEditorStateLocker.h"
//#define __PERFORMANCE
#include "performance.h"
@@ -169,6 +171,7 @@ ContextCpp::ContextCpp(LEditor* container)
SetName("c++");
EventNotifier::Get()->Connect(
wxEVT_CC_SHOW_QUICK_NAV_MENU, clCodeCompletionEventHandler(ContextCpp::OnShowCodeNavMenu), NULL, this);
+ EventNotifier::Get()->Bind(wxEVT_CCBOX_SELECTION_MADE, &ContextCpp::OnCodeCompleteFiles, this);
}
ContextCpp::ContextCpp()
@@ -177,6 +180,7 @@ ContextCpp::ContextCpp()
{
EventNotifier::Get()->Connect(
wxEVT_CC_SHOW_QUICK_NAV_MENU, clCodeCompletionEventHandler(ContextCpp::OnShowCodeNavMenu), NULL, this);
+ EventNotifier::Get()->Unbind(wxEVT_CCBOX_SELECTION_MADE, &ContextCpp::OnCodeCompleteFiles, this);
}
ContextCpp::~ContextCpp()
@@ -248,7 +252,7 @@ void ContextCpp::OnDwellStart(wxStyledTextEvent& event)
tooltip.Trim().Trim(false);
if(tooltip.IsEmpty() == false) {
- rCtrl.DoShowCalltip(-1, tooltip);
+ rCtrl.DoShowCalltip(-1, "", tooltip);
}
}
}
@@ -755,13 +759,6 @@ void ContextCpp::CompleteWord()
CodeCompletionManager::Get().WordCompletion(&GetCtrl(), expr, word);
}
-void ContextCpp::DisplayCompletionBox(const std::vector<TagEntryPtr>& tags, const wxString& word)
-{
- CHECK_JS_RETURN_VOID();
- // calculate the position to display the completion box
- GetCtrl().ShowCompletionBox(tags, word);
-}
-
void ContextCpp::DisplayFilesCompletionBox(const wxString& word)
{
CHECK_JS_RETURN_VOID();
@@ -773,21 +770,24 @@ void ContextCpp::DisplayFilesCompletionBox(const wxString& word)
files.Sort();
if(!files.IsEmpty()) {
- GetCtrl().RegisterImageForKind(wxT("FileCpp"), m_cppFileBmp);
- GetCtrl().RegisterImageForKind(wxT("FileHeader"), m_hFileBmp);
- std::vector<TagEntryPtr> tags;
-
+ // Show completion box for files
+ wxCodeCompletionBoxEntry::Vec_t entries;
+ wxCodeCompletionBox::BmpVec_t bitmaps;
+ bitmaps.push_back(m_cppFileBmp);
+ bitmaps.push_back(m_hFileBmp);
+ // Make sure that the file list is unique
+ wxStringSet_t matches;
for(size_t i = 0; i < files.GetCount(); ++i) {
wxFileName fn(files.Item(i));
+ if(matches.count(files.Item(i))) continue; // we already have this file in the list, don't add another one
+ matches.insert(files.Item(i));
if(FileExtManager::GetType(fn.GetFullName()) == FileExtManager::TypeHeader ||
FileExtManager::GetType(fn.GetFullName()) == FileExtManager::TypeOther) {
- TagEntryPtr t(new TagEntry());
- t->SetName(files.Item(i));
- t->SetKind(IsSource(fn.GetExt()) ? wxT("FileCpp") : wxT("FileHeader"));
- tags.push_back(t);
+ entries.push_back(wxCodeCompletionBoxEntry::New(files.Item(i), IsSource(fn.GetExt()) ? 0 : 1));
}
}
- GetCtrl().ShowCompletionBox(tags, fileName);
+ wxCodeCompletionBoxManager::Get().ShowCompletionBox(
+ &GetCtrl(), entries, bitmaps, wxCodeCompletionBox::kNone, wxNOT_FOUND, this);
}
}
@@ -1147,8 +1147,22 @@ void ContextCpp::OnInsertDoxyComment(wxCommandEvent& event)
// remove any selection
editor.ClearSelections();
editor.InsertText(insertPos, doxyBlock);
- newPos += doxyBlock.length();
- editor.SetCaretAt(newPos);
+
+ // Try to place the caret after the @brief
+ wxRegEx reBrief("[@\\]brief[ \t]*");
+ if(reBrief.IsValid() && reBrief.Matches(doxyBlock)) {
+ wxString match = reBrief.GetMatch(doxyBlock);
+ // Get the index
+ int where = doxyBlock.Find(match);
+ if(where != wxNOT_FOUND) {
+ where += match.length();
+ int caretPos = insertPos + where;
+ editor.SetCaretAt(caretPos);
+ }
+ } else {
+ newPos += doxyBlock.length();
+ editor.SetCaretAt(newPos);
+ }
return;
}
}
@@ -1156,76 +1170,13 @@ void ContextCpp::OnInsertDoxyComment(wxCommandEvent& event)
void ContextCpp::OnCommentSelection(wxCommandEvent& event)
{
wxUnusedVar(event);
-
- LEditor& editor = GetCtrl();
- int start = editor.GetSelectionStart();
- int end = editor.GetSelectionEnd();
- if(editor.LineFromPosition(editor.PositionBefore(end)) != editor.LineFromPosition(end)) {
- end = editor.PositionBefore(end);
- }
- if(start == end) return;
-
- editor.SetCurrentPos(end);
-
- editor.BeginUndoAction();
- editor.InsertText(end, wxT("*/"));
- editor.InsertText(start, wxT("/*"));
- editor.EndUndoAction();
-
- editor.CharRight();
- editor.CharRight();
- editor.ChooseCaretX();
-}
-
-int ContextCpp::GetFirstCxxCommentPos(LEditor& editor, int from)
-{
- int lineNu = editor.LineFromPos(from);
- int lastPos = from + editor.LineLength(lineNu);
- for(int i = from; from < lastPos; ++i) {
- if(editor.GetStyleAt(i) == wxSTC_C_COMMENTLINE) {
- return i;
- }
- }
- return wxNOT_FOUND;
+ GetCtrl().CommentBlockSelection("/*", "*/");
}
void ContextCpp::OnCommentLine(wxCommandEvent& event)
{
wxUnusedVar(event);
- LEditor& editor = GetCtrl();
-
- int start = editor.GetSelectionStart();
- int end = editor.GetSelectionEnd();
- if(editor.LineFromPosition(editor.PositionBefore(end)) != editor.LineFromPosition(end)) {
- end = std::max(start, editor.PositionBefore(end));
- }
-
- bool doingComment = editor.GetStyleAt(start) != wxSTC_C_COMMENTLINE;
-
- int line_start = editor.LineFromPosition(start);
- int line_end = editor.LineFromPosition(end);
-
- editor.BeginUndoAction();
- for(; line_start <= line_end; line_start++) {
- start = editor.PositionFromLine(line_start);
- if(doingComment) {
- editor.InsertText(start, wxT("//"));
-
- } else {
- int firstCommentPos = GetFirstCxxCommentPos(editor, start);
- if(firstCommentPos != wxNOT_FOUND) {
- if(editor.GetStyleAt(firstCommentPos) == wxSTC_C_COMMENTLINE) {
- editor.SetAnchor(firstCommentPos);
- editor.SetCurrentPos(editor.PositionAfter(editor.PositionAfter(firstCommentPos)));
- editor.DeleteBackNotLine();
- }
- }
- }
- }
- editor.EndUndoAction();
-
- editor.SetCaretAt(editor.PositionFromLine(line_end + 1));
- editor.ChooseCaretX();
+ GetCtrl().ToggleLineComment("//", wxSTC_C_COMMENTLINE);
}
void ContextCpp::OnGenerateSettersGetters(wxCommandEvent& event)
@@ -1282,16 +1233,14 @@ void ContextCpp::OnGenerateSettersGetters(wxCommandEvent& event)
}
if(dlg.ShowModal() == wxID_OK) {
+ clEditorStateLocker locker(editor.GetCtrl());
wxString code = dlg.GetGenCode();
if(code.IsEmpty() == false) {
editor.InsertTextWithIndentation(code, lineno);
}
-
- int oldLine = editor.LineFromPos(editor.GetCurrentPos());
if(dlg.GetFormatText()) {
DoFormatEditor(&GetCtrl());
}
- editor.GotoLine(editor.GetLineCount() > oldLine ? oldLine : editor.GetLineCount());
}
}
@@ -1588,18 +1537,25 @@ void ContextCpp::OnMoveImpl(wxCommandEvent& e)
LEditor* implEditor = clMainFrame::Get()->GetMainBook()->OpenFile(targetFile);
if(implEditor) {
- wxString sourceContent = implEditor->GetText();
+ // Ensure that the file state is remained
int insertedLine = wxNOT_FOUND;
- TagsManagerST::Get()->InsertFunctionImpl(scopeName, body, targetFile, sourceContent, insertedLine);
- implEditor->SetText(sourceContent);
- DoFormatEditor(implEditor);
-
- implEditor->GotoLine(insertedLine != wxNOT_FOUND ? insertedLine : implEditor->GetLineCount());
-
- // Remove the current body and replace it with ';'
- rCtrl.SetTargetEnd(blockEndPos);
- rCtrl.SetTargetStart(blockStartPos);
- rCtrl.ReplaceTarget(wxT(";"));
+ {
+ clEditorStateLocker locker(implEditor->GetCtrl());
+
+ wxString sourceContent = implEditor->GetText();
+ TagsManagerST::Get()->InsertFunctionImpl(
+ scopeName, body, targetFile, sourceContent, insertedLine);
+ implEditor->SetText(sourceContent);
+ DoFormatEditor(implEditor);
+
+ // Remove the current body and replace it with ';'
+ rCtrl.SetTargetEnd(blockEndPos);
+ rCtrl.SetTargetStart(blockStartPos);
+ rCtrl.ReplaceTarget(wxT(";"));
+ }
+ if(insertedLine != wxNOT_FOUND) {
+ implEditor->CenterLine(insertedLine);
+ }
}
}
dlg->Destroy();
@@ -1829,8 +1785,15 @@ void ContextCpp::OnAddMultiImpl(wxCommandEvent& e)
// Inser the new functions at the proper location
wxString sourceContent = editor->GetText();
TagsManagerST::Get()->InsertFunctionImpl(scopeName, body, targetFile, sourceContent, insertedLine);
- editor->SetText(sourceContent);
- editor->GotoLine(insertedLine != wxNOT_FOUND ? insertedLine : editor->GetLineCount());
+
+ {
+ clEditorStateLocker locker(editor->GetCtrl());
+ editor->SetText(sourceContent);
+ }
+
+ if(insertedLine != wxNOT_FOUND) {
+ editor->CenterLine(insertedLine);
+ }
}
}
@@ -1930,8 +1893,15 @@ void ContextCpp::OnAddImpl(wxCommandEvent& e)
// Inser the new functions at the proper location
wxString sourceContent = editor->GetText();
TagsManagerST::Get()->InsertFunctionImpl(scopeName, body, targetFile, sourceContent, insertedLine);
- editor->SetText(sourceContent);
- editor->GotoLine(insertedLine != wxNOT_FOUND ? insertedLine : editor->GetLineCount());
+
+ {
+ clEditorStateLocker locker(editor->GetCtrl());
+ editor->SetText(sourceContent);
+ }
+
+ if(insertedLine != wxNOT_FOUND) {
+ editor->CenterLine(insertedLine);
+ }
}
}
}
@@ -2167,7 +2137,21 @@ void ContextCpp::AutoAddComment()
wxString doxyBlock = ::wxJoin(lines, '\n');
rCtrl.SetSelection(startPos, curpos);
rCtrl.ReplaceSelection(doxyBlock);
- rCtrl.SetCaretAt(startPos);
+
+ // Try to place the caret after the @brief
+ wxRegEx reBrief("[@\\]brief[ \t]*");
+ if(reBrief.IsValid() && reBrief.Matches(doxyBlock)) {
+ wxString match = reBrief.GetMatch(doxyBlock);
+ // Get the index
+ int where = doxyBlock.Find(match);
+ if(where != wxNOT_FOUND) {
+ where += match.length();
+ int caretPos = startPos + where;
+ rCtrl.SetCaretAt(caretPos);
+ }
+ } else {
+ rCtrl.SetCaretAt(startPos);
+ }
return;
}
}
@@ -3166,7 +3150,7 @@ void ContextCpp::ColourContextTokens(const wxArrayString& workspaceTokens)
wxMenu* ContextCpp::GetMenu()
{
- wxMenu *menu = NULL;
+ wxMenu* menu = NULL;
if(!IsJavaScript()) {
// load the context menu from the resource manager
menu = wxXmlResource::Get()->LoadMenu(wxT("editor_right_click"));
@@ -3179,3 +3163,31 @@ wxMenu* ContextCpp::GetMenu()
}
return menu;
}
+
+void ContextCpp::OnCodeCompleteFiles(clCodeCompletionEvent& event)
+{
+ if(event.GetEventObject() == this) {
+ const wxString& selection = event.GetWord();
+ wxString origWordChars = GetCtrl().GetWordChars();
+ // for proper string selection, we want to replace all the #include statement
+ // including any / and .
+ // to do that, we temporary replace the word-chars of the wxSTC control to include
+ // these chars, perform the selection and then restore the word chars
+ wxString newWordChars = origWordChars;
+ newWordChars << "./";
+ GetCtrl().SetWordChars(newWordChars);
+ int startPos = GetCtrl().WordStartPos(GetCtrl().GetCurrentPos(), true);
+ int endPos = GetCtrl().GetCurrentPos();
+ GetCtrl().SetSelection(startPos, endPos);
+ GetCtrl().ReplaceSelection(selection);
+ GetCtrl().SetCaretAt(startPos + selection.Len());
+ GetCtrl().CallAfter(&wxStyledTextCtrl::SetFocus);
+
+ // Restore the original word chars
+ GetCtrl().SetWordChars(origWordChars);
+
+ } else {
+ // not ours
+ event.Skip();
+ }
+}
diff --git a/LiteEditor/context_cpp.h b/LiteEditor/context_cpp.h
index 4e65aed5..9d9d4082 100644
--- a/LiteEditor/context_cpp.h
+++ b/LiteEditor/context_cpp.h
@@ -37,23 +37,24 @@ class RefactorSource;
class ContextCpp : public ContextBase
{
std::map<wxString, int> m_propertyInt;
- wxMenu *m_rclickMenu;
+ wxMenu* m_rclickMenu;
static wxBitmap m_cppFileBmp;
static wxBitmap m_hFileBmp;
+
protected:
- void OnShowCodeNavMenu(clCodeCompletionEvent &e);
+ void OnShowCodeNavMenu(clCodeCompletionEvent& e);
+ void OnCodeCompleteFiles(clCodeCompletionEvent& event);
private:
- bool TryOpenFile(const wxFileName &fileName, bool lookInEntireWorkspace = true);
+ bool TryOpenFile(const wxFileName& fileName, bool lookInEntireWorkspace = true);
bool IsJavaScript() const;
- void DisplayCompletionBox(const std::vector<TagEntryPtr> &tags, const wxString &word);
- void DisplayFilesCompletionBox(const wxString &word);
- bool DoGetFunctionBody(long curPos, long &blockStartPos, long &blockEndPos, wxString &content);
+ void DisplayFilesCompletionBox(const wxString& word);
+ bool DoGetFunctionBody(long curPos, long& blockStartPos, long& blockEndPos, wxString& content);
void Initialize();
void DoCodeComplete(long pos);
- void DoCreateFile(const wxFileName &fn);
+ void DoCreateFile(const wxFileName& fn);
void DoUpdateCalltipHighlight();
public:
@@ -68,22 +69,22 @@ public:
* @return
*/
virtual bool IsAtLineComment() const;
- ContextCpp(LEditor *container);
+ ContextCpp(LEditor* container);
virtual bool IsDefaultContext() const;
virtual ~ContextCpp();
ContextCpp();
- virtual ContextBase *NewInstance(LEditor *container);
+ virtual ContextBase* NewInstance(LEditor* container);
virtual void CompleteWord();
virtual void CodeComplete(long pos = wxNOT_FOUND);
virtual void GotoDefinition();
virtual TagEntryPtr GetTagAtCaret(bool scoped, bool impl);
virtual wxString GetCurrentScopeName();
virtual void AutoIndent(const wxChar&);
- virtual bool IsCommentOrString(long pos);
- virtual bool IsComment(long pos);
- virtual void AddMenuDynamicContent(wxMenu *menu);
- virtual void RemoveMenuDynamicContent(wxMenu *menu);
+ virtual bool IsCommentOrString(long pos);
+ virtual bool IsComment(long pos);
+ virtual void AddMenuDynamicContent(wxMenu* menu);
+ virtual void RemoveMenuDynamicContent(wxMenu* menu);
virtual void ApplySettings();
virtual void RetagFile();
virtual wxString CallTipContent();
@@ -91,68 +92,68 @@ public:
virtual void SemicolonShift();
// ctrl-click style navigation support
- virtual int GetHyperlinkRange(int pos, int &start, int &end);
+ virtual int GetHyperlinkRange(int pos, int& start, int& end);
virtual void GoHyperlink(int start, int end, int type, bool alt);
- //override swapfiles features
- virtual void SwapFiles(const wxFileName &fileName);
+ // override swapfiles features
+ virtual void SwapFiles(const wxFileName& fileName);
- //Event handlers
- virtual void OnDwellEnd(wxStyledTextEvent &event);
- virtual void OnDwellStart(wxStyledTextEvent &event);
- virtual void OnDbgDwellEnd(wxStyledTextEvent &event);
- virtual void OnDbgDwellStart(wxStyledTextEvent &event);
- virtual void OnSciUpdateUI(wxStyledTextEvent &event);
+ // Event handlers
+ virtual void OnDwellEnd(wxStyledTextEvent& event);
+ virtual void OnDwellStart(wxStyledTextEvent& event);
+ virtual void OnDbgDwellEnd(wxStyledTextEvent& event);
+ virtual void OnDbgDwellStart(wxStyledTextEvent& event);
+ virtual void OnSciUpdateUI(wxStyledTextEvent& event);
virtual void OnFileSaved();
virtual void AutoAddComment();
- //Capture menu events
- //return this context specific right click menu
- virtual wxMenu *GetMenu() ;
- virtual void OnSwapFiles(wxCommandEvent &event);
- virtual void OnInsertDoxyComment(wxCommandEvent &event);
- virtual void OnCommentSelection(wxCommandEvent &event);
- virtual void OnCommentLine(wxCommandEvent &event);
- virtual void OnGenerateSettersGetters(wxCommandEvent &event);
- virtual void OnFindImpl(wxCommandEvent &event);
- virtual void OnFindDecl(wxCommandEvent &event);
- virtual void OnGotoFunctionStart(wxCommandEvent &event);
+ // Capture menu events
+ // return this context specific right click menu
+ virtual wxMenu* GetMenu();
+ virtual void OnSwapFiles(wxCommandEvent& event);
+ virtual void OnInsertDoxyComment(wxCommandEvent& event);
+ virtual void OnCommentSelection(wxCommandEvent& event);
+ virtual void OnCommentLine(wxCommandEvent& event);
+ virtual void OnGenerateSettersGetters(wxCommandEvent& event);
+ virtual void OnFindImpl(wxCommandEvent& event);
+ virtual void OnFindDecl(wxCommandEvent& event);
+ virtual void OnGotoFunctionStart(wxCommandEvent& event);
virtual void OnGotoNextFunction(wxCommandEvent& event);
- virtual void OnKeyDown(wxKeyEvent &event);
- virtual void OnUpdateUI(wxUpdateUIEvent &event);
- virtual void OnContextOpenDocument(wxCommandEvent &event);
- virtual void OnAddIncludeFile(wxCommandEvent &e);
- virtual void OnAddForwardDecl(wxCommandEvent &e);
- virtual void OnMoveImpl(wxCommandEvent &e);
- virtual void OnAddImpl(wxCommandEvent &e);
- virtual void OnAddMultiImpl(wxCommandEvent &e);
- virtual void OnOverrideParentVritualFunctions(wxCommandEvent &e);
- virtual void OnRenameGlobalSymbol(wxCommandEvent &e);
- virtual void OnRenameLocalSymbol (wxCommandEvent &e);
- virtual void OnFindReferences (wxCommandEvent &e);
- virtual void OnSyncSignatures(wxCommandEvent &e);
- virtual void OnRetagFile(wxCommandEvent &e);
- virtual void OnUserTypedXChars(const wxString &word);
- virtual void OnCallTipClick(wxStyledTextEvent &e);
+ virtual void OnKeyDown(wxKeyEvent& event);
+ virtual void OnUpdateUI(wxUpdateUIEvent& event);
+ virtual void OnContextOpenDocument(wxCommandEvent& event);
+ virtual void OnAddIncludeFile(wxCommandEvent& e);
+ virtual void OnAddForwardDecl(wxCommandEvent& e);
+ virtual void OnMoveImpl(wxCommandEvent& e);
+ virtual void OnAddImpl(wxCommandEvent& e);
+ virtual void OnAddMultiImpl(wxCommandEvent& e);
+ virtual void OnOverrideParentVritualFunctions(wxCommandEvent& e);
+ virtual void OnRenameGlobalSymbol(wxCommandEvent& e);
+ virtual void OnRenameLocalSymbol(wxCommandEvent& e);
+ virtual void OnFindReferences(wxCommandEvent& e);
+ virtual void OnSyncSignatures(wxCommandEvent& e);
+ virtual void OnRetagFile(wxCommandEvent& e);
+ virtual void OnUserTypedXChars(const wxString& word);
+ virtual void OnCallTipClick(wxStyledTextEvent& e);
virtual void OnCalltipCancel();
DECLARE_EVENT_TABLE()
private:
- wxString GetWordUnderCaret();
- wxString GetFileImageString(const wxString &ext);
- wxString GetImageString(const TagEntry &entry);
- wxString GetExpression(long pos, bool onlyWord, LEditor *editor = NULL, bool forCC = true);
- void DoGotoSymbol(TagEntryPtr tag);
- bool IsIncludeStatement(const wxString &line, wxString *fileName = NULL, wxString *fileNameUpToCaret = NULL);
- void RemoveDuplicates(std::vector<TagEntryPtr>& src, std::vector<TagEntryPtr>& target);
- int FindLineToAddInclude();
- void MakeCppKeywordsTags(const wxString &word, std::vector<TagEntryPtr> &tags);
- void DoOpenWorkspaceFile();
- void DoSetProjectPaths();
- bool DoGetSingatureRange(int line, int &start, int &end, LEditor *ctrl);
+ wxString GetWordUnderCaret();
+ wxString GetFileImageString(const wxString& ext);
+ wxString GetImageString(const TagEntry& entry);
+ wxString GetExpression(long pos, bool onlyWord, LEditor* editor = NULL, bool forCC = true);
+ void DoGotoSymbol(TagEntryPtr tag);
+ bool IsIncludeStatement(const wxString& line, wxString* fileName = NULL, wxString* fileNameUpToCaret = NULL);
+ void RemoveDuplicates(std::vector<TagEntryPtr>& src, std::vector<TagEntryPtr>& target);
+ int FindLineToAddInclude();
+ void MakeCppKeywordsTags(const wxString& word, std::vector<TagEntryPtr>& tags);
+ void DoOpenWorkspaceFile();
+ void DoSetProjectPaths();
+ bool DoGetSingatureRange(int line, int& start, int& end, LEditor* ctrl);
public:
- void DoMakeDoxyCommentString(DoxygenComment &dc);
+ void DoMakeDoxyCommentString(DoxygenComment& dc);
private:
/**
@@ -162,27 +163,20 @@ private:
* \param lhs output
* \return true if such sibling file exist, false otherwise
*/
- bool FindSwappedFile(const wxFileName &rhs, wxString &lhs);
+ bool FindSwappedFile(const wxFileName& rhs, wxString& lhs);
/**
* \brief replace list of tokens representd by li with 'word'
* \param li
* \return
*/
- void ReplaceInFiles(const wxString &word, const std::list<CppToken> &li);
+ void ReplaceInFiles(const wxString& word, const std::list<CppToken>& li);
/**
* @brief format editor
* @param editor
*/
- void DoFormatEditor(LEditor *editor);
-
- /**
- * @brief return position of the first C++ comment style on a line
- * the line number is calculated from the 'from' value
- * @return position or wxNOT_FOUND when not found
- */
- int GetFirstCxxCommentPos(LEditor& editor, int from);
+ void DoFormatEditor(LEditor* editor);
};
-#endif // CONTEXT_CPP_H
+#endif // CONTEXT_CPP_H
diff --git a/LiteEditor/context_manager.cpp b/LiteEditor/context_manager.cpp
index 5f98b87d..40bbbe90 100644
--- a/LiteEditor/context_manager.cpp
+++ b/LiteEditor/context_manager.cpp
@@ -32,6 +32,7 @@
#include "generic_context.h"
#include "editor_config.h"
#include "ColoursAndFontsManager.h"
+#include "ContextJavaScript.h"
ContextManager::ContextManager()
{
@@ -75,6 +76,7 @@ void ContextManager::Initialize()
m_contextPool["diff"] = new ContextDiff();
m_contextPool["html"] = new ContextHtml();
m_contextPool["php"] = new ContextPhp();
+ m_contextPool["javascript"] = new ContextJavaScript();
// load generic lexers
wxArrayString names = ColoursAndFontsManager::Get().GetAllLexersNames();
diff --git a/LiteEditor/dbgcommanddlg.cpp b/LiteEditor/dbgcommanddlg.cpp
index 71deb340..f0e9bd99 100644
--- a/LiteEditor/dbgcommanddlg.cpp
+++ b/LiteEditor/dbgcommanddlg.cpp
@@ -25,17 +25,15 @@
#include "dbgcommanddlg.h"
#include "windowattrmanager.h"
-DbgCommandDlg::DbgCommandDlg( wxWindow* parent )
- : DbgCommandBaseDlg( parent )
+DbgCommandDlg::DbgCommandDlg(wxWindow* parent)
+ : DbgCommandBaseDlg(parent)
{
- Centre();
- GetSizer()->Fit(this);
- m_textCtrlName->SetFocus();
+ Centre();
+ GetSizer()->Fit(this);
+ m_textCtrlName->SetFocus();
- WindowAttrManager::Load(this, wxT("dbgcommanddlg"), NULL);
+ SetName("DbgCommandDlg");
+ WindowAttrManager::Load(this);
}
-DbgCommandDlg::~DbgCommandDlg()
-{
- WindowAttrManager::Save(this, wxT("dbgcommanddlg"), NULL);
-}
+DbgCommandDlg::~DbgCommandDlg() {}
diff --git a/LiteEditor/debugcoredump.cpp b/LiteEditor/debugcoredump.cpp
index 3163ed7d..95e4855b 100644
--- a/LiteEditor/debugcoredump.cpp
+++ b/LiteEditor/debugcoredump.cpp
@@ -1,222 +1,224 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : debugcoredump.cpp
-//
+// copyright : (C) 2008 by Eran Ifrah
+// file name : debugcoredump.cpp
+//
// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
#include "manager.h"
#include "project.h"
-#include "windowattrmanager.h"
+#include "windowattrmanager.h"
#include "macromanager.h"
#include "pluginmanager.h"
-#include "editor_config.h"
+#include "editor_config.h"
#include "globals.h"
#include "debuggermanager.h"
#include "debugcoredumpinfo.h"
#include "debugcoredump.h"
#include <wx/display.h>
-#include <wx/filedlg.h>
-#include <wx/dirdlg.h>
-
-
-DebugCoreDumpDlg::DebugCoreDumpDlg(wxWindow* parent) : DebugCoreDumpDlgBase(parent)
-{
- // Prevent enormously-long strings from crowding the browse buttons off the screen
- wxDisplay display;
- int width = display.GetClientArea().GetWidth();
- wxSize size(width/4, -1);
- m_Core->SetInitialSize(size);
- m_ExeFilepath->SetInitialSize(size);
- m_WD->SetInitialSize(size);
-
- SetMaxSize(wxSize(width*2/3, -1));
- GetSizer()->Layout();
- GetSizer()->Fit(this);
-
- WindowAttrManager::Load(this, wxT("DebugCoreDumpDlgAttr"), NULL);
-
- Initialize();
- if (m_Core->GetCount() == 0) {
- // If there's no known core yet, set focus here so one can be added
- m_Core->SetFocus();
- } else {
- m_buttonDebug->SetFocus();
- }
+#include <wx/filedlg.h>
+#include <wx/dirdlg.h>
+
+DebugCoreDumpDlg::DebugCoreDumpDlg(wxWindow* parent)
+ : DebugCoreDumpDlgBase(parent)
+{
+ // Prevent enormously-long strings from crowding the browse buttons off the screen
+ wxDisplay display;
+ int width = display.GetClientArea().GetWidth();
+ wxSize size(width / 4, -1);
+ m_Core->SetInitialSize(size);
+ m_ExeFilepath->SetInitialSize(size);
+ m_WD->SetInitialSize(size);
+
+ SetMaxSize(wxSize(width * 2 / 3, -1));
+ GetSizer()->Layout();
+ GetSizer()->Fit(this);
+
+ SetName("DebugCoreDumpDlg");
+ WindowAttrManager::Load(this);
+
+ Initialize();
+ if(m_Core->GetCount() == 0) {
+ // If there's no known core yet, set focus here so one can be added
+ m_Core->SetFocus();
+ } else {
+ m_buttonDebug->SetFocus();
+ }
}
-void DebugCoreDumpDlg::Initialize()
-{
- DebugCoreDumpInfo info;
- EditorConfigST::Get()->ReadObject(wxT("DebugCoreDumpDlg"), &info);
-
- m_choiceDebuggers->Append(DebuggerMgr::Get().GetAvailableDebuggers());
- if (m_choiceDebuggers->GetCount()){
- m_choiceDebuggers->SetSelection(0);
- }
- if (m_choiceDebuggers->GetCount() > (unsigned int)info.GetSelectedDbg()){
- m_choiceDebuggers->SetSelection(info.GetSelectedDbg());
- }
-
- m_Core->Append(info.GetCoreFilepaths());
- if (m_Core->GetCount() > 0) {
- m_Core->SetSelection(0);
- }
-
- m_WD->Append(info.GetWds());
- if (m_WD->GetCount() > 0) {
- m_WD->SetSelection(0);
- }
-
- m_ExeFilepath->Append(info.GetExeFilepaths());
- if (m_ExeFilepath->GetCount() > 0) {
- m_ExeFilepath->SetSelection(0);
- } else {
- // determine the executable to debug:
- // - If the 'Program' field is set - we use it
- // - Else we use the project's output name
- wxString activename, conf;
- ManagerST::Get()->GetActiveProjectAndConf(activename, conf);
- BuildConfigPtr buildConf = WorkspaceST::Get()->GetProjBuildConf(activename, conf);
- if(buildConf) {
- // expand all macros with their values
- wxString programToDebug = buildConf->GetCommand();
- programToDebug.Trim().Trim(false);
-
- if(programToDebug.IsEmpty()) {
- programToDebug = buildConf->GetOutputFileName();
- }
- wxString outputFile = MacroManager::Instance()->Expand(programToDebug, PluginManager::Get(), activename, conf);
-
- if (m_ExeFilepath->Append(outputFile) != wxNOT_FOUND) {
- m_ExeFilepath->SetSelection(0);
- }
-
- // determine the working directory
- // if we have a working directory set in the project settings, use it (if it is not an
- // absolute path, it will be appended to the project's path)
- wxString projWD = MacroManager::Instance()->Expand(buildConf->GetWorkingDirectory(), PluginManager::Get(), activename, conf);
- projWD.Trim().Trim(false);
- wxString wd;
- ProjectPtr proj = ManagerST::Get()->GetProject(activename);
- if(proj) {
- if(projWD.IsEmpty() || !wxFileName(projWD).IsAbsolute()) {
- wxString basePath = proj->GetFileName().GetPath();
- wd << basePath << wxFileName::GetPathSeparator();
- }
- }
- wd << projWD;
-
- if (m_WD->Insert(wd, 0) != wxNOT_FOUND) {
- m_WD->SetSelection(0);
- }
- }
- }
-}
+void DebugCoreDumpDlg::Initialize()
+{
+ DebugCoreDumpInfo info;
+ EditorConfigST::Get()->ReadObject(wxT("DebugCoreDumpDlg"), &info);
+
+ m_choiceDebuggers->Append(DebuggerMgr::Get().GetAvailableDebuggers());
+ if(m_choiceDebuggers->GetCount()) {
+ m_choiceDebuggers->SetSelection(0);
+ }
+ if(m_choiceDebuggers->GetCount() > (unsigned int)info.GetSelectedDbg()) {
+ m_choiceDebuggers->SetSelection(info.GetSelectedDbg());
+ }
+
+ m_Core->Append(info.GetCoreFilepaths());
+ if(m_Core->GetCount() > 0) {
+ m_Core->SetSelection(0);
+ }
+
+ m_WD->Append(info.GetWds());
+ if(m_WD->GetCount() > 0) {
+ m_WD->SetSelection(0);
+ }
+
+ m_ExeFilepath->Append(info.GetExeFilepaths());
+ if(m_ExeFilepath->GetCount() > 0) {
+ m_ExeFilepath->SetSelection(0);
+ } else {
+ // determine the executable to debug:
+ // - If the 'Program' field is set - we use it
+ // - Else we use the project's output name
+ wxString activename, conf;
+ ManagerST::Get()->GetActiveProjectAndConf(activename, conf);
+ BuildConfigPtr buildConf = WorkspaceST::Get()->GetProjBuildConf(activename, conf);
+ if(buildConf) {
+ // expand all macros with their values
+ wxString programToDebug = buildConf->GetCommand();
+ programToDebug.Trim().Trim(false);
+
+ if(programToDebug.IsEmpty()) {
+ programToDebug = buildConf->GetOutputFileName();
+ }
+ wxString outputFile =
+ MacroManager::Instance()->Expand(programToDebug, PluginManager::Get(), activename, conf);
+
+ if(m_ExeFilepath->Append(outputFile) != wxNOT_FOUND) {
+ m_ExeFilepath->SetSelection(0);
+ }
+
+ // determine the working directory
+ // if we have a working directory set in the project settings, use it (if it is not an
+ // absolute path, it will be appended to the project's path)
+ wxString projWD = MacroManager::Instance()->Expand(
+ buildConf->GetWorkingDirectory(), PluginManager::Get(), activename, conf);
+ projWD.Trim().Trim(false);
+ wxString wd;
+ ProjectPtr proj = ManagerST::Get()->GetProject(activename);
+ if(proj) {
+ if(projWD.IsEmpty() || !wxFileName(projWD).IsAbsolute()) {
+ wxString basePath = proj->GetFileName().GetPath();
+ wd << basePath << wxFileName::GetPathSeparator();
+ }
+ }
+ wd << projWD;
+
+ if(m_WD->Insert(wd, 0) != wxNOT_FOUND) {
+ m_WD->SetSelection(0);
+ }
+ }
+ }
+}
void DebugCoreDumpDlg::OnButtonBrowseCore(wxCommandEvent& event)
-{
- wxUnusedVar(event);
-
- wxString path, ans;
- wxFileName fn(GetCore());
- if (fn.FileExists()) {
- // Use the serialised path as the wxFileSelector default path
- path = fn.GetPath();
- } else {
- // Otherwise use any working dir entry, which might just have been altered
- path = GetWorkingDirectory();
- }
-
- ans = wxFileSelector(_("Select core dump:"), path);
- if (!ans.empty()) {
- m_Core->Insert(ans, 0);
- m_Core->SetSelection(0);
- }
-}
+{
+ wxUnusedVar(event);
+
+ wxString path, ans;
+ wxFileName fn(GetCore());
+ if(fn.FileExists()) {
+ // Use the serialised path as the wxFileSelector default path
+ path = fn.GetPath();
+ } else {
+ // Otherwise use any working dir entry, which might just have been altered
+ path = GetWorkingDirectory();
+ }
+
+ ans = wxFileSelector(_("Select core dump:"), path);
+ if(!ans.empty()) {
+ m_Core->Insert(ans, 0);
+ m_Core->SetSelection(0);
+ }
+}
void DebugCoreDumpDlg::OnButtonBrowseExe(wxCommandEvent& event)
-{
- wxUnusedVar(event);
-
- wxString path, ans;
- wxFileName fn(GetExe());
- if (fn.FileExists()) {
- // Use the serialised path as the wxFileSelector default path
- path = fn.GetPath();
- } else {
- // Otherwise use any working dir entry, which might just have been altered
- path = GetWorkingDirectory();
- }
-
- ans = wxFileSelector(_("Select file:"), path);
- if (!ans.empty()) {
- m_ExeFilepath->Insert(ans, 0);
- m_ExeFilepath->SetSelection(0);
- }
-}
+{
+ wxUnusedVar(event);
+
+ wxString path, ans;
+ wxFileName fn(GetExe());
+ if(fn.FileExists()) {
+ // Use the serialised path as the wxFileSelector default path
+ path = fn.GetPath();
+ } else {
+ // Otherwise use any working dir entry, which might just have been altered
+ path = GetWorkingDirectory();
+ }
+
+ ans = wxFileSelector(_("Select file:"), path);
+ if(!ans.empty()) {
+ m_ExeFilepath->Insert(ans, 0);
+ m_ExeFilepath->SetSelection(0);
+ }
+}
void DebugCoreDumpDlg::OnButtonBrowseWD(wxCommandEvent& event)
-{
- wxUnusedVar(event);
-
- wxString ans, path(GetWorkingDirectory());
- if (!wxFileName::DirExists(path)){
- path = wxGetCwd();
- }
-
- ans = wxDirSelector(_("Select working directory:"), path);
- if (!ans.empty()) {
- m_WD->Insert(ans, 0);
- m_WD->SetSelection(0);
- }
+{
+ wxUnusedVar(event);
+
+ wxString ans, path(GetWorkingDirectory());
+ if(!wxFileName::DirExists(path)) {
+ path = wxGetCwd();
+ }
+
+ ans = wxDirSelector(_("Select working directory:"), path);
+ if(!ans.empty()) {
+ m_WD->Insert(ans, 0);
+ m_WD->SetSelection(0);
+ }
}
void DebugCoreDumpDlg::OnButtonCancel(wxCommandEvent& event)
-{
- wxUnusedVar(event);
- WindowAttrManager::Save(this, wxT("DebugCoreDumpDlgAttr"), NULL);
- EndModal(wxID_CANCEL);
+{
+ wxUnusedVar(event);
+
+ EndModal(wxID_CANCEL);
}
void DebugCoreDumpDlg::OnButtonDebug(wxCommandEvent& event)
{
- wxUnusedVar(event);
-
- // save values
- const size_t MAX_NO_ITEMS = 10;
- DebugCoreDumpInfo info;
- info.SetCoreFilepaths( ReturnWithStringPrepended(m_Core->GetStrings(), GetCore(), MAX_NO_ITEMS) );
- info.SetExeFilepaths( ReturnWithStringPrepended(m_ExeFilepath->GetStrings(), GetExe(), MAX_NO_ITEMS) );
- info.SetWDs( ReturnWithStringPrepended(m_WD->GetStrings(), GetWorkingDirectory(), MAX_NO_ITEMS) );
- info.SetSelectedDbg(m_choiceDebuggers->GetSelection());
-
- EditorConfigST::Get()->WriteObject(wxT("DebugCoreDumpDlg"), &info);
-
- WindowAttrManager::Save(this, wxT("DebugCoreDumpDlgAttr"), NULL);
- EndModal(wxID_OK);
+ wxUnusedVar(event);
+
+ // save values
+ const size_t MAX_NO_ITEMS = 10;
+ DebugCoreDumpInfo info;
+ info.SetCoreFilepaths(ReturnWithStringPrepended(m_Core->GetStrings(), GetCore(), MAX_NO_ITEMS));
+ info.SetExeFilepaths(ReturnWithStringPrepended(m_ExeFilepath->GetStrings(), GetExe(), MAX_NO_ITEMS));
+ info.SetWDs(ReturnWithStringPrepended(m_WD->GetStrings(), GetWorkingDirectory(), MAX_NO_ITEMS));
+ info.SetSelectedDbg(m_choiceDebuggers->GetSelection());
+
+ EditorConfigST::Get()->WriteObject(wxT("DebugCoreDumpDlg"), &info);
+
+ EndModal(wxID_OK);
}
void DebugCoreDumpDlg::OnDebugBtnUpdateUI(wxUpdateUIEvent& event)
{
- // gdb needs both a core and an exe for useful debugging
- event.Enable(!GetCore().empty() && !GetExe().empty());
+ // gdb needs both a core and an exe for useful debugging
+ event.Enable(!GetCore().empty() && !GetExe().empty());
}
diff --git a/LiteEditor/debuggerasciiviewerbase.cpp b/LiteEditor/debuggerasciiviewerbase.cpp
index a1d11320..99a7debe 100644
--- a/LiteEditor/debuggerasciiviewerbase.cpp
+++ b/LiteEditor/debuggerasciiviewerbase.cpp
@@ -51,7 +51,7 @@ DebuggerAsciiViewerBase::DebuggerAsciiViewerBase( wxWindow* parent, wxWindowID i
m_textCtrlExpression = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_RICH2 );
m_textCtrlExpression->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
- bSizer2->Add( m_textCtrlExpression, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+ bSizer2->Add( m_textCtrlExpression, 1, wxALL|wxEXPAND, 5 );
m_buttonClear = new wxButton( this, wxID_ANY, _("&Clear"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonClear->SetDefault();
diff --git a/LiteEditor/debuggerasciiviewerbase.fbp b/LiteEditor/debuggerasciiviewerbase.fbp
index 842cca0d..1155b7e6 100644
--- a/LiteEditor/debuggerasciiviewerbase.fbp
+++ b/LiteEditor/debuggerasciiviewerbase.fbp
@@ -127,7 +127,7 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
+ <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxTextCtrl" expanded="1">
<property name="bg">wxSYS_COLOUR_BTNFACE</property>
diff --git a/LiteEditor/debuggersettingsdlg.cpp b/LiteEditor/debuggersettingsdlg.cpp
index e1a73272..538b7857 100644
--- a/LiteEditor/debuggersettingsdlg.cpp
+++ b/LiteEditor/debuggersettingsdlg.cpp
@@ -37,7 +37,7 @@
// Misc Page
///////////////////////////////////////////////////
-DebuggerPageMisc::DebuggerPageMisc(wxWindow* parent, const wxString &title)
+DebuggerPageMisc::DebuggerPageMisc(wxWindow* parent, const wxString& title)
: DbgPageMiscBase(parent)
, m_title(title)
{
@@ -61,17 +61,11 @@ DebuggerPageMisc::DebuggerPageMisc(wxWindow* parent, const wxString &title)
#endif
}
-DebuggerPageMisc::~DebuggerPageMisc()
-{
-}
+DebuggerPageMisc::~DebuggerPageMisc() {}
-void DebuggerPageMisc::OnDebugAssert(wxCommandEvent& event)
-{
-}
+void DebuggerPageMisc::OnDebugAssert(wxCommandEvent& event) {}
-void DebuggerPageMisc::OnWindowsUI(wxUpdateUIEvent& event)
-{
-}
+void DebuggerPageMisc::OnWindowsUI(wxUpdateUIEvent& event) {}
///////////////////////////////////////////////////
// Startup Commands Page
@@ -87,15 +81,13 @@ DebuggerPageStartupCmds::DebuggerPageStartupCmds(wxWindow* parent, const wxStrin
}
}
-DebuggerPageStartupCmds::~DebuggerPageStartupCmds()
-{
-}
+DebuggerPageStartupCmds::~DebuggerPageStartupCmds() {}
///////////////////////////////////////////////////
// General Page
///////////////////////////////////////////////////
-DebuggerPage::DebuggerPage(wxWindow *parent, wxString title)
+DebuggerPage::DebuggerPage(wxWindow* parent, wxString title)
: DbgPageGeneralBase(parent)
, m_title(title)
{
@@ -116,28 +108,26 @@ DebuggerPage::DebuggerPage(wxWindow *parent, wxString title)
}
}
-DebuggerPage::~DebuggerPage()
-{
-}
+DebuggerPage::~DebuggerPage() {}
void DebuggerPage::OnBrowse(wxCommandEvent& e)
{
wxUnusedVar(e);
wxString newfilepath, filepath(m_textCtrDbgPath->GetValue());
- if ((!filepath.IsEmpty()) && wxFileName::FileExists(filepath)) {
+ if((!filepath.IsEmpty()) && wxFileName::FileExists(filepath)) {
newfilepath = wxFileSelector(wxT("Select file:"), filepath.c_str());
} else {
newfilepath = wxFileSelector(wxT("Select file:"));
}
- if (!newfilepath.IsEmpty()) {
+ if(!newfilepath.IsEmpty()) {
m_textCtrDbgPath->SetValue(newfilepath);
}
}
void DebuggerPage::OnDebugAssert(wxCommandEvent& e)
{
- if ( e.IsChecked() ) {
+ if(e.IsChecked()) {
m_checkBoxEnablePendingBreakpoints->SetValue(true);
}
}
@@ -155,37 +145,36 @@ void DebuggerPage::OnWindowsUI(wxUpdateUIEvent& event)
DbgPagePreDefTypes::DbgPagePreDefTypes(wxWindow* parent)
: DbgPagePreDefTypesBase(parent)
{
- //add items from the saved items
+ // add items from the saved items
DebuggerSettingsPreDefMap data;
DebuggerConfigTool::Get()->ReadObject(wxT("DebuggerCommands"), &data);
std::map<wxString, DebuggerPreDefinedTypes>::const_iterator iter = data.GePreDefinedTypesMap().begin();
for(; iter != data.GePreDefinedTypesMap().end(); iter++) {
- m_notebookPreDefTypes->AddPage(new PreDefinedTypesPage(m_notebookPreDefTypes, iter->second), iter->first, iter->second.IsActive());
+ m_notebookPreDefTypes->AddPage(
+ new PreDefinedTypesPage(m_notebookPreDefTypes, iter->second), iter->first, iter->second.IsActive());
}
}
-DbgPagePreDefTypes::~DbgPagePreDefTypes()
-{
-}
+DbgPagePreDefTypes::~DbgPagePreDefTypes() {}
void DbgPagePreDefTypes::Save()
{
- //copy the commands the serialized object m_data
+ // copy the commands the serialized object m_data
DebuggerSettingsPreDefMap preDefMap;
std::map<wxString, DebuggerPreDefinedTypes> typesMap;
- for(size_t i=0; i<m_notebookPreDefTypes->GetPageCount(); i++) {
- PreDefinedTypesPage *page = dynamic_cast<PreDefinedTypesPage*>(m_notebookPreDefTypes->GetPage(i));
+ for(size_t i = 0; i < m_notebookPreDefTypes->GetPageCount(); i++) {
+ PreDefinedTypesPage* page = dynamic_cast<PreDefinedTypesPage*>(m_notebookPreDefTypes->GetPage(i));
if(page) {
DebuggerPreDefinedTypes types = page->GetPreDefinedTypes();
- types.SetActive( i == (size_t) m_notebookPreDefTypes->GetSelection() );
+ types.SetActive(i == (size_t)m_notebookPreDefTypes->GetSelection());
typesMap[types.GetName()] = types;
}
}
preDefMap.SePreDefinedTypesMap(typesMap);
- //save the debugger commands
+ // save the debugger commands
DebuggerConfigTool::Get()->WriteObject(wxT("DebuggerCommands"), &preDefMap);
}
@@ -193,14 +182,14 @@ void DbgPagePreDefTypes::OnDeleteSet(wxCommandEvent& event)
{
wxUnusedVar(event);
int sel = m_notebookPreDefTypes->GetSelection();
- if(sel == wxNOT_FOUND)
- return;
+ if(sel == wxNOT_FOUND) return;
wxString name = m_notebookPreDefTypes->GetPageText((size_t)sel);
- if(wxMessageBox(wxString::Format(wxT("You are about to delete 'PreDefined Types' set '%s'\nContinue ?"), name.c_str()),
- wxT("Confirm deleting 'PreDefined Types' set"),
- wxYES_NO|wxCENTER|wxICON_QUESTION,
- this) == wxYES) {
+ if(wxMessageBox(
+ wxString::Format(wxT("You are about to delete 'PreDefined Types' set '%s'\nContinue ?"), name.c_str()),
+ wxT("Confirm deleting 'PreDefined Types' set"),
+ wxYES_NO | wxCENTER | wxICON_QUESTION,
+ this) == wxYES) {
m_notebookPreDefTypes->DeletePage((size_t)sel);
}
}
@@ -219,7 +208,7 @@ void DbgPagePreDefTypes::OnNewSet(wxCommandEvent& event)
wxArrayString copyFromArr;
// Make sure that a set with this name does not already exists
copyFromArr.Add(wxT("None"));
- for(size_t i=0; i<m_notebookPreDefTypes->GetPageCount(); i++) {
+ for(size_t i = 0; i < m_notebookPreDefTypes->GetPageCount(); i++) {
copyFromArr.Add(m_notebookPreDefTypes->GetPageText((size_t)i));
}
dlg.GetChoiceCopyFrom()->Append(copyFromArr);
@@ -229,13 +218,14 @@ void DbgPagePreDefTypes::OnNewSet(wxCommandEvent& event)
if(dlg.ShowModal() == wxID_OK) {
wxString newName = dlg.GetNameTextctl()->GetValue();
newName.Trim().Trim(false);
- if(newName.IsEmpty())
- return;
+ if(newName.IsEmpty()) return;
// Make sure that a set with this name does not already exists
- for(size_t i=0; i<m_notebookPreDefTypes->GetPageCount(); i++) {
+ for(size_t i = 0; i < m_notebookPreDefTypes->GetPageCount(); i++) {
if(m_notebookPreDefTypes->GetPageText((size_t)i) == newName) {
- wxMessageBox(wxT("A set with this name already exist"), wxT("Name Already Exists"), wxICON_WARNING|wxOK|wxCENTER);
+ wxMessageBox(wxT("A set with this name already exist"),
+ wxT("Name Already Exists"),
+ wxICON_WARNING | wxOK | wxCENTER);
return;
}
}
@@ -243,8 +233,8 @@ void DbgPagePreDefTypes::OnNewSet(wxCommandEvent& event)
DebuggerPreDefinedTypes initialValues;
wxString copyFrom = dlg.GetChoiceCopyFrom()->GetStringSelection();
if(copyFrom != wxT("None")) {
- for(size_t i=0; i<m_notebookPreDefTypes->GetPageCount(); i++) {
- PreDefinedTypesPage *page = dynamic_cast<PreDefinedTypesPage*>(m_notebookPreDefTypes->GetPage(i));
+ for(size_t i = 0; i < m_notebookPreDefTypes->GetPageCount(); i++) {
+ PreDefinedTypesPage* page = dynamic_cast<PreDefinedTypesPage*>(m_notebookPreDefTypes->GetPage(i));
if(page && m_notebookPreDefTypes->GetPageText(i) == copyFrom) {
initialValues = page->GetPreDefinedTypes();
break;
@@ -252,106 +242,105 @@ void DbgPagePreDefTypes::OnNewSet(wxCommandEvent& event)
}
}
- initialValues.SetName( newName );
- m_notebookPreDefTypes->AddPage(new PreDefinedTypesPage(m_notebookPreDefTypes, initialValues),
- initialValues.GetName(),
+ initialValues.SetName(newName);
+ m_notebookPreDefTypes->AddPage(new PreDefinedTypesPage(m_notebookPreDefTypes, initialValues),
+ initialValues.GetName(),
dlg.GetCheckBoxMakeActive()->IsChecked());
-
}
}
///////////////////////////////////////////////////
// Container dialog Page
///////////////////////////////////////////////////
-DebuggerSettingsDlg::DebuggerSettingsDlg( wxWindow* parent )
- :DebuggerSettingsBaseDlg( parent )
+DebuggerSettingsDlg::DebuggerSettingsDlg(wxWindow* parent)
+ : DebuggerSettingsBaseDlg(parent)
{
- //fill the notebook with the available debuggers
+ // fill the notebook with the available debuggers
Initialize();
ConnectButton(m_buttonOK, DebuggerSettingsDlg::OnOk);
- // center the dialog
- Centre();
-
- WindowAttrManager::Load(this, wxT("DbgSettingsDlg"), NULL);
GetSizer()->Fit(this);
+ CenterOnParent();
+
+ SetName("DebuggerSettingsDlg");
+ WindowAttrManager::Load(this);
}
void DebuggerSettingsDlg::Initialize()
{
MSWSetNativeTheme(m_treebook2->GetTreeCtrl());
- //create page per-debugger
+ // create page per-debugger
m_treebook2->AddPage(0, "GNU gdb debugger", true);
// for each debugger, add page
- m_treebook2->AddSubPage(new DebuggerPage (m_treebook2, "GNU gdb debugger"), wxT("General"), true);
- m_treebook2->AddSubPage(new DebuggerPageMisc (m_treebook2, "GNU gdb debugger"), wxT("Misc"), false);
- m_treebook2->AddSubPage(new DebuggerPageStartupCmds(m_treebook2, "GNU gdb debugger"), wxT("Startup Commands"), false);
+ m_treebook2->AddSubPage(new DebuggerPage(m_treebook2, "GNU gdb debugger"), wxT("General"), true);
+ m_treebook2->AddSubPage(new DebuggerPageMisc(m_treebook2, "GNU gdb debugger"), wxT("Misc"), false);
+ m_treebook2->AddSubPage(
+ new DebuggerPageStartupCmds(m_treebook2, "GNU gdb debugger"), wxT("Startup Commands"), false);
m_treebook2->AddPage(new DbgPagePreDefTypes(m_treebook2), wxT("Pre Defined Types"), false);
}
-void DebuggerSettingsDlg::OnOk(wxCommandEvent &e)
+void DebuggerSettingsDlg::OnOk(wxCommandEvent& e)
{
wxUnusedVar(e);
- //go over the debuggers and set the debugger path
- for (size_t i=0; i<(size_t) m_treebook2->GetPageCount(); i++) {
- wxWindow *win = m_treebook2->GetPage(i);
- if( !win )
- continue;
+ // go over the debuggers and set the debugger path
+ for(size_t i = 0; i < (size_t)m_treebook2->GetPageCount(); i++) {
+ wxWindow* win = m_treebook2->GetPage(i);
+ if(!win) continue;
- DebuggerPage *page = dynamic_cast<DebuggerPage*>(win);
+ DebuggerPage* page = dynamic_cast<DebuggerPage*>(win);
if(page) {
- //find the debugger
+ // find the debugger
DebuggerInformation info;
DebuggerMgr::Get().GetDebuggerInformation(page->m_title, info);
- //populate the information and save it
- info.enablePendingBreakpoints = page->m_checkBoxEnablePendingBreakpoints->GetValue();
- info.path = page->m_textCtrDbgPath->GetValue();
- info.name = page->m_title;
- info.breakAtWinMain = page->m_checkBreakAtWinMain->IsChecked();
- info.consoleCommand = EditorConfigST::Get()->GetOptions()->GetProgramConsoleCommand();
- info.catchThrow = page->m_catchThrow->IsChecked();
+ // populate the information and save it
+ info.enablePendingBreakpoints = page->m_checkBoxEnablePendingBreakpoints->GetValue();
+ info.path = page->m_textCtrDbgPath->GetValue();
+ info.name = page->m_title;
+ info.breakAtWinMain = page->m_checkBreakAtWinMain->IsChecked();
+ info.consoleCommand = EditorConfigST::Get()->GetOptions()->GetProgramConsoleCommand();
+ info.catchThrow = page->m_catchThrow->IsChecked();
info.showTooltipsOnlyWithControlKeyIsDown = page->m_showTooltipsRequiresControl->IsChecked();
- info.maxDisplayStringSize = page->m_spinCtrlNumElements->GetValue();
- info.resolveLocals = page->m_checkBoxExpandLocals->IsChecked();
- info.autoExpandTipItems = page->m_checkBoxAutoExpand->IsChecked();
- info.applyBreakpointsAfterProgramStarted = page->m_checkBoxSetBreakpointsAfterMain->IsChecked();
- info.whenBreakpointHitRaiseCodelite = page->m_raiseOnBpHit->IsChecked();
- info.charArrAsPtr = page->m_checkBoxCharArrAsPtr->IsChecked();
- info.enableGDBPrettyPrinting = page->m_checkBoxUsePrettyPrinting->IsChecked();
+ info.maxDisplayStringSize = page->m_spinCtrlNumElements->GetValue();
+ info.resolveLocals = page->m_checkBoxExpandLocals->IsChecked();
+ info.autoExpandTipItems = page->m_checkBoxAutoExpand->IsChecked();
+ info.applyBreakpointsAfterProgramStarted = page->m_checkBoxSetBreakpointsAfterMain->IsChecked();
+ info.whenBreakpointHitRaiseCodelite = page->m_raiseOnBpHit->IsChecked();
+ info.charArrAsPtr = page->m_checkBoxCharArrAsPtr->IsChecked();
+ info.enableGDBPrettyPrinting = page->m_checkBoxUsePrettyPrinting->IsChecked();
DebuggerMgr::Get().SetDebuggerInformation(page->m_title, info);
}
- DebuggerPageMisc *miscPage = dynamic_cast<DebuggerPageMisc*>(win);
+ DebuggerPageMisc* miscPage = dynamic_cast<DebuggerPageMisc*>(win);
if(miscPage) {
- //find the debugger
+ // find the debugger
DebuggerInformation info;
DebuggerMgr::Get().GetDebuggerInformation(miscPage->m_title, info);
- //populate the information and save it
- info.enableDebugLog = miscPage->m_checkBoxEnableLog->GetValue();
- info.showTerminal = miscPage->m_checkShowTerminal->IsChecked();
- info.useRelativeFilePaths = miscPage->m_checkUseRelativePaths->IsChecked();
- info.maxCallStackFrames = miscPage->m_maxFramesSpinCtrl->GetValue();
+ // populate the information and save it
+ info.enableDebugLog = miscPage->m_checkBoxEnableLog->GetValue();
+ info.showTerminal = miscPage->m_checkShowTerminal->IsChecked();
+ info.useRelativeFilePaths = miscPage->m_checkUseRelativePaths->IsChecked();
+ info.maxCallStackFrames = miscPage->m_maxFramesSpinCtrl->GetValue();
#ifdef __WXMSW__
- info.debugAsserts = miscPage->m_checkBoxDebugAssert->IsChecked();
+ info.debugAsserts = miscPage->m_checkBoxDebugAssert->IsChecked();
#endif
- info.cygwinPathCommand = miscPage->m_textCtrlCygwinPathCommand->GetValue();
+ info.cygwinPathCommand = miscPage->m_textCtrlCygwinPathCommand->GetValue();
DebuggerMgr::Get().SetDebuggerInformation(miscPage->m_title, info);
}
- DebuggerPageStartupCmds *suCmds = dynamic_cast<DebuggerPageStartupCmds*>(win);
+ DebuggerPageStartupCmds* suCmds = dynamic_cast<DebuggerPageStartupCmds*>(win);
if(suCmds) {
- //find the debugger
+ // find the debugger
DebuggerInformation info;
DebuggerMgr::Get().GetDebuggerInformation(suCmds->m_title, info);
info.startupCommands = suCmds->m_textCtrlStartupCommands->GetValue();
DebuggerMgr::Get().SetDebuggerInformation(suCmds->m_title, info);
}
- DbgPagePreDefTypes *pd = dynamic_cast<DbgPagePreDefTypes*>( win );
+ DbgPagePreDefTypes* pd = dynamic_cast<DbgPagePreDefTypes*>(win);
if(pd) {
pd->Save();
}
@@ -360,13 +349,10 @@ void DebuggerSettingsDlg::OnOk(wxCommandEvent &e)
EndModal(wxID_OK);
}
-void DebuggerSettingsDlg::OnButtonCancel(wxCommandEvent &e)
+void DebuggerSettingsDlg::OnButtonCancel(wxCommandEvent& e)
{
wxUnusedVar(e);
EndModal(wxID_CANCEL);
}
-DebuggerSettingsDlg::~DebuggerSettingsDlg()
-{
- WindowAttrManager::Save(this, wxT("DbgSettingsDlg"), NULL);
-}
+DebuggerSettingsDlg::~DebuggerSettingsDlg() { }
diff --git a/LiteEditor/depends_dlg.cpp b/LiteEditor/depends_dlg.cpp
index 393e0536..ceb2cc0e 100644
--- a/LiteEditor/depends_dlg.cpp
+++ b/LiteEditor/depends_dlg.cpp
@@ -32,67 +32,72 @@
///////////////////////////////////////////////////////////////////////////
-DependenciesDlg::DependenciesDlg( wxWindow* parent, const wxString &projectName, int id, wxString title, wxPoint pos, wxSize size, int style )
- : wxDialog( parent, id, title, pos, size, style )
+DependenciesDlg::DependenciesDlg(wxWindow* parent,
+ const wxString& projectName,
+ int id,
+ wxString title,
+ wxPoint pos,
+ wxSize size,
+ int style)
+ : wxDialog(parent, id, title, pos, size, style)
, m_projectName(projectName)
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetSizeHints(wxDefaultSize, wxDefaultSize);
wxBoxSizer* mainSizer;
- mainSizer = new wxBoxSizer( wxVERTICAL );
+ mainSizer = new wxBoxSizer(wxVERTICAL);
- m_book = new wxChoicebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT );
- mainSizer->Add( m_book, 1, wxEXPAND | wxALL, 5 );
+ m_book = new wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT);
+ mainSizer->Add(m_book, 1, wxEXPAND | wxALL, 5);
- m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- mainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
+ m_staticline1 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
+ mainSizer->Add(m_staticline1, 0, wxEXPAND | wxALL, 5);
wxBoxSizer* btnSizer;
- btnSizer = new wxBoxSizer( wxHORIZONTAL );
+ btnSizer = new wxBoxSizer(wxHORIZONTAL);
- m_buttonOK = new wxButton( this, wxID_ANY, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
- btnSizer->Add( m_buttonOK, 0, wxALL, 5 );
+ m_buttonOK = new wxButton(this, wxID_ANY, _("&OK"), wxDefaultPosition, wxDefaultSize, 0);
+ btnSizer->Add(m_buttonOK, 0, wxALL, 5);
- m_buttonCancel = new wxButton( this, wxID_ANY, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
- btnSizer->Add( m_buttonCancel, 0, wxALL, 5 );
+ m_buttonCancel = new wxButton(this, wxID_ANY, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0);
+ btnSizer->Add(m_buttonCancel, 0, wxALL, 5);
- mainSizer->Add( btnSizer, 0, wxALIGN_RIGHT, 5 );
+ mainSizer->Add(btnSizer, 0, wxALIGN_RIGHT, 5);
- this->SetSizer( mainSizer );
+ this->SetSizer(mainSizer);
this->Layout();
m_book->GetChoiceCtrl()->SetFocus();
Centre();
Init();
-
- WindowAttrManager::Load(this, "DepdsDlg");
-}
-DependenciesDlg::~DependenciesDlg()
-{
- WindowAttrManager::Save(this, "DepdsDlg");
+ SetName("DependenciesDlg");
+ WindowAttrManager::Load(this);
}
+DependenciesDlg::~DependenciesDlg() {}
+
void DependenciesDlg::Init()
{
- //fill the pages of the choice book
+ // fill the pages of the choice book
wxArrayString projects;
ManagerST::Get()->GetProjectList(projects);
wxString activeProj = ManagerST::Get()->GetActiveProjectName();
- for(size_t i=0; i<projects.GetCount(); i++) {
- m_book->AddPage(new DependenciesPage(m_book, projects.Item(i)), projects.Item(i), m_projectName == projects.Item(i));
+ for(size_t i = 0; i < projects.GetCount(); i++) {
+ m_book->AddPage(
+ new DependenciesPage(m_book, projects.Item(i)), projects.Item(i), m_projectName == projects.Item(i));
}
- //connect events
+ // connect events
ConnectButton(m_buttonOK, DependenciesDlg::OnButtonOK);
ConnectButton(m_buttonCancel, DependenciesDlg::OnButtonCancel);
}
-void DependenciesDlg::OnButtonOK(wxCommandEvent &event)
+void DependenciesDlg::OnButtonOK(wxCommandEvent& event)
{
wxUnusedVar(event);
- for(size_t i=0; i<m_book->GetPageCount(); i++) {
- DependenciesPage *page = dynamic_cast<DependenciesPage *>( m_book->GetPage(i) );
+ for(size_t i = 0; i < m_book->GetPageCount(); i++) {
+ DependenciesPage* page = dynamic_cast<DependenciesPage*>(m_book->GetPage(i));
if(page) {
page->Save();
}
@@ -100,7 +105,7 @@ void DependenciesDlg::OnButtonOK(wxCommandEvent &event)
EndModal(wxID_OK);
}
-void DependenciesDlg::OnButtonCancel(wxCommandEvent &event)
+void DependenciesDlg::OnButtonCancel(wxCommandEvent& event)
{
wxUnusedVar(event);
EndModal(wxID_CANCEL);
diff --git a/LiteEditor/editcmpfileinfodlg.cpp b/LiteEditor/editcmpfileinfodlg.cpp
index 81694e2c..c6e11812 100644
--- a/LiteEditor/editcmpfileinfodlg.cpp
+++ b/LiteEditor/editcmpfileinfodlg.cpp
@@ -29,70 +29,56 @@
#include "manager.h"
#include "pluginmanager.h"
-EditCmpFileInfo::EditCmpFileInfo( wxWindow* parent)
- : EditCmpFileInfoBase( parent )
+EditCmpFileInfo::EditCmpFileInfo(wxWindow* parent)
+ : EditCmpFileInfoBase(parent)
{
- WindowAttrManager::Load(this, wxT("EditCmpFileInfo"), NULL);
+ SetName("EditCmpFileInfo");
+ WindowAttrManager::Load(this);
}
-void EditCmpFileInfo::OnFileTypeText( wxCommandEvent& event )
-{
- event.Skip();
-}
+void EditCmpFileInfo::OnFileTypeText(wxCommandEvent& event) { event.Skip(); }
-void EditCmpFileInfo::OnCompilationLine( wxCommandEvent& event )
-{
- event.Skip();
-}
+void EditCmpFileInfo::OnCompilationLine(wxCommandEvent& event) { event.Skip(); }
-void EditCmpFileInfo::OnButtonOk( wxCommandEvent& event )
+void EditCmpFileInfo::OnButtonOk(wxCommandEvent& event)
{
- wxUnusedVar(event);
- EndModal(wxID_OK);
+ wxUnusedVar(event);
+ EndModal(wxID_OK);
}
-void EditCmpFileInfo::OnButtonOkUI( wxUpdateUIEvent& event )
+void EditCmpFileInfo::OnButtonOkUI(wxUpdateUIEvent& event)
{
- event.Enable(!m_textCtrl2->IsEmpty() && !m_textCtrlFileType->IsEmpty());
+ event.Enable(!m_textCtrl2->IsEmpty() && !m_textCtrlFileType->IsEmpty());
}
-void EditCmpFileInfo::OnButtonCancel( wxCommandEvent& event )
+void EditCmpFileInfo::OnButtonCancel(wxCommandEvent& event)
{
- wxUnusedVar(event);
- EndModal(wxID_CANCEL);
+ wxUnusedVar(event);
+ EndModal(wxID_CANCEL);
}
-void EditCmpFileInfo::SetCompilationLine(const wxString& s)
-{
- m_textCtrl2->SetValue(s);
-}
+void EditCmpFileInfo::SetCompilationLine(const wxString& s) { m_textCtrl2->SetValue(s); }
-void EditCmpFileInfo::SetExtension(const wxString& s)
-{
- m_textCtrlFileType->SetValue(s);
-}
+void EditCmpFileInfo::SetExtension(const wxString& s) { m_textCtrlFileType->SetValue(s); }
void EditCmpFileInfo::SetKind(const wxString& s)
{
- int where = m_choiceFileTypeIs->FindString(s);
- if (where != wxNOT_FOUND) {
- m_choiceFileTypeIs->Select(where);
- }
+ int where = m_choiceFileTypeIs->FindString(s);
+ if(where != wxNOT_FOUND) {
+ m_choiceFileTypeIs->Select(where);
+ }
}
void EditCmpFileInfo::OnButtonHelp(wxCommandEvent& event)
{
- wxUnusedVar(event);
+ wxUnusedVar(event);
- wxString projectName = ManagerST::Get()->GetActiveProjectName();
- ProjectPtr project = ManagerST::Get()->GetProject(projectName);
- IEditor* editor = PluginManager::Get()->GetActiveEditor();
+ wxString projectName = ManagerST::Get()->GetActiveProjectName();
+ ProjectPtr project = ManagerST::Get()->GetProject(projectName);
+ IEditor* editor = PluginManager::Get()->GetActiveEditor();
- MacrosDlg dlg(this, MacrosDlg::MacrosCompiler, project, editor);
- dlg.ShowModal();
+ MacrosDlg dlg(this, MacrosDlg::MacrosCompiler, project, editor);
+ dlg.ShowModal();
}
-EditCmpFileInfo::~EditCmpFileInfo()
-{
- WindowAttrManager::Save(this, wxT("EditCmpFileInfo"), NULL);
-}
+EditCmpFileInfo::~EditCmpFileInfo() {}
diff --git a/LiteEditor/editor_options_bookmarks.wxcp b/LiteEditor/editor_options_bookmarks.wxcp
index 419671ea..53e901a9 100644
--- a/LiteEditor/editor_options_bookmarks.wxcp
+++ b/LiteEditor/editor_options_bookmarks.wxcp
@@ -108,6 +108,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer2"
}, {
@@ -203,9 +207,13 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer1"
}, {
@@ -789,7 +797,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": ["wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -935,7 +943,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": ["wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -1074,9 +1082,13 @@
"gbSpan": "1,1",
"gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer4"
}, {
@@ -1191,7 +1203,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": ["wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -1337,7 +1349,7 @@
"gbSpan": "1,1",
"gbPosition": "0,0",
"m_styles": ["wxSP_ARROW_KEYS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
diff --git a/LiteEditor/editor_options_bookmarks_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_bookmarks_liteeditor_bitmaps.cpp
index 8aac1014..4c9554d1 100644
--- a/LiteEditor/editor_options_bookmarks_liteeditor_bitmaps.cpp
+++ b/LiteEditor/editor_options_bookmarks_liteeditor_bitmaps.cpp
@@ -1,73 +1,47 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editor_options_bookmarks_liteeditor_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxCrafterZg1KYTInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/editor_options_bookmarks_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_editor_options_bookmarks_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_bookmarks_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_editor_options_bookmarks_liteeditor_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCrafterZg1KYTInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_bookmarks_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_editor_options_bookmarks_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_bookmarks_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_editor_options_bookmarks_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editor_options_comments.fbp b/LiteEditor/editor_options_comments.fbp
index 90de4796..66c1b013 100644
--- a/LiteEditor/editor_options_comments.fbp
+++ b/LiteEditor/editor_options_comments.fbp
@@ -1,650 +1,644 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<wxFormBuilder_Project>
- <FileVersion major="1" minor="9" />
- <object class="Project" expanded="1">
- <property name="class_decoration"></property>
- <property name="code_generation">C++</property>
- <property name="disconnect_events">1</property>
- <property name="encoding">UTF-8</property>
- <property name="event_generation">connect</property>
- <property name="event_handler">impl_virtual</property>
- <property name="file">editorsettingscommentsbase</property>
- <property name="first_id">1000</property>
- <property name="help_provider">none</property>
- <property name="internationalize">1</property>
- <property name="name">EditorSettingsCommentsBase</property>
- <property name="namespace"></property>
- <property name="path">.</property>
- <property name="precompiled_header"></property>
- <property name="relative_path">1</property>
- <property name="use_enum">0</property>
- <property name="use_microsoft_bom">0</property>
- <object class="Panel" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">EditorSettingsCommentsBase</property>
- <property name="pos"></property>
- <property name="size">-1,-1</property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style">wxTAB_TRAVERSAL</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnInitDialog"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- <object class="wxBoxSizer" expanded="1">
- <property name="minimum_size"></property>
- <property name="name">mainSizer</property>
- <property name="orient">wxVERTICAL</property>
- <property name="permission">none</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND|wxALL</property>
- <property name="proportion">0</property>
- <object class="wxBoxSizer" expanded="1">
- <property name="minimum_size"></property>
- <property name="name">bSizer2</property>
- <property name="orient">wxVERTICAL</property>
- <property name="permission">none</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">0</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">When adding new files to a project, place the files in the &apos;include&apos; / &apos;src&apos; folders respectively</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxSmartAddFiles</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND | wxALL</property>
- <property name="proportion">0</property>
- <object class="wxStaticLine" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_staticline1</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style">wxLI_HORIZONTAL</property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">1</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">When hitting &lt;ENTER&gt; in a C style comment section automatically add &apos;*&apos; at the next line</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxContCComment</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">0</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">When hitting &lt;ENTER&gt; in a C++ style comment section, automatically add &apos;//&apos; at the next line</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxContinueCppComment</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND | wxALL</property>
- <property name="proportion">0</property>
- <object class="wxStaticLine" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_staticline2</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style">wxLI_HORIZONTAL</property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALIGN_CENTER_HORIZONTAL|wxALL</property>
- <property name="proportion">0</property>
- <object class="wxBoxSizer" expanded="1">
- <property name="minimum_size"></property>
- <property name="name">bSizer3</property>
- <property name="orient">wxHORIZONTAL</property>
- <property name="permission">none</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxStaticText" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Code navigation key:</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_staticText1</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip">When using quick code navigation use this keys in combination with mouse click&#x0A;To quickly go to implementation / declaration</property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <property name="wrap">-1</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxStaticText" expanded="1">
- <property name="bg"></property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Mouse Left Click +</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_staticText2</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <property name="wrap">-1</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">1</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Shift</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxShift</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">0</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Ctrl</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxCtrl</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="bg"></property>
- <property name="checked">0</property>
- <property name="context_help"></property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="font"></property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Alt</property>
- <property name="maximum_size"></property>
- <property name="minimum_size"></property>
- <property name="name">m_checkBoxAlt</property>
- <property name="permission">protected</property>
- <property name="pos"></property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
-</wxFormBuilder_Project>
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<wxFormBuilder_Project>
+ <FileVersion major="1" minor="13" />
+ <object class="Project" expanded="1">
+ <property name="class_decoration" />
+ <property name="code_generation">C++</property>
+ <property name="disconnect_events">1</property>
+ <property name="encoding">UTF-8</property>
+ <property name="event_generation">connect</property>
+ <property name="file">editorsettingscommentsbase</property>
+ <property name="first_id">1000</property>
+ <property name="help_provider">none</property>
+ <property name="internationalize">1</property>
+ <property name="name">EditorSettingsCommentsBase</property>
+ <property name="namespace" />
+ <property name="path">.</property>
+ <property name="precompiled_header" />
+ <property name="relative_path">1</property>
+ <property name="use_enum">0</property>
+ <property name="use_microsoft_bom">0</property>
+ <object class="Panel" expanded="1">
+ <property name="bg" />
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">EditorSettingsCommentsBase</property>
+ <property name="pos" />
+ <property name="size">-1,-1</property>
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style">wxTAB_TRAVERSAL</property>
+ <event name="OnChar" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnInitDialog" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ <object class="wxBoxSizer" expanded="1">
+ <property name="minimum_size" />
+ <property name="name">mainSizer</property>
+ <property name="orient">wxVERTICAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxEXPAND|wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxBoxSizer" expanded="1">
+ <property name="minimum_size" />
+ <property name="name">bSizer2</property>
+ <property name="orient">wxVERTICAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxEXPAND</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">0</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">When adding new files to a project, place the files in the &apos;include&apos; / &apos;src&apos; folders respectively</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxSmartAddFiles</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxEXPAND | wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticLine" expanded="1">
+ <property name="bg" />
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_staticline1</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style">wxLI_HORIZONTAL</property>
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxEXPAND</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">1</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">When hitting &lt;ENTER&gt; in a C style comment section automatically add &apos;*&apos; at the next line</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxContCComment</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxEXPAND</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">0</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">When hitting &lt;ENTER&gt; in a C++ style comment section, automatically add &apos;//&apos; at the next line</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxContinueCppComment</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxEXPAND | wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticLine" expanded="1">
+ <property name="bg" />
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_staticline2</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style">wxLI_HORIZONTAL</property>
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALIGN_CENTER_HORIZONTAL|wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxBoxSizer" expanded="1">
+ <property name="minimum_size" />
+ <property name="name">bSizer3</property>
+ <property name="orient">wxHORIZONTAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticText" expanded="1">
+ <property name="bg" />
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">Code navigation key:</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_staticText1</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip">When using quick code navigation use this keys in combination with mouse click&#x0A;To quickly go to implementation / declaration</property>
+ <property name="validator_data_type" />
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <property name="wrap">-1</property>
+ <event name="OnChar" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticText" expanded="1">
+ <property name="bg" />
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">Mouse Left Click +</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_staticText2</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <property name="wrap">-1</property>
+ <event name="OnChar" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">1</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">Shift</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxShift</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">0</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">Ctrl</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxCtrl</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
+ <property name="proportion">0</property>
+ <object class="wxCheckBox" expanded="1">
+ <property name="bg" />
+ <property name="checked">0</property>
+ <property name="context_help" />
+ <property name="enabled">1</property>
+ <property name="fg" />
+ <property name="font" />
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">Alt</property>
+ <property name="maximum_size" />
+ <property name="minimum_size" />
+ <property name="name">m_checkBoxAlt</property>
+ <property name="permission">protected</property>
+ <property name="pos" />
+ <property name="size" />
+ <property name="style" />
+ <property name="subclass" />
+ <property name="tooltip" />
+ <property name="validator_data_type" />
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable" />
+ <property name="window_extra_style" />
+ <property name="window_name" />
+ <property name="window_style" />
+ <event name="OnChar" />
+ <event name="OnCheckBox" />
+ <event name="OnEnterWindow" />
+ <event name="OnEraseBackground" />
+ <event name="OnKeyDown" />
+ <event name="OnKeyUp" />
+ <event name="OnKillFocus" />
+ <event name="OnLeaveWindow" />
+ <event name="OnLeftDClick" />
+ <event name="OnLeftDown" />
+ <event name="OnLeftUp" />
+ <event name="OnMiddleDClick" />
+ <event name="OnMiddleDown" />
+ <event name="OnMiddleUp" />
+ <event name="OnMotion" />
+ <event name="OnMouseEvents" />
+ <event name="OnMouseWheel" />
+ <event name="OnPaint" />
+ <event name="OnRightDClick" />
+ <event name="OnRightDown" />
+ <event name="OnRightUp" />
+ <event name="OnSetFocus" />
+ <event name="OnSize" />
+ <event name="OnUpdateUI" />
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <property name="event_handler">impl_virtual</property>
+ </object>
+ </object>
+</wxFormBuilder_Project>
diff --git a/LiteEditor/editor_options_comments_base.wxcp b/LiteEditor/editor_options_comments_base.wxcp
new file mode 100644
index 00000000..fc725d8f
--- /dev/null
+++ b/LiteEditor/editor_options_comments_base.wxcp
@@ -0,0 +1,1056 @@
+{
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 7,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCD0F0InitBitmapResources",
+ "m_bitmapsFile": "editor_options_comments_base_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": -17755183,
+ "m_outputFileName": "editorsettingscommentsbase",
+ "m_firstWindowId": 10000,
+ "m_useEnum": true,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4407,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "EditorSettingsCommentsBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer2"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 10,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxSmartAddFiles"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "When adding new files to a project, place the files in the 'include' / 'src' folders respectively"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": true
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Comments:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4418,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer4"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxContCComment"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Hitting <ENTER> in a C style comment automatically adds a '*' to the next line"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxContinueCppComment"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Hitting <ENTER> in a C++ style comment section automatically adds a'//' to the next line"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer5"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText7"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": true
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Code Navigation Accelerators:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4418,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When using quick code navigation use this keys in combination with mouse click\\nTo quickly go to implementation / declaration"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Code navigation key:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Mouse Left Click +"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxCtrl"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Ctrl"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxAlt"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Alt"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+} \ No newline at end of file
diff --git a/LiteEditor/editor_options_comments_base_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_comments_base_liteeditor_bitmaps.cpp
new file mode 100644
index 00000000..0102422a
--- /dev/null
+++ b/LiteEditor/editor_options_comments_base_liteeditor_bitmaps.cpp
@@ -0,0 +1,47 @@
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCD0F0InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_comments_base_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_comments_base_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_comments_base_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_comments_base_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editor_options_docking_windows.wxcp b/LiteEditor/editor_options_docking_windows.wxcp
index 9d4d833e..6346c3c8 100644
--- a/LiteEditor/editor_options_docking_windows.wxcp
+++ b/LiteEditor/editor_options_docking_windows.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 7,
+ "m_objCounter": 25,
"m_includeFiles": [],
"m_bitmapFunction": "wxCrafterKZwxilInitBitmapResources",
"m_bitmapsFile": "editor_options_docking_windows_liteeditor_bitmaps.cpp",
@@ -87,11 +87,11 @@
}, {
"type": "string",
"m_label": "Inherited Class",
- "m_value": ""
+ "m_value": "EditorSettingsDockingWindows"
}, {
"type": "string",
"m_label": "File:",
- "m_value": ""
+ "m_value": "editorsettingsdockingwidows.cpp"
}, {
"type": "string",
"m_label": "Class Decorator",
@@ -108,6 +108,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "mainSizer"
}, {
@@ -122,40 +126,79 @@
}],
"m_events": [],
"m_children": [{
- "m_type": 4449,
- "proportion": 0,
+ "m_type": 4442,
+ "proportion": 1,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBK_DEFAULT"],
+ "m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
"type": "string",
"m_label": "Name:",
- "m_value": "sbSizer1"
+ "m_value": "m_notebook10"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Class Name:",
"m_value": ""
}, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 2,
- "m_options": ["Vertical", "Horizontal", "wxVERTICAL"]
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
}, {
"type": "string",
- "m_label": "Label:",
- "m_value": "Output Pane:"
+ "m_label": "Style:",
+ "m_value": ""
}],
"m_events": [],
"m_children": [{
- "m_type": 4415,
+ "m_type": 4441,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -163,19 +206,19 @@
}, {
"type": "string",
"m_label": "Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneOnClick"
+ "m_value": "m_panel12"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "When e.g. you compile your project, or use 'Find in Files', the Output Pane opens to show the results. If this box is ticked, it will automatically close as soon as you click in the editor."
+ "m_value": ""
}, {
"type": "colour",
"m_label": "Bg Colour:",
@@ -215,1212 +258,436 @@
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "When user clicks inside an editor, hide the output pane -- unless it's one of:"
+ "m_value": "Docking"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
}, {
"type": "bool",
- "m_label": "Value:",
+ "m_label": "Selected",
"m_value": true
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4403,
- "proportion": 0,
- "border": 20,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND", "wxALIGN_LEFT"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "fgSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "4"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": ""
}, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
}],
"m_events": [],
"m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfBuild"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing e.g. you may not want it to close while you correct one of many build errors."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Build"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfSearch"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Search"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfReplace"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Replace"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
+ "m_type": 4401,
"proportion": 0,
"border": 5,
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
"m_label": "Minimum Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfReferences"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "m_value": "boxSizer22"
}, {
"type": "string",
"m_label": "Style:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "References"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
}],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfOutput"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Output"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfTrace"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Trace"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfTasks"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Tasks"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfBuildQ"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "BuildQ"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfCppCheck"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "CppCheck"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfSvn"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Subversion"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfCscope"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "CScope"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfGit"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Git"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfDebug"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Debugger Pane on an editor click if this tab is showing. You probably don't want it to close whenever you set a breakpoint, for example."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Debug"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": true
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideOutputPaneNotIfMemCheck"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "MemCheck"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": true
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer2"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4416,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxRA_SPECIFY_COLS"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_radioBoxHint"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Docking Style:"
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "Transparent hint;Rectangle hint;Venetian blinds hints"
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Major Dimension:",
+ "m_value": "1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4416,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxRA_SPECIFY_COLS"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_radioBoxTabControlStyle"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Tab Control Style:"
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "Glossy;Curved"
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Major Dimension:",
+ "m_value": "1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer25"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideCaptions"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Hide Docking Windows captions"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxEnsureCaptionsVisible"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When the option 'Hide Docking Windows captions' is enabled, ensure captions are visible on mouse hover. This is useful so the user can still move around the docking windows"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Ensure captions are visible on mouse hover"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnEnsureCaptionsVisibleUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
}]
}, {
- "m_type": 4415,
+ "m_type": 4441,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "winid",
@@ -1429,19 +696,19 @@
}, {
"type": "string",
"m_label": "Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_checkBoxDontFoldSearchResults"
+ "m_value": "m_panel14"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "By default, all but the first results of 'Search' are automatically folded; you have to click on each subsequent file to see its contained matches. Tick this box to prevent this.\\nYou can still fold and unfold results with the button in the output pane toolbar. "
+ "m_value": ""
}, {
"type": "colour",
"m_label": "Bg Colour:",
@@ -1481,152 +748,282 @@
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Don't automatically fold Search results"
+ "m_value": "Find / Find In Files"
}, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 2,
- "m_options": ["Vertical", "Horizontal", "wxVERTICAL"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Find Bar:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxFindBarAtBottom"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
}, {
"type": "bool",
- "m_label": "Focused",
+ "m_label": "Selected",
"m_value": false
}, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Place the find bar at the bottom"
- }, {
"type": "bool",
- "m_label": "Value:",
+ "m_label": "Null Page",
"m_value": false
}],
"m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer11"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 2,
- "m_options": ["Vertical", "Horizontal", "wxVERTICAL"]
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer20"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxFindBarAtBottom"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Place the Find bar at the bottom"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxShowReplaceBar"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When ticked, extra 'replace' fields will be added. You can also Show/Hide these using a keyboard shortcut."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Also show the 'Replace' section of the Find bar"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxDontFoldSearchResults"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "By default, all but the first results of 'Search' are automatically folded; you have to click on each subsequent file to see its contained matches. Tick this box to prevent this.\\nYou can still fold and unfold results with the button in the output pane toolbar. "
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Don't automatically fold Search results"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Debug Pane:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4415,
+ "m_type": 4441,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "winid",
@@ -1635,114 +1032,15 @@
}, {
"type": "string",
"m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxShowDebugOnRun"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "When starting the debugger, if the Debug tab is not visible, checking this will make it visible"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Show 'Debug' tab on starting the debugger"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": true
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4416,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxRA_SPECIFY_COLS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_radioBoxHint"
+ "m_value": "m_panel16"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -1786,181 +1084,1424 @@
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Docking Style:"
+ "m_value": "Debug / Output panes"
}, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": "Transparent hint;Rectangle hint;Venetian blinds hints"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Major Dimension:",
- "m_value": "1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4416,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxRA_SPECIFY_COLS"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_radioBoxTabControlStyle"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
}, {
"type": "bool",
- "m_label": "Disabled",
+ "m_label": "Selected",
"m_value": false
}, {
"type": "bool",
- "m_label": "Focused",
+ "m_label": "Null Page",
"m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Tab Control Style:"
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": "Glossy;Curved"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Major Dimension:",
- "m_value": "1"
}],
"m_events": [],
- "m_children": []
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer21"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer19"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneOnClick"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When e.g. you compile your project, or use 'Find in Files', the Output Pane opens to show the results. If this box is ticked, it will automatically close as soon as you click in the editor."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "When user clicks inside an editor, hide the output pane -- unless it's one of:"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4403,
+ "proportion": 0,
+ "border": 20,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND", "wxALIGN_LEFT"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "4"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfBuild"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing e.g. you may not want it to close while you correct one of many build errors."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Build"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfSearch"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Search"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfReplace"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Replace"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfReferences"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "References"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfOutput"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Output"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfTrace"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Trace"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfTasks"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Tasks"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfBuildQ"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "BuildQ"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfCppCheck"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "CppCheck"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfSvn"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Subversion"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfCscope"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "CScope"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfGit"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Git"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfDebug"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Debugger Pane on an editor click if this tab is showing. You probably don't want it to close whenever you set a breakpoint, for example."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Debug"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHideOutputPaneNotIfMemCheck"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Don't automatically close the Output Pane on an editor click if this tab is showing."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "MemCheck"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxShowDebugOnRun"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "When starting the debugger, if the Debug tab is not visible, checking this will make it visible"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Show 'Debug' tab on starting the debugger"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
}]
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideCaptions"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Hide Docking Windows captions"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
}]
}]
}]
diff --git a/LiteEditor/editor_options_docking_windows_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_docking_windows_liteeditor_bitmaps.cpp
index 57b1668b..614203e5 100644
--- a/LiteEditor/editor_options_docking_windows_liteeditor_bitmaps.cpp
+++ b/LiteEditor/editor_options_docking_windows_liteeditor_bitmaps.cpp
@@ -1,73 +1,47 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editor_options_docking_windows_liteeditor_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxCrafterKZwxilInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/editor_options_docking_windows_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_docking_windows_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_docking_windows_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_docking_windows_liteeditor_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCrafterKZwxilInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_docking_windows_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_editor_options_docking_windows_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_docking_windows_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_editor_options_docking_windows_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editor_options_folding.fbp b/LiteEditor/editor_options_folding.fbp
deleted file mode 100644
index f158c5fb..00000000
--- a/LiteEditor/editor_options_folding.fbp
+++ /dev/null
@@ -1,764 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<wxFormBuilder_Project>
- <FileVersion major="1" minor="10" />
- <object class="Project" expanded="1">
- <property name="class_decoration"></property>
- <property name="code_generation">C++</property>
- <property name="disconnect_events">1</property>
- <property name="disconnect_mode">source_name</property>
- <property name="disconnect_python_events">0</property>
- <property name="encoding">UTF-8</property>
- <property name="event_generation">connect</property>
- <property name="file">editorsettingsfoldingbase</property>
- <property name="first_id">1000</property>
- <property name="help_provider">none</property>
- <property name="internationalize">1</property>
- <property name="name">EditorSettingsFoldingBase</property>
- <property name="namespace"></property>
- <property name="path">.</property>
- <property name="precompiled_header"></property>
- <property name="relative_path">1</property>
- <property name="skip_python_events">1</property>
- <property name="use_enum">0</property>
- <property name="use_microsoft_bom">0</property>
- <object class="Panel" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_managed">0</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="event_handler">impl_virtual</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">EditorSettingsFoldingBase</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size">-1,-1</property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style">wxTAB_TRAVERSAL</property>
- <event name="OnAuiFindManager"></event>
- <event name="OnAuiPaneButton"></event>
- <event name="OnAuiPaneClose"></event>
- <event name="OnAuiPaneMaximize"></event>
- <event name="OnAuiPaneRestore"></event>
- <event name="OnAuiRender"></event>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnInitDialog"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- <object class="wxBoxSizer" expanded="1">
- <property name="minimum_size"></property>
- <property name="name">mainSizer</property>
- <property name="orient">wxVERTICAL</property>
- <property name="permission">none</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="checked">1</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Display Folding Margin</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_displayMargin</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI"></event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
- <property name="proportion">0</property>
- <object class="wxStaticBoxSizer" expanded="1">
- <property name="id">wxID_ANY</property>
- <property name="label"></property>
- <property name="minimum_size"></property>
- <property name="name">sbSizer1</property>
- <property name="orient">wxVERTICAL</property>
- <property name="permission">none</property>
- <event name="OnUpdateUI"></event>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
- <property name="proportion">0</property>
- <object class="wxFlexGridSizer" expanded="1">
- <property name="cols">2</property>
- <property name="flexible_direction">wxBOTH</property>
- <property name="growablecols">0,1</property>
- <property name="growablerows"></property>
- <property name="hgap">0</property>
- <property name="minimum_size"></property>
- <property name="name">fgSizer1</property>
- <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
- <property name="permission">none</property>
- <property name="rows">0</property>
- <property name="vgap">0</property>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="checked">1</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Underline Folded Line</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_underlineFolded</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="checked">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Fold At Else</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_foldElse</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="checked">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Fold Preprocessors</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_foldPreprocessors</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxCheckBox" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="checked">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Fold Compact</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_foldCompact</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnCheckBox"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
- <property name="proportion">0</property>
- <object class="wxStaticText" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="label">Fold Style:</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_staticText2</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="style"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <property name="wrap">-1</property>
- <event name="OnChar"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- <object class="sizeritem" expanded="1">
- <property name="border">5</property>
- <property name="flag">wxALL|wxEXPAND</property>
- <property name="proportion">0</property>
- <object class="wxChoice" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_name"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="choices"></property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="layer"></property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
- <property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">m_foldStyle</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">protected</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="position"></property>
- <property name="resize">Resizable</property>
- <property name="row"></property>
- <property name="selection">0</property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="subclass"></property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="validator_data_type"></property>
- <property name="validator_style">wxFILTER_NONE</property>
- <property name="validator_type">wxDefaultValidator</property>
- <property name="validator_variable"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
- <event name="OnChar"></event>
- <event name="OnChoice"></event>
- <event name="OnEnterWindow"></event>
- <event name="OnEraseBackground"></event>
- <event name="OnKeyDown"></event>
- <event name="OnKeyUp"></event>
- <event name="OnKillFocus"></event>
- <event name="OnLeaveWindow"></event>
- <event name="OnLeftDClick"></event>
- <event name="OnLeftDown"></event>
- <event name="OnLeftUp"></event>
- <event name="OnMiddleDClick"></event>
- <event name="OnMiddleDown"></event>
- <event name="OnMiddleUp"></event>
- <event name="OnMotion"></event>
- <event name="OnMouseEvents"></event>
- <event name="OnMouseWheel"></event>
- <event name="OnPaint"></event>
- <event name="OnRightDClick"></event>
- <event name="OnRightDown"></event>
- <event name="OnRightUp"></event>
- <event name="OnSetFocus"></event>
- <event name="OnSize"></event>
- <event name="OnUpdateUI">OnFoldingMarginUI</event>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
-</wxFormBuilder_Project>
diff --git a/LiteEditor/editor_options_folding.wxcp b/LiteEditor/editor_options_folding.wxcp
new file mode 100644
index 00000000..fb427859
--- /dev/null
+++ b/LiteEditor/editor_options_folding.wxcp
@@ -0,0 +1,765 @@
+{
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 2,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCE476InitBitmapResources",
+ "m_bitmapsFile": "editor_options_folding_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": -16444463,
+ "m_outputFileName": "editorsettingsfoldingbase",
+ "m_firstWindowId": 10000,
+ "m_useEnum": true,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4407,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "EditorSettingsFoldingBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "EditorSettingsFolding"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "editorsettingsfolding"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_displayMargin"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Display Folding Margin"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4449,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "sbSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["Vertical", "Horizontal"]
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4411,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_foldStyle"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Select the folding style"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "0"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4403,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "fgSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0,1"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_underlineFolded"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Underline Folded Line"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_foldElse"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Fold At Else"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_foldPreprocessors"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Fold Preprocessors"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_foldCompact"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Fold Compact"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxHighlightFolding"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Allows to enable/disable the highlight folding block when it is selected. (i.e. block that contains the caret)"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Highlight Active Fold Block"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFoldingMarginUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+} \ No newline at end of file
diff --git a/LiteEditor/editor_options_folding_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_folding_liteeditor_bitmaps.cpp
new file mode 100644
index 00000000..6f325464
--- /dev/null
+++ b/LiteEditor/editor_options_folding_liteeditor_bitmaps.cpp
@@ -0,0 +1,47 @@
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxCE476InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_folding_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_folding_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_folding_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_folding_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editor_options_general_guides_panel.cpp b/LiteEditor/editor_options_general_guides_panel.cpp
index 815d17c8..6eb3f752 100644
--- a/LiteEditor/editor_options_general_guides_panel.cpp
+++ b/LiteEditor/editor_options_general_guides_panel.cpp
@@ -31,73 +31,54 @@ EditorOptionsGeneralGuidesPanel::EditorOptionsGeneralGuidesPanel(wxWindow* paren
: EditorOptionsGeneralGuidesPanelBase(parent)
, TreeBookNode<EditorOptionsGeneralGuidesPanel>()
{
+ ::wxPGPropertyBooleanUseCheckbox(m_pgMgrGeneral->GetGrid());
OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
-
- m_displayLineNumbers->SetValue(options->GetDisplayLineNumbers());
- m_checkBoxMatchBraces->SetValue(options->GetHighlightMatchedBraces());
- m_showIndentationGuideLines->SetValue(options->GetShowIndentationGuidelines());
- m_highlightCaretLine->SetValue(options->GetHighlightCaretLine());
- m_caretLineColourPicker->SetColour(options->GetCaretLineColour());
- const wxString EOLChoices[] = { wxTRANSLATE("Default"), wxT("Mac (CR)"), wxT("Windows (CRLF)"), wxT("Unix (LF)") };
- m_EOLstringManager.AddStrings(
- sizeof(EOLChoices) / sizeof(wxString), EOLChoices, options->GetEolMode(), m_choiceEOL);
- m_checkBoxHideChangeMarkerMargin->SetValue(options->GetHideChangeMarkerMargin());
- m_checkBoxDisableSemicolonShift->SetValue(options->GetDisableSemicolonShift());
-
- m_checkBoxMarkdebuggerLine->SetValue(options->HasOption(OptionsConfig::Opt_Mark_Debugger_Line));
- m_colourPickerDbgLine->SetColour(options->GetDebuggerMarkerLine());
-
- const wxString WhitespaceStyle[] = { wxTRANSLATE("Invisible"),
- wxTRANSLATE("Visible always"),
- wxTRANSLATE("Visible after indentation") };
- wxString currentWhitespace;
- switch(options->GetShowWhitspaces()) {
- case wxSTC_WS_VISIBLEALWAYS:
- currentWhitespace = wxT("Visible always");
- break;
- case wxSTC_WS_VISIBLEAFTERINDENT:
- currentWhitespace = wxT("Visible after indentation");
- break;
- default:
- currentWhitespace = wxT("Invisible");
- break;
+ m_pgPropDisplayLineNumbers->SetValue(options->GetDisplayLineNumbers());
+ m_pgPropHighlightMatchedBrace->SetValue(options->GetHighlightMatchedBraces());
+ m_pgPropShowIndentGuidelines->SetValue(options->GetShowIndentationGuidelines());
+ m_pgPropEnableCaretLine->SetValue(options->GetHighlightCaretLine());
+ wxVariant caretLineColour, debuggerLineColour;
+ caretLineColour << options->GetCaretLineColour();
+ m_pgPropCaretLineColour->SetValue(caretLineColour);
+ m_pgPropDisableSemiColonShift->SetValue(options->GetDisableSemicolonShift());
+ m_pgPropHideEditMargin->SetValue(options->GetHideChangeMarkerMargin());
+ m_pgPropHighlightDebuggerMarker->SetValue(options->HasOption(OptionsConfig::Opt_Mark_Debugger_Line));
+ debuggerLineColour << options->GetDebuggerMarkerLine();
+ m_pgPropDebuggerLineColour->SetValue(debuggerLineColour);
+ m_pgPropWhitespaceVisibility->SetChoiceSelection(options->GetShowWhitspaces());
+ m_pgPropCaretLineAlpha->SetValue(options->GetCaretLineAlpha());
+
+ // EOL
+ // Default;Mac (CR);Windows (CRLF);Unix (LF)
+ wxArrayString eolOptions;
+ eolOptions.Add("Default");
+ eolOptions.Add("Mac (CR)");
+ eolOptions.Add("Windows (CRLF)");
+ eolOptions.Add("Unix (LF)");
+ int eolSel = eolOptions.Index(options->GetEolMode());
+ if(eolSel != wxNOT_FOUND) {
+ m_pgPropEOLMode->SetChoiceSelection(eolSel);
}
- m_WSstringManager.AddStrings(
- sizeof(WhitespaceStyle) / sizeof(wxString), WhitespaceStyle, currentWhitespace, m_whitespaceStyle);
}
void EditorOptionsGeneralGuidesPanel::Save(OptionsConfigPtr options)
{
- options->SetDisplayLineNumbers(m_displayLineNumbers->IsChecked());
- options->SetHighlightMatchedBraces(m_checkBoxMatchBraces->IsChecked());
- options->SetShowIndentationGuidelines(m_showIndentationGuideLines->IsChecked());
- options->SetHighlightCaretLine(m_highlightCaretLine->IsChecked());
- options->SetCaretLineColour(m_caretLineColourPicker->GetColour());
- options->SetEolMode(m_EOLstringManager.GetStringSelection());
- options->SetHideChangeMarkerMargin(m_checkBoxHideChangeMarkerMargin->IsChecked());
- options->SetDisableSemicolonShift(m_checkBoxDisableSemicolonShift->IsChecked());
- options->SetDebuggerMarkerLine(m_colourPickerDbgLine->GetColour());
- options->EnableOption(OptionsConfig::Opt_Mark_Debugger_Line, m_checkBoxMarkdebuggerLine->IsChecked());
-
- // save the whitespace visibility
- wxString Whitespace = m_WSstringManager.GetStringSelection();
- int style(wxSTC_WS_INVISIBLE); // invisible
- if(Whitespace == wxT("Visible always")) {
- style = wxSTC_WS_VISIBLEALWAYS;
- } else if(Whitespace == wxT("Visible after indentation")) {
- style = wxSTC_WS_VISIBLEAFTERINDENT;
- } else if(Whitespace == wxT("Indentation only")) {
- style = wxSTC_WS_VISIBLEAFTERINDENT;
- }
- options->SetShowWhitspaces(style);
-}
-
-void EditorOptionsGeneralGuidesPanel::OnhighlightCaretLineUI(wxUpdateUIEvent& event)
-{
- event.Enable(m_highlightCaretLine->IsChecked());
-}
-
-void EditorOptionsGeneralGuidesPanel::OnDebuggerLineUI(wxUpdateUIEvent& event)
-{
- event.Enable(m_checkBoxMarkdebuggerLine->IsChecked());
+ options->SetDisplayLineNumbers(m_pgPropDisplayLineNumbers->GetValue().GetBool());
+ options->SetHighlightMatchedBraces(m_pgPropHighlightMatchedBrace->GetValue().GetBool());
+ options->SetShowIndentationGuidelines(m_pgPropShowIndentGuidelines->GetValue().GetBool());
+ options->SetHighlightCaretLine(m_pgPropEnableCaretLine->GetValue().GetBool());
+
+ wxColourPropertyValue carteLineColour, debuggerLineColour;
+ carteLineColour << m_pgPropCaretLineColour->GetValue();
+ debuggerLineColour << m_pgPropDebuggerLineColour->GetValue();
+ options->SetCaretLineColour(carteLineColour.m_colour);
+
+ wxString eolMode = m_pgPropEOLMode->GetValueAsString();
+ options->SetEolMode(eolMode);
+ options->SetHideChangeMarkerMargin(m_pgPropHideEditMargin->GetValue().GetBool());
+ options->SetDisableSemicolonShift(m_pgPropDisableSemiColonShift->GetValue().GetBool());
+ options->SetDebuggerMarkerLine(debuggerLineColour.m_colour);
+ options->EnableOption(OptionsConfig::Opt_Mark_Debugger_Line, m_pgPropHighlightDebuggerMarker->GetValue().GetBool());
+ options->SetShowWhitspaces(m_pgPropWhitespaceVisibility->GetValue().GetInteger());
+ options->SetCaretLineAlpha(m_pgPropCaretLineAlpha->GetValue().GetInteger());
}
diff --git a/LiteEditor/editor_options_general_guides_panel.h b/LiteEditor/editor_options_general_guides_panel.h
index 9e7c83f7..539cb66c 100644
--- a/LiteEditor/editor_options_general_guides_panel.h
+++ b/LiteEditor/editor_options_general_guides_panel.h
@@ -33,15 +33,8 @@ class EditorOptionsGeneralGuidesPanel
: public EditorOptionsGeneralGuidesPanelBase
, public TreeBookNode<EditorOptionsGeneralGuidesPanel>
{
- void OnhighlightCaretLineUI(wxUpdateUIEvent& event);
-
- StringManager m_EOLstringManager;
- StringManager m_WSstringManager;
public:
- virtual void OnDebuggerLineUI(wxUpdateUIEvent& event);
- /** Constructor */
EditorOptionsGeneralGuidesPanel( wxWindow* parent );
-
void Save(OptionsConfigPtr options);
};
diff --git a/LiteEditor/editor_options_guides.wxcp b/LiteEditor/editor_options_guides.wxcp
index 09f0d64f..72178d8e 100644
--- a/LiteEditor/editor_options_guides.wxcp
+++ b/LiteEditor/editor_options_guides.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 20,
+ "m_objCounter": 54,
"m_includeFiles": [],
"m_bitmapFunction": "wxC77E7InitBitmapResources",
"m_bitmapsFile": "editor_options_guides_liteeditor_bitmaps.cpp",
@@ -22,7 +22,7 @@
"m_properties": [{
"type": "string",
"m_label": "Size:",
- "m_value": "-1,-1"
+ "m_value": "500,500"
}, {
"type": "string",
"m_label": "Minimum Size:",
@@ -122,98 +122,159 @@
}],
"m_events": [],
"m_children": [{
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
+ "m_type": 4485,
+ "proportion": 1,
+ "border": 0,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxPG_DESCRIPTION", "wxPG_SPLITTER_AUTO_CENTER", "wxPG_BOLD_MODIFIED"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
"type": "string",
"m_label": "Name:",
- "m_value": "sbSizer3"
+ "m_value": "m_pgMgrGeneral"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Class Name:",
"m_value": ""
}, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
}, {
"type": "string",
- "m_label": "Label:",
- "m_value": "General:"
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "integer",
+ "m_label": "Sash Position:",
+ "m_value": -1
+ }, {
+ "type": "bool",
+ "m_label": "Set Splitter Left:",
+ "m_value": false
}],
"m_events": [],
"m_children": [{
- "m_type": 4403,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
"type": "string",
"m_label": "Name:",
- "m_value": "fgSizer1"
+ "m_value": "m_pgPropCategoryGeneral"
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Label:",
+ "m_value": "General"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
}, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0,1"
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Growable rows:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": [{
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropDisplayLineNumbers"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_displayLineNumbers"
+ "m_label": "Label:",
+ "m_value": "Show line numbers margin"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -223,593 +284,452 @@
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Display line numbers"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropHighlightMatchedBrace"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_showIndentationGuideLines"
+ "m_label": "Label:",
+ "m_value": "Highlight matched braces"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Turn on indentation highlights guides (small vertical lines)"
+ "m_value": "Highlight matched braces"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Show indentation guidelines"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropHideEditMargin"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxMatchBraces"
+ "m_label": "Label:",
+ "m_value": "Hide the edit margin"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Highlight matched braces"
+ "m_value": "Hide the edit margin ( the red/green marks when a line is modified)"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Highlight matched braces"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropShowIndentGuidelines"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxDisableSemicolonShift"
+ "m_label": "Label:",
+ "m_value": "Show indentation gudelines"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Auto swap between semicolon and closing brace"
+ "m_value": "Show indentation guidelines (vertical lines)"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Disable semicolon shift"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropDisableSemiColonShift"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxHideChangeMarkerMargin"
+ "m_label": "Label:",
+ "m_value": "Disable semicolon shift"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Hide / Display the change marker margin (red/green marks when line is modified)"
+ "m_value": "By default when typing \";\" next to a close brace \")\" CodeLite will move the \";\" to the right\\nThis option enables or disables this behavior"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Hide change marker margin"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}]
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Whitespaces:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
- "proportion": 1,
+ "m_type": 4486,
+ "proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
"type": "string",
"m_label": "Name:",
- "m_value": "fgSizer3"
+ "m_value": "m_pgPropWhitespaces"
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Label:",
+ "m_value": "Whitespaces"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
}, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1"
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Growable rows:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": [{
- "m_type": 4405,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropWhitespaceVisibility"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText2"
+ "m_label": "Label:",
+ "m_value": "Whitespace visibility"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "Whitespace visibility policy"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 9,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "String Value",
"m_value": ""
}, {
"type": "multi-string",
- "m_label": "Label:",
- "m_value": "Whitespace visibility:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4411,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_whitespaceStyle"
+ "m_label": "Choices:",
+ "m_value": "Invisible;Visible always;Visible after indentation"
}, {
"type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "multi-string",
- "m_label": "Choices:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4405,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropEOLMode"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText4"
+ "m_label": "Label:",
+ "m_value": "EOL Mode"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -819,779 +739,500 @@
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 9,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Style:",
- "m_value": ""
+ "m_label": "String Value",
+ "m_value": "Default"
}, {
"type": "multi-string",
- "m_label": "Label:",
- "m_value": "EOL Mode:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4411,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_choiceEOL"
+ "m_label": "Choices:",
+ "m_value": "Default;Mac (CR);Windows (CRLF);Unix (LF)"
}, {
"type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Set the editor's EOL mode (End Of Line). When set to 'Default' CodeLite will set the EOL according to the hosting OS"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "multi-string",
- "m_label": "Choices:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}]
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer2"
}, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Caret line:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
"type": "string",
"m_label": "Name:",
- "m_value": "fgSizer2"
+ "m_value": "m_pgPropCaretLine"
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "Label:",
+ "m_value": "Caret line"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
}, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "3"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1"
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Growable rows:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": [{
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropEnableCaretLine"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_highlightCaretLine"
+ "m_label": "Label:",
+ "m_value": "Highlight caret line"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Highlight the caret line"
+ "m_value": "Highlight caret line with a background colour"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Class Name:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Include File:",
+ "type": "multi-string",
+ "m_label": "Choices:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Highlight caret line"
- }, {
"type": "bool",
- "m_label": "Value:",
+ "m_label": "Bool Value",
"m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnHighlightCaretLine(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer22"
}, {
"type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4405,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropCaretLineColour"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText1"
+ "m_label": "Label:",
+ "m_value": "Caret line background colour"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "Caret line background colour"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "font",
- "m_label": "Font:",
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 15,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
+ }, {
+ "type": "string",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
}, {
"type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Caret line background colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnhighlightCaretLineUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "(171,222,230)"
}],
+ "m_events": [],
"m_children": []
}, {
- "m_type": 4429,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropCaretLineAlpha"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_caretLineColourPicker"
+ "m_label": "Label:",
+ "m_value": "Caret line colour alpha"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "Set the caret line colour transparency value. Where 0 mean complete transparent and 255 means fully opaque"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 1,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "string",
+ "m_label": "String Value",
+ "m_value": "30"
}, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
}, {
- "type": "string",
- "m_label": "Class Name:",
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
+ }, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
"type": "colour",
- "m_label": "Value:",
- "colour": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnhighlightCaretLineUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
+ "m_events": [],
"m_children": []
}]
- }]
- }, {
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer4"
}, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Debugger Marker:"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
+ "m_sizerFlags": [],
"m_properties": [{
"type": "string",
"m_label": "Name:",
- "m_value": "fgSizer4"
+ "m_value": "m_pgPropDebuggerMarker"
}, {
"type": "string",
- "m_label": "Style:",
- "m_value": ""
+ "m_label": "Label:",
+ "m_value": "Debugger Marker"
}, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Debugger Marker"
}, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
}, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "1"
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Growable rows:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": [{
- "m_type": 4415,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
"type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropHighlightDebuggerMarker"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxMarkdebuggerLine"
+ "m_label": "Label:",
+ "m_value": "Highlight debugger line"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "When debugging, highlight the current line with a background colour"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 3,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Class Name:",
+ "m_label": "String Value",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Include File:",
+ "type": "multi-string",
+ "m_label": "Choices:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "multi-string",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Highlight debugger line"
- }, {
"type": "bool",
- "m_label": "Value:",
+ "m_label": "Bool Value",
"m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer28"
}, {
"type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
+ "m_label": "Wildcard",
+ "m_value": ""
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
"m_events": [],
"m_children": []
}, {
- "m_type": 4405,
+ "m_type": 4486,
"proportion": 0,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": [],
"m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
"type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
+ "m_label": "Name:",
+ "m_value": "m_pgPropDebuggerLineColour"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText41"
+ "m_label": "Label:",
+ "m_value": "Debugger line background colour"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "Debugger line background colour"
}, {
"type": "colour",
"m_label": "Bg Colour:",
"colour": "<Default>"
}, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Property Editor Control",
+ "m_selection": 0,
+ "m_options": ["", "TextCtrl", "Choice", "ComboBox", "CheckBox", "TextCtrlAndButton", "ChoiceAndButton", "SpinCtrl", "DatePickerCtrl"]
}, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 15,
+ "m_options": ["wxPropertyCategory", "wxIntProperty", "wxFloatProperty", "wxBoolProperty", "wxStringProperty", "wxLongStringProperty", "wxDirProperty", "wxArrayStringProperty", "wxFileProperty", "wxEnumProperty", "wxEditEnumProperty", "wxFlagsProperty", "wxDateProperty", "wxImageFileProperty", "wxFontProperty", "wxSystemColourProperty"]
}, {
"type": "string",
- "m_label": "Style:",
+ "m_label": "String Value",
"m_value": ""
}, {
"type": "multi-string",
- "m_label": "Label:",
- "m_value": "Debugger line colour:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnDebuggerLineUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4429,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxCLRP_SHOW_LABEL", "wxCLRP_DEFAULT_STYLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
+ "m_label": "Choices:",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_colourPickerDbgLine"
- }, {
"type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
+ "m_label": "Array Integer Values",
"m_value": ""
}, {
"type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
+ "m_label": "Bool Value",
+ "m_value": true
}, {
"type": "string",
- "m_label": "Include File:",
+ "m_label": "Wildcard",
"m_value": ""
}, {
- "type": "string",
- "m_label": "Style:",
+ "type": "font",
+ "m_label": "Font:",
"m_value": ""
}, {
"type": "colour",
- "m_label": "Value:",
- "colour": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnDebuggerLineUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
+ "m_label": "Initial Colour",
+ "colour": "<Default>"
}],
+ "m_events": [],
"m_children": []
}]
}]
diff --git a/LiteEditor/editor_options_guides_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_guides_liteeditor_bitmaps.cpp
index 8a3efdbb..c3171885 100644
--- a/LiteEditor/editor_options_guides_liteeditor_bitmaps.cpp
+++ b/LiteEditor/editor_options_guides_liteeditor_bitmaps.cpp
@@ -1,48 +1,47 @@
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxC77E7InitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/editor_options_guides_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_editor_options_guides_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_guides_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_editor_options_guides_liteeditor_bitmaps.xrc"));
-}
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxC77E7InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_guides_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_guides_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_guides_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_guides_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editor_options_misc.wxcp b/LiteEditor/editor_options_misc.wxcp
index 834f875a..4ac785d5 100644
--- a/LiteEditor/editor_options_misc.wxcp
+++ b/LiteEditor/editor_options_misc.wxcp
@@ -108,6 +108,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer1"
}, {
@@ -279,6 +283,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer2"
}, {
@@ -302,6 +310,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "staticBoxSizer3"
}, {
@@ -329,6 +341,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer4"
}, {
@@ -830,6 +846,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "staticBoxSizer4"
}, {
@@ -1242,6 +1262,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer25"
}, {
@@ -1432,6 +1456,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer29"
}, {
@@ -2321,6 +2349,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer4"
}, {
@@ -2344,6 +2376,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer1"
}, {
@@ -2458,7 +2494,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -2716,7 +2752,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -2886,6 +2922,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer2"
}, {
@@ -3193,7 +3233,7 @@
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_spinCtrlMaxOpenTabs"
+ "m_value": "m_maxItemsFindReplace"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -3355,7 +3395,7 @@
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_maxItemsFindReplace"
+ "m_value": "m_spinCtrlMaxOpenTabs"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -3683,6 +3723,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer11"
}, {
@@ -3706,6 +3750,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer13"
}, {
@@ -3820,7 +3868,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -3902,7 +3950,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
diff --git a/LiteEditor/editor_options_misc_liteeditor_bitmaps.cpp b/LiteEditor/editor_options_misc_liteeditor_bitmaps.cpp
index 5d2c08e1..2e26950e 100644
--- a/LiteEditor/editor_options_misc_liteeditor_bitmaps.cpp
+++ b/LiteEditor/editor_options_misc_liteeditor_bitmaps.cpp
@@ -1,73 +1,47 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editor_options_misc_liteeditor_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxC38F8InitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/editor_options_misc_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_misc_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_misc_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_editor_options_misc_liteeditor_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxC38F8InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/editor_options_misc_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_editor_options_misc_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editor_options_misc_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_editor_options_misc_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/editoroptionsgeneralguidespanelbase.cpp b/LiteEditor/editoroptionsgeneralguidespanelbase.cpp
index 88edd7da..58bb33d4 100644
--- a/LiteEditor/editoroptionsgeneralguidespanelbase.cpp
+++ b/LiteEditor/editoroptionsgeneralguidespanelbase.cpp
@@ -26,154 +26,83 @@ EditorOptionsGeneralGuidesPanelBase::EditorOptionsGeneralGuidesPanelBase(wxWindo
wxBoxSizer* bSizer1 = new wxBoxSizer(wxVERTICAL);
this->SetSizer(bSizer1);
- wxStaticBoxSizer* sbSizer3 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("General:")), wxVERTICAL);
+ wxArrayString m_pgMgrGeneralArr;
+ wxUnusedVar(m_pgMgrGeneralArr);
+ wxArrayInt m_pgMgrGeneralIntArr;
+ wxUnusedVar(m_pgMgrGeneralIntArr);
+ m_pgMgrGeneral = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
- bSizer1->Add(sbSizer3, 0, wxALL|wxEXPAND, 5);
+ bSizer1->Add(m_pgMgrGeneral, 1, wxALL|wxEXPAND, 0);
- wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer(0, 2, 0, 0);
- fgSizer1->SetFlexibleDirection( wxBOTH );
- fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer1->AddGrowableCol(0);
- fgSizer1->AddGrowableCol(1);
+ m_pgPropCategoryGeneral = m_pgMgrGeneral->Append( new wxPropertyCategory( _("General") ) );
+ m_pgPropCategoryGeneral->SetHelpString(wxT(""));
- sbSizer3->Add(fgSizer1, 0, wxALL|wxEXPAND, 5);
+ m_pgPropDisplayLineNumbers = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral, new wxBoolProperty( _("Show line numbers margin"), wxPG_LABEL, 1) );
+ m_pgPropDisplayLineNumbers->SetHelpString(_("Show line numbers margin"));
- m_displayLineNumbers = new wxCheckBox(this, wxID_ANY, _("Display line numbers"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_displayLineNumbers->SetValue(false);
- m_displayLineNumbers->SetToolTip(_("Show line numbers margin"));
+ m_pgPropHighlightMatchedBrace = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral, new wxBoolProperty( _("Highlight matched braces"), wxPG_LABEL, 1) );
+ m_pgPropHighlightMatchedBrace->SetHelpString(_("Highlight matched braces"));
- fgSizer1->Add(m_displayLineNumbers, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ m_pgPropHideEditMargin = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral, new wxBoolProperty( _("Hide the edit margin"), wxPG_LABEL, 1) );
+ m_pgPropHideEditMargin->SetHelpString(_("Hide the edit margin ( the red/green marks when a line is modified)"));
- m_showIndentationGuideLines = new wxCheckBox(this, wxID_ANY, _("Show indentation guidelines"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_showIndentationGuideLines->SetValue(false);
- m_showIndentationGuideLines->SetToolTip(_("Turn on indentation highlights guides (small vertical lines)"));
+ m_pgPropShowIndentGuidelines = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral, new wxBoolProperty( _("Show indentation gudelines"), wxPG_LABEL, 1) );
+ m_pgPropShowIndentGuidelines->SetHelpString(_("Show indentation guidelines (vertical lines)"));
- fgSizer1->Add(m_showIndentationGuideLines, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ m_pgPropDisableSemiColonShift = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral, new wxBoolProperty( _("Disable semicolon shift"), wxPG_LABEL, 1) );
+ m_pgPropDisableSemiColonShift->SetHelpString(_("By default when typing \";\" next to a close brace \")\" CodeLite will move the \";\" to the right\nThis option enables or disables this behavior"));
- m_checkBoxMatchBraces = new wxCheckBox(this, wxID_ANY, _("Highlight matched braces"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxMatchBraces->SetValue(false);
- m_checkBoxMatchBraces->SetToolTip(_("Highlight matched braces"));
+ m_pgPropWhitespaces = m_pgMgrGeneral->Append( new wxPropertyCategory( _("Whitespaces") ) );
+ m_pgPropWhitespaces->SetHelpString(wxT(""));
- fgSizer1->Add(m_checkBoxMatchBraces, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ m_pgMgrGeneralArr.Clear();
+ m_pgMgrGeneralIntArr.Clear();
+ m_pgMgrGeneralArr.Add(_("Invisible"));
+ m_pgMgrGeneralArr.Add(_("Visible always"));
+ m_pgMgrGeneralArr.Add(_("Visible after indentation"));
+ m_pgPropWhitespaceVisibility = m_pgMgrGeneral->AppendIn( m_pgPropWhitespaces, new wxEnumProperty( _("Whitespace visibility"), wxPG_LABEL, m_pgMgrGeneralArr, m_pgMgrGeneralIntArr, 0) );
+ m_pgPropWhitespaceVisibility->SetHelpString(_("Whitespace visibility policy"));
- m_checkBoxDisableSemicolonShift = new wxCheckBox(this, wxID_ANY, _("Disable semicolon shift"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxDisableSemicolonShift->SetValue(false);
- m_checkBoxDisableSemicolonShift->SetToolTip(_("Auto swap between semicolon and closing brace"));
+ m_pgMgrGeneralArr.Clear();
+ m_pgMgrGeneralIntArr.Clear();
+ m_pgMgrGeneralArr.Add(_("Default"));
+ m_pgMgrGeneralArr.Add(_("Mac (CR)"));
+ m_pgMgrGeneralArr.Add(_("Windows (CRLF)"));
+ m_pgMgrGeneralArr.Add(_("Unix (LF)"));
+ m_pgPropEOLMode = m_pgMgrGeneral->AppendIn( m_pgPropWhitespaces, new wxEnumProperty( _("EOL Mode"), wxPG_LABEL, m_pgMgrGeneralArr, m_pgMgrGeneralIntArr, 0) );
+ m_pgPropEOLMode->SetHelpString(_("Set the editor's EOL mode (End Of Line)"));
- fgSizer1->Add(m_checkBoxDisableSemicolonShift, 0, wxALL|wxEXPAND, 5);
+ m_pgPropCaretLine = m_pgMgrGeneral->Append( new wxPropertyCategory( _("Caret line") ) );
+ m_pgPropCaretLine->SetHelpString(wxT(""));
- m_checkBoxHideChangeMarkerMargin = new wxCheckBox(this, wxID_ANY, _("Hide change marker margin"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxHideChangeMarkerMargin->SetValue(false);
- m_checkBoxHideChangeMarkerMargin->SetToolTip(_("Hide / Display the change marker margin (red/green marks when line is modified)"));
+ m_pgPropEnableCaretLine = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine, new wxBoolProperty( _("Highlight caret line"), wxPG_LABEL, 0) );
+ m_pgPropEnableCaretLine->SetHelpString(_("Highlight caret line with a background colour"));
- fgSizer1->Add(m_checkBoxHideChangeMarkerMargin, 0, wxALL, 5);
+ m_pgPropCaretLineColour = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine, new wxSystemColourProperty( _("Caret line background colour"), wxPG_LABEL, wxColour(wxT("rgb(171,222,230)"))) );
+ m_pgPropCaretLineColour->SetHelpString(_("Caret line background colour"));
- wxStaticBoxSizer* sbSizer1 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Whitespaces:")), wxVERTICAL);
+ m_pgPropCaretLineAlpha = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine, new wxIntProperty( _("Caret line colour alpha"), wxPG_LABEL, 30) );
+ m_pgPropCaretLineAlpha->SetHelpString(_("Set the caret line colour transparency value. Where 0 mean complete transparent and 255 means fully opaque"));
- bSizer1->Add(sbSizer1, 0, wxALL|wxEXPAND, 5);
+ m_pgPropDebuggerMarker = m_pgMgrGeneral->Append( new wxPropertyCategory( _("Debugger Marker") ) );
+ m_pgPropDebuggerMarker->SetHelpString(_("Debugger Marker"));
- wxFlexGridSizer* fgSizer3 = new wxFlexGridSizer(0, 2, 0, 0);
- fgSizer3->SetFlexibleDirection( wxBOTH );
- fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer3->AddGrowableCol(1);
+ m_pgPropHighlightDebuggerMarker = m_pgMgrGeneral->AppendIn( m_pgPropDebuggerMarker, new wxBoolProperty( _("Highlight debugger line"), wxPG_LABEL, 0) );
+ m_pgPropHighlightDebuggerMarker->SetHelpString(_("When debugging, highlight the current line with a background colour"));
- sbSizer1->Add(fgSizer3, 1, wxEXPAND, 5);
+ m_pgPropDebuggerLineColour = m_pgMgrGeneral->AppendIn( m_pgPropDebuggerMarker, new wxSystemColourProperty( _("Debugger line background colour")) );
+ m_pgPropDebuggerLineColour->SetValueToUnspecified();
+ m_pgPropDebuggerLineColour->SetHelpString(_("Debugger line background colour"));
- m_staticText2 = new wxStaticText(this, wxID_ANY, _("Whitespace visibility:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer3->Add(m_staticText2, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- wxArrayString m_whitespaceStyleArr;
- m_whitespaceStyle = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_whitespaceStyleArr, 0);
-
- fgSizer3->Add(m_whitespaceStyle, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
-
- m_staticText4 = new wxStaticText(this, wxID_ANY, _("EOL Mode:"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_staticText4->SetToolTip(_("Set the editor's EOL mode (End Of Line)"));
-
- fgSizer3->Add(m_staticText4, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- wxArrayString m_choiceEOLArr;
- m_choiceEOL = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_choiceEOLArr, 0);
- m_choiceEOL->SetToolTip(_("Set the editor's EOL mode (End Of Line). When set to 'Default' CodeLite will set the EOL according to the hosting OS"));
-
- fgSizer3->Add(m_choiceEOL, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
-
- wxStaticBoxSizer* sbSizer2 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Caret line:")), wxVERTICAL);
-
- bSizer1->Add(sbSizer2, 0, wxALL|wxEXPAND, 5);
-
- wxFlexGridSizer* fgSizer2 = new wxFlexGridSizer(3, 2, 0, 0);
- fgSizer2->SetFlexibleDirection( wxBOTH );
- fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer2->AddGrowableCol(1);
-
- sbSizer2->Add(fgSizer2, 0, wxALL|wxEXPAND, 5);
-
- m_highlightCaretLine = new wxCheckBox(this, wxID_ANY, _("Highlight caret line"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_highlightCaretLine->SetValue(false);
- m_highlightCaretLine->SetToolTip(_("Highlight the caret line"));
-
- fgSizer2->Add(m_highlightCaretLine, 0, wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
-
- fgSizer2->Add(0, 0, 1, wxEXPAND, 5);
-
- m_staticText1 = new wxStaticText(this, wxID_ANY, _("Caret line background colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer2->Add(m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
-
- m_caretLineColourPicker = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_DEFAULT_STYLE);
-
- fgSizer2->Add(m_caretLineColourPicker, 0, wxALL|wxEXPAND|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- wxStaticBoxSizer* sbSizer4 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Debugger Marker:")), wxVERTICAL);
-
- bSizer1->Add(sbSizer4, 0, wxALL|wxEXPAND, 5);
-
- wxFlexGridSizer* fgSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
- fgSizer4->SetFlexibleDirection( wxBOTH );
- fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer4->AddGrowableCol(1);
-
- sbSizer4->Add(fgSizer4, 0, wxEXPAND, 5);
-
- m_checkBoxMarkdebuggerLine = new wxCheckBox(this, wxID_ANY, _("Highlight debugger line"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxMarkdebuggerLine->SetValue(false);
-
- fgSizer4->Add(m_checkBoxMarkdebuggerLine, 0, wxALL, 5);
-
- fgSizer4->Add(0, 0, 1, wxEXPAND, 5);
-
- m_staticText41 = new wxStaticText(this, wxID_ANY, _("Debugger line colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer4->Add(m_staticText41, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- m_colourPickerDbgLine = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_DEFAULT_STYLE);
-
- fgSizer4->Add(m_colourPickerDbgLine, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
-
- SetSizeHints(-1,-1);
+ SetSizeHints(500,500);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
- // Connect events
- m_highlightCaretLine->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(EditorOptionsGeneralGuidesPanelBase::OnHighlightCaretLine), NULL, this);
- m_staticText1->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnhighlightCaretLineUI), NULL, this);
- m_caretLineColourPicker->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnhighlightCaretLineUI), NULL, this);
- m_staticText41->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnDebuggerLineUI), NULL, this);
- m_colourPickerDbgLine->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnDebuggerLineUI), NULL, this);
-
}
EditorOptionsGeneralGuidesPanelBase::~EditorOptionsGeneralGuidesPanelBase()
{
- m_highlightCaretLine->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(EditorOptionsGeneralGuidesPanelBase::OnHighlightCaretLine), NULL, this);
- m_staticText1->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnhighlightCaretLineUI), NULL, this);
- m_caretLineColourPicker->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnhighlightCaretLineUI), NULL, this);
- m_staticText41->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnDebuggerLineUI), NULL, this);
- m_colourPickerDbgLine->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorOptionsGeneralGuidesPanelBase::OnDebuggerLineUI), NULL, this);
-
}
EditorOptionsGeneralEditBase::EditorOptionsGeneralEditBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
diff --git a/LiteEditor/editoroptionsgeneralguidespanelbase.h b/LiteEditor/editoroptionsgeneralguidespanelbase.h
index 605dbdad..8ab875b3 100644
--- a/LiteEditor/editoroptionsgeneralguidespanelbase.h
+++ b/LiteEditor/editoroptionsgeneralguidespanelbase.h
@@ -13,12 +13,6 @@
#include <wx/panel.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
-#include <wx/statbox.h>
-#include <wx/checkbox.h>
-#include <wx/stattext.h>
-#include <wx/choice.h>
-#include <wx/arrstr.h>
-#include <wx/clrpicker.h>
#include <wx/propgrid/manager.h>
#include <wx/propgrid/property.h>
#include <wx/propgrid/advprops.h>
@@ -26,44 +20,28 @@
class EditorOptionsGeneralGuidesPanelBase : public wxPanel
{
protected:
- wxCheckBox* m_displayLineNumbers;
- wxCheckBox* m_showIndentationGuideLines;
- wxCheckBox* m_checkBoxMatchBraces;
- wxCheckBox* m_checkBoxDisableSemicolonShift;
- wxCheckBox* m_checkBoxHideChangeMarkerMargin;
- wxStaticText* m_staticText2;
- wxChoice* m_whitespaceStyle;
- wxStaticText* m_staticText4;
- wxChoice* m_choiceEOL;
- wxCheckBox* m_highlightCaretLine;
- wxStaticText* m_staticText1;
- wxColourPickerCtrl* m_caretLineColourPicker;
- wxCheckBox* m_checkBoxMarkdebuggerLine;
- wxStaticText* m_staticText41;
- wxColourPickerCtrl* m_colourPickerDbgLine;
+ wxPropertyGridManager* m_pgMgrGeneral;
+ wxPGProperty* m_pgPropCategoryGeneral;
+ wxPGProperty* m_pgPropDisplayLineNumbers;
+ wxPGProperty* m_pgPropHighlightMatchedBrace;
+ wxPGProperty* m_pgPropHideEditMargin;
+ wxPGProperty* m_pgPropShowIndentGuidelines;
+ wxPGProperty* m_pgPropDisableSemiColonShift;
+ wxPGProperty* m_pgPropWhitespaces;
+ wxPGProperty* m_pgPropWhitespaceVisibility;
+ wxPGProperty* m_pgPropEOLMode;
+ wxPGProperty* m_pgPropCaretLine;
+ wxPGProperty* m_pgPropEnableCaretLine;
+ wxPGProperty* m_pgPropCaretLineColour;
+ wxPGProperty* m_pgPropCaretLineAlpha;
+ wxPGProperty* m_pgPropDebuggerMarker;
+ wxPGProperty* m_pgPropHighlightDebuggerMarker;
+ wxPGProperty* m_pgPropDebuggerLineColour;
protected:
- virtual void OnHighlightCaretLine(wxCommandEvent& event) { event.Skip(); }
- virtual void OnhighlightCaretLineUI(wxUpdateUIEvent& event) { event.Skip(); }
- virtual void OnDebuggerLineUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
- wxCheckBox* GetDisplayLineNumbers() { return m_displayLineNumbers; }
- wxCheckBox* GetShowIndentationGuideLines() { return m_showIndentationGuideLines; }
- wxCheckBox* GetCheckBoxMatchBraces() { return m_checkBoxMatchBraces; }
- wxCheckBox* GetCheckBoxDisableSemicolonShift() { return m_checkBoxDisableSemicolonShift; }
- wxCheckBox* GetCheckBoxHideChangeMarkerMargin() { return m_checkBoxHideChangeMarkerMargin; }
- wxStaticText* GetStaticText2() { return m_staticText2; }
- wxChoice* GetWhitespaceStyle() { return m_whitespaceStyle; }
- wxStaticText* GetStaticText4() { return m_staticText4; }
- wxChoice* GetChoiceEOL() { return m_choiceEOL; }
- wxCheckBox* GetHighlightCaretLine() { return m_highlightCaretLine; }
- wxStaticText* GetStaticText1() { return m_staticText1; }
- wxColourPickerCtrl* GetCaretLineColourPicker() { return m_caretLineColourPicker; }
- wxCheckBox* GetCheckBoxMarkdebuggerLine() { return m_checkBoxMarkdebuggerLine; }
- wxStaticText* GetStaticText41() { return m_staticText41; }
- wxColourPickerCtrl* GetColourPickerDbgLine() { return m_colourPickerDbgLine; }
- EditorOptionsGeneralGuidesPanelBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
+ EditorOptionsGeneralGuidesPanelBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,500), long style = wxTAB_TRAVERSAL);
virtual ~EditorOptionsGeneralGuidesPanelBase();
};
@@ -84,7 +62,6 @@ protected:
virtual void OnValueChanged(wxPropertyGridEvent& event) { event.Skip(); }
public:
- wxPropertyGridManager* GetPgMgrEdit() { return m_pgMgrEdit; }
EditorOptionsGeneralEditBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL);
virtual ~EditorOptionsGeneralEditBase();
};
diff --git a/LiteEditor/editorsettingsbookmarksbasepanel.cpp b/LiteEditor/editorsettingsbookmarksbasepanel.cpp
index a2bf0b26..e4863940 100644
--- a/LiteEditor/editorsettingsbookmarksbasepanel.cpp
+++ b/LiteEditor/editorsettingsbookmarksbasepanel.cpp
@@ -36,7 +36,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
fgSizer1->AddGrowableCol(1);
- bSizer2->Add(fgSizer1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer2->Add(fgSizer1, 0, wxALL|wxEXPAND, 5);
m_staticText3 = new wxStaticText(this, wxID_ANY, _("Bookmark Shape:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -81,7 +81,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
m_backgroundColor = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_DEFAULT_STYLE);
- fgSizer1->Add(m_backgroundColor, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
+ fgSizer1->Add(m_backgroundColor, 0, wxALL|wxEXPAND, 5);
m_staticText5 = new wxStaticText(this, wxID_ANY, _("Foreground colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -89,7 +89,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
m_foregroundColor = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_DEFAULT_STYLE);
- fgSizer1->Add(m_foregroundColor, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
+ fgSizer1->Add(m_foregroundColor, 0, wxALL|wxEXPAND, 5);
m_staticLine18 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxLI_HORIZONTAL);
@@ -100,7 +100,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
flexGridSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer4->AddGrowableCol(1);
- bSizer2->Add(flexGridSizer4, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer2->Add(flexGridSizer4, 0, wxALL|wxEXPAND, 5);
m_staticText66 = new wxStaticText(this, wxID_ANY, _("'Highlight Matching Word' colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -109,7 +109,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
m_highlightColor = new wxColourPickerCtrl(this, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_DEFAULT_STYLE);
m_highlightColor->SetToolTip(_("This lets you set the 'Highlight Matching Word' colour (the colour of words that match the selection). To set the colour of the selection itself, see 'Settings > Syntax Highlight and Fonts'."));
- flexGridSizer4->Add(m_highlightColor, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
+ flexGridSizer4->Add(m_highlightColor, 0, wxALL|wxEXPAND, 5);
m_staticText54 = new wxStaticText(this, wxID_ANY, _("'Highlight Matching Word' alpha:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -120,7 +120,7 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
m_spinCtrlHighlightAlpha->SetRange(0, 255);
m_spinCtrlHighlightAlpha->SetValue(128);
- flexGridSizer4->Add(m_spinCtrlHighlightAlpha, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
+ flexGridSizer4->Add(m_spinCtrlHighlightAlpha, 0, wxALL|wxEXPAND, 5);
m_clearHighlitWords = new wxCheckBox(this, wxID_ANY, _("Find/FindNext clears highlit matching words"), wxDefaultPosition, wxSize(-1,-1), 0);
m_clearHighlitWords->SetValue(false);
@@ -128,11 +128,12 @@ EditorSettingsBookmarksBasePanel::EditorSettingsBookmarksBasePanel(wxWindow* par
bSizer2->Add(m_clearHighlitWords, 0, wxALL, 10);
+ SetName(wxT("EditorSettingsBookmarksBasePanel"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_choiceBMType->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(EditorSettingsBookmarksBasePanel::OnBookmarkChanged), NULL, this);
diff --git a/LiteEditor/editorsettingsbookmarksbasepanel.h b/LiteEditor/editorsettingsbookmarksbasepanel.h
index d13f9e5f..91a1c5bc 100644
--- a/LiteEditor/editorsettingsbookmarksbasepanel.h
+++ b/LiteEditor/editorsettingsbookmarksbasepanel.h
@@ -21,6 +21,12 @@
#include <wx/clrpicker.h>
#include <wx/statline.h>
#include <wx/spinctrl.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class EditorSettingsBookmarksBasePanel : public wxPanel
{
@@ -47,6 +53,23 @@ protected:
virtual void OnBookmarkChanged(wxCommandEvent& event) { event.Skip(); }
public:
+ wxCheckBox* GetDisplaySelection() { return m_displaySelection; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxChoice* GetBookMarkShape() { return m_bookMarkShape; }
+ wxStaticText* GetStaticText10() { return m_staticText10; }
+ wxChoice* GetChoiceBMType() { return m_choiceBMType; }
+ wxStaticText* GetStaticText41() { return m_staticText41; }
+ wxTextCtrl* GetBookmarkLabel() { return m_BookmarkLabel; }
+ wxStaticText* GetStaticText4() { return m_staticText4; }
+ wxColourPickerCtrl* GetBackgroundColor() { return m_backgroundColor; }
+ wxStaticText* GetStaticText5() { return m_staticText5; }
+ wxColourPickerCtrl* GetForegroundColor() { return m_foregroundColor; }
+ wxStaticLine* GetStaticLine18() { return m_staticLine18; }
+ wxStaticText* GetStaticText66() { return m_staticText66; }
+ wxColourPickerCtrl* GetHighlightColor() { return m_highlightColor; }
+ wxStaticText* GetStaticText54() { return m_staticText54; }
+ wxSpinCtrl* GetSpinCtrlHighlightAlpha() { return m_spinCtrlHighlightAlpha; }
+ wxCheckBox* GetClearHighlitWords() { return m_clearHighlitWords; }
EditorSettingsBookmarksBasePanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~EditorSettingsBookmarksBasePanel();
};
diff --git a/LiteEditor/editorsettingscomments.cpp b/LiteEditor/editorsettingscomments.cpp
index cda37a97..a7b2b77d 100644
--- a/LiteEditor/editorsettingscomments.cpp
+++ b/LiteEditor/editorsettingscomments.cpp
@@ -45,7 +45,7 @@ EditorSettingsComments::EditorSettingsComments( wxWindow* parent )
m_checkBoxAlt->SetValue( flags & OptionsConfig::Opt_NavKey_Alt );
m_checkBoxCtrl->SetValue( flags & OptionsConfig::Opt_NavKey_Control );
- m_checkBoxShift->SetValue( flags & OptionsConfig::Opt_NavKey_Shift );
+ m_checkBoxAlt->SetValue( flags & OptionsConfig::Opt_NavKey_Shift );
}
void EditorSettingsComments::Save(OptionsConfigPtr options)
@@ -65,10 +65,7 @@ void EditorSettingsComments::Save(OptionsConfigPtr options)
// clear the navigation key code
flags &= ~(OptionsConfig::Opt_NavKey_Alt|OptionsConfig::Opt_NavKey_Control|OptionsConfig::Opt_NavKey_Shift);
-
- if( m_checkBoxShift->IsChecked() )
- flags |= OptionsConfig::Opt_NavKey_Shift;
-
+
if( m_checkBoxCtrl->IsChecked() )
flags |= OptionsConfig::Opt_NavKey_Control;
diff --git a/LiteEditor/editorsettingscommentsbase.cpp b/LiteEditor/editorsettingscommentsbase.cpp
index e37c1e6e..a2855a07 100644
--- a/LiteEditor/editorsettingscommentsbase.cpp
+++ b/LiteEditor/editorsettingscommentsbase.cpp
@@ -1,93 +1,108 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingscommentsbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Dec 21 2009)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////
+// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: editor_options_comments_base.wxcp
+// Do not modify this file by hand!
+//////////////////////////////////////////////////////////////////////
#include "editorsettingscommentsbase.h"
-///////////////////////////////////////////////////////////////////////////
-EditorSettingsCommentsBase::EditorSettingsCommentsBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
+// Declare the bitmap loading function
+extern void wxCD0F0InitBitmapResources();
+
+static bool bBitmapLoaded = false;
+
+
+EditorSettingsCommentsBase::EditorSettingsCommentsBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
+ : wxPanel(parent, id, pos, size, style)
{
- wxBoxSizer* mainSizer;
- mainSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer2;
- bSizer2 = new wxBoxSizer( wxVERTICAL );
-
- m_checkBoxSmartAddFiles = new wxCheckBox( this, wxID_ANY, _("When adding new files to a project, place the files in the 'include' / 'src' folders respectively"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer2->Add( m_checkBoxSmartAddFiles, 0, wxALL|wxEXPAND, 5 );
-
- m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer2->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
-
- m_checkBoxContCComment = new wxCheckBox( this, wxID_ANY, _("When hitting <ENTER> in a C style comment section automatically add '*' at the next line"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxContCComment->SetValue(true);
- bSizer2->Add( m_checkBoxContCComment, 0, wxALL|wxEXPAND, 5 );
-
- m_checkBoxContinueCppComment = new wxCheckBox( this, wxID_ANY, _("When hitting <ENTER> in a C++ style comment section, automatically add '//' at the next line"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer2->Add( m_checkBoxContinueCppComment, 0, wxALL|wxEXPAND, 5 );
-
- m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer2->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
-
- wxBoxSizer* bSizer3;
- bSizer3 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText1 = new wxStaticText( this, wxID_ANY, _("Code navigation key:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText1->Wrap( -1 );
- m_staticText1->SetToolTip( _("When using quick code navigation use this keys in combination with mouse click\nTo quickly go to implementation / declaration") );
-
- bSizer3->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticText2 = new wxStaticText( this, wxID_ANY, _("Mouse Left Click +"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText2->Wrap( -1 );
- bSizer3->Add( m_staticText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_checkBoxShift = new wxCheckBox( this, wxID_ANY, _("Shift"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxShift->SetValue(true);
- bSizer3->Add( m_checkBoxShift, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_checkBoxCtrl = new wxCheckBox( this, wxID_ANY, _("Ctrl"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer3->Add( m_checkBoxCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_checkBoxAlt = new wxCheckBox( this, wxID_ANY, _("Alt"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer3->Add( m_checkBoxAlt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizer2->Add( bSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
-
- mainSizer->Add( bSizer2, 0, wxEXPAND|wxALL, 5 );
-
- this->SetSizer( mainSizer );
- this->Layout();
- mainSizer->Fit( this );
+ if ( !bBitmapLoaded ) {
+ // We need to initialise the default bitmap handler
+ wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
+ wxCD0F0InitBitmapResources();
+ bBitmapLoaded = true;
+ }
+
+ wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
+ this->SetSizer(mainSizer);
+
+ wxBoxSizer* bSizer2 = new wxBoxSizer(wxVERTICAL);
+
+ mainSizer->Add(bSizer2, 0, wxALL|wxEXPAND, 5);
+
+ m_checkBoxSmartAddFiles = new wxCheckBox(this, wxID_ANY, _("When adding new files to a project, place the files in the 'include' / 'src' folders respectively"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxSmartAddFiles->SetValue(false);
+
+ bSizer2->Add(m_checkBoxSmartAddFiles, 0, wxALL, 10);
+
+ wxBoxSizer* boxSizer1 = new wxBoxSizer(wxHORIZONTAL);
+
+ bSizer2->Add(boxSizer1, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText3 = new wxStaticText(this, wxID_ANY, _("Comments:"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_staticText3->Enable(false);
+
+ boxSizer1->Add(m_staticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_staticline1 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLI_HORIZONTAL);
+
+ boxSizer1->Add(m_staticline1, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ wxBoxSizer* boxSizer4 = new wxBoxSizer(wxVERTICAL);
+
+ bSizer2->Add(boxSizer4, 0, wxALL, 5);
+
+ m_checkBoxContCComment = new wxCheckBox(this, wxID_ANY, _("Hitting <ENTER> in a C style comment automatically adds a '*' to the next line"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxContCComment->SetValue(true);
+
+ boxSizer4->Add(m_checkBoxContCComment, 0, wxALL, 5);
+
+ m_checkBoxContinueCppComment = new wxCheckBox(this, wxID_ANY, _("Hitting <ENTER> in a C++ style comment section automatically adds a'//' to the next line"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxContinueCppComment->SetValue(false);
+
+ boxSizer4->Add(m_checkBoxContinueCppComment, 0, wxALL, 5);
+
+ wxBoxSizer* boxSizer5 = new wxBoxSizer(wxHORIZONTAL);
+
+ bSizer2->Add(boxSizer5, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText7 = new wxStaticText(this, wxID_ANY, _("Code Navigation Accelerators:"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_staticText7->Enable(false);
+
+ boxSizer5->Add(m_staticText7, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_staticline2 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLI_HORIZONTAL);
+
+ boxSizer5->Add(m_staticline2, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ wxBoxSizer* bSizer3 = new wxBoxSizer(wxHORIZONTAL);
+
+ bSizer2->Add(bSizer3, 0, wxALL|wxALIGN_LEFT, 5);
+
+ m_staticText1 = new wxStaticText(this, wxID_ANY, _("Code navigation key:"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_staticText1->SetToolTip(_("When using quick code navigation use this keys in combination with mouse click\nTo quickly go to implementation / declaration"));
+
+ bSizer3->Add(m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_staticText2 = new wxStaticText(this, wxID_ANY, _("Mouse Left Click +"), wxDefaultPosition, wxSize(-1, -1), 0);
+
+ bSizer3->Add(m_staticText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_checkBoxCtrl = new wxCheckBox(this, wxID_ANY, _("Ctrl"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxCtrl->SetValue(false);
+
+ bSizer3->Add(m_checkBoxCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_checkBoxAlt = new wxCheckBox(this, wxID_ANY, _("Alt"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxAlt->SetValue(true);
+
+ bSizer3->Add(m_checkBoxAlt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+
+ SetSizeHints(-1,-1);
+ if ( GetSizer() ) {
+ GetSizer()->Fit(this);
+ }
+ Centre(wxBOTH);
}
EditorSettingsCommentsBase::~EditorSettingsCommentsBase()
diff --git a/LiteEditor/editorsettingscommentsbase.h b/LiteEditor/editorsettingscommentsbase.h
index 8d621c58..45737f35 100644
--- a/LiteEditor/editorsettingscommentsbase.h
+++ b/LiteEditor/editorsettingscommentsbase.h
@@ -1,78 +1,53 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : editorsettingscommentsbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////
+// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: editor_options_comments_base.wxcp
+// Do not modify this file by hand!
+//////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Dec 21 2009)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
+#ifndef EDITOR_OPTIONS_COMMENTS_BASE_BASE_CLASSES_H
+#define EDITOR_OPTIONS_COMMENTS_BASE_BASE_CLASSES_H
-#ifndef __editorsettingscommentsbase__
-#define __editorsettingscommentsbase__
-
-#include <wx/intl.h>
-
-#include <wx/string.h>
-#include <wx/checkbox.h>
-#include <wx/gdicmn.h>
-#include <wx/font.h>
-#include <wx/colour.h>
#include <wx/settings.h>
-#include <wx/statline.h>
-#include <wx/stattext.h>
-#include <wx/sizer.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_bmp.h>
#include <wx/panel.h>
+#include <wx/artprov.h>
+#include <wx/sizer.h>
+#include <wx/checkbox.h>
+#include <wx/stattext.h>
+#include <wx/statline.h>
-///////////////////////////////////////////////////////////////////////////
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class EditorSettingsCommentsBase
-///////////////////////////////////////////////////////////////////////////////
-class EditorSettingsCommentsBase : public wxPanel
+class EditorSettingsCommentsBase : public wxPanel
{
- private:
-
- protected:
- wxCheckBox* m_checkBoxSmartAddFiles;
- wxStaticLine* m_staticline1;
- wxCheckBox* m_checkBoxContCComment;
- wxCheckBox* m_checkBoxContinueCppComment;
- wxStaticLine* m_staticline2;
- wxStaticText* m_staticText1;
- wxStaticText* m_staticText2;
- wxCheckBox* m_checkBoxShift;
- wxCheckBox* m_checkBoxCtrl;
- wxCheckBox* m_checkBoxAlt;
-
- public:
-
- EditorSettingsCommentsBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
- ~EditorSettingsCommentsBase();
-
+protected:
+ wxCheckBox* m_checkBoxSmartAddFiles;
+ wxStaticText* m_staticText3;
+ wxStaticLine* m_staticline1;
+ wxCheckBox* m_checkBoxContCComment;
+ wxCheckBox* m_checkBoxContinueCppComment;
+ wxStaticText* m_staticText7;
+ wxStaticLine* m_staticline2;
+ wxStaticText* m_staticText1;
+ wxStaticText* m_staticText2;
+ wxCheckBox* m_checkBoxCtrl;
+ wxCheckBox* m_checkBoxAlt;
+
+protected:
+
+public:
+ wxCheckBox* GetCheckBoxSmartAddFiles() { return m_checkBoxSmartAddFiles; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxStaticLine* GetStaticline1() { return m_staticline1; }
+ wxCheckBox* GetCheckBoxContCComment() { return m_checkBoxContCComment; }
+ wxCheckBox* GetCheckBoxContinueCppComment() { return m_checkBoxContinueCppComment; }
+ wxStaticText* GetStaticText7() { return m_staticText7; }
+ wxStaticLine* GetStaticline2() { return m_staticline2; }
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxCheckBox* GetCheckBoxCtrl() { return m_checkBoxCtrl; }
+ wxCheckBox* GetCheckBoxAlt() { return m_checkBoxAlt; }
+ EditorSettingsCommentsBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
+ virtual ~EditorSettingsCommentsBase();
};
-#endif //__editorsettingscommentsbase__
+#endif
diff --git a/LiteEditor/editorsettingsdockingwidows.cpp b/LiteEditor/editorsettingsdockingwidows.cpp
index 5edc8003..459745a7 100644
--- a/LiteEditor/editorsettingsdockingwidows.cpp
+++ b/LiteEditor/editorsettingsdockingwidows.cpp
@@ -1,58 +1,61 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingsdockingwidows.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : editorsettingsdockingwidows.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "editorsettingsdockingwidows.h"
#include "editor_config.h"
+#include "frame.h"
-EditorSettingsDockingWindows::EditorSettingsDockingWindows( wxWindow* parent )
- : EditorSettingsDockingWindowsBase( parent )
+EditorSettingsDockingWindows::EditorSettingsDockingWindows(wxWindow* parent)
+ : EditorSettingsDockingWindowsBase(parent)
{
OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
- m_checkBoxHideOutputPaneOnClick->SetValue (options->GetHideOutpuPaneOnUserClick());
- m_checkBoxHideOutputPaneNotIfBuild->SetValue (options->GetHideOutputPaneNotIfBuild());
- m_checkBoxHideOutputPaneNotIfSearch->SetValue (options->GetHideOutputPaneNotIfSearch());
- m_checkBoxHideOutputPaneNotIfReplace->SetValue (options->GetHideOutputPaneNotIfReplace());
+ m_checkBoxHideOutputPaneOnClick->SetValue(options->GetHideOutpuPaneOnUserClick());
+ m_checkBoxHideOutputPaneNotIfBuild->SetValue(options->GetHideOutputPaneNotIfBuild());
+ m_checkBoxHideOutputPaneNotIfSearch->SetValue(options->GetHideOutputPaneNotIfSearch());
+ m_checkBoxHideOutputPaneNotIfReplace->SetValue(options->GetHideOutputPaneNotIfReplace());
m_checkBoxHideOutputPaneNotIfReferences->SetValue(options->GetHideOutputPaneNotIfReferences());
- m_checkBoxHideOutputPaneNotIfOutput->SetValue (options->GetHideOutputPaneNotIfOutput());
- m_checkBoxHideOutputPaneNotIfTrace->SetValue (options->GetHideOutputPaneNotIfTrace());
- m_checkBoxHideOutputPaneNotIfTasks->SetValue (options->GetHideOutputPaneNotIfTasks());
- m_checkBoxHideOutputPaneNotIfBuildQ->SetValue (options->GetHideOutputPaneNotIfBuildQ());
- m_checkBoxHideOutputPaneNotIfCppCheck->SetValue (options->GetHideOutputPaneNotIfCppCheck());
- m_checkBoxHideOutputPaneNotIfSvn->SetValue (options->GetHideOutputPaneNotIfSvn());
- m_checkBoxHideOutputPaneNotIfCscope->SetValue (options->GetHideOutputPaneNotIfCscope());
- m_checkBoxHideOutputPaneNotIfGit->SetValue (options->GetHideOutputPaneNotIfGit());
- m_checkBoxHideOutputPaneNotIfDebug->SetValue (options->GetHideOutputPaneNotIfDebug());
- m_checkBoxHideOutputPaneNotIfMemCheck->SetValue (options->GetHideOutputPaneNotIfMemCheck());
- m_checkBoxFindBarAtBottom->SetValue (options->GetFindBarAtBottom());
- m_checkBoxDontFoldSearchResults->SetValue (options->GetDontAutoFoldResults());
- m_checkBoxShowDebugOnRun->SetValue (options->GetShowDebugOnRun());
- m_radioBoxHint->SetSelection (options->GetDockingStyle());
- m_checkBoxHideCaptions->SetValue (!options->IsShowDockingWindowCaption());
-
- int tabStyle (0); // Glossy
+ m_checkBoxHideOutputPaneNotIfOutput->SetValue(options->GetHideOutputPaneNotIfOutput());
+ m_checkBoxHideOutputPaneNotIfTrace->SetValue(options->GetHideOutputPaneNotIfTrace());
+ m_checkBoxHideOutputPaneNotIfTasks->SetValue(options->GetHideOutputPaneNotIfTasks());
+ m_checkBoxHideOutputPaneNotIfBuildQ->SetValue(options->GetHideOutputPaneNotIfBuildQ());
+ m_checkBoxHideOutputPaneNotIfCppCheck->SetValue(options->GetHideOutputPaneNotIfCppCheck());
+ m_checkBoxHideOutputPaneNotIfSvn->SetValue(options->GetHideOutputPaneNotIfSvn());
+ m_checkBoxHideOutputPaneNotIfCscope->SetValue(options->GetHideOutputPaneNotIfCscope());
+ m_checkBoxHideOutputPaneNotIfGit->SetValue(options->GetHideOutputPaneNotIfGit());
+ m_checkBoxHideOutputPaneNotIfDebug->SetValue(options->GetHideOutputPaneNotIfDebug());
+ m_checkBoxHideOutputPaneNotIfMemCheck->SetValue(options->GetHideOutputPaneNotIfMemCheck());
+ m_checkBoxFindBarAtBottom->SetValue(options->GetFindBarAtBottom());
+ m_checkBoxShowReplaceBar->SetValue(options->GetShowReplaceBar());
+ m_checkBoxDontFoldSearchResults->SetValue(options->GetDontAutoFoldResults());
+ m_checkBoxShowDebugOnRun->SetValue(options->GetShowDebugOnRun());
+ m_radioBoxHint->SetSelection(options->GetDockingStyle());
+ m_checkBoxHideCaptions->SetValue(!options->IsShowDockingWindowCaption());
+ m_checkBoxEnsureCaptionsVisible->SetValue(options->IsEnsureCaptionsVisible());
+
+ int tabStyle(0); // Glossy
m_startingFlags = OptionsConfig::TabGlossy;
if(options->GetOptions() & OptionsConfig::TabCurved) {
tabStyle = 1;
@@ -64,34 +67,43 @@ EditorSettingsDockingWindows::EditorSettingsDockingWindows( wxWindow* parent )
#if CL_USE_NATIVEBOOK
m_radioBoxTabControlStyle->Enable(false);
#endif
- m_checkBoxHideOutputPaneNotIfDebug->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsDockingWindows::OnHideOutputPaneNotIfDebugUI ), NULL, this );
+ m_checkBoxHideOutputPaneNotIfDebug->Connect(
+ wxEVT_UPDATE_UI,
+ wxUpdateUIEventHandler(EditorSettingsDockingWindows::OnHideOutputPaneNotIfDebugUI),
+ NULL,
+ this);
}
void EditorSettingsDockingWindows::Save(OptionsConfigPtr options)
{
- options->SetHideOutpuPaneOnUserClick( m_checkBoxHideOutputPaneOnClick->IsChecked() );
- options->SetHideOutputPaneNotIfBuild( m_checkBoxHideOutputPaneNotIfBuild->IsChecked() );
- options->SetHideOutputPaneNotIfSearch( m_checkBoxHideOutputPaneNotIfSearch->IsChecked() );
- options->SetHideOutputPaneNotIfReplace( m_checkBoxHideOutputPaneNotIfReplace->IsChecked() );
- options->SetHideOutputPaneNotIfReferences( m_checkBoxHideOutputPaneNotIfReferences->IsChecked() );
- options->SetHideOutputPaneNotIfOutput( m_checkBoxHideOutputPaneNotIfOutput->IsChecked() );
- options->SetHideOutputPaneNotIfTrace( m_checkBoxHideOutputPaneNotIfTrace->IsChecked() );
- options->SetHideOutputPaneNotIfTasks( m_checkBoxHideOutputPaneNotIfTasks->IsChecked() );
- options->SetHideOutputPaneNotIfBuildQ( m_checkBoxHideOutputPaneNotIfBuildQ->IsChecked() );
- options->SetHideOutputPaneNotIfCppCheck( m_checkBoxHideOutputPaneNotIfCppCheck->IsChecked() );
- options->SetHideOutputPaneNotIfSvn( m_checkBoxHideOutputPaneNotIfSvn->IsChecked() );
- options->SetHideOutputPaneNotIfCscope( m_checkBoxHideOutputPaneNotIfCscope->IsChecked() );
- options->SetHideOutputPaneNotIfGit( m_checkBoxHideOutputPaneNotIfGit->IsChecked() );
- options->SetHideOutputPaneNotIfDebug( m_checkBoxHideOutputPaneNotIfDebug->IsChecked() );
- options->SetHideOutputPaneNotIfMemCheck( m_checkBoxHideOutputPaneNotIfMemCheck->IsChecked() );
- options->SetFindBarAtBottom( m_checkBoxFindBarAtBottom->IsChecked() );
- options->SetDontAutoFoldResults( m_checkBoxDontFoldSearchResults->IsChecked() );
- options->SetShowDebugOnRun( m_checkBoxShowDebugOnRun->IsChecked() );
- options->SetDockingStyle( m_radioBoxHint->GetSelection() );
- options->SetShowDockingWindowCaption( !m_checkBoxHideCaptions->IsChecked() );
+ options->SetHideOutpuPaneOnUserClick(m_checkBoxHideOutputPaneOnClick->IsChecked());
+ options->SetHideOutputPaneNotIfBuild(m_checkBoxHideOutputPaneNotIfBuild->IsChecked());
+ options->SetHideOutputPaneNotIfSearch(m_checkBoxHideOutputPaneNotIfSearch->IsChecked());
+ options->SetHideOutputPaneNotIfReplace(m_checkBoxHideOutputPaneNotIfReplace->IsChecked());
+ options->SetHideOutputPaneNotIfReferences(m_checkBoxHideOutputPaneNotIfReferences->IsChecked());
+ options->SetHideOutputPaneNotIfOutput(m_checkBoxHideOutputPaneNotIfOutput->IsChecked());
+ options->SetHideOutputPaneNotIfTrace(m_checkBoxHideOutputPaneNotIfTrace->IsChecked());
+ options->SetHideOutputPaneNotIfTasks(m_checkBoxHideOutputPaneNotIfTasks->IsChecked());
+ options->SetHideOutputPaneNotIfBuildQ(m_checkBoxHideOutputPaneNotIfBuildQ->IsChecked());
+ options->SetHideOutputPaneNotIfCppCheck(m_checkBoxHideOutputPaneNotIfCppCheck->IsChecked());
+ options->SetHideOutputPaneNotIfSvn(m_checkBoxHideOutputPaneNotIfSvn->IsChecked());
+ options->SetHideOutputPaneNotIfCscope(m_checkBoxHideOutputPaneNotIfCscope->IsChecked());
+ options->SetHideOutputPaneNotIfGit(m_checkBoxHideOutputPaneNotIfGit->IsChecked());
+ options->SetHideOutputPaneNotIfDebug(m_checkBoxHideOutputPaneNotIfDebug->IsChecked());
+ options->SetHideOutputPaneNotIfMemCheck(m_checkBoxHideOutputPaneNotIfMemCheck->IsChecked());
+ options->SetFindBarAtBottom(m_checkBoxFindBarAtBottom->IsChecked());
+ options->SetShowReplaceBar(m_checkBoxShowReplaceBar->IsChecked());
+ options->SetDontAutoFoldResults(m_checkBoxDontFoldSearchResults->IsChecked());
+ options->SetShowDebugOnRun(m_checkBoxShowDebugOnRun->IsChecked());
+ options->SetDockingStyle(m_radioBoxHint->GetSelection());
+ options->SetShowDockingWindowCaption(!m_checkBoxHideCaptions->IsChecked());
+ options->SetEnsureCaptionsVisible(m_checkBoxEnsureCaptionsVisible->IsChecked());
+ // Keep the quickreplacebar in sync
+ clMainFrame::Get()->GetMainBook()->ShowQuickReplaceBar(m_checkBoxShowReplaceBar->IsChecked());
+
size_t flags(options->GetOptions());
- m_endFlags = 0;
+
// set the tab control options:
////////////////////////////////////
@@ -114,10 +126,16 @@ void EditorSettingsDockingWindows::Save(OptionsConfigPtr options)
void EditorSettingsDockingWindows::OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event)
{
- event.Enable( m_checkBoxHideOutputPaneOnClick->IsChecked() );
+ event.Enable(m_checkBoxHideOutputPaneOnClick->IsChecked());
}
-bool EditorSettingsDockingWindows::IsRestartRequired()
+bool EditorSettingsDockingWindows::IsRestartRequired() { return m_startingFlags != m_endFlags; }
+void EditorSettingsDockingWindows::OnEnsureCaptionsVisibleUI(wxUpdateUIEvent& event)
{
- return m_startingFlags != m_endFlags;
+#ifdef __WXMSW__
+ event.Enable(m_checkBoxHideCaptions->IsChecked());
+#else
+ event.Enable(false);
+ event.Check(false);
+#endif
}
diff --git a/LiteEditor/editorsettingsdockingwidows.h b/LiteEditor/editorsettingsdockingwidows.h
index 0cb1d2ae..2dd2a48c 100644
--- a/LiteEditor/editorsettingsdockingwidows.h
+++ b/LiteEditor/editorsettingsdockingwidows.h
@@ -1,54 +1,51 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : editorsettingsdockingwidows.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2013 by Eran Ifrah
+// file name : editorsettingsdockingwidows.h
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#ifndef __editorsettingsdockingwidows__
#define __editorsettingsdockingwidows__
-/**
-@file
-Subclass of EditorSettingsDockingWindowsBase, which is generated by wxFormBuilder.
-*/
-
#include "editorsettingsdockingwindowsbase.h"
#include "treebooknodebase.h"
#include "optionsconfig.h"
-/** Implementing EditorSettingsDockingWindowsBase */
-class EditorSettingsDockingWindows
-: public EditorSettingsDockingWindowsBase
-, public TreeBookNode<EditorSettingsDockingWindows>
+class EditorSettingsDockingWindows : public EditorSettingsDockingWindowsBase,
+ public TreeBookNode<EditorSettingsDockingWindows>
{
- size_t m_startingFlags;
- size_t m_endFlags;
-
- void OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event);
+ size_t m_startingFlags;
+ size_t m_endFlags;
+
+ void OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event);
+
public:
- /** Constructor */
- EditorSettingsDockingWindows( wxWindow* parent );
- virtual void Save(OptionsConfigPtr options);
- bool IsRestartRequired();
+ /** Constructor */
+ EditorSettingsDockingWindows(wxWindow* parent);
+ virtual void Save(OptionsConfigPtr options);
+ bool IsRestartRequired();
+
+protected:
+ virtual void OnEnsureCaptionsVisibleUI(wxUpdateUIEvent& event);
};
#endif // __editorsettingsdockingwidows__
diff --git a/LiteEditor/editorsettingsdockingwindowsbase.cpp b/LiteEditor/editorsettingsdockingwindowsbase.cpp
index c9f1bb54..58dfb091 100644
--- a/LiteEditor/editorsettingsdockingwindowsbase.cpp
+++ b/LiteEditor/editorsettingsdockingwindowsbase.cpp
@@ -26,163 +26,196 @@ EditorSettingsDockingWindowsBase::EditorSettingsDockingWindowsBase(wxWindow* par
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
this->SetSizer(mainSizer);
- wxStaticBoxSizer* sbSizer1 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Output Pane:")), wxVERTICAL);
+ m_notebook10 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook10->SetName(wxT("m_notebook10"));
- mainSizer->Add(sbSizer1, 0, wxALL|wxEXPAND, 5);
+ mainSizer->Add(m_notebook10, 1, wxEXPAND, 5);
- m_checkBoxHideOutputPaneOnClick = new wxCheckBox(this, wxID_ANY, _("When user clicks inside an editor, hide the output pane -- unless it's one of:"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_panel12 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
+ m_notebook10->AddPage(m_panel12, _("Docking"), true);
+
+ wxBoxSizer* boxSizer22 = new wxBoxSizer(wxVERTICAL);
+ m_panel12->SetSizer(boxSizer22);
+
+ wxBoxSizer* bSizer2 = new wxBoxSizer(wxHORIZONTAL);
+
+ boxSizer22->Add(bSizer2, 0, wxALL|wxEXPAND, 5);
+
+ wxArrayString m_radioBoxHintArr;
+ m_radioBoxHintArr.Add(_("Transparent hint"));
+ m_radioBoxHintArr.Add(_("Rectangle hint"));
+ m_radioBoxHintArr.Add(_("Venetian blinds hints"));
+ m_radioBoxHint = new wxRadioBox(m_panel12, wxID_ANY, _("Docking Style:"), wxDefaultPosition, wxSize(-1, -1), m_radioBoxHintArr, 1, wxRA_SPECIFY_COLS);
+ m_radioBoxHint->SetSelection(0);
+
+ bSizer2->Add(m_radioBoxHint, 1, wxALL|wxEXPAND, 5);
+
+ wxArrayString m_radioBoxTabControlStyleArr;
+ m_radioBoxTabControlStyleArr.Add(_("Glossy"));
+ m_radioBoxTabControlStyleArr.Add(_("Curved"));
+ m_radioBoxTabControlStyle = new wxRadioBox(m_panel12, wxID_ANY, _("Tab Control Style:"), wxDefaultPosition, wxSize(-1, -1), m_radioBoxTabControlStyleArr, 1, wxRA_SPECIFY_COLS);
+ m_radioBoxTabControlStyle->SetSelection(0);
+
+ bSizer2->Add(m_radioBoxTabControlStyle, 1, wxALL|wxEXPAND, 5);
+
+ wxBoxSizer* boxSizer25 = new wxBoxSizer(wxVERTICAL);
+
+ boxSizer22->Add(boxSizer25, 0, wxALL, 5);
+
+ m_checkBoxHideCaptions = new wxCheckBox(m_panel12, wxID_ANY, _("Hide Docking Windows captions"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxHideCaptions->SetValue(false);
+
+ boxSizer25->Add(m_checkBoxHideCaptions, 0, wxALL, 5);
+
+ m_checkBoxEnsureCaptionsVisible = new wxCheckBox(m_panel12, wxID_ANY, _("Ensure captions are visible on mouse hover"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxEnsureCaptionsVisible->SetValue(false);
+ m_checkBoxEnsureCaptionsVisible->SetToolTip(_("When the option 'Hide Docking Windows captions' is enabled, ensure captions are visible on mouse hover. This is useful so the user can still move around the docking windows"));
+
+ boxSizer25->Add(m_checkBoxEnsureCaptionsVisible, 0, wxALL, 5);
+
+ m_panel14 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
+ m_notebook10->AddPage(m_panel14, _("Find / Find In Files"), false);
+
+ wxBoxSizer* boxSizer20 = new wxBoxSizer(wxVERTICAL);
+ m_panel14->SetSizer(boxSizer20);
+
+ m_checkBoxFindBarAtBottom = new wxCheckBox(m_panel14, wxID_ANY, _("Place the Find bar at the bottom"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxFindBarAtBottom->SetValue(true);
+
+ boxSizer20->Add(m_checkBoxFindBarAtBottom, 0, wxALL|wxEXPAND, 5);
+
+ m_checkBoxShowReplaceBar = new wxCheckBox(m_panel14, wxID_ANY, _("Also show the 'Replace' section of the Find bar"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxShowReplaceBar->SetValue(false);
+ m_checkBoxShowReplaceBar->SetToolTip(_("When ticked, extra 'replace' fields will be added. You can also Show/Hide these using a keyboard shortcut."));
+
+ boxSizer20->Add(m_checkBoxShowReplaceBar, 0, wxALL|wxEXPAND, 5);
+
+ m_checkBoxDontFoldSearchResults = new wxCheckBox(m_panel14, wxID_ANY, _("Don't automatically fold Search results"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxDontFoldSearchResults->SetValue(false);
+ m_checkBoxDontFoldSearchResults->SetToolTip(_("By default, all but the first results of 'Search' are automatically folded; you have to click on each subsequent file to see its contained matches. Tick this box to prevent this.\nYou can still fold and unfold results with the button in the output pane toolbar."));
+
+ boxSizer20->Add(m_checkBoxDontFoldSearchResults, 0, wxALL, 5);
+
+ m_panel16 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
+ m_notebook10->AddPage(m_panel16, _("Debug / Output panes"), false);
+
+ wxBoxSizer* boxSizer21 = new wxBoxSizer(wxVERTICAL);
+ m_panel16->SetSizer(boxSizer21);
+
+ wxBoxSizer* boxSizer19 = new wxBoxSizer(wxVERTICAL);
+
+ boxSizer21->Add(boxSizer19, 0, wxALL|wxEXPAND, 5);
+
+ m_checkBoxHideOutputPaneOnClick = new wxCheckBox(m_panel16, wxID_ANY, _("When user clicks inside an editor, hide the output pane -- unless it's one of:"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneOnClick->SetValue(true);
m_checkBoxHideOutputPaneOnClick->SetToolTip(_("When e.g. you compile your project, or use 'Find in Files', the Output Pane opens to show the results. If this box is ticked, it will automatically close as soon as you click in the editor."));
- sbSizer1->Add(m_checkBoxHideOutputPaneOnClick, 0, wxALL|wxEXPAND, 5);
+ boxSizer19->Add(m_checkBoxHideOutputPaneOnClick, 0, wxALL|wxEXPAND, 5);
wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer(0, 4, 0, 0);
fgSizer1->SetFlexibleDirection( wxBOTH );
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- sbSizer1->Add(fgSizer1, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT, 20);
+ boxSizer19->Add(fgSizer1, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT, 20);
- m_checkBoxHideOutputPaneNotIfBuild = new wxCheckBox(this, wxID_ANY, _("Build"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfBuild = new wxCheckBox(m_panel16, wxID_ANY, _("Build"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfBuild->SetValue(false);
m_checkBoxHideOutputPaneNotIfBuild->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing e.g. you may not want it to close while you correct one of many build errors."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfBuild, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfSearch = new wxCheckBox(this, wxID_ANY, _("Search"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfSearch = new wxCheckBox(m_panel16, wxID_ANY, _("Search"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfSearch->SetValue(false);
m_checkBoxHideOutputPaneNotIfSearch->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfSearch, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfReplace = new wxCheckBox(this, wxID_ANY, _("Replace"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfReplace = new wxCheckBox(m_panel16, wxID_ANY, _("Replace"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfReplace->SetValue(false);
m_checkBoxHideOutputPaneNotIfReplace->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfReplace, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfReferences = new wxCheckBox(this, wxID_ANY, _("References"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfReferences = new wxCheckBox(m_panel16, wxID_ANY, _("References"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfReferences->SetValue(false);
m_checkBoxHideOutputPaneNotIfReferences->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfReferences, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfOutput = new wxCheckBox(this, wxID_ANY, _("Output"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfOutput = new wxCheckBox(m_panel16, wxID_ANY, _("Output"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfOutput->SetValue(false);
m_checkBoxHideOutputPaneNotIfOutput->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfOutput, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfTrace = new wxCheckBox(this, wxID_ANY, _("Trace"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfTrace = new wxCheckBox(m_panel16, wxID_ANY, _("Trace"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfTrace->SetValue(false);
m_checkBoxHideOutputPaneNotIfTrace->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfTrace, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfTasks = new wxCheckBox(this, wxID_ANY, _("Tasks"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfTasks = new wxCheckBox(m_panel16, wxID_ANY, _("Tasks"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfTasks->SetValue(false);
m_checkBoxHideOutputPaneNotIfTasks->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfTasks, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfBuildQ = new wxCheckBox(this, wxID_ANY, _("BuildQ"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfBuildQ = new wxCheckBox(m_panel16, wxID_ANY, _("BuildQ"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfBuildQ->SetValue(false);
m_checkBoxHideOutputPaneNotIfBuildQ->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfBuildQ, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfCppCheck = new wxCheckBox(this, wxID_ANY, _("CppCheck"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfCppCheck = new wxCheckBox(m_panel16, wxID_ANY, _("CppCheck"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfCppCheck->SetValue(false);
m_checkBoxHideOutputPaneNotIfCppCheck->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfCppCheck, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfSvn = new wxCheckBox(this, wxID_ANY, _("Subversion"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfSvn = new wxCheckBox(m_panel16, wxID_ANY, _("Subversion"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfSvn->SetValue(false);
m_checkBoxHideOutputPaneNotIfSvn->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfSvn, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfCscope = new wxCheckBox(this, wxID_ANY, _("CScope"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfCscope = new wxCheckBox(m_panel16, wxID_ANY, _("CScope"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfCscope->SetValue(false);
m_checkBoxHideOutputPaneNotIfCscope->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfCscope, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfGit = new wxCheckBox(this, wxID_ANY, _("Git"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfGit = new wxCheckBox(m_panel16, wxID_ANY, _("Git"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfGit->SetValue(false);
m_checkBoxHideOutputPaneNotIfGit->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfGit, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfDebug = new wxCheckBox(this, wxID_ANY, _("Debug"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfDebug = new wxCheckBox(m_panel16, wxID_ANY, _("Debug"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfDebug->SetValue(true);
m_checkBoxHideOutputPaneNotIfDebug->SetToolTip(_("Don't automatically close the Debugger Pane on an editor click if this tab is showing. You probably don't want it to close whenever you set a breakpoint, for example."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfDebug, 0, wxALL, 5);
- m_checkBoxHideOutputPaneNotIfMemCheck = new wxCheckBox(this, wxID_ANY, _("MemCheck"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxHideOutputPaneNotIfMemCheck = new wxCheckBox(m_panel16, wxID_ANY, _("MemCheck"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxHideOutputPaneNotIfMemCheck->SetValue(true);
m_checkBoxHideOutputPaneNotIfMemCheck->SetToolTip(_("Don't automatically close the Output Pane on an editor click if this tab is showing."));
fgSizer1->Add(m_checkBoxHideOutputPaneNotIfMemCheck, 0, wxALL, 5);
- m_checkBoxDontFoldSearchResults = new wxCheckBox(this, wxID_ANY, _("Don't automatically fold Search results"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxDontFoldSearchResults->SetValue(false);
- m_checkBoxDontFoldSearchResults->SetToolTip(_("By default, all but the first results of 'Search' are automatically folded; you have to click on each subsequent file to see its contained matches. Tick this box to prevent this.\nYou can still fold and unfold results with the button in the output pane toolbar."));
-
- sbSizer1->Add(m_checkBoxDontFoldSearchResults, 0, wxALL, 5);
-
- wxStaticBoxSizer* sbSizer2 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Find Bar:")), wxVERTICAL);
-
- mainSizer->Add(sbSizer2, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxFindBarAtBottom = new wxCheckBox(this, wxID_ANY, _("Place the find bar at the bottom"), wxDefaultPosition, wxSize(-1, -1), 0);
- m_checkBoxFindBarAtBottom->SetValue(false);
-
- sbSizer2->Add(m_checkBoxFindBarAtBottom, 0, wxALL|wxEXPAND, 5);
-
- wxStaticBoxSizer* sbSizer11 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("Debug Pane:")), wxVERTICAL);
-
- mainSizer->Add(sbSizer11, 0, wxALL|wxEXPAND, 5);
-
- m_checkBoxShowDebugOnRun = new wxCheckBox(this, wxID_ANY, _("Show 'Debug' tab on starting the debugger"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkBoxShowDebugOnRun = new wxCheckBox(m_panel16, wxID_ANY, _("Show 'Debug' tab on starting the debugger"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxShowDebugOnRun->SetValue(true);
m_checkBoxShowDebugOnRun->SetToolTip(_("When starting the debugger, if the Debug tab is not visible, checking this will make it visible"));
- sbSizer11->Add(m_checkBoxShowDebugOnRun, 0, wxALL, 5);
-
- wxBoxSizer* bSizer2 = new wxBoxSizer(wxHORIZONTAL);
-
- mainSizer->Add(bSizer2, 0, wxEXPAND, 5);
-
- wxArrayString m_radioBoxHintArr;
- m_radioBoxHintArr.Add(wxT("Transparent hint"));
- m_radioBoxHintArr.Add(wxT("Rectangle hint"));
- m_radioBoxHintArr.Add(wxT("Venetian blinds hints"));
- m_radioBoxHint = new wxRadioBox(this, wxID_ANY, _("Docking Style:"), wxDefaultPosition, wxSize(-1, -1), m_radioBoxHintArr, 1, wxRA_SPECIFY_COLS);
- m_radioBoxHint->SetSelection(0);
-
- bSizer2->Add(m_radioBoxHint, 1, wxALL|wxEXPAND, 5);
-
- wxArrayString m_radioBoxTabControlStyleArr;
- m_radioBoxTabControlStyleArr.Add(wxT("Glossy"));
- m_radioBoxTabControlStyleArr.Add(wxT("Curved"));
- m_radioBoxTabControlStyle = new wxRadioBox(this, wxID_ANY, _("Tab Control Style:"), wxDefaultPosition, wxSize(-1, -1), m_radioBoxTabControlStyleArr, 1, wxRA_SPECIFY_COLS);
- m_radioBoxTabControlStyle->SetSelection(0);
-
- bSizer2->Add(m_radioBoxTabControlStyle, 1, wxALL|wxEXPAND, 5);
-
- m_checkBoxHideCaptions = new wxCheckBox(this, wxID_ANY, _("Hide Docking Windows captions"), wxDefaultPosition, wxSize(-1,-1), 0);
- m_checkBoxHideCaptions->SetValue(false);
-
- mainSizer->Add(m_checkBoxHideCaptions, 0, wxALL, 5);
+ boxSizer21->Add(m_checkBoxShowDebugOnRun, 0, wxALL, 5);
+ SetName(wxT("EditorSettingsDockingWindowsBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
+ m_checkBoxEnsureCaptionsVisible->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnEnsureCaptionsVisibleUI), NULL, this);
m_checkBoxHideOutputPaneNotIfBuild->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
m_checkBoxHideOutputPaneNotIfSearch->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
m_checkBoxHideOutputPaneNotIfReplace->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
@@ -202,6 +235,7 @@ EditorSettingsDockingWindowsBase::EditorSettingsDockingWindowsBase(wxWindow* par
EditorSettingsDockingWindowsBase::~EditorSettingsDockingWindowsBase()
{
+ m_checkBoxEnsureCaptionsVisible->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnEnsureCaptionsVisibleUI), NULL, this);
m_checkBoxHideOutputPaneNotIfBuild->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
m_checkBoxHideOutputPaneNotIfSearch->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
m_checkBoxHideOutputPaneNotIfReplace->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsDockingWindowsBase::OnHideOutputPaneNotIfDebugUI), NULL, this);
diff --git a/LiteEditor/editorsettingsdockingwindowsbase.h b/LiteEditor/editorsettingsdockingwindowsbase.h
index 22019aed..968261b0 100644
--- a/LiteEditor/editorsettingsdockingwindowsbase.h
+++ b/LiteEditor/editorsettingsdockingwindowsbase.h
@@ -13,13 +13,31 @@
#include <wx/panel.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
-#include <wx/statbox.h>
-#include <wx/checkbox.h>
+#include <wx/notebook.h>
+#include <wx/imaglist.h>
#include <wx/radiobox.h>
+#include <wx/checkbox.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class EditorSettingsDockingWindowsBase : public wxPanel
{
protected:
+ wxNotebook* m_notebook10;
+ wxPanel* m_panel12;
+ wxRadioBox* m_radioBoxHint;
+ wxRadioBox* m_radioBoxTabControlStyle;
+ wxCheckBox* m_checkBoxHideCaptions;
+ wxCheckBox* m_checkBoxEnsureCaptionsVisible;
+ wxPanel* m_panel14;
+ wxCheckBox* m_checkBoxFindBarAtBottom;
+ wxCheckBox* m_checkBoxShowReplaceBar;
+ wxCheckBox* m_checkBoxDontFoldSearchResults;
+ wxPanel* m_panel16;
wxCheckBox* m_checkBoxHideOutputPaneOnClick;
wxCheckBox* m_checkBoxHideOutputPaneNotIfBuild;
wxCheckBox* m_checkBoxHideOutputPaneNotIfSearch;
@@ -35,17 +53,40 @@ protected:
wxCheckBox* m_checkBoxHideOutputPaneNotIfGit;
wxCheckBox* m_checkBoxHideOutputPaneNotIfDebug;
wxCheckBox* m_checkBoxHideOutputPaneNotIfMemCheck;
- wxCheckBox* m_checkBoxDontFoldSearchResults;
- wxCheckBox* m_checkBoxFindBarAtBottom;
wxCheckBox* m_checkBoxShowDebugOnRun;
- wxRadioBox* m_radioBoxHint;
- wxRadioBox* m_radioBoxTabControlStyle;
- wxCheckBox* m_checkBoxHideCaptions;
protected:
+ virtual void OnEnsureCaptionsVisibleUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnHideOutputPaneNotIfDebugUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxRadioBox* GetRadioBoxHint() { return m_radioBoxHint; }
+ wxRadioBox* GetRadioBoxTabControlStyle() { return m_radioBoxTabControlStyle; }
+ wxCheckBox* GetCheckBoxHideCaptions() { return m_checkBoxHideCaptions; }
+ wxCheckBox* GetCheckBoxEnsureCaptionsVisible() { return m_checkBoxEnsureCaptionsVisible; }
+ wxPanel* GetPanel12() { return m_panel12; }
+ wxCheckBox* GetCheckBoxFindBarAtBottom() { return m_checkBoxFindBarAtBottom; }
+ wxCheckBox* GetCheckBoxShowReplaceBar() { return m_checkBoxShowReplaceBar; }
+ wxCheckBox* GetCheckBoxDontFoldSearchResults() { return m_checkBoxDontFoldSearchResults; }
+ wxPanel* GetPanel14() { return m_panel14; }
+ wxCheckBox* GetCheckBoxHideOutputPaneOnClick() { return m_checkBoxHideOutputPaneOnClick; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfBuild() { return m_checkBoxHideOutputPaneNotIfBuild; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfSearch() { return m_checkBoxHideOutputPaneNotIfSearch; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfReplace() { return m_checkBoxHideOutputPaneNotIfReplace; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfReferences() { return m_checkBoxHideOutputPaneNotIfReferences; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfOutput() { return m_checkBoxHideOutputPaneNotIfOutput; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfTrace() { return m_checkBoxHideOutputPaneNotIfTrace; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfTasks() { return m_checkBoxHideOutputPaneNotIfTasks; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfBuildQ() { return m_checkBoxHideOutputPaneNotIfBuildQ; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfCppCheck() { return m_checkBoxHideOutputPaneNotIfCppCheck; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfSvn() { return m_checkBoxHideOutputPaneNotIfSvn; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfCscope() { return m_checkBoxHideOutputPaneNotIfCscope; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfGit() { return m_checkBoxHideOutputPaneNotIfGit; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfDebug() { return m_checkBoxHideOutputPaneNotIfDebug; }
+ wxCheckBox* GetCheckBoxHideOutputPaneNotIfMemCheck() { return m_checkBoxHideOutputPaneNotIfMemCheck; }
+ wxCheckBox* GetCheckBoxShowDebugOnRun() { return m_checkBoxShowDebugOnRun; }
+ wxPanel* GetPanel16() { return m_panel16; }
+ wxNotebook* GetNotebook10() { return m_notebook10; }
EditorSettingsDockingWindowsBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~EditorSettingsDockingWindowsBase();
};
diff --git a/LiteEditor/editorsettingsfolding.cpp b/LiteEditor/editorsettingsfolding.cpp
index abfa4c3f..5e458429 100644
--- a/LiteEditor/editorsettingsfolding.cpp
+++ b/LiteEditor/editorsettingsfolding.cpp
@@ -26,49 +26,47 @@
#include "globals.h"
#include "editorsettingsfolding.h"
-EditorSettingsFolding::EditorSettingsFolding( wxWindow* parent )
- : EditorSettingsFoldingBase( parent )
- , TreeBookNode<EditorSettingsFolding>()
+EditorSettingsFolding::EditorSettingsFolding(wxWindow* parent)
+ : EditorSettingsFoldingBase(parent)
+ , TreeBookNode<EditorSettingsFolding>()
{
- OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
- m_displayMargin->SetValue(options->GetDisplayFoldMargin());
- m_underlineFolded->SetValue(options->GetUnderlineFoldLine());
- m_foldPreprocessors->SetValue(options->GetFoldPreprocessor());
- m_foldCompact->SetValue(options->GetFoldCompact());
- m_foldElse->SetValue(options->GetFoldAtElse());
-
- const wxString FoldStyles[] = { wxTRANSLATE("Simple"),
- wxTRANSLATE("Arrows"),
- wxTRANSLATE("Flatten Tree Square Headers"),
- wxTRANSLATE("Flatten Tree Circular Headers") };
-
- m_stringManager.AddStrings(sizeof(FoldStyles)/sizeof(wxString), FoldStyles, options->GetFoldStyle(), m_foldStyle);
-}
+ OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
+ m_displayMargin->SetValue(options->GetDisplayFoldMargin());
+ m_underlineFolded->SetValue(options->GetUnderlineFoldLine());
+ m_foldPreprocessors->SetValue(options->GetFoldPreprocessor());
+ m_foldCompact->SetValue(options->GetFoldCompact());
+ m_foldElse->SetValue(options->GetFoldAtElse());
+ m_checkBoxHighlightFolding->SetValue(options->IsHighlightFoldWhenActive());
+
+ const wxString FoldStyles[] = { wxTRANSLATE("Simple"),
+ wxTRANSLATE("Arrows"),
+ wxTRANSLATE("Flatten Tree Square Headers"),
+ wxTRANSLATE("Flatten Tree Circular Headers") };
+ m_stringManager.AddStrings(sizeof(FoldStyles) / sizeof(wxString), FoldStyles, options->GetFoldStyle(), m_foldStyle);
+}
void EditorSettingsFolding::Save(OptionsConfigPtr options)
{
- options->SetDisplayFoldMargin(m_displayMargin->GetValue());
- options->SetUnderlineFoldLine(m_underlineFolded->GetValue());
- options->SetFoldPreprocessor(m_foldPreprocessors->GetValue());
- options->SetFoldCompact(m_foldCompact->GetValue());
- options->SetFoldAtElse(m_foldElse->GetValue());
-
- // Get the foldstyle selection, unlocalised
- wxString foldStyle = m_stringManager.GetStringSelection();
-
- // thses 2 styles no longer exists...
- if(foldStyle == _("Arrows with Background Colour") || foldStyle == _("Simple with Background Colour"))
- foldStyle.Clear();
-
- if (foldStyle.IsEmpty()) {
- foldStyle = wxT("Arrows");
- }
-
- options->SetFoldStyle(foldStyle);
-}
+ options->SetDisplayFoldMargin(m_displayMargin->GetValue());
+ options->SetUnderlineFoldLine(m_underlineFolded->GetValue());
+ options->SetFoldPreprocessor(m_foldPreprocessors->GetValue());
+ options->SetFoldCompact(m_foldCompact->GetValue());
+ options->SetFoldAtElse(m_foldElse->GetValue());
+ options->SetHighlightFoldWhenActive(m_checkBoxHighlightFolding->IsChecked());
+
+ // Get the foldstyle selection, unlocalised
+ wxString foldStyle = m_stringManager.GetStringSelection();
-void EditorSettingsFolding::OnFoldingMarginUI(wxUpdateUIEvent& event)
-{
- event.Enable(m_displayMargin->IsChecked());
+ // thses 2 styles no longer exists...
+ if(foldStyle == _("Arrows with Background Colour") || foldStyle == _("Simple with Background Colour"))
+ foldStyle.Clear();
+
+ if(foldStyle.IsEmpty()) {
+ foldStyle = wxT("Arrows");
+ }
+
+ options->SetFoldStyle(foldStyle);
}
+
+void EditorSettingsFolding::OnFoldingMarginUI(wxUpdateUIEvent& event) { event.Enable(m_displayMargin->IsChecked()); }
diff --git a/LiteEditor/editorsettingsfolding.h b/LiteEditor/editorsettingsfolding.h
index b9dad8d0..a0f9f776 100644
--- a/LiteEditor/editorsettingsfolding.h
+++ b/LiteEditor/editorsettingsfolding.h
@@ -26,26 +26,20 @@
#ifndef __editorsettingsfolding__
#define __editorsettingsfolding__
-/**
-@file
-Subclass of EditorSettingsFoldingBase, which is generated by wxFormBuilder.
-*/
-
#include "editorsettingsfoldingbase.h"
#include "treebooknodebase.h"
/** Implementing EditorSettingsFoldingBase */
-class EditorSettingsFolding
- : public EditorSettingsFoldingBase
- , public TreeBookNode<EditorSettingsFolding>
+class EditorSettingsFolding : public EditorSettingsFoldingBase, public TreeBookNode<EditorSettingsFolding>
{
- void OnFoldingMarginUI(wxUpdateUIEvent& event);
+ void OnFoldingMarginUI(wxUpdateUIEvent& event);
+
+ StringManager m_stringManager;
- StringManager m_stringManager;
public:
- /** Constructor */
- EditorSettingsFolding( wxWindow* parent );
- void Save(OptionsConfigPtr options);
+ /** Constructor */
+ EditorSettingsFolding(wxWindow* parent);
+ void Save(OptionsConfigPtr options);
};
#endif // __editorsettingsfolding__
diff --git a/LiteEditor/editorsettingsfoldingbase.cpp b/LiteEditor/editorsettingsfoldingbase.cpp
index 82e19e84..e7f5b5cc 100644
--- a/LiteEditor/editorsettingsfoldingbase.cpp
+++ b/LiteEditor/editorsettingsfoldingbase.cpp
@@ -1,105 +1,102 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingsfoldingbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////
+// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: editor_options_folding.wxcp
+// Do not modify this file by hand!
+//////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Mar 22 2011)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "editorsettingsfoldingbase.h"
-
-///////////////////////////////////////////////////////////////////////////
-
-EditorSettingsFoldingBase::EditorSettingsFoldingBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
-{
- wxBoxSizer* mainSizer;
- mainSizer = new wxBoxSizer( wxVERTICAL );
-
- m_displayMargin = new wxCheckBox( this, wxID_ANY, _("Display Folding Margin"), wxDefaultPosition, wxDefaultSize, 0 );
- m_displayMargin->SetValue(true);
- mainSizer->Add( m_displayMargin, 0, wxALL|wxEXPAND, 5 );
-
- wxStaticBoxSizer* sbSizer1;
- sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
-
- wxFlexGridSizer* fgSizer1;
- fgSizer1 = new wxFlexGridSizer( 0, 2, 0, 0 );
- fgSizer1->AddGrowableCol( 0 );
- fgSizer1->AddGrowableCol( 1 );
- fgSizer1->SetFlexibleDirection( wxBOTH );
- fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_underlineFolded = new wxCheckBox( this, wxID_ANY, _("Underline Folded Line"), wxDefaultPosition, wxDefaultSize, 0 );
- m_underlineFolded->SetValue(true);
- fgSizer1->Add( m_underlineFolded, 0, wxALL|wxEXPAND, 5 );
-
- m_foldElse = new wxCheckBox( this, wxID_ANY, _("Fold At Else"), wxDefaultPosition, wxDefaultSize, 0 );
- fgSizer1->Add( m_foldElse, 0, wxALL|wxEXPAND, 5 );
-
- m_foldPreprocessors = new wxCheckBox( this, wxID_ANY, _("Fold Preprocessors"), wxDefaultPosition, wxDefaultSize, 0 );
- fgSizer1->Add( m_foldPreprocessors, 0, wxALL|wxEXPAND, 5 );
-
- m_foldCompact = new wxCheckBox( this, wxID_ANY, _("Fold Compact"), wxDefaultPosition, wxDefaultSize, 0 );
- fgSizer1->Add( m_foldCompact, 0, wxALL|wxEXPAND, 5 );
-
- m_staticText2 = new wxStaticText( this, wxID_ANY, _("Fold Style:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText2->Wrap( -1 );
- fgSizer1->Add( m_staticText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- wxArrayString m_foldStyleChoices;
- m_foldStyle = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_foldStyleChoices, 0 );
- m_foldStyle->SetSelection( 0 );
- fgSizer1->Add( m_foldStyle, 0, wxALL|wxEXPAND, 5 );
-
- sbSizer1->Add( fgSizer1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- mainSizer->Add( sbSizer1, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
- this->SetSizer( mainSizer );
- this->Layout();
- mainSizer->Fit( this );
-
- // Connect Events
- m_underlineFolded->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldElse->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldPreprocessors->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldCompact->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_staticText2->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldStyle->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
-}
-
-EditorSettingsFoldingBase::~EditorSettingsFoldingBase()
-{
- // Disconnect Events
- m_underlineFolded->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldElse->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldPreprocessors->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldCompact->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_staticText2->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
- m_foldStyle->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( EditorSettingsFoldingBase::OnFoldingMarginUI ), NULL, this );
-
-}
+#include "editorsettingsfoldingbase.h"
+
+
+// Declare the bitmap loading function
+extern void wxCE476InitBitmapResources();
+
+static bool bBitmapLoaded = false;
+
+
+EditorSettingsFoldingBase::EditorSettingsFoldingBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
+ : wxPanel(parent, id, pos, size, style)
+{
+ if ( !bBitmapLoaded ) {
+ // We need to initialise the default bitmap handler
+ wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
+ wxCE476InitBitmapResources();
+ bBitmapLoaded = true;
+ }
+
+ wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
+ this->SetSizer(mainSizer);
+
+ m_displayMargin = new wxCheckBox(this, wxID_ANY, _("Display Folding Margin"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_displayMargin->SetValue(true);
+
+ mainSizer->Add(m_displayMargin, 0, wxALL|wxEXPAND, 5);
+
+ wxStaticBoxSizer* sbSizer1 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL);
+
+ mainSizer->Add(sbSizer1, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND, 5);
+
+ wxArrayString m_foldStyleArr;
+ m_foldStyle = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_foldStyleArr, 0);
+ m_foldStyle->SetToolTip(_("Select the folding style"));
+
+ sbSizer1->Add(m_foldStyle, 0, wxALL|wxEXPAND, 5);
+
+ wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer(0, 2, 0, 0);
+ fgSizer1->SetFlexibleDirection( wxBOTH );
+ fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+ fgSizer1->AddGrowableCol(0);
+ fgSizer1->AddGrowableCol(1);
+
+ sbSizer1->Add(fgSizer1, 0, wxLEFT|wxRIGHT|wxEXPAND, 5);
+
+ m_underlineFolded = new wxCheckBox(this, wxID_ANY, _("Underline Folded Line"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_underlineFolded->SetValue(true);
+
+ fgSizer1->Add(m_underlineFolded, 0, wxALL|wxEXPAND, 5);
+
+ m_foldElse = new wxCheckBox(this, wxID_ANY, _("Fold At Else"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_foldElse->SetValue(false);
+
+ fgSizer1->Add(m_foldElse, 0, wxALL|wxEXPAND, 5);
+
+ m_foldPreprocessors = new wxCheckBox(this, wxID_ANY, _("Fold Preprocessors"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_foldPreprocessors->SetValue(false);
+
+ fgSizer1->Add(m_foldPreprocessors, 0, wxALL|wxEXPAND, 5);
+
+ m_foldCompact = new wxCheckBox(this, wxID_ANY, _("Fold Compact"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_foldCompact->SetValue(false);
+
+ fgSizer1->Add(m_foldCompact, 0, wxALL|wxEXPAND, 5);
+
+ m_checkBoxHighlightFolding = new wxCheckBox(this, wxID_ANY, _("Highlight Active Fold Block"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxHighlightFolding->SetValue(false);
+ m_checkBoxHighlightFolding->SetToolTip(_("Allows to enable/disable the highlight folding block when it is selected. (i.e. block that contains the caret)"));
+
+ fgSizer1->Add(m_checkBoxHighlightFolding, 0, wxALL, 5);
+
+ SetSizeHints(-1,-1);
+ if ( GetSizer() ) {
+ GetSizer()->Fit(this);
+ }
+ Centre(wxBOTH);
+ // Connect events
+ m_foldStyle->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_underlineFolded->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldElse->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldPreprocessors->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldCompact->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_checkBoxHighlightFolding->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+
+}
+
+EditorSettingsFoldingBase::~EditorSettingsFoldingBase()
+{
+ m_foldStyle->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_underlineFolded->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldElse->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldPreprocessors->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_foldCompact->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+ m_checkBoxHighlightFolding->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsFoldingBase::OnFoldingMarginUI), NULL, this);
+
+}
diff --git a/LiteEditor/editorsettingsfoldingbase.h b/LiteEditor/editorsettingsfoldingbase.h
index 9c32e7ef..e9d72024 100644
--- a/LiteEditor/editorsettingsfoldingbase.h
+++ b/LiteEditor/editorsettingsfoldingbase.h
@@ -1,80 +1,40 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : editorsettingsfoldingbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////
+// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: editor_options_folding.wxcp
+// Do not modify this file by hand!
+//////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Mar 22 2011)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __editorsettingsfoldingbase__
-#define __editorsettingsfoldingbase__
-
-#include <wx/intl.h>
-
-#include <wx/string.h>
-#include <wx/checkbox.h>
-#include <wx/gdicmn.h>
-#include <wx/font.h>
-#include <wx/colour.h>
-#include <wx/settings.h>
-#include <wx/stattext.h>
-#include <wx/choice.h>
-#include <wx/sizer.h>
-#include <wx/statbox.h>
-#include <wx/panel.h>
-
-///////////////////////////////////////////////////////////////////////////
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class EditorSettingsFoldingBase
-///////////////////////////////////////////////////////////////////////////////
-class EditorSettingsFoldingBase : public wxPanel
-{
- private:
-
- protected:
- wxCheckBox* m_displayMargin;
- wxCheckBox* m_underlineFolded;
- wxCheckBox* m_foldElse;
- wxCheckBox* m_foldPreprocessors;
- wxCheckBox* m_foldCompact;
- wxStaticText* m_staticText2;
- wxChoice* m_foldStyle;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnFoldingMarginUI( wxUpdateUIEvent& event ) { event.Skip(); }
-
-
- public:
-
- EditorSettingsFoldingBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
- ~EditorSettingsFoldingBase();
-
-};
-
-#endif //__editorsettingsfoldingbase__
+#ifndef EDITOR_OPTIONS_FOLDING_BASE_CLASSES_H
+#define EDITOR_OPTIONS_FOLDING_BASE_CLASSES_H
+
+#include <wx/settings.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_bmp.h>
+#include <wx/panel.h>
+#include <wx/artprov.h>
+#include <wx/sizer.h>
+#include <wx/checkbox.h>
+#include <wx/statbox.h>
+#include <wx/choice.h>
+#include <wx/arrstr.h>
+
+class EditorSettingsFoldingBase : public wxPanel
+{
+protected:
+ wxCheckBox* m_displayMargin;
+ wxChoice* m_foldStyle;
+ wxCheckBox* m_underlineFolded;
+ wxCheckBox* m_foldElse;
+ wxCheckBox* m_foldPreprocessors;
+ wxCheckBox* m_foldCompact;
+ wxCheckBox* m_checkBoxHighlightFolding;
+
+protected:
+ virtual void OnFoldingMarginUI(wxUpdateUIEvent& event) { event.Skip(); }
+
+public:
+ EditorSettingsFoldingBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
+ virtual ~EditorSettingsFoldingBase();
+};
+
+#endif
diff --git a/LiteEditor/editorsettingslocal.cpp b/LiteEditor/editorsettingslocal.cpp
index 998f5ae3..e883c6c5 100644
--- a/LiteEditor/editorsettingslocal.cpp
+++ b/LiteEditor/editorsettingslocal.cpp
@@ -29,302 +29,314 @@
#include <wx/stc/stc.h>
#include <wx/fontmap.h>
-EditorSettingsLocal::EditorSettingsLocal( OptionsConfigPtr hrOptions, wxXmlNode* nde, enum prefsLevel level /*=pLevel_dunno*/, wxWindow* parent /*=NULL*/, wxWindowID id /*=wxID_ANY*/, const wxString& title /*=wxT("Local Preferences")*/)
- : LocalEditorSettingsbase( parent, id, title ), higherOptions(hrOptions), node(nde)
+EditorSettingsLocal::EditorSettingsLocal(OptionsConfigPtr hrOptions,
+ wxXmlNode* nde,
+ enum prefsLevel level /*=pLevel_dunno*/,
+ wxWindow* parent /*=NULL*/,
+ wxWindowID id /*=wxID_ANY*/,
+ const wxString& title /*=wxT("Local Preferences")*/)
+ : LocalEditorSettingsbase(parent, id, title)
+ , higherOptions(hrOptions)
+ , node(nde)
{
- wxString label = title;
- if (level == pLevel_workspace) {
- label = wxT("Workspace local editor preferences");
- } else if (level == pLevel_project) {
- label = wxT("Project local editor preferences");
- }
- SetTitle(label);
-
- localOptions = new LocalOptionsConfig;
- LocalOptionsConfig pOC(localOptions, node);
-
- DisplayHigherValues(higherOptions); // Sets the 'global'? defaults, and the enabling checkboxes to disabling
- DisplayLocalValues(localOptions); // Sets any previous 'local' prefs, and the corresponding enabling-checkboxes to enabling
-
- WindowAttrManager::Load(this, wxT("EditorSettingsLocal"), NULL);
+ wxString label = title;
+ if(level == pLevel_workspace) {
+ label = wxT("Workspace local editor preferences");
+ } else if(level == pLevel_project) {
+ label = wxT("Project local editor preferences");
+ }
+ SetTitle(label);
+
+ localOptions = new LocalOptionsConfig;
+ LocalOptionsConfig pOC(localOptions, node);
+
+ DisplayHigherValues(higherOptions); // Sets the 'global'? defaults, and the enabling checkboxes to disabling
+ DisplayLocalValues(
+ localOptions); // Sets any previous 'local' prefs, and the corresponding enabling-checkboxes to enabling
+
+ SetName("EditorSettingsLocal");
+ WindowAttrManager::Load(this);
}
-EditorSettingsLocal::~EditorSettingsLocal()
-{
- WindowAttrManager::Save(this, wxT("EditorSettingsLocal"), NULL);
-}
+EditorSettingsLocal::~EditorSettingsLocal() {}
-void EditorSettingsLocal::DisplayHigherValues( const OptionsConfigPtr options )
+void EditorSettingsLocal::DisplayHigherValues(const OptionsConfigPtr options)
{
- // There should be 'global' (or workspace if this will be a project setting) values for each setting
- // Insert them all, but leave the enabling checkboxes ticked, so the items will be disabled
- m_indentsUsesTabs->SetValue(options->GetIndentUsesTabs());
- m_indentWidth->SetValue(options->GetIndentWidth());
- m_tabWidth->SetValue(options->GetTabWidth());
- m_displayLineNumbers->SetValue(options->GetDisplayLineNumbers());
- m_showIndentationGuideLines->SetValue(options->GetShowIndentationGuidelines());
-
- m_highlightCaretLine->SetValue(options->GetHighlightCaretLine());
- m_checkBoxTrimLine->SetValue(options->GetTrimLine());
- m_checkBoxAppendLF->SetValue(options->GetAppendLF());
-
- m_checkBoxHideChangeMarkerMargin->SetValue( options->GetHideChangeMarkerMargin() );
- m_checkBoxDisplayFoldMargin->SetValue( options->GetDisplayFoldMargin() );
- m_displayBookmarkMargin->SetValue( options->GetDisplayBookmarkMargin() );
-
- const wxString WhitespaceStyle[] = { wxTRANSLATE("Invisible"), wxTRANSLATE("Visible always"), wxTRANSLATE("Visible after indentation"), wxTRANSLATE("Indentation only") };
- wxString currentWhitespace;
- switch (options->GetShowWhitspaces()) {
- case wxSTC_WS_VISIBLEALWAYS:
- currentWhitespace = wxT("Visible always");
- break;
- case wxSTC_WS_VISIBLEAFTERINDENT:
- currentWhitespace = wxT("Visible after indentation");
- break;
- default:
- currentWhitespace = wxT("Invisible");
- break;
- }
- m_WSstringManager.AddStrings(sizeof(WhitespaceStyle)/sizeof(wxString), WhitespaceStyle, currentWhitespace, m_whitespaceStyle);
-
- const wxString EOLChoices[] = { wxTRANSLATE("Default"), wxT("Mac (CR)"), wxT("Windows (CRLF)"), wxT("Unix (LF)") };
- m_EOLstringManager.AddStrings(sizeof(EOLChoices)/sizeof(wxString), EOLChoices, options->GetEolMode(), m_choiceEOL);
-
- wxArrayString astrEncodings;
- wxFontEncoding fontEnc;
- int iCurrSelId = 0;
- size_t iEncCnt = wxFontMapper::GetSupportedEncodingsCount();
- for (size_t i = 0; i < iEncCnt; i++) {
- fontEnc = wxFontMapper::GetEncoding(i);
- if (wxFONTENCODING_SYSTEM == fontEnc) { // skip system, it is changed to UTF-8 in optionsconfig
- continue;
- }
- astrEncodings.Add(wxFontMapper::GetEncodingName(fontEnc));
- if (fontEnc == options->GetFileFontEncoding()) {
- iCurrSelId = i;
- }
- }
- m_fileEncoding->Append(astrEncodings);
- m_fileEncoding->SetSelection(iCurrSelId);
+ // There should be 'global' (or workspace if this will be a project setting) values for each setting
+ // Insert them all, but leave the enabling checkboxes ticked, so the items will be disabled
+ m_indentsUsesTabs->SetValue(options->GetIndentUsesTabs());
+ m_indentWidth->SetValue(options->GetIndentWidth());
+ m_tabWidth->SetValue(options->GetTabWidth());
+ m_displayLineNumbers->SetValue(options->GetDisplayLineNumbers());
+ m_showIndentationGuideLines->SetValue(options->GetShowIndentationGuidelines());
+
+ m_highlightCaretLine->SetValue(options->GetHighlightCaretLine());
+ m_checkBoxTrimLine->SetValue(options->GetTrimLine());
+ m_checkBoxAppendLF->SetValue(options->GetAppendLF());
+
+ m_checkBoxHideChangeMarkerMargin->SetValue(options->GetHideChangeMarkerMargin());
+ m_checkBoxDisplayFoldMargin->SetValue(options->GetDisplayFoldMargin());
+ m_displayBookmarkMargin->SetValue(options->GetDisplayBookmarkMargin());
+
+ const wxString WhitespaceStyle[] = { wxTRANSLATE("Invisible"),
+ wxTRANSLATE("Visible always"),
+ wxTRANSLATE("Visible after indentation"),
+ wxTRANSLATE("Indentation only") };
+ wxString currentWhitespace;
+ switch(options->GetShowWhitspaces()) {
+ case wxSTC_WS_VISIBLEALWAYS:
+ currentWhitespace = wxT("Visible always");
+ break;
+ case wxSTC_WS_VISIBLEAFTERINDENT:
+ currentWhitespace = wxT("Visible after indentation");
+ break;
+ default:
+ currentWhitespace = wxT("Invisible");
+ break;
+ }
+ m_WSstringManager.AddStrings(
+ sizeof(WhitespaceStyle) / sizeof(wxString), WhitespaceStyle, currentWhitespace, m_whitespaceStyle);
+
+ const wxString EOLChoices[] = { wxTRANSLATE("Default"), wxT("Mac (CR)"), wxT("Windows (CRLF)"), wxT("Unix (LF)") };
+ m_EOLstringManager.AddStrings(
+ sizeof(EOLChoices) / sizeof(wxString), EOLChoices, options->GetEolMode(), m_choiceEOL);
+
+ wxArrayString astrEncodings;
+ wxFontEncoding fontEnc;
+ int iCurrSelId = 0;
+ size_t iEncCnt = wxFontMapper::GetSupportedEncodingsCount();
+ for(size_t i = 0; i < iEncCnt; i++) {
+ fontEnc = wxFontMapper::GetEncoding(i);
+ if(wxFONTENCODING_SYSTEM == fontEnc) { // skip system, it is changed to UTF-8 in optionsconfig
+ continue;
+ }
+ astrEncodings.Add(wxFontMapper::GetEncodingName(fontEnc));
+ if(fontEnc == options->GetFileFontEncoding()) {
+ iCurrSelId = i;
+ }
+ }
+ m_fileEncoding->Append(astrEncodings);
+ m_fileEncoding->SetSelection(iCurrSelId);
}
-void EditorSettingsLocal::DisplayLocalValues( const LocalOptionsConfigPtr options )
+void EditorSettingsLocal::DisplayLocalValues(const LocalOptionsConfigPtr options)
{
- // There will be 'global' values already present for each setting
- // Override this with any valid previously-make local pref, then untick the corresponding enabling checkbox, so that item will be enabled
-
- if (options->IndentUsesTabsIsValid()) {
- m_indentsUsesTabs->SetValue(options->GetIndentUsesTabs());
- m_indentsUsesTabsEnable->SetValue(false);
- }
- if (options->IndentWidthIsValid()) {
- m_indentWidth->SetValue(options->GetIndentWidth());
- m_indentWidthEnable->SetValue(false);
- }
-
- if (options->TabWidthIsValid()) {
- m_tabWidth->SetValue(options->GetTabWidth());
- m_tabWidthEnable->SetValue(false);
- }
- if (options->DisplayLineNumbersIsValid()) {
- m_displayLineNumbers->SetValue(options->GetDisplayLineNumbers());
- m_displayLineNumbersEnable->SetValue(false);
- }
- if (options->ShowIndentationGuidelinesIsValid()) {
- m_showIndentationGuideLines->SetValue(options->GetShowIndentationGuidelines());
- m_showIndentationGuideLinesEnable->SetValue(false);
- }
- if (options->HighlightCaretLineIsValid()) {
- m_highlightCaretLine->SetValue(options->GetHighlightCaretLine());
- m_highlightCaretLineEnable->SetValue(false);
- }
- if (options->TrimLineIsValid()) {
- m_checkBoxTrimLine->SetValue(options->GetHighlightCaretLine());
- m_checkBoxTrimLineEnable->SetValue(false);
- }
- if (options->AppendLFIsValid()) {
- m_checkBoxAppendLF->SetValue(options->GetHighlightCaretLine());
- m_checkBoxAppendLFEnable->SetValue(false);
- }
- if (options->HideChangeMarkerMarginIsValid()) {
- m_checkBoxHideChangeMarkerMargin->SetValue( options->GetHideChangeMarkerMargin() );
- m_checkBoxHideChangeMarkerMarginEnable->SetValue(false);
- }
- if (options->DisplayFoldMarginIsValid()) {
- m_checkBoxDisplayFoldMargin->SetValue( options->GetDisplayFoldMargin() );
- m_checkBoxDisplayFoldMarginEnable->SetValue(false);
- }
- if (options->DisplayBookmarkMarginIsValid()) {
- m_displayBookmarkMargin->SetValue( options->GetDisplayBookmarkMargin() );
- m_displayBookmarkMarginEnable->SetValue(false);
- }
-
- if (options->ShowWhitespacesIsValid()) {
- switch (options->GetShowWhitespaces()) {
- case wxSTC_WS_VISIBLEALWAYS:
- m_WSstringManager.SetStringSelection(wxT("Visible always"));
- break;
- case wxSTC_WS_VISIBLEAFTERINDENT:
- m_WSstringManager.SetStringSelection(wxT("Visible after indentation"));
- break;
- default:
- m_WSstringManager.SetStringSelection(wxT("Invisible"));
- break;
- }
- m_whitespaceStyleEnable->SetValue(false);
- }
-
- if (options->EolModeIsValid()) {
- m_EOLstringManager.SetStringSelection( options->GetEolMode() );
- m_choiceEOLEnable->SetValue(false);
- }
-
- if (options->FileFontEncodingIsValid()) {
- wxArrayString entries = m_fileEncoding->GetStrings();
- for (size_t n = 0; n < entries.GetCount(); ++n) {
- if ( entries.Item(n) == wxFontMapper::GetEncodingName(options->GetFileFontEncoding()) ) {
- m_fileEncoding->SetSelection(n);
- break;
- }
- }
- m_fileEncodingEnable->SetValue(false);
- }
+ // There will be 'global' values already present for each setting
+ // Override this with any valid previously-make local pref, then untick the corresponding enabling checkbox, so that
+ // item will be enabled
+
+ if(options->IndentUsesTabsIsValid()) {
+ m_indentsUsesTabs->SetValue(options->GetIndentUsesTabs());
+ m_indentsUsesTabsEnable->SetValue(false);
+ }
+ if(options->IndentWidthIsValid()) {
+ m_indentWidth->SetValue(options->GetIndentWidth());
+ m_indentWidthEnable->SetValue(false);
+ }
+
+ if(options->TabWidthIsValid()) {
+ m_tabWidth->SetValue(options->GetTabWidth());
+ m_tabWidthEnable->SetValue(false);
+ }
+ if(options->DisplayLineNumbersIsValid()) {
+ m_displayLineNumbers->SetValue(options->GetDisplayLineNumbers());
+ m_displayLineNumbersEnable->SetValue(false);
+ }
+ if(options->ShowIndentationGuidelinesIsValid()) {
+ m_showIndentationGuideLines->SetValue(options->GetShowIndentationGuidelines());
+ m_showIndentationGuideLinesEnable->SetValue(false);
+ }
+ if(options->HighlightCaretLineIsValid()) {
+ m_highlightCaretLine->SetValue(options->GetHighlightCaretLine());
+ m_highlightCaretLineEnable->SetValue(false);
+ }
+ if(options->TrimLineIsValid()) {
+ m_checkBoxTrimLine->SetValue(options->GetHighlightCaretLine());
+ m_checkBoxTrimLineEnable->SetValue(false);
+ }
+ if(options->AppendLFIsValid()) {
+ m_checkBoxAppendLF->SetValue(options->GetHighlightCaretLine());
+ m_checkBoxAppendLFEnable->SetValue(false);
+ }
+ if(options->HideChangeMarkerMarginIsValid()) {
+ m_checkBoxHideChangeMarkerMargin->SetValue(options->GetHideChangeMarkerMargin());
+ m_checkBoxHideChangeMarkerMarginEnable->SetValue(false);
+ }
+ if(options->DisplayFoldMarginIsValid()) {
+ m_checkBoxDisplayFoldMargin->SetValue(options->GetDisplayFoldMargin());
+ m_checkBoxDisplayFoldMarginEnable->SetValue(false);
+ }
+ if(options->DisplayBookmarkMarginIsValid()) {
+ m_displayBookmarkMargin->SetValue(options->GetDisplayBookmarkMargin());
+ m_displayBookmarkMarginEnable->SetValue(false);
+ }
+
+ if(options->ShowWhitespacesIsValid()) {
+ switch(options->GetShowWhitespaces()) {
+ case wxSTC_WS_VISIBLEALWAYS:
+ m_WSstringManager.SetStringSelection(wxT("Visible always"));
+ break;
+ case wxSTC_WS_VISIBLEAFTERINDENT:
+ m_WSstringManager.SetStringSelection(wxT("Visible after indentation"));
+ break;
+ default:
+ m_WSstringManager.SetStringSelection(wxT("Invisible"));
+ break;
+ }
+ m_whitespaceStyleEnable->SetValue(false);
+ }
+
+ if(options->EolModeIsValid()) {
+ m_EOLstringManager.SetStringSelection(options->GetEolMode());
+ m_choiceEOLEnable->SetValue(false);
+ }
+
+ if(options->FileFontEncodingIsValid()) {
+ wxArrayString entries = m_fileEncoding->GetStrings();
+ for(size_t n = 0; n < entries.GetCount(); ++n) {
+ if(entries.Item(n) == wxFontMapper::GetEncodingName(options->GetFileFontEncoding())) {
+ m_fileEncoding->SetSelection(n);
+ break;
+ }
+ }
+ m_fileEncodingEnable->SetValue(false);
+ }
}
-void EditorSettingsLocal::OnOK( wxCommandEvent& event )
+void EditorSettingsLocal::OnOK(wxCommandEvent& event)
{
- // Kill the old LocalOptionsConfigPtr, which now holds stale data
- localOptions.Reset( new LocalOptionsConfig );
-
- // Assume that, for any items still disabled, the user wants to use the global setting
- // That's true even if he decided to change an item, then disabled it again
- // or if there *was* a local pref, which is now to be deleted
- if (m_indentsUsesTabs->IsEnabled()) {
- GetLocalOpts()->SetIndentUsesTabs( m_indentsUsesTabs->GetValue() );
- }
- if (m_indentWidth->IsEnabled()) {
- GetLocalOpts()->SetIndentWidth( m_indentWidth->GetValue() );
- }
- if (m_tabWidth->IsEnabled()) {
- GetLocalOpts()->SetTabWidth( m_tabWidth->GetValue() );
- }
- if (m_displayLineNumbers->IsEnabled()) {
- GetLocalOpts()->SetDisplayLineNumbers( m_displayLineNumbers->GetValue() );
- }
- if (m_showIndentationGuideLines->IsEnabled()) {
- GetLocalOpts()->SetShowIndentationGuidelines( m_showIndentationGuideLines->GetValue() );
- }
- if (m_highlightCaretLine->IsEnabled()) {
- GetLocalOpts()->SetHighlightCaretLine( m_highlightCaretLine->GetValue() );
- }
- if (m_checkBoxTrimLine->IsEnabled()) {
- GetLocalOpts()->SetTrimLine( m_checkBoxTrimLine->GetValue() );
- }
- if (m_checkBoxAppendLF->IsEnabled()) {
- GetLocalOpts()->SetAppendLF( m_checkBoxAppendLF->GetValue() );
- }
- if (m_checkBoxHideChangeMarkerMargin->IsEnabled()) {
- GetLocalOpts()->SetHideChangeMarkerMargin( m_checkBoxHideChangeMarkerMargin->GetValue() );
- }
- if (m_checkBoxDisplayFoldMargin->IsEnabled()) {
- GetLocalOpts()->SetDisplayFoldMargin( m_checkBoxDisplayFoldMargin->GetValue() );
- }
- if (m_displayBookmarkMargin->IsEnabled()) {
- GetLocalOpts()->SetDisplayBookmarkMargin( m_displayBookmarkMargin->GetValue() );
- }
- if (m_whitespaceStyle->IsEnabled()) {
- wxString Whitespace = m_WSstringManager.GetStringSelection();
- int style(wxSTC_WS_INVISIBLE); // invisible
- if (Whitespace == wxT("Visible always")) {
- style = wxSTC_WS_VISIBLEALWAYS;
- } else if (Whitespace == wxT("Visible after indentation")) {
- style = wxSTC_WS_VISIBLEAFTERINDENT;
- } else if (Whitespace == wxT("Indentation only")) {
- style = wxSTC_WS_VISIBLEAFTERINDENT;
- }
- GetLocalOpts()->SetShowWhitespaces(style);
- }
- if (m_choiceEOL->IsEnabled()) {
- GetLocalOpts()->SetEolMode(m_EOLstringManager.GetStringSelection());
- }
- if (m_fileEncoding->IsEnabled()) {
- GetLocalOpts()->SetFileFontEncoding( m_fileEncoding->GetStringSelection() );
- }
-
- EndModal(wxID_OK);
+ // Kill the old LocalOptionsConfigPtr, which now holds stale data
+ localOptions.Reset(new LocalOptionsConfig);
+
+ // Assume that, for any items still disabled, the user wants to use the global setting
+ // That's true even if he decided to change an item, then disabled it again
+ // or if there *was* a local pref, which is now to be deleted
+ if(m_indentsUsesTabs->IsEnabled()) {
+ GetLocalOpts()->SetIndentUsesTabs(m_indentsUsesTabs->GetValue());
+ }
+ if(m_indentWidth->IsEnabled()) {
+ GetLocalOpts()->SetIndentWidth(m_indentWidth->GetValue());
+ }
+ if(m_tabWidth->IsEnabled()) {
+ GetLocalOpts()->SetTabWidth(m_tabWidth->GetValue());
+ }
+ if(m_displayLineNumbers->IsEnabled()) {
+ GetLocalOpts()->SetDisplayLineNumbers(m_displayLineNumbers->GetValue());
+ }
+ if(m_showIndentationGuideLines->IsEnabled()) {
+ GetLocalOpts()->SetShowIndentationGuidelines(m_showIndentationGuideLines->GetValue());
+ }
+ if(m_highlightCaretLine->IsEnabled()) {
+ GetLocalOpts()->SetHighlightCaretLine(m_highlightCaretLine->GetValue());
+ }
+ if(m_checkBoxTrimLine->IsEnabled()) {
+ GetLocalOpts()->SetTrimLine(m_checkBoxTrimLine->GetValue());
+ }
+ if(m_checkBoxAppendLF->IsEnabled()) {
+ GetLocalOpts()->SetAppendLF(m_checkBoxAppendLF->GetValue());
+ }
+ if(m_checkBoxHideChangeMarkerMargin->IsEnabled()) {
+ GetLocalOpts()->SetHideChangeMarkerMargin(m_checkBoxHideChangeMarkerMargin->GetValue());
+ }
+ if(m_checkBoxDisplayFoldMargin->IsEnabled()) {
+ GetLocalOpts()->SetDisplayFoldMargin(m_checkBoxDisplayFoldMargin->GetValue());
+ }
+ if(m_displayBookmarkMargin->IsEnabled()) {
+ GetLocalOpts()->SetDisplayBookmarkMargin(m_displayBookmarkMargin->GetValue());
+ }
+ if(m_whitespaceStyle->IsEnabled()) {
+ wxString Whitespace = m_WSstringManager.GetStringSelection();
+ int style(wxSTC_WS_INVISIBLE); // invisible
+ if(Whitespace == wxT("Visible always")) {
+ style = wxSTC_WS_VISIBLEALWAYS;
+ } else if(Whitespace == wxT("Visible after indentation")) {
+ style = wxSTC_WS_VISIBLEAFTERINDENT;
+ } else if(Whitespace == wxT("Indentation only")) {
+ style = wxSTC_WS_VISIBLEAFTERINDENT;
+ }
+ GetLocalOpts()->SetShowWhitespaces(style);
+ }
+ if(m_choiceEOL->IsEnabled()) {
+ GetLocalOpts()->SetEolMode(m_EOLstringManager.GetStringSelection());
+ }
+ if(m_fileEncoding->IsEnabled()) {
+ GetLocalOpts()->SetFileFontEncoding(m_fileEncoding->GetStringSelection());
+ }
+
+ EndModal(wxID_OK);
}
-void EditorSettingsLocal::indentsUsesTabsUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::indentsUsesTabsUpdateUI(wxUpdateUIEvent& event)
{
- m_indentsUsesTabs->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_indentsUsesTabs->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::indentWidthUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::indentWidthUpdateUI(wxUpdateUIEvent& event)
{
- m_indentWidth->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
- m_staticTextindentWidth->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_indentWidth->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
+ m_staticTextindentWidth->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::tabWidthUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::tabWidthUpdateUI(wxUpdateUIEvent& event)
{
- m_tabWidth->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
- m_staticTexttabWidth->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_tabWidth->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
+ m_staticTexttabWidth->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::displayBookmarkMarginUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::displayBookmarkMarginUpdateUI(wxUpdateUIEvent& event)
{
- m_displayBookmarkMargin->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_displayBookmarkMargin->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::checkBoxDisplayFoldMarginUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::checkBoxDisplayFoldMarginUpdateUI(wxUpdateUIEvent& event)
{
- m_checkBoxDisplayFoldMargin->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_checkBoxDisplayFoldMargin->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::checkBoxHideChangeMarkerMarginUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::checkBoxHideChangeMarkerMarginUpdateUI(wxUpdateUIEvent& event)
{
- m_checkBoxHideChangeMarkerMargin->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_checkBoxHideChangeMarkerMargin->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::displayLineNumbersUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::displayLineNumbersUpdateUI(wxUpdateUIEvent& event)
{
- m_displayLineNumbers->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_displayLineNumbers->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::showIndentationGuideLinesUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::showIndentationGuideLinesUpdateUI(wxUpdateUIEvent& event)
{
- m_showIndentationGuideLines->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_showIndentationGuideLines->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::highlightCaretLineUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::highlightCaretLineUpdateUI(wxUpdateUIEvent& event)
{
- m_highlightCaretLine->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_highlightCaretLine->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::checkBoxTrimLineUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::checkBoxTrimLineUpdateUI(wxUpdateUIEvent& event)
{
- m_checkBoxTrimLine->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_checkBoxTrimLine->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::checkBoxAppendLFUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::checkBoxAppendLFUpdateUI(wxUpdateUIEvent& event)
{
- m_checkBoxAppendLF->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_checkBoxAppendLF->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::whitespaceStyleUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::whitespaceStyleUpdateUI(wxUpdateUIEvent& event)
{
- m_whitespaceStyle->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
- m_staticTextwhitespaceStyle->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_whitespaceStyle->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
+ m_staticTextwhitespaceStyle->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::choiceEOLUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::choiceEOLUpdateUI(wxUpdateUIEvent& event)
{
- m_choiceEOL->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
- m_EOLstatic->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_choiceEOL->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
+ m_EOLstatic->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
-void EditorSettingsLocal::fileEncodingUpdateUI( wxUpdateUIEvent& event )
+void EditorSettingsLocal::fileEncodingUpdateUI(wxUpdateUIEvent& event)
{
- m_fileEncoding->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
- m_staticTextfileEncoding->Enable( ! ((wxCheckBox*)event.GetEventObject())->IsChecked() );
+ m_fileEncoding->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
+ m_staticTextfileEncoding->Enable(!((wxCheckBox*)event.GetEventObject())->IsChecked());
}
diff --git a/LiteEditor/editorsettingslocalbase.cpp b/LiteEditor/editorsettingslocalbase.cpp
index 1b2f93c5..54ba61dd 100644
--- a/LiteEditor/editorsettingslocalbase.cpp
+++ b/LiteEditor/editorsettingslocalbase.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingslocalbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: editorsettingslocalbase.wxcp
@@ -59,6 +34,7 @@ LocalEditorSettingsbase::LocalEditorSettingsbase(wxWindow* parent, wxWindowID id
mainSizer->Add(m_staticText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 10);
m_treebook1 = new wxTreebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_treebook1->SetName(wxT("m_treebook1"));
wxImageList* m_treebook1_il = new wxImageList(16, 16);
m_treebook1->AssignImageList(m_treebook1_il);
@@ -109,7 +85,7 @@ LocalEditorSettingsbase::LocalEditorSettingsbase(wxWindow* parent, wxWindowID id
m_tabWidth->SetRange(1, 20);
m_tabWidth->SetValue(4);
- bSizer7->Add(m_tabWidth, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer7->Add(m_tabWidth, 0, wxALL|wxEXPAND, 5);
m_indentWidthEnable = new wxCheckBox(m_panel2, wxID_ANY, _("Use global setting"), wxDefaultPosition, wxSize(-1, -1), wxALIGN_RIGHT);
m_indentWidthEnable->SetValue(true);
@@ -130,7 +106,7 @@ LocalEditorSettingsbase::LocalEditorSettingsbase(wxWindow* parent, wxWindowID id
m_indentWidth->SetRange(1, 20);
m_indentWidth->SetValue(4);
- bSizer6->Add(m_indentWidth, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer6->Add(m_indentWidth, 0, wxALL|wxEXPAND, 5);
m_panel3 = new wxPanel(m_treebook1, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
int m_panel3ImgIndex;
@@ -314,15 +290,27 @@ LocalEditorSettingsbase::LocalEditorSettingsbase(wxWindow* parent, wxWindowID id
m_stdBtnSizer17->AddButton(m_button21);
m_stdBtnSizer17->Realize();
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_treebook1)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_treebook1);
+ }
+ #endif
m_treebook1->ExpandNode( 0, true );
m_treebook1->ExpandNode( 1, true );
m_treebook1->ExpandNode( 2, true );
+ SetName(wxT("LocalEditorSettingsbase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre();
+ CentreOnParent();
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_indentsUsesTabsEnable->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LocalEditorSettingsbase::indentsUsesTabsUpdateUI), NULL, this);
m_tabWidthEnable->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LocalEditorSettingsbase::tabWidthUpdateUI), NULL, this);
diff --git a/LiteEditor/editorsettingslocalbase.h b/LiteEditor/editorsettingslocalbase.h
index 095b9f4e..793ab533 100644
--- a/LiteEditor/editorsettingslocalbase.h
+++ b/LiteEditor/editorsettingslocalbase.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingslocalbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: editorsettingslocalbase.wxcp
@@ -48,6 +23,12 @@
#include <wx/choice.h>
#include <wx/arrstr.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class LocalEditorSettingsbase : public wxDialog
{
@@ -112,6 +93,44 @@ protected:
virtual void OnOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText() { return m_staticText; }
+ wxCheckBox* GetIndentsUsesTabsEnable() { return m_indentsUsesTabsEnable; }
+ wxCheckBox* GetIndentsUsesTabs() { return m_indentsUsesTabs; }
+ wxCheckBox* GetTabWidthEnable() { return m_tabWidthEnable; }
+ wxStaticText* GetStaticTexttabWidth() { return m_staticTexttabWidth; }
+ wxSpinCtrl* GetTabWidth() { return m_tabWidth; }
+ wxCheckBox* GetIndentWidthEnable() { return m_indentWidthEnable; }
+ wxStaticText* GetStaticTextindentWidth() { return m_staticTextindentWidth; }
+ wxSpinCtrl* GetIndentWidth() { return m_indentWidth; }
+ wxPanel* GetPanel2() { return m_panel2; }
+ wxCheckBox* GetDisplayBookmarkMarginEnable() { return m_displayBookmarkMarginEnable; }
+ wxCheckBox* GetDisplayBookmarkMargin() { return m_displayBookmarkMargin; }
+ wxCheckBox* GetCheckBoxDisplayFoldMarginEnable() { return m_checkBoxDisplayFoldMarginEnable; }
+ wxCheckBox* GetCheckBoxDisplayFoldMargin() { return m_checkBoxDisplayFoldMargin; }
+ wxCheckBox* GetCheckBoxHideChangeMarkerMarginEnable() { return m_checkBoxHideChangeMarkerMarginEnable; }
+ wxCheckBox* GetCheckBoxHideChangeMarkerMargin() { return m_checkBoxHideChangeMarkerMargin; }
+ wxCheckBox* GetDisplayLineNumbersEnable() { return m_displayLineNumbersEnable; }
+ wxCheckBox* GetDisplayLineNumbers() { return m_displayLineNumbers; }
+ wxPanel* GetPanel3() { return m_panel3; }
+ wxCheckBox* GetShowIndentationGuideLinesEnable() { return m_showIndentationGuideLinesEnable; }
+ wxCheckBox* GetShowIndentationGuideLines() { return m_showIndentationGuideLines; }
+ wxCheckBox* GetHighlightCaretLineEnable() { return m_highlightCaretLineEnable; }
+ wxCheckBox* GetHighlightCaretLine() { return m_highlightCaretLine; }
+ wxCheckBox* GetCheckBoxTrimLineEnable() { return m_checkBoxTrimLineEnable; }
+ wxCheckBox* GetCheckBoxTrimLine() { return m_checkBoxTrimLine; }
+ wxCheckBox* GetCheckBoxAppendLFEnable() { return m_checkBoxAppendLFEnable; }
+ wxCheckBox* GetCheckBoxAppendLF() { return m_checkBoxAppendLF; }
+ wxCheckBox* GetWhitespaceStyleEnable() { return m_whitespaceStyleEnable; }
+ wxStaticText* GetStaticTextwhitespaceStyle() { return m_staticTextwhitespaceStyle; }
+ wxChoice* GetWhitespaceStyle() { return m_whitespaceStyle; }
+ wxCheckBox* GetChoiceEOLEnable() { return m_choiceEOLEnable; }
+ wxStaticText* GetEOLstatic() { return m_EOLstatic; }
+ wxChoice* GetChoiceEOL() { return m_choiceEOL; }
+ wxCheckBox* GetFileEncodingEnable() { return m_fileEncodingEnable; }
+ wxStaticText* GetStaticTextfileEncoding() { return m_staticTextfileEncoding; }
+ wxChoice* GetFileEncoding() { return m_fileEncoding; }
+ wxPanel* GetPanel4() { return m_panel4; }
+ wxTreebook* GetTreebook1() { return m_treebook1; }
LocalEditorSettingsbase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Local Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~LocalEditorSettingsbase();
};
diff --git a/LiteEditor/editorsettingslocalbase_formbuilder_bitmaps.cpp b/LiteEditor/editorsettingslocalbase_formbuilder_bitmaps.cpp
index 223239e7..fcf6f939 100644
--- a/LiteEditor/editorsettingslocalbase_formbuilder_bitmaps.cpp
+++ b/LiteEditor/editorsettingslocalbase_formbuilder_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : editorsettingslocalbase_formbuilder_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -275,32 +250,31 @@ static unsigned char xml_res_file_2[] = {
24,74,169,127,111,102,47,158,155,154,62,13,108,3,59,222,251,197,221,156,
255,27,0,50,132,177,177,162,209,252,223,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_3 = 471;
+static size_t xml_res_size_3 = 453;
static unsigned char xml_res_file_3[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,105,110,
-100,101,110,116,34,62,101,100,105,116,111,114,115,101,116,116,105,110,103,
-115,108,111,99,97,108,98,97,115,101,95,102,111,114,109,98,117,105,108,100,
-101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,
-110,115,95,105,110,100,101,110,116,46,112,110,103,60,47,111,98,106,101,
-99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
-119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,97,114,103,
-105,110,115,34,62,101,100,105,116,111,114,115,101,116,116,105,110,103,115,
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,105,110,100,101,110,116,34,62,101,100,105,116,111,114,115,101,116,116,
+105,110,103,115,108,111,99,97,108,98,97,115,101,95,102,111,114,109,98,117,
+105,108,100,101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,
+95,105,99,111,110,115,95,105,110,100,101,110,116,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,
+97,114,103,105,110,115,34,62,101,100,105,116,111,114,115,101,116,116,105,
+110,103,115,108,111,99,97,108,98,97,115,101,95,102,111,114,109,98,117,105,
+108,100,101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,
+105,99,111,110,115,95,109,97,114,103,105,110,115,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,
+105,115,99,34,62,101,100,105,116,111,114,115,101,116,116,105,110,103,115,
108,111,99,97,108,98,97,115,101,95,102,111,114,109,98,117,105,108,100,101,
114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,
-115,95,109,97,114,103,105,110,115,46,112,110,103,60,47,111,98,106,101,99,
-116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
-120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,105,115,99,34,
-62,101,100,105,116,111,114,115,101,116,116,105,110,103,115,108,111,99,97,
-108,98,97,115,101,95,102,111,114,109,98,117,105,108,100,101,114,95,98,105,
-116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,109,
-105,115,99,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,
-115,111,117,114,99,101,62,10};
+115,95,109,105,115,99,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
+60,47,114,101,115,111,117,114,99,101,62,10};
void wxC2ED4InitBitmapResources()
{
@@ -315,9 +289,9 @@ void wxC2ED4InitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_indent.png"), xml_res_file_0, xml_res_size_0, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_margins.png"), xml_res_file_1, xml_res_size_1, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_misc.png"), xml_res_file_2, xml_res_size_2, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$_home_eran_devl_codelitegit_formbuilder_editorsettingslocalbase_formbuilder_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$_home_eran_devl_codelitegit_formbuilder_editorsettingslocalbase_formbuilder_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_indent.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_margins.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$.._icons_misc.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_editorsettingslocalbase_formbuilder_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/editorsettingslocalbase_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_editorsettingslocalbase_formbuilder_bitmaps.xrc"));
}
diff --git a/LiteEditor/editorsettingsmiscbasepanel.cpp b/LiteEditor/editorsettingsmiscbasepanel.cpp
index 66a9100b..b2580089 100644
--- a/LiteEditor/editorsettingsmiscbasepanel.cpp
+++ b/LiteEditor/editorsettingsmiscbasepanel.cpp
@@ -27,6 +27,7 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
this->SetSizer(bSizer1);
m_notebook2 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook2->SetName(wxT("m_notebook2"));
bSizer1->Add(m_notebook2, 1, wxEXPAND, 5);
@@ -211,7 +212,7 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
wxArrayString m_fileEncodingArr;
m_fileEncoding = new wxChoice(m_panel2, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_fileEncodingArr, 0);
- fgSizer1->Add(m_fileEncoding, 0, wxALL|wxEXPAND|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ fgSizer1->Add(m_fileEncoding, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
fgSizer1->Add(0, 0, 1, wxEXPAND, 5);
@@ -229,7 +230,7 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
m_AvailableLocales = new wxChoice(m_panel2, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_AvailableLocalesArr, 0);
m_AvailableLocales->SetToolTip(_("These are the locales that are available on your system. There won't necessarily be CodeLite translations for all of them."));
- fgSizer1->Add(m_AvailableLocales, 0, wxALL|wxEXPAND|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ fgSizer1->Add(m_AvailableLocales, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
m_panel3 = new wxPanel(m_notebook2, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
m_notebook2->AddPage(m_panel3, _("History"), false);
@@ -253,23 +254,23 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
fgSizer2->Add(m_staticText3, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- m_spinCtrlMaxOpenTabs = new wxTextCtrl(m_panel3, wxID_ANY, wxT("15"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_maxItemsFindReplace = new wxTextCtrl(m_panel3, wxID_ANY, wxT("15"), wxDefaultPosition, wxSize(-1, -1), 0);
#if wxVERSION_NUMBER >= 3000
- m_spinCtrlMaxOpenTabs->SetHint(wxT(""));
+ m_maxItemsFindReplace->SetHint(wxT(""));
#endif
- fgSizer2->Add(m_spinCtrlMaxOpenTabs, 0, wxALL|wxEXPAND|wxALIGN_LEFT, 5);
+ fgSizer2->Add(m_maxItemsFindReplace, 0, wxALL|wxEXPAND|wxALIGN_LEFT, 5);
m_staticText4 = new wxStaticText(m_panel3, wxID_ANY, _("Maximum number of tabs opened in the editor:"), wxDefaultPosition, wxSize(-1, -1), 0);
fgSizer2->Add(m_staticText4, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- m_maxItemsFindReplace = new wxTextCtrl(m_panel3, wxID_ANY, wxT("10"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_spinCtrlMaxOpenTabs = new wxTextCtrl(m_panel3, wxID_ANY, wxT("10"), wxDefaultPosition, wxSize(-1, -1), 0);
#if wxVERSION_NUMBER >= 3000
- m_maxItemsFindReplace->SetHint(wxT(""));
+ m_spinCtrlMaxOpenTabs->SetHint(wxT(""));
#endif
- fgSizer2->Add(m_maxItemsFindReplace, 0, wxALL|wxEXPAND|wxALIGN_LEFT, 5);
+ fgSizer2->Add(m_spinCtrlMaxOpenTabs, 0, wxALL|wxEXPAND|wxALIGN_LEFT, 5);
m_staticText53 = new wxStaticText(m_panel3, wxID_ANY, _("Reset annoying dialogs answers:"), wxDefaultPosition, wxSize(-1,-1), 0);
@@ -306,12 +307,12 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
m_choice4->SetToolTip(_("codelite logs to file various events, this option controls the logging verbosity"));
m_choice4->SetSelection(0);
- flexGridSizer13->Add(m_choice4, 0, wxALL|wxEXPAND|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ flexGridSizer13->Add(m_choice4, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
m_buttonOpenLog = new wxButton(m_panel4, wxID_ANY, _("Open.."), wxDefaultPosition, wxSize(-1, -1), 0);
m_buttonOpenLog->SetToolTip(_("Open the log file into an editor"));
- flexGridSizer13->Add(m_buttonOpenLog, 0, wxALL|wxEXPAND|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ flexGridSizer13->Add(m_buttonOpenLog, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
m_redirectLogOutput = new wxCheckBox(m_panel4, wxID_ANY, _("GTK only: Redirect stdout/stderr output to a log file"), wxDefaultPosition, wxSize(-1,-1), 0);
m_redirectLogOutput->SetValue(true);
@@ -319,11 +320,12 @@ EditorSettingsMiscBasePanel::EditorSettingsMiscBasePanel(wxWindow* parent, wxWin
boxSizer11->Add(m_redirectLogOutput, 0, wxALL, 10);
+ SetName(wxT("EditorSettingsMiscBasePanel"));
SetSizeHints(449,382);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_checkBoxEnableMSWTheme->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsMiscBasePanel::OnEnableThemeUI), NULL, this);
m_SetLocale->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorSettingsMiscBasePanel::LocaleChkUpdateUI), NULL, this);
diff --git a/LiteEditor/editorsettingsmiscbasepanel.h b/LiteEditor/editorsettingsmiscbasepanel.h
index 54d9df18..4ec0bb2f 100644
--- a/LiteEditor/editorsettingsmiscbasepanel.h
+++ b/LiteEditor/editorsettingsmiscbasepanel.h
@@ -23,6 +23,12 @@
#include <wx/bannerwindow.h>
#include <wx/textctrl.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class EditorSettingsMiscBasePanel : public wxPanel
{
@@ -62,9 +68,9 @@ protected:
wxStaticText* m_staticText2;
wxButton* m_clearButton;
wxStaticText* m_staticText3;
- wxTextCtrl* m_spinCtrlMaxOpenTabs;
- wxStaticText* m_staticText4;
wxTextCtrl* m_maxItemsFindReplace;
+ wxStaticText* m_staticText4;
+ wxTextCtrl* m_spinCtrlMaxOpenTabs;
wxStaticText* m_staticText53;
wxButton* m_buttonAnnoyingDialogs;
wxPanel* m_panel4;
@@ -86,6 +92,51 @@ protected:
virtual void OnLogoutputCheckUpdateUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText7() { return m_staticText7; }
+ wxChoice* GetChoiceIconSet() { return m_choiceIconSet; }
+ wxStaticText* GetStaticText8() { return m_staticText8; }
+ wxChoice* GetToolbarIconSize() { return m_toolbarIconSize; }
+ wxCheckBox* GetUseSingleToolbar() { return m_useSingleToolbar; }
+ wxCheckBox* GetCheckBoxEnableMSWTheme() { return m_checkBoxEnableMSWTheme; }
+ wxCheckBox* GetShowSplashScreen() { return m_showSplashScreen; }
+ wxCheckBox* GetSingleAppInstance() { return m_singleAppInstance; }
+ wxCheckBox* GetVersionCheckOnStartup() { return m_versionCheckOnStartup; }
+ wxCheckBox* GetCheckBoxRestoreSession() { return m_checkBoxRestoreSession; }
+ wxPanel* GetPanel1() { return m_panel1; }
+ wxBannerWindow* GetBanner27() { return m_banner27; }
+ wxStaticText* GetStaticText31() { return m_staticText31; }
+ wxStaticText* GetStaticText33() { return m_staticText33; }
+ wxStaticText* GetStaticText35() { return m_staticText35; }
+ wxStaticText* GetStaticText37() { return m_staticText37; }
+ wxStaticText* GetStaticText39() { return m_staticText39; }
+ wxStaticText* GetStaticText41() { return m_staticText41; }
+ wxStaticText* GetStaticText43() { return m_staticText43; }
+ wxStaticText* GetStaticText45() { return m_staticText45; }
+ wxStaticText* GetStaticText47() { return m_staticText47; }
+ wxStaticText* GetStaticText49() { return m_staticText49; }
+ wxTextCtrl* GetTextCtrlPattern() { return m_textCtrlPattern; }
+ wxPanel* GetPanel23() { return m_panel23; }
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxChoice* GetFileEncoding() { return m_fileEncoding; }
+ wxCheckBox* GetSetLocale() { return m_SetLocale; }
+ wxStaticText* GetStaticTextLocale() { return m_staticTextLocale; }
+ wxChoice* GetAvailableLocales() { return m_AvailableLocales; }
+ wxPanel* GetPanel2() { return m_panel2; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxButton* GetClearButton() { return m_clearButton; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxTextCtrl* GetMaxItemsFindReplace() { return m_maxItemsFindReplace; }
+ wxStaticText* GetStaticText4() { return m_staticText4; }
+ wxTextCtrl* GetSpinCtrlMaxOpenTabs() { return m_spinCtrlMaxOpenTabs; }
+ wxStaticText* GetStaticText53() { return m_staticText53; }
+ wxButton* GetButtonAnnoyingDialogs() { return m_buttonAnnoyingDialogs; }
+ wxPanel* GetPanel3() { return m_panel3; }
+ wxStaticText* GetStaticText6() { return m_staticText6; }
+ wxChoice* GetChoice4() { return m_choice4; }
+ wxButton* GetButtonOpenLog() { return m_buttonOpenLog; }
+ wxCheckBox* GetRedirectLogOutput() { return m_redirectLogOutput; }
+ wxPanel* GetPanel4() { return m_panel4; }
+ wxNotebook* GetNotebook2() { return m_notebook2; }
EditorSettingsMiscBasePanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(449,382), long style = wxTAB_TRAVERSAL);
virtual ~EditorSettingsMiscBasePanel();
};
diff --git a/LiteEditor/envvar_table.cpp b/LiteEditor/envvar_table.cpp
index 70a956b5..6b27b320 100644
--- a/LiteEditor/envvar_table.cpp
+++ b/LiteEditor/envvar_table.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : envvar_table.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : envvar_table.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "precompiled_header.h"
#include "envvar_table.h"
#include "evnvarlist.h"
@@ -30,204 +30,213 @@
#include "windowattrmanager.h"
#include "window_locker.h"
#include <wx/regex.h>
-
-EnvVarsTableDlg::EnvVarsTableDlg( wxWindow* parent )
- : EnvVarsTableDlgBase( parent )
+#include "lexer_configuration.h"
+#include "cl_command_event.h"
+#include "codelite_events.h"
+#include "ColoursAndFontsManager.h"
+#include "event_notifier.h"
+
+EnvVarsTableDlg::EnvVarsTableDlg(wxWindow* parent)
+ : EnvVarsTableDlgBase(parent)
{
- EvnVarList vars;
- EnvironmentConfig::Instance()->ReadObject(wxT("Variables"), &vars);
- std::map<wxString, wxString> envSets = vars.GetEnvVarSets();
- wxString activePage = vars.GetActiveSet();
-
- wxStyledTextCtrl *sci = m_textCtrlDefault;
- sci->StyleClearAll();
- sci->SetLexer(wxSTC_LEX_NULL);
-
- wxFont defFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
- wxFont font(defFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
-
- for (int i=0; i<=wxSTC_STYLE_DEFAULT; i++) {
- sci->StyleSetBackground(i, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
- sci->StyleSetForeground(i, *wxBLACK);
- sci->StyleSetFont(i, font);
- sci->SetWrapMode(wxSTC_WRAP_WORD);
- }
-
- WindowAttrManager::Load(this, wxT("EnvVarsTableDlg"), NULL);
- std::map<wxString, wxString>::iterator iter = envSets.begin();
- for (; iter != envSets.end(); iter++) {
- wxString name = iter->first;
- wxString content = iter->second;
-
- if (name == wxT("Default")) {
- m_textCtrlDefault->SetText(content);
- } else {
- DoAddPage(name, content, false);
- }
- }
-
- m_notebook1->SetSelection(0);
- for (size_t i=0; i<m_notebook1->GetPageCount(); i++) {
- if (m_notebook1->GetPageText(i) == activePage) {
- m_notebook1->GetPage(i)->SetFocus();
- m_notebook1->SetSelection(i);
- break;
- }
- }
+ EvnVarList vars;
+ EnvironmentConfig::Instance()->ReadObject(wxT("Variables"), &vars);
+ std::map<wxString, wxString> envSets = vars.GetEnvVarSets();
+ wxString activePage = vars.GetActiveSet();
+
+ wxStyledTextCtrl* sci = m_textCtrlDefault;
+ LexerConf::Ptr_t lexer = ColoursAndFontsManager::Get().GetLexer("text");
+ if(lexer) {
+ lexer->Apply(sci);
+ }
+
+ SetName("EnvVarsTableDlg");
+ WindowAttrManager::Load(this);
+ std::map<wxString, wxString>::iterator iter = envSets.begin();
+ for(; iter != envSets.end(); iter++) {
+ wxString name = iter->first;
+ wxString content = iter->second;
+
+ if(name == wxT("Default")) {
+ m_textCtrlDefault->SetText(content);
+ } else {
+ DoAddPage(name, content, false);
+ }
+ }
+
+ m_notebook1->SetSelection(0);
+ for(size_t i = 0; i < m_notebook1->GetPageCount(); i++) {
+ if(m_notebook1->GetPageText(i) == activePage) {
+ m_notebook1->GetPage(i)->SetFocus();
+ m_notebook1->SetSelection(i);
+ break;
+ }
+ }
}
EnvVarsTableDlg::~EnvVarsTableDlg()
{
- WindowAttrManager::Save(this, wxT("EnvVarsTableDlg"), NULL);
+
}
-void EnvVarsTableDlg::OnLeftUp( wxMouseEvent& event )
+void EnvVarsTableDlg::OnLeftUp(wxMouseEvent& event)
{
}
-void EnvVarsTableDlg::OnButtonOk( wxCommandEvent& event )
+void EnvVarsTableDlg::OnButtonOk(wxCommandEvent& event)
{
- EvnVarList vars;
-
- std::map<wxString, wxString> envSets;
-
- wxString content = m_textCtrlDefault->GetText();
- wxString name = wxT("Default");
- content.Trim().Trim(false);
- envSets[name] = content;
-
- for (size_t i=1; i<m_notebook1->GetPageCount(); i++) {
- if (i == (size_t)m_notebook1->GetSelection()) {
- vars.SetActiveSet(m_notebook1->GetPageText(i));
- }
-
- EnvVarSetPage *page = (EnvVarSetPage*) m_notebook1->GetPage(i);
- wxString content = page->m_textCtrl->GetText();
- wxString name = m_notebook1->GetPageText(i);
- content.Trim().Trim(false);
- envSets[name] = content;
- }
- vars.SetEnvVarSets(envSets);
- EnvironmentConfig::Instance()->WriteObject(wxT("Variables"), &vars);
- event.Skip();
+ EvnVarList vars;
+
+ std::map<wxString, wxString> envSets;
+
+ wxString content = m_textCtrlDefault->GetText();
+ wxString name = wxT("Default");
+ content.Trim().Trim(false);
+ envSets[name] = content;
+
+ for(size_t i = 1; i < m_notebook1->GetPageCount(); i++) {
+ if(i == (size_t)m_notebook1->GetSelection()) {
+ vars.SetActiveSet(m_notebook1->GetPageText(i));
+ }
+
+ EnvVarSetPage* page = (EnvVarSetPage*)m_notebook1->GetPage(i);
+ wxString content = page->m_textCtrl->GetText();
+ wxString name = m_notebook1->GetPageText(i);
+ content.Trim().Trim(false);
+ envSets[name] = content;
+ }
+ vars.SetEnvVarSets(envSets);
+ EnvironmentConfig::Instance()->WriteObject(wxT("Variables"), &vars);
+
+ // Notify that the environment variables were modified
+ clCommandEvent eventSave(wxEVT_ENVIRONMENT_VARIABLES_MODIFIED);
+ EventNotifier::Get()->AddPendingEvent(eventSave);
+
+ event.Skip();
}
-void EnvVarsTableDlg::OnNewSet( wxCommandEvent& event )
+void EnvVarsTableDlg::OnNewSet(wxCommandEvent& event)
{
- wxString name = wxGetTextFromUser(wxT("Enter Name:"));
- if(name.IsEmpty())
- return;
+ wxString name = wxGetTextFromUser(wxT("Enter Name:"));
+ if(name.IsEmpty())
+ return;
- DoAddPage(name, wxT(""), false);
+ DoAddPage(name, wxT(""), false);
}
void EnvVarsTableDlg::OnDeleteSet(wxCommandEvent& event)
{
- wxUnusedVar(event);
-
- int selection = m_notebook1->GetSelection();
- if(selection == wxNOT_FOUND)
- return;
-
- wxString name = m_notebook1->GetPageText((size_t)selection);
- if(wxMessageBox(wxString::Format(wxT("Are you sure you want to delete '%s' environment variables set?"), name.c_str()), wxT("Confirm"), wxYES_NO|wxICON_QUESTION) != wxYES)
- return;
- m_notebook1->DeletePage((size_t)selection);
+ wxUnusedVar(event);
+
+ int selection = m_notebook1->GetSelection();
+ if(selection == wxNOT_FOUND)
+ return;
+
+ wxString name = m_notebook1->GetPageText((size_t)selection);
+ if(wxMessageBox(
+ wxString::Format(wxT("Are you sure you want to delete '%s' environment variables set?"), name.c_str()),
+ wxT("Confirm"),
+ wxYES_NO | wxICON_QUESTION) != wxYES)
+ return;
+ m_notebook1->DeletePage((size_t)selection);
}
void EnvVarsTableDlg::OnDeleteSetUI(wxUpdateUIEvent& event)
{
- int i = m_notebook1->GetSelection();
- event.Enable(i != wxNOT_FOUND && m_notebook1->GetPageText(i) != wxT("Default"));
+ int i = m_notebook1->GetSelection();
+ event.Enable(i != wxNOT_FOUND && m_notebook1->GetPageText(i) != wxT("Default"));
}
-void EnvVarsTableDlg::DoAddPage(const wxString &name, const wxString &content, bool select)
+void EnvVarsTableDlg::DoAddPage(const wxString& name, const wxString& content, bool select)
{
- clWindowUpdateLocker locker(this);
- EnvVarSetPage *page = new EnvVarSetPage(m_notebook1, wxID_ANY, wxDefaultPosition, wxSize(0,0));
- wxStyledTextCtrl *sci = page->m_textCtrl;
- sci->StyleClearAll();
- sci->SetLexer(wxSTC_LEX_NULL);
-
- wxFont defFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
- wxFont font(defFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
-
- for (int i=0; i<=wxSTC_STYLE_DEFAULT; i++) {
- sci->StyleSetBackground(i, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
- sci->StyleSetForeground(i, *wxBLACK);
- sci->StyleSetFont(i, font);
- }
- sci->SetText(content);
- m_notebook1->AddPage(page, name, select);
+ clWindowUpdateLocker locker(this);
+ EnvVarSetPage* page = new EnvVarSetPage(m_notebook1, wxID_ANY, wxDefaultPosition, wxSize(0, 0));
+ wxStyledTextCtrl* sci = page->m_textCtrl;
+ sci->StyleClearAll();
+ sci->SetLexer(wxSTC_LEX_NULL);
+
+ wxFont defFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ wxFont font(defFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
+
+ for(int i = 0; i <= wxSTC_STYLE_DEFAULT; i++) {
+ sci->StyleSetBackground(i, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
+ sci->StyleSetForeground(i, *wxBLACK);
+ sci->StyleSetFont(i, font);
+ }
+ sci->SetText(content);
+ m_notebook1->AddPage(page, name, select);
}
void EnvVarsTableDlg::OnExport(wxCommandEvent& event)
{
- int selection = m_notebook1->GetSelection();
- if(selection == wxNOT_FOUND)
- return;
+ int selection = m_notebook1->GetSelection();
+ if(selection == wxNOT_FOUND)
+ return;
#ifdef __WXMSW__
- bool isWindows = true;
+ bool isWindows = true;
#else
- bool isWindows = false;
+ bool isWindows = false;
#endif
- wxString text;
- if(selection == 0) {
- text = m_textCtrlDefault->GetText();
- } else {
- EnvVarSetPage *page = dynamic_cast<EnvVarSetPage*>(m_notebook1->GetPage((size_t)selection));
- if(page) {
- text = page->m_textCtrl->GetText();
- }
- }
-
- if(text.IsEmpty())
- return;
-
- wxArrayString lines = wxStringTokenize(text, wxT("\r\n"), wxTOKEN_STRTOK);
- wxString envfile;
- if(isWindows) {
- envfile << wxT("environment.bat");
- } else {
- envfile << wxT("environment");
- }
-
- wxFileName fn(wxGetCwd(), envfile);
- wxFFile fp(fn.GetFullPath(), wxT("w+b"));
- if(fp.IsOpened() == false) {
- wxMessageBox(wxString::Format(_("Failed to open file: '%s' for write"), fn.GetFullPath().c_str()), wxT("CodeLite"), wxOK|wxCENTER|wxICON_WARNING);
- return;
- }
-
- for(size_t i=0; i<lines.GetCount(); i++) {
-
- wxString sLine = lines.Item(i).Trim().Trim(false);
- if(sLine.IsEmpty())
- continue;
-
- static wxRegEx reVarPattern(wxT("\\$\\(( *)([a-zA-Z0-9_]+)( *)\\)"));
- if(isWindows) {
- while(reVarPattern.Matches(sLine)) {
- wxString varName = reVarPattern.GetMatch(sLine, 2);
- wxString text = reVarPattern.GetMatch(sLine);
- sLine.Replace(text, wxString::Format(wxT("%%%s%%"), varName.c_str()));
- }
- sLine.Prepend(wxT("set "));
- sLine.Append(wxT("\r\n"));
-
- } else {
- while(reVarPattern.Matches(sLine)) {
- wxString varName = reVarPattern.GetMatch(sLine, 2);
- wxString text = reVarPattern.GetMatch(sLine);
- sLine.Replace(text, wxString::Format(wxT("$%s"), varName.c_str()));
- }
- sLine.Prepend(wxT("export "));
- sLine.Append(wxT("\n"));
- }
- fp.Write(sLine);
- }
-
- wxMessageBox(wxString::Format(_("Environment exported to: '%s' successfully"), fn.GetFullPath().c_str()), wxT("CodeLite"));
+ wxString text;
+ if(selection == 0) {
+ text = m_textCtrlDefault->GetText();
+ } else {
+ EnvVarSetPage* page = dynamic_cast<EnvVarSetPage*>(m_notebook1->GetPage((size_t)selection));
+ if(page) {
+ text = page->m_textCtrl->GetText();
+ }
+ }
+
+ if(text.IsEmpty())
+ return;
+
+ wxArrayString lines = wxStringTokenize(text, wxT("\r\n"), wxTOKEN_STRTOK);
+ wxString envfile;
+ if(isWindows) {
+ envfile << wxT("environment.bat");
+ } else {
+ envfile << wxT("environment");
+ }
+
+ wxFileName fn(wxGetCwd(), envfile);
+ wxFFile fp(fn.GetFullPath(), wxT("w+b"));
+ if(fp.IsOpened() == false) {
+ wxMessageBox(wxString::Format(_("Failed to open file: '%s' for write"), fn.GetFullPath().c_str()),
+ wxT("CodeLite"),
+ wxOK | wxCENTER | wxICON_WARNING);
+ return;
+ }
+
+ for(size_t i = 0; i < lines.GetCount(); i++) {
+
+ wxString sLine = lines.Item(i).Trim().Trim(false);
+ if(sLine.IsEmpty())
+ continue;
+
+ static wxRegEx reVarPattern(wxT("\\$\\(( *)([a-zA-Z0-9_]+)( *)\\)"));
+ if(isWindows) {
+ while(reVarPattern.Matches(sLine)) {
+ wxString varName = reVarPattern.GetMatch(sLine, 2);
+ wxString text = reVarPattern.GetMatch(sLine);
+ sLine.Replace(text, wxString::Format(wxT("%%%s%%"), varName.c_str()));
+ }
+ sLine.Prepend(wxT("set "));
+ sLine.Append(wxT("\r\n"));
+
+ } else {
+ while(reVarPattern.Matches(sLine)) {
+ wxString varName = reVarPattern.GetMatch(sLine, 2);
+ wxString text = reVarPattern.GetMatch(sLine);
+ sLine.Replace(text, wxString::Format(wxT("$%s"), varName.c_str()));
+ }
+ sLine.Prepend(wxT("export "));
+ sLine.Append(wxT("\n"));
+ }
+ fp.Write(sLine);
+ }
+
+ wxMessageBox(wxString::Format(_("Environment exported to: '%s' successfully"), fn.GetFullPath().c_str()),
+ wxT("CodeLite"));
}
diff --git a/LiteEditor/filechecklist.cpp b/LiteEditor/filechecklist.cpp
index 524bbbe6..41f2b917 100644
--- a/LiteEditor/filechecklist.cpp
+++ b/LiteEditor/filechecklist.cpp
@@ -26,37 +26,39 @@
#include "filechecklist.h"
#include "windowattrmanager.h"
-FileCheckList::FileCheckList(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size)
- : FileCheckListBase( parent, id, title, pos, size )
+FileCheckList::FileCheckList(wxWindow* parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos,
+ const wxSize& size)
+ : FileCheckListBase(parent, id, title, pos, size)
, m_baseDir(wxGetCwd())
{
- WindowAttrManager::Load(this, wxT("FileCheckListAttr"), NULL);
+ SetName("FileCheckList");
+ WindowAttrManager::Load(this);
}
-FileCheckList::~FileCheckList()
-{
- WindowAttrManager::Save(this, wxT("FileCheckListAttr"), NULL);
-}
+FileCheckList::~FileCheckList() {}
-void FileCheckList::OnCheckAll( wxCommandEvent& event )
+void FileCheckList::OnCheckAll(wxCommandEvent& event)
{
wxUnusedVar(event);
- for (size_t i = 0; i < m_files.size(); i++) {
+ for(size_t i = 0; i < m_files.size(); i++) {
m_files[i].second = true;
m_fileCheckList->Check(i, true);
}
}
-void FileCheckList::OnClearAll( wxCommandEvent& event )
+void FileCheckList::OnClearAll(wxCommandEvent& event)
{
wxUnusedVar(event);
- for (size_t i = 0; i < m_files.size(); i++) {
+ for(size_t i = 0; i < m_files.size(); i++) {
m_files[i].second = false;
m_fileCheckList->Check(i, false);
}
}
-void FileCheckList::OnFileSelected( wxCommandEvent& event )
+void FileCheckList::OnFileSelected(wxCommandEvent& event)
{
wxUnusedVar(event);
ShowFilePath(event.GetSelection());
@@ -75,10 +77,7 @@ void FileCheckList::ShowFilePath(size_t n)
m_selectedFilePath->SetValue(file.GetFullPath());
}
-void FileCheckList::SetCaption(const wxString &caption)
-{
- m_caption->SetLabel(caption);
-}
+void FileCheckList::SetCaption(const wxString& caption) { m_caption->SetLabel(caption); }
void FileCheckList::SetBaseDir(const wxFileName& dir)
{
@@ -86,16 +85,16 @@ void FileCheckList::SetBaseDir(const wxFileName& dir)
m_baseDir.MakeAbsolute();
}
-void FileCheckList::SetFiles(const std::vector<std::pair<wxFileName, bool> > &files)
+void FileCheckList::SetFiles(const std::vector<std::pair<wxFileName, bool> >& files)
{
m_files = files;
m_fileCheckList->Clear();
- for (size_t i = 0; i < m_files.size(); i++) {
+ for(size_t i = 0; i < m_files.size(); i++) {
m_fileCheckList->Append(m_files[i].first.GetFullName());
m_fileCheckList->Check(i, m_files[i].second);
}
m_selectedFilePath->Clear();
- if (!m_files.empty()) {
+ if(!m_files.empty()) {
m_fileCheckList->Select(0);
ShowFilePath(0);
}
diff --git a/LiteEditor/fileexplorer.cpp b/LiteEditor/fileexplorer.cpp
index 0910c763..eeb39ad2 100644
--- a/LiteEditor/fileexplorer.cpp
+++ b/LiteEditor/fileexplorer.cpp
@@ -40,6 +40,8 @@
#include "FileExplorerTabToolBar.h"
#include "cl_config.h"
#include "OpenFolderDlg.h"
+#include "globals.h"
+#include <wx/arrstr.h>
FileExplorer::FileExplorer(wxWindow* parent, const wxString& caption)
: wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(250, 300))
@@ -74,6 +76,7 @@ FileExplorer::~FileExplorer()
this,
FileExplorerTabToolBar::ID_TOOL_EXPLORER_BOOKMARKS);
Unbind(wxEVT_MENU, &FileExplorer::OnGotoFolder, this, FileExplorerTabToolBar::ID_TOOL_GOTO_FOLDER);
+ Unbind(wxEVT_MENU, &FileExplorer::OnFindInFiles, this, FileExplorerTabToolBar::ID_TOOL_FIND_IN_FILES);
}
void FileExplorer::CreateGUIControls()
@@ -81,10 +84,9 @@ void FileExplorer::CreateGUIControls()
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(mainSizer);
- FileExplorerTabToolBar* tb = new FileExplorerTabToolBar(this);
- mainSizer->Add(tb, 0, wxEXPAND);
-
m_fileTree = new FileExplorerTab(this);
+ FileExplorerTabToolBar* tb = new FileExplorerTabToolBar(this, m_fileTree);
+ mainSizer->Add(tb, 0, wxEXPAND);
mainSizer->Add(m_fileTree, 1, wxEXPAND | wxALL, 1);
tb->ToggleTool(XRCID("link_editor"), m_isLinkedToEditor);
@@ -96,6 +98,7 @@ void FileExplorer::CreateGUIControls()
this,
FileExplorerTabToolBar::ID_TOOL_EXPLORER_BOOKMARKS);
Bind(wxEVT_MENU, &FileExplorer::OnGotoFolder, this, FileExplorerTabToolBar::ID_TOOL_GOTO_FOLDER);
+ Bind(wxEVT_MENU, &FileExplorer::OnFindInFiles, this, FileExplorerTabToolBar::ID_TOOL_FIND_IN_FILES);
mainSizer->Layout();
wxTheApp->Connect(XRCID("show_in_explorer"),
@@ -243,3 +246,20 @@ void FileExplorer::OnGotoFolder(wxCommandEvent& event)
}
}
}
+
+void FileExplorer::OnFindInFiles(wxCommandEvent& event)
+{
+ wxArrayString folders, files;
+ m_fileTree->GetSelections(folders, files);
+ if(folders.IsEmpty() && files.IsEmpty()) return;
+
+ // Prepare a folder list from both arrays
+ for(size_t i=0; i<files.size(); ++i) {
+ wxFileName fn(files.Item(i));
+ if(folders.Index(fn.GetPath()) == wxNOT_FOUND) {
+ folders.Add(fn.GetPath());
+ }
+ }
+
+ ::clGetManager()->OpenFindInFileForPaths(folders);
+}
diff --git a/LiteEditor/fileexplorer.h b/LiteEditor/fileexplorer.h
index fc35c160..90c18204 100644
--- a/LiteEditor/fileexplorer.h
+++ b/LiteEditor/fileexplorer.h
@@ -51,6 +51,7 @@ private:
void OnActiveEditorChanged(wxCommandEvent &e);
void OnBookmark(wxAuiToolBarEvent& event);
void OnGotoFolder(wxCommandEvent& event);
+ void OnFindInFiles(wxCommandEvent& event);
public:
FileExplorer(wxWindow *parent, const wxString &caption);
diff --git a/LiteEditor/fileview.cpp b/LiteEditor/fileview.cpp
index 0d9c5dcb..73c156c5 100644
--- a/LiteEditor/fileview.cpp
+++ b/LiteEditor/fileview.cpp
@@ -66,6 +66,11 @@
#include "NewVirtualFolderDlg.h"
#include "workspacetab.h"
#include "file_logger.h"
+#include "clFileOrFolderDropTarget.h"
+#include "importfilessettings.h"
+#include <project.h>
+#include "compiler.h"
+#include "ICompilerLocator.h"
IMPLEMENT_DYNAMIC_CLASS(FileViewTree, wxTreeCtrl)
@@ -156,7 +161,6 @@ FileViewTree::FileViewTree(wxWindow* parent, const wxWindowID id, const wxPoint&
{
Create(parent, id, pos, size, style);
MSWSetNativeTheme(this);
- // SetBackgroundColour("rgb(230, 230, 230)");
// Initialise images map
BitmapLoader* bmpLoader = PluginManager::Get()->GetStdIcons();
@@ -178,6 +182,8 @@ FileViewTree::FileViewTree(wxWindow* parent, const wxWindowID id, const wxPoint&
wxEVT_CMD_BUILD_PROJECT_ONLY, wxCommandEventHandler(FileViewTree::OnBuildProjectOnlyInternal), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_CLEAN_PROJECT_ONLY, wxCommandEventHandler(FileViewTree::OnCleanProjectOnlyInternal), NULL, this);
+
+ Bind(wxEVT_DND_FOLDER_DROPPED, &FileViewTree::OnFolderDropped, this);
}
FileViewTree::~FileViewTree()
@@ -188,6 +194,7 @@ FileViewTree::~FileViewTree()
wxEVT_CMD_BUILD_PROJECT_ONLY, wxCommandEventHandler(FileViewTree::OnBuildProjectOnlyInternal), NULL, this);
EventNotifier::Get()->Disconnect(
wxEVT_CMD_CLEAN_PROJECT_ONLY, wxCommandEventHandler(FileViewTree::OnCleanProjectOnlyInternal), NULL, this);
+ Unbind(wxEVT_DND_FOLDER_DROPPED, &FileViewTree::OnFolderDropped, this);
}
void FileViewTree::Create(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
@@ -197,7 +204,7 @@ void FileViewTree::Create(wxWindow* parent, const wxWindowID id, const wxPoint&
if(multi) style |= wxTR_MULTIPLE;
wxTreeCtrl::Create(parent, id, pos, size, style);
-
+ SetDropTarget(new clFileOrFolderDropTarget(this));
BuildTree();
}
@@ -366,21 +373,20 @@ void FileViewTree::BuildProjectNode(const wxString& projectName)
// Event handlers
//-----------------------------------------------
-
void FileViewTree::ShowFileContextMenu()
{
wxArrayTreeItemIds items;
GetSelections(items);
if(items.IsEmpty()) return;
-
+
wxMenu* menu = wxXmlResource::Get()->LoadMenu(wxT("file_tree_file"));
if(!ManagerST::Get()->IsBuildInProgress()) {
// Let the plugins alter it
clContextMenuEvent event(wxEVT_CONTEXT_MENU_FILE);
event.SetMenu(menu);
-
+
wxArrayString files;
- for(size_t i=0; i<items.GetCount(); ++i) {
+ for(size_t i = 0; i < items.GetCount(); ++i) {
FilewViewTreeItemData* data = static_cast<FilewViewTreeItemData*>(GetItemData(items.Item(i)));
if(data->GetData().GetKind() == ProjectItem::TypeFile) {
files.Add(data->GetData().GetFile());
@@ -421,14 +427,14 @@ void FileViewTree::ShowProjectContextMenu(const wxString& projectName)
wxBitmap bmpBuild = PluginManager::Get()->GetStdIcons()->LoadBitmap("toolbars/16/build/build");
wxBitmap bmpClean = PluginManager::Get()->GetStdIcons()->LoadBitmap("toolbars/16/build/clean");
wxBitmap bmpSettings = wxXmlResource::Get()->LoadBitmap(wxT("configure"));
-
+
menu->FindItem(XRCID("build_project"))->SetBitmap(bmpBuild);
menu->FindItem(XRCID("clean_project"))->SetBitmap(bmpClean);
menu->FindItem(XRCID("project_properties"))->SetBitmap(bmpSettings);
-
+
BuildConfigPtr bldConf = WorkspaceST::Get()->GetProjBuildConf(projectName, wxEmptyString);
if(bldConf && bldConf->IsCustomBuild()) {
- wxMenuItem *item = NULL;
+ wxMenuItem* item = NULL;
#if 0
wxString toolName = bldConf->GetToolName();
if(toolName != wxT("None")) {
@@ -474,7 +480,7 @@ void FileViewTree::ShowProjectContextMenu(const wxString& projectName)
menu->Insert(position, XRCID("custom_targets"), gsCustomTargetsMenu, customTargetsMenu);
}
}
-
+
if(!ManagerST::Get()->IsBuildInProgress()) {
// Let the plugins alter it
clContextMenuEvent event(wxEVT_CONTEXT_MENU_PROJECT);
@@ -484,7 +490,7 @@ void FileViewTree::ShowProjectContextMenu(const wxString& projectName)
// Use the old system
PluginManager::Get()->HookPopupMenu(menu, MenuTypeFileView_Project);
}
-
+
PopupMenu(menu);
wxDELETE(menu);
}
@@ -493,7 +499,7 @@ void FileViewTree::ShowWorkspaceContextMenu()
{
// Load the basic menu
wxMenu* menu = wxXmlResource::Get()->LoadMenu(wxT("workspace_popup_menu"));
-
+
if(!ManagerST::Get()->IsBuildInProgress()) {
// Let the plugins alter it
clContextMenuEvent event(wxEVT_CONTEXT_MENU_WORKSPACE);
@@ -503,7 +509,7 @@ void FileViewTree::ShowWorkspaceContextMenu()
// Use the old system
PluginManager::Get()->HookPopupMenu(menu, MenuTypeFileView_Workspace);
}
-
+
// Show it
PopupMenu(menu);
wxDELETE(menu);
@@ -615,7 +621,7 @@ void FileViewTree::DoItemActivated(wxTreeItemId& item, wxEvent& event)
clCommandEvent activateEvent(wxEVT_TREE_ITEM_FILE_ACTIVATED);
activateEvent.SetFileName(file_path);
if(EventNotifier::Get()->ProcessEvent(activateEvent)) return;
-
+
clMainFrame::Get()->GetMainBook()->OpenFile(fn.GetFullPath(), project, -1);
} else if(itemData->GetData().GetKind() == ProjectItem::TypeProject) {
@@ -1646,6 +1652,15 @@ void FileViewTree::OnImportDirectory(wxCommandEvent& e)
wxDir::GetAllFiles(iter->first, &all_files, "", flags);
}
+ DoImportFolder(proj, dlg.GetBaseDir(), all_files, filespec, extlessFiles);
+}
+
+void FileViewTree::DoImportFolder(ProjectPtr proj,
+ const wxString& baseDir,
+ const wxArrayString& all_files,
+ const wxString& filespec,
+ bool extlessFiles)
+{
wxStringTokenizer tok(filespec, wxT(";"));
wxStringSet_t specMap;
while(tok.HasMoreTokens()) {
@@ -1662,6 +1677,7 @@ void FileViewTree::OnImportDirectory(wxCommandEvent& e)
}
// filter non interesting files
+ wxArrayString files;
for(size_t i = 0; i < all_files.GetCount(); i++) {
wxFileName fn(all_files.Item(i));
@@ -1696,7 +1712,7 @@ void FileViewTree::OnImportDirectory(wxCommandEvent& e)
}
}
- wxString path = dlg.GetBaseDir();
+ wxString path = baseDir;
//{ Fixe bug 2847625
if(path.EndsWith(wxT("/")) || path.EndsWith(wxT("\\"))) {
path.RemoveLast();
@@ -1774,7 +1790,6 @@ void FileViewTree::OnImportDirectory(wxCommandEvent& e)
MarkActive(curr_proj_name);
}
}
-
void FileViewTree::OnReconcileProject(wxCommandEvent& e)
{
wxUnusedVar(e);
@@ -2398,3 +2413,96 @@ void FileViewTree::OnRenameProject(wxCommandEvent& event)
}
}
+void FileViewTree::OnFolderDropped(clCommandEvent& event)
+{
+ // User dragged a folder into our workspace
+ const wxArrayString& folders = event.GetStrings();
+ if(folders.size() != 1) {
+ ::wxMessageBox(_("You can only drag one folder at a time"), "CodeLite", wxOK | wxCENTER | wxICON_ERROR);
+ return;
+ }
+
+ bool reloadWorkspaceIsNeeded(false);
+ const wxString& folder = folders.Item(0);
+ wxFileName workspaceFileName(folder, "");
+ wxString errMsg;
+ if(!WorkspaceST::Get()->IsOpen()) {
+
+ wxFileName fnWorkspace(folder, "");
+
+ workspaceFileName.SetName(workspaceFileName.GetDirs().Last());
+ workspaceFileName.SetExt("workspace");
+
+ // Create an empty workspace
+ if(!WorkspaceST::Get()->CreateWorkspace(fnWorkspace.GetDirs().Last(), folder, errMsg)) {
+ ::wxMessageBox(_("Failed to create workspace:\n") + errMsg, "CodeLite", wxICON_ERROR | wxOK | wxCENTER);
+ return;
+ }
+
+ // Create an empty project with sensible defaults
+ ProjectData pd;
+ CompilerPtr cmp = BuildSettingsConfigST::Get()->GetDefaultCompiler(COMPILER_DEFAULT_FAMILY);
+ if(cmp) {
+ pd.m_cmpType = cmp->GetName();
+ } else {
+ pd.m_cmpType = "gnu g++"; // Default :/
+ }
+
+ pd.m_name = fnWorkspace.GetDirs().Last();
+ pd.m_path = folder;
+
+ // Set a default empty project
+ pd.m_srcProject.Reset(new Project());
+
+// Use sensible debugger defaults
+#ifdef __WXMAC__
+ pd.m_debuggerType = "LLDB Debugger";
+#else
+ pd.m_debuggerType = "GNU gdb debugger";
+#endif
+ ManagerST::Get()->CreateProject(pd);
+ reloadWorkspaceIsNeeded = true;
+ }
+
+ // to which project should we import the folder?
+ wxArrayString projects;
+ WorkspaceST::Get()->GetProjectList(projects);
+ if(projects.IsEmpty()) {
+ ::wxMessageBox(
+ _("Can't import files to workspace without projects"), "CodeLite", wxICON_ERROR | wxOK | wxCENTER);
+ return;
+ }
+
+ wxString projectName;
+ if(projects.GetCount() > 1) {
+ int selection = projects.Index(WorkspaceST::Get()->GetActiveProjectName());
+ projectName = ::wxGetSingleChoice(_("Select project:"), _("Import files to project"), projects, selection);
+ } else {
+ // single project, just add it
+ projectName = projects.Item(0);
+ }
+
+ // user cancelled?
+ if(projectName.IsEmpty()) return;
+ ProjectPtr pProj = WorkspaceST::Get()->GetProject(projectName);
+ CHECK_PTR_RET(pProj);
+
+ wxBusyCursor bc;
+ wxArrayString all_files;
+ wxDir::GetAllFiles(folder, &all_files, wxEmptyString, wxDIR_DIRS | wxDIR_FILES);
+
+ ImportFilesSettings ifs;
+ DoImportFolder(pProj, folder, all_files, ifs.GetFileMask(), ifs.GetFlags() & IFS_INCLUDE_FILES_WO_EXT);
+
+ if(reloadWorkspaceIsNeeded) {
+ // Now that we have created a workspace + one project reload the workspace
+ wxCommandEvent evtOpenworkspace(wxEVT_MENU, XRCID("switch_to_workspace"));
+ evtOpenworkspace.SetString(workspaceFileName.GetFullPath());
+ evtOpenworkspace.SetEventObject(clMainFrame::Get());
+ clMainFrame::Get()->GetEventHandler()->AddPendingEvent(evtOpenworkspace);
+ }
+
+ // And trigger a full reparse of the workspace
+ wxCommandEvent evtOpenworkspace(wxEVT_MENU, XRCID("full_retag_workspace"));
+ clMainFrame::Get()->GetEventHandler()->AddPendingEvent(evtOpenworkspace);
+}
diff --git a/LiteEditor/fileview.h b/LiteEditor/fileview.h
index 9f27ad6f..9ac49cc9 100644
--- a/LiteEditor/fileview.h
+++ b/LiteEditor/fileview.h
@@ -172,6 +172,7 @@ protected:
virtual void OnLocalWorkspaceSettings(wxCommandEvent& e);
virtual void OnOpenWithDefaultApplication(wxCommandEvent& event);
virtual void OnBuildTree(wxCommandEvent& e);
+ void OnFolderDropped(clCommandEvent& event);
// Tree sorting
virtual int OnCompareItems(const wxTreeItemId& item1, const wxTreeItemId& item2);
@@ -181,7 +182,7 @@ protected:
void ShowProjectContextMenu(const wxString& projectName);
void ShowVirtualFolderContextMenu(FilewViewTreeItemData* itemData);
void ShowFileContextMenu();
-
+
// internal
void OnBuildProjectOnlyInternal(wxCommandEvent& e);
void OnCleanProjectOnlyInternal(wxCommandEvent& e);
@@ -202,6 +203,12 @@ private:
void DoRemoveItems();
void DoItemActivated(wxTreeItemId& item, wxEvent& event);
void DoAddItem(ProjectPtr proj, const FileViewItem& item);
+ void DoImportFolder(ProjectPtr proj,
+ const wxString& baseDir,
+ const wxArrayString& all_files,
+ const wxString& filespec,
+ bool extlessFiles);
+
wxTreeItemId DoGetItemByText(const wxTreeItemId& parent, const wxString& text);
wxTreeItemId GetSingleSelection();
diff --git a/LiteEditor/findinfiles_dlg.cpp b/LiteEditor/findinfiles_dlg.cpp
index 06f0de40..05d186e4 100644
--- a/LiteEditor/findinfiles_dlg.cpp
+++ b/LiteEditor/findinfiles_dlg.cpp
@@ -14,7 +14,7 @@ static bool bBitmapLoaded = false;
FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
- : wxFrame(parent, id, title, pos, size, style)
+ : wxDialog(parent, id, title, pos, size, style)
{
if ( !bBitmapLoaded ) {
// We need to initialise the default bitmap handler
@@ -102,7 +102,7 @@ FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, co
#endif
m_btnRemovelPath->SetToolTip(_("Remove the selected search path"));
- boxSizer1->Add(m_btnRemovelPath, 0, wxTOP|wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer1->Add(m_btnRemovelPath, 0, wxTOP|wxBOTTOM|wxEXPAND, 5);
m_btnClearPaths = new wxButton(m_panelMainPanel, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxBU_EXACTFIT);
#if wxVERSION_NUMBER >= 2904
@@ -111,7 +111,7 @@ FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, co
#endif
m_btnClearPaths->SetToolTip(_("Clear the search path list"));
- boxSizer1->Add(m_btnClearPaths, 0, wxTOP|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer1->Add(m_btnClearPaths, 0, wxTOP|wxEXPAND, 5);
m_staticText3 = new wxStaticText(m_panelMainPanel, wxID_ANY, _("File Mask:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -143,6 +143,7 @@ FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, co
fgSizer41->Add(m_staticText7, 0, wxALL|wxALIGN_RIGHT, 5);
m_notebook1 = new wxNotebook(m_panelMainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_notebook1->SetName(wxT("m_notebook1"));
fgSizer41->Add(m_notebook1, 0, wxALL|wxEXPAND, 5);
@@ -224,7 +225,7 @@ FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, co
wxBoxSizer* bSizer2 = new wxBoxSizer(wxVERTICAL);
- boxSizer50->Add(bSizer2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer50->Add(bSizer2, 0, wxALL, 5);
m_find = new wxButton(m_panelMainPanel, wxID_FIND, _("&Find"), wxDefaultPosition, wxSize(-1, -1), 0);
m_find->SetDefault();
@@ -247,11 +248,24 @@ FindInFilesDialogBase::FindInFilesDialogBase(wxWindow* parent, wxWindowID id, co
bSizer2->Add(m_cancel, 0, wxALL|wxEXPAND, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook1)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook1);
+ }
+ #endif
+
+ SetName(wxT("FindInFilesDialogBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_btnAddPath->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindInFilesDialogBase::OnAddPath), NULL, this);
m_btnRemovelPath->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindInFilesDialogBase::OnRemovePath), NULL, this);
diff --git a/LiteEditor/findinfiles_dlg.h b/LiteEditor/findinfiles_dlg.h
index 59b78c37..c9fb80cc 100644
--- a/LiteEditor/findinfiles_dlg.h
+++ b/LiteEditor/findinfiles_dlg.h
@@ -10,7 +10,7 @@
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
-#include <wx/frame.h>
+#include <wx/dialog.h>
#include <wx/iconbndl.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
@@ -25,8 +25,14 @@
#include <wx/notebook.h>
#include <wx/imaglist.h>
#include <wx/checkbox.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
-class FindInFilesDialogBase : public wxFrame
+class FindInFilesDialogBase : public wxDialog
{
protected:
wxPanel* m_panelMainPanel;
@@ -74,7 +80,37 @@ protected:
virtual void OnButtonClose(wxCommandEvent& event) { event.Skip(); }
public:
- FindInFilesDialogBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Find in Files"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_FRAME_STYLE|wxFRAME_NO_TASKBAR|wxFRAME_FLOAT_ON_PARENT|wxRESIZE_BORDER);
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxComboBox* GetFindString() { return m_findString; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ DirPicker* GetDirPicker() { return m_dirPicker; }
+ wxButton* GetBtnAddPath() { return m_btnAddPath; }
+ wxListBox* GetListPaths() { return m_listPaths; }
+ wxButton* GetBtnRemovelPath() { return m_btnRemovelPath; }
+ wxButton* GetBtnClearPaths() { return m_btnClearPaths; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxComboBox* GetFileTypes() { return m_fileTypes; }
+ wxStaticText* GetStaticText5() { return m_staticText5; }
+ wxChoice* GetChoiceEncoding() { return m_choiceEncoding; }
+ wxStaticText* GetStaticText7() { return m_staticText7; }
+ wxCheckBox* GetMatchCase() { return m_matchCase; }
+ wxCheckBox* GetMatchWholeWord() { return m_matchWholeWord; }
+ wxCheckBox* GetRegualrExpression() { return m_regualrExpression; }
+ wxCheckBox* GetCheckBoxSaveFilesBeforeSearching() { return m_checkBoxSaveFilesBeforeSearching; }
+ wxCheckBox* GetCheckBoxSeparateTab() { return m_checkBoxSeparateTab; }
+ wxPanel* GetPanel1() { return m_panel1; }
+ wxCheckBox* GetPrintScope() { return m_printScope; }
+ wxCheckBox* GetCheckBoxSkipMatchesFoundInComments() { return m_checkBoxSkipMatchesFoundInComments; }
+ wxCheckBox* GetCheckBoxSkipMatchesFoundInStrings() { return m_checkBoxSkipMatchesFoundInStrings; }
+ wxCheckBox* GetCheckBoxHighlighStringComments() { return m_checkBoxHighlighStringComments; }
+ wxPanel* GetPanel2() { return m_panel2; }
+ wxNotebook* GetNotebook1() { return m_notebook1; }
+ wxButton* GetFind() { return m_find; }
+ wxButton* GetReplaceAll() { return m_replaceAll; }
+ wxButton* GetStop() { return m_stop; }
+ wxButton* GetCancel() { return m_cancel; }
+ wxPanel* GetPanelMainPanel() { return m_panelMainPanel; }
+ FindInFilesDialogBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Find In Files"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~FindInFilesDialogBase();
};
diff --git a/LiteEditor/findinfiles_dlg_formbuilder_bitmaps.cpp b/LiteEditor/findinfiles_dlg_formbuilder_bitmaps.cpp
index 9168b5aa..83350a2a 100644
--- a/LiteEditor/findinfiles_dlg_formbuilder_bitmaps.cpp
+++ b/LiteEditor/findinfiles_dlg_formbuilder_bitmaps.cpp
@@ -123,34 +123,33 @@ static unsigned char xml_res_file_2[] = {
67,59,2,79,44,55,200,199,73,128,140,231,7,217,152,7,0,225,35,224,32,124,
4,92,248,2,207,199,24,197,87,247,22,178,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_3 = 507;
+static size_t xml_res_size_3 = 489;
static unsigned char xml_res_file_3[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,108,101,
-97,114,45,97,108,108,34,62,102,105,110,100,105,110,102,105,108,101,115,
-95,100,108,103,95,102,111,114,109,98,117,105,108,100,101,114,95,98,105,
-116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,99,108,
-101,97,114,45,97,108,108,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,100,101,108,101,116,101,45,
-108,105,110,101,34,62,102,105,110,100,105,110,102,105,108,101,115,95,100,
-108,103,95,102,111,114,109,98,117,105,108,100,101,114,95,98,105,116,109,
-97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,100,101,108,
-101,116,101,45,108,105,110,101,46,112,110,103,60,47,111,98,106,101,99,116,
-62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
-66,105,116,109,97,112,34,32,110,97,109,101,61,34,102,105,110,100,45,105,
-110,45,102,105,108,101,115,34,62,102,105,110,100,105,110,102,105,108,101,
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,99,108,101,97,114,45,97,108,108,34,62,102,105,110,100,105,110,102,105,
+108,101,115,95,100,108,103,95,102,111,114,109,98,117,105,108,100,101,114,
+95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,
+95,99,108,101,97,114,45,97,108,108,46,112,110,103,60,47,111,98,106,101,
+99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
+119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,100,101,108,101,
+116,101,45,108,105,110,101,34,62,102,105,110,100,105,110,102,105,108,101,
115,95,100,108,103,95,102,111,114,109,98,117,105,108,100,101,114,95,98,
-105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,
-116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,
-95,115,101,97,114,99,104,95,102,105,110,100,45,105,110,45,102,105,108,101,
-115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,
-111,117,114,99,101,62,10};
+105,116,109,97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,
+100,101,108,101,116,101,45,108,105,110,101,46,112,110,103,60,47,111,98,
+106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
+61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,102,105,
+110,100,45,105,110,45,102,105,108,101,115,34,62,102,105,110,100,105,110,
+102,105,108,101,115,95,100,108,103,95,102,111,114,109,98,117,105,108,100,
+101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,
+101,108,105,116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,114,
+115,95,49,54,95,115,101,97,114,99,104,95,102,105,110,100,45,105,110,45,
+102,105,108,101,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,
+47,114,101,115,111,117,114,99,101,62,10};
void wxCABC4InitBitmapResources()
{
@@ -165,9 +164,9 @@ void wxCABC4InitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._icons_clear-all.png"), xml_res_file_0, xml_res_size_0, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._icons_delete-line.png"), xml_res_file_1, xml_res_size_1, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._codelite-icons_toolbars_16_search_find-in-files.png"), xml_res_file_2, xml_res_size_2, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$_home_eran_devl_codelite_formbuilder_findinfiles_dlg_formbuilder_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$_home_eran_devl_codelite_formbuilder_findinfiles_dlg_formbuilder_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._icons_clear-all.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._icons_delete-line.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$.._codelite-icons_toolbars_16_search_find-in-files.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_findinfiles_dlg_formbuilder_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/findinfiles_dlg_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_findinfiles_dlg_formbuilder_bitmaps.xrc"));
}
diff --git a/LiteEditor/findinfilesdlg.cpp b/LiteEditor/findinfilesdlg.cpp
index 43f89743..ef49c460 100644
--- a/LiteEditor/findinfilesdlg.cpp
+++ b/LiteEditor/findinfilesdlg.cpp
@@ -116,9 +116,10 @@ FindInFilesDialog::FindInFilesDialog(wxWindow* parent, const wxString& dataName)
DoSetFileMask();
GetSizer()->Fit(this);
-
- WindowAttrManager::Load(this, "FindInFilesDialog", NULL);
- Centre();
+ CentreOnParent();
+
+ SetName("FindInFilesDialog");
+ WindowAttrManager::Load(this);
}
FindInFilesDialog::~FindInFilesDialog()
@@ -149,7 +150,7 @@ FindInFilesDialog::~FindInFilesDialog()
event.SetString(m_data.GetSelectedMask());
EventNotifier::Get()->AddPendingEvent(event);
- WindowAttrManager::Save(this, "FindInFilesDialog", NULL);
+
}
void FindInFilesDialog::SetRootDir(const wxString& rootDir) { m_dirPicker->SetPath(rootDir); }
@@ -202,7 +203,7 @@ void FindInFilesDialog::DoSearchReplace()
data.SetOwner(clMainFrame::Get()->GetOutputPane()->GetReplaceResultsTab());
DoSaveOpenFiles();
SearchThreadST::Get()->PerformSearch(data);
- Close();
+ EndModal(wxID_OK);
}
void FindInFilesDialog::DoSearch()
@@ -213,7 +214,7 @@ void FindInFilesDialog::DoSearch()
// check to see if we require to save the files
DoSaveOpenFiles();
SearchThreadST::Get()->PerformSearch(data);
- Close();
+ EndModal(wxID_OK);
}
SearchData FindInFilesDialog::DoGetSearchData()
@@ -313,30 +314,26 @@ void FindInFilesDialog::OnRemovePath(wxCommandEvent& event)
void FindInFilesDialog::OnClearPaths(wxCommandEvent& event) { m_listPaths->Clear(); }
-bool FindInFilesDialog::Show()
+int FindInFilesDialog::ShowDialog()
{
- bool res = IsShown() || wxFrame::Show();
- if(res) {
-
- // update the combobox
- m_findString->Clear();
- m_findString->Append(m_data.GetFindStringArr());
- DoSetFileMask();
- m_findString->SetValue(m_data.GetFindString());
-
- LEditor* editor = clMainFrame::Get()->GetMainBook()->GetActiveEditor();
- if(editor) {
- // if we have an open editor, and a selected text, make this text the search string
- wxString selText = editor->GetSelectedText();
- if(!selText.IsEmpty()) {
- m_findString->SetValue(selText);
- }
- }
+ // update the combobox
+ m_findString->Clear();
+ m_findString->Append(m_data.GetFindStringArr());
+ DoSetFileMask();
+ m_findString->SetValue(m_data.GetFindString());
- m_findString->SetSelection(-1, -1); // select all
- m_findString->CallAfter(&wxTextCtrl::SetFocus);
+ LEditor* editor = clMainFrame::Get()->GetMainBook()->GetActiveEditor();
+ if(editor) {
+ // if we have an open editor, and a selected text, make this text the search string
+ wxString selText = editor->GetSelectedText();
+ if(!selText.IsEmpty()) {
+ m_findString->SetValue(selText);
+ }
}
- return res;
+
+ m_findString->SetSelection(-1, -1); // select all
+ m_findString->CallAfter(&wxTextCtrl::SetFocus);
+ return wxDialog::ShowModal();
}
void FindInFilesDialog::DoSaveSearchPaths()
@@ -383,7 +380,7 @@ void FindInFilesDialog::OnReplace(wxCommandEvent& event)
void FindInFilesDialog::OnStop(wxCommandEvent& event) { SearchThreadST::Get()->StopSearch(); }
-void FindInFilesDialog::OnButtonClose(wxCommandEvent& event) { Destroy(); }
+void FindInFilesDialog::OnButtonClose(wxCommandEvent& event) { EndModal(wxID_CANCEL); }
size_t FindInFilesDialog::GetSearchFlags()
{
diff --git a/LiteEditor/findinfilesdlg.h b/LiteEditor/findinfilesdlg.h
index bb972bb9..2bdde09c 100644
--- a/LiteEditor/findinfilesdlg.h
+++ b/LiteEditor/findinfilesdlg.h
@@ -67,7 +67,7 @@ public:
FindReplaceData& GetData() { return m_data; }
const FindReplaceData& GetData() const { return m_data; }
- virtual bool Show();
+ int ShowDialog();
};
#endif // FIND_IN_FILES_DLG_H
diff --git a/LiteEditor/findreplacedlg.cpp b/LiteEditor/findreplacedlg.cpp
index c0a1359a..a3d9205e 100644
--- a/LiteEditor/findreplacedlg.cpp
+++ b/LiteEditor/findreplacedlg.cpp
@@ -41,22 +41,23 @@ DEFINE_EVENT_TYPE(wxEVT_FRD_BOOKMARKALL)
DEFINE_EVENT_TYPE(wxEVT_FRD_CLEARBOOKMARKS)
BEGIN_EVENT_TABLE(FindReplaceDialog, wxDialog)
- EVT_CLOSE(FindReplaceDialog::OnClose)
- EVT_CHAR_HOOK(FindReplaceDialog::OnKeyDown)
- EVT_COMMAND(wxID_ANY, wxEVT_FRD_FIND_NEXT, FindReplaceDialog::OnFindEvent)
+EVT_CLOSE(FindReplaceDialog::OnClose)
+EVT_CHAR_HOOK(FindReplaceDialog::OnKeyDown)
+EVT_COMMAND(wxID_ANY, wxEVT_FRD_FIND_NEXT, FindReplaceDialog::OnFindEvent)
END_EVENT_TABLE()
-#define VALIDATE_FINDWHAT(){\
- if(m_findString->GetValue().IsEmpty()){\
- wxMessageBox(_("'Find What' is empty"));\
- return;\
- }\
- }
+#define VALIDATE_FINDWHAT() \
+ { \
+ if(m_findString->GetValue().IsEmpty()) { \
+ wxMessageBox(_("'Find What' is empty")); \
+ return; \
+ } \
+ }
FindReplaceDialog::FindReplaceDialog()
- : wxDialog()
- , m_owner(NULL)
- , m_kind(FIND_DLG)
+ : wxDialog()
+ , m_owner(NULL)
+ , m_kind(FIND_DLG)
{
}
@@ -68,7 +69,7 @@ FindReplaceDialog::FindReplaceDialog(wxWindow* parent,
const wxSize& size,
long style)
{
- Create(parent, data, id, caption, pos, size, style | wxWANTS_CHARS);
+ Create(parent, data, id, caption, pos, size, style | wxWANTS_CHARS);
}
bool FindReplaceDialog::Create(wxWindow* parent,
@@ -79,21 +80,21 @@ bool FindReplaceDialog::Create(wxWindow* parent,
const wxSize& size,
long style)
{
- m_kind = FIND_DLG;
- if ( !wxDialog::Create(parent, id, caption, pos, size, style) )
- return false;
+ m_kind = FIND_DLG;
+ if(!wxDialog::Create(parent, id, caption, pos, size, style))
+ return false;
- m_data = data;
- m_owner = NULL;
+ m_data = data;
+ m_owner = NULL;
- CreateGUIControls();
- ConnectEvents();
+ CreateGUIControls();
+ ConnectEvents();
- GetSizer()->Fit(this);
- Centre();
+ GetSizer()->Fit(this);
+ Centre();
- m_findString->SetFocus();
- return true;
+ m_findString->SetFocus();
+ return true;
}
FindReplaceDialog::~FindReplaceDialog()
@@ -102,365 +103,381 @@ FindReplaceDialog::~FindReplaceDialog()
void FindReplaceDialog::CreateGUIControls()
{
- wxBoxSizer *hMainSzier = new wxBoxSizer(wxHORIZONTAL);
- wxBoxSizer *btnSizer = new wxBoxSizer(wxVERTICAL);
- gbSizer = new wxGridBagSizer();
- SetSizer(hMainSzier);
+ wxBoxSizer* hMainSzier = new wxBoxSizer(wxHORIZONTAL);
+ wxBoxSizer* btnSizer = new wxBoxSizer(wxVERTICAL);
+ gbSizer = new wxGridBagSizer();
+ SetSizer(hMainSzier);
- hMainSzier->Add(gbSizer, 1, wxEXPAND | wxALL, 5);
- hMainSzier->Add(btnSizer, 0, wxALL, 5);
+ hMainSzier->Add(gbSizer, 1, wxEXPAND | wxALL, 5);
+ hMainSzier->Add(btnSizer, 0, wxALL, 5);
- wxStaticText* itemStaticText;
- itemStaticText = new wxStaticText( this, wxID_STATIC, wxT("Find What:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- gbSizer->Add(itemStaticText, wxGBPosition(0, 0), wxDefaultSpan, wxALL, 5 );
+ wxStaticText* itemStaticText;
+ itemStaticText =
+ new wxStaticText(this, wxID_STATIC, wxT("Find What:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+ gbSizer->Add(itemStaticText, wxGBPosition(0, 0), wxDefaultSpan, wxALL, 5);
- m_findString = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
- gbSizer->Add(m_findString, wxGBPosition(0, 1), wxDefaultSpan, wxALL | wxEXPAND, 5 );
+ m_findString = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
+ gbSizer->Add(m_findString, wxGBPosition(0, 1), wxDefaultSpan, wxALL | wxEXPAND, 5);
- m_replaceWithLabel = new wxStaticText( this, wxID_STATIC, wxT("Replace With:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- gbSizer->Add(m_replaceWithLabel, wxGBPosition(1, 0), wxDefaultSpan, wxALL, 5 );
+ m_replaceWithLabel =
+ new wxStaticText(this, wxID_STATIC, wxT("Replace With:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+ gbSizer->Add(m_replaceWithLabel, wxGBPosition(1, 0), wxDefaultSpan, wxALL, 5);
- m_replaceString = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
- gbSizer->Add(m_replaceString, wxGBPosition(1, 1), wxDefaultSpan, wxALL | wxEXPAND, 5 );
+ m_replaceString = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
+ gbSizer->Add(m_replaceString, wxGBPosition(1, 1), wxDefaultSpan, wxALL | wxEXPAND, 5);
- sz = new wxStaticBoxSizer(wxVERTICAL, this, wxT("Options"));
- gbSizer->Add(sz, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5 );
+ sz = new wxStaticBoxSizer(wxVERTICAL, this, wxT("Options"));
+ gbSizer->Add(sz, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
- gbSizer->AddGrowableCol(1);
+ gbSizer->AddGrowableCol(1);
- m_matchCase = new wxCheckBox(this, wxID_ANY, wxT("&Match case"));
- sz->Add(m_matchCase, 1, wxALL | wxEXPAND, 5 );
+ m_matchCase = new wxCheckBox(this, wxID_ANY, wxT("&Match case"));
+ sz->Add(m_matchCase, 1, wxALL | wxEXPAND, 5);
- m_matchWholeWord = new wxCheckBox(this, wxID_ANY, wxT("Match &whole word"));
- sz->Add(m_matchWholeWord, 1, wxALL | wxEXPAND, 5 );
+ m_matchWholeWord = new wxCheckBox(this, wxID_ANY, wxT("Match &whole word"));
+ sz->Add(m_matchWholeWord, 1, wxALL | wxEXPAND, 5);
- m_regualrExpression = new wxCheckBox(this, wxID_ANY, wxT("Regular &expression"));
- sz->Add(m_regualrExpression, 1, wxALL | wxEXPAND, 5 );
+ m_regualrExpression = new wxCheckBox(this, wxID_ANY, wxT("Regular &expression"));
+ sz->Add(m_regualrExpression, 1, wxALL | wxEXPAND, 5);
- m_searchUp = new wxCheckBox(this, wxID_ANY, wxT("Search &up"));
- sz->Add(m_searchUp, 1, wxALL | wxEXPAND, 5 );
+ m_searchUp = new wxCheckBox(this, wxID_ANY, wxT("Search &up"));
+ sz->Add(m_searchUp, 1, wxALL | wxEXPAND, 5);
- m_selectionOnly = new wxCheckBox(this, wxID_ANY, wxT("Search / Replace in selec&ted text"));
- sz->Add(m_selectionOnly, 1, wxALL | wxEXPAND, 5 );
+ m_selectionOnly = new wxCheckBox(this, wxID_ANY, wxT("Search / Replace in selec&ted text"));
+ sz->Add(m_selectionOnly, 1, wxALL | wxEXPAND, 5);
- // Add the buttons
+ // Add the buttons
- m_find = new wxButton(this, wxID_ANY, wxT("&Find Next"));
- btnSizer->Add(m_find, 1, wxALL | wxEXPAND, 5 );
+ m_find = new wxButton(this, wxID_ANY, wxT("&Find Next"));
+ btnSizer->Add(m_find, 1, wxALL | wxEXPAND, 5);
- m_replace = new wxButton(this, wxID_ANY, wxT("&Replace"));
- btnSizer->Add(m_replace, 1, wxALL | wxEXPAND, 5 );
+ m_replace = new wxButton(this, wxID_ANY, wxT("&Replace"));
+ btnSizer->Add(m_replace, 1, wxALL | wxEXPAND, 5);
- m_replaceAll = new wxButton(this, wxID_ANY, wxT("Replace &All"));
- btnSizer->Add(m_replaceAll, 1, wxALL | wxEXPAND, 5 );
+ m_replaceAll = new wxButton(this, wxID_ANY, wxT("Replace &All"));
+ btnSizer->Add(m_replaceAll, 1, wxALL | wxEXPAND, 5);
- m_markAll = new wxButton(this, wxID_ANY, wxT("&Bookmark All"));
- btnSizer->Add(m_markAll, 1, wxALL | wxEXPAND, 5 );
+ m_markAll = new wxButton(this, wxID_ANY, wxT("&Bookmark All"));
+ btnSizer->Add(m_markAll, 1, wxALL | wxEXPAND, 5);
- m_clearBookmarks = new wxButton(this, wxID_ANY, wxT("&Clear Bookmarks"));
- btnSizer->Add(m_clearBookmarks, 1, wxALL | wxEXPAND, 5 );
+ m_clearBookmarks = new wxButton(this, wxID_ANY, wxT("&Clear Bookmarks"));
+ btnSizer->Add(m_clearBookmarks, 1, wxALL | wxEXPAND, 5);
- m_cancel = new wxButton(this, wxID_ANY, wxT("Close"));
- btnSizer->Add(m_cancel, 1, wxALL | wxEXPAND, 5 );
+ m_cancel = new wxButton(this, wxID_ANY, wxT("Close"));
+ btnSizer->Add(m_cancel, 1, wxALL | wxEXPAND, 5);
- m_replacementsMsg = new wxStaticText(this, wxID_ANY, wxEmptyString);
- btnSizer->Add(m_replacementsMsg, 1, wxALL | wxEXPAND, 5 );
- //gbSizer->Add(m_replacementsMsg, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
- SetReplacementsMessage(frd_dontshowzeros);
+ m_replacementsMsg = new wxStaticText(this, wxID_ANY, wxEmptyString);
+ btnSizer->Add(m_replacementsMsg, 1, wxALL | wxEXPAND, 5);
+ // gbSizer->Add(m_replacementsMsg, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
+ SetReplacementsMessage(frd_dontshowzeros);
- //set values
- SetFindReplaceData(m_data, true);
+ // set values
+ SetFindReplaceData(m_data, true);
}
-void FindReplaceDialog::OnFindEvent(wxCommandEvent &event)
+void FindReplaceDialog::OnFindEvent(wxCommandEvent& event)
{
- SetFindReplaceData(GetData(), false);
+ SetFindReplaceData(GetData(), false);
}
-void FindReplaceDialog::SetFindReplaceData(FindReplaceData &data, bool focus)
+void FindReplaceDialog::SetFindReplaceData(FindReplaceData& data, bool focus)
{
- m_findString->Freeze();
+ m_findString->Freeze();
- m_findString->Clear();
- m_findString->Append(data.GetFindStringArr());
- m_findString->SetValue(data.GetFindString());
+ m_findString->Clear();
+ m_findString->Append(data.GetFindStringArr());
+ m_findString->SetValue(data.GetFindString());
- m_findString->Thaw();
+ m_findString->Thaw();
- m_replaceString->Freeze();
+ m_replaceString->Freeze();
- m_replaceString->Clear();
- m_replaceString->Append(data.GetReplaceStringArr());
- m_replaceString->SetValue(data.GetReplaceString());
+ m_replaceString->Clear();
+ m_replaceString->Append(data.GetReplaceStringArr());
+ m_replaceString->SetValue(data.GetReplaceString());
- m_replaceString->Thaw();
+ m_replaceString->Thaw();
- m_matchCase->SetValue(data.GetFlags() & wxFRD_MATCHCASE ? true : false);
- m_matchWholeWord->SetValue(data.GetFlags() & wxFRD_MATCHWHOLEWORD ? true : false);
- m_regualrExpression->SetValue(data.GetFlags() & wxFRD_REGULAREXPRESSION ? true : false);
- m_searchUp->SetValue(data.GetFlags() & wxFRD_SEARCHUP ? true : false);
- m_selectionOnly->SetValue(data.GetFlags() & wxFRD_SELECTIONONLY ? true : false);
+ m_matchCase->SetValue(data.GetFlags() & wxFRD_MATCHCASE ? true : false);
+ m_matchWholeWord->SetValue(data.GetFlags() & wxFRD_MATCHWHOLEWORD ? true : false);
+ m_regualrExpression->SetValue(data.GetFlags() & wxFRD_REGULAREXPRESSION ? true : false);
+ m_searchUp->SetValue(data.GetFlags() & wxFRD_SEARCHUP ? true : false);
+ m_selectionOnly->SetValue(data.GetFlags() & wxFRD_SELECTIONONLY ? true : false);
- //set the focus to the find string text control
- if(focus) {
- m_findString->SetFocus();
- m_findString->SelectAll();
- }
+ // set the focus to the find string text control
+ if(focus) {
+ m_findString->SetFocus();
+ m_findString->SelectAll();
+ }
}
-void FindReplaceDialog::OnClick(wxCommandEvent &event)
+void FindReplaceDialog::OnClick(wxCommandEvent& event)
{
- wxObject *btnClicked = event.GetEventObject();
- size_t flags = m_data.GetFlags();
- m_data.SetFindString( m_findString->GetValue() );
- m_data.SetReplaceString( m_replaceString->GetValue() );
-
- // disable the 'Find/Replace' buttons when the 'Selection only' is enabled
- if ( m_selectionOnly->IsChecked() ) {
- m_find->Enable(false);
- m_replace->Enable(false);
- } else {
- m_find->Enable(true);
- m_replace->Enable(true);
- }
-
- if (btnClicked == m_find) {
- VALIDATE_FINDWHAT();
- SendEvent(wxEVT_FRD_FIND_NEXT);
- } else if (btnClicked == m_replace) {
- VALIDATE_FINDWHAT();
- SendEvent(wxEVT_FRD_REPLACE);
- } else if (btnClicked == m_replaceAll) {
- VALIDATE_FINDWHAT();
- SendEvent(wxEVT_FRD_REPLACEALL);
- } else if (btnClicked == m_markAll) {
- VALIDATE_FINDWHAT();
- SendEvent(wxEVT_FRD_BOOKMARKALL);
- } else if (btnClicked == m_clearBookmarks) {
- SendEvent(wxEVT_FRD_CLEARBOOKMARKS);
- } else if (btnClicked == m_cancel) {
- // Fire a close event
- SendEvent(wxEVT_FRD_CLOSE);
- // Hide the dialog
- Hide();
- // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
- flags &= ~(wxFRD_SELECTIONONLY);
- } else if (btnClicked == m_matchCase) {
- if (m_matchCase->IsChecked()) {
- flags |= wxFRD_MATCHCASE;
- } else {
- flags &= ~(wxFRD_MATCHCASE);
- }
- } else if (btnClicked == m_matchWholeWord) {
- if (m_matchWholeWord->IsChecked()) {
- flags |= wxFRD_MATCHWHOLEWORD;
- } else {
- flags &= ~(wxFRD_MATCHWHOLEWORD);
- }
- } else if (btnClicked == m_regualrExpression) {
- if (m_regualrExpression->IsChecked()) {
- flags |= wxFRD_REGULAREXPRESSION;
- } else {
- flags &= ~(wxFRD_REGULAREXPRESSION);
- }
- } else if (btnClicked == m_searchUp) {
- if (m_searchUp->IsChecked()) {
- flags |= wxFRD_SEARCHUP;
- } else {
- flags &= ~(wxFRD_SEARCHUP);
- }
- } else if (btnClicked == m_selectionOnly) {
- if (m_selectionOnly->IsChecked()) {
- flags |= wxFRD_SELECTIONONLY;
- } else {
- flags &= ~(wxFRD_SELECTIONONLY);
- }
- }
-
- // Set the updated flags, unless it was ReplaceAll which does this itself
- if (btnClicked != m_replaceAll) {
- m_data.SetFlags(flags);
- }
-
- // update the data of the find/replace dialog, in particular,
- // update the history of the Find What / replace with controls
+ wxObject* btnClicked = event.GetEventObject();
+ size_t flags = m_data.GetFlags();
+ m_data.SetFindString(m_findString->GetValue());
+ m_data.SetReplaceString(m_replaceString->GetValue());
+
+ // disable the 'Find/Replace' buttons when the 'Selection only' is enabled
+ if(m_selectionOnly->IsChecked()) {
+ m_find->Enable(false);
+ m_replace->Enable(false);
+ } else {
+ m_find->Enable(true);
+ m_replace->Enable(true);
+ }
+
+ if(btnClicked == m_find) {
+ VALIDATE_FINDWHAT();
+ SendEvent(wxEVT_FRD_FIND_NEXT);
+ } else if(btnClicked == m_replace) {
+ VALIDATE_FINDWHAT();
+ SendEvent(wxEVT_FRD_REPLACE);
+ } else if(btnClicked == m_replaceAll) {
+ VALIDATE_FINDWHAT();
+ SendEvent(wxEVT_FRD_REPLACEALL);
+ } else if(btnClicked == m_markAll) {
+ VALIDATE_FINDWHAT();
+ SendEvent(wxEVT_FRD_BOOKMARKALL);
+ } else if(btnClicked == m_clearBookmarks) {
+ SendEvent(wxEVT_FRD_CLEARBOOKMARKS);
+ } else if(btnClicked == m_cancel) {
+ // Fire a close event
+ SendEvent(wxEVT_FRD_CLOSE);
+ // Hide the dialog
+ Hide();
+ // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
+ flags &= ~(wxFRD_SELECTIONONLY);
+ } else if(btnClicked == m_matchCase) {
+ if(m_matchCase->IsChecked()) {
+ flags |= wxFRD_MATCHCASE;
+ } else {
+ flags &= ~(wxFRD_MATCHCASE);
+ }
+ } else if(btnClicked == m_matchWholeWord) {
+ if(m_matchWholeWord->IsChecked()) {
+ flags |= wxFRD_MATCHWHOLEWORD;
+ } else {
+ flags &= ~(wxFRD_MATCHWHOLEWORD);
+ }
+ } else if(btnClicked == m_regualrExpression) {
+ if(m_regualrExpression->IsChecked()) {
+ flags |= wxFRD_REGULAREXPRESSION;
+ } else {
+ flags &= ~(wxFRD_REGULAREXPRESSION);
+ }
+ } else if(btnClicked == m_searchUp) {
+ if(m_searchUp->IsChecked()) {
+ flags |= wxFRD_SEARCHUP;
+ } else {
+ flags &= ~(wxFRD_SEARCHUP);
+ }
+ } else if(btnClicked == m_selectionOnly) {
+ if(m_selectionOnly->IsChecked()) {
+ flags |= wxFRD_SELECTIONONLY;
+ } else {
+ flags &= ~(wxFRD_SELECTIONONLY);
+ }
+ }
+
+ // Set the updated flags, unless it was ReplaceAll which does this itself
+ if(btnClicked != m_replaceAll) {
+ m_data.SetFlags(flags);
+ }
+
+// update the data of the find/replace dialog, in particular,
+// update the history of the Find What / replace with controls
#if defined(__WXGTK__) && wxVERSION_NUMBER >= 2900
- // But if it's a findNext or a Replace, do it by posting an event,
- // otherwise strange duplications happen (because scintilla steals the primary selection?)
- wxCommandEvent e(wxEVT_FRD_FIND_NEXT); // Arbitrary choice of event-type
- wxPostEvent(this, e);
+ // But if it's a findNext or a Replace, do it by posting an event,
+ // otherwise strange duplications happen (because scintilla steals the primary selection?)
+ wxCommandEvent e(wxEVT_FRD_FIND_NEXT); // Arbitrary choice of event-type
+ wxPostEvent(this, e);
#else
- SetFindReplaceData(m_data, false);
+ SetFindReplaceData(m_data, false);
#endif
}
-void FindReplaceDialog::OnClose(wxCloseEvent &event)
+void FindReplaceDialog::OnClose(wxCloseEvent& event)
{
- wxUnusedVar(event);
+ wxUnusedVar(event);
- // Fire a close event
- SendEvent(wxEVT_FRD_CLOSE);
- Hide();
+ // Fire a close event
+ SendEvent(wxEVT_FRD_CLOSE);
+ Hide();
- // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
- size_t flags = m_data.GetFlags();
- flags &= ~(wxFRD_SELECTIONONLY);
- m_data.SetFlags( flags );
+ // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
+ size_t flags = m_data.GetFlags();
+ flags &= ~(wxFRD_SELECTIONONLY);
+ m_data.SetFlags(flags);
}
-void FindReplaceDialog::OnKeyDown(wxKeyEvent &event)
+void FindReplaceDialog::OnKeyDown(wxKeyEvent& event)
{
- if (event.GetKeyCode() == WXK_RETURN || event.GetKeyCode() == WXK_NUMPAD_ENTER) {
- // start the search
- size_t flags = m_data.GetFlags();
- m_data.SetFindString( m_findString->GetValue() );
- m_data.SetReplaceString( m_replaceString->GetValue() );
- SendEvent(wxEVT_FRD_FIND_NEXT);
- // Set the updated flags
- m_data.SetFlags(flags);
- event.Skip(false);
- return;
- } // if(event.GetKeyCode() == WXK_RETURN)
-
- if (event.GetKeyCode() == WXK_ESCAPE) {
- //hide the find/replace dialog
- if (IsShown()) {
- Hide();
- // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
- ResetSelectionOnlyFlag();
- // For similar reasons, ensure the Find and Replace buttons are enabled
- m_find->Enable(true);
- m_replace->Enable(true);
- event.Skip(false);
- return;
- }
- }
- event.Skip();
+ if(event.GetKeyCode() == WXK_RETURN || event.GetKeyCode() == WXK_NUMPAD_ENTER) {
+ // start the search
+ size_t flags = m_data.GetFlags();
+ m_data.SetFindString(m_findString->GetValue());
+ m_data.SetReplaceString(m_replaceString->GetValue());
+ SendEvent(wxEVT_FRD_FIND_NEXT);
+ // Set the updated flags
+ m_data.SetFlags(flags);
+ event.Skip(false);
+ return;
+ } // if(event.GetKeyCode() == WXK_RETURN)
+
+ if(event.GetKeyCode() == WXK_ESCAPE) {
+ // hide the find/replace dialog
+ if(IsShown()) {
+ Hide();
+ // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
+ ResetSelectionOnlyFlag();
+ // For similar reasons, ensure the Find and Replace buttons are enabled
+ m_find->Enable(true);
+ m_replace->Enable(true);
+ event.Skip(false);
+ return;
+ }
+ }
+ event.Skip();
}
void FindReplaceDialog::ConnectEvents()
{
- // Connect buttons
- m_find->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_replace->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_replaceAll->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_markAll->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_cancel->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_clearBookmarks->Connect(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
-
- // connect options
- m_matchCase->Connect(wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_matchWholeWord->Connect(wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_regualrExpression->Connect(wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_searchUp->Connect(wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_selectionOnly->Connect(wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
- m_find->Connect(wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FindReplaceDialog::OnSelectionOnlyUI), NULL, this);
- m_replace->Connect(wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FindReplaceDialog::OnSelectionOnlyUI), NULL, this);
+ // Connect buttons
+ m_find->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_replace->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_replaceAll->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_markAll->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_cancel->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_clearBookmarks->Connect(
+ wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+
+ // connect options
+ m_matchCase->Connect(
+ wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_matchWholeWord->Connect(
+ wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_regualrExpression->Connect(
+ wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_searchUp->Connect(
+ wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_selectionOnly->Connect(
+ wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FindReplaceDialog::OnClick), NULL, this);
+ m_find->Connect(
+ wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FindReplaceDialog::OnSelectionOnlyUI), NULL, this);
+ m_replace->Connect(
+ wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FindReplaceDialog::OnSelectionOnlyUI), NULL, this);
}
void FindReplaceDialog::SendEvent(wxEventType type)
{
- wxCommandEvent event(type, GetId());
- event.SetEventObject(this);
-
- if ( GetEventOwner() == NULL ) {
- GetEventHandler()->ProcessEvent( event );
- } else {
- // If an event owner was provided, pass it the event
- GetEventOwner()->ProcessEvent( event );
- }
+ wxCommandEvent event(type, GetId());
+ event.SetEventObject(this);
+
+ if(GetEventOwner() == NULL) {
+ GetEventHandler()->ProcessEvent(event);
+ } else {
+ // If an event owner was provided, pass it the event
+ GetEventOwner()->ProcessEvent(event);
+ }
}
bool FindReplaceDialog::Show(int kind)
{
- if ( IsShown() ) {
- if (m_kind == kind) {
- return true;
- }
- //change the dialog
- ShowReplaceControls(true);
- return true;
- }
-
- if(kind == FIND_DLG) {
- ShowReplaceControls(false);
- } else {
- ShowReplaceControls(true);
- }
-
- // call Show() here
- bool res = wxDialog::Show();
-
- // and now call the focus methods
- SetFindReplaceData(m_data, true);
- m_findString->SetSelection(-1, -1); // select all
- m_findString->SetFocus();
- return res;
+ if(IsShown()) {
+ if(m_kind == kind) {
+ return true;
+ }
+ // change the dialog
+ ShowReplaceControls(true);
+ return true;
+ }
+
+ if(kind == FIND_DLG) {
+ ShowReplaceControls(false);
+ } else {
+ ShowReplaceControls(true);
+ }
+
+ // call Show() here
+ bool res = wxDialog::Show();
+
+ // and now call the focus methods
+ SetFindReplaceData(m_data, true);
+ m_findString->SetSelection(-1, -1); // select all
+ m_findString->SetFocus();
+ return res;
}
void FindReplaceDialog::ShowReplaceControls(bool show)
{
- //detach the find string & its label from the gridbag sizer
- bool isFindDlg(false);
- isFindDlg = gbSizer->GetItemPosition(sz) == wxGBPosition(1, 0);
- if (show == false) {
- //is this dialog is already a 'Find' dialog?
- if (isFindDlg) {
- return;
- }
-
- //remove 'Replace' dialog items
- gbSizer->Detach(m_replaceWithLabel);
- gbSizer->Detach(m_replaceString);
-
- //reposition the options static sizer
- gbSizer->Detach(sz);
- gbSizer->Add(sz, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5 );
-
- } else {
- // is this dialog is already a 'Replace' dialog?
- if (!isFindDlg) {
- return;
- }
-
- //remmove the 'Options' item frmo pos 1,0
- gbSizer->Detach(sz);
- gbSizer->Add(m_replaceWithLabel, wxGBPosition(1, 0), wxDefaultSpan, wxALL | wxEXPAND, 5 );
- gbSizer->Add(m_replaceString, wxGBPosition(1, 1), wxDefaultSpan, wxALL | wxEXPAND, 5 );
- gbSizer->Add(sz, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5 );
- }
-
- wxString label = show ? wxT("Replace") : wxT("Find");
- m_replace->Show(show);
- m_replaceAll->Show(show);
- m_replaceString->Show(show);
- m_replacementsMsg->Show(show);
- m_replaceWithLabel->Show(show);
- m_selectionOnly->Show(show);
-
- SetLabel(label);
- this->Fit();
- GetSizer()->Layout();
+ // detach the find string & its label from the gridbag sizer
+ bool isFindDlg(false);
+ isFindDlg = gbSizer->GetItemPosition(sz) == wxGBPosition(1, 0);
+ if(show == false) {
+ // is this dialog is already a 'Find' dialog?
+ if(isFindDlg) {
+ return;
+ }
+
+ // remove 'Replace' dialog items
+ gbSizer->Detach(m_replaceWithLabel);
+ gbSizer->Detach(m_replaceString);
+
+ // reposition the options static sizer
+ gbSizer->Detach(sz);
+ gbSizer->Add(sz, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
+
+ } else {
+ // is this dialog is already a 'Replace' dialog?
+ if(!isFindDlg) {
+ return;
+ }
+
+ // remmove the 'Options' item frmo pos 1,0
+ gbSizer->Detach(sz);
+ gbSizer->Add(m_replaceWithLabel, wxGBPosition(1, 0), wxDefaultSpan, wxALL | wxEXPAND, 5);
+ gbSizer->Add(m_replaceString, wxGBPosition(1, 1), wxDefaultSpan, wxALL | wxEXPAND, 5);
+ gbSizer->Add(sz, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
+ }
+
+ wxString label = show ? wxT("Replace") : wxT("Find");
+ m_replace->Show(show);
+ m_replaceAll->Show(show);
+ m_replaceString->Show(show);
+ m_replacementsMsg->Show(show);
+ m_replaceWithLabel->Show(show);
+ m_selectionOnly->Show(show);
+
+ SetLabel(label);
+ this->Fit();
+ GetSizer()->Layout();
}
-void FindReplaceDialog::SetReplacementsMessage( enum frd_showzero showzero /*= frd_showzeros*/ )
+void FindReplaceDialog::SetReplacementsMessage(enum frd_showzero showzero /*= frd_showzeros*/)
{
- if ( showzero==frd_dontshowzeros && GetReplacedCount()==0 ) { // Don't show a count of 0 before any replacement has started
- m_replacementsMsg->SetLabel(wxString::Format(wxT("Replacements:")));
- } else {
- m_replacementsMsg->SetLabel(wxString::Format(wxT("Replacements: %u"), GetReplacedCount() ));
- }
+ if(showzero == frd_dontshowzeros &&
+ GetReplacedCount() == 0) { // Don't show a count of 0 before any replacement has started
+ m_replacementsMsg->SetLabel(wxString::Format(wxT("Replacements:")));
+ } else {
+ m_replacementsMsg->SetLabel(wxString::Format(wxT("Replacements: %u"), GetReplacedCount()));
+ }
}
void FindReplaceDialog::ResetSelectionOnlyFlag()
{
- size_t flags = GetData().GetFlags();
- GetData().SetFlags( flags & ~(wxFRD_SELECTIONONLY) );
+ size_t flags = GetData().GetFlags();
+ GetData().SetFlags(flags & ~(wxFRD_SELECTIONONLY));
}
void FindReplaceDialog::OnSelectionOnlyUI(wxUpdateUIEvent& event)
{
- event.Enable(m_selectionOnly->IsChecked() == false);
+ event.Enable(m_selectionOnly->IsChecked() == false);
}
//---------------------------------------------------------------
@@ -470,117 +487,117 @@ void FindReplaceDialog::OnSelectionOnlyUI(wxUpdateUIEvent& event)
void FindReplaceData::SetReplaceString(const wxString& str)
{
- int where = m_replaceString.Index(str);
- if (where != wxNOT_FOUND) {
- m_replaceString.RemoveAt(where);
- }
- m_replaceString.Insert(str, 0);
+ int where = m_replaceString.Index(str);
+ if(where != wxNOT_FOUND) {
+ m_replaceString.RemoveAt(where);
+ }
+ m_replaceString.Insert(str, 0);
- long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
- TruncateArray(m_replaceString, (size_t)max_value);
+ long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
+ TruncateArray(m_replaceString, (size_t)max_value);
}
void FindReplaceData::SetFindString(const wxString& str)
{
- int where = m_findString.Index(str);
- if (where != wxNOT_FOUND) {
- m_findString.RemoveAt(where);
- }
- m_findString.Insert(str, 0);
-
- long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
- TruncateArray(m_findString, (size_t)max_value);
+ int where = m_findString.Index(str);
+ if(where != wxNOT_FOUND) {
+ m_findString.RemoveAt(where);
+ }
+ m_findString.Insert(str, 0);
+
+ long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
+ TruncateArray(m_findString, (size_t)max_value);
}
wxString FindReplaceData::GetReplaceString() const
{
- if (m_replaceString.IsEmpty()) {
- return wxEmptyString;
- } else {
- return m_replaceString.Item(0);
- }
+ if(m_replaceString.IsEmpty()) {
+ return wxEmptyString;
+ } else {
+ return m_replaceString.Item(0);
+ }
}
wxString FindReplaceData::GetFindString() const
{
- if (m_findString.IsEmpty()) {
- return wxEmptyString;
+ if(m_findString.IsEmpty()) {
+ return wxEmptyString;
- } else {
- return m_findString.Item(0);
- }
+ } else {
+ return m_findString.Item(0);
+ }
}
void FindReplaceData::TruncateArray(wxArrayString& arr, size_t maxSize)
{
- while(arr.GetCount() > maxSize && arr.GetCount() > 0) {
- arr.RemoveAt(arr.GetCount()-1);
- }
+ while(arr.GetCount() > maxSize && arr.GetCount() > 0) {
+ arr.RemoveAt(arr.GetCount() - 1);
+ }
}
void FindReplaceData::FromJSON(const JSONElement& json)
{
- m_findString = json.namedObject("m_findString").toArrayString();
- m_replaceString = json.namedObject("m_replaceString").toArrayString();
- m_searchScope = json.namedObject("m_searchScope").toInt(m_searchScope);
- m_flags = json.namedObject("m_flags").toSize_t(m_flags);
- m_searchPaths = json.namedObject("m_searchPaths").toArrayString();
- m_encoding = json.namedObject("m_encoding").toString(m_encoding);
- m_fileMask = json.namedObject("m_fileMask").toArrayString();
- m_selectedMask = json.namedObject("m_selectedMask").toString(m_selectedMask);
-
- long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
-
- TruncateArray(m_searchPaths, (size_t)max_value);
- TruncateArray(m_replaceString, (size_t)max_value);
- TruncateArray(m_findString, (size_t)max_value);
-
- if ( m_fileMask.IsEmpty() ) {
- m_fileMask.Add("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc");
- m_selectedMask = "*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc";
- }
+ m_findString = json.namedObject("m_findString").toArrayString();
+ m_replaceString = json.namedObject("m_replaceString").toArrayString();
+ m_searchScope = json.namedObject("m_searchScope").toInt(m_searchScope);
+ m_flags = json.namedObject("m_flags").toSize_t(m_flags);
+ m_searchPaths = json.namedObject("m_searchPaths").toArrayString();
+ m_encoding = json.namedObject("m_encoding").toString(m_encoding);
+ m_fileMask = json.namedObject("m_fileMask").toArrayString();
+ m_selectedMask = json.namedObject("m_selectedMask").toString(m_selectedMask);
+
+ long max_value = clConfig::Get().Read(kConfigMaxItemsInFindReplaceDialog, 15);
+
+ TruncateArray(m_searchPaths, (size_t)max_value);
+ TruncateArray(m_replaceString, (size_t)max_value);
+ TruncateArray(m_findString, (size_t)max_value);
+
+ if(m_fileMask.IsEmpty()) {
+ m_fileMask.Add("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc");
+ m_selectedMask = "*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc";
+ }
}
JSONElement FindReplaceData::ToJSON() const
{
- JSONElement element = JSONElement::createObject(GetName());
- element.addProperty("m_findString", m_findString);
- element.addProperty("m_replaceString", m_replaceString);
- element.addProperty("m_searchScope", m_searchScope);
- element.addProperty("m_flags", m_flags);
- element.addProperty("m_searchPaths", m_searchPaths);
- element.addProperty("m_encoding", m_encoding);
- element.addProperty("m_fileMask", m_fileMask);
- element.addProperty("m_selectedMask", m_selectedMask);
- return element;
+ JSONElement element = JSONElement::createObject(GetName());
+ element.addProperty("m_findString", m_findString);
+ element.addProperty("m_replaceString", m_replaceString);
+ element.addProperty("m_searchScope", m_searchScope);
+ element.addProperty("m_flags", m_flags);
+ element.addProperty("m_searchPaths", m_searchPaths);
+ element.addProperty("m_encoding", m_encoding);
+ element.addProperty("m_fileMask", m_fileMask);
+ element.addProperty("m_selectedMask", m_selectedMask);
+ return element;
}
wxArrayString FindReplaceData::GetFindStringArr() const
{
- wxArrayString findArr;
- for(size_t i=0; i<m_findString.GetCount(); ++i) {
- if ( (findArr.Index(m_findString.Item(i)) == wxNOT_FOUND) && !m_findString.Item(i).IsEmpty() ) {
- findArr.Add( m_findString.Item(i) );
- }
- }
- return findArr;
+ wxArrayString findArr;
+ for(size_t i = 0; i < m_findString.GetCount(); ++i) {
+ if((findArr.Index(m_findString.Item(i)) == wxNOT_FOUND) && !m_findString.Item(i).IsEmpty()) {
+ findArr.Add(m_findString.Item(i));
+ }
+ }
+ return findArr;
}
wxArrayString FindReplaceData::GetReplaceStringArr() const
{
- wxArrayString replaceArr;
- for(size_t i=0; i<m_replaceString.GetCount(); ++i) {
- if ( (replaceArr.Index(m_replaceString.Item(i)) == wxNOT_FOUND) && !m_replaceString.Item(i).IsEmpty() ) {
- replaceArr.Add( m_replaceString.Item(i) );
- }
- }
- return replaceArr;
+ wxArrayString replaceArr;
+ for(size_t i = 0; i < m_replaceString.GetCount(); ++i) {
+ if((replaceArr.Index(m_replaceString.Item(i)) == wxNOT_FOUND) && !m_replaceString.Item(i).IsEmpty()) {
+ replaceArr.Add(m_replaceString.Item(i));
+ }
+ }
+ return replaceArr;
}
FindReplaceData::FindReplaceData()
- : clConfigItem("FindReplaceData")
- , m_flags(0)
- , m_selectedMask("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc") // Default file mask
- , m_searchScope(1)
+ : clConfigItem("FindReplaceData")
+ , m_flags(wxFRD_SEPARATETAB_DISPLAY | wxFRD_MATCHCASE | wxFRD_MATCHWHOLEWORD)
+ , m_selectedMask("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc") // Default file mask
+ , m_searchScope(1)
{
- m_fileMask.Add("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc");
+ m_fileMask.Add("*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.inc;*.mm;*.m;*.xrc");
}
diff --git a/LiteEditor/findresultstab.cpp b/LiteEditor/findresultstab.cpp
index 35547add..2e7bfc3c 100644
--- a/LiteEditor/findresultstab.cpp
+++ b/LiteEditor/findresultstab.cpp
@@ -332,18 +332,14 @@ void FindResultsTab::OnFindInFiles(wxCommandEvent& e)
return;
}
- FindInFilesDialog* dlg = new FindInFilesDialog(EventNotifier::Get()->TopFrame(), "FindInFilesData");
-
+ FindInFilesDialog dlg(EventNotifier::Get()->TopFrame(), "FindInFilesData");
wxArrayString* paths = (wxArrayString*)e.GetClientData();
if(paths) {
- dlg->SetSearchPaths(*paths);
+ dlg.SetSearchPaths(*paths);
e.SetClientData(NULL);
wxDELETE(paths);
}
- // Show the frame and 'raise' it
- dlg->Show();
- dlg->SetFocus();
- dlg->Raise();
+ dlg.ShowDialog();
}
void FindResultsTab::OnSearchStart(wxCommandEvent& e)
@@ -787,6 +783,7 @@ void FindResultsTab::DoOpenSearchResult(const SearchResult& result, wxStyledText
// remove the previous marker and add the new one
sci->MarkerDeleteAll(7);
sci->MarkerAdd(markerLine, 7);
+ sci->EnsureVisible(markerLine);
sci->GotoLine(markerLine);
}
}
diff --git a/LiteEditor/frame.cpp b/LiteEditor/frame.cpp
index 40b1543e..721161fc 100644
--- a/LiteEditor/frame.cpp
+++ b/LiteEditor/frame.cpp
@@ -44,7 +44,6 @@
#include <wx/splash.h>
#include "clsplashscreen.h"
#include "WelcomePage.h"
-#include "code_completion_box.h"
#include "cl_aui_tool_stickness.h"
#include "cl_command_event.h"
#include "refactoring_storage.h"
@@ -62,6 +61,7 @@
#include "ColoursAndFontsManager.h"
#include "fileutils.h"
#include "wxCustomStatusBar.h"
+#include "clBootstrapWizard.h"
#ifdef __WXGTK20__
// We need this ugly hack to workaround a gtk2-wxGTK name-clash
@@ -139,9 +139,6 @@
#include "clang_code_completion.h"
#include "cl_defs.h"
-static clSplashScreen* g_splashScreen = NULL;
-static bool g_splashDestroyed = false;
-
//////////////////////////////////////////////////
// from auto-generated file svninfo.cpp:
@@ -181,43 +178,6 @@ const wxEventType wxEVT_LOAD_SESSION = ::wxNewEventType();
#define TB_SEPARATOR() tb->AddSeparator()
#endif
-#if !defined(__WXMAC__)
-static wxBitmap CreateSplashScreenBitmap(const wxBitmap& origBmp)
-{
- wxBitmap bmp;
- wxMemoryDC memDC;
- bmp = wxBitmap(origBmp.GetWidth(), origBmp.GetHeight());
- memDC.SelectObject(bmp);
- memDC.SetBrush(wxColour(63, 80, 24));
- memDC.SetPen(wxColour(63, 80, 24));
- memDC.DrawRectangle(0, 0, origBmp.GetWidth(), origBmp.GetHeight());
- memDC.DrawBitmap(origBmp, 0, 0, true);
- memDC.SetPen(*wxWHITE);
- memDC.SetBrush(*wxTRANSPARENT_BRUSH);
- memDC.DrawRectangle(0, 0, origBmp.GetWidth(), origBmp.GetHeight());
-
- wxCoord ww, hh;
- wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
- font.SetPointSize(20);
- font.SetWeight(wxFONTWEIGHT_BOLD);
-
- memDC.SetFont(font);
-
- wxString versionString = CODELITE_VERSION_STR;
- // versionString = versionString.BeforeLast('-');
-
- memDC.GetMultiLineTextExtent(versionString, &ww, &hh);
- memDC.SetTextForeground(*wxWHITE);
- wxCoord textX = 315;
- memDC.DrawText(versionString, textX, 24);
- memDC.SetTextForeground(*wxBLACK);
- memDC.DrawText(versionString, textX, 23);
- memDC.SelectObject(wxNullBitmap);
-
- return bmp;
-}
-#endif
-
//----------------------------------------------------------------
// Our main frame
//----------------------------------------------------------------
@@ -287,6 +247,8 @@ EVT_MENU(XRCID("move_line_up"), clMainFrame::DispatchCommandEvent)
EVT_MENU(XRCID("center_line"), clMainFrame::DispatchCommandEvent)
EVT_MENU(XRCID("center_line_roll"), clMainFrame::DispatchCommandEvent)
EVT_MENU(XRCID("selection_to_multi_caret"), clMainFrame::OnSplitSelection)
+EVT_MENU(XRCID("convert_indent_to_tabs"), clMainFrame::DispatchCommandEvent)
+EVT_MENU(XRCID("convert_indent_to_spaces"), clMainFrame::DispatchCommandEvent)
EVT_UPDATE_UI(XRCID("selection_to_multi_caret"), clMainFrame::OnSplitSelectionUI)
EVT_UPDATE_UI(wxID_UNDO, clMainFrame::DispatchUpdateUIEvent)
@@ -308,8 +270,9 @@ EVT_UPDATE_UI(XRCID("convert_eol_unix"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("convert_eol_mac"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("move_line_down"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("move_line_up"), clMainFrame::OnFileExistUpdateUI)
-EVT_UPDATE_UI(XRCID("center_line"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("center_line_roll"), clMainFrame::OnFileExistUpdateUI)
+EVT_UPDATE_UI(XRCID("convert_indent_to_tabs"), clMainFrame::OnFileExistUpdateUI)
+EVT_UPDATE_UI(XRCID("convert_indent_to_spaces"), clMainFrame::OnFileExistUpdateUI)
//-------------------------------------------------------
// View menu
@@ -373,6 +336,7 @@ EVT_MENU(wxID_FIND, clMainFrame::DispatchCommandEvent)
EVT_MENU(wxID_REPLACE, clMainFrame::DispatchCommandEvent)
EVT_MENU(XRCID("find_resource"), clMainFrame::OnFindResourceXXX)
EVT_MENU(XRCID("incremental_search"), clMainFrame::OnIncrementalSearch)
+EVT_MENU(XRCID("incremental_replace"), clMainFrame::OnIncrementalReplace)
EVT_MENU(XRCID("find_symbol"), clMainFrame::OnQuickOutline)
EVT_MENU(XRCID("goto_definition"), clMainFrame::DispatchCommandEvent)
EVT_MENU(XRCID("goto_previous_definition"), clMainFrame::DispatchCommandEvent)
@@ -570,6 +534,7 @@ EVT_MENU(XRCID("tags_options"), clMainFrame::OnCtagsOptions)
//-------------------------------------------------------
EVT_MENU(wxID_ABOUT, clMainFrame::OnAbout)
EVT_MENU(XRCID("check_for_update"), clMainFrame::OnCheckForUpdate)
+EVT_MENU(XRCID("run_setup_wizard"), clMainFrame::OnRunSetupWizard)
//-------------------------------------------------------
// Perspective menu
@@ -603,12 +568,15 @@ EVT_MENU(XRCID("detach_debugger_tab"), clMainFrame::OnDetachDebuggerViewTab)
// Editor tab context menu
//-------------------------------------------------------
EVT_MENU(XRCID("close_other_tabs"), clMainFrame::OnCloseAllButThis)
+EVT_MENU(XRCID("close_tabs_to_the_right"), clMainFrame::OnCloseTabsToTheRight)
EVT_MENU(XRCID("copy_file_name"), clMainFrame::OnCopyFilePath)
EVT_MENU(XRCID("copy_file_path"), clMainFrame::OnCopyFilePathOnly)
EVT_MENU(XRCID("copy_file_name_only"), clMainFrame::OnCopyFileName)
EVT_MENU(XRCID("open_shell_from_filepath"), clMainFrame::OnOpenShellFromFilePath)
EVT_MENU(XRCID("open_file_explorer"), clMainFrame::OnOpenFileExplorerFromFilePath)
EVT_MENU(XRCID("ID_DETACH_EDITOR"), clMainFrame::OnDetachEditor)
+EVT_MENU(XRCID("mark_readonly"), clMainFrame::OnMarkEditorReadonly)
+EVT_UPDATE_UI(XRCID("mark_readonly"), clMainFrame::OnMarkEditorReadonlyUI)
EVT_UPDATE_UI(XRCID("copy_file_name"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("copy_file_path"), clMainFrame::OnFileExistUpdateUI)
EVT_UPDATE_UI(XRCID("open_shell_from_filepath"), clMainFrame::OnFileExistUpdateUI)
@@ -669,8 +637,6 @@ EVT_COMMAND(wxID_ANY, wxEVT_TAGS_DB_UPGRADE_INTER, clMainFrame::OnDatabaseUpgrad
EVT_COMMAND(wxID_ANY, wxEVT_REFRESH_PERSPECTIVE_MENU, clMainFrame::OnRefreshPerspectiveMenu)
EVT_MENU(XRCID("update_num_builders_count"), clMainFrame::OnUpdateNumberOfBuildProcesses)
EVT_MENU(XRCID("goto_codelite_download_url"), clMainFrame::OnGotoCodeLiteDownloadPage)
-EVT_COMMAND(wxID_ANY, wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES, clMainFrame::OnSingleInstanceOpenFiles)
-EVT_COMMAND(wxID_ANY, wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP, clMainFrame::OnSingleInstanceRaise)
EVT_COMMAND(wxID_ANY, wxEVT_CMD_NEW_VERSION_AVAILABLE, clMainFrame::OnNewVersionAvailable)
EVT_COMMAND(wxID_ANY, wxEVT_CMD_VERSION_UPTODATE, clMainFrame::OnNewVersionAvailable)
@@ -694,6 +660,7 @@ clMainFrame::clMainFrame(wxWindow* pParent,
, m_highlightWord(false)
, m_workspaceRetagIsRequired(false)
, m_bookmarksDropDownMenu(NULL)
+ , m_singleInstanceThread(NULL)
{
#if defined(__WXGTK20__)
// A rather ugly hack here. GTK V2 insists that F10 should be the
@@ -724,8 +691,9 @@ clMainFrame::clMainFrame(wxWindow* pParent,
// start the job queue
JobQueueSingleton::Instance()->Start(6);
- // the single instance job is a presisstent job, so the pool will contain only 4 available threads
- JobQueueSingleton::Instance()->PushJob(new SingleInstanceThreadJob(this, ManagerST::Get()->GetStartupDirectory()));
+ // Create the single instance thread
+ m_singleInstanceThread = new clSingleInstanceThread();
+ m_singleInstanceThread->Start();
// start the editor creator thread
m_timer = new wxTimer(this, FrameTimerId);
@@ -786,9 +754,9 @@ clMainFrame::clMainFrame(wxWindow* pParent,
this);
EventNotifier::Get()->Bind(
wxEVT_CMD_RELOAD_EXTERNALLY_MODIFIED, wxCommandEventHandler(clMainFrame::OnReloadExternallModified), this);
-
- EventNotifier::Get()->Connect(
- wxEVT_COLOURS_AND_FONTS_LOADED, clColourEventHandler(clMainFrame::OnColoursAndFontsLoaded), NULL, this);
+ EventNotifier::Get()->Bind(
+ wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES, &clMainFrame::OnSingleInstanceOpenFiles, this);
+ EventNotifier::Get()->Bind(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP, &clMainFrame::OnSingleInstanceRaise, this);
Connect(wxID_UNDO,
wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN,
wxAuiToolBarEventHandler(clMainFrame::OnTBUnRedo),
@@ -807,10 +775,14 @@ clMainFrame::clMainFrame(wxWindow* pParent,
// Register keyboard shortcuts
clKeyboardManager::Get()->AddGlobalAccelerator(
"selection_to_multi_caret", "Ctrl-Shift-L", _("Edit::Split selection into multiple carets"));
+ clKeyboardManager::Get()->AddGlobalAccelerator(
+ "incremental_replace", "", _("Search::Toggle the Quick-Replace Bar"));
}
clMainFrame::~clMainFrame(void)
{
+ wxDELETE(m_singleInstanceThread);
+
#ifndef __WXMSW__
m_zombieReaper.Stop();
#endif
@@ -878,6 +850,10 @@ clMainFrame::~clMainFrame(void)
wxCommandEventHandler(clMainFrame::OnReloadExternallModifiedNoPrompt),
this);
EventNotifier::Get()->Unbind(
+ wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES, &clMainFrame::OnSingleInstanceOpenFiles, this);
+ EventNotifier::Get()->Unbind(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP, &clMainFrame::OnSingleInstanceRaise, this);
+
+ EventNotifier::Get()->Unbind(
wxEVT_CMD_RELOAD_EXTERNALLY_MODIFIED, wxCommandEventHandler(clMainFrame::OnReloadExternallModified), this);
Disconnect(wxID_UNDO,
@@ -891,11 +867,9 @@ clMainFrame::~clMainFrame(void)
NULL,
this);
EventNotifier::Get()->Disconnect(
- wxEVT_COLOURS_AND_FONTS_LOADED, clColourEventHandler(clMainFrame::OnColoursAndFontsLoaded), NULL, this);
- EventNotifier::Get()->Disconnect(
wxEVT_PROJ_RENAMED, clCommandEventHandler(clMainFrame::OnProjectRenamed), NULL, this);
wxDELETE(m_timer);
-
+
// GetPerspectiveManager().DisconnectEvents() assumes that m_mgr is still alive (and it should be as it is allocated
// on the stack of clMainFrame)
ManagerST::Get()->GetPerspectiveManager().DisconnectEvents();
@@ -941,25 +915,6 @@ void clMainFrame::Initialize(bool loadLastSession)
}
inf.SetFrameSize(frameSize);
-
-#if !defined(__WXMAC__)
- // we show splash only when using Release builds of codelite
- if(inf.GetFlags() & CL_SHOW_SPLASH) {
- wxBitmap bitmap;
- wxString splashName(ManagerST::Get()->GetStartupDirectory() + wxT("/images/splashscreen.png"));
- if(bitmap.LoadFile(splashName, wxBITMAP_TYPE_PNG)) {
- wxString mainTitle = CODELITE_VERSION_STR;
- g_splashScreen = new clSplashScreen(g_splashDestroyed,
- CreateSplashScreenBitmap(bitmap),
- wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT,
- -1,
- NULL,
- wxID_ANY);
- wxYield();
- }
- }
-#endif
-
m_theFrame = new clMainFrame(NULL,
wxID_ANY,
title,
@@ -1033,8 +988,11 @@ void clMainFrame::CreateGUIControls(void)
WorkspaceST::Get()->SetStartupDir(ManagerST::Get()->GetStartupDirectory());
m_mgr.GetArtProvider()->SetMetric(wxAUI_DOCKART_PANE_BORDER_SIZE, 0);
+#ifdef __WXMSW__
m_mgr.GetArtProvider()->SetMetric(wxAUI_DOCKART_SASH_SIZE, 4);
-
+#else
+ m_mgr.GetArtProvider()->SetMetric(wxAUI_DOCKART_SASH_SIZE, 4);
+#endif
// Load the menubar from XRC and set this frame's menubar to it.
wxMenuBar* mb = wxXmlResource::Get()->LoadMenuBar(wxT("main_menu"));
#ifdef __WXOSX__
@@ -1048,11 +1006,11 @@ void clMainFrame::CreateGUIControls(void)
m_myMenuBar = new MyMenuBar();
m_myMenuBar->Set(mb);
SetMenuBar(mb);
-
+
// Create the status bar
m_statusBar = new clStatusBar(this, PluginManager::Get());
SetStatusBar(m_statusBar);
-
+
// Set up dynamic parts of menu.
CreateRecentlyOpenedWorkspacesMenu();
DoUpdatePerspectiveMenu();
@@ -1141,6 +1099,12 @@ void clMainFrame::CreateGUIControls(void)
clConfig ccConfig("code-completion.conf");
ccConfig.ReadItem(&m_tagsOptionsData);
+ // If the cc options value has changed, construct a new instance
+ // with default values and call the "Merge" method
+ TagsOptionsData tmp;
+ m_tagsOptionsData.Merge(tmp);
+ ccConfig.WriteItem(&m_tagsOptionsData);
+
TagsManager* tagsManager = TagsManagerST::Get();
// start ctags process
@@ -1249,33 +1213,6 @@ void clMainFrame::DoShowToolbars(bool show)
}
}
-void clMainFrame::CreateViewAsSubMenu()
-{
- // get the 'View As' menu
-
- wxMenu* menu = NULL;
- wxMenuItem* menuitem = GetMenuBar()->FindItem(XRCID("display_eol"), &menu);
- if(menuitem && menu) {
- wxMenu* submenu = new wxMenu();
-
- // create a view as sub menu and attach it
- wxMenuItem* item(NULL);
-
- int minId = viewAsMenuItemID;
-
- // load all lexers
- // load generic lexers
- wxArrayString lexerNames = ColoursAndFontsManager::Get().GetAllLexersNames();
- for(size_t i = 0; i < lexerNames.GetCount(); ++i) {
- item = new wxMenuItem(submenu, minId, lexerNames.Item(i), wxEmptyString, wxITEM_CHECK);
- m_viewAsMap[minId] = lexerNames.Item(i);
- minId++;
- submenu->Append(item);
- }
- menu->Append(viewAsSubMenuID, _("View As"), submenu);
- }
-}
-
void clMainFrame::OnEditMenuOpened(wxMenuEvent& event)
{
event.Skip();
@@ -1326,14 +1263,6 @@ void clMainFrame::OnNativeTBUnRedoDropdown(wxCommandEvent& event)
// Don't skip if there's no active editor/toolbar, otherwise a stale menu will show
}
-wxString clMainFrame::GetViewAsLanguageById(int id) const
-{
- if(m_viewAsMap.find(id) == m_viewAsMap.end()) {
- return wxEmptyString;
- }
- return m_viewAsMap.find(id)->second;
-}
-
void clMainFrame::CreateToolbars24()
{
wxAuiPaneInfo info;
@@ -2067,77 +1996,70 @@ void clMainFrame::CreateToolbars16()
}
}
-void clMainFrame::LocateCompilersIfNeeded()
+bool clMainFrame::StartSetupWizard()
{
- if(!g_splashDestroyed && g_splashScreen) {
- g_splashScreen->Hide();
- g_splashScreen->Destroy();
- g_splashScreen = NULL;
- }
+ clBootstrapWizard wiz(this);
+ if(wiz.RunWizard(wiz.GetFirstPage())) {
+ {
+ wxString message;
- bool bAutoDetectCompilers = clConfig::Get().Read(kConfigAutoDetectCompilerOnStartup, true);
- if(bAutoDetectCompilers) {
+ if(wiz.IsRestartRequired()) {
+ message << _("Applying your choices and restarting CodeLite");
+ } else {
+ message << _("Applying your choices, this may take a few seconds");
+ }
+
+ wxBusyInfo bi(message);
- // Unset the flag so next time we won't get this
- clConfig::Get().Write(kConfigAutoDetectCompilerOnStartup, false);
+ clBootstrapData data = wiz.GetData();
- // First time, trigger the auto-compiler detection code
- CompilersDetectorManager detector;
- if(detector.Locate()) {
- const ICompilerLocator::CompilerVec_t& compilersFound = detector.GetCompilersFound();
- CompilersFoundDlg dlg(this, compilersFound);
- if(dlg.ShowModal() == wxID_OK) {
- // Replace the current compilers with a new one
- BuildSettingsConfigST::Get()->SetCompilers(compilersFound);
+ // update the compilers if not empty
+ if(!data.compilers.empty()) {
+ BuildSettingsConfigST::Get()->SetCompilers(data.compilers);
CallAfter(&clMainFrame::UpdateParserSearchPathsFromDefaultCompiler);
-#ifdef __WXMSW__
- if(!detector.FoundMinGWCompiler()) {
- if(::wxMessageBox(
- _("Could not locate any MinGW compiler installed on your machine, would you like to "
- "install one now?"),
- "CodeLite",
- wxYES_NO | wxCANCEL | wxYES_DEFAULT | wxCENTER | wxICON_QUESTION,
- this) == wxYES) {
- // No MinGW compiler detected!, offer the user to download one
- wxStringMap_t mingwCompilers;
- wxArrayString options;
- mingwCompilers.insert(std::make_pair("MinGW 4.9.2 - 32 Bit",
- "http://sourceforge.net/projects/"
- "tdm-gcc/files/TDM-GCC%20Installer/"
- "tdm-gcc-4.9.2.exe/download"));
- mingwCompilers.insert(std::make_pair("MinGW 4.9.2 - 64 Bit",
- "http://sourceforge.net/projects/"
- "tdm-gcc/files/TDM-GCC%20Installer/"
- "tdm64-gcc-4.9.2-3.exe/download"));
- wxStringMap_t::iterator iter = mingwCompilers.begin();
- for(; iter != mingwCompilers.end(); ++iter) {
- options.Add(iter->first);
- }
-#ifdef _WIN64
- int sel = 1;
-#else
- int sel = 0;
-#endif
- wxString selection = ::wxGetSingleChoice(
- _("Select a compiler to download"), _("Choose compiler"), options, sel, this);
- if(!selection.IsEmpty()) {
- // Reset the compiler detection flag so next time codelite is restarted, it will
- // rescan the machine
- clConfig::Get().Write(kConfigAutoDetectCompilerOnStartup, true);
-
- // Open the browser to start downloading the compiler
- ::wxLaunchDefaultBrowser(mingwCompilers.find(selection)->second);
- ::wxMessageBox(_("After install is completed, restart CodeLite"),
- "CodeLite",
- wxOK | wxCENTER | wxICON_INFORMATION,
- this);
- }
- }
- }
-#endif
}
+ OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
+ options->SetIndentUsesTabs(data.useTabs);
+ options->SetShowWhitspaces(data.whitespaceVisibility);
+ EditorConfigST::Get()->SetOptions(options);
+
+ // Update the theme
+ ColoursAndFontsManager::Get().SetTheme(data.selectedTheme);
+ ColoursAndFontsManager::Get().Save();
+ }
+
+ if(wiz.IsRestartRequired()) {
+ clCommandEvent restartEvent(wxEVT_RESTART_CODELITE);
+ ManagerST::Get()->AddPendingEvent(restartEvent);
+ return true;
}
}
+ return false;
+}
+
+void clMainFrame::Bootstrap()
+{
+ if(!clSplashScreen::g_destroyed && clSplashScreen::g_splashScreen) {
+ clSplashScreen::g_splashScreen->Hide();
+ clSplashScreen::g_splashScreen->Destroy();
+ clSplashScreen::g_splashScreen = NULL;
+ }
+
+ if(!clConfig::Get().Read(kConfigBootstrapCompleted, false)) {
+ clConfig::Get().Write(kConfigBootstrapCompleted, true);
+ if(StartSetupWizard()) return;
+ }
+
+ // Load the session manager
+ wxString sessConfFile;
+ sessConfFile << clStandardPaths::Get().GetUserDataDir() << wxT("/config/sessions.xml");
+ SessionManager::Get().Load(sessConfFile);
+
+ // restore last session if needed
+ if(clConfig::Get().Read(kConfigRestoreLastSession, true) && m_loadLastSession) {
+ wxCommandEvent loadSessionEvent(wxEVT_LOAD_SESSION);
+ EventNotifier::Get()->AddPendingEvent(loadSessionEvent);
+ }
}
void clMainFrame::UpdateBuildTools() {}
@@ -2304,7 +2226,7 @@ void clMainFrame::OnClose(wxCloseEvent& event)
event.Skip(false);
return;
}
-
+
event.Skip();
wxString msg;
ManagerST::Get()->SetShutdownInProgress(true);
@@ -2324,8 +2246,6 @@ void clMainFrame::OnClose(wxCloseEvent& event)
IDebugger* debugger = DebuggerMgr::Get().GetActiveDebugger();
if(debugger && debugger->IsRunning()) ManagerST::Get()->DbgStop();
-
-
// In case we got some data in the clipboard, flush it so it will be available
// after our process exits
wxTheClipboard->Flush();
@@ -2407,7 +2327,7 @@ void clMainFrame::OnFileLoadTabGroup(wxCommandEvent& WXUNUSED(event))
clWindowUpdateLocker locker(this);
TabGroupEntry session;
- if(SessionManager::Get().GetSession(sessionFilepath, session, wxString(wxT(".tabgroup")), tabgroupTag)) {
+ if(SessionManager::Get().GetSession(sessionFilepath, session, "tabgroup", tabgroupTag)) {
// We've 'loaded' the requested tabs. If required, delete any current ones
if(dlg.GetReplaceCheck()) {
GetMainBook()->CloseAll(true);
@@ -3091,7 +3011,7 @@ void clMainFrame::OnBuildProject(wxCommandEvent& event)
ManagerST::Get()->PushQueueCommand(info);
ManagerST::Get()->ProcessCommandQueue();
- GetStatusBar()->SetMessage(_("Done"));
+ GetStatusBar()->SetMessage("");
}
}
@@ -3324,7 +3244,7 @@ void clMainFrame::OnTimer(wxTimerEvent& event)
// Send initialization end event
EventNotifier::Get()->PostCommandEvent(wxEVT_INIT_DONE, NULL);
- CallAfter(&clMainFrame::LocateCompilersIfNeeded);
+ CallAfter(&clMainFrame::Bootstrap);
event.Skip();
}
@@ -3640,9 +3560,15 @@ void clMainFrame::CreateWelcomePage()
void clMainFrame::OnImportMSVS(wxCommandEvent& e)
{
wxUnusedVar(e);
- const wxString ALL(wxT("MS Visual Studio Solution File (*.sln)|*.sln|") wxT("All Files (*)|*"));
+ const wxString ALL(wxT("All Solution File (*.dsw;*.sln;*.dev;*.bpr;*.cbp;*.workspace)|")
+ wxT("*.dsw;*.sln;*.dev;*.bpr;*.cbp;*.workspace|")
+ wxT("MS Visual Studio Solution File (*.dsw;*.sln)|*.dsw;*.sln|")
+ wxT("Bloodshed Dev-C++ Solution File (*.dev)|*.dev|")
+ wxT("Borland C++ Builder Solution File (*.bpr)|*.bpr|")
+ wxT("Code::Blocks Solution File (*.cbp;*.workspace)|*.cbp;*.workspace"));
+
wxFileDialog dlg(this,
- _("Open MS Solution File"),
+ _("Open IDE Solution/Workspace File"),
wxEmptyString,
wxEmptyString,
ALL,
@@ -3970,10 +3896,6 @@ void clMainFrame::CompleteInitialization()
// Register C++ keyboard shortcuts
clKeyboardManager::Get()->AddGlobalAccelerator("swap_files", "F12", "C++::Swap Header/Implementation file");
- clKeyboardManager::Get()->AddGlobalAccelerator(
- "insert_doxy_comment", "Ctrl-Shift-D", "C++::Insert Doxygen Comment");
- clKeyboardManager::Get()->AddGlobalAccelerator("comment_selection", "Ctrl-Shift-/", "C++::Comment Selection");
- clKeyboardManager::Get()->AddGlobalAccelerator("comment_line", "Ctrl-/", "C++::Toggle Line Comment");
clKeyboardManager::Get()->AddGlobalAccelerator("rename_symbol", "Ctrl-Shift-H", "C++::Rename Symbol");
// Load the plugins
@@ -4024,15 +3946,11 @@ void clMainFrame::CompleteInitialization()
wxCommandEvent eventShowTabBar;
eventShowTabBar.SetInt(clConfig::Get().Read(kConfigShowTabBar, true));
OnShowTabBar(eventShowTabBar);
-
ShowOrHideCaptions();
}
void clMainFrame::OnAppActivated(wxActivateEvent& e)
{
-#ifndef __WXMAC__
- CodeCompletionBox::Get().CancelTip();
-#endif
if(m_theFrame && e.GetActive()) {
// if workspace or project was modified, don't prompt for
@@ -4054,7 +3972,6 @@ void clMainFrame::OnAppActivated(wxActivateEvent& e)
if(editor) {
// we are loosing the focus
editor->CallTipCancel();
- editor->HideCompletionBox();
}
#endif
}
@@ -4247,7 +4164,6 @@ void clMainFrame::OnManagePlugins(wxCommandEvent& e)
void clMainFrame::OnCppContextMenu(wxCommandEvent& e)
{
- wxUnusedVar(e);
LEditor* editor = GetMainBook()->GetActiveEditor(true);
if(editor) {
editor->GetContext()->ProcessEvent(e);
@@ -4294,34 +4210,27 @@ void clMainFrame::OnShowNavBarUI(wxUpdateUIEvent& e)
e.Check(GetMainBook()->IsNavBarShown());
}
-void clMainFrame::OnSingleInstanceOpenFiles(wxCommandEvent& e)
+void clMainFrame::OnSingleInstanceOpenFiles(clCommandEvent& e)
{
- wxArrayString* arr = reinterpret_cast<wxArrayString*>(e.GetClientData());
- if(arr) {
- for(size_t i = 0; i < arr->GetCount(); i++) {
- wxFileName fn(arr->Item(i));
+ const wxArrayString& files = e.GetStrings();
+ for(size_t i = 0; i < files.GetCount(); ++i) {
+ wxFileName fn(files.Item(i));
- // if file is workspace, load it
- if(fn.GetExt() == wxT("workspace")) {
- if(ManagerST::Get()->IsWorkspaceOpen()) {
- if(wxMessageBox(_("Close this workspace, and load workspace '") + fn.GetFullName() + wxT("'"),
- _("CodeLite"),
- wxICON_QUESTION | wxYES_NO,
- this) == wxNO) {
- continue;
- }
- }
- ManagerST::Get()->OpenWorkspace(arr->Item(i));
- } else {
- clMainFrame::Get()->GetMainBook()->OpenFile(arr->Item(i), wxEmptyString);
- }
+ // if file is workspace, load it
+ if(fn.GetExt() == wxT("workspace")) {
+ wxCommandEvent workspaceEvent;
+ workspaceEvent.SetString(files.Item(i));
+ OnSwitchWorkspace(workspaceEvent);
+
+ } else {
+ GetMainBook()->OpenFile(files.Item(i), wxEmptyString);
}
- delete arr;
}
- Raise();
+
+ CallAfter(&clMainFrame::Raise);
}
-void clMainFrame::OnSingleInstanceRaise(wxCommandEvent& e)
+void clMainFrame::OnSingleInstanceRaise(clCommandEvent& e)
{
wxUnusedVar(e);
Raise();
@@ -4935,6 +4844,12 @@ void clMainFrame::OnIncrementalSearch(wxCommandEvent& event)
GetMainBook()->ShowQuickBar(true);
}
+void clMainFrame::OnIncrementalReplace(wxCommandEvent& event)
+{
+ wxUnusedVar(event);
+ GetMainBook()->ToggleQuickReplaceBar();
+}
+
void clMainFrame::OnRetagWorkspace(wxCommandEvent& event)
{
// See if any of the plugins want to handle this event by itself
@@ -5053,11 +4968,39 @@ bool clMainFrame::ReloadExternallyModifiedProjectFiles()
bool clMainFrame::SaveLayoutAndSession()
{
+ // save the current session before closing
+ // We do this before 'CloseAll' so the session will
+ // store the list of tabs
+
+ // Let the plugin process this first
+ clCommandEvent eventSaveSession(wxEVT_SAVE_SESSION_NEEDED);
+ if(!EventNotifier::Get()->ProcessEvent(eventSaveSession)) {
+ // Do the default session store
+ if(ManagerST::Get()->IsWorkspaceOpen()) {
+ wxString sessionName = WorkspaceST::Get()->GetWorkspaceFileName().GetFullPath();
+ SessionEntry session;
+ session.SetWorkspaceName(sessionName);
+ GetMainBook()->SaveSession(session);
+ ManagerST::Get()->GetBreakpointsMgr()->SaveSession(session);
+ SessionManager::Get().Save(sessionName, session);
+ SessionManager::Get().SetLastSession(sessionName);
+ } else {
+ // Create a default session
+ wxString sessionName("Default");
+ SessionEntry session;
+ session.SetWorkspaceName(sessionName);
+ GetMainBook()->SaveSession(session);
+ ManagerST::Get()->GetBreakpointsMgr()->SaveSession(session);
+ SessionManager::Get().Save(sessionName, session);
+ SessionManager::Get().SetLastSession(sessionName);
+ }
+ }
+
// make sure there are no 'unsaved documents'
if(!GetMainBook()->CloseAll(true)) {
return false;
}
-
+
// save general information
if(IsMaximized()) {
m_frameGeneralInfo.SetFrameSize(wxSize(800, 600));
@@ -5077,17 +5020,6 @@ bool clMainFrame::SaveLayoutAndSession()
EditorConfigST::Get()->SetInteger(wxT("ShowNavBar"), m_mainBook->IsNavBarShown() ? 1 : 0);
GetWorkspacePane()->SaveWorkspaceViewTabOrder();
- // save the current session before closing
- if(ManagerST::Get()->IsWorkspaceOpen()) {
- wxString sessionName = WorkspaceST::Get()->GetWorkspaceFileName().GetFullPath();
- SessionEntry session;
- session.SetWorkspaceName(sessionName);
- GetMainBook()->SaveSession(session);
- ManagerST::Get()->GetBreakpointsMgr()->SaveSession(session);
- SessionManager::Get().Save(sessionName, session);
- SessionManager::Get().SetLastWorkspaceName(sessionName);
- }
-
// keep list of all detached panes
wxArrayString panes = m_DPmenuMgr->GetDeatchedPanesList();
DetachedPanesInfo dpi(panes);
@@ -5566,18 +5498,38 @@ void clMainFrame::OnGrepWord(wxCommandEvent& e)
wxArrayString files;
wxArrayString rootDirs;
+ wxString mask;
if(singleFileSearch) {
rootDirs.Add(wxGetTranslation(SEARCH_IN_CURRENT_FILE));
files.Add(editor->GetFileName().GetFullPath());
+ mask << editor->GetFileName().GetFullName(); // this will ensure that this file is scanned
+
} else {
rootDirs.Add(wxGetTranslation(SEARCH_IN_WORKSPACE));
ManagerST::Get()->GetWorkspaceFiles(files);
+ wxStringSet_t masks;
+ // Build a mask that matches the workspace content
+ std::for_each(files.begin(), files.end(), [&](const wxString& filename) {
+ wxFileName fn(filename);
+ wxString curfileMask = fn.GetExt();
+ if(fn.GetExt().IsEmpty()) {
+ curfileMask = "*";
+ } else {
+ curfileMask = "*." + fn.GetExt();
+ }
+
+ if(masks.count(curfileMask) == 0) {
+ masks.insert(curfileMask);
+ mask << curfileMask << ";";
+ }
+ });
}
data.SetRootDirs(rootDirs);
data.SetFiles(files);
data.UseNewTab(true);
data.SetOwner(GetOutputPane()->GetFindResultsTab());
+ data.SetExtensions(mask);
SearchThreadST::Get()->PerformSearch(data);
}
@@ -5588,15 +5540,9 @@ void clMainFrame::OnGrepWordUI(wxUpdateUIEvent& e)
e.Enable(editor && !editor->GetSelectedText().IsEmpty());
}
-void clMainFrame::OnPchCacheEnded(wxCommandEvent& e)
-{
- e.Skip();
-}
+void clMainFrame::OnPchCacheEnded(wxCommandEvent& e) { e.Skip(); }
-void clMainFrame::OnPchCacheStarted(wxCommandEvent& e)
-{
- e.Skip();
-}
+void clMainFrame::OnPchCacheStarted(wxCommandEvent& e) { e.Skip(); }
////////////////// View -> Workspace View -> /////////////////////////////////////
@@ -6000,6 +5946,7 @@ void clMainFrame::OnSettingsChanged(wxCommandEvent& e)
{
e.Skip();
SetFrameTitle(GetMainBook()->GetActiveEditor());
+ ShowOrHideCaptions();
}
void clMainFrame::OnDetachEditor(wxCommandEvent& e) { GetMainBook()->DetachActiveEditor(); }
@@ -6019,9 +5966,22 @@ void clMainFrame::OnShowToolbar(wxCommandEvent& event)
{
// Hide the _native_ toolbar
if(GetToolBar()) {
- GetToolBar()->Show(event.IsChecked());
- GetToolBar()->Realize();
+ if(event.IsChecked()) {
+
+ // show the toolbar, we first delete the old one
+ GetToolBar()->Hide();
+ delete GetToolBar();
+ // Recreate the toolbar
+ if(EditorConfigST::Get()->GetOptions()->GetIconsSize() == 24) {
+ CreateNativeToolbar24();
+ } else {
+ CreateNativeToolbar16();
+ }
+ } else {
+ GetToolBar()->Hide();
+ GetToolBar()->Realize();
+ }
} else {
wxAuiPaneInfoArray& panes = m_mgr.GetAllPanes();
for(size_t i = 0; i < panes.GetCount(); ++i) {
@@ -6112,25 +6072,6 @@ void clMainFrame::OnSplitSelectionUI(wxUpdateUIEvent& event)
event.Enable(editor && editor->HasSelection());
}
-void clMainFrame::OnColoursAndFontsLoaded(clColourEvent& event)
-{
- event.Skip();
-
- // Build the "View As" menu
- CreateViewAsSubMenu();
-
- // Load the session
- wxString sessConfFile;
- sessConfFile << clStandardPaths::Get().GetUserDataDir() << wxT("/config/sessions.xml");
- SessionManager::Get().Load(sessConfFile);
-
- // Load last session?
- if(clConfig::Get().Read(kConfigRestoreLastSession, true) && m_loadLastSession) {
- wxCommandEvent loadSessionEvent(wxEVT_LOAD_SESSION);
- EventNotifier::Get()->AddPendingEvent(loadSessionEvent);
- }
-}
-
void clMainFrame::OnProjectRenamed(clCommandEvent& event)
{
event.Skip();
@@ -6144,3 +6085,38 @@ void clMainFrame::OnShowTabBar(wxCommandEvent& event)
}
void clMainFrame::OnShowTabBarUI(wxUpdateUIEvent& event) { event.Check(clConfig::Get().Read(kConfigShowTabBar, true)); }
+
+void clMainFrame::OnRunSetupWizard(wxCommandEvent& e)
+{
+ wxUnusedVar(e);
+ if(!StartSetupWizard()) {
+ GetMainBook()->ApplySettingsChanges();
+ }
+}
+
+void clMainFrame::OnCloseTabsToTheRight(wxCommandEvent& e)
+{
+ wxUnusedVar(e);
+ wxWindow* win = GetMainBook()->GetCurrentPage();
+ if(win) {
+ GetMainBook()->CallAfter(&MainBook::CloseTabsToTheRight, win);
+ }
+}
+
+void clMainFrame::OnMarkEditorReadonly(wxCommandEvent& e)
+{
+ wxUnusedVar(e);
+ LEditor* editor = GetMainBook()->GetActiveEditor();
+ CHECK_PTR_RET(editor);
+
+ editor->SetReadOnly(e.IsChecked());
+ GetMainBook()->MarkEditorReadOnly(editor);
+}
+
+void clMainFrame::OnMarkEditorReadonlyUI(wxUpdateUIEvent& e)
+{
+ LEditor* editor = GetMainBook()->GetActiveEditor();
+ CHECK_PTR_RET(editor);
+
+ e.Check(!editor->IsEditable());
+}
diff --git a/LiteEditor/frame.h b/LiteEditor/frame.h
index 86b3b217..b67c1b49 100644
--- a/LiteEditor/frame.h
+++ b/LiteEditor/frame.h
@@ -52,6 +52,7 @@
#include "clStatusBar.h"
// forward decls
+class clSingleInstanceThread;
class wxCustomStatusBar;
class TagEntry;
class WorkspacePane;
@@ -113,6 +114,8 @@ class clMainFrame : public wxFrame
// Maintain a set of core toolbars (i.e. toolbars not owned by any plugin)
wxStringSet_t m_coreToolbars;
clStatusBar* m_statusBar;
+ clSingleInstanceThread* m_singleInstanceThread;
+
protected:
bool IsEditorEvent(wxEvent& event);
void DoCreateBuildDropDownMenu(wxMenu* menu);
@@ -186,13 +189,6 @@ public:
bool GetHighlightWord() { return m_highlightWord; }
/**
- * @brief Return language name by menu item id
- * @param id
- * @return
- */
- wxString GetViewAsLanguageById(int id) const;
-
- /**
* @brief
* @param editor
*/
@@ -250,8 +246,8 @@ public:
const GeneralInfo& GetFrameGeneralInfo() const { return m_frameGeneralInfo; }
- void OnSingleInstanceOpenFiles(wxCommandEvent& e);
- void OnSingleInstanceRaise(wxCommandEvent& e);
+ void OnSingleInstanceOpenFiles(clCommandEvent& e);
+ void OnSingleInstanceRaise(clCommandEvent& e);
/**
* @brief rebuild the give project
@@ -280,7 +276,7 @@ public:
void CreateRecentlyOpenedWorkspacesMenu();
void DoSuggestRestart();
- void LocateCompilersIfNeeded();
+ void Bootstrap();
private:
// make our frame's constructor private
@@ -326,14 +322,18 @@ private:
void ToggleToolBars(bool all);
void ViewPaneUI(const wxString& paneName, wxUpdateUIEvent& event);
- void CreateViewAsSubMenu();
void CreateRecentlyOpenedFilesMenu();
void CreateWelcomePage();
bool ReloadExternallyModifiedProjectFiles();
void DoEnableWorkspaceViewFlag(bool enable, int flag);
void DoUpdatePerspectiveMenu();
bool IsWorkspaceViewFlagEnabled(int flag);
-
+ /**
+ * @brief show the startup wizard
+ * @return true if a restart is needed
+ */
+ bool StartSetupWizard();
+
public:
void ViewPane(const wxString& paneName, bool checked);
void ShowOrHideCaptions();
@@ -360,6 +360,7 @@ protected:
void OnFunctionCalltip(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnCheckForUpdate(wxCommandEvent& e);
+ void OnRunSetupWizard(wxCommandEvent& e);
void OnFileNew(wxCommandEvent& event);
void OnFileOpen(wxCommandEvent& event);
void OnFileClose(wxCommandEvent& event);
@@ -371,6 +372,7 @@ protected:
void OnCompleteWordUpdateUI(wxUpdateUIEvent& event);
void OnFunctionCalltipUI(wxUpdateUIEvent& event);
void OnIncrementalSearch(wxCommandEvent& event);
+ void OnIncrementalReplace(wxCommandEvent& event);
void OnIncrementalSearchUI(wxUpdateUIEvent& event);
void OnViewToolbar(wxCommandEvent& event);
void OnViewToolbarUI(wxUpdateUIEvent& event);
@@ -439,6 +441,8 @@ protected:
void OnOpenShellFromFilePath(wxCommandEvent& e);
void OnOpenFileExplorerFromFilePath(wxCommandEvent& e);
void OnDetachEditor(wxCommandEvent& e);
+ void OnMarkEditorReadonly(wxCommandEvent& e);
+ void OnMarkEditorReadonlyUI(wxUpdateUIEvent& e);
void OnDetachEditorUI(wxUpdateUIEvent& e);
void OnQuickDebug(wxCommandEvent& e);
void OnQuickDebugUI(wxUpdateUIEvent& e);
@@ -489,6 +493,7 @@ protected:
void OnCompileFile(wxCommandEvent& e);
void OnCompileFileUI(wxUpdateUIEvent& e);
void OnCloseAllButThis(wxCommandEvent& e);
+ void OnCloseTabsToTheRight(wxCommandEvent& e);
void OnWorkspaceMenuUI(wxUpdateUIEvent& e);
void OnUpdateBuildRefactorIndexBar(wxCommandEvent& e);
void OnUpdateNumberOfBuildProcesses(wxCommandEvent& e);
@@ -511,7 +516,7 @@ protected:
void OnViewWordWrap(wxCommandEvent& e);
void OnViewWordWrapUI(wxUpdateUIEvent& e);
void OnViewDisplayEOL_UI(wxUpdateUIEvent& e);
-
+
// Docking windows events
void OnAuiManagerRender(wxAuiManagerEvent& e);
void OnDockablePaneClosed(wxAuiManagerEvent& e);
@@ -558,7 +563,6 @@ protected:
void OnSettingsChanged(wxCommandEvent& e);
void OnEditMenuOpened(wxMenuEvent& e);
void OnProjectRenamed(clCommandEvent &event);
- void OnColoursAndFontsLoaded(clColourEvent &event);
DECLARE_EVENT_TABLE()
};
diff --git a/LiteEditor/implement_parent_virtual_functions.cpp b/LiteEditor/implement_parent_virtual_functions.cpp
index f49bd024..4787d654 100644
--- a/LiteEditor/implement_parent_virtual_functions.cpp
+++ b/LiteEditor/implement_parent_virtual_functions.cpp
@@ -71,8 +71,9 @@ ImplementParentVirtualFunctionsDialog::ImplementParentVirtualFunctionsDialog( wx
m_dataviewModel = new ImplFuncModel();
m_dataviewModel->SetColCount(colCount);
m_dataview->AssociateModel( m_dataviewModel.get() );
-
- WindowAttrManager::Load(this, wxT("ImplementParentVirtualFunctionsDialog"), NULL);
+
+ SetName("ImplementParentVirtualFunctionsDialog");
+ WindowAttrManager::Load(this);
ImplParentVirtualFunctionsData data;
EditorConfigST::Get()->ReadObject(wxT("ImplParentVirtualFunctionsData"), &data);
@@ -91,7 +92,7 @@ ImplementParentVirtualFunctionsDialog::~ImplementParentVirtualFunctionsDialog()
data.SetFlags(flags);
EditorConfigST::Get()->WriteObject(wxT("ImplParentVirtualFunctionsData"), &data);
- WindowAttrManager::Save(this, wxT("ImplementParentVirtualFunctionsDialog"), NULL);
+
}
void ImplementParentVirtualFunctionsDialog::DoInitialize(bool updateDoxyOnly)
diff --git a/LiteEditor/importfilessettings.cpp b/LiteEditor/importfilessettings.cpp
index cf375797..322f145f 100644
--- a/LiteEditor/importfilessettings.cpp
+++ b/LiteEditor/importfilessettings.cpp
@@ -22,9 +22,11 @@
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
- #include "importfilessettings.h"
+#include "importfilessettings.h"
ImportFilesSettings::ImportFilesSettings()
+ : m_fileMask("*.cpp;*.cc;*.cxx;*.h;*.hpp;*.c;*.c++;*.tcc;*.hxx;*.h++")
+ , m_flags(0)
{
}
@@ -32,16 +34,16 @@ ImportFilesSettings::~ImportFilesSettings()
{
}
-void ImportFilesSettings::DeSerialize(Archive &arch)
+void ImportFilesSettings::DeSerialize(Archive& arch)
{
- arch.Read(wxT("m_fileMask"), m_fileMask);
- arch.Read(wxT("m_flags"), m_flags);
- arch.Read(wxT("m_baseDir"), m_baseDir);
+ arch.Read(wxT("m_fileMask"), m_fileMask);
+ arch.Read(wxT("m_flags"), m_flags);
+ arch.Read(wxT("m_baseDir"), m_baseDir);
}
-void ImportFilesSettings::Serialize(Archive &arch)
+void ImportFilesSettings::Serialize(Archive& arch)
{
- arch.Write(wxT("m_fileMask"), m_fileMask);
- arch.Write(wxT("m_flags"), m_flags);
- arch.Write(wxT("m_baseDir"), m_baseDir);
+ arch.Write(wxT("m_fileMask"), m_fileMask);
+ arch.Write(wxT("m_flags"), m_flags);
+ arch.Write(wxT("m_baseDir"), m_baseDir);
}
diff --git a/LiteEditor/importfilessettings.h b/LiteEditor/importfilessettings.h
index 2a80f01a..80ee331b 100644
--- a/LiteEditor/importfilessettings.h
+++ b/LiteEditor/importfilessettings.h
@@ -26,44 +26,47 @@
#define __importfilessettings__
#include "serialized_object.h"
-
-enum {
- IFS_INCLUDE_FILES_WO_EXT = 0x00000001
-};
+enum { IFS_INCLUDE_FILES_WO_EXT = 0x00000001 };
class ImportFilesSettings : public SerializedObject
{
- wxString m_fileMask;
- size_t m_flags;
- wxString m_baseDir;
+ wxString m_fileMask;
+ size_t m_flags;
+ wxString m_baseDir;
public:
- ImportFilesSettings();
- virtual ~ImportFilesSettings();
+ ImportFilesSettings();
+ virtual ~ImportFilesSettings();
- virtual void DeSerialize(Archive &arch);
- virtual void Serialize(Archive &arch);
+ virtual void DeSerialize(Archive& arch);
+ virtual void Serialize(Archive& arch);
- //Setters
- void SetFileMask(const wxString& fileMask) {
- this->m_fileMask = fileMask;
- }
- void SetFlags(const size_t& flags) {
- this->m_flags = flags;
- }
- //Getters
- const wxString& GetFileMask() const {
- return m_fileMask;
- }
- const size_t& GetFlags() const {
- return m_flags;
- }
+ // Setters
+ void SetFileMask(const wxString& fileMask)
+ {
+ this->m_fileMask = fileMask;
+ }
+ void SetFlags(const size_t& flags)
+ {
+ this->m_flags = flags;
+ }
+ // Getters
+ const wxString& GetFileMask() const
+ {
+ return m_fileMask;
+ }
+ const size_t& GetFlags() const
+ {
+ return m_flags;
+ }
- void SetBaseDir(const wxString& baseDir) {
- this->m_baseDir = baseDir;
- }
- const wxString& GetBaseDir() const {
- return m_baseDir;
- }
+ void SetBaseDir(const wxString& baseDir)
+ {
+ this->m_baseDir = baseDir;
+ }
+ const wxString& GetBaseDir() const
+ {
+ return m_baseDir;
+ }
};
#endif // __importfilessettings__
diff --git a/LiteEditor/mainbook.cpp b/LiteEditor/mainbook.cpp
index 96b91025..94bc6809 100644
--- a/LiteEditor/mainbook.cpp
+++ b/LiteEditor/mainbook.cpp
@@ -42,6 +42,8 @@
#include <wx/regex.h>
#include "clAuiMainNotebookTabArt.h"
#include "pluginmanager.h"
+#include <algorithm>
+#include "clFileOrFolderDropTarget.h"
#if CL_USE_NATIVEBOOK
#ifdef __WXGTK20__
@@ -95,7 +97,6 @@ void MainBook::CreateGuiControls()
m_quickFindBar = new QuickFindBar(this);
DoPositionFindBar(2);
-
sz->Layout();
}
@@ -296,6 +297,9 @@ void MainBook::SaveSession(SessionEntry& session, wxArrayInt* excludeArr) { Crea
void MainBook::RestoreSession(SessionEntry& session)
{
+ if(session.GetTabInfoArr().empty()) return; // nothing to restore
+
+ CloseAll(false);
size_t sel = session.GetSelectedTab();
const std::vector<TabInfo>& vTabInfoArr = session.GetTabInfoArr();
for(size_t i = 0; i < vTabInfoArr.size(); i++) {
@@ -310,7 +314,7 @@ void MainBook::RestoreSession(SessionEntry& session)
continue;
}
- editor->ScrollToLine(ti.GetFirstVisibleLine());
+ editor->SetFirstVisibleLine(ti.GetFirstVisibleLine());
editor->SetEnsureCaretIsVisible(editor->PositionFromLine(ti.GetCurrentLine()));
editor->LoadMarkersFromArray(ti.GetBookmarks());
editor->LoadCollapsedFoldsFromArray(ti.GetCollapsedFolds());
@@ -576,8 +580,8 @@ LEditor* MainBook::OpenFile(const wxString& file_name,
}
editor->SetSyntaxHighlight();
- // mark the editor as read only if needed
- MarkEditorReadOnly(editor, IsFileReadOnly(editor->GetFileName()));
+ // mark the editor as read only if neede
+ MarkEditorReadOnly(editor);
// SHow the notebook
if(hidden) GetSizer()->Show(m_book);
@@ -761,6 +765,14 @@ bool MainBook::SaveAll(bool askUser, bool includeUntitled)
void MainBook::ReloadExternallyModified(bool prompt)
{
if(m_isWorkspaceReloading) return;
+ static int depth = wxNOT_FOUND;
+ ++depth;
+
+ // Protect against recursion
+ if(depth == 2) {
+ depth = wxNOT_FOUND;
+ return;
+ }
LEditor::Vec_t editors;
GetAllEditors(editors, MainBook::kGetAll_IncludeDetached);
@@ -826,6 +838,28 @@ void MainBook::ReloadExternallyModified(bool prompt)
return;
}
+ // See issue: https://github.com/eranif/codelite/issues/663
+ LEditor::Vec_t editorsAgain;
+ GetAllEditors(editorsAgain, MainBook::kGetAll_IncludeDetached);
+
+ // Make sure that the tabs that we have opened
+ // are still available in the main book
+ LEditor::Vec_t realEditorsList;
+ std::sort(editors.begin(), editors.end());
+ std::sort(editorsAgain.begin(), editorsAgain.end());
+ std::set_intersection(
+ editorsAgain.begin(), editorsAgain.end(), editors.begin(), editors.end(), std::back_inserter(realEditorsList));
+
+ // Update the "files" list
+ if(editors.size() != realEditorsList.size()) {
+ // something went wrong here...
+ CallAfter(&MainBook::ReloadExternallyModified, prompt);
+ return;
+ }
+
+ // reset the recursive protector
+ depth = wxNOT_FOUND;
+
std::vector<wxFileName> filesToRetag;
for(size_t i = 0; i < files.size(); i++) {
if(files[i].second) {
@@ -1039,15 +1073,26 @@ void MainBook::UpdateBreakpoints()
ManagerST::Get()->GetBreakpointsMgr()->RefreshBreakpointMarkers();
}
-void MainBook::MarkEditorReadOnly(LEditor* editor, bool ro)
+void MainBook::MarkEditorReadOnly(LEditor* editor)
{
if(!editor) {
return;
}
+
+ bool readOnly = (!editor->IsEditable()) || ::IsFileReadOnly(editor->GetFileName());
+ if(readOnly && editor->GetModify()) {
+ // an attempt to mark a modified file as read-only
+ // ask the user to save his changes before
+ ::wxMessageBox(_("Please save your changes before marking the file as read only"),
+ "CodeLite",
+ wxOK | wxCENTER | wxICON_WARNING,
+ this);
+ return;
+ }
#if !CL_USE_NATIVEBOOK
for(size_t i = 0; i < m_book->GetPageCount(); i++) {
if(editor == m_book->GetPage(i)) {
- m_book->SetPageBitmap(i, ro ? wxXmlResource::Get()->LoadBitmap(wxT("read_only")) : wxNullBitmap);
+ m_book->SetPageBitmap(i, readOnly ? wxXmlResource::Get()->LoadBitmap(wxT("read_only")) : wxNullBitmap);
break;
}
}
@@ -1083,7 +1128,8 @@ bool MainBook::DoSelectPage(wxWindow* win)
// wxT("C++"));
// }
// }
- SendCmdEvent(wxEVT_ACTIVE_EDITOR_CHANGED, (IEditor*)editor);
+ wxCommandEvent event(wxEVT_ACTIVE_EDITOR_CHANGED);
+ EventNotifier::Get()->AddPendingEvent(event);
}
return true;
@@ -1103,18 +1149,22 @@ void MainBook::ShowMessage(const wxString& message,
void MainBook::OnPageChanged(NotebookEvent& e)
{
+ e.Skip();
int newSel = e.GetSelection();
if(newSel != wxNOT_FOUND && m_reloadingDoRaise) {
wxWindow* win = m_book->GetPage((size_t)newSel);
if(win) {
SelectPage(win);
- // LEditor *editor = dynamic_cast<LEditor*>(win);
- // if(editor) {
- // ManagerST::Get()->UpdatePreprocessorFile(editor);
- //}
}
}
- e.Skip();
+
+ // Cancel any tooltip
+ LEditor::Vec_t editors;
+ GetAllEditors(editors, MainBook::kGetAll_IncludeDetached);
+ for(size_t i = 0; i < editors.size(); ++i) {
+ // Cancel any calltip when switching from the editor
+ editors.at(i)->DoCancelCalltip();
+ }
}
wxWindow* MainBook::GetCurrentPage() { return m_book->GetCurrentPage(); }
@@ -1183,7 +1233,6 @@ void MainBook::OnPageChanging(NotebookEvent& e)
{
LEditor* editor = GetActiveEditor();
if(editor) {
- editor->HideCompletionBox();
editor->CallTipCancel();
}
#if HAS_LIBCLANG
@@ -1310,3 +1359,44 @@ void MainBook::ShowTabBar(bool b)
m_book->SetTabCtrlHeight(b ? 30 : 0);
m_book->Refresh();
}
+
+void MainBook::CloseTabsToTheRight(wxWindow* win)
+{
+ wxString text;
+
+ //clWindowUpdateLocker locker(this);
+
+ // Get list of tabs to close
+ std::vector<wxWindow*> windows;
+ bool currentWinFound(false);
+ for(size_t i=0; i<m_book->GetPageCount(); ++i) {
+ if(currentWinFound) {
+ windows.push_back(m_book->GetPage(i));
+ } else {
+ if(m_book->GetPage(i) == win) {
+ currentWinFound = true;
+ }
+ }
+ }
+
+ // start from right to left
+ if(windows.empty()) return;
+
+ std::vector<wxWindow*> tabsToClose;
+ for(int i = (int)(windows.size() - 1); i >= 0; --i) {
+ if(windows.at(i) == win) {
+ break;
+ }
+ tabsToClose.push_back(windows.at(i));
+ }
+
+ if(tabsToClose.empty()) return;
+
+ for(size_t i = 0; i < tabsToClose.size(); ++i) {
+ ClosePage(tabsToClose.at(i));
+ }
+
+#ifdef __WXMAC__
+ m_book->GetSizer()->Layout();
+#endif
+}
diff --git a/LiteEditor/mainbook.h b/LiteEditor/mainbook.h
index 15534287..f192c925 100644
--- a/LiteEditor/mainbook.h
+++ b/LiteEditor/mainbook.h
@@ -101,6 +101,8 @@ public:
void ShowQuickBarForPlugins() { m_quickFindBar->ShowForPlugins(); }
void ShowQuickBar(bool s = true) { m_quickFindBar->Show(s); }
void ShowQuickBar(const wxString& findWhat) { m_quickFindBar->Show(findWhat); }
+ void ShowQuickReplaceBar(bool show) { m_quickFindBar->ShowReplacebar(show); }
+ void ToggleQuickReplaceBar() { m_quickFindBar->ToggleReplacebar(); }
void ShowMessage(const wxString& message,
bool showHideButton = true,
const wxBitmap& bmp = wxNullBitmap,
@@ -179,9 +181,8 @@ public:
// These 3 functions are meant to be used with CallAfter
void ClosePageVoid(wxWindow* win);
-
void CloseAllButThisVoid(wxWindow* win);
-
+ void CloseTabsToTheRight(wxWindow* win);
void CloseAllVoid(bool cancellable);
wxString GetPageTitle(wxWindow* win) const;
@@ -197,7 +198,7 @@ public:
void ShowWhitespace(int ws);
void UpdateColours();
void UpdateBreakpoints();
- void MarkEditorReadOnly(LEditor* editor, bool ro);
+ void MarkEditorReadOnly(LEditor* editor);
void SetUseBuffereLimit(bool useBuffereLimit) { this->m_useBuffereLimit = useBuffereLimit; }
bool GetUseBuffereLimit() const { return m_useBuffereLimit; }
diff --git a/LiteEditor/manage_perspective_dlg.cpp b/LiteEditor/manage_perspective_dlg.cpp
index 34e72d93..030a2ac0 100644
--- a/LiteEditor/manage_perspective_dlg.cpp
+++ b/LiteEditor/manage_perspective_dlg.cpp
@@ -1,87 +1,83 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : manage_perspective_dlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : manage_perspective_dlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "manage_perspective_dlg.h"
#include "windowattrmanager.h"
#include "manager.h"
#include "perspectivemanager.h"
-ManagePerspectivesDlg::ManagePerspectivesDlg( wxWindow* parent )
- : ManagePerspectivesBaseDlg( parent )
+ManagePerspectivesDlg::ManagePerspectivesDlg(wxWindow* parent)
+ : ManagePerspectivesBaseDlg(parent)
{
- m_listBox->Clear();
- m_listBox->Append(ManagerST::Get()->GetPerspectiveManager().GetAllPerspectives());
- GetSizer()->Fit(this);
- WindowAttrManager::Load(this, wxT("ManagePerspectivesDlg"), NULL);
+ m_listBox->Clear();
+ m_listBox->Append(ManagerST::Get()->GetPerspectiveManager().GetAllPerspectives());
+ GetSizer()->Fit(this);
+ SetName("ManagePerspectivesDlg");
+ WindowAttrManager::Load(this);
}
-ManagePerspectivesDlg::~ManagePerspectivesDlg()
-{
- WindowAttrManager::Save(this, wxT("ManagePerspectivesDlg"), NULL);
-}
+ManagePerspectivesDlg::~ManagePerspectivesDlg() {}
-void ManagePerspectivesDlg::OnDeletePerspective( wxCommandEvent& event )
+void ManagePerspectivesDlg::OnDeletePerspective(wxCommandEvent& event)
{
- wxString sel = m_listBox->GetStringSelection();
- if(sel.IsEmpty())
- return;
+ wxString sel = m_listBox->GetStringSelection();
+ if(sel.IsEmpty()) return;
- if(::wxMessageBox(wxString::Format(_("Are you sure you want to delete perspective '%s'?"), sel.c_str()), wxT("CodeLite"), wxYES_NO|wxICON_QUESTION) == wxYES) {
- ManagerST::Get()->GetPerspectiveManager().Delete(sel);
- DoPopulateList();
- }
+ if(::wxMessageBox(wxString::Format(_("Are you sure you want to delete perspective '%s'?"), sel.c_str()),
+ wxT("CodeLite"),
+ wxYES_NO | wxICON_QUESTION) == wxYES) {
+ ManagerST::Get()->GetPerspectiveManager().Delete(sel);
+ DoPopulateList();
+ }
}
-void ManagePerspectivesDlg::OnDeletePerspectiveUI( wxUpdateUIEvent& event )
+void ManagePerspectivesDlg::OnDeletePerspectiveUI(wxUpdateUIEvent& event)
{
- event.Enable(m_listBox->GetSelection() != wxNOT_FOUND);
+ event.Enable(m_listBox->GetSelection() != wxNOT_FOUND);
}
-void ManagePerspectivesDlg::OnRenamePerspective( wxCommandEvent& event )
+void ManagePerspectivesDlg::OnRenamePerspective(wxCommandEvent& event)
{
- wxString sel = m_listBox->GetStringSelection();
- if(sel.IsEmpty())
- return;
+ wxString sel = m_listBox->GetStringSelection();
+ if(sel.IsEmpty()) return;
- wxString newName = ::wxGetTextFromUser(_("Enter new name:"), _("Rename perspective"));
- if(newName.IsEmpty())
- return;
+ wxString newName = ::wxGetTextFromUser(_("Enter new name:"), _("Rename perspective"));
+ if(newName.IsEmpty()) return;
- ManagerST::Get()->GetPerspectiveManager().Rename(sel, newName);
- DoPopulateList();
+ ManagerST::Get()->GetPerspectiveManager().Rename(sel, newName);
+ DoPopulateList();
}
-void ManagePerspectivesDlg::OnRenamePerspectiveUI( wxUpdateUIEvent& event )
+void ManagePerspectivesDlg::OnRenamePerspectiveUI(wxUpdateUIEvent& event)
{
- event.Enable(m_listBox->GetSelection() != wxNOT_FOUND);
+ event.Enable(m_listBox->GetSelection() != wxNOT_FOUND);
}
void ManagePerspectivesDlg::DoPopulateList()
{
- // Refresh the list
- m_listBox->Clear();
- m_listBox->Append(ManagerST::Get()->GetPerspectiveManager().GetAllPerspectives());
+ // Refresh the list
+ m_listBox->Clear();
+ m_listBox->Append(ManagerST::Get()->GetPerspectiveManager().GetAllPerspectives());
}
-
diff --git a/LiteEditor/manager.cpp b/LiteEditor/manager.cpp
index de97055b..fbf1c301 100644
--- a/LiteEditor/manager.cpp
+++ b/LiteEditor/manager.cpp
@@ -68,6 +68,7 @@
#include "sessionmanager.h"
#include "globals.h"
#include "vcimporter.h"
+#include "WSImporter.h"
#include "macros.h"
#include "dirsaver.h"
#include "workspace_pane.h"
@@ -98,6 +99,7 @@
#include "CompileCommandsCreateor.h"
#include "CompilersModifiedDlg.h"
#include "clKeyboardManager.h"
+#include "wxCodeCompletionBoxManager.h"
#include "localworkspace.h"
#ifndef __WXMSW__
@@ -192,7 +194,9 @@ Manager::Manager(void)
, m_repositionEditor(true)
{
m_codeliteLauncher = wxFileName(wxT("codelite_launcher"));
- Connect(wxEVT_CMD_RESTART_CODELITE, wxCommandEventHandler(Manager::OnRestart), NULL, this);
+ Bind(wxEVT_RESTART_CODELITE, &Manager::OnRestart, this);
+ Connect(wxEVT_CMD_RESTART_CODELITE, wxCommandEventHandler(Manager::OnCmdRestart), NULL, this);
+
Connect(wxEVT_PARSE_THREAD_SCAN_INCLUDES_DONE, wxCommandEventHandler(Manager::OnIncludeFilesScanDone), NULL, this);
Connect(wxEVT_CMD_DB_CONTENT_CACHE_COMPLETED, wxCommandEventHandler(Manager::OnDbContentCacherLoaded), NULL, this);
Connect(wxEVT_PARSE_THREAD_SUGGEST_COLOUR_TOKENS,
@@ -213,6 +217,9 @@ Manager::Manager(void)
Manager::~Manager(void)
{
+ Unbind(wxEVT_RESTART_CODELITE, &Manager::OnRestart, this);
+ Disconnect(wxEVT_CMD_RESTART_CODELITE, wxCommandEventHandler(Manager::OnCmdRestart), NULL, this);
+
EventNotifier::Get()->Disconnect(
wxEVT_CMD_PROJ_SETTINGS_SAVED, clProjectSettingsEventHandler(Manager::OnProjectSettingsModified), NULL, this);
EventNotifier::Get()->Disconnect(wxEVT_BUILD_ENDED, clBuildEventHandler(Manager::OnBuildEnded), NULL, this);
@@ -260,6 +267,7 @@ Manager::~Manager(void)
wxDELETE(m_breakptsmgr);
TabGroupsManager::Free();
clKeyboardManager::Release();
+ wxCodeCompletionBoxManager::Free();
}
//--------------------------- Workspace Loading -----------------------------
@@ -349,7 +357,7 @@ void Manager::DoSetupWorkspace(const wxString& path)
{
SessionEntry session;
if(SessionManager::Get().GetSession(path, session)) {
- SessionManager::Get().SetLastWorkspaceName(path);
+ SessionManager::Get().SetLastSession(path);
clMainFrame::Get()->GetWorkspaceTab()->FreezeThaw(true); // Undo any workspace/editor link while loading
clMainFrame::Get()->GetMainBook()->RestoreSession(session);
clMainFrame::Get()->GetWorkspaceTab()->FreezeThaw(false);
@@ -390,7 +398,7 @@ void Manager::CloseWorkspace()
if(!IsShutdownInProgress()) {
SendCmdEvent(wxEVT_WORKSPACE_CLOSING);
}
-
+
DbgClearWatches();
// If we got a running debugging session - terminate it
@@ -412,10 +420,9 @@ void Manager::CloseWorkspace()
// since we closed the workspace, we also need to set the 'LastActiveWorkspaceName' to be
// default
- SessionManager::Get().SetLastWorkspaceName(wxT("Default"));
+ SessionManager::Get().SetLastSession(wxT("Default"));
WorkspaceST::Get()->CloseWorkspace();
-
#ifdef __WXMSW__
// Under Windows, and in order to avoid locking the directory set the working directory back to the start up
@@ -620,10 +627,12 @@ void Manager::ImportMSVSSolution(const wxString& path, const wxString& defaultCo
// Show some messages to the user
wxBusyCursor busyCursor;
- wxBusyInfo info(_("Importing MS solution..."), clMainFrame::Get());
+ wxBusyInfo info(_("Importing IDE solution/workspace..."), clMainFrame::Get());
wxString errMsg;
- VcImporter importer(path, defaultCompiler);
+ //VcImporter importer(path, defaultCompiler);
+ WSImporter importer;
+ importer.Load(path, defaultCompiler);
if(importer.Import(errMsg)) {
wxString wspfile;
wspfile << fn.GetPath() << wxT("/") << fn.GetName() << wxT(".workspace");
@@ -703,9 +712,14 @@ void Manager::SetActiveProject(const wxString& name)
WorkspaceST::Get()->SetActiveProject(name, true);
clMainFrame::Get()->SelectBestEnvSet();
- clProjectSettingsEvent evt(wxEVT_ACTIVE_PROJECT_CHANGED);
- evt.SetProjectName(name);
- EventNotifier::Get()->AddPendingEvent(evt);
+ // Notify about the change
+ ProjectPtr activeProject = WorkspaceST::Get()->GetActiveProject();
+ if(activeProject) {
+ clProjectSettingsEvent evt(wxEVT_ACTIVE_PROJECT_CHANGED);
+ evt.SetProjectName(name);
+ evt.SetFileName(activeProject->GetFileName().GetFullPath());
+ EventNotifier::Get()->AddPendingEvent(evt);
+ }
}
BuildMatrixPtr Manager::GetWorkspaceBuildMatrix() const { return WorkspaceST::Get()->GetBuildMatrix(); }
@@ -2146,7 +2160,7 @@ void Manager::DbgStart(long attachPid)
// read
wxArrayString dbg_cmds;
DebugSessionInfo si;
-
+
si.debuggerPath = dbgname;
si.exeName = exepath;
si.cwd = wd;
@@ -3248,12 +3262,26 @@ void Manager::DoRestartCodeLite()
clMainFrame::Get()->GetEventHandler()->AddPendingEvent(event);
wxExecute(restartCodeLiteCommand, wxEXEC_ASYNC | wxEXEC_NOHIDE);
+#else // OSX
+
+ // on OSX, we use the open command
+ wxFileName bundlePath(wxStandardPaths::Get().GetExecutablePath());
+ bundlePath.RemoveLastDir();
+ bundlePath.RemoveLastDir();
+ wxString bundlePathStr = bundlePath.GetPath();
+ ::WrapWithQuotes(bundlePathStr);
+ restartCodeLiteCommand << "/usr/bin/open " << bundlePathStr;
+
+ wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED, wxID_EXIT);
+ clMainFrame::Get()->GetEventHandler()->AddPendingEvent(event);
+
+ wxExecute(restartCodeLiteCommand, wxEXEC_ASYNC | wxEXEC_NOHIDE);
#endif
}
void Manager::SetCodeLiteLauncherPath(const wxString& path) { m_codeliteLauncher = path; }
-void Manager::OnRestart(wxCommandEvent& event)
+void Manager::OnRestart(clCommandEvent& event)
{
wxUnusedVar(event);
DoRestartCodeLite();
@@ -3720,3 +3748,9 @@ void Manager::OnFindInFilesDismissed(clCommandEvent& event)
LocalWorkspaceST::Get()->Flush();
}
}
+
+void Manager::OnCmdRestart(wxCommandEvent& event)
+{
+ wxUnusedVar(event);
+ DoRestartCodeLite();
+}
diff --git a/LiteEditor/manager.h b/LiteEditor/manager.h
index a82c7710..cdab5939 100644
--- a/LiteEditor/manager.h
+++ b/LiteEditor/manager.h
@@ -143,7 +143,8 @@ public:
void SetRepositionEditor(bool b) { m_repositionEditor = b; }
void SetCodeLiteLauncherPath(const wxString& path);
- void OnRestart(wxCommandEvent& event);
+ void OnRestart(clCommandEvent& event);
+ void OnCmdRestart(wxCommandEvent& event);
void GenerateCompileCommands();
void OnGetFindInFilesMask(clCommandEvent &event);
void OnFindInFilesDismissed(clCommandEvent &event);
diff --git a/LiteEditor/menu_event_handlers.cpp b/LiteEditor/menu_event_handlers.cpp
index d7b42cda..dc7c96cc 100644
--- a/LiteEditor/menu_event_handlers.cpp
+++ b/LiteEditor/menu_event_handlers.cpp
@@ -39,9 +39,6 @@ void EditHandler::ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event)
LEditor *editor = (LEditor*)owner;
OptionsConfigPtr options = editor->GetOptions();
- // hide completion box
- editor->HideCompletionBox();
-
if (event.GetId() == wxID_COPY) {
editor->CopyAllowLine();
@@ -129,9 +126,6 @@ void EditHandler::ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event)
editor->MoveSelectedLinesUp(); // There is a selection, so we can move it direct
}
- } else if (event.GetId() == XRCID("center_line")) {
- //editor->VerticalCentreCaret();
-
} else if (event.GetId() == XRCID("center_line_roll")) {
int here = editor->GetCurrentLine();
int top = editor->GetFirstVisibleLine();
@@ -145,6 +139,10 @@ void EditHandler::ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event)
editor->LineScrollDown(); //roll down until we get to center
}
+ } else if(event.GetId() == XRCID("convert_indent_to_spaces")) {
+ editor->ConvertIndentToSpaces();
+ } else if(event.GetId() == XRCID("convert_indent_to_tabs")) {
+ editor->ConvertIndentToTabs();
}
}
@@ -339,39 +337,6 @@ void GotoDefinitionHandler::ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEven
}
}
-//-------------------------------------------------
-// View As
-//-------------------------------------------------
-
-void ViewAsHandler::ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event)
-{
- LEditor *editor = dynamic_cast<LEditor*>(owner);
- if ( !editor ) {
- return;
- }
-
- wxString lexName = clMainFrame::Get()->GetViewAsLanguageById(event.GetInt());
- if (lexName.IsEmpty() == false) {
- editor->SetSyntaxHighlight(lexName);
- }
-}
-
-void ViewAsHandler::ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event)
-{
- LEditor *editor = dynamic_cast<LEditor*>(owner);
- if ( !editor ) {
- return;
- }
-
- event.Enable(true);
- wxString lexName = clMainFrame::Get()->GetViewAsLanguageById(event.GetInt());
-
- wxString contextName = editor->GetContext()->GetName();
- contextName.MakeLower();
-
- event.Check(contextName == lexName);
-}
-
//----------------------------------------------------
// Word wrap handler
//----------------------------------------------------
diff --git a/LiteEditor/menu_event_handlers.h b/LiteEditor/menu_event_handlers.h
index 9204d1b2..11ca9333 100644
--- a/LiteEditor/menu_event_handlers.h
+++ b/LiteEditor/menu_event_handlers.h
@@ -1,28 +1,28 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : menu_event_handlers.h
-//
+// copyright : (C) 2008 by Eran Ifrah
+// file name : menu_event_handlers.h
+//
// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
- #ifndef MENU_EVENT_HANDLERS_H
+#ifndef MENU_EVENT_HANDLERS_H
#define MENU_EVENT_HANDLERS_H
#include "wx/event.h"
@@ -31,23 +31,24 @@
/**
* The interface for menu event handler classes
- */
+ */
class MenuEventHandler
{
protected:
- int m_id;
+ int m_id;
public:
- MenuEventHandler(int id) : m_id(id) {};
- virtual ~MenuEventHandler(){};
+ MenuEventHandler(int id)
+ : m_id(id){};
+ virtual ~MenuEventHandler(){};
- // handle an event
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event) = 0;
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event) = 0;
+ // handle an event
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event) = 0;
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event) = 0;
- // Setters/Getters
- const int &GetEventId() const { return m_id; }
- void SetEventId(const int &id) { m_id = id; }
+ // Setters/Getters
+ const int& GetEventId() const { return m_id; }
+ void SetEventId(const int& id) { m_id = id; }
};
typedef SmartPtr<MenuEventHandler> MenuEventHandlerPtr;
@@ -59,141 +60,136 @@ typedef SmartPtr<MenuEventHandler> MenuEventHandlerPtr;
//------------------------------------
// Common edit tasks
//------------------------------------
-class EditHandler : public MenuEventHandler
+class EditHandler : public MenuEventHandler
{
public:
- EditHandler(int id) : MenuEventHandler(id){};
- virtual ~EditHandler(){};
+ EditHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~EditHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//------------------------------------
// Brace matching
//------------------------------------
-class BraceMatchHandler : public MenuEventHandler
+class BraceMatchHandler : public MenuEventHandler
{
public:
- BraceMatchHandler(int id) : MenuEventHandler(id){};
- virtual ~BraceMatchHandler(){};
+ BraceMatchHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~BraceMatchHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//------------------------------------
-// Find / Repalce
+// Find / Repalce
//------------------------------------
-class FindReplaceHandler : public MenuEventHandler
+class FindReplaceHandler : public MenuEventHandler
{
public:
- FindReplaceHandler(int id) : MenuEventHandler(id){};
- virtual ~FindReplaceHandler(){};
+ FindReplaceHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~FindReplaceHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//------------------------------------
// Goto
//------------------------------------
-class GotoHandler : public MenuEventHandler
+class GotoHandler : public MenuEventHandler
{
public:
- GotoHandler(int id) : MenuEventHandler(id){};
- virtual ~GotoHandler(){};
+ GotoHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~GotoHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//------------------------------------
// Bookmarks
//------------------------------------
-class BookmarkHandler : public MenuEventHandler
+class BookmarkHandler : public MenuEventHandler
{
public:
- BookmarkHandler(int id) : MenuEventHandler(id){};
- virtual ~BookmarkHandler(){};
+ BookmarkHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~BookmarkHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//------------------------------------
// Go to definition
//------------------------------------
-class GotoDefinitionHandler : public MenuEventHandler
+class GotoDefinitionHandler : public MenuEventHandler
{
public:
- GotoDefinitionHandler(int id) : MenuEventHandler(id){};
- virtual ~GotoDefinitionHandler(){};
+ GotoDefinitionHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~GotoDefinitionHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//-------------------------------------------------
-// View As
-//-------------------------------------------------
-class ViewAsHandler : public MenuEventHandler
-{
-public:
- ViewAsHandler(int id) : MenuEventHandler(id){};
- virtual ~ViewAsHandler(){};
-
-public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
-};
-//-------------------------------------------------
// Word wrap
//-------------------------------------------------
-class WordWrapHandler : public MenuEventHandler
+class WordWrapHandler : public MenuEventHandler
{
public:
- WordWrapHandler(int id) : MenuEventHandler(id){};
- virtual ~WordWrapHandler(){};
+ WordWrapHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~WordWrapHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//-------------------------------------------------
// Folding
//-------------------------------------------------
-class FoldHandler : public MenuEventHandler
+class FoldHandler : public MenuEventHandler
{
public:
- FoldHandler(int id) : MenuEventHandler(id){};
- virtual ~FoldHandler(){};
+ FoldHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~FoldHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
//-------------------------------------------------
// Debugger handler
//-------------------------------------------------
-class DebuggerMenuHandler : public MenuEventHandler
+class DebuggerMenuHandler : public MenuEventHandler
{
public:
- DebuggerMenuHandler(int id) : MenuEventHandler(id){};
- virtual ~DebuggerMenuHandler(){};
+ DebuggerMenuHandler(int id)
+ : MenuEventHandler(id){};
+ virtual ~DebuggerMenuHandler(){};
public:
- virtual void ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event);
- virtual void ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event);
+ virtual void ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event);
+ virtual void ProcessUpdateUIEvent(wxWindow* owner, wxUpdateUIEvent& event);
};
#endif // MENU_EVENT_HANDLERS_H
-
diff --git a/LiteEditor/menumanager.cpp b/LiteEditor/menumanager.cpp
index 51407b67..96f9f694 100644
--- a/LiteEditor/menumanager.cpp
+++ b/LiteEditor/menumanager.cpp
@@ -26,77 +26,70 @@
#include "menu_event_handlers.h"
#include "macros.h"
-
MenuManager::MenuManager(void)
{
- PushHandler(new EditHandler(wxID_COPY));
- PushHandler(new EditHandler(wxID_CUT));
- PushHandler(new EditHandler(wxID_PASTE));
- PushHandler(new EditHandler(wxID_UNDO));
- PushHandler(new EditHandler(wxID_REDO));
- PushHandler(new EditHandler(XRCID("label_current_state")));
- PushHandler(new EditHandler(wxID_SELECTALL));
- PushHandler(new EditHandler(wxID_DUPLICATE));
- PushHandler(new EditHandler(wxID_DELETE));
- PushHandler(new EditHandler(XRCID("delete_line")));
- PushHandler(new EditHandler(XRCID("delete_line_end")));
- PushHandler(new EditHandler(XRCID("delete_line_start")));
- PushHandler(new EditHandler(XRCID("transpose_lines")));
- PushHandler(new EditHandler(XRCID("trim_trailing")));
- PushHandler(new EditHandler(XRCID("to_upper")));
- PushHandler(new EditHandler(XRCID("to_lower")));
- PushHandler(new EditHandler(XRCID("swap_files")));
- PushHandler(new EditHandler(XRCID("move_line_down")));
- PushHandler(new EditHandler(XRCID("move_line_up")));
- PushHandler(new EditHandler(XRCID("center_line")));
- PushHandler(new EditHandler(XRCID("center_line_roll")));
- PushHandler(new BraceMatchHandler(XRCID("select_to_brace")));
- PushHandler(new BraceMatchHandler(XRCID("match_brace")));
- PushHandler(new FindReplaceHandler(wxID_FIND));
- PushHandler(new FindReplaceHandler(wxID_REPLACE));
- PushHandler(new GotoHandler(XRCID("goto_linenumber")));
- PushHandler(new BookmarkHandler(XRCID("toggle_bookmark")));
- PushHandler(new BookmarkHandler(XRCID("next_bookmark")));
- PushHandler(new BookmarkHandler(XRCID("previous_bookmark")));
- PushHandler(new BookmarkHandler(XRCID("removeall_current_bookmarks")));
- PushHandler(new BookmarkHandler(XRCID("removeall_bookmarks")));
- PushHandler(new GotoDefinitionHandler(XRCID("goto_definition")));
- PushHandler(new GotoDefinitionHandler(XRCID("goto_previous_definition")));
- PushHandler(new ViewAsHandler(viewAsMenuItemID));
- PushHandler(new WordWrapHandler(XRCID("word_wrap")));
- PushHandler(new FoldHandler(XRCID("toggle_fold")));
- PushHandler(new FoldHandler(XRCID("fold_topmost_in_selection")));
- PushHandler(new FoldHandler(XRCID("fold_all_in_selection")));
- PushHandler(new FoldHandler(XRCID("fold_all")));
- PushHandler(new DebuggerMenuHandler(XRCID("add_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("insert_breakpoint"))); // This actually does 'toggle'
- PushHandler(new DebuggerMenuHandler(XRCID("disable_all_breakpoints")));
- PushHandler(new DebuggerMenuHandler(XRCID("enable_all_breakpoints")));
- PushHandler(new DebuggerMenuHandler(XRCID("delete_all_breakpoints")));
- PushHandler(new DebuggerMenuHandler(XRCID("insert_temp_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("insert_disabled_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("insert_cond_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("insert_watchpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("toggle_breakpoint_enabled_status")));
- PushHandler(new DebuggerMenuHandler(XRCID("ignore_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("edit_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("delete_breakpoint")));
- PushHandler(new DebuggerMenuHandler(XRCID("show_breakpoint_dlg")));
+ PushHandler(new EditHandler(wxID_COPY));
+ PushHandler(new EditHandler(wxID_CUT));
+ PushHandler(new EditHandler(wxID_PASTE));
+ PushHandler(new EditHandler(wxID_UNDO));
+ PushHandler(new EditHandler(wxID_REDO));
+ PushHandler(new EditHandler(XRCID("label_current_state")));
+ PushHandler(new EditHandler(wxID_SELECTALL));
+ PushHandler(new EditHandler(wxID_DUPLICATE));
+ PushHandler(new EditHandler(wxID_DELETE));
+ PushHandler(new EditHandler(XRCID("delete_line")));
+ PushHandler(new EditHandler(XRCID("delete_line_end")));
+ PushHandler(new EditHandler(XRCID("delete_line_start")));
+ PushHandler(new EditHandler(XRCID("transpose_lines")));
+ PushHandler(new EditHandler(XRCID("trim_trailing")));
+ PushHandler(new EditHandler(XRCID("to_upper")));
+ PushHandler(new EditHandler(XRCID("to_lower")));
+ PushHandler(new EditHandler(XRCID("swap_files")));
+ PushHandler(new EditHandler(XRCID("move_line_down")));
+ PushHandler(new EditHandler(XRCID("move_line_up")));
+ PushHandler(new EditHandler(XRCID("center_line_roll")));
+ PushHandler(new EditHandler(XRCID("convert_indent_to_tabs")));
+ PushHandler(new EditHandler(XRCID("convert_indent_to_spaces")));
+ PushHandler(new BraceMatchHandler(XRCID("select_to_brace")));
+ PushHandler(new BraceMatchHandler(XRCID("match_brace")));
+ PushHandler(new FindReplaceHandler(wxID_FIND));
+ PushHandler(new FindReplaceHandler(wxID_REPLACE));
+ PushHandler(new GotoHandler(XRCID("goto_linenumber")));
+ PushHandler(new BookmarkHandler(XRCID("toggle_bookmark")));
+ PushHandler(new BookmarkHandler(XRCID("next_bookmark")));
+ PushHandler(new BookmarkHandler(XRCID("previous_bookmark")));
+ PushHandler(new BookmarkHandler(XRCID("removeall_current_bookmarks")));
+ PushHandler(new BookmarkHandler(XRCID("removeall_bookmarks")));
+ PushHandler(new GotoDefinitionHandler(XRCID("goto_definition")));
+ PushHandler(new GotoDefinitionHandler(XRCID("goto_previous_definition")));
+ PushHandler(new WordWrapHandler(XRCID("word_wrap")));
+ PushHandler(new FoldHandler(XRCID("toggle_fold")));
+ PushHandler(new FoldHandler(XRCID("fold_topmost_in_selection")));
+ PushHandler(new FoldHandler(XRCID("fold_all_in_selection")));
+ PushHandler(new FoldHandler(XRCID("fold_all")));
+ PushHandler(new DebuggerMenuHandler(XRCID("add_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("insert_breakpoint"))); // This actually does 'toggle'
+ PushHandler(new DebuggerMenuHandler(XRCID("disable_all_breakpoints")));
+ PushHandler(new DebuggerMenuHandler(XRCID("enable_all_breakpoints")));
+ PushHandler(new DebuggerMenuHandler(XRCID("delete_all_breakpoints")));
+ PushHandler(new DebuggerMenuHandler(XRCID("insert_temp_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("insert_disabled_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("insert_cond_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("insert_watchpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("toggle_breakpoint_enabled_status")));
+ PushHandler(new DebuggerMenuHandler(XRCID("ignore_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("edit_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("delete_breakpoint")));
+ PushHandler(new DebuggerMenuHandler(XRCID("show_breakpoint_dlg")));
}
-MenuManager::~MenuManager(void)
-{
-}
+MenuManager::~MenuManager(void) {}
-void MenuManager::PushHandler(MenuEventHandlerPtr handler)
-{
- m_handlers[handler->GetEventId()] = handler;
-}
+void MenuManager::PushHandler(MenuEventHandlerPtr handler) { m_handlers[handler->GetEventId()] = handler; }
MenuEventHandlerPtr MenuManager::GetHandler(int id)
{
- HandlesrHash::iterator iter = m_handlers.find(id);
- if ( iter != m_handlers.end() )
- return iter->second;
- return NULL;
+ HandlesrHash::iterator iter = m_handlers.find(id);
+ if(iter != m_handlers.end()) return iter->second;
+ return NULL;
}
diff --git a/LiteEditor/messagepane.wxcp b/LiteEditor/messagepane.wxcp
index 528ac71c..dbce2f71 100644
--- a/LiteEditor/messagepane.wxcp
+++ b/LiteEditor/messagepane.wxcp
@@ -1,1069 +1,1123 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 0,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxC2A73InitBitmapResources",
- "m_bitmapsFile": "messagepane_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 1962645721,
- "m_outputFileName": "messagepane_base",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4407,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "MessagePaneBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": ""
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_ERASE_BACKGROUND",
- "m_eventClass": "wxEraseEvent",
- "m_eventHandler": "wxEraseEventHandler",
- "m_functionNameAndSignature": "OnEraseBG(wxEraseEvent& event)",
- "m_description": "Process a wxEVT_ERASE_BACKGROUND event."
- }, {
- "m_eventName": "wxEVT_PAINT",
- "m_eventClass": "wxPaintEvent",
- "m_eventHandler": "wxPaintEventHandler",
- "m_functionNameAndSignature": "OnPaint(wxPaintEvent& event)",
- "m_description": "Process a wxEVT_PAINT event"
- }],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer8"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4408,
- "proportion": 1,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL", "wxBORDER_SIMPLE"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "mainSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer81"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer4"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4409,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "48,48"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bitmap1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4408,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxWANTS_CHARS", "wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer3"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "TooltipText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Message:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticTextMessage"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "TooltipText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_DontAnnoyMeCheck"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "If you don't want to be spammed by this message again, tick the box. You can change your mind in Settings > Global Editor Preferences > Dialogs"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "TooltipText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Remember my answer and don't annoy me again!"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer7"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonClose"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Hide"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonClose(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonAction"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnActionButton(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonAction1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnActionButton1(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonAction2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnActionButton2(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 0,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxC2A73InitBitmapResources",
+ "m_bitmapsFile": "messagepane_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 1962645721,
+ "m_outputFileName": "messagepane_base",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4407,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "MessagePaneBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_ERASE_BACKGROUND",
+ "m_eventClass": "wxEraseEvent",
+ "m_eventHandler": "wxEraseEventHandler",
+ "m_functionNameAndSignature": "OnEraseBG(wxEraseEvent& event)",
+ "m_description": "Process a wxEVT_ERASE_BACKGROUND event.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_PAINT",
+ "m_eventClass": "wxPaintEvent",
+ "m_eventHandler": "wxPaintEventHandler",
+ "m_functionNameAndSignature": "OnPaint(wxPaintEvent& event)",
+ "m_description": "Process a wxEVT_PAINT event",
+ "m_noBody": false
+ }],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer8"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4408,
+ "proportion": 1,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL", "wxBORDER_SIMPLE"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer81"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer4"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4409,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "48,48"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bitmap1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4408,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxWANTS_CHARS", "wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer2"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "TooltipText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Message:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticTextMessage"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "TooltipText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_DontAnnoyMeCheck"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If you don't want to be spammed by this message again, tick the box. You can change your mind in Settings > Global Editor Preferences > Dialogs"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "TooltipText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Remember my answer and don't annoy me again!"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer7"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonClose"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Hide"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonClose(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonAction"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnActionButton(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonAction1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnActionButton1(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonAction2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnActionButton2(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/messagepane_base.cpp b/LiteEditor/messagepane_base.cpp
index 56498463..73c8b6b8 100644
--- a/LiteEditor/messagepane_base.cpp
+++ b/LiteEditor/messagepane_base.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : messagepane_base.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: messagepane.wxcp
@@ -65,7 +40,7 @@ MessagePaneBase::MessagePaneBase(wxWindow* parent, wxWindowID id, const wxPoint&
wxBoxSizer* bSizer4 = new wxBoxSizer(wxHORIZONTAL);
- bSizer81->Add(bSizer4, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer81->Add(bSizer4, 1, wxEXPAND, 5);
m_bitmap1 = new wxStaticBitmap(m_panel2, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(48,48), 0 );
@@ -87,13 +62,13 @@ MessagePaneBase::MessagePaneBase(wxWindow* parent, wxWindowID id, const wxPoint&
m_staticText2->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK));
m_staticText2->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT));
- bSizer3->Add(m_staticText2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer3->Add(m_staticText2, 0, wxALL|wxEXPAND, 5);
m_staticTextMessage = new wxStaticText(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_staticTextMessage->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK));
m_staticTextMessage->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT));
- bSizer3->Add(m_staticTextMessage, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer3->Add(m_staticTextMessage, 0, wxALL|wxEXPAND, 5);
m_DontAnnoyMeCheck = new wxCheckBox(m_panel1, wxID_ANY, _("Remember my answer and don't annoy me again!"), wxDefaultPosition, wxSize(-1, -1), 0);
m_DontAnnoyMeCheck->SetValue(false);
@@ -105,7 +80,7 @@ MessagePaneBase::MessagePaneBase(wxWindow* parent, wxWindowID id, const wxPoint&
wxBoxSizer* bSizer7 = new wxBoxSizer(wxVERTICAL);
- bSizer4->Add(bSizer7, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer4->Add(bSizer7, 0, wxALL, 5);
m_buttonClose = new wxButton(m_panel2, wxID_CANCEL, _("Hide"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -114,21 +89,22 @@ MessagePaneBase::MessagePaneBase(wxWindow* parent, wxWindowID id, const wxPoint&
m_buttonAction = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_buttonAction->SetDefault();
- bSizer7->Add(m_buttonAction, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer7->Add(m_buttonAction, 0, wxALL|wxEXPAND, 5);
m_buttonAction1 = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
- bSizer7->Add(m_buttonAction1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer7->Add(m_buttonAction1, 0, wxALL|wxEXPAND, 5);
m_buttonAction2 = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
- bSizer7->Add(m_buttonAction2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer7->Add(m_buttonAction2, 0, wxALL|wxEXPAND, 5);
+ SetName(wxT("MessagePaneBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(MessagePaneBase::OnEraseBG), NULL, this);
this->Connect(wxEVT_PAINT, wxPaintEventHandler(MessagePaneBase::OnPaint), NULL, this);
diff --git a/LiteEditor/messagepane_base.h b/LiteEditor/messagepane_base.h
index 8cda1ae1..a0b2b07e 100644
--- a/LiteEditor/messagepane_base.h
+++ b/LiteEditor/messagepane_base.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : messagepane_base.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: messagepane.wxcp
@@ -42,6 +17,12 @@
#include <wx/stattext.h>
#include <wx/checkbox.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class MessagePaneBase : public wxPanel
{
@@ -66,6 +47,16 @@ protected:
virtual void OnActionButton2(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticBitmap* GetBitmap1() { return m_bitmap1; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxStaticText* GetStaticTextMessage() { return m_staticTextMessage; }
+ wxCheckBox* GetDontAnnoyMeCheck() { return m_DontAnnoyMeCheck; }
+ wxPanel* GetPanel1() { return m_panel1; }
+ wxButton* GetButtonClose() { return m_buttonClose; }
+ wxButton* GetButtonAction() { return m_buttonAction; }
+ wxButton* GetButtonAction1() { return m_buttonAction1; }
+ wxButton* GetButtonAction2() { return m_buttonAction2; }
+ wxPanel* GetPanel2() { return m_panel2; }
MessagePaneBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~MessagePaneBase();
};
diff --git a/LiteEditor/messagepane_liteeditor_bitmaps.cpp b/LiteEditor/messagepane_liteeditor_bitmaps.cpp
index 8a7119ac..a3f6f9a6 100644
--- a/LiteEditor/messagepane_liteeditor_bitmaps.cpp
+++ b/LiteEditor/messagepane_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : messagepane_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxC2A73InitBitmapResources()
{
@@ -68,6 +42,6 @@ void wxC2A73InitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/messagepane_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_messagepane_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/messagepane_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_messagepane_liteeditor_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/messagepane_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_messagepane_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/messagepane_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_messagepane_liteeditor_bitmaps.xrc"));
}
diff --git a/LiteEditor/navbar.cpp b/LiteEditor/navbar.cpp
index 6c3473ca..eae3ee1a 100644
--- a/LiteEditor/navbar.cpp
+++ b/LiteEditor/navbar.cpp
@@ -30,6 +30,7 @@
#include "frame.h"
#include "navbar.h"
#include "event_notifier.h"
+#include "globals.h"
NavBar::NavBar(wxWindow* parent)
: NavBarControlBaseClass(parent)
@@ -159,10 +160,8 @@ void NavBar::DoPopulateTags(const wxFileName& fn)
void NavBar::OnEditorChanged(wxCommandEvent& e)
{
e.Skip();
- IEditor* editor = reinterpret_cast<IEditor*>(e.GetClientData());
- if(!editor) {
- return;
- }
+ IEditor* editor = ::clGetManager()->GetActiveEditor();
+ CHECK_PTR_RET(editor);
const wxFileName& fn = editor->GetFileName();
DoPopulateTags(fn);
diff --git a/LiteEditor/new_build_tab.cpp b/LiteEditor/new_build_tab.cpp
index fa17c3c7..c26d4134 100644
--- a/LiteEditor/new_build_tab.cpp
+++ b/LiteEditor/new_build_tab.cpp
@@ -1036,6 +1036,12 @@ wxFont NewBuildTab::DoGetFont() const
if(font.IsOk() == false) {
font = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
}
+
+ // if the user selected a font in the settings, use it instead
+ wxFont userFont = m_buildTabSettings.GetBuildFont();
+ if(userFont.IsOk()) {
+ font = userFont;
+ }
return font;
}
diff --git a/LiteEditor/new_item_dlg.cpp b/LiteEditor/new_item_dlg.cpp
index 9e0cb247..a10f9e89 100644
--- a/LiteEditor/new_item_dlg.cpp
+++ b/LiteEditor/new_item_dlg.cpp
@@ -103,7 +103,8 @@ NewItemDlg::NewItemDlg( wxWindow* parent, wxString cwd)
// Attach events
ConnectEvents();
- WindowAttrManager::Load(this, wxT("NewItemDlg"), NULL);
+ SetName("NewItemDlg");
+ WindowAttrManager::Load(this);
}
void NewItemDlg::ConnectEvents()
@@ -213,5 +214,5 @@ void NewItemDlg::OnCharHook(wxKeyEvent &event)
NewItemDlg::~NewItemDlg()
{
- WindowAttrManager::Save(this, wxT("NewItemDlg"), NULL);
+
}
diff --git a/LiteEditor/new_quick_watch_dlg.cpp b/LiteEditor/new_quick_watch_dlg.cpp
index ccb68888..01e5a6f8 100644
--- a/LiteEditor/new_quick_watch_dlg.cpp
+++ b/LiteEditor/new_quick_watch_dlg.cpp
@@ -37,6 +37,8 @@
#include <wx/cursor.h>
#include "clDebuggerEditItemDlg.h"
#include <cmath>
+#include "wx/popupwin.h"
+#include "wx/persist/window.h"
static wxRect s_Rect;
@@ -59,10 +61,16 @@ DisplayVariableDlg::DisplayVariableDlg( wxWindow* parent)
Hide();
Centre();
MSWSetNativeTheme(m_treeCtrl);
- WindowAttrManager::Load(this, "DebuggerTooltip", NULL);
m_timer2 = new wxTimer(this);
m_mousePosTimer = new wxTimer(this);
-
+
+ SetName("clDebuggerEditItemDlgBase");
+
+ bool sizeSet(false);
+ if (!wxPersistenceManager::Get().Find(this)) {
+ sizeSet = wxPersistentRegisterAndRestore(this, "CLDebuggerTip");
+ }
+ wxUnusedVar(sizeSet);
if (GetSize().x < 100 || GetSize().y < 100 ) {
SetSize( wxRect(GetPosition(), wxSize(100, 100) ) );
}
@@ -83,7 +91,7 @@ DisplayVariableDlg::~DisplayVariableDlg()
wxDELETE(m_timer2);
wxDELETE(m_mousePosTimer);
- WindowAttrManager::Save(this, "DebuggerTooltip", NULL);
+
}
void DisplayVariableDlg::OnExpandItem( wxTreeEvent& event )
@@ -248,7 +256,7 @@ void DisplayVariableDlg::DoCleanUp()
void DisplayVariableDlg::HideDialog()
{
- WindowAttrManager::Save(this, "DebuggerTooltip", NULL);
+
DoCleanUp();
//asm("int3");
wxPopupWindow::Hide();
@@ -274,9 +282,6 @@ void DisplayVariableDlg::OnKeyDown(wxKeyEvent& event)
void DisplayVariableDlg::ShowDialog(bool center)
{
- // Pass the focus back to the main editor
- WindowAttrManager::Load(this, "DebuggerTooltip", NULL);
-
if ( !center ) {
wxPopupWindow::Show();
DoAdjustPosition();
@@ -657,4 +662,33 @@ void DisplayVariableDlg::DoUpdateSize(bool performClean)
wxSetCursor( wxNullCursor );
}
}
-}
+}
+
+
+
+
+void CLPersistentDebuggerTip::Save() const
+{
+ const wxPopupWindow* const puw = Get();
+ const wxSize size = puw->GetSize();
+ SaveValue("w", size.x);
+ SaveValue("h", size.y);
+}
+
+bool CLPersistentDebuggerTip::Restore()
+{
+ wxPopupWindow* const puw = Get();
+
+ long w(-1), h(-1);
+ const bool hasSize = RestoreValue("w", &w) && RestoreValue("h", &h);
+
+ if (hasSize)
+ puw->SetSize(w, h);
+
+ return hasSize;
+}
+
+inline wxPersistentObject* wxCreatePersistentObject(wxPopupWindow* puw)
+{
+ return new CLPersistentDebuggerTip(puw);
+}
diff --git a/LiteEditor/new_quick_watch_dlg.h b/LiteEditor/new_quick_watch_dlg.h
index e3e583ac..36242d67 100644
--- a/LiteEditor/new_quick_watch_dlg.h
+++ b/LiteEditor/new_quick_watch_dlg.h
@@ -25,6 +25,26 @@
#ifndef __new_quick_watch_dlg__
#define __new_quick_watch_dlg__
+
+
+#include <wx/persist/window.h>
+
+class wxPopupWindow;
+
+class CLPersistentDebuggerTip : public wxPersistentWindow<wxPopupWindow>
+{
+public:
+ CLPersistentDebuggerTip(wxPopupWindow* puw)
+ : wxPersistentWindow<wxPopupWindow>(puw) {}
+
+ virtual void Save() const;
+
+ virtual bool Restore();
+
+ virtual wxString GetKind() const { return "CLDebuggerTip"; }
+};
+
+
/**
@file
diff --git a/LiteEditor/newquickwatch.cpp b/LiteEditor/newquickwatch.cpp
index f09451f6..0e6ff688 100644
--- a/LiteEditor/newquickwatch.cpp
+++ b/LiteEditor/newquickwatch.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : newquickwatch.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: newquickwatch.wxcp
@@ -83,13 +58,14 @@ clDebuggerTipWindowBase::clDebuggerTipWindowBase(wxWindow* parent,long style)
m_staticBitmap44 = new wxStaticBitmap(m_panelStatusBar, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("resize")), wxDefaultPosition, wxSize(16,16), 0 );
- boxSizer42->Add(m_staticBitmap44, 0, wxALL|wxALIGN_RIGHT|wxALIGN_BOTTOM, 5);
+ boxSizer42->Add(m_staticBitmap44, 0, wxALL|wxALIGN_RIGHT, 5);
+ SetName(wxT("clDebuggerTipWindowBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_treeCtrl->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(clDebuggerTipWindowBase::OnKeyDown), NULL, this);
m_treeCtrl->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(clDebuggerTipWindowBase::OnLeftDown), NULL, this);
@@ -142,6 +118,9 @@ clDebuggerEditItemDlgBase::clDebuggerEditItemDlgBase(wxWindow* parent, wxWindowI
boxSizer34->Add(m_staticText36, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
m_textCtrl38 = new wxTextCtrl(m_panel32, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
+ #if wxVERSION_NUMBER >= 3000
+ m_textCtrl38->SetHint(wxT(""));
+ #endif
boxSizer34->Add(m_textCtrl38, 0, wxALL|wxEXPAND, 5);
@@ -158,12 +137,18 @@ clDebuggerEditItemDlgBase::clDebuggerEditItemDlgBase(wxWindow* parent, wxWindowI
boxSizer26->Add(m_button30, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ SetName(wxT("clDebuggerEditItemDlgBase"));
SetMinSize( wxSize(400,-1) );
SetSizeHints(400,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
}
clDebuggerEditItemDlgBase::~clDebuggerEditItemDlgBase()
diff --git a/LiteEditor/newquickwatch.h b/LiteEditor/newquickwatch.h
index afc284aa..77f919ea 100644
--- a/LiteEditor/newquickwatch.h
+++ b/LiteEditor/newquickwatch.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : newquickwatch.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: newquickwatch.wxcp
@@ -47,6 +22,12 @@
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class clDebuggerTipWindowBase : public wxPopupWindow
{
@@ -69,6 +50,11 @@ protected:
virtual void OnTipLeftDown(wxMouseEvent& event) { event.Skip(); }
public:
+ wxTreeCtrl* GetTreeCtrl() { return m_treeCtrl; }
+ wxScrolledWindow* GetScrollWin6() { return m_scrollWin6; }
+ wxStaticBitmap* GetStaticBitmap44() { return m_staticBitmap44; }
+ wxPanel* GetPanelStatusBar() { return m_panelStatusBar; }
+ wxPanel* GetPanel46() { return m_panel46; }
clDebuggerTipWindowBase(wxWindow* parent, long style = wxBORDER_NONE);
virtual ~clDebuggerTipWindowBase();
};
@@ -86,6 +72,11 @@ protected:
protected:
public:
+ wxStaticText* GetStaticText36() { return m_staticText36; }
+ wxTextCtrl* GetTextCtrl38() { return m_textCtrl38; }
+ wxPanel* GetPanel32() { return m_panel32; }
+ wxButton* GetButton28() { return m_button28; }
+ wxButton* GetButton30() { return m_button30; }
clDebuggerEditItemDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Edit Item"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400,-1), long style = wxDEFAULT_DIALOG_STYLE|wxSTAY_ON_TOP);
virtual ~clDebuggerEditItemDlgBase();
};
diff --git a/LiteEditor/newquickwatch.wxcp b/LiteEditor/newquickwatch.wxcp
index 55904795..34fb36f8 100644
--- a/LiteEditor/newquickwatch.wxcp
+++ b/LiteEditor/newquickwatch.wxcp
@@ -1,1171 +1,1226 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 48,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCB786InitBitmapResources",
- "m_bitmapsFile": "newquickwatch_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 5,
- "m_outputFileName": "newquickwatch",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4484,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "clDebuggerTipWindowBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": ""
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CodeLiteIDE:Dialogs:Debugger"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "new_quick_watch_dlg"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "DisplayVariableDlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer4"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4408,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL", "wxBORDER_SIMPLE"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel46"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer48"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4440,
- "proportion": 1,
- "border": 2,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBORDER_NONE", "wxHSCROLL", "wxVSCROLL"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "200,100"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "200,100"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_scrollWin6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Scroll Rate X:",
- "m_value": "5"
- }, {
- "type": "string",
- "m_label": "Scroll Rate Y:",
- "m_value": "5"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer5"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4422,
- "proportion": 1,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTR_DEFAULT_STYLE", "wxTR_SINGLE", "wxBORDER_NONE"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_treeCtrl"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "TooltipText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_KEY_DOWN",
- "m_eventClass": "wxKeyEvent",
- "m_eventHandler": "wxKeyEventHandler",
- "m_functionNameAndSignature": "OnKeyDown(wxKeyEvent& event)",
- "m_description": "Process a wxEVT_KEY_DOWN event (any key has been pressed)"
- }, {
- "m_eventName": "wxEVT_LEFT_DOWN",
- "m_eventClass": "wxMouseEvent",
- "m_eventHandler": "wxMouseEventHandler",
- "m_functionNameAndSignature": "OnLeftDown(wxMouseEvent& event)",
- "m_description": "Process a wxEVT_LEFT_DOWN event. The handler of this event should normally call event.Skip() to allow the default processing to take place as otherwise the window under mouse wouldn't get the focus."
- }, {
- "m_eventName": "wxEVT_MOTION",
- "m_eventClass": "wxMouseEvent",
- "m_eventHandler": "wxMouseEventHandler",
- "m_functionNameAndSignature": "OnMouseMove(wxMouseEvent& event)",
- "m_description": "Process a wxEVT_MOTION event"
- }, {
- "m_eventName": "wxEVT_COMMAND_TREE_ITEM_EXPANDED",
- "m_eventClass": "wxTreeEvent",
- "m_eventHandler": "wxTreeEventHandler",
- "m_functionNameAndSignature": "OnItemExpanded(wxTreeEvent& event)",
- "m_description": "The item has been expanded."
- }, {
- "m_eventName": "wxEVT_COMMAND_TREE_ITEM_EXPANDING",
- "m_eventClass": "wxTreeEvent",
- "m_eventHandler": "wxTreeEventHandler",
- "m_functionNameAndSignature": "OnExpandItem(wxTreeEvent& event)",
- "m_description": "The item is being expanded. This can be prevented by calling Veto()."
- }, {
- "m_eventName": "wxEVT_COMMAND_TREE_ITEM_MENU",
- "m_eventClass": "wxTreeEvent",
- "m_eventHandler": "wxTreeEventHandler",
- "m_functionNameAndSignature": "OnItemMenu(wxTreeEvent& event)",
- "m_description": "The context menu for the selected item has been requested,\neither by a right click or by using the menu key."
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4408,
- "proportion": 0,
- "border": 2,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,22"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panelStatusBar"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "Tooltip"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_LEFT_UP",
- "m_eventClass": "wxMouseEvent",
- "m_eventHandler": "wxMouseEventHandler",
- "m_functionNameAndSignature": "OnStatusLeftUp(wxMouseEvent& event)",
- "m_description": "Process a wxEVT_LEFT_UP event."
- }, {
- "m_eventName": "wxEVT_MOTION",
- "m_eventClass": "wxMouseEvent",
- "m_eventHandler": "wxMouseEventHandler",
- "m_functionNameAndSignature": "OnStatuMotion(wxMouseEvent& event)",
- "m_description": "Process a wxEVT_MOTION event"
- }],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer42"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4409,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_BOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "16,16"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticBitmap44"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": "../icons/resize.png"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_LEFT_DOWN",
- "m_eventClass": "wxMouseEvent",
- "m_eventHandler": "wxMouseEventHandler",
- "m_functionNameAndSignature": "OnTipLeftDown(wxMouseEvent& event)",
- "m_description": "Process a wxEVT_LEFT_DOWN event. The handler of this event should normally call event.Skip() to allow the default processing to take place as otherwise the window under mouse wouldn't get the focus."
- }],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
- }]
- }, {
- "m_type": 4421,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxSTAY_ON_TOP"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "400,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "400,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "clDebuggerEditItemDlgBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Edit Item"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CodeLiteIDE:Dialogs:Debugger"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "clDebuggerEditItemDlg"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "clDebuggerEditItemDlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer24"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4408,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel32"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer34"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText36"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Enter new expression:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrl38"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer26"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button28"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button30"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 48,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCB786InitBitmapResources",
+ "m_bitmapsFile": "newquickwatch_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 5,
+ "m_outputFileName": "newquickwatch",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4484,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "clDebuggerTipWindowBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CodeLiteIDE:Dialogs:Debugger"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "DisplayVariableDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "new_quick_watch_dlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer4"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4408,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL", "wxBORDER_SIMPLE"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel46"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer48"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4440,
+ "proportion": 1,
+ "border": 2,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBORDER_NONE", "wxHSCROLL", "wxVSCROLL"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "200,100"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "200,100"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_scrollWin6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Scroll Rate X:",
+ "m_value": "5"
+ }, {
+ "type": "string",
+ "m_label": "Scroll Rate Y:",
+ "m_value": "5"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer5"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4422,
+ "proportion": 1,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTR_DEFAULT_STYLE", "wxTR_SINGLE", "wxBORDER_NONE"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_treeCtrl"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "TooltipText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_KEY_DOWN",
+ "m_eventClass": "wxKeyEvent",
+ "m_eventHandler": "wxKeyEventHandler",
+ "m_functionNameAndSignature": "OnKeyDown(wxKeyEvent& event)",
+ "m_description": "Process a wxEVT_KEY_DOWN event (any key has been pressed)",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_LEFT_DOWN",
+ "m_eventClass": "wxMouseEvent",
+ "m_eventHandler": "wxMouseEventHandler",
+ "m_functionNameAndSignature": "OnLeftDown(wxMouseEvent& event)",
+ "m_description": "Process a wxEVT_LEFT_DOWN event. The handler of this event should normally call event.Skip() to allow the default processing to take place as otherwise the window under mouse wouldn't get the focus.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_MOTION",
+ "m_eventClass": "wxMouseEvent",
+ "m_eventHandler": "wxMouseEventHandler",
+ "m_functionNameAndSignature": "OnMouseMove(wxMouseEvent& event)",
+ "m_description": "Process a wxEVT_MOTION event",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_TREE_ITEM_EXPANDED",
+ "m_eventClass": "wxTreeEvent",
+ "m_eventHandler": "wxTreeEventHandler",
+ "m_functionNameAndSignature": "OnItemExpanded(wxTreeEvent& event)",
+ "m_description": "The item has been expanded.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_TREE_ITEM_EXPANDING",
+ "m_eventClass": "wxTreeEvent",
+ "m_eventHandler": "wxTreeEventHandler",
+ "m_functionNameAndSignature": "OnExpandItem(wxTreeEvent& event)",
+ "m_description": "The item is being expanded. This can be prevented by calling Veto().",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_COMMAND_TREE_ITEM_MENU",
+ "m_eventClass": "wxTreeEvent",
+ "m_eventHandler": "wxTreeEventHandler",
+ "m_functionNameAndSignature": "OnItemMenu(wxTreeEvent& event)",
+ "m_description": "The context menu for the selected item has been requested,\neither by a right click or by using the menu key.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4408,
+ "proportion": 0,
+ "border": 2,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,22"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panelStatusBar"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "Tooltip"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_LEFT_UP",
+ "m_eventClass": "wxMouseEvent",
+ "m_eventHandler": "wxMouseEventHandler",
+ "m_functionNameAndSignature": "OnStatusLeftUp(wxMouseEvent& event)",
+ "m_description": "Process a wxEVT_LEFT_UP event.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_MOTION",
+ "m_eventClass": "wxMouseEvent",
+ "m_eventHandler": "wxMouseEventHandler",
+ "m_functionNameAndSignature": "OnStatuMotion(wxMouseEvent& event)",
+ "m_description": "Process a wxEVT_MOTION event",
+ "m_noBody": false
+ }],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer42"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4409,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "16,16"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticBitmap44"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../icons/resize.png"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_LEFT_DOWN",
+ "m_eventClass": "wxMouseEvent",
+ "m_eventHandler": "wxMouseEventHandler",
+ "m_functionNameAndSignature": "OnTipLeftDown(wxMouseEvent& event)",
+ "m_description": "Process a wxEVT_LEFT_DOWN event. The handler of this event should normally call event.Skip() to allow the default processing to take place as otherwise the window under mouse wouldn't get the focus.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxSTAY_ON_TOP"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "400,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "400,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "clDebuggerEditItemDlgBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Edit Item"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CodeLiteIDE:Dialogs:Debugger"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "clDebuggerEditItemDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "clDebuggerEditItemDlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer24"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4408,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel32"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer34"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText36"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Enter new expression:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrl38"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer26"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button28"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&OK"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button30"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Cancel"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/newquickwatch_liteeditor_bitmaps.cpp b/LiteEditor/newquickwatch_liteeditor_bitmaps.cpp
index 9180e666..fbf0195d 100644
--- a/LiteEditor/newquickwatch_liteeditor_bitmaps.cpp
+++ b/LiteEditor/newquickwatch_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : newquickwatch_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -75,20 +50,19 @@ static unsigned char xml_res_file_0[] = {
55,2,4,24,0,102,229,224,119,239,71,189,20,0,0,0,0,73,69,78,68,174,66,96,
130};
-static size_t xml_res_size_1 = 226;
+static size_t xml_res_size_1 = 208;
static unsigned char xml_res_file_1[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,114,101,
-115,105,122,101,34,62,110,101,119,113,117,105,99,107,119,97,116,99,104,
-95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
-46,99,112,112,36,46,46,95,105,99,111,110,115,95,114,101,115,105,122,101,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,111,
-117,114,99,101,62,10};
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,114,101,115,105,122,101,34,62,110,101,119,113,117,105,99,107,119,97,
+116,99,104,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,
+97,112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,114,101,115,
+105,122,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,
+101,115,111,117,114,99,101,62,10};
void wxCB786InitBitmapResources()
{
@@ -104,6 +78,6 @@ void wxCB786InitBitmapResources()
}
XRC_ADD_FILE(wxT("XRC_resource/newquickwatch_liteeditor_bitmaps.cpp$.._icons_resize.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/newquickwatch_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_newquickwatch_liteeditor_bitmaps.xrc"), xml_res_file_1, xml_res_size_1, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/newquickwatch_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_newquickwatch_liteeditor_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/newquickwatch_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_newquickwatch_liteeditor_bitmaps.xrc"), xml_res_file_1, xml_res_size_1, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/newquickwatch_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_newquickwatch_liteeditor_bitmaps.xrc"));
}
diff --git a/LiteEditor/newworkspacedlg.cpp b/LiteEditor/newworkspacedlg.cpp
index 41faadc3..55ed3ed6 100644
--- a/LiteEditor/newworkspacedlg.cpp
+++ b/LiteEditor/newworkspacedlg.cpp
@@ -34,11 +34,12 @@ NewWorkspaceDlg::NewWorkspaceDlg(wxWindow* parent)
{
m_textCtrlWorkspacePath->SetValue(wxGetCwd());
m_textCtrlWorkspaceName->SetFocus();
- Centre();
- WindowAttrManager::Load(this, wxT("NewWorkspaceDlg"), NULL);
+ CentreOnParent();
+ SetName("NewWorkspaceDlg");
+ WindowAttrManager::Load(this);
}
-NewWorkspaceDlg::~NewWorkspaceDlg() { WindowAttrManager::Save(this, wxT("NewWorkspaceDlg"), NULL); }
+NewWorkspaceDlg::~NewWorkspaceDlg() { }
void NewWorkspaceDlg::OnWorkspacePathUpdated(wxCommandEvent& event)
{
diff --git a/LiteEditor/openwindowspanel.cpp b/LiteEditor/openwindowspanel.cpp
index f23cded1..a737a1b9 100644
--- a/LiteEditor/openwindowspanel.cpp
+++ b/LiteEditor/openwindowspanel.cpp
@@ -56,7 +56,7 @@ struct TabSorter {
} else {
file2 = t2.text;
}
- return file1.CmpNoCase(file2);
+ return file1.CmpNoCase(file2) < 0;
}
};
@@ -99,7 +99,7 @@ OpenWindowsPanel::~OpenWindowsPanel()
EventNotifier::Get()->Disconnect(
wxEVT_ACTIVE_EDITOR_CHANGED, wxCommandEventHandler(OpenWindowsPanel::OnActiveEditorChanged), NULL, this);
EventNotifier::Get()->Disconnect(
- wxEVT_CMD_PAGE_CHANGED, wxCommandEventHandler(OpenWindowsPanel::OnActiveEditorChanged), NULL, this);
+ wxEVT_CMD_PAGE_CHANGED, wxCommandEventHandler(OpenWindowsPanel::OnActivePageChanged), NULL, this);
EventNotifier::Get()->Disconnect(
wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(OpenWindowsPanel::OnAllEditorsClosed), NULL, this);
EventNotifier::Get()->Unbind(wxEVT_EDITOR_MODIFIED, &OpenWindowsPanel::OnEditorModified, this);
@@ -109,18 +109,26 @@ OpenWindowsPanel::~OpenWindowsPanel()
Unbind(wxEVT_IDLE, &OpenWindowsPanel::OnIdle, this);
}
-#define CHECK_WORKSPACE_CLOSING() if(m_workspaceClosing) return
+#define CHECK_WORKSPACE_CLOSING() \
+ if(m_workspaceClosing) return
+
+void OpenWindowsPanel::OnActivePageChanged(wxCommandEvent& e)
+{
+ e.Skip();
+ CHECK_WORKSPACE_CLOSING();
+
+ PopulateView();
+ DoSelectItem((wxWindow*)e.GetClientData());
+}
void OpenWindowsPanel::OnActiveEditorChanged(wxCommandEvent& e)
{
e.Skip();
CHECK_WORKSPACE_CLOSING();
-
+
PopulateView();
if(m_mgr->GetActiveEditor()) {
DoSelectItem(m_mgr->GetActiveEditor());
- } else {
- DoSelectItem((wxWindow*)e.GetClientData());
}
}
@@ -128,7 +136,7 @@ void OpenWindowsPanel::OnAllEditorsClosed(wxCommandEvent& e)
{
e.Skip();
CHECK_WORKSPACE_CLOSING();
-
+
Clear();
}
@@ -274,7 +282,7 @@ void OpenWindowsPanel::OnTabActivated(wxDataViewEvent& event)
{
event.Skip();
CHECK_WORKSPACE_CLOSING();
-
+
wxDataViewItem item = event.GetItem();
CHECK_ITEM_RET(item);
@@ -290,7 +298,7 @@ void OpenWindowsPanel::OnTabSelected(wxDataViewEvent& event)
{
event.Skip();
CHECK_WORKSPACE_CLOSING();
-
+
if(::wxGetKeyState(WXK_CONTROL)) {
// multiple selection in progress
return;
@@ -313,10 +321,10 @@ void OpenWindowsPanel::AppendEditor(const clTab& tab)
{
TabClientData* data = new TabClientData(tab);
wxVariant value = PrepareValue(tab);
-
+
// the row index is the same as the row count (before we add the new entry)
int itemIndex = m_dvListCtrl->GetItemCount();
-
+
wxVector<wxVariant> cols;
cols.push_back(value);
m_dvListCtrl->AppendItem(cols, (wxUIntPtr)data);
@@ -439,7 +447,7 @@ void OpenWindowsPanel::DoMarkModify(const wxString& filename, bool b)
std::map<wxString, wxDataViewItem>::iterator iter = m_editors.find(filename);
if(iter == m_editors.end()) return;
wxDataViewItem item = iter->second;
-
+
wxBitmap bmp;
TabClientData* cd = reinterpret_cast<TabClientData*>(m_dvListCtrl->GetItemData(item));
const clTab& tab = cd->tab;
@@ -447,8 +455,8 @@ void OpenWindowsPanel::DoMarkModify(const wxString& filename, bool b)
m_dvListCtrl->SetValue(value, m_dvListCtrl->ItemToRow(item), 0);
m_dvListCtrl->Refresh();
}
-
-wxVariant OpenWindowsPanel::PrepareValue(const clTab& tab)
+
+wxVariant OpenWindowsPanel::PrepareValue(const clTab& tab)
{
wxString title;
wxStyledTextCtrl* editor(NULL);
@@ -461,7 +469,7 @@ wxVariant OpenWindowsPanel::PrepareValue(const clTab& tab)
FileExtManager::FileType ft = FileExtManager::GetType(title, FileExtManager::TypeText);
wxBitmap bmp;
-
+
// If the tab had an icon, use it, otherwise, use a bitmap by the file type
if(tab.bitmap.IsOk()) {
bmp = tab.bitmap;
@@ -470,24 +478,25 @@ wxVariant OpenWindowsPanel::PrepareValue(const clTab& tab)
} else {
bmp = m_bitmaps.find(FileExtManager::TypeText)->second;
}
-
+
if(editor && editor->GetModify()) {
title.Prepend("*");
}
-
+
wxVariant value = ::MakeIconText(title, bmp);
- return value;
-}
-
-void OpenWindowsPanel::OnWorkspaceClosed(wxCommandEvent& event)
+ return value;
+}
+
+void OpenWindowsPanel::OnWorkspaceClosed(wxCommandEvent& event)
{
event.Skip();
- m_workspaceClosing = false;
-}
-
-void OpenWindowsPanel::OnWorkspaceClosing(wxCommandEvent& event)
+ m_workspaceClosing = false;
+}
+
+void OpenWindowsPanel::OnWorkspaceClosing(wxCommandEvent& event)
{
event.Skip();
Clear();
- m_workspaceClosing = true;
-}
+ m_workspaceClosing = true;
+}
+
diff --git a/LiteEditor/openwindowspanel.h b/LiteEditor/openwindowspanel.h
index befbe729..9afe103d 100644
--- a/LiteEditor/openwindowspanel.h
+++ b/LiteEditor/openwindowspanel.h
@@ -69,6 +69,7 @@ protected:
// Handlers for workspace events
void OnActiveEditorChanged(wxCommandEvent& e);
+ void OnActivePageChanged(wxCommandEvent& e);
void OnAllEditorsClosed(wxCommandEvent& e);
void OnCloseSelectedFiles(wxCommandEvent& e);
diff --git a/LiteEditor/options_base_dlg2.cpp b/LiteEditor/options_base_dlg2.cpp
index 74aeba47..f9a9d1d2 100644
--- a/LiteEditor/options_base_dlg2.cpp
+++ b/LiteEditor/options_base_dlg2.cpp
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : options_base_dlg2.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: optionsdialogbase2.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -56,6 +32,7 @@ OptionsBaseDlg2::OptionsBaseDlg2(wxWindow* parent, wxWindowID id, const wxString
m_treeBook = new wxTreebook(this, wxID_ANY, wxDefaultPosition, wxSize(500,400), wxBK_DEFAULT);
m_treeBook->SetFocus();
+ m_treeBook->SetName(wxT("m_treeBook"));
innerSizer->Add(m_treeBook, 1, wxALL|wxEXPAND, 5);
@@ -66,21 +43,34 @@ OptionsBaseDlg2::OptionsBaseDlg2(wxWindow* parent, wxWindowID id, const wxString
m_okButton = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize(-1, -1), 0);
m_okButton->SetDefault();
- btnSizer->Add(m_okButton, 0, wxALL|wxALIGN_RIGHT, 5);
+ btnSizer->Add(m_okButton, 0, wxALL, 5);
m_cancelButton = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(-1, -1), 0);
- btnSizer->Add(m_cancelButton, 0, wxALL|wxALIGN_RIGHT, 5);
+ btnSizer->Add(m_cancelButton, 0, wxALL, 5);
m_applyButton = new wxButton(this, wxID_APPLY, _("Apply"), wxDefaultPosition, wxSize(-1, -1), 0);
- btnSizer->Add(m_applyButton, 0, wxALL|wxALIGN_RIGHT, 5);
+ btnSizer->Add(m_applyButton, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_treeBook)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_treeBook);
+ }
+ #endif
+
+ SetName(wxT("OptionsBaseDlg2"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
this->Connect(wxEVT_ACTIVATE, wxActivateEventHandler(OptionsBaseDlg2::OnActivate), NULL, this);
this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(OptionsBaseDlg2::OnInitDialog), NULL, this);
diff --git a/LiteEditor/options_base_dlg2.h b/LiteEditor/options_base_dlg2.h
index 5a6a35d9..55587634 100644
--- a/LiteEditor/options_base_dlg2.h
+++ b/LiteEditor/options_base_dlg2.h
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : options_base_dlg2.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: optionsdialogbase2.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -40,6 +16,12 @@
#include <wx/sizer.h>
#include <wx/treebook.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class OptionsBaseDlg2 : public wxDialog
{
@@ -57,6 +39,10 @@ protected:
virtual void OnButtonApply(wxCommandEvent& event) { event.Skip(); }
public:
+ wxTreebook* GetTreeBook() { return m_treeBook; }
+ wxButton* GetOkButton() { return m_okButton; }
+ wxButton* GetCancelButton() { return m_cancelButton; }
+ wxButton* GetApplyButton() { return m_applyButton; }
OptionsBaseDlg2(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Editor Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~OptionsBaseDlg2();
};
diff --git a/LiteEditor/options_dlg2.cpp b/LiteEditor/options_dlg2.cpp
index eeb70758..f9c9a21f 100644
--- a/LiteEditor/options_dlg2.cpp
+++ b/LiteEditor/options_dlg2.cpp
@@ -45,6 +45,9 @@
#include "manager.h"
#include "windowattrmanager.h"
#include "EditorOptionsGeneralEdit.h"
+#include <wx/persist.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/toplevel.h>
OptionsDlg2::OptionsDlg2(wxWindow* parent)
: OptionsBaseDlg2(parent)
@@ -52,15 +55,14 @@ OptionsDlg2::OptionsDlg2(wxWindow* parent)
, restartRquired(false)
{
Initialize();
- WindowAttrManager::Load(this, wxT("OptionsDlgAttr"), NULL);
+ CenterOnParent();
+ SetName("OptionsDlg2");
+ WindowAttrManager::Load(this);
MSWSetNativeTheme(m_treeBook->GetTreeCtrl());
GetSizer()->Layout();
}
-OptionsDlg2::~OptionsDlg2()
-{
- if(!this->restartRquired) WindowAttrManager::Save(this, wxT("OptionsDlgAttr"), NULL);
-}
+OptionsDlg2::~OptionsDlg2() {}
void OptionsDlg2::OnButtonOK(wxCommandEvent&)
{
@@ -97,14 +99,8 @@ void OptionsDlg2::DoSave()
// save the modifications to the disk
EditorConfigST::Get()->Save();
- clMainFrame::Get()->GetMainBook()->ApplySettingsChanges();
-
// Notify plugins about settings changed
PostCmdEvent(wxEVT_EDITOR_SETTINGS_CHANGED);
-
- if(this->restartRquired) {
- WindowAttrManager::Save(this, wxT("OptionsDlgAttr"), NULL);
- }
}
void OptionsDlg2::Initialize()
@@ -128,4 +124,6 @@ void OptionsDlg2::Initialize()
// the Terminal page should NOT be added under Windows
AddPage(new EditorSettingsTerminal(m_treeBook), _("Terminal"));
AddPage(new EditorSettingsMiscPanel(m_treeBook), _("Misc"));
+
+ SetMinSize(wxSize(300, 200));
}
diff --git a/LiteEditor/optionsdialogbase2.wxcp b/LiteEditor/optionsdialogbase2.wxcp
index 55e66a37..cdac2bcd 100644
--- a/LiteEditor/optionsdialogbase2.wxcp
+++ b/LiteEditor/optionsdialogbase2.wxcp
@@ -1,541 +1,577 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 2,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCrafterx2PVqnInitBitmapResources",
- "m_bitmapsFile": "optionsdialogbase2_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 1411419401,
- "m_outputFileName": "options_base_dlg2",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "OptionsBaseDlg2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Editor Settings"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_ACTIVATE",
- "m_eventClass": "wxActivateEvent",
- "m_eventHandler": "wxActivateEventHandler",
- "m_functionNameAndSignature": "OnActivate(wxActivateEvent& event)",
- "m_description": "Process a wxEVT_ACTIVATE event"
- }, {
- "m_eventName": "wxEVT_INIT_DIALOG",
- "m_eventClass": "wxInitDialogEvent",
- "m_eventHandler": "wxInitDialogEventHandler",
- "m_functionNameAndSignature": "OnInitDialog(wxInitDialogEvent& event)",
- "m_description": "A wxInitDialogEvent is sent as a dialog or panel is being initialised. Handlers for this event can transfer data to the window.\nThe default handler calls wxWindow::TransferDataToWindow"
- }],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "mainSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "innerSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4446,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBK_DEFAULT"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "500,400"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_treeBook"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": true
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 10,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "btnSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_okButton"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_cancelButton"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonCancel(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_APPLY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_applyButton"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Apply"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonApply(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 2,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCrafterx2PVqnInitBitmapResources",
+ "m_bitmapsFile": "optionsdialogbase2_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 1411419401,
+ "m_outputFileName": "options_base_dlg2",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "OptionsBaseDlg2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Editor Settings"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_ACTIVATE",
+ "m_eventClass": "wxActivateEvent",
+ "m_eventHandler": "wxActivateEventHandler",
+ "m_functionNameAndSignature": "OnActivate(wxActivateEvent& event)",
+ "m_description": "Process a wxEVT_ACTIVATE event",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_INIT_DIALOG",
+ "m_eventClass": "wxInitDialogEvent",
+ "m_eventHandler": "wxInitDialogEventHandler",
+ "m_functionNameAndSignature": "OnInitDialog(wxInitDialogEvent& event)",
+ "m_description": "A wxInitDialogEvent is sent as a dialog or panel is being initialised. Handlers for this event can transfer data to the window.\nThe default handler calls wxWindow::TransferDataToWindow",
+ "m_noBody": false
+ }],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "innerSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4446,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBK_DEFAULT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "500,400"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_treeBook"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 10,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "btnSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_okButton"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&OK"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_cancelButton"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Cancel"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonCancel(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_APPLY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_applyButton"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Apply"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonApply(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/optionsdialogbase2_liteeditor_bitmaps.cpp b/LiteEditor/optionsdialogbase2_liteeditor_bitmaps.cpp
index 33ce3f0f..8fd04817 100644
--- a/LiteEditor/optionsdialogbase2_liteeditor_bitmaps.cpp
+++ b/LiteEditor/optionsdialogbase2_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : optionsdialogbase2_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCrafterx2PVqnInitBitmapResources()
{
@@ -68,6 +42,6 @@ void wxCrafterx2PVqnInitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/optionsdialogbase2_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_optionsdialogbase2_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/optionsdialogbase2_liteeditor_bitmaps.cpp$_Users_eran_devl_codelitegit_LiteEditor_optionsdialogbase2_liteeditor_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/optionsdialogbase2_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_optionsdialogbase2_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/optionsdialogbase2_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_optionsdialogbase2_liteeditor_bitmaps.xrc"));
}
diff --git a/LiteEditor/plugindlgbase.cpp b/LiteEditor/plugindlgbase.cpp
index 855f9ac3..01bd5c4d 100644
--- a/LiteEditor/plugindlgbase.cpp
+++ b/LiteEditor/plugindlgbase.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : plugindlgbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: plugindlgbase.wxcp
@@ -48,14 +23,14 @@ PluginMgrDlgBase::PluginMgrDlgBase(wxWindow* parent, wxWindowID id, const wxStri
bBitmapLoaded = true;
}
- bSizer1 = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* bSizer1 = new wxBoxSizer(wxVERTICAL);
this->SetSizer(bSizer1);
- boxSizer16 = new wxBoxSizer(wxHORIZONTAL);
+ wxBoxSizer* boxSizer16 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add(boxSizer16, 1, wxEXPAND, 5);
- m_splitter2 = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxSize(500,300), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH);
+ m_splitter2 = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxSize(500,300), wxSP_LIVE_UPDATE|wxSP_3DSASH);
m_splitter2->SetSashGravity(0.5);
m_splitter2->SetMinimumPaneSize(10);
@@ -63,7 +38,7 @@ PluginMgrDlgBase::PluginMgrDlgBase(wxWindow* parent, wxWindowID id, const wxStri
m_splitterPage6 = new wxPanel(m_splitter2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
- boxSizer12 = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* boxSizer12 = new wxBoxSizer(wxVERTICAL);
m_splitterPage6->SetSizer(boxSizer12);
m_staticText1 = new wxStaticText(m_splitterPage6, wxID_ANY, _("Available Plugins:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -78,7 +53,7 @@ PluginMgrDlgBase::PluginMgrDlgBase(wxWindow* parent, wxWindowID id, const wxStri
m_splitterPage10 = new wxPanel(m_splitter2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
m_splitter2->SplitVertically(m_splitterPage6, m_splitterPage10, 0);
- boxSizer14 = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* boxSizer14 = new wxBoxSizer(wxVERTICAL);
m_splitterPage10->SetSizer(boxSizer14);
m_staticText2 = new wxStaticText(m_splitterPage10, wxID_ANY, _("Description:"), wxDefaultPosition, wxSize(-1, -1), 0);
@@ -90,19 +65,19 @@ PluginMgrDlgBase::PluginMgrDlgBase(wxWindow* parent, wxWindowID id, const wxStri
boxSizer14->Add(m_htmlWinDesc, 1, wxALL|wxEXPAND, 5);
- boxSizer18 = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* boxSizer18 = new wxBoxSizer(wxVERTICAL);
boxSizer16->Add(boxSizer18, 0, wxEXPAND, 5);
m_button20 = new wxButton(this, wxID_ANY, _("Check &All"), wxDefaultPosition, wxSize(-1,-1), 0);
- boxSizer18->Add(m_button20, 0, wxALL, 5);
+ boxSizer18->Add(m_button20, 0, wxALL|wxEXPAND, 5);
m_button22 = new wxButton(this, wxID_ANY, _("Uncheck All"), wxDefaultPosition, wxSize(-1,-1), 0);
- boxSizer18->Add(m_button22, 0, wxALL, 5);
+ boxSizer18->Add(m_button22, 0, wxALL|wxEXPAND, 5);
- bSizer2 = new wxBoxSizer(wxHORIZONTAL);
+ wxBoxSizer* bSizer2 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add(bSizer2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
diff --git a/LiteEditor/plugindlgbase.h b/LiteEditor/plugindlgbase.h
index 7a874406..c231d95c 100644
--- a/LiteEditor/plugindlgbase.h
+++ b/LiteEditor/plugindlgbase.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : plugindlgbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: plugindlgbase.wxcp
@@ -49,21 +24,15 @@
class PluginMgrDlgBase : public wxDialog
{
protected:
- wxBoxSizer* bSizer1;
- wxBoxSizer* boxSizer16;
wxSplitterWindow* m_splitter2;
wxPanel* m_splitterPage6;
- wxBoxSizer* boxSizer12;
wxStaticText* m_staticText1;
wxCheckListBox* m_checkListPluginsList;
wxPanel* m_splitterPage10;
- wxBoxSizer* boxSizer14;
wxStaticText* m_staticText2;
wxHtmlWindow* m_htmlWinDesc;
- wxBoxSizer* boxSizer18;
wxButton* m_button20;
wxButton* m_button22;
- wxBoxSizer* bSizer2;
wxButton* m_buttonOk;
wxButton* m_buttonCancel;
@@ -76,6 +45,17 @@ protected:
virtual void OnButtonOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxCheckListBox* GetCheckListPluginsList() { return m_checkListPluginsList; }
+ wxPanel* GetSplitterPage6() { return m_splitterPage6; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxHtmlWindow* GetHtmlWinDesc() { return m_htmlWinDesc; }
+ wxPanel* GetSplitterPage10() { return m_splitterPage10; }
+ wxSplitterWindow* GetSplitter2() { return m_splitter2; }
+ wxButton* GetButton20() { return m_button20; }
+ wxButton* GetButton22() { return m_button22; }
+ wxButton* GetButtonOk() { return m_buttonOk; }
+ wxButton* GetButtonCancel() { return m_buttonCancel; }
PluginMgrDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Manage Plugins:"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~PluginMgrDlgBase();
};
diff --git a/LiteEditor/plugindlgbase.wxcp b/LiteEditor/plugindlgbase.wxcp
index 7ceb5fdd..95deac67 100644
--- a/LiteEditor/plugindlgbase.wxcp
+++ b/LiteEditor/plugindlgbase.wxcp
@@ -1,1149 +1,1175 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 22,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCEF4InitBitmapResources",
- "m_bitmapsFile": "plugindlgbase_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 2678125,
- "m_outputFileName": "",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "PluginMgrDlgBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Manage Plugins:"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "pluginmgrdlg"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "PluginMgrDlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer16"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4447,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_NO_XP_THEME", "wxSP_3DSASH"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "500,300"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitter2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Split Mode:",
- "m_selection": 0,
- "m_options": ["wxSPLIT_VERTICAL", "wxSPLIT_HORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "Sash Gravity:",
- "m_value": "0.5"
- }, {
- "type": "string",
- "m_label": "Minimum Pane Size:",
- "m_value": "10"
- }, {
- "type": "string",
- "m_label": "Sash Position:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPage6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer12"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Available Plugins:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4425,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLB_SINGLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkListPluginsList"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_LISTBOX_SELECTED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnItemSelected(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_LISTBOX_SELECTED event\nwhen an item on the list is selected or the selection changes."
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPage10"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer14"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Description:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4423,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxHW_SCROLLBAR_AUTO", "wxBORDER_THEME"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_htmlWinDesc"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "HTML Code:",
- "m_value": "<b>wxHtmlWindow control!</b>"
- }, {
- "type": "string",
- "m_label": "URL:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer18"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button20"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Check &All"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCheckAll(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCheckAllUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button22"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Uncheck All"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnUncheckAll(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnUncheckAllUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonOk"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonCancel"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 22,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCEF4InitBitmapResources",
+ "m_bitmapsFile": "plugindlgbase_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 2678125,
+ "m_outputFileName": "",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "PluginMgrDlgBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Manage Plugins"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "PluginMgrDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "pluginmgrdlg"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer1"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer16"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4447,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_3DSASH"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "500,300"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitter2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Split Mode:",
+ "m_selection": 0,
+ "m_options": ["wxSPLIT_VERTICAL", "wxSPLIT_HORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Sash Gravity:",
+ "m_value": "0.5"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Pane Size:",
+ "m_value": "10"
+ }, {
+ "type": "string",
+ "m_label": "Sash Position:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitterPage6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer12"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Available Plugins:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4425,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLB_SINGLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkListPluginsList"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_LISTBOX_SELECTED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnItemSelected(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_LISTBOX_SELECTED event\nwhen an item on the list is selected or the selection changes.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitterPage10"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer14"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Description:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4423,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxHW_SCROLLBAR_AUTO", "wxBORDER_THEME"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_htmlWinDesc"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "HTML Code:",
+ "m_value": "<b>wxHtmlWindow control!</b>"
+ }, {
+ "type": "string",
+ "m_label": "URL:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer18"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button20"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Check &All"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCheckAll(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnCheckAllUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button22"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Uncheck All"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnUncheckAll(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnUncheckAllUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer2"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonOk"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&OK"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonCancel"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Cancel"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/plugindlgbase_liteeditor_bitmaps.cpp b/LiteEditor/plugindlgbase_liteeditor_bitmaps.cpp
index 3d881292..4f739b6d 100644
--- a/LiteEditor/plugindlgbase_liteeditor_bitmaps.cpp
+++ b/LiteEditor/plugindlgbase_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : plugindlgbase_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCEF4InitBitmapResources()
{
@@ -68,6 +42,6 @@ void wxCEF4InitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
- XRC_ADD_FILE(wxT("XRC_resource/plugindlgbase_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_plugindlgbase_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/plugindlgbase_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_plugindlgbase_liteeditor_bitmaps.xrc"));
+ XRC_ADD_FILE(wxT("XRC_resource/plugindlgbase_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_plugindlgbase_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/plugindlgbase_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_plugindlgbase_liteeditor_bitmaps.xrc"));
}
diff --git a/LiteEditor/pluginmanager.cpp b/LiteEditor/pluginmanager.cpp
index 91af4b5b..daa87034 100644
--- a/LiteEditor/pluginmanager.cpp
+++ b/LiteEditor/pluginmanager.cpp
@@ -61,6 +61,7 @@
PluginManager* PluginManager::Get()
{
static PluginManager theManager;
+ ::clSetManager(&theManager);
return &theManager;
}
@@ -158,6 +159,14 @@ void PluginManager::Load()
}
#endif
+#ifdef __WXGTK__
+ wxFileName fnDLL(fileName);
+ if(fnDLL.GetFullName().StartsWith("lib")) {
+ // don't attempt to load a library
+ continue;
+ }
+#endif
+
clDynamicLibrary* dl = new clDynamicLibrary();
if(!dl->Load(fileName)) {
CL_ERROR(wxT("Failed to load plugin's dll: ") + fileName);
@@ -290,7 +299,13 @@ void PluginManager::Load()
}
}
-IEditor* PluginManager::GetActiveEditor() { return (IEditor*)clMainFrame::Get()->GetMainBook()->GetActiveEditor(true); }
+IEditor* PluginManager::GetActiveEditor()
+{
+ if(clMainFrame::Get() && clMainFrame::Get()->GetMainBook()) {
+ return (IEditor*)clMainFrame::Get()->GetMainBook()->GetActiveEditor(true);
+ }
+ return NULL;
+}
IConfigTool* PluginManager::GetConfigTool() { return EditorConfigST::Get(); }
@@ -451,17 +466,8 @@ TagEntryPtr PluginManager::GetTagAtCaret(bool scoped, bool impl)
bool PluginManager::AllowToolbar()
{
- long v = EditorConfigST::Get()->GetInteger(wxT("UseSingleToolbar"));
- if(v != wxNOT_FOUND) {
- return v ? false : true;
- } else {
-// entry does not exist
-#ifdef __WXMAC__
- return false;
-#else
- return true;
-#endif
- }
+ long v = EditorConfigST::Get()->GetInteger("UseSingleToolbar", 1);
+ return (v == 1 ? false : true);
}
void PluginManager::EnableToolbars()
@@ -506,7 +512,7 @@ BuildManager* PluginManager::GetBuildManager() { return BuildManagerST::Get(); }
BuildSettingsConfig* PluginManager::GetBuildSettingsConfigManager() { return BuildSettingsConfigST::Get(); }
bool PluginManager::ClosePage(const wxString& title) { return clMainFrame::Get()->GetMainBook()->ClosePage(title); }
-bool PluginManager::ClosePage(const wxFileName& filename)
+bool PluginManager::ClosePage(const wxFileName& filename)
{
MainBook* book = clMainFrame::Get()->GetMainBook();
LEditor* editor = book->FindEditor(filename.GetFullPath());
@@ -515,7 +521,8 @@ bool PluginManager::ClosePage(const wxFileName& filename)
wxWindow* PluginManager::FindPage(const wxString& text) { return clMainFrame::Get()->GetMainBook()->FindPage(text); }
-bool PluginManager::AddPage(wxWindow* win, const wxString& text,const wxString& tooltip, const wxBitmap& bmp, bool selected)
+bool
+PluginManager::AddPage(wxWindow* win, const wxString& text, const wxString& tooltip, const wxBitmap& bmp, bool selected)
{
return clMainFrame::Get()->GetMainBook()->AddPage(win, text, tooltip, bmp, selected);
}
@@ -773,13 +780,13 @@ void PluginManager::StoreWorkspaceSession(const wxFileName& workspaceFile)
}
}
-void PluginManager::LoadWorkspaceSession(const wxFileName& workspaceFile)
+void PluginManager::LoadWorkspaceSession(const wxFileName& workspaceFile)
{
SessionEntry session;
if(SessionManager::Get().GetSession(workspaceFile.GetFullPath(), session)) {
clMainFrame::Get()->GetMainBook()->RestoreSession(session);
// Set this session as the 'Last' session
- SessionManager::Get().SetLastWorkspaceName(workspaceFile.GetFullPath());
+ SessionManager::Get().SetLastSession(workspaceFile.GetFullPath());
}
}
@@ -799,10 +806,7 @@ void PluginManager::OpenFindInFileForPaths(const wxArrayString& paths)
clMainFrame::Get()->GetEventHandler()->AddPendingEvent(ff);
}
-void PluginManager::ShowOutputPane(const wxString& selectedWindow)
-{
- ManagerST::Get()->ShowOutputPane(selectedWindow);
-}
+void PluginManager::ShowOutputPane(const wxString& selectedWindow) { ManagerST::Get()->ShowOutputPane(selectedWindow); }
size_t PluginManager::GetAllTabs(clTab::Vec_t& tabs)
{
@@ -810,10 +814,7 @@ size_t PluginManager::GetAllTabs(clTab::Vec_t& tabs)
return tabs.size();
}
-clStatusBar* PluginManager::GetStatusBar()
-{
- return static_cast<clStatusBar*>(clMainFrame::Get()->GetStatusBar());
-}
+clStatusBar* PluginManager::GetStatusBar() { return static_cast<clStatusBar*>(clMainFrame::Get()->GetStatusBar()); }
void PluginManager::ToggleOutputPane(const wxString& selectedWindow)
{
diff --git a/LiteEditor/pluginmgrdlg.cpp b/LiteEditor/pluginmgrdlg.cpp
index 7c358724..84718ef7 100644
--- a/LiteEditor/pluginmgrdlg.cpp
+++ b/LiteEditor/pluginmgrdlg.cpp
@@ -28,17 +28,16 @@
#include "cl_config.h"
#include <algorithm>
-PluginMgrDlg::PluginMgrDlg( wxWindow* parent )
- : PluginMgrDlgBase( parent )
+PluginMgrDlg::PluginMgrDlg(wxWindow* parent)
+ : PluginMgrDlgBase(parent)
{
this->Initialize();
- WindowAttrManager::Load(this, wxT("PluginMgrDlgAttr"), NULL);
+ SetName("PluginMgrDlg");
+ WindowAttrManager::Load(this);
+ this->PostSizeEvent();
}
-PluginMgrDlg::~PluginMgrDlg()
-{
- WindowAttrManager::Save(this, wxT("PluginMgrDlgAttr"), NULL);
-}
+PluginMgrDlg::~PluginMgrDlg() {}
void PluginMgrDlg::Initialize()
{
@@ -51,50 +50,50 @@ void PluginMgrDlg::Initialize()
const PluginInfo::PluginMap_t& pluginsMap = plugins.GetPlugins();
- //Clear the list
+ // Clear the list
m_checkListPluginsList->Clear();
PluginInfo::PluginMap_t::const_iterator iter = pluginsMap.begin();
- for ( ; iter != pluginsMap.end(); ++iter ) {
+ for(; iter != pluginsMap.end(); ++iter) {
PluginInfo info = iter->second;
int item = m_checkListPluginsList->Append(info.GetName());
- if (item != wxNOT_FOUND) {
+ if(item != wxNOT_FOUND) {
m_checkListPluginsList->Check((unsigned int)item, plugins.CanLoad(info.GetName()));
}
}
- if (m_checkListPluginsList->IsEmpty() == false) {
+ if(m_checkListPluginsList->IsEmpty() == false) {
m_checkListPluginsList->Select(0);
CreateInfoPage(0);
}
m_checkListPluginsList->SetFocus();
}
-void PluginMgrDlg::OnItemSelected(wxCommandEvent &event)
+void PluginMgrDlg::OnItemSelected(wxCommandEvent& event)
{
int item = event.GetSelection();
CreateInfoPage((unsigned int)item);
}
-void PluginMgrDlg::OnButtonOK(wxCommandEvent &event)
+void PluginMgrDlg::OnButtonOK(wxCommandEvent& event)
{
clConfig conf("plugins.conf");
PluginInfoArray plugins;
conf.ReadItem(&plugins);
wxArrayString disabledPlugins;
- for (unsigned int i = 0; i<m_checkListPluginsList->GetCount(); i++) {
- if ( m_checkListPluginsList->IsChecked(i) == false ) {
- disabledPlugins.Add( m_checkListPluginsList->GetString(i) );
+ for(unsigned int i = 0; i < m_checkListPluginsList->GetCount(); i++) {
+ if(m_checkListPluginsList->IsChecked(i) == false) {
+ disabledPlugins.Add(m_checkListPluginsList->GetString(i));
}
}
std::sort(disabledPlugins.begin(), disabledPlugins.end());
- plugins.DisablePugins( disabledPlugins );
- conf.WriteItem( &plugins );
+ plugins.DisablePugins(disabledPlugins);
+ conf.WriteItem(&plugins);
- EndModal( disabledPlugins == m_initialDisabledPlugins ? wxID_CANCEL : wxID_OK );
+ EndModal(disabledPlugins == m_initialDisabledPlugins ? wxID_CANCEL : wxID_OK);
}
void PluginMgrDlg::CreateInfoPage(unsigned int index)
@@ -103,42 +102,51 @@ void PluginMgrDlg::CreateInfoPage(unsigned int index)
PluginInfoArray plugins;
conf.ReadItem(&plugins);
- //get the plugin name
+ // get the plugin name
wxString pluginName = m_checkListPluginsList->GetString(index);
PluginInfo::PluginMap_t::const_iterator iter = plugins.GetPlugins().find(pluginName);
- if (iter != plugins.GetPlugins().end()) {
+ if(iter != plugins.GetPlugins().end()) {
PluginInfo info = iter->second;
wxString content;
content << wxT("<html><body>");
content << wxT("<table border=0 width=\"100%\" >");
- //create line with the plugin name
+ // create line with the plugin name
content << wxT("<tr bgcolor=\"LIGHT GREY\">");
- content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(PluginName)</strong></font></td>");
- content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetName() << wxT("</font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" "
+ "face=\"Verdana\"><strong>$(PluginName)</strong></font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetName()
+ << wxT("</font></td>");
content << wxT("</tr>");
- //plugin author
+ // plugin author
content << wxT("<tr bgcolor=\"WHITE\">");
- content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Author)</strong></font></td>");
- content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetAuthor() << wxT("</font></td>");
+ content << wxT(
+ "<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Author)</strong></font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetAuthor()
+ << wxT("</font></td>");
content << wxT("</tr>");
- //plugin version
+ // plugin version
content << wxT("<tr bgcolor=\"LIGHT GREY\">");
- content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Version)</strong></font></td>");
- content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetVersion() << wxT("</font></td>");
+ content << wxT(
+ "<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Version)</strong></font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetVersion()
+ << wxT("</font></td>");
content << wxT("</tr>");
- //plugin description
+ // plugin description
content << wxT("<tr bgcolor=\"WHITE\">");
- content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Description)</strong></font></td>");
- content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetDescription() << wxT("</font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" "
+ "face=\"Verdana\"><strong>$(Description)</strong></font></td>");
+ content << wxT("<td ALIGN=\"LEFT\" ><font size=\"2\" face=\"Verdana\">") << info.GetDescription()
+ << wxT("</font></td>");
content << wxT("</tr>");
content << wxT("<tr bgcolor=\"LIGHT GREY\">");
- content << wxT("<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Status)</strong></font></td>");
+ content << wxT(
+ "<td ALIGN=\"LEFT\" WIDTH=30%><font size=\"2\" face=\"Verdana\"><strong>$(Status)</strong></font></td>");
content.Replace(wxT("$(PluginName)"), _("Plugin Name:"));
content.Replace(wxT("$(Author)"), _("Author:"));
@@ -147,7 +155,7 @@ void PluginMgrDlg::CreateInfoPage(unsigned int index)
content.Replace(wxT("$(Status)"), _("Status:"));
wxString status;
- if ( plugins.CanLoad(info.GetName()) ) {
+ if(plugins.CanLoad(info.GetName())) {
status = wxT("<img src=\"$(InstallPath)/images/plugin_ok.png\" ></img>");
} else {
status = wxT("<img src=\"$(InstallPath)/images/plugin_not_ok.png\" > </img>");
@@ -164,7 +172,7 @@ void PluginMgrDlg::CreateInfoPage(unsigned int index)
}
void PluginMgrDlg::OnCheckAll(wxCommandEvent& event)
{
- for(size_t i=0; i<m_checkListPluginsList->GetCount(); ++i) {
+ for(size_t i = 0; i < m_checkListPluginsList->GetCount(); ++i) {
m_checkListPluginsList->Check(i, true);
}
}
@@ -172,18 +180,18 @@ void PluginMgrDlg::OnCheckAll(wxCommandEvent& event)
void PluginMgrDlg::OnCheckAllUI(wxUpdateUIEvent& event)
{
bool atLeastOneIsUnChecked = false;
- for(size_t i=0; i<m_checkListPluginsList->GetCount(); ++i) {
- if ( !m_checkListPluginsList->IsChecked(i) ) {
+ for(size_t i = 0; i < m_checkListPluginsList->GetCount(); ++i) {
+ if(!m_checkListPluginsList->IsChecked(i)) {
atLeastOneIsUnChecked = true;
break;
}
}
- event.Enable( atLeastOneIsUnChecked );
+ event.Enable(atLeastOneIsUnChecked);
}
void PluginMgrDlg::OnUncheckAll(wxCommandEvent& event)
{
- for(size_t i=0; i<m_checkListPluginsList->GetCount(); ++i) {
+ for(size_t i = 0; i < m_checkListPluginsList->GetCount(); ++i) {
m_checkListPluginsList->Check(i, false);
}
}
@@ -191,11 +199,11 @@ void PluginMgrDlg::OnUncheckAll(wxCommandEvent& event)
void PluginMgrDlg::OnUncheckAllUI(wxUpdateUIEvent& event)
{
bool atLeastOneIsChecked = false;
- for(size_t i=0; i<m_checkListPluginsList->GetCount(); ++i) {
- if ( m_checkListPluginsList->IsChecked(i) ) {
+ for(size_t i = 0; i < m_checkListPluginsList->GetCount(); ++i) {
+ if(m_checkListPluginsList->IsChecked(i)) {
atLeastOneIsChecked = true;
break;
}
}
- event.Enable( atLeastOneIsChecked );
+ event.Enable(atLeastOneIsChecked);
}
diff --git a/LiteEditor/project_settings.wxcp b/LiteEditor/project_settings.wxcp
index fcec28b7..bb252f84 100644
--- a/LiteEditor/project_settings.wxcp
+++ b/LiteEditor/project_settings.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 269,
+ "m_objCounter": 275,
"m_includeFiles": [],
"m_bitmapFunction": "wxCA3F0InitBitmapResources",
"m_bitmapsFile": "project_settings_liteeditor_bitmaps.cpp",
@@ -72,6 +72,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Project Settings"
@@ -128,6 +132,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "mainSizer"
}, {
@@ -217,6 +225,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "m_sizerSettings"
}, {
@@ -240,6 +252,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer44"
}, {
@@ -792,6 +808,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer35"
}, {
@@ -2064,6 +2084,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer1761"
}, {
@@ -3141,6 +3165,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer37"
}, {
@@ -3770,6 +3798,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer38"
}, {
@@ -3859,6 +3891,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer192"
}, {
@@ -3957,6 +3993,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer35"
}, {
@@ -4311,6 +4351,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer82"
}, {
@@ -4446,6 +4490,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer84"
}, {
@@ -4751,6 +4799,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer76"
}, {
@@ -5027,6 +5079,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer78"
}, {
@@ -5304,6 +5360,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer61"
}, {
@@ -5900,6 +5960,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer39"
}, {
@@ -6375,6 +6439,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer44"
}, {
@@ -6464,6 +6532,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer34"
}, {
@@ -6487,6 +6559,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer12"
}, {
@@ -7178,6 +7254,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer41"
}, {
@@ -7267,6 +7347,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer8"
}, {
@@ -7287,7 +7371,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxEXPAND"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -7365,6 +7449,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer9"
}, {
@@ -7574,6 +7662,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer42"
}, {
@@ -7663,6 +7755,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer15"
}, {
@@ -7683,7 +7779,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -7766,73 +7862,6 @@
}],
"m_children": []
}, {
- "m_type": 4418,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLI_HORIZONTAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticline12"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
"m_type": 4401,
"proportion": 0,
"border": 5,
@@ -7842,6 +7871,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer23"
}, {
@@ -7862,7 +7895,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_RIGHT", "wxALIGN_CENTER_VERTICAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -8151,6 +8184,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer211"
}, {
@@ -8165,12 +8202,12 @@
}],
"m_events": [],
"m_children": [{
- "m_type": 4413,
+ "m_type": 4469,
"proportion": 1,
"border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLC_VRULES", "wxLC_HRULES", "wxLC_SINGLE_SEL", "wxLC_REPORT", "wxBORDER_THEME"],
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDV_VERT_RULES", "wxDV_ROW_LINES", "wxDV_SINGLE"],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "winid",
@@ -8179,15 +8216,15 @@
}, {
"type": "string",
"m_label": "Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
- "m_value": ""
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_listCtrlTargets"
+ "m_value": "m_dvListCtrlTargets"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -8230,28 +8267,97 @@
"m_value": ""
}],
"m_events": [{
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_ACTIVATED",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemActivated(wxListEvent& event)",
- "m_description": "The item has been activated (ENTER or double click)",
- "m_noBody": false
- }, {
- "m_eventName": "wxEVT_COMMAND_LIST_ITEM_SELECTED",
- "m_eventClass": "wxListEvent",
- "m_eventHandler": "wxListEventHandler",
- "m_functionNameAndSignature": "OnItemSelected(wxListEvent& event)",
- "m_description": "The item has been selected",
+ "m_eventName": "wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED",
+ "m_eventClass": "wxDataViewEvent",
+ "m_eventHandler": "wxDataViewEventHandler",
+ "m_functionNameAndSignature": "OnTargetActivated(wxDataViewEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED event.\nThis event is triggered by double clicking an item or pressing some special key (usually \"Enter\") when it is focused",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCustomBuildEnabledUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnEnableTableUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
- "m_children": []
+ "m_children": [{
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Target"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "150"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 2,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress", "choice"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Command"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "500"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 2,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress", "choice"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
}, {
"m_type": 4401,
"proportion": 0,
@@ -8262,6 +8368,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer221"
}, {
@@ -8684,6 +8794,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer117"
}, {
@@ -9672,6 +9786,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer43"
}, {
@@ -9761,6 +9879,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer16"
}, {
@@ -9784,6 +9906,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "fgSizer5"
}, {
@@ -10193,6 +10319,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "sbSizer2"
}, {
@@ -10401,6 +10531,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer34"
}, {
@@ -10573,6 +10707,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer35"
}, {
@@ -10833,6 +10971,10 @@
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer36"
}, {
@@ -11022,9 +11164,13 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "bSizer40"
}, {
@@ -11034,7 +11180,7 @@
}, {
"type": "choice",
"m_label": "Orientation:",
- "m_selection": 0,
+ "m_selection": 1,
"m_options": ["wxVERTICAL", "wxHORIZONTAL"]
}],
"m_events": [],
@@ -11045,7 +11191,7 @@
"gbSpan": ",",
"gbPosition": ",",
"m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
@@ -11065,7 +11211,7 @@
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": ""
+ "m_value": "If checked, pass -std=c++11 to the clang code completion engine to ensure that all c++11 features are recognized properly"
}, {
"type": "colour",
"m_label": "Bg Colour:",
@@ -11120,6 +11266,88 @@
"m_noBody": false
}],
"m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxC14"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "If checked, pass -std=c++14 to the clang code completion engine to ensure that all c++14 features are recognized properly"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Enable C++14 Standard"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCmdEvtVModified(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
}]
}]
}]
@@ -11187,6 +11415,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Build Target"
@@ -11243,6 +11475,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer45"
}, {
@@ -11266,6 +11502,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer53"
}, {
@@ -11756,4 +11996,4 @@
}]
}]
}]
-}
+} \ No newline at end of file
diff --git a/LiteEditor/project_settings_base_dlg.cpp b/LiteEditor/project_settings_base_dlg.cpp
index 024063c1..b2d997dd 100644
--- a/LiteEditor/project_settings_base_dlg.cpp
+++ b/LiteEditor/project_settings_base_dlg.cpp
@@ -43,6 +43,7 @@ ProjectSettingsBaseDlg::ProjectSettingsBaseDlg(wxWindow* parent, wxWindowID id,
bSizer44->Add(m_choiceConfig, 1, wxALL|wxEXPAND, 5);
m_treebook = new wxTreebook(m_panelSettings, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_treebook->SetName(wxT("m_treebook"));
m_sizerSettings->Add(m_treebook, 1, wxALL|wxEXPAND, 5);
@@ -70,11 +71,24 @@ ProjectSettingsBaseDlg::ProjectSettingsBaseDlg(wxWindow* parent, wxWindowID id,
m_stdBtnSizer126->AddButton(m_button_help);
m_stdBtnSizer126->Realize();
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_treebook)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_treebook);
+ }
+ #endif
+
+ SetName(wxT("ProjectSettingsBaseDlg"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_choiceConfig->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(ProjectSettingsBaseDlg::OnConfigurationChanged), NULL, this);
m_treebook->Connect(wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, wxTreebookEventHandler(ProjectSettingsBaseDlg::OnPageChanged), NULL, this);
@@ -181,11 +195,12 @@ PSGeneralPageBase::PSGeneralPageBase(wxWindow* parent, wxWindowID id, const wxPo
m_pgPropDebugArgs = m_pgMgr136->AppendIn( CATEGORY_DEBUGGER, new wxStringProperty( _("Debug Program Arguments"), wxPG_LABEL, wxT("")) );
m_pgPropDebugArgs->SetHelpString(_("Arguments to pass to the debugger"));
+ SetName(wxT("PSGeneralPageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_checkBoxEnabled->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSGeneralPageBase::OnProjectEnabled), NULL, this);
m_pgMgr136->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(PSGeneralPageBase::OnValueChanged), NULL, this);
@@ -281,11 +296,12 @@ PSCompilerPageBase::PSCompilerPageBase(wxWindow* parent, wxWindowID id, const wx
m_pgPropPCHPolicy = m_pgMgr->AppendIn( CATEGORY_PCH, new wxEnumProperty( _("PCH Compile Flags Policy"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
m_pgPropPCHPolicy->SetHelpString(_("Set the PCH flags policy to:\n* Append - this means that the flags set in the 'PCH Compile Flags' field will be appended to default flags\n* Replace - the 'PCH Compile Flags' will replace any other flags"));
+ SetName(wxT("PSCompilerPageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCompilerPageBase::OnProjectEnabledUI), NULL, this);
m_checkCompilerNeeded->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCompilerPageBase::OnCompilerNeeded), NULL, this);
@@ -351,11 +367,12 @@ PSLinkPageBase::PSLinkPageBase(wxWindow* parent, wxWindowID id, const wxPoint& p
m_pgPropLibraries->SetHelpString(_("Enter any extra library names, separated by';' e.g. Foo or Foo;Bar"));
m_pgPropLibraries->SetEditor( wxT("TextCtrlAndButton") );
+ SetName(wxT("PSLinkPageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSLinkPageBase::OnProjectEnabledUI), NULL, this);
m_checkLinkerNeeded->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSLinkPageBase::OnCheckLinkerNeeded), NULL, this);
@@ -418,6 +435,7 @@ PSDebuggerPageBase::PSDebuggerPageBase(wxWindow* parent, wxWindowID id, const wx
boxSizer35->Add(m_button39, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5);
m_notebook67 = new wxNotebook(m_panelDebugger, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook67->SetName(wxT("m_notebook67"));
bSizer192->Add(m_notebook67, 1, wxALL|wxEXPAND, 5);
@@ -516,11 +534,12 @@ PSDebuggerPageBase::PSDebuggerPageBase(wxWindow* parent, wxWindowID id, const wx
fgSizer61->Add(m_checkBoxDbgRemoteExt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+ SetName(wxT("PSDebuggerPageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSDebuggerPageBase::OnProjectEnabledUI), NULL, this);
m_button39->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSDebuggerPageBase::OnBrowseForDebuggerPath), NULL, this);
@@ -601,11 +620,12 @@ PSResourcesPageBase::PSResourcesPageBase(wxWindow* parent, wxWindowID id, const
m_pgPropResCmpSearchPath->SetHelpString(_("Resource compiler search path, as semi colon list"));
m_pgPropResCmpSearchPath->SetEditor( wxT("TextCtrlAndButton") );
+ SetName(wxT("PSResourcesPageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSResourcesPageBase::OnProjectEnabledUI), NULL, this);
m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(PSResourcesPageBase::OnValueChanged), NULL, this);
@@ -680,11 +700,12 @@ PSEnvironmentBasePage::PSEnvironmentBasePage(wxWindow* parent, wxWindowID id, co
bSizer34->Add(m_textCtrlEnvvars, 1, wxALL|wxEXPAND, 5);
+ SetName(wxT("PSEnvironmentBasePage"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSEnvironmentBasePage::OnProjectEnabledUI), NULL, this);
m_choiceEnv->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(PSEnvironmentBasePage::OnCmdEvtVModified), NULL, this);
@@ -724,7 +745,7 @@ PSBuildEventsBasePage::PSBuildEventsBasePage(wxWindow* parent, wxWindowID id, co
m_staticText11 = new wxStaticText(m_preBuildPage, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
- bSizer8->Add(m_staticText11, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer8->Add(m_staticText11, 0, wxLEFT|wxRIGHT|wxEXPAND, 5);
wxBoxSizer* bSizer9 = new wxBoxSizer(wxHORIZONTAL);
@@ -743,11 +764,12 @@ PSBuildEventsBasePage::PSBuildEventsBasePage(wxWindow* parent, wxWindowID id, co
bSizer9->Add(m_textCtrlBuildEvents, 1, wxALL|wxEXPAND, 5);
+ SetName(wxT("PSBuildEventsBasePage"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSBuildEventsBasePage::OnProjectEnabledUI), NULL, this);
@@ -782,11 +804,7 @@ PSCustomBuildBasePage::PSCustomBuildBasePage(wxWindow* parent, wxWindowID id, co
m_checkEnableCustomBuild = new wxCheckBox(m_customBuildPage, wxID_ANY, _("Enable custom build"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkEnableCustomBuild->SetValue(false);
- bSizer15->Add(m_checkEnableCustomBuild, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
-
- m_staticline12 = new wxStaticLine(m_customBuildPage, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLI_HORIZONTAL);
-
- bSizer15->Add(m_staticline12, 0, wxALL|wxEXPAND, 5);
+ bSizer15->Add(m_checkEnableCustomBuild, 0, wxALL|wxALIGN_LEFT, 5);
wxBoxSizer* bSizer23 = new wxBoxSizer(wxHORIZONTAL);
@@ -794,7 +812,7 @@ PSCustomBuildBasePage::PSCustomBuildBasePage(wxWindow* parent, wxWindowID id, co
m_staticText33 = new wxStaticText(m_customBuildPage, wxID_ANY, _("Working Directory:"), wxDefaultPosition, wxSize(-1, -1), 0);
- bSizer23->Add(m_staticText33, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer23->Add(m_staticText33, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
m_textCtrlCustomBuildWD = new wxTextCtrl(m_customBuildPage, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
#if wxVERSION_NUMBER >= 3000
@@ -811,10 +829,12 @@ PSCustomBuildBasePage::PSCustomBuildBasePage(wxWindow* parent, wxWindowID id, co
bSizer15->Add(bSizer211, 1, wxEXPAND, 5);
- m_listCtrlTargets = new wxListCtrl(m_customBuildPage, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT|wxBORDER_THEME);
+ m_dvListCtrlTargets = new wxDataViewListCtrl(m_customBuildPage, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxDV_VERT_RULES|wxDV_ROW_LINES|wxDV_SINGLE);
- bSizer211->Add(m_listCtrlTargets, 1, wxALL|wxEXPAND, 5);
+ bSizer211->Add(m_dvListCtrlTargets, 1, wxALL|wxEXPAND, 5);
+ m_dvListCtrlTargets->AppendTextColumn(_("Target"), wxDATAVIEW_CELL_INERT, 150, wxALIGN_LEFT);
+ m_dvListCtrlTargets->AppendTextColumn(_("Command"), wxDATAVIEW_CELL_INERT, 500, wxALIGN_LEFT);
wxBoxSizer* bSizer221 = new wxBoxSizer(wxVERTICAL);
bSizer211->Add(bSizer221, 0, wxEXPAND, 5);
@@ -831,11 +851,12 @@ PSCustomBuildBasePage::PSCustomBuildBasePage(wxWindow* parent, wxWindowID id, co
bSizer221->Add(m_buttonDeleteCustomTarget, 0, wxALL, 5);
+ SetName(wxT("PSCustomBuildBasePage"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnProjectEnabledUI), NULL, this);
m_checkEnableCustomBuild->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabled), NULL, this);
@@ -845,9 +866,8 @@ PSCustomBuildBasePage::PSCustomBuildBasePage(wxWindow* parent, wxWindowID id, co
m_textCtrlCustomBuildWD->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
m_buttonBrowseCustomBuildWD->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnBrowseCustomBuildWD), NULL, this);
m_buttonBrowseCustomBuildWD->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
- m_listCtrlTargets->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(PSCustomBuildBasePage::OnItemActivated), NULL, this);
- m_listCtrlTargets->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(PSCustomBuildBasePage::OnItemSelected), NULL, this);
- m_listCtrlTargets->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
+ m_dvListCtrlTargets->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(PSCustomBuildBasePage::OnTargetActivated), NULL, this);
+ m_dvListCtrlTargets->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnEnableTableUI), NULL, this);
m_buttonNewCustomTarget->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnNewTarget), NULL, this);
m_buttonNewCustomTarget->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
m_buttonEditCustomTarget->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnEditTarget), NULL, this);
@@ -867,9 +887,8 @@ PSCustomBuildBasePage::~PSCustomBuildBasePage()
m_textCtrlCustomBuildWD->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
m_buttonBrowseCustomBuildWD->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnBrowseCustomBuildWD), NULL, this);
m_buttonBrowseCustomBuildWD->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
- m_listCtrlTargets->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(PSCustomBuildBasePage::OnItemActivated), NULL, this);
- m_listCtrlTargets->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(PSCustomBuildBasePage::OnItemSelected), NULL, this);
- m_listCtrlTargets->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
+ m_dvListCtrlTargets->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(PSCustomBuildBasePage::OnTargetActivated), NULL, this);
+ m_dvListCtrlTargets->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnEnableTableUI), NULL, this);
m_buttonNewCustomTarget->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnNewTarget), NULL, this);
m_buttonNewCustomTarget->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomBuildBasePage::OnCustomBuildEnabledUI), NULL, this);
m_buttonEditCustomTarget->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PSCustomBuildBasePage::OnEditTarget), NULL, this);
@@ -945,11 +964,12 @@ GlobalSettingsBasePanel::GlobalSettingsBasePanel(wxWindow* parent, wxWindowID id
m_pgPropResCmpSearchPath->SetHelpString(_("Resource compiler search path, as semi colon list"));
m_pgPropResCmpSearchPath->SetEditor( wxT("TextCtrlAndButton") );
+ SetName(wxT("GlobalSettingsBasePanel"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(GlobalSettingsBasePanel::OnValueChanged), NULL, this);
m_pgMgr->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(GlobalSettingsBasePanel::OnCustomEditorClicked), NULL, this);
@@ -1036,11 +1056,12 @@ PSCustomMakefileBasePage::PSCustomMakefileBasePage(wxWindow* parent, wxWindowID
sbSizer2->Add(m_staticText24, 0, wxALL, 5);
+ SetName(wxT("PSCustomMakefileBasePage"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomMakefileBasePage::OnProjectEnabledUI), NULL, this);
m_staticText25->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCustomMakefileBasePage::OnProjectCustumBuildUI), NULL, this);
@@ -1130,25 +1151,34 @@ PSCompletionBase::PSCompletionBase(wxWindow* parent, wxWindowID id, const wxPoin
bSizer36->Add(m_textCtrlMacros, 1, wxLEFT|wxRIGHT|wxEXPAND, 5);
- wxBoxSizer* bSizer40 = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* bSizer40 = new wxBoxSizer(wxHORIZONTAL);
- bSizer36->Add(bSizer40, 0, wxEXPAND, 5);
+ bSizer36->Add(bSizer40, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
m_checkBoxC11 = new wxCheckBox(m_panel15, wxID_ANY, _("Enable C++11 Standard"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkBoxC11->SetValue(false);
+ m_checkBoxC11->SetToolTip(_("If checked, pass -std=c++11 to the clang code completion engine to ensure that all c++11 features are recognized properly"));
+
+ bSizer40->Add(m_checkBoxC11, 0, wxALL|wxALIGN_LEFT, 5);
- bSizer40->Add(m_checkBoxC11, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ m_checkBoxC14 = new wxCheckBox(m_panel15, wxID_ANY, _("Enable C++14 Standard"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxC14->SetValue(false);
+ m_checkBoxC14->SetToolTip(_("If checked, pass -std=c++14 to the clang code completion engine to ensure that all c++14 features are recognized properly"));
+ bSizer40->Add(m_checkBoxC14, 0, wxALL, 5);
+
+ SetName(wxT("PSCompletionBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(PSCompletionBase::OnProjectEnabledUI), NULL, this);
m_textCtrlSearchPaths->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
m_textCtrlMacros->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
m_checkBoxC11->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
+ m_checkBoxC14->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
}
@@ -1158,6 +1188,7 @@ PSCompletionBase::~PSCompletionBase()
m_textCtrlSearchPaths->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
m_textCtrlMacros->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
m_checkBoxC11->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
+ m_checkBoxC14->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(PSCompletionBase::OnCmdEvtVModified), NULL, this);
}
@@ -1214,11 +1245,17 @@ ProjectCustomBuildTragetDlgBase::ProjectCustomBuildTragetDlgBase(wxWindow* paren
m_stdBtnSizer120->AddButton(m_button124);
m_stdBtnSizer120->Realize();
+ SetName(wxT("ProjectCustomBuildTragetDlgBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_textCtrlTargetName->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ProjectCustomBuildTragetDlgBase::OnEditTargetNameUI), NULL, this);
diff --git a/LiteEditor/project_settings_base_dlg.h b/LiteEditor/project_settings_base_dlg.h
index 2e7fd93d..133c0d77 100644
--- a/LiteEditor/project_settings_base_dlg.h
+++ b/LiteEditor/project_settings_base_dlg.h
@@ -30,9 +30,14 @@
#include <wx/imaglist.h>
#include <wx/dataview.h>
#include <wx/statline.h>
-#include <wx/listctrl.h>
#include <wx/statbox.h>
#include <wx/splitter.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class ProjectSettingsBaseDlg : public wxDialog
{
@@ -57,6 +62,10 @@ protected:
virtual void OnButtonHelp(wxCommandEvent& event) { event.Skip(); }
public:
+ wxChoice* GetChoiceConfig() { return m_choiceConfig; }
+ wxTreebook* GetTreebook() { return m_treebook; }
+ wxPanel* GetPanelSettings() { return m_panelSettings; }
+ wxInfoBar* GetInfobar() { return m_infobar; }
ProjectSettingsBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Project Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~ProjectSettingsBaseDlg();
};
@@ -90,6 +99,8 @@ protected:
virtual void OnCustomEditorClicked(wxCommandEvent& event) { event.Skip(); }
public:
+ wxCheckBox* GetCheckBoxEnabled() { return m_checkBoxEnabled; }
+ wxPropertyGridManager* GetPgMgr136() { return m_pgMgr136; }
PSGeneralPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSGeneralPageBase();
};
@@ -121,6 +132,8 @@ protected:
virtual void OnCustomEditorClicked(wxCommandEvent& event) { event.Skip(); }
public:
+ wxCheckBox* GetCheckCompilerNeeded() { return m_checkCompilerNeeded; }
+ wxPropertyGridManager* GetPgMgr() { return m_pgMgr; }
PSCompilerPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSCompilerPageBase();
};
@@ -146,6 +159,8 @@ protected:
virtual void OnPropertyChanged(wxPropertyGridEvent& event) { event.Skip(); }
public:
+ wxCheckBox* GetCheckLinkerNeeded() { return m_checkLinkerNeeded; }
+ wxPropertyGridManager* GetPgMgr() { return m_pgMgr; }
PSLinkPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSLinkPageBase();
};
@@ -187,6 +202,27 @@ protected:
virtual void OnRemoteDebugUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText321() { return m_staticText321; }
+ wxTextCtrl* GetTextCtrlDebuggerPath() { return m_textCtrlDebuggerPath; }
+ wxButton* GetButton39() { return m_button39; }
+ wxDataViewListCtrl* GetDvListCtrlDebuggerSearchPaths() { return m_dvListCtrlDebuggerSearchPaths; }
+ wxButton* GetButton88() { return m_button88; }
+ wxButton* GetButton90() { return m_button90; }
+ wxPanel* GetPanel80() { return m_panel80; }
+ wxStaticText* GetStaticText301() { return m_staticText301; }
+ wxTextCtrl* GetTextCtrlDbgCmds() { return m_textCtrlDbgCmds; }
+ wxPanel* GetPanel71() { return m_panel71; }
+ wxStaticText* GetStaticText311() { return m_staticText311; }
+ wxTextCtrl* GetTextCtrlDbgPostConnectCmds() { return m_textCtrlDbgPostConnectCmds; }
+ wxPanel* GetPanel74() { return m_panel74; }
+ wxNotebook* GetNotebook67() { return m_notebook67; }
+ wxCheckBox* GetCheckBoxDbgRemote() { return m_checkBoxDbgRemote; }
+ wxStaticText* GetStaticText31() { return m_staticText31; }
+ wxTextCtrl* GetTextCtrl1DbgHost() { return m_textCtrl1DbgHost; }
+ wxStaticText* GetStaticText32() { return m_staticText32; }
+ wxTextCtrl* GetTextCtrlDbgPort() { return m_textCtrlDbgPort; }
+ wxCheckBox* GetCheckBoxDbgRemoteExt() { return m_checkBoxDbgRemoteExt; }
+ wxPanel* GetPanelDebugger() { return m_panelDebugger; }
PSDebuggerPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSDebuggerPageBase();
};
@@ -208,6 +244,7 @@ protected:
virtual void OnResourcesEnabledUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxPropertyGridManager* GetPgMgr() { return m_pgMgr; }
PSResourcesPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSResourcesPageBase();
};
@@ -230,6 +267,14 @@ protected:
virtual void OnCmdEvtVModified(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText44() { return m_staticText44; }
+ wxChoice* GetChoiceEnv() { return m_choiceEnv; }
+ wxStaticText* GetStaticText45() { return m_staticText45; }
+ wxChoice* GetChoiceDbgEnv() { return m_choiceDbgEnv; }
+ wxStaticLine* GetStaticline12() { return m_staticline12; }
+ wxStaticText* GetStaticText47() { return m_staticText47; }
+ wxTextCtrl* GetTextCtrlEnvvars() { return m_textCtrlEnvvars; }
+ wxPanel* GetPanelEnv() { return m_panelEnv; }
PSEnvironmentBasePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSEnvironmentBasePage();
};
@@ -246,6 +291,9 @@ protected:
virtual void OnProjectEnabledUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText11() { return m_staticText11; }
+ wxTextCtrl* GetTextCtrlBuildEvents() { return m_textCtrlBuildEvents; }
+ wxPanel* GetPreBuildPage() { return m_preBuildPage; }
PSBuildEventsBasePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSBuildEventsBasePage();
};
@@ -256,11 +304,10 @@ class PSCustomBuildBasePage : public wxPanel
protected:
wxPanel* m_customBuildPage;
wxCheckBox* m_checkEnableCustomBuild;
- wxStaticLine* m_staticline12;
wxStaticText* m_staticText33;
wxTextCtrl* m_textCtrlCustomBuildWD;
wxButton* m_buttonBrowseCustomBuildWD;
- wxListCtrl* m_listCtrlTargets;
+ wxDataViewListCtrl* m_dvListCtrlTargets;
wxButton* m_buttonNewCustomTarget;
wxButton* m_buttonEditCustomTarget;
wxButton* m_buttonDeleteCustomTarget;
@@ -272,8 +319,8 @@ protected:
virtual void OnCustomBuildEnabledUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnCmdEvtVModified(wxCommandEvent& event) { event.Skip(); }
virtual void OnBrowseCustomBuildWD(wxCommandEvent& event) { event.Skip(); }
- virtual void OnItemActivated(wxListEvent& event) { event.Skip(); }
- virtual void OnItemSelected(wxListEvent& event) { event.Skip(); }
+ virtual void OnTargetActivated(wxDataViewEvent& event) { event.Skip(); }
+ virtual void OnEnableTableUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnNewTarget(wxCommandEvent& event) { event.Skip(); }
virtual void OnEditTarget(wxCommandEvent& event) { event.Skip(); }
virtual void OnEditTargetUI(wxUpdateUIEvent& event) { event.Skip(); }
@@ -281,6 +328,15 @@ protected:
virtual void OnDeleteTargetUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxCheckBox* GetCheckEnableCustomBuild() { return m_checkEnableCustomBuild; }
+ wxStaticText* GetStaticText33() { return m_staticText33; }
+ wxTextCtrl* GetTextCtrlCustomBuildWD() { return m_textCtrlCustomBuildWD; }
+ wxButton* GetButtonBrowseCustomBuildWD() { return m_buttonBrowseCustomBuildWD; }
+ wxDataViewListCtrl* GetDvListCtrlTargets() { return m_dvListCtrlTargets; }
+ wxButton* GetButtonNewCustomTarget() { return m_buttonNewCustomTarget; }
+ wxButton* GetButtonEditCustomTarget() { return m_buttonEditCustomTarget; }
+ wxButton* GetButtonDeleteCustomTarget() { return m_buttonDeleteCustomTarget; }
+ wxPanel* GetCustomBuildPage() { return m_customBuildPage; }
PSCustomBuildBasePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSCustomBuildBasePage();
};
@@ -308,6 +364,7 @@ protected:
virtual void OnCustomEditorClicked(wxCommandEvent& event) { event.Skip(); }
public:
+ wxPropertyGridManager* GetPgMgr() { return m_pgMgr; }
GlobalSettingsBasePanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~GlobalSettingsBasePanel();
};
@@ -329,6 +386,12 @@ protected:
virtual void OnCmdEvtVModified(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText25() { return m_staticText25; }
+ wxTextCtrl* GetTextDeps() { return m_textDeps; }
+ wxStaticText* GetStaticText26() { return m_staticText26; }
+ wxTextCtrl* GetTextPreBuildRule() { return m_textPreBuildRule; }
+ wxStaticText* GetStaticText24() { return m_staticText24; }
+ wxPanel* GetCustomMakefileStep() { return m_customMakefileStep; }
PSCustomMakefileBasePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSCustomMakefileBasePage();
};
@@ -345,12 +408,22 @@ protected:
wxStaticText* m_staticText49;
wxTextCtrl* m_textCtrlMacros;
wxCheckBox* m_checkBoxC11;
+ wxCheckBox* m_checkBoxC14;
protected:
virtual void OnProjectEnabledUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnCmdEvtVModified(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText47() { return m_staticText47; }
+ wxTextCtrl* GetTextCtrlSearchPaths() { return m_textCtrlSearchPaths; }
+ wxPanel* GetPanel14() { return m_panel14; }
+ wxStaticText* GetStaticText49() { return m_staticText49; }
+ wxTextCtrl* GetTextCtrlMacros() { return m_textCtrlMacros; }
+ wxCheckBox* GetCheckBoxC11() { return m_checkBoxC11; }
+ wxCheckBox* GetCheckBoxC14() { return m_checkBoxC14; }
+ wxPanel* GetPanel15() { return m_panel15; }
+ wxSplitterWindow* GetSplitter1() { return m_splitter1; }
PSCompletionBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~PSCompletionBase();
};
@@ -371,6 +444,10 @@ protected:
virtual void OnEditTargetNameUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticTextTargetName() { return m_staticTextTargetName; }
+ wxTextCtrl* GetTextCtrlTargetName() { return m_textCtrlTargetName; }
+ wxStaticText* GetStaticTextCommand() { return m_staticTextCommand; }
+ wxTextCtrl* GetTextCtrlCommand() { return m_textCtrlCommand; }
ProjectCustomBuildTragetDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Build Target"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~ProjectCustomBuildTragetDlgBase();
};
diff --git a/LiteEditor/project_settings_dlg.cpp b/LiteEditor/project_settings_dlg.cpp
index d3b7affa..e86c55e5 100644
--- a/LiteEditor/project_settings_dlg.cpp
+++ b/LiteEditor/project_settings_dlg.cpp
@@ -90,8 +90,9 @@ ProjectSettingsDlg::ProjectSettingsDlg(wxWindow* parent,
GetSizer()->Fit(this);
wxSize sz = GetSize();
- Centre();
- WindowAttrManager::Load(this, wxT("ProjectSettingsDlg"), NULL);
+ CentreOnParent();
+ SetName("ProjectSettingsDlg");
+ WindowAttrManager::Load(this);
// Make sure that all the controls are visible
wxSize newSize = GetSize();
@@ -165,7 +166,6 @@ ProjectSettingsDlg::~ProjectSettingsDlg()
PluginManager::Get()->UnHookProjectSettingsTab(m_treebook, m_projectName, wxEmptyString /* all tabs */);
EditorConfigST::Get()->SetString(wxT("PSSelectedPage"), m_treebook->GetPageText(m_treebook->GetSelection()));
- WindowAttrManager::Save(this, wxT("ProjectSettingsDlg"), NULL);
}
void ProjectSettingsDlg::OnButtonOK(wxCommandEvent& event)
@@ -188,7 +188,6 @@ void ProjectSettingsDlg::OnButtonApply(wxCommandEvent& event)
void ProjectSettingsDlg::SaveValues()
{
-
ProjectSettingsPtr projSettingsPtr = ManagerST::Get()->GetProjectSettings(m_projectName);
BuildConfigPtr buildConf = projSettingsPtr->GetBuildConfiguration(m_configName);
if(!buildConf) {
@@ -240,7 +239,7 @@ void ProjectSettingsDlg::LoadValues(const wxString& configName)
GlobalSettingsPanel* globalPage = dynamic_cast<GlobalSettingsPanel*>(page);
if(globalPage) {
// update the project name
- //globalPage->SetProjectName(m_projectName);
+ // globalPage->SetProjectName(m_projectName);
}
p->Load(buildConf);
}
@@ -280,10 +279,7 @@ void ProjectSettingsDlg::OnButtonHelp(wxCommandEvent& e)
#endif
}
-void ProjectSettingsDlg::OnButtonApplyUI(wxUpdateUIEvent& event)
-{
- event.Enable(GetIsDirty());
-}
+void ProjectSettingsDlg::OnButtonApplyUI(wxUpdateUIEvent& event) { event.Enable(GetIsDirty()); }
void ProjectSettingsDlg::OnConfigurationChanged(wxCommandEvent& event)
{
@@ -532,10 +528,7 @@ void GlobalSettingsPanel::OnCustomEditorClicked(wxCommandEvent& event)
}
}
-void GlobalSettingsPanel::OnValueChanged(wxPropertyGridEvent& event)
-{
- m_dlg->SetIsDirty(true);
-}
+void GlobalSettingsPanel::OnValueChanged(wxPropertyGridEvent& event) { m_dlg->SetIsDirty(true); }
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
diff --git a/LiteEditor/project_settings_liteeditor_bitmaps.cpp b/LiteEditor/project_settings_liteeditor_bitmaps.cpp
index b2f64abf..96ff1cf6 100644
--- a/LiteEditor/project_settings_liteeditor_bitmaps.cpp
+++ b/LiteEditor/project_settings_liteeditor_bitmaps.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : project_settings_liteeditor_bitmaps.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//
// This file was automatically generated by wxrc, do not edit by hand.
//
@@ -46,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
-static size_t xml_res_size_0 = 108;
+static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
+47,119,120,120,114,99,34,47,62,10};
void wxCA3F0InitBitmapResources()
{
diff --git a/LiteEditor/ps_completion_page.cpp b/LiteEditor/ps_completion_page.cpp
index d4d0ec19..7f15a346 100644
--- a/LiteEditor/ps_completion_page.cpp
+++ b/LiteEditor/ps_completion_page.cpp
@@ -53,7 +53,8 @@ void PSCompletionPage::Load(BuildConfigPtr buildConf)
{
m_textCtrlMacros->SetValue(buildConf->GetClangPPFlags());
m_textCtrlSearchPaths->SetValue(buildConf->GetCcSearchPaths());
- m_checkBoxC11->SetValue(buildConf->IsClangC11());
+ m_checkBoxC11->SetValue(buildConf->IsClangC11());
+ m_checkBoxC14->SetValue(buildConf->IsClangC14());
}
void PSCompletionPage::Save(BuildConfigPtr buildConf, ProjectSettingsPtr projSettingsPtr)
@@ -61,7 +62,7 @@ void PSCompletionPage::Save(BuildConfigPtr buildConf, ProjectSettingsPtr projSet
buildConf->SetClangPPFlags(m_textCtrlMacros->GetValue());
buildConf->SetCcSearchPaths(m_textCtrlSearchPaths->GetValue());
buildConf->SetClangC11(m_checkBoxC11->IsChecked());
-
+ buildConf->SetClangC14(m_checkBoxC14->IsChecked());
// Save was requested
if(m_ccSettingsModified) {
m_ccSettingsModified = false;
diff --git a/LiteEditor/ps_custom_build_page.cpp b/LiteEditor/ps_custom_build_page.cpp
index 70c15e67..cdebed3a 100644
--- a/LiteEditor/ps_custom_build_page.cpp
+++ b/LiteEditor/ps_custom_build_page.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : ps_custom_build_page.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : ps_custom_build_page.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "ps_custom_build_page.h"
#include "project_settings_dlg.h"
#include "dirsaver.h"
@@ -31,115 +31,108 @@
#include "manager.h"
#include <wx/log.h>
#include "ProjectCustomBuildTragetDlg.h"
+#include "macros.h"
-PSCustomBuildPage::PSCustomBuildPage( wxWindow* parent, const wxString &projectName, ProjectSettingsDlg *dlg )
- : PSCustomBuildBasePage( parent )
+PSCustomBuildPage::PSCustomBuildPage(wxWindow* parent, const wxString& projectName, ProjectSettingsDlg* dlg)
+ : PSCustomBuildBasePage(parent)
, m_projectName(projectName)
- , m_selecteCustomTaregt(wxNOT_FOUND)
, m_dlg(dlg)
{
- m_listCtrlTargets->InsertColumn(0, _("Target"));
- m_listCtrlTargets->InsertColumn(1, _("Command"));
}
-void PSCustomBuildPage::OnCustomBuildEnabled( wxCommandEvent& event )
+void PSCustomBuildPage::OnCustomBuildEnabled(wxCommandEvent& event)
{
GetDlg()->SetCustomBuildEnabled(event.IsChecked());
}
-void PSCustomBuildPage::OnCustomBuildEnabledUI( wxUpdateUIEvent& event )
+void PSCustomBuildPage::OnCustomBuildEnabledUI(wxUpdateUIEvent& event)
{
event.Enable(GetDlg()->IsCustomBuildEnabled());
}
-void PSCustomBuildPage::OnCmdEvtVModified( wxCommandEvent& event )
-{
- GetDlg()->SetIsDirty(true);
-}
+void PSCustomBuildPage::OnCmdEvtVModified(wxCommandEvent& event) { GetDlg()->SetIsDirty(true); }
-void PSCustomBuildPage::OnBrowseCustomBuildWD( wxCommandEvent& event )
+void PSCustomBuildPage::OnBrowseCustomBuildWD(wxCommandEvent& event)
{
DirSaver ds;
// Since all paths are relative to the project, set the working directory to the
// current project path
ProjectPtr p = ManagerST::Get()->GetProject(m_projectName);
- if (p) {
+ if(p) {
wxSetWorkingDirectory(p->GetFileName().GetPath());
}
wxFileName fn(m_textCtrlCustomBuildWD->GetValue());
wxString initPath(wxEmptyString);
- if (fn.DirExists()) {
+ if(fn.DirExists()) {
fn.MakeAbsolute();
initPath = fn.GetFullPath();
}
- wxString new_path = wxDirSelector(_("Select working directory:"), initPath, wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
- if (new_path.IsEmpty() == false) {
+ wxString new_path =
+ wxDirSelector(_("Select working directory:"), initPath, wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
+ if(new_path.IsEmpty() == false) {
m_textCtrlCustomBuildWD->SetValue(new_path);
}
}
-void PSCustomBuildPage::OnItemActivated( wxListEvent& event )
-{
- m_selecteCustomTaregt = event.m_itemIndex;
- DoEditTarget(m_selecteCustomTaregt);
-}
-
-void PSCustomBuildPage::OnItemSelected( wxListEvent& event )
-{
- m_selecteCustomTaregt = event.m_itemIndex;
-}
-
-void PSCustomBuildPage::OnNewTarget( wxCommandEvent& event )
+void PSCustomBuildPage::OnNewTarget(wxCommandEvent& event)
{
wxUnusedVar(event);
ProjectCustomBuildTragetDlg dlg(this, "", "");
- if (dlg.ShowModal() == wxID_OK) {
+ if(dlg.ShowModal() == wxID_OK) {
GetDlg()->SetIsDirty(true);
- if (GetTargetCommand(dlg.GetName()).IsEmpty() == false) {
- wxMessageBox(wxString::Format(_("Target '%s' already exist!"), dlg.GetName().c_str()), _("CodeLite"), wxICON_WARNING|wxCENTER|wxOK, this);
+ if(GetTargetCommand(dlg.GetName()).IsEmpty() == false) {
+ wxMessageBox(wxString::Format(_("Target '%s' already exist!"), dlg.GetName().c_str()),
+ _("CodeLite"),
+ wxICON_WARNING | wxCENTER | wxOK,
+ this);
return;
}
- long item = AppendListCtrlRow(m_listCtrlTargets);
- DoUpdateTarget(item, dlg.GetTargetName(), dlg.GetTargetCommand());
+ wxVector<wxVariant> cols;
+ cols.push_back(dlg.GetTargetName());
+ cols.push_back(dlg.GetTargetCommand());
+ m_dvListCtrlTargets->AppendItem(cols);
}
}
-void PSCustomBuildPage::OnEditTarget( wxCommandEvent& event )
+void PSCustomBuildPage::OnEditTarget(wxCommandEvent& event)
{
wxUnusedVar(event);
- if (m_selecteCustomTaregt != wxNOT_FOUND) {
- DoEditTarget(m_selecteCustomTaregt);
- }
+ wxDataViewItem item = m_dvListCtrlTargets->GetSelection();
+ CHECK_ITEM_RET(item);
+ DoEditTarget(item);
}
-void PSCustomBuildPage::OnEditTargetUI( wxUpdateUIEvent& event )
+void PSCustomBuildPage::OnEditTargetUI(wxUpdateUIEvent& event)
{
- event.Enable(m_selecteCustomTaregt != wxNOT_FOUND && m_checkEnableCustomBuild->IsChecked());
+ wxDataViewItem item = m_dvListCtrlTargets->GetSelection();
+ event.Enable(item.IsOk() && m_checkEnableCustomBuild->IsChecked());
}
-void PSCustomBuildPage::OnDeleteTarget( wxCommandEvent& event )
+void PSCustomBuildPage::OnDeleteTarget(wxCommandEvent& event)
{
wxUnusedVar(event);
- if (m_selecteCustomTaregt != wxNOT_FOUND) {
- m_listCtrlTargets->DeleteItem(m_selecteCustomTaregt);
- m_selecteCustomTaregt = wxNOT_FOUND;
-
+ wxDataViewItem item = m_dvListCtrlTargets->GetSelection();
+ if(item.IsOk()) {
+ m_dvListCtrlTargets->DeleteItem(m_dvListCtrlTargets->ItemToRow(item));
GetDlg()->SetIsDirty(true);
}
}
-void PSCustomBuildPage::OnDeleteTargetUI( wxUpdateUIEvent& event )
+void PSCustomBuildPage::OnDeleteTargetUI(wxUpdateUIEvent& event)
{
- if (m_selecteCustomTaregt != wxNOT_FOUND) {
- wxString name = GetColumnText(m_listCtrlTargets, m_selecteCustomTaregt, 0);
- event.Enable(name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_BUILD &&
- name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_CLEAN &&
- name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_REBUILD &&
+ wxDataViewItem item = m_dvListCtrlTargets->GetSelection();
+ if(item.IsOk()) {
+ wxVariant vTarget;
+ m_dvListCtrlTargets->GetValue(vTarget, m_dvListCtrlTargets->ItemToRow(item), 0);
+ wxString name = vTarget.GetString();
+ event.Enable(name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_BUILD &&
+ name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_CLEAN &&
+ name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_REBUILD &&
name != ProjectCustomBuildTragetDlg::CUSTOM_TARGET_COMPILE_SINGLE_FILE &&
m_checkEnableCustomBuild->IsChecked());
} else {
@@ -147,48 +140,50 @@ void PSCustomBuildPage::OnDeleteTargetUI( wxUpdateUIEvent& event )
}
}
-void PSCustomBuildPage::DoEditTarget(long item)
+void PSCustomBuildPage::DoEditTarget(wxDataViewItem item)
{
- if (item != wxNOT_FOUND) {
- wxString target = GetColumnText(m_listCtrlTargets, item, 0);
- wxString cmd = GetColumnText(m_listCtrlTargets, item, 1);
- ProjectCustomBuildTragetDlg dlg(this, target, cmd);
- if (dlg.ShowModal() == wxID_OK) {
- DoUpdateTarget(item, dlg.GetTargetName(), dlg.GetTargetCommand());
- GetDlg()->SetIsDirty(true);
- }
+ CHECK_ITEM_RET(item);
+ wxVariant varname, varcommand;
+ m_dvListCtrlTargets->GetValue(varname, m_dvListCtrlTargets->ItemToRow(item), 0);
+ m_dvListCtrlTargets->GetValue(varcommand, m_dvListCtrlTargets->ItemToRow(item), 1);
+ wxString target = varname.GetString();
+ wxString cmd = varcommand.GetString();
+ ProjectCustomBuildTragetDlg dlg(this, target, cmd);
+ if(dlg.ShowModal() == wxID_OK) {
+ DoUpdateTarget(item, dlg.GetTargetName(), dlg.GetTargetCommand());
+ GetDlg()->SetIsDirty(true);
+ }
#ifdef __WXMAC__
- GetDlg()->Raise();
+ GetDlg()->Raise();
#endif
-
- }
}
-void PSCustomBuildPage::DoUpdateTarget(long item, const wxString& target, const wxString& cmd)
+void PSCustomBuildPage::DoUpdateTarget(wxDataViewItem item, const wxString& target, const wxString& cmd)
{
- SetColumnText(m_listCtrlTargets, item, 0, target);
- SetColumnText(m_listCtrlTargets, item, 1, cmd);
+ CHECK_ITEM_RET(item);
+ int row = m_dvListCtrlTargets->ItemToRow(item);
- m_listCtrlTargets->SetColumnWidth(0, 150);
- m_listCtrlTargets->SetColumnWidth(1, 300);
+ m_dvListCtrlTargets->SetValue(target, row, 0);
+ m_dvListCtrlTargets->SetValue(cmd, row, 1);
}
void PSCustomBuildPage::OnCustomBuildCBEnabledUI(wxUpdateUIEvent& event)
{
- GetDlg()->SetCustomBuildEnabled( m_checkEnableCustomBuild->IsChecked() );
+ GetDlg()->SetCustomBuildEnabled(m_checkEnableCustomBuild->IsChecked());
}
-ProjectSettingsDlg* PSCustomBuildPage::GetDlg()
-{
- return m_dlg;
-}
+ProjectSettingsDlg* PSCustomBuildPage::GetDlg() { return m_dlg; }
wxString PSCustomBuildPage::GetTargetCommand(const wxString& target)
{
- for (int i=0; i<(int)m_listCtrlTargets->GetItemCount(); i++) {
- if (GetColumnText(m_listCtrlTargets, i, 0) == target) {
- return GetColumnText(m_listCtrlTargets, i, 1);
+ for(int i = 0; i < m_dvListCtrlTargets->GetItemCount(); i++) {
+ wxVariant variantTarget;
+ m_dvListCtrlTargets->GetValue(variantTarget, i, 0);
+ if(variantTarget.GetString() == target) {
+ wxVariant command;
+ m_dvListCtrlTargets->GetValue(command, i, 1);
+ return command.GetString();
}
}
return wxEmptyString;
@@ -199,63 +194,69 @@ void PSCustomBuildPage::Load(BuildConfigPtr buildConf)
m_checkEnableCustomBuild->SetValue(buildConf->IsCustomBuild());
m_textCtrlCustomBuildWD->SetValue(buildConf->GetCustomBuildWorkingDir());
- m_listCtrlTargets->DeleteAllItems();
- long item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, ProjectCustomBuildTragetDlg::CUSTOM_TARGET_BUILD);
- SetColumnText(m_listCtrlTargets, item, 1, buildConf->GetCustomBuildCmd());
+ m_dvListCtrlTargets->DeleteAllItems();
+
+ wxVector<wxVariant> cols;
- item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, ProjectCustomBuildTragetDlg::CUSTOM_TARGET_CLEAN);
- SetColumnText(m_listCtrlTargets, item, 1, buildConf->GetCustomCleanCmd());
+ cols.clear();
+ cols.push_back(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_BUILD);
+ cols.push_back(buildConf->GetCustomBuildCmd());
+ m_dvListCtrlTargets->AppendItem(cols);
- item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, ProjectCustomBuildTragetDlg::CUSTOM_TARGET_REBUILD);
- SetColumnText(m_listCtrlTargets, item, 1, buildConf->GetCustomRebuildCmd());
+ cols.clear();
+ cols.push_back(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_CLEAN);
+ cols.push_back(buildConf->GetCustomCleanCmd());
+ m_dvListCtrlTargets->AppendItem(cols);
- item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, ProjectCustomBuildTragetDlg::CUSTOM_TARGET_COMPILE_SINGLE_FILE);
- SetColumnText(m_listCtrlTargets, item, 1, buildConf->GetSingleFileBuildCommand());
+ cols.clear();
+ cols.push_back(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_REBUILD);
+ cols.push_back(buildConf->GetCustomRebuildCmd());
+ m_dvListCtrlTargets->AppendItem(cols);
- item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, ProjectCustomBuildTragetDlg::CUSTOM_TARGET_PREPROCESS_FILE);
- SetColumnText(m_listCtrlTargets, item, 1, buildConf->GetPreprocessFileCommand());
+ cols.clear();
+ cols.push_back(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_COMPILE_SINGLE_FILE);
+ cols.push_back(buildConf->GetSingleFileBuildCommand());
+ m_dvListCtrlTargets->AppendItem(cols);
+
+ cols.clear();
+ cols.push_back(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_PREPROCESS_FILE);
+ cols.push_back(buildConf->GetPreprocessFileCommand());
+ m_dvListCtrlTargets->AppendItem(cols);
// Initialize the custom build targets
std::map<wxString, wxString> targets = buildConf->GetCustomTargets();
std::map<wxString, wxString>::iterator titer = targets.begin();
- for (; titer != targets.end(); titer++) {
+ for(; titer != targets.end(); ++titer) {
- if ( ProjectCustomBuildTragetDlg::IsPredefinedTarget( titer->first ) )
- continue;
+ if(ProjectCustomBuildTragetDlg::IsPredefinedTarget(titer->first)) continue;
- item = AppendListCtrlRow(m_listCtrlTargets);
- SetColumnText(m_listCtrlTargets, item, 0, titer->first);
- SetColumnText(m_listCtrlTargets, item, 1, titer->second);
+ cols.clear();
+ cols.push_back(titer->first);
+ cols.push_back(titer->second);
+ m_dvListCtrlTargets->AppendItem(cols);
}
-
- m_listCtrlTargets->SetColumnWidth(0, 150);
- m_listCtrlTargets->SetColumnWidth(1, 300);
-
- m_dlg->SetCustomBuildEnabled( m_checkEnableCustomBuild->IsChecked() );
+ m_dlg->SetCustomBuildEnabled(m_checkEnableCustomBuild->IsChecked());
}
void PSCustomBuildPage::Save(BuildConfigPtr buildConf, ProjectSettingsPtr projSettingsPtr)
{
// loop over the list and create the targets map
std::map<wxString, wxString> targets;
- for (int i=0; i<(int)m_listCtrlTargets->GetItemCount(); i++) {
- wxString colText = GetColumnText(m_listCtrlTargets, i, 0);
- if( ProjectCustomBuildTragetDlg::IsPredefinedTarget( colText ) )
- continue;
+ for(int i = 0; i < m_dvListCtrlTargets->GetItemCount(); i++) {
+ wxVariant vTarget, vCommand;
+ m_dvListCtrlTargets->GetValue(vTarget, i, 0);
+ m_dvListCtrlTargets->GetValue(vCommand, i, 1);
+ if(ProjectCustomBuildTragetDlg::IsPredefinedTarget(vTarget.GetString())) continue;
- targets[GetColumnText(m_listCtrlTargets, i, 0)] = GetColumnText(m_listCtrlTargets, i, 1);
+ targets[vTarget.GetString()] = vCommand.GetString();
}
buildConf->SetCustomTargets(targets);
buildConf->SetCustomBuildCmd(GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_BUILD));
buildConf->SetCustomCleanCmd(GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_CLEAN));
buildConf->SetCustomRebuildCmd(GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_REBUILD));
- buildConf->SetSingleFileBuildCommand(GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_COMPILE_SINGLE_FILE));
+ buildConf->SetSingleFileBuildCommand(
+ GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_COMPILE_SINGLE_FILE));
buildConf->SetPreprocessFileCommand(GetTargetCommand(ProjectCustomBuildTragetDlg::CUSTOM_TARGET_PREPROCESS_FILE));
buildConf->EnableCustomBuild(m_checkEnableCustomBuild->IsChecked());
buildConf->SetCustomBuildWorkingDir(m_textCtrlCustomBuildWD->GetValue());
@@ -264,10 +265,18 @@ void PSCustomBuildPage::Save(BuildConfigPtr buildConf, ProjectSettingsPtr projSe
void PSCustomBuildPage::Clear()
{
m_checkEnableCustomBuild->SetValue(false);
- m_listCtrlTargets->DeleteAllItems();
+ m_dvListCtrlTargets->DeleteAllItems();
m_textCtrlCustomBuildWD->ChangeValue(wxT("$(WorkspacePath)"));
}
-void PSCustomBuildPage::OnProjectEnabledUI(wxUpdateUIEvent& event)
+void PSCustomBuildPage::OnProjectEnabledUI(wxUpdateUIEvent& event) { event.Enable(m_dlg->IsProjectEnabled()); }
+
+void PSCustomBuildPage::OnTargetActivated(wxDataViewEvent& event)
{
- event.Enable(m_dlg->IsProjectEnabled());
+ wxUnusedVar(event);
+ wxCommandEvent dummy;
+ OnEditTarget(dummy);
}
+void PSCustomBuildPage::OnEnableTableUI(wxUpdateUIEvent& event)
+{
+ event.Enable(m_checkEnableCustomBuild->IsChecked());
+}
diff --git a/LiteEditor/ps_custom_build_page.h b/LiteEditor/ps_custom_build_page.h
index eed36ae1..d0621b74 100644
--- a/LiteEditor/ps_custom_build_page.h
+++ b/LiteEditor/ps_custom_build_page.h
@@ -42,20 +42,19 @@ class ProjectSettingsDlg;
class PSCustomBuildPage : public PSCustomBuildBasePage, public IProjectSettingsPage
{
const wxString& m_projectName;
- long m_selecteCustomTaregt;
-
+
ProjectSettingsDlg* m_dlg;
StringManager m_stringManager;
protected:
+ virtual void OnEnableTableUI(wxUpdateUIEvent& event);
+ virtual void OnTargetActivated(wxDataViewEvent& event);
virtual void OnProjectEnabledUI(wxUpdateUIEvent& event);
// Handlers for PSCustomBuildBasePage events.
void OnCustomBuildEnabled(wxCommandEvent& event);
void OnCustomBuildEnabledUI(wxUpdateUIEvent& event);
void OnCmdEvtVModified(wxCommandEvent& event);
void OnBrowseCustomBuildWD(wxCommandEvent& event);
- void OnItemActivated(wxListEvent& event);
- void OnItemSelected(wxListEvent& event);
void OnNewTarget(wxCommandEvent& event);
void OnEditTarget(wxCommandEvent& event);
void OnEditTargetUI(wxUpdateUIEvent& event);
@@ -73,8 +72,8 @@ public:
virtual void Clear();
protected:
- void DoEditTarget(long item);
- void DoUpdateTarget(long item, const wxString& target, const wxString& cmd);
+ void DoEditTarget(wxDataViewItem item);
+ void DoUpdateTarget(wxDataViewItem item, const wxString& target, const wxString& cmd);
wxString GetTargetCommand(const wxString& target);
ProjectSettingsDlg* GetDlg();
};
diff --git a/LiteEditor/quickdebugdlg.cpp b/LiteEditor/quickdebugdlg.cpp
index 49617835..5585b449 100644
--- a/LiteEditor/quickdebugdlg.cpp
+++ b/LiteEditor/quickdebugdlg.cpp
@@ -39,12 +39,13 @@ QuickDebugDlg::QuickDebugDlg(wxWindow* parent)
{
GetSizer()->Fit(this);
Initialize();
- WindowAttrManager::Load(this, wxT("QuickDebugDlgAttr"), NULL);
+ SetName("QuickDebugDlg");
+ WindowAttrManager::Load(this);
}
QuickDebugDlg::~QuickDebugDlg()
{
- WindowAttrManager::Save(this, wxT("QuickDebugDlgAttr"), NULL);
+
}
void QuickDebugDlg::Initialize()
@@ -113,14 +114,14 @@ void QuickDebugDlg::OnButtonDebug(wxCommandEvent& event)
info.SetArguments(m_textCtrlArgs->GetValue());
EditorConfigST::Get()->WriteObject(wxT("QuickDebugDlg"), &info);
- WindowAttrManager::Save(this, wxT("QuickDebugDlgAttr"), NULL);
+
EndModal(wxID_OK);
}
void QuickDebugDlg::OnButtonCancel(wxCommandEvent& event)
{
wxUnusedVar(event);
- WindowAttrManager::Save(this, wxT("QuickDebugDlgAttr"), NULL);
+
EndModal(wxID_CANCEL);
}
diff --git a/LiteEditor/quickfindbar.cpp b/LiteEditor/quickfindbar.cpp
index 6e5c6ab9..fbeb9c0c 100644
--- a/LiteEditor/quickfindbar.cpp
+++ b/LiteEditor/quickfindbar.cpp
@@ -184,6 +184,10 @@ QuickFindBar::QuickFindBar(wxWindow* parent, wxWindowID id)
m_buttonReplace->Bind(wxEVT_UPDATE_UI, &QuickFindBar::OnButtonReplaceUI, this);
m_buttonReplace->Bind(wxEVT_KEY_DOWN, &QuickFindBar::OnKeyDown, this);
+ bool showreplace = EditorConfigST::Get()->GetOptions()->GetShowReplaceBar();
+ m_replaceWith->Show(showreplace); // Hide the replace-bar if desired
+ m_buttonReplace->Show(showreplace);
+
// Connect the events
m_findWhat->Bind(wxEVT_COMMAND_TEXT_ENTER, &QuickFindBar::OnEnter, this);
m_findWhat->Bind(wxEVT_COMMAND_TEXT_UPDATED, &QuickFindBar::OnText, this);
@@ -230,6 +234,14 @@ bool QuickFindBar::Show(bool show)
return DoShow(show, wxEmptyString);
}
+void QuickFindBar::ToggleReplacebar()
+{
+ if(!m_sci || !IsShown()) {
+ return;
+ }
+ DoToggleReplacebar();
+}
+
wchar_t* QuickFindBar::DoGetSearchStringPtr()
{
wxString text = m_sci->GetText();
@@ -616,6 +628,27 @@ bool QuickFindBar::DoShow(bool s, const wxString& findWhat)
return res;
}
+void QuickFindBar::DoToggleReplacebar()
+{
+ OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
+ bool show = !options->GetShowReplaceBar();
+
+ options->SetShowReplaceBar(show);
+ EditorConfigST::Get()->SetOptions(options);
+
+ ShowReplacebar(show);
+}
+
+void QuickFindBar::ShowReplacebar(bool show)
+{
+ m_replaceWith->Show(show);
+ m_buttonReplace->Show(show);
+ m_bar->GetSizer()->Layout();
+ if (IsShown()) {
+ clMainFrame::Get()->SendSizeEvent(); // Needed to show/hide the 'replace' bar itself
+ }
+}
+
void QuickFindBar::OnFindNext(wxCommandEvent& e)
{
CHECK_FOCUS_WIN();
@@ -1043,18 +1076,6 @@ void QuickFindBar::OnFindAll(wxFlatButtonEvent& e)
DoMarkAll(false);
}
-void QuickFindBar::OnShowReplaceControls(wxFlatButtonEvent& e)
-{
- if(e.IsChecked()) {
- m_replaceWith->Show();
- m_buttonReplace->Show();
- } else {
- m_replaceWith->Hide();
- m_buttonReplace->Hide();
- }
- m_bar->GetSizer()->Layout();
-}
-
void QuickFindBar::OnButtonReplace(wxFlatButtonEvent& e)
{
OnReplace(e);
@@ -1062,7 +1083,7 @@ void QuickFindBar::OnButtonReplace(wxFlatButtonEvent& e)
void QuickFindBar::OnButtonReplaceUI(wxUpdateUIEvent& e)
{
- e.Enable(!m_replaceWith->GetValue().IsEmpty());
+ e.Enable(!m_findWhat->GetValue().IsEmpty());
}
void QuickFindBar::OnHideBar(wxFlatButtonEvent& e)
diff --git a/LiteEditor/quickfindbar.h b/LiteEditor/quickfindbar.h
index 3de637a5..faea68b3 100644
--- a/LiteEditor/quickfindbar.h
+++ b/LiteEditor/quickfindbar.h
@@ -115,7 +115,6 @@ protected:
void OnText(wxCommandEvent& e);
void OnKeyDown(wxKeyEvent& e);
void OnFindMouseWheel(wxMouseEvent& e);
- void OnShowReplaceControls(wxFlatButtonEvent& e);
void OnButtonReplace(wxFlatButtonEvent& e);
void OnButtonReplaceUI(wxUpdateUIEvent& e);
void OnEnter(wxCommandEvent& e);
@@ -141,6 +140,7 @@ protected:
protected:
bool DoShow(bool s, const wxString& findWhat);
+ void DoToggleReplacebar();
wxStyledTextCtrl* DoCheckPlugins();
public:
@@ -150,6 +150,8 @@ public:
bool ShowForPlugins();
bool Show(bool s = true);
bool Show(const wxString& findWhat);
+ void ShowReplacebar(bool show);
+ void ToggleReplacebar();
wxStyledTextCtrl* GetEditor() { return m_sci; }
void SetEditor(wxStyledTextCtrl* sci);
};
diff --git a/LiteEditor/quickoutlinedlg.cpp b/LiteEditor/quickoutlinedlg.cpp
index b51123c9..3a55af4f 100644
--- a/LiteEditor/quickoutlinedlg.cpp
+++ b/LiteEditor/quickoutlinedlg.cpp
@@ -39,7 +39,7 @@
#else
#include <wx/wx.h>
-#endif //WX_PRECOMP
+#endif // WX_PRECOMP
#include "quickoutlinedlg.h"
#include "drawingutils.h"
@@ -53,91 +53,97 @@ extern wxImageList* CreateSymbolTreeImages();
///////////////////////////////////////////////////////////////////////////
BEGIN_EVENT_TABLE(QuickOutlineDlg, wxDialog)
- EVT_CHAR_HOOK(QuickOutlineDlg::OnCharHook)
- EVT_TEXT(wxID_ANY, QuickOutlineDlg::OnTextEntered)
+EVT_CHAR_HOOK(QuickOutlineDlg::OnCharHook)
+EVT_TEXT(wxID_ANY, QuickOutlineDlg::OnTextEntered)
END_EVENT_TABLE()
-QuickOutlineDlg::QuickOutlineDlg(wxWindow* parent, const wxString &fileName, int id, wxString title, wxPoint pos, wxSize size, int style )
- : wxDialog( parent, id, title, pos, size, style|wxRESIZE_BORDER)
- , m_fileName(fileName)
+QuickOutlineDlg::QuickOutlineDlg(wxWindow* parent,
+ const wxString& fileName,
+ int id,
+ wxString title,
+ wxPoint pos,
+ wxSize size,
+ int style)
+ : wxDialog(parent, id, title, pos, size, style | wxRESIZE_BORDER)
+ , m_fileName(fileName)
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetSizeHints(wxDefaultSize, wxDefaultSize);
#ifdef __WXGTK__
- wxColour bgCol = DrawingUtils::GetPanelBgColour();
- wxColour fgCol = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
+ wxColour bgCol = DrawingUtils::GetPanelBgColour();
+ wxColour fgCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
#else
- wxColour bgCol = wxSystemSettings::GetColour( wxSYS_COLOUR_INFOBK );
- wxColour fgCol = wxSystemSettings::GetColour( wxSYS_COLOUR_INFOTEXT );
+ wxColour bgCol = wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK);
+ wxColour fgCol = wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT);
#endif
- this->SetBackgroundColour( bgCol );
-
- wxBoxSizer* bSizer1;
- bSizer1 = new wxBoxSizer( wxVERTICAL );
- m_textFilter = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0|wxNO_BORDER |wxTE_RICH2);
+ this->SetBackgroundColour(bgCol);
+
+ wxBoxSizer* bSizer1;
+ bSizer1 = new wxBoxSizer(wxVERTICAL);
+ m_textFilter =
+ new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 | wxNO_BORDER | wxTE_RICH2);
+
+ m_textFilter->SetBackgroundColour(bgCol);
+ m_textFilter->SetForegroundColour(fgCol);
+
+ bSizer1->Add(m_textFilter, 0, wxALL | wxEXPAND, 5);
+ m_staticline1 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
+ m_staticline1->SetBackgroundColour(bgCol);
+ bSizer1->Add(m_staticline1, 0, wxEXPAND | wxLEFT | wxRIGHT, 5);
+
+ // build the outline view
+ m_treeOutline =
+ new CppSymbolTree(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE | wxNO_BORDER);
+ m_treeOutline->SetBackgroundColour(bgCol);
+ m_treeOutline->SetForegroundColour(fgCol);
+ m_treeOutline->SetSymbolsImages(CreateSymbolTreeImages());
+
+ Connect(wxEVT_CMD_CPP_SYMBOL_ITEM_SELECTED, wxCommandEventHandler(QuickOutlineDlg::OnItemSelected), NULL, this);
+
+ // no hidden root
+ m_treeOutline->BuildTree(m_fileName);
+ m_treeOutline->ExpandAll();
+
+ bSizer1->Add(m_treeOutline, 1, wxALL | wxEXPAND, 5);
+ this->SetSizer(bSizer1);
+ this->Layout();
+ Centre();
+ m_textFilter->SetFocus();
+ SetName("QuickOutlineDlg");
+ WindowAttrManager::Load(this);
+}
- m_textFilter->SetBackgroundColour( bgCol );
- m_textFilter->SetForegroundColour( fgCol );
+QuickOutlineDlg::~QuickOutlineDlg() {}
- bSizer1->Add( m_textFilter, 0, wxALL|wxEXPAND, 5 );
- m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- m_staticline1->SetBackgroundColour( bgCol );
- bSizer1->Add( m_staticline1, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
+void QuickOutlineDlg::OnCharHook(wxKeyEvent& e)
+{
+ if(e.GetKeyCode() == WXK_ESCAPE) {
+ EndModal(wxID_CANCEL);
- //build the outline view
- m_treeOutline = new CppSymbolTree( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxNO_BORDER);
- m_treeOutline->SetBackgroundColour( bgCol );
- m_treeOutline->SetForegroundColour( fgCol );
- m_treeOutline->SetSymbolsImages(CreateSymbolTreeImages());
+ } else if(e.GetKeyCode() == WXK_NUMPAD_ENTER || e.GetKeyCode() == WXK_RETURN) {
+ m_treeOutline->ActivateSelectedItem();
- Connect(wxEVT_CMD_CPP_SYMBOL_ITEM_SELECTED, wxCommandEventHandler(QuickOutlineDlg::OnItemSelected), NULL, this);
+ } else if(e.GetKeyCode() == WXK_UP) {
+ m_treeOutline->AdvanceSelection(false);
- //no hidden root
- m_treeOutline->BuildTree(m_fileName);
- m_treeOutline->ExpandAll();
+ } else if(e.GetKeyCode() == WXK_DOWN) {
+ m_treeOutline->AdvanceSelection();
- bSizer1->Add( m_treeOutline, 1, wxALL|wxEXPAND, 5 );
- this->SetSizer( bSizer1 );
- this->Layout();
- Centre();
- m_textFilter->SetFocus();
- WindowAttrManager::Load(this, wxT("QuickOutlineDlg"), NULL);
+ } else {
+ e.Skip();
+ }
}
-QuickOutlineDlg::~QuickOutlineDlg()
+void QuickOutlineDlg::OnTextEntered(wxCommandEvent& WXUNUSED(e))
{
- WindowAttrManager::Save(this, wxT("QuickOutlineDlg"), NULL);
+ wxString curname = m_textFilter->GetValue();
+ if(curname.IsEmpty() == false) {
+ m_treeOutline->SelectItemByName(curname);
+ }
}
-void QuickOutlineDlg::OnCharHook(wxKeyEvent &e)
-{
- if (e.GetKeyCode() == WXK_ESCAPE) {
- EndModal(wxID_CANCEL);
-
- } else if (e.GetKeyCode() == WXK_NUMPAD_ENTER || e.GetKeyCode() == WXK_RETURN) {
- m_treeOutline->ActivateSelectedItem();
-
- } else if (e.GetKeyCode() == WXK_UP) {
- m_treeOutline->AdvanceSelection(false);
-
- } else if (e.GetKeyCode() == WXK_DOWN) {
- m_treeOutline->AdvanceSelection();
-
- } else {
- e.Skip();
- }
-}
-
-void QuickOutlineDlg::OnTextEntered(wxCommandEvent &WXUNUSED(e))
-{
- wxString curname = m_textFilter->GetValue();
- if (curname.IsEmpty() == false) {
- m_treeOutline->SelectItemByName(curname);
- }
-}
-
void QuickOutlineDlg::OnItemSelected(wxCommandEvent& e)
{
- wxUnusedVar(e);
- Close();
+ wxUnusedVar(e);
+ Close();
}
diff --git a/LiteEditor/reconcileproject.cpp b/LiteEditor/reconcileproject.cpp
index 2678982a..8a42c7b1 100644
--- a/LiteEditor/reconcileproject.cpp
+++ b/LiteEditor/reconcileproject.cpp
@@ -49,13 +49,11 @@ bool IsSourceVD(const wxString& name)
bool IsHeaderVD(const wxString& name)
{
- return (name == "include" || name == "includes" || name == "header" || name == "headers" || name == "hpp" || name == "h");
+ return (name == "include" || name == "includes" || name == "header" || name == "headers" || name == "hpp" ||
+ name == "h");
}
-bool IsResourceVD(const wxString& name)
-{
- return (name == "rc" || name == "resource" || name == "resources");
-}
+bool IsResourceVD(const wxString& name) { return (name == "rc" || name == "resource" || name == "resources"); }
// ---------------------------------------------------------
@@ -66,20 +64,16 @@ class ReconcileFileItemData : public wxClientData
public:
ReconcileFileItemData() {}
- ReconcileFileItemData(const wxString &filename, const wxString &vd) : m_filename(filename), m_virtualFolder(vd) {}
- virtual ~ReconcileFileItemData() {}
- void SetFilename(const wxString& filename) {
- this->m_filename = filename;
- }
- void SetVirtualFolder(const wxString& virtualFolder) {
- this->m_virtualFolder = virtualFolder;
- }
- const wxString& GetFilename() const {
- return m_filename;
- }
- const wxString& GetVirtualFolder() const {
- return m_virtualFolder;
+ ReconcileFileItemData(const wxString& filename, const wxString& vd)
+ : m_filename(filename)
+ , m_virtualFolder(vd)
+ {
}
+ virtual ~ReconcileFileItemData() {}
+ void SetFilename(const wxString& filename) { this->m_filename = filename; }
+ void SetVirtualFolder(const wxString& virtualFolder) { this->m_virtualFolder = virtualFolder; }
+ const wxString& GetFilename() const { return m_filename; }
+ const wxString& GetVirtualFolder() const { return m_virtualFolder; }
};
// ---------------------------------------------------------
@@ -87,26 +81,34 @@ public:
class FindFilesTraverser : public wxDirTraverser
{
public:
- FindFilesTraverser(const wxString types, const wxArrayString& ignorefiles, const wxArrayString& excludes, const wxString& projFP)
- : m_ignorefiles(ignorefiles), m_excludes(excludes), m_projFP(projFP) {
+ FindFilesTraverser(const wxString types,
+ const wxArrayString& ignorefiles,
+ const wxArrayString& excludes,
+ const wxString& projFP)
+ : m_ignorefiles(ignorefiles)
+ , m_excludes(excludes)
+ , m_projFP(projFP)
+ {
m_types = wxStringTokenize(types, ";,|"); // The tooltip says use ';' but cover all bases
}
- virtual wxDirTraverseResult OnFile(const wxString& filename) {
+ virtual wxDirTraverseResult OnFile(const wxString& filename)
+ {
wxFileName fn(filename);
// First check for a matching file-ignore
- for (size_t n = 0; n < m_ignorefiles.GetCount(); ++n){
- if (wxMatchWild(m_ignorefiles.Item(n), fn.GetFullName())) {
+ for(size_t n = 0; n < m_ignorefiles.GetCount(); ++n) {
+ if(wxMatchWild(m_ignorefiles.Item(n), fn.GetFullName())) {
return wxDIR_CONTINUE;
}
}
- if (m_types.empty()) {
+ if(m_types.empty()) {
m_results.Add(filename); // No types presumably means everything
} else {
- for (size_t n = 0; n < m_types.GetCount(); ++n) {
- if (m_types.Item(n) == fn.GetExt() || m_types.Item(n) == "*" || m_types.Item(n) == "*.*") { // Other ways to say "Be greedy"
+ for(size_t n = 0; n < m_types.GetCount(); ++n) {
+ if(m_types.Item(n) == fn.GetExt() || m_types.Item(n) == "*" ||
+ m_types.Item(n) == "*.*") { // Other ways to say "Be greedy"
m_results.Add(fn.GetFullPath());
break;
}
@@ -116,18 +118,17 @@ public:
return wxDIR_CONTINUE;
}
- virtual wxDirTraverseResult OnDir(const wxString& dirname) {
+ virtual wxDirTraverseResult OnDir(const wxString& dirname)
+ {
// Skip this dir if it's found in the list of excludes
wxFileName fn = wxFileName::DirName(dirname);
- if (fn.IsAbsolute()) {
+ if(fn.IsAbsolute()) {
fn.MakeRelativeTo(m_projFP);
}
return (m_excludes.Index(fn.GetFullPath()) == wxNOT_FOUND) ? wxDIR_CONTINUE : wxDIR_IGNORE;
}
- const wxArrayString& GetResults() const {
- return m_results;
- }
+ const wxArrayString& GetResults() const { return m_results; }
private:
wxArrayString m_types;
@@ -146,22 +147,21 @@ ReconcileProjectDlg::ReconcileProjectDlg(wxWindow* parent, const wxString& projn
{
BitmapLoader bl;
m_bitmaps = bl.MakeStandardMimeMap();
+
+ m_dvListCtrl1Unassigned->Bind(
+ wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(ReconcileProjectDlg::OnDVLCContextMenu), this);
- m_dvListCtrl1Unassigned->Bind(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(ReconcileProjectDlg::OnDVLCContextMenu), this);
-
- WindowAttrManager::Load(this, wxT("ReconcileProjectDlg"), NULL);
+ SetName("ReconcileProjectDlg");
+ WindowAttrManager::Load(this);
}
-ReconcileProjectDlg::~ReconcileProjectDlg()
-{
- WindowAttrManager::Save(this, wxT("ReconcileProjectDlg"), NULL);
-}
+ReconcileProjectDlg::~ReconcileProjectDlg() {}
bool ReconcileProjectDlg::LoadData()
{
ReconcileProjectFiletypesDlg dlg(this, m_projname);
dlg.SetData();
- if (dlg.ShowModal() != wxID_OK) {
+ if(dlg.ShowModal() != wxID_OK) {
return false;
}
wxString toplevelDir, types;
@@ -170,7 +170,7 @@ bool ReconcileProjectDlg::LoadData()
m_regexes = regexes;
wxDir dir(toplevelDir);
- if (!dir.IsOpened()) {
+ if(!dir.IsOpened()) {
return false;
}
@@ -187,8 +187,11 @@ bool ReconcileProjectDlg::LoadData()
DoFindFiles();
}
- if (m_newfiles.empty() && m_stalefiles.empty()) {
- wxMessageBox(_("No new or stale files found. The project is up-to-date"), _("CodeLite"), wxICON_INFORMATION|wxOK, this);
+ if(m_newfiles.empty() && m_stalefiles.empty()) {
+ wxMessageBox(_("No new or stale files found. The project is up-to-date"),
+ _("CodeLite"),
+ wxICON_INFORMATION | wxOK,
+ this);
return false;
}
@@ -202,24 +205,24 @@ void ReconcileProjectDlg::DistributeFiles(bool usingAutoallocate)
wxArrayString selectedFiles;
bool onlySelections;
- if (usingAutoallocate) {
+ if(usingAutoallocate) {
vdTree.BuildTree(m_projname);
// If we're autoallocating, cache the current selections as
// 1) we only want to operate on those, and 2) m_dvListCtrl1Unassigned is about to be cleared!
wxDataViewItemArray selecteditems;
m_dvListCtrl1Unassigned->GetSelections(selecteditems);
- for (size_t i=0; i < selecteditems.GetCount(); ++i) {
+ for(size_t i = 0; i < selecteditems.GetCount(); ++i) {
wxVariant v;
m_dvListCtrl1Unassigned->GetValue(v, m_dvListCtrl1Unassigned->GetStore()->GetRow(selecteditems.Item(i)), 0);
wxDataViewIconText iv;
- if (!v.IsNull()) {
+ if(!v.IsNull()) {
iv << v;
selectedFiles.Add(iv.GetText());
}
}
onlySelections = !selectedFiles.empty();
}
-
+
//---------------------------------------------------------
// populate the 'new files' tab
//---------------------------------------------------------
@@ -228,42 +231,42 @@ void ReconcileProjectDlg::DistributeFiles(bool usingAutoallocate)
m_dvListCtrl1Unassigned->DeleteAllItems();
wxStringSet_t::const_iterator iter = m_newfiles.begin();
- for (; iter != m_newfiles.end(); ++iter) {
+ for(; iter != m_newfiles.end(); ++iter) {
wxString filename = *iter;
wxFileName fn(filename);
fn.MakeRelativeTo(m_toplevelDir);
// Even without auto-allocation, apply any regex as that'll be most likely to reflect the user's choice
bool bFileAllocated = false;
- for (size_t i = 0; i < m_regexes.GetCount() ; ++i) {
+ for(size_t i = 0; i < m_regexes.GetCount(); ++i) {
wxString virtualFolder(m_regexes.Item(i).BeforeFirst('|'));
- wxRegEx regex (m_regexes.Item(i).AfterFirst('|'));
- if ( regex.IsValid() && regex.Matches( filename ) ) {
+ wxRegEx regex(m_regexes.Item(i).AfterFirst('|'));
+ if(regex.IsValid() && regex.Matches(filename)) {
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(fn.GetFullPath(), GetBitmap(filename)) );
- cols.push_back( virtualFolder );
- ReconcileFileItemData *data = new ReconcileFileItemData(filename, virtualFolder);
+ cols.push_back(::MakeIconText(fn.GetFullPath(), GetBitmap(filename)));
+ cols.push_back(virtualFolder);
+ ReconcileFileItemData* data = new ReconcileFileItemData(filename, virtualFolder);
m_dataviewAssignedModel->AppendItem(wxDataViewItem(0), cols, data);
bFileAllocated = true;
break;
}
}
- if (usingAutoallocate) {
+ if(usingAutoallocate) {
bool attemptAllocation(true);
// First see if we should only process selected files and, if so, was this file selected
- if (onlySelections) {
- if (selectedFiles.Index(fn.GetFullPath()) == wxNOT_FOUND) {
+ if(onlySelections) {
+ if(selectedFiles.Index(fn.GetFullPath()) == wxNOT_FOUND) {
attemptAllocation = false;
}
}
- if (attemptAllocation) {
+ if(attemptAllocation) {
wxString virtualFolder = vdTree.FindBestMatchVDir(fn.GetPath(), fn.GetExt());
- if (!virtualFolder.empty()) {
+ if(!virtualFolder.empty()) {
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(fn.GetFullPath(), GetBitmap(filename)) );
- cols.push_back( virtualFolder );
+ cols.push_back(::MakeIconText(fn.GetFullPath(), GetBitmap(filename)));
+ cols.push_back(virtualFolder);
ReconcileFileItemData* data = new ReconcileFileItemData(filename, virtualFolder);
m_dataviewAssignedModel->AppendItem(wxDataViewItem(0), cols, data);
bFileAllocated = true;
@@ -271,9 +274,9 @@ void ReconcileProjectDlg::DistributeFiles(bool usingAutoallocate)
}
}
- if ( !bFileAllocated ) {
+ if(!bFileAllocated) {
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(fn.GetFullPath(), GetBitmap(filename) ) );
+ cols.push_back(::MakeIconText(fn.GetFullPath(), GetBitmap(filename)));
m_dvListCtrl1Unassigned->AppendItem(cols, (wxUIntPtr)NULL);
}
}
@@ -286,8 +289,11 @@ void ReconcileProjectDlg::DistributeFiles(bool usingAutoallocate)
for(; staleIter != m_stalefiles.end(); ++staleIter) {
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(staleIter->GetFilename(), GetBitmap( staleIter->GetFilename() )) );
- m_dataviewStaleFilesModel->AppendItem( wxDataViewItem(0), cols, new ReconcileFileItemData(staleIter->GetFilename(), staleIter->GetVirtualFolder() ) );
+ cols.push_back(::MakeIconText(staleIter->GetFilename(), GetBitmap(staleIter->GetFilename())));
+ m_dataviewStaleFilesModel->AppendItem(
+ wxDataViewItem(0),
+ cols,
+ new ReconcileFileItemData(staleIter->GetFilename(), staleIter->GetVirtualFolder()));
}
}
@@ -298,14 +304,14 @@ wxArrayString ReconcileProjectDlg::RemoveStaleFiles(const wxArrayString& StaleFi
ProjectPtr proj = ManagerST::Get()->GetProject(m_projname);
wxCHECK_MSG(proj, removals, "Can't find a Project with the supplied name");
- for (size_t n = 0; n < StaleFiles.GetCount(); ++n) {
+ for(size_t n = 0; n < StaleFiles.GetCount(); ++n) {
// Reconstruct the VD path in projectname:foo:bar format
int index = StaleFiles[n].Find(": ");
wxCHECK_MSG(index != wxNOT_FOUND, removals, "Badly-formed stalefile string");
wxString vdPath = StaleFiles[n].Left(index);
- wxString filepath = StaleFiles[n].Mid(index+2);
+ wxString filepath = StaleFiles[n].Mid(index + 2);
- if (proj->RemoveFile(filepath, vdPath)) {
+ if(proj->RemoveFile(filepath, vdPath)) {
removals.Add(StaleFiles[n]);
}
}
@@ -321,11 +327,12 @@ wxArrayString ReconcileProjectDlg::AddMissingFiles(const wxArrayString& files, c
wxCHECK_MSG(proj, additions, "Can't find a Project with the supplied name");
wxString VD = vdPath;
- if (VD.empty()) {
- // If we were called from the root panel (so the user is trying to add unallocated files, or all files at once) we need to know which VD to use
+ if(VD.empty()) {
+ // If we were called from the root panel (so the user is trying to add unallocated files, or all files at once)
+ // we need to know which VD to use
VirtualDirectorySelectorDlg selector(this, WorkspaceST::Get(), "", m_projname);
selector.SetText("Please choose the Virtual Directory to which to add the files");
- if (selector.ShowModal() == wxID_OK) {
+ if(selector.ShowModal() == wxID_OK) {
VD = selector.GetVirtualDirectoryPath();
} else {
return additions;
@@ -334,8 +341,8 @@ wxArrayString ReconcileProjectDlg::AddMissingFiles(const wxArrayString& files, c
VD = VD.AfterFirst(':'); // Remove the projectname
- for (size_t n = 0; n < files.GetCount(); ++n) {
- if (proj->FastAddFile(files[n], VD)) {
+ for(size_t n = 0; n < files.GetCount(); ++n) {
+ if(proj->FastAddFile(files[n], VD)) {
additions.Add(files[n]);
}
}
@@ -355,22 +362,26 @@ void ReconcileProjectDlg::DoFindFiles()
Project::FileInfoVector_t projectfiles;
proj->GetFilesMetadata(projectfiles);
wxStringSet_t projectfilesSet;
-
+
Project::FileInfoVector_t::const_iterator it = projectfiles.begin();
- for( ; it != projectfiles.end(); ++it ) {
- projectfilesSet.insert( it->GetFilename() );
+ for(; it != projectfiles.end(); ++it) {
+ projectfilesSet.insert(it->GetFilename());
}
-
+
std::vector<wxString> result;
- std::set_difference(m_allfiles.begin(), m_allfiles.end(), projectfilesSet.begin(), projectfilesSet.end(), std::back_inserter(result));
+ std::set_difference(m_allfiles.begin(),
+ m_allfiles.end(),
+ projectfilesSet.begin(),
+ projectfilesSet.end(),
+ std::back_inserter(result));
m_newfiles.insert(result.begin(), result.end());
// now run the diff reverse to get list of stale files
m_stalefiles.clear();
Project::FileInfoVector_t::const_iterator iter = projectfiles.begin();
- for(; iter != projectfiles.end(); ++iter ) {
- if ( !wxFileName::Exists( iter->GetFilename() ) ) {
- m_stalefiles.push_back( *iter );
+ for(; iter != projectfiles.end(); ++iter) {
+ if(!wxFileName::Exists(iter->GetFilename())) {
+ m_stalefiles.push_back(*iter);
}
}
}
@@ -378,8 +389,8 @@ void ReconcileProjectDlg::DoFindFiles()
wxBitmap ReconcileProjectDlg::GetBitmap(const wxString& filename) const
{
FileExtManager::FileType type = FileExtManager::GetType(filename);
- if ( !m_bitmaps.count( type ) )
- return m_bitmaps.find(FileExtManager::TypeText)->second;;
+ if(!m_bitmaps.count(type)) return m_bitmaps.find(FileExtManager::TypeText)->second;
+ ;
return m_bitmaps.find(type)->second;
}
@@ -388,34 +399,34 @@ void ReconcileProjectDlg::OnAddFile(wxCommandEvent& event)
wxString suggestedPath, suggestedName;
bool guessed = GuessNewVirtualDirName(suggestedPath, suggestedName);
VirtualDirectorySelectorDlg selector(this, WorkspaceST::Get(), suggestedPath, m_projname);
- if (guessed) {
+ if(guessed) {
selector.SetSuggestedName(suggestedName);
}
- if ( selector.ShowModal() == wxID_OK ) {
+ if(selector.ShowModal() == wxID_OK) {
wxString vd = selector.GetVirtualDirectoryPath();
wxDataViewItemArray items;
m_dvListCtrl1Unassigned->GetSelections(items);
- for(size_t i=0; i<items.GetCount(); ++i) {
+ for(size_t i = 0; i < items.GetCount(); ++i) {
wxVariant v;
- m_dvListCtrl1Unassigned->GetValue( v, m_dvListCtrl1Unassigned->GetStore()->GetRow(items.Item(i)), 0 );
+ m_dvListCtrl1Unassigned->GetValue(v, m_dvListCtrl1Unassigned->GetStore()->GetRow(items.Item(i)), 0);
wxString path;
wxDataViewIconText iv;
- if ( !v.IsNull() ) {
+ if(!v.IsNull()) {
iv << v;
path = iv.GetText();
}
-
wxFileName fn(path);
fn.MakeAbsolute(m_toplevelDir);
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(path, GetBitmap(path) ) );
- cols.push_back( vd );
- m_dataviewAssignedModel->AppendItem( wxDataViewItem(0), cols, new ReconcileFileItemData(fn.GetFullPath(), vd) );
- m_dvListCtrl1Unassigned->DeleteItem( m_dvListCtrl1Unassigned->GetStore()->GetRow(items.Item(i)) );
+ cols.push_back(::MakeIconText(path, GetBitmap(path)));
+ cols.push_back(vd);
+ m_dataviewAssignedModel->AppendItem(
+ wxDataViewItem(0), cols, new ReconcileFileItemData(fn.GetFullPath(), vd));
+ m_dvListCtrl1Unassigned->DeleteItem(m_dvListCtrl1Unassigned->GetStore()->GetRow(items.Item(i)));
}
}
}
@@ -424,7 +435,7 @@ bool ReconcileProjectDlg::GuessNewVirtualDirName(wxString& suggestedPath, wxStri
{
wxDataViewItemArray items;
m_dvListCtrl1Unassigned->GetSelections(items);
- if (!items.GetCount()) {
+ if(!items.GetCount()) {
return false;
}
@@ -434,38 +445,38 @@ bool ReconcileProjectDlg::GuessNewVirtualDirName(wxString& suggestedPath, wxStri
wxString path;
wxDataViewIconText iv;
- if ( !v.IsNull() ) {
+ if(!v.IsNull()) {
iv << v;
path = iv.GetText();
}
wxFileName fn(path);
fn.MakeAbsolute(m_toplevelDir);
-
+
VirtualDirectoryTree vdTree;
vdTree.BuildTree(m_projname);
wxString residue;
do {
wxString virtualFolder = vdTree.FindBestMatchVDir(fn.GetPath(), fn.GetExt());
- if (!virtualFolder.empty()) {
+ if(!virtualFolder.empty()) {
suggestedPath = fn.GetPath();
suggestedName = residue;
return true;
}
wxString pathend = fn.GetPath().AfterLast(wxFILE_SEP_PATH);
- if (pathend == m_projname) {
+ if(pathend == m_projname) {
suggestedPath = pathend;
suggestedName = residue;
return true;
}
- if (!residue.empty()) {
+ if(!residue.empty()) {
residue = ':' + residue;
}
residue = pathend + residue; // Save the name(s) of missing VDs
fn.RemoveLastDir();
- } while (fn.GetDirCount());
+ } while(fn.GetDirCount());
return false;
}
@@ -480,33 +491,30 @@ void ReconcileProjectDlg::OnAutoAssignUI(wxUpdateUIEvent& event)
event.Enable(m_dvListCtrl1Unassigned->GetItemCount());
}
-void ReconcileProjectDlg::OnAutoSuggest(wxCommandEvent& event)
-{
- DistributeFiles(true);
-}
+void ReconcileProjectDlg::OnAutoSuggest(wxCommandEvent& event) { DistributeFiles(true); }
void ReconcileProjectDlg::OnUndoSelectedFiles(wxCommandEvent& event)
{
wxDataViewItemArray items;
m_dataviewAssigned->GetSelections(items);
- for(size_t i=0; i<items.GetCount(); ++i) {
+ for(size_t i = 0; i < items.GetCount(); ++i) {
wxVariant v;
- ReconcileFileItemData* data = dynamic_cast<ReconcileFileItemData*>(m_dataviewAssignedModel->GetClientObject( items.Item(i) ));
- if ( data ) {
+ ReconcileFileItemData* data =
+ dynamic_cast<ReconcileFileItemData*>(m_dataviewAssignedModel->GetClientObject(items.Item(i)));
+ if(data) {
wxFileName fn(data->GetFilename());
fn.MakeRelativeTo(m_toplevelDir);
wxVector<wxVariant> cols;
cols.push_back(::MakeIconText(fn.GetFullPath(), GetBitmap(fn.GetFullName())));
- m_dvListCtrl1Unassigned->AppendItem( cols, (wxUIntPtr)NULL );
-
+ m_dvListCtrl1Unassigned->AppendItem(cols, (wxUIntPtr)NULL);
}
}
// get the list of items
wxArrayString allfiles;
- for(int i=0 ; i<m_dvListCtrl1Unassigned->GetItemCount(); ++i) {
+ for(int i = 0; i < m_dvListCtrl1Unassigned->GetItemCount(); ++i) {
wxVariant v;
m_dvListCtrl1Unassigned->GetValue(v, i, 0);
wxDataViewIconText it;
@@ -521,10 +529,10 @@ void ReconcileProjectDlg::OnUndoSelectedFiles(wxCommandEvent& event)
m_dvListCtrl1Unassigned->DeleteAllItems();
std::sort(allfiles.begin(), allfiles.end());
- for(size_t i=0; i<allfiles.GetCount(); ++i) {
+ for(size_t i = 0; i < allfiles.GetCount(); ++i) {
wxVector<wxVariant> cols;
- cols.push_back( ::MakeIconText(allfiles.Item(i), GetBitmap(allfiles.Item(i)) ) );
- m_dvListCtrl1Unassigned->AppendItem( cols, (wxUIntPtr)NULL);
+ cols.push_back(::MakeIconText(allfiles.Item(i), GetBitmap(allfiles.Item(i))));
+ m_dvListCtrl1Unassigned->AppendItem(cols, (wxUIntPtr)NULL);
}
}
@@ -539,17 +547,18 @@ void ReconcileProjectDlg::OnDeleteStaleFiles(wxCommandEvent& event)
wxCHECK_RET(proj, "Can't find a Project with the supplied name");
wxDataViewItemArray items;
- if (event.GetId() == wxID_DELETE) {
- m_dataviewStaleFiles->GetSelections( items );
+ if(event.GetId() == wxID_DELETE) {
+ m_dataviewStaleFiles->GetSelections(items);
} else {
m_dataviewStaleFilesModel->GetChildren(wxDataViewItem(0), items);
}
-
+
proj->BeginTranscation();
- for(size_t i=0; i<items.GetCount(); ++i) {
- ReconcileFileItemData* data = dynamic_cast<ReconcileFileItemData*>(m_dataviewStaleFilesModel->GetClientObject(items.Item(i)));
- if ( data ) {
- proj->RemoveFile( data->GetFilename(), data->GetVirtualFolder() );
+ for(size_t i = 0; i < items.GetCount(); ++i) {
+ ReconcileFileItemData* data =
+ dynamic_cast<ReconcileFileItemData*>(m_dataviewStaleFilesModel->GetClientObject(items.Item(i)));
+ if(data) {
+ proj->RemoveFile(data->GetFilename(), data->GetVirtualFolder());
}
m_projectModified = true;
}
@@ -559,22 +568,22 @@ void ReconcileProjectDlg::OnDeleteStaleFiles(wxCommandEvent& event)
void ReconcileProjectDlg::OnDeleteStaleFilesUI(wxUpdateUIEvent& event)
{
- event.Enable( m_dataviewStaleFiles->GetSelectedItemsCount() );
+ event.Enable(m_dataviewStaleFiles->GetSelectedItemsCount());
}
void ReconcileProjectDlg::OnDeleteAllStaleFilesUI(wxUpdateUIEvent& event)
{
wxDataViewItemArray items;
- event.Enable( m_dataviewStaleFilesModel->GetChildren(wxDataViewItem(0), items) > 0 );
+ event.Enable(m_dataviewStaleFilesModel->GetChildren(wxDataViewItem(0), items) > 0);
}
void ReconcileProjectDlg::OnClose(wxCommandEvent& event)
{
// reload the workspace
- if ( m_projectModified ) {
+ if(m_projectModified) {
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, XRCID("reload_workspace"));
- evt.SetEventObject( clMainFrame::Get() );
- clMainFrame::Get()->GetEventHandler()->AddPendingEvent( evt );
+ evt.SetEventObject(clMainFrame::Get());
+ clMainFrame::Get()->GetEventHandler()->AddPendingEvent(evt);
}
EndModal(wxID_CLOSE);
}
@@ -583,8 +592,8 @@ void ReconcileProjectDlg::OnApply(wxCommandEvent& event)
{
// get the list of files to add to the project
wxDataViewItemArray items;
- if (event.GetId() == wxID_APPLY) {
- m_dataviewAssigned->GetSelections( items );
+ if(event.GetId() == wxID_APPLY) {
+ m_dataviewAssigned->GetSelections(items);
} else {
m_dataviewAssignedModel->GetChildren(wxDataViewItem(0), items);
}
@@ -592,88 +601,93 @@ void ReconcileProjectDlg::OnApply(wxCommandEvent& event)
// virtual folder to file name
wxStringSet_t vds;
StringMultimap_t filesToAdd;
- for(size_t i=0; i<items.GetCount(); ++i) {
- ReconcileFileItemData* data = dynamic_cast<ReconcileFileItemData*>(m_dataviewAssignedModel->GetClientObject(items.Item(i)));
- if ( data ) {
+ for(size_t i = 0; i < items.GetCount(); ++i) {
+ ReconcileFileItemData* data =
+ dynamic_cast<ReconcileFileItemData*>(m_dataviewAssignedModel->GetClientObject(items.Item(i)));
+ if(data) {
filesToAdd.insert(std::make_pair(data->GetVirtualFolder(), data->GetFilename()));
- vds.insert( data->GetVirtualFolder() );
+ vds.insert(data->GetVirtualFolder());
}
}
wxStringSet_t::const_iterator iter = vds.begin();
for(; iter != vds.end(); ++iter) {
- std::pair<StringMultimap_t::iterator, StringMultimap_t::iterator> range = filesToAdd.equal_range( *iter );
+ std::pair<StringMultimap_t::iterator, StringMultimap_t::iterator> range = filesToAdd.equal_range(*iter);
StringMultimap_t::iterator from = range.first;
wxArrayString vdFiles;
- for( ; from != range.second; ++from ) {
- vdFiles.Add( from->second );
+ for(; from != range.second; ++from) {
+ vdFiles.Add(from->second);
}
wxArrayString additions = AddMissingFiles(vdFiles, *iter);
-
- if (additions.GetCount()) {
+
+ if(additions.GetCount()) {
m_projectModified = true;
}
- // We must also remove the processed files from m_newfiles, otherwise a rerun of the wizard will offer them for insertion again
- for (size_t n=0; n < additions.GetCount(); ++n ) {
+ // We must also remove the processed files from m_newfiles, otherwise a rerun of the wizard will offer them for
+ // insertion again
+ for(size_t n = 0; n < additions.GetCount(); ++n) {
m_newfiles.erase(additions.Item(n));
}
}
- m_dataviewAssignedModel->DeleteItems( wxDataViewItem(0), items );
+ m_dataviewAssignedModel->DeleteItems(wxDataViewItem(0), items);
}
void ReconcileProjectDlg::OnApplyUI(wxUpdateUIEvent& event)
{
- event.Enable( m_dataviewAssigned->GetSelectedItemsCount() );
+ event.Enable(m_dataviewAssigned->GetSelectedItemsCount());
}
void ReconcileProjectDlg::OnApplyAllUI(wxUpdateUIEvent& event)
{
wxDataViewItemArray items;
- event.Enable( m_dataviewAssignedModel->GetChildren(wxDataViewItem(0), items) > 0 );
+ event.Enable(m_dataviewAssignedModel->GetChildren(wxDataViewItem(0), items) > 0);
}
void ReconcileProjectDlg::OnDVLCContextMenu(wxDataViewEvent& event)
{
wxMenu menu;
menu.Append(wxID_DELETE);
- menu.Connect(wxID_DELETE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ReconcileProjectDlg::OnDeleteSelectedNewFiles), NULL, this);
- m_dvListCtrl1Unassigned->PopupMenu( &menu );
+ menu.Connect(wxID_DELETE,
+ wxEVT_COMMAND_MENU_SELECTED,
+ wxCommandEventHandler(ReconcileProjectDlg::OnDeleteSelectedNewFiles),
+ NULL,
+ this);
+ m_dvListCtrl1Unassigned->PopupMenu(&menu);
}
void ReconcileProjectDlg::OnDeleteSelectedNewFiles(wxCommandEvent& e)
{
wxDataViewItemArray items;
m_dvListCtrl1Unassigned->GetSelections(items);
- if ( items.IsEmpty() )
- return;
+ if(items.IsEmpty()) return;
wxString msg;
- if (items.GetCount() > 1) {
+ if(items.GetCount() > 1) {
msg = wxString::Format(_("Delete the %i selected files from the filesystem?"), (int)items.GetCount());
} else {
msg = wxString::Format(_("Delete the selected file from the filesystem?"));
}
-
- if ( ::wxMessageBox(msg, "CodeLite", wxICON_WARNING|wxYES_NO, this) != wxYES ) {
+
+ if(::wxMessageBox(msg, "CodeLite", wxICON_WARNING | wxYES_NO, this) != wxYES) {
return;
}
int successes(0);
- for (size_t n = 0; n < items.GetCount(); ++n) {
+ for(size_t n = 0; n < items.GetCount(); ++n) {
wxVariant v;
- int row = m_dvListCtrl1Unassigned->GetStore()->GetRow( items.Item(n) );
+ int row = m_dvListCtrl1Unassigned->GetStore()->GetRow(items.Item(n));
m_dvListCtrl1Unassigned->GetValue(v, row, 0);
- if (v.IsNull()) {
+ if(v.IsNull()) {
continue;
}
-
+
wxDataViewIconText iv;
iv << v;
wxFileName fn(iv.GetText());
fn.MakeAbsolute(m_toplevelDir);
wxLogNull NoAnnoyingFileSystemMessages;
- if ( ::wxRemoveFile(fn.GetFullPath()) ) {
+ if(::wxRemoveFile(fn.GetFullPath())) {
m_dvListCtrl1Unassigned->DeleteItem(row);
++successes;
}
@@ -681,21 +695,18 @@ void ReconcileProjectDlg::OnDeleteSelectedNewFiles(wxCommandEvent& e)
clMainFrame::Get()->GetStatusBar()->SetMessage(wxString::Format(_("%i file(s) successfully deleted"), successes));
}
-
ReconcileProjectFiletypesDlg::ReconcileProjectFiletypesDlg(wxWindow* parent, const wxString& projname)
: ReconcileProjectFiletypesDlgBaseClass(parent)
, m_projname(projname)
{
m_listCtrlRegexes->AppendColumn("Regex");
m_listCtrlRegexes->AppendColumn("Virtual Directory");
-
- WindowAttrManager::Load(this, wxT("ReconcileProjectFiletypesDlg"), NULL);
+
+ SetName("ReconcileProjectFiletypesDlg");
+ WindowAttrManager::Load(this);
}
-ReconcileProjectFiletypesDlg::~ReconcileProjectFiletypesDlg()
-{
- WindowAttrManager::Save(this, wxT("ReconcileProjectFiletypesDlg"), NULL);
-}
+ReconcileProjectFiletypesDlg::~ReconcileProjectFiletypesDlg() {}
void ReconcileProjectFiletypesDlg::SetData()
{
@@ -706,16 +717,16 @@ void ReconcileProjectFiletypesDlg::SetData()
wxArrayString ignorefiles, excludes, regexes;
proj->GetReconciliationData(topleveldir, types, ignorefiles, excludes, regexes);
- if (topleveldir.empty()) {
+ if(topleveldir.empty()) {
topleveldir = proj->GetFileName().GetPath();
}
wxFileName tld(topleveldir);
- if ( tld.IsRelative() ) {
- tld.MakeAbsolute( proj->GetFileName().GetPath() );
+ if(tld.IsRelative()) {
+ tld.MakeAbsolute(proj->GetFileName().GetPath());
}
m_dirPickerToplevel->SetPath(tld.GetFullPath());
- if (types.empty()) {
+ if(types.empty()) {
types << "cpp;c;h;hpp;xrc;wxcp;fbp";
}
m_textExtensions->ChangeValue(types);
@@ -727,12 +738,16 @@ void ReconcileProjectFiletypesDlg::SetData()
m_listExclude->Append(excludes);
m_listCtrlRegexes->DeleteAllItems();
- for (size_t n = 0; n < regexes.GetCount(); ++n) {
+ for(size_t n = 0; n < regexes.GetCount(); ++n) {
SetRegex(regexes[n]);
}
}
-void ReconcileProjectFiletypesDlg::GetData(wxString& toplevelDir, wxString& types, wxArrayString& ignoreFiles, wxArrayString& excludePaths, wxArrayString& regexes) const
+void ReconcileProjectFiletypesDlg::GetData(wxString& toplevelDir,
+ wxString& types,
+ wxArrayString& ignoreFiles,
+ wxArrayString& excludePaths,
+ wxArrayString& regexes) const
{
toplevelDir = m_dirPickerToplevel->GetPath();
types = m_textExtensions->GetValue();
@@ -743,12 +758,12 @@ void ReconcileProjectFiletypesDlg::GetData(wxString& toplevelDir, wxString& type
// While we're here, save the current data
ProjectPtr proj = ManagerST::Get()->GetProject(m_projname);
wxCHECK_RET(proj, "Can't find a Project with the supplied name");
-
+
wxFileName relTopLevelDir(toplevelDir);
- if( relTopLevelDir.IsAbsolute() ) {
- relTopLevelDir.MakeRelativeTo( proj->GetFileName().GetPath() );
+ if(relTopLevelDir.IsAbsolute()) {
+ relTopLevelDir.MakeRelativeTo(proj->GetFileName().GetPath());
}
-
+
proj->SetReconciliationData(relTopLevelDir.GetFullPath(wxPATH_UNIX), types, ignoreFiles, excludePaths, regexes);
}
@@ -763,10 +778,11 @@ void ReconcileProjectFiletypesDlg::SetRegex(const wxString& regex)
wxArrayString ReconcileProjectFiletypesDlg::GetRegexes() const
{
wxArrayString array;
- for (int n = 0; n < m_listCtrlRegexes->GetItemCount(); ++n) {
+ for(int n = 0; n < m_listCtrlRegexes->GetItemCount(); ++n) {
wxString regex = GetColumnText(m_listCtrlRegexes, n, 0);
wxString VD = GetColumnText(m_listCtrlRegexes, n, 1);
- array.Add(VD + '|' + regex); // Store the data as a VD|regex string, as the regex might contain a '|' but the VD won't
+ array.Add(VD + '|' +
+ regex); // Store the data as a VD|regex string, as the regex might contain a '|' but the VD won't
}
return array;
}
@@ -780,22 +796,23 @@ void ReconcileProjectFiletypesDlg::OnIgnoreBrowse(wxCommandEvent& WXUNUSED(event
wxArrayString ignorefiles, excludes, regexes;
proj->GetReconciliationData(topleveldir, types, ignorefiles, excludes, regexes);
- if (topleveldir.empty()) {
+ if(topleveldir.empty()) {
topleveldir = proj->GetFileName().GetPath();
}
-
+
wxFileName tld(topleveldir);
- if ( tld.IsRelative() ) {
- tld.MakeAbsolute( proj->GetFileName().GetPath() );
+ if(tld.IsRelative()) {
+ tld.MakeAbsolute(proj->GetFileName().GetPath());
}
- wxString new_exclude = wxDirSelector(_("Select a directory to ignore:"), tld.GetFullPath(), wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
+ wxString new_exclude = wxDirSelector(
+ _("Select a directory to ignore:"), tld.GetFullPath(), wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
- if (!new_exclude.empty()) {
+ if(!new_exclude.empty()) {
wxFileName fn = wxFileName::DirName(new_exclude);
fn.MakeRelativeTo(topleveldir);
new_exclude = fn.GetFullPath();
- if (m_listExclude->FindString(new_exclude) == wxNOT_FOUND) {
+ if(m_listExclude->FindString(new_exclude) == wxNOT_FOUND) {
m_listExclude->Append(new_exclude);
}
}
@@ -804,7 +821,7 @@ void ReconcileProjectFiletypesDlg::OnIgnoreBrowse(wxCommandEvent& WXUNUSED(event
void ReconcileProjectFiletypesDlg::OnIgnoreRemove(wxCommandEvent& WXUNUSED(event))
{
int sel = m_listExclude->GetSelection();
- if (sel != wxNOT_FOUND) {
+ if(sel != wxNOT_FOUND) {
m_listExclude->Delete(sel);
}
}
@@ -817,8 +834,8 @@ void ReconcileProjectFiletypesDlg::OnIgnoreRemoveUpdateUI(wxUpdateUIEvent& event
void ReconcileProjectFiletypesDlg::OnIgnoreFileBrowse(wxCommandEvent& WXUNUSED(event))
{
wxString name = wxGetTextFromUser("Enter the filename to ignore e.g. foo*.cpp", _("CodeLite"), "", this);
- if (!name.empty()) {
- if (m_listIgnoreFiles->FindString(name) == wxNOT_FOUND) {
+ if(!name.empty()) {
+ if(m_listIgnoreFiles->FindString(name) == wxNOT_FOUND) {
m_listIgnoreFiles->Append(name);
}
}
@@ -827,7 +844,7 @@ void ReconcileProjectFiletypesDlg::OnIgnoreFileBrowse(wxCommandEvent& WXUNUSED(e
void ReconcileProjectFiletypesDlg::OnIgnoreFileRemove(wxCommandEvent& WXUNUSED(event))
{
int sel = m_listIgnoreFiles->GetSelection();
- if (sel != wxNOT_FOUND) {
+ if(sel != wxNOT_FOUND) {
m_listIgnoreFiles->Delete(sel);
}
}
@@ -840,7 +857,7 @@ void ReconcileProjectFiletypesDlg::OnIgnoreFileRemoveUpdateUI(wxUpdateUIEvent& e
void ReconcileProjectFiletypesDlg::OnAddRegex(wxCommandEvent& event)
{
ReconcileByRegexDlg dlg(this, m_projname);
- if (dlg.ShowModal() == wxID_OK) {
+ if(dlg.ShowModal() == wxID_OK) {
SetRegex(dlg.GetRegex());
}
}
@@ -850,7 +867,7 @@ void ReconcileProjectFiletypesDlg::OnRemoveRegex(wxCommandEvent& event)
wxUnusedVar(event);
long selecteditem = m_listCtrlRegexes->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
- if (selecteditem != wxNOT_FOUND) {
+ if(selecteditem != wxNOT_FOUND) {
m_listCtrlRegexes->DeleteItem(selecteditem);
}
}
@@ -861,23 +878,19 @@ void ReconcileProjectFiletypesDlg::OnRemoveRegexUpdateUI(wxUpdateUIEvent& event)
event.Enable(selecteditem != wxNOT_FOUND);
}
-
-
ReconcileByRegexDlg::ReconcileByRegexDlg(wxWindow* parent, const wxString& projname)
: ReconcileByRegexDlgBaseClass(parent)
, m_projname(projname)
{
- WindowAttrManager::Load(this, wxT("ReconcileByRegexDlg"), NULL);
+ SetName("ReconcileByRegexDlg");
+ WindowAttrManager::Load(this);
}
-ReconcileByRegexDlg::~ReconcileByRegexDlg()
-{
- WindowAttrManager::Save(this, wxT("ReconcileByRegexDlg"), NULL);
-}
+ReconcileByRegexDlg::~ReconcileByRegexDlg() {}
void ReconcileByRegexDlg::OnTextEnter(wxCommandEvent& event)
{
- if (m_buttonOK->IsEnabled()) {
+ if(m_buttonOK->IsEnabled()) {
EndModal(wxID_OK);
}
}
@@ -885,7 +898,7 @@ void ReconcileByRegexDlg::OnTextEnter(wxCommandEvent& event)
void ReconcileByRegexDlg::OnVDBrowse(wxCommandEvent& WXUNUSED(event))
{
VirtualDirectorySelectorDlg selector(this, WorkspaceST::Get(), m_textCtrlVirtualFolder->GetValue(), m_projname);
- if (selector.ShowModal() == wxID_OK) {
+ if(selector.ShowModal() == wxID_OK) {
m_textCtrlVirtualFolder->ChangeValue(selector.GetVirtualDirectoryPath());
}
}
@@ -893,8 +906,7 @@ void ReconcileByRegexDlg::OnVDBrowse(wxCommandEvent& WXUNUSED(event))
void ReconcileByRegexDlg::OnRegexOKCancelUpdateUI(wxUpdateUIEvent& event)
{
event.Enable(!m_textCtrlRegex->IsEmpty() && !m_textCtrlVirtualFolder->IsEmpty());
-}
-
+}
void VirtualDirectoryTree::BuildTree(const wxString& projName)
{
@@ -904,19 +916,19 @@ void VirtualDirectoryTree::BuildTree(const wxString& projName)
ProjectTreePtr tree = proj->AsTree();
TreeWalker<wxString, ProjectItem> walker(tree->GetRoot());
- for ( ; !walker.End(); walker++ ) {
+ for(; !walker.End(); walker++) {
ProjectTreeNode* node = walker.GetNode();
wxString displayname(node->GetData().GetDisplayName());
- if (node->GetData().GetKind() == ProjectItem::TypeVirtualDirectory) {
+ if(node->GetData().GetKind() == ProjectItem::TypeVirtualDirectory) {
wxString vdPath = displayname;
ProjectTreeNode* tempnode = node->GetParent();
- while (tempnode) {
+ while(tempnode) {
vdPath = tempnode->GetData().GetDisplayName() + ':' + vdPath;
tempnode = tempnode->GetParent();
}
VirtualDirectoryTree* parent = FindParent(vdPath.BeforeLast(':'));
- if (parent) {
+ if(parent) {
parent->StoreChild(displayname, vdPath);
} else {
// Any orphans must be root's top-level children, and we're root
@@ -928,13 +940,13 @@ void VirtualDirectoryTree::BuildTree(const wxString& projName)
VirtualDirectoryTree* VirtualDirectoryTree::FindParent(const wxString& vdChildPath)
{
- if (!vdChildPath.empty()) {
- if (m_vdPath == vdChildPath) {
+ if(!vdChildPath.empty()) {
+ if(m_vdPath == vdChildPath) {
return this;
}
- for (size_t n = 0; n < m_children.size(); ++n) {
+ for(size_t n = 0; n < m_children.size(); ++n) {
VirtualDirectoryTree* item = m_children[n]->FindParent(vdChildPath);
- if (item) {
+ if(item) {
return item;
}
}
@@ -946,7 +958,7 @@ VirtualDirectoryTree* VirtualDirectoryTree::FindParent(const wxString& vdChildPa
void VirtualDirectoryTree::StoreChild(const wxString& displayname, const wxString& vdPath)
{
VirtualDirectoryTree* child = new VirtualDirectoryTree(this, displayname, vdPath);
- if (IsSourceVD(displayname.Lower()) || IsHeaderVD(displayname.Lower()) || IsResourceVD(displayname.Lower())) {
+ if(IsSourceVD(displayname.Lower()) || IsHeaderVD(displayname.Lower()) || IsResourceVD(displayname.Lower())) {
m_children.push_back(child); // We want these processed last, so push_back
} else {
m_children.push_front(child);
@@ -956,34 +968,36 @@ void VirtualDirectoryTree::StoreChild(const wxString& displayname, const wxStrin
wxString VirtualDirectoryTree::FindBestMatchVDir(const wxString& path, const wxString& ext) const
{
// Try all children first
- for (size_t n = 0; n < m_children.size(); ++n) {
+ for(size_t n = 0; n < m_children.size(); ++n) {
wxString vdir = m_children[n]->FindBestMatchVDir(path, ext);
- if (!vdir.empty()) {
+ if(!vdir.empty()) {
return vdir;
}
}
- // Now try here. If there's an exact match, we're the correct one _unless_ there's a src/header/resource immediate child
+ // Now try here. If there's an exact match, we're the correct one _unless_ there's a src/header/resource immediate
+ // child
wxString vdpath(m_vdPath.AfterFirst(':')); // We need to compare without the projectname
vdpath.Replace(":", wxString(wxFILE_SEP_PATH));
- if (vdpath == path) {
- // Try for a src/header/etc immediate child. If there is one, it's presumably where files with a matching ext should go
- for (size_t c = 0; c < m_children.size(); ++c) {
+ if(vdpath == path) {
+ // Try for a src/header/etc immediate child. If there is one, it's presumably where files with a matching ext
+ // should go
+ for(size_t c = 0; c < m_children.size(); ++c) {
wxString childname = m_children[c]->GetDisplayname();
- if (IsSourceVD(childname.Lower())) {
- if (ext == "cpp" || ext == "c" || ext == "cc") {
+ if(IsSourceVD(childname.Lower())) {
+ if(ext == "cpp" || ext == "c" || ext == "cc") {
return m_children[c]->GetVPath();
}
}
- if (IsHeaderVD(childname.Lower())) {
- if (ext == "h" || ext == "hpp" || ext == "hh") {
+ if(IsHeaderVD(childname.Lower())) {
+ if(ext == "h" || ext == "hpp" || ext == "hh") {
return m_children[c]->GetVPath();
}
}
- if (IsResourceVD(childname.Lower())) {
- if (ext == "rc") {
+ if(IsResourceVD(childname.Lower())) {
+ if(ext == "rc") {
return m_children[c]->GetVPath();
}
}
@@ -992,6 +1006,6 @@ wxString VirtualDirectoryTree::FindBestMatchVDir(const wxString& path, const wxS
// None found so return us
return m_vdPath;
}
-
+
return "";
}
diff --git a/LiteEditor/reconcileproject.wxcp b/LiteEditor/reconcileproject.wxcp
index 41792ece..6ac8f752 100644
--- a/LiteEditor/reconcileproject.wxcp
+++ b/LiteEditor/reconcileproject.wxcp
@@ -1,4549 +1,5146 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 298,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxCrafterjdrz3kInitBitmapResources",
- "m_bitmapsFile": "reconcileproject_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 1,
- "m_outputFileName": "reconcileprojectbase",
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "ReconcileProjectDlgBaseClass"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Reconcile Project"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CodeLiteIDE:ReconcileProject"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "reconcileproject"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "ReconcileProjectDlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer83"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4442,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBK_DEFAULT"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_notebook214"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4441,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel220"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "New Files"
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": true
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer224"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4471,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBORDER_THEME"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_banner270"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "ButtonText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Title:",
- "m_value": "New Files"
- }, {
- "type": "multi-string",
- "m_label": "Message:",
- "m_value": "Select files from the left pane and add them to the project by clicking on the right arrow button"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxTOP", "wxBOTTOM", "wxLEFT", "wxRIGHT"]
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "colour",
- "m_label": "Gradient Start",
- "colour": "ButtonFace"
- }, {
- "type": "colour",
- "m_label": "Gradient End",
- "colour": "ButtonFace"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer276"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4447,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_3DSASH"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitter"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Split Mode:",
- "m_selection": 1,
- "m_options": ["wxSPLIT_HORIZONTAL", "wxSPLIT_VERTICAL"]
- }, {
- "type": "string",
- "m_label": "Sash Gravity:",
- "m_value": "0.5"
- }, {
- "type": "string",
- "m_label": "Minimum Pane Size:",
- "m_value": "10"
- }, {
- "type": "string",
- "m_label": "Sash Position:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPage1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer248"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer179"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer183"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4469,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDV_ROW_LINES", "wxDV_MULTIPLE"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_dvListCtrl1Unassigned"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "These files have not yet been assigned a Virtual Directory. You can do this yourself by selecting one or more files and clicking the 'Forward' arrow button. A Virtual Directory selector will then appear. After your choice the selection(s) will be moved to the right-hand pane.\\nAlternatively click the 'Wizard' button for best-guess auto-allocation."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4472,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Unassigned files:"
- }, {
- "type": "string",
- "m_label": "Width:",
- "m_value": "300"
- }, {
- "type": "choice",
- "m_label": "Column Type",
- "m_selection": 3,
- "m_options": ["bitmap", "check", "text", "icontext", "progress"]
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Alignment",
- "m_selection": 0,
- "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
- }, {
- "type": "choice",
- "m_label": "Cell Mode",
- "m_selection": 0,
- "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer192"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer194"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer232"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4404,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBU_AUTODRAW"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bmpButtonAdd"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Add selected files"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": "../codelite-icons/toolbars/16/standard/forward.png"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnAddFile(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnAddFileUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4404,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBU_AUTODRAW"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bmpButtonRemove"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Remove selected files"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": "../codelite-icons/toolbars/16/standard/back.png"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnUndoSelectedFiles(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnUndoSelectedFilesUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4404,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBU_AUTODRAW"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bmpButtonAutoAdd"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Wherever possible, automatically allocate files to the appropriate virtual directory"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": "../icons/wand.png"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnAutoSuggest(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnAutoAssignUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer230"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPage2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer250"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer181"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4473,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDV_ROW_LINES", "wxDV_MULTIPLE"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_dataviewAssigned"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Each file here has been assigned a Virtual Directory. If you're happy with the choice, select the file and click 'Apply'. Otherwise select the file and use the 'back' button to return it to the Unassigned Files section."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Generated Model Class Name",
- "m_value": "AssignedFilesModel"
- }, {
- "type": "bool",
- "m_label": "Container Item Has Columns",
- "m_value": true
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4472,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Assigned files:"
- }, {
- "type": "string",
- "m_label": "Width:",
- "m_value": "300"
- }, {
- "type": "choice",
- "m_label": "Column Type",
- "m_selection": 3,
- "m_options": ["bitmap", "check", "text", "icontext", "progress"]
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Alignment",
- "m_selection": 0,
- "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
- }, {
- "type": "choice",
- "m_label": "Cell Mode",
- "m_selection": 0,
- "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4472,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Virtual Folder"
- }, {
- "type": "string",
- "m_label": "Width:",
- "m_value": "-2"
- }, {
- "type": "choice",
- "m_label": "Column Type",
- "m_selection": 2,
- "m_options": ["bitmap", "check", "text", "icontext", "progress"]
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Alignment",
- "m_selection": 0,
- "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
- }, {
- "type": "choice",
- "m_label": "Cell Mode",
- "m_selection": 0,
- "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer278"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_APPLY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button274"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Apply"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnApplyUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button280"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "A&pply All"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnApplyAllUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }]
- }]
- }, {
- "m_type": 4441,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel222"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Stale Files"
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer226"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4471,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxBORDER_THEME"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_banner272"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "ButtonText"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Title:",
- "m_value": "Stale Files"
- }, {
- "type": "multi-string",
- "m_label": "Message:",
- "m_value": "The list below contains files that exist in the project but not on the file system"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxTOP", "wxBOTTOM", "wxLEFT", "wxRIGHT"]
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "colour",
- "m_label": "Gradient Start",
- "colour": "ButtonFace"
- }, {
- "type": "colour",
- "m_label": "Gradient End",
- "colour": "ButtonFace"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer262"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4473,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDV_NO_HEADER", "wxDV_ROW_LINES", "wxDV_MULTIPLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_dataviewStaleFiles"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "The files listed below are contained in the project, but no longer exist in reality. You can select individual items and delete them from the project, or use the Delete All button."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Generated Model Class Name",
- "m_value": "StaleFilesModel"
- }, {
- "type": "bool",
- "m_label": "Container Item Has Columns",
- "m_value": true
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4472,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "File path"
- }, {
- "type": "string",
- "m_label": "Width:",
- "m_value": "600"
- }, {
- "type": "choice",
- "m_label": "Column Type",
- "m_selection": 3,
- "m_options": ["bitmap", "check", "text", "icontext", "progress"]
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Alignment",
- "m_selection": 0,
- "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
- }, {
- "type": "choice",
- "m_label": "Cell Mode",
- "m_selection": 0,
- "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer264"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_DELETE"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button266"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Delete"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnDeleteStaleFiles(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnDeleteStaleFilesUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button282"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Delete &All"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnDeleteStaleFiles(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnDeleteAllStaleFilesUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer252"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CLOSE"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button258"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Close"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnClose(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4421,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "ReconcileProjectFiletypesDlgBaseClass"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Select filetypes to reconcile"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CL:LiteEditor"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer114"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer160"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText116"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Look for files starting with this directory:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4432,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDIRP_DEFAULT_STYLE", "wxDIRP_USE_TEXTCTRL", "wxDIRP_DIR_MUST_EXIST"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_dirPickerToplevel"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Message:",
- "m_value": "Select a folder"
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer16016"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText11617"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Extensions to consider when looking for missing files:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textExtensions"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "A semi-colon separated list of extensions e.g. cpp;h;xrc\\nIf you really want to find all possible files, just add *"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4403,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "flexGridSizer11517115"
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText11618216"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Files to ignore:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer11719317"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4412,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxLB_SINGLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_listIgnoreFiles"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Here you can add the names of any files that you want to ignore. Standard wildcards will work e.g. moc_*"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer124519"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button11921620"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Add"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnIgnoreFileBrowse(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button125721"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Remove"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnIgnoreFileRemove(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnIgnoreFileRemoveUpdateUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4403,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "flexGridSizer11517"
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText11618"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Paths to ignore:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer11719"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4412,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxLB_SINGLE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_listExclude"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "The filepaths of any folders that shouldn't be searched for missing files"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer124"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button11921"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Add"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnIgnoreBrowse(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button125"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Remove"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnIgnoreRemove(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnIgnoreRemoveUpdateUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4403,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "flexGridSizer115171"
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText116182"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Regexs to use (optional):"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer117193"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4413,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxLC_SINGLE_SEL", "wxLC_REPORT"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_listCtrlRegexes"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Most of the time you should find that files automatically get added to the most appropriate virtual directory. If yours don't, here you can add one or more regular expressions suitable for your situation. They'll be remembered for this project."
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer1245"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button119216"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Add"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnAddRegex(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button1257"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Remove"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnRemoveRegex(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnRemoveRegexUpdateUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4467,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_stdBtnSizer120"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 6,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button121"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 0,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button122"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4421,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "ReconcileByRegexDlgBaseClass"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Allocate by regex"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CL:LiteEditor"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer141"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4403,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "flexGridSizer157"
- }, {
- "type": "string",
- "m_label": "# Columns:",
- "m_value": "2"
- }, {
- "type": "string",
- "m_label": "# Rows:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable columns:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Growable rows:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Horizontal gap:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Vertical gap:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText145"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Enter the regex:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer158"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTE_PROCESS_ENTER"],
- "m_sizerFlags": ["wxLEFT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlRegex"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_TEXT_ENTER",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnTextEnter(wxCommandEvent& event)",
- "m_description": "Respond to a wxEVT_COMMAND_TEXT_ENTER event, generated when enter is pressed in a text control\n(which must have wxTE_PROCESS_ENTER style for this event to be generated)."
- }],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer157"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 10,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText147"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Destination Virtual Directory:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer159"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": "",
- "gbPosition": "",
- "m_styles": ["wxTE_PROCESS_ENTER"],
- "m_sizerFlags": ["wxLEFT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlVirtualFolder"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Select the virtual folder in which to place the matching files"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_TEXT_ENTER",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnTextEnter(wxCommandEvent& event)",
- "m_description": "Respond to a wxEVT_COMMAND_TEXT_ENTER event, generated when enter is pressed in a text control\n(which must have wxTE_PROCESS_ENTER style for this event to be generated)."
- }],
- "m_children": []
- }, {
- "m_type": 4404,
- "proportion": 0,
- "border": 5,
- "gbSpan": "",
- "gbPosition": "",
- "m_styles": ["wxBU_AUTODRAW", "wxBORDER_NONE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_bmpButton21010"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Browse for virtual folder"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": "../../wxcrafter/resources/wxdirpickerctrl.png"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnVDBrowse(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4454,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "Spacer158"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "0,0"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "",
- "gbPosition": "",
- "m_styles": [],
- "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer2088"
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4467,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_stdBtnSizer12011"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 6,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button12112"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4468,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "choice",
- "m_label": "ID:",
- "m_selection": 0,
- "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonOK"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnRegexOKCancelUpdateUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event"
- }],
- "m_children": []
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 298,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxCrafterjdrz3kInitBitmapResources",
+ "m_bitmapsFile": "reconcileproject_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 1,
+ "m_outputFileName": "reconcileprojectbase",
+ "m_firstWindowId": 1000,
+ "m_useEnum": true,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "ReconcileProjectDlgBaseClass"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Reconcile Project"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CodeLiteIDE:ReconcileProject"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "ReconcileProjectDlg"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "reconcileproject"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer83"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4442,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBK_DEFAULT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_notebook214"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel220"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "New Files"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": true
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer224"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4471,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBORDER_THEME"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_banner270"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "ButtonText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Title:",
+ "m_value": "New Files"
+ }, {
+ "type": "multi-string",
+ "m_label": "Message:",
+ "m_value": "Select files from the left pane and add them to the project by clicking on the right arrow button"
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxTOP", "wxBOTTOM", "wxLEFT", "wxRIGHT"]
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "colour",
+ "m_label": "Gradient Start",
+ "colour": "ButtonFace"
+ }, {
+ "type": "colour",
+ "m_label": "Gradient End",
+ "colour": "ButtonFace"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer276"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4447,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_3DSASH"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitter"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Split Mode:",
+ "m_selection": 1,
+ "m_options": ["wxSPLIT_HORIZONTAL", "wxSPLIT_VERTICAL"]
+ }, {
+ "type": "string",
+ "m_label": "Sash Gravity:",
+ "m_value": "0.5"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Pane Size:",
+ "m_value": "10"
+ }, {
+ "type": "string",
+ "m_label": "Sash Position:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitterPage1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer248"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer179"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer183"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4469,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDV_ROW_LINES", "wxDV_MULTIPLE"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_dvListCtrl1Unassigned"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "These files have not yet been assigned a Virtual Directory. You can do this yourself by selecting one or more files and clicking the 'Forward' arrow button. A Virtual Directory selector will then appear. After your choice the selection(s) will be moved to the right-hand pane.\\nAlternatively click the 'Wizard' button for best-guess auto-allocation."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Unassigned files:"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "300"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 3,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer192"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer194"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4454,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer232"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4404,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBU_AUTODRAW"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bmpButtonAdd"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Add selected files"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../codelite-icons/toolbars/16/standard/forward.png"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnAddFile(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnAddFileUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4404,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBU_AUTODRAW"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bmpButtonRemove"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Remove selected files"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../codelite-icons/toolbars/16/standard/back.png"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnUndoSelectedFiles(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnUndoSelectedFilesUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4404,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBU_AUTODRAW"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bmpButtonAutoAdd"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Wherever possible, automatically allocate files to the appropriate virtual directory"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../icons/wand.png"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnAutoSuggest(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnAutoAssignUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer230"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitterPage2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer250"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer181"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4473,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDV_ROW_LINES", "wxDV_MULTIPLE"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_dataviewAssigned"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Each file here has been assigned a Virtual Directory. If you're happy with the choice, select the file and click 'Apply'. Otherwise select the file and use the 'back' button to return it to the Unassigned Files section."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Generated Model Class Name",
+ "m_value": "AssignedFilesModel"
+ }, {
+ "type": "bool",
+ "m_label": "Container Item Has Columns",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Assigned files:"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "300"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 3,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Virtual Folder"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "-2"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 2,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer278"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_APPLY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button274"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Apply"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnApplyUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button280"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "A&pply All"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnApply(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnApplyAllUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel222"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Stale Files"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer226"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4471,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxBORDER_THEME"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_banner272"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "ButtonText"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Title:",
+ "m_value": "Stale Files"
+ }, {
+ "type": "multi-string",
+ "m_label": "Message:",
+ "m_value": "The list below contains files that exist in the project but not on the file system"
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxTOP", "wxBOTTOM", "wxLEFT", "wxRIGHT"]
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "colour",
+ "m_label": "Gradient Start",
+ "colour": "ButtonFace"
+ }, {
+ "type": "colour",
+ "m_label": "Gradient End",
+ "colour": "ButtonFace"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer262"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4473,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDV_NO_HEADER", "wxDV_ROW_LINES", "wxDV_MULTIPLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_dataviewStaleFiles"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "The files listed below are contained in the project, but no longer exist in reality. You can select individual items and delete them from the project, or use the Delete All button."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Generated Model Class Name",
+ "m_value": "StaleFilesModel"
+ }, {
+ "type": "bool",
+ "m_label": "Container Item Has Columns",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4472,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "File path"
+ }, {
+ "type": "string",
+ "m_label": "Width:",
+ "m_value": "600"
+ }, {
+ "type": "choice",
+ "m_label": "Column Type",
+ "m_selection": 3,
+ "m_options": ["bitmap", "check", "text", "icontext", "progress"]
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Alignment",
+ "m_selection": 0,
+ "m_options": ["wxALIGN_LEFT", "wxALIGN_RIGHT", "wxALIGN_CENTER"]
+ }, {
+ "type": "choice",
+ "m_label": "Cell Mode",
+ "m_selection": 0,
+ "m_options": ["wxDATAVIEW_CELL_INERT", "wxDATAVIEW_CELL_ACTIVATABLE", "wxDATAVIEW_CELL_EDITABLE"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer264"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_DELETE"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button266"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Delete"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnDeleteStaleFiles(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnDeleteStaleFilesUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button282"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Delete &All"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnDeleteStaleFiles(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnDeleteAllStaleFilesUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer252"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CLOSE"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button258"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Close"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnClose(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "ReconcileProjectFiletypesDlgBaseClass"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Select filetypes to reconcile"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CL:LiteEditor"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer114"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer160"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText116"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Look for files starting with this directory:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4432,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDIRP_DEFAULT_STYLE", "wxDIRP_USE_TEXTCTRL", "wxDIRP_DIR_MUST_EXIST"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_dirPickerToplevel"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Message:",
+ "m_value": "Select a folder"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer16016"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText11617"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Extensions to consider when looking for missing files:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textExtensions"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "A semi-colon separated list of extensions e.g. cpp;h;xrc\\nIf you really want to find all possible files, just add *"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4403,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "flexGridSizer11517115"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText11618216"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Files to ignore:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer11719317"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4412,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxLB_SINGLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_listIgnoreFiles"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Here you can add the names of any files that you want to ignore. Standard wildcards will work e.g. moc_*"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer124519"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button11921620"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Add"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreFileBrowse(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button125721"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Remove"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreFileRemove(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreFileRemoveUpdateUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4403,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "flexGridSizer11517"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText11618"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Paths to ignore:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer11719"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4412,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxLB_SINGLE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_listExclude"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "The filepaths of any folders that shouldn't be searched for missing files"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer124"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button11921"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Add"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreBrowse(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button125"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Remove"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreRemove(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnIgnoreRemoveUpdateUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4403,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "flexGridSizer115171"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText116182"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Regexs to use (optional):"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer117193"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4413,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxLC_SINGLE_SEL", "wxLC_REPORT"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_listCtrlRegexes"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Most of the time you should find that files automatically get added to the most appropriate virtual directory. If yours don't, here you can add one or more regular expressions suitable for your situation. They'll be remembered for this project."
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer1245"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button119216"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Add"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnAddRegex(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button1257"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Remove"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnRemoveRegex(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnRemoveRegexUpdateUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4467,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_stdBtnSizer120"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 6,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button121"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 0,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button122"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "ReconcileByRegexDlgBaseClass"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Allocate by regex"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": "CL:LiteEditor"
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer141"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4403,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "flexGridSizer157"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "# Columns:",
+ "m_value": "2"
+ }, {
+ "type": "string",
+ "m_label": "# Rows:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable columns:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Growable rows:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Horizontal gap:",
+ "m_value": "0"
+ }, {
+ "type": "string",
+ "m_label": "Vertical gap:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText145"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Enter the regex:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer158"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": ["wxTE_PROCESS_ENTER"],
+ "m_sizerFlags": ["wxLEFT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlRegex"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TEXT_ENTER",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnTextEnter(wxCommandEvent& event)",
+ "m_description": "Respond to a wxEVT_COMMAND_TEXT_ENTER event, generated when enter is pressed in a text control\n(which must have wxTE_PROCESS_ENTER style for this event to be generated).",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer157"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 10,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText147"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Destination Virtual Directory:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer159"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": "",
+ "gbPosition": "",
+ "m_styles": ["wxTE_PROCESS_ENTER"],
+ "m_sizerFlags": ["wxLEFT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlVirtualFolder"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Select the virtual folder in which to place the matching files"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TEXT_ENTER",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnTextEnter(wxCommandEvent& event)",
+ "m_description": "Respond to a wxEVT_COMMAND_TEXT_ENTER event, generated when enter is pressed in a text control\n(which must have wxTE_PROCESS_ENTER style for this event to be generated).",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4404,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "",
+ "gbPosition": "",
+ "m_styles": ["wxBU_AUTODRAW", "wxBORDER_NONE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_VERTICAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_bmpButton21010"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Browse for virtual folder"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../../wxcrafter/resources/wxdirpickerctrl.png"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnVDBrowse(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4454,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "Spacer158"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "0,0"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "",
+ "gbPosition": "",
+ "m_styles": [],
+ "m_sizerFlags": ["wxRIGHT", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer2088"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4467,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_stdBtnSizer12011"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 6,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_button12112"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4468,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "choice",
+ "m_label": "ID:",
+ "m_selection": 0,
+ "m_options": ["wxID_OK", "wxID_YES", "wxID_SAVE", "wxID_APPLY", "wxID_CLOSE", "wxID_NO", "wxID_CANCEL", "wxID_HELP", "wxID_CONTEXT_HELP"]
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonOK"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnRegexOKCancelUpdateUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/reconcileproject_liteeditor_bitmaps.cpp b/LiteEditor/reconcileproject_liteeditor_bitmaps.cpp
index 7060e5fc..5dd7c50f 100644
--- a/LiteEditor/reconcileproject_liteeditor_bitmaps.cpp
+++ b/LiteEditor/reconcileproject_liteeditor_bitmaps.cpp
@@ -1,203 +1,207 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : reconcileproject_liteeditor_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 507;
-static unsigned char xml_res_file_0[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,1,176,73,68,65,84,56,141,181,147,203,75,91,65,24,197,207,55,115,111,213,
-235,5,41,106,162,226,139,44,20,114,161,34,34,62,226,194,231,66,80,144,162,
-27,23,173,238,116,165,216,127,64,68,252,11,220,185,81,196,189,143,133,27,
-69,178,80,162,17,68,69,16,241,209,118,35,129,80,73,201,85,147,155,153,113,
-209,90,197,230,6,4,61,48,12,124,223,153,195,239,44,6,120,79,133,198,26,
-188,251,19,117,75,153,60,204,109,17,30,253,84,173,145,60,84,9,49,248,234,
-128,240,136,21,0,233,225,210,214,174,66,229,136,140,148,218,203,65,104,
-216,234,135,202,90,168,232,237,49,140,226,18,200,164,68,104,200,82,233,
-30,55,206,159,16,61,31,236,125,245,127,163,236,156,41,223,64,159,161,155,
-58,88,246,71,128,105,0,49,16,113,128,113,128,56,0,224,104,122,18,77,75,
-167,164,1,128,154,4,11,157,91,179,60,215,252,82,57,208,99,112,158,130,176,
-99,16,118,52,45,246,7,111,45,164,35,159,42,236,28,87,237,230,20,154,254,
-178,238,118,67,198,34,16,206,93,198,222,204,180,161,146,226,41,64,57,41,
-37,238,29,136,223,49,40,39,6,153,188,205,24,160,229,199,161,254,18,48,0,
-8,172,94,54,220,70,162,115,223,151,183,236,148,77,80,9,66,234,215,141,235,
-145,113,27,210,121,70,64,128,194,250,207,241,96,71,249,213,143,181,237,
-153,138,150,26,35,75,207,3,207,243,0,92,7,113,237,223,77,76,3,226,247,80,
-201,63,4,244,18,47,24,40,254,76,156,47,86,214,251,141,92,175,7,71,43,155,
-174,85,218,182,175,233,191,0,0,216,172,247,52,19,103,235,62,203,103,94,
-28,95,176,142,189,72,90,95,90,130,71,109,212,20,84,49,142,160,84,40,234,
-60,136,186,250,92,255,66,231,97,244,140,18,84,171,28,177,232,230,121,19,
-61,0,184,161,162,175,17,230,24,13,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_1 = 498;
-static unsigned char xml_res_file_1[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,1,167,73,68,65,84,56,141,181,146,207,75,84,81,20,199,63,119,156,17,116,
-104,19,132,4,225,162,9,11,166,6,10,52,97,192,137,172,133,171,92,10,22,182,
-44,144,126,109,139,176,63,160,69,251,32,138,118,70,8,21,173,204,22,249,
-3,158,32,18,227,98,22,131,26,37,14,226,32,188,247,154,121,247,157,115,91,
-148,34,229,188,69,212,119,115,23,231,123,63,247,124,207,185,240,63,181,
-120,239,220,203,133,219,231,187,146,60,169,164,162,107,234,104,218,232,
-178,119,179,112,242,239,0,86,56,118,225,242,17,76,198,243,110,228,139,7,
-121,12,192,194,245,188,107,5,57,125,231,22,225,198,55,214,166,222,132,18,
-53,199,250,159,149,95,253,1,152,31,61,229,10,15,38,126,61,43,160,130,115,
-2,78,65,99,180,81,199,250,150,234,228,84,232,26,223,31,246,61,95,121,188,
-11,72,3,168,85,16,33,218,92,106,25,167,173,61,203,241,145,225,206,213,201,
-183,143,230,175,230,115,253,39,202,227,102,2,77,3,184,72,136,131,0,187,
-93,79,152,72,29,147,233,160,123,232,98,246,203,187,15,99,115,159,123,122,
-161,210,251,19,96,21,9,124,108,125,59,1,0,169,246,78,76,70,145,134,197,
-217,216,237,139,32,168,31,16,39,116,208,150,61,76,108,13,95,63,206,4,77,
-63,120,58,240,126,253,238,30,192,69,74,202,111,112,168,187,136,211,24,39,
-49,136,221,59,101,167,134,221,81,214,62,205,134,98,229,126,105,122,253,
-201,46,216,0,204,20,143,182,92,99,225,202,32,193,102,141,85,111,37,116,
-34,215,74,179,27,175,247,215,77,82,230,233,190,46,151,59,147,211,106,185,
-234,59,209,161,65,175,54,247,187,39,157,4,112,86,168,46,85,106,42,148,46,
-45,111,85,14,242,36,127,229,72,94,152,166,57,219,234,242,63,209,15,99,239,
-209,86,3,110,246,131,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_2 = 781;
-static unsigned char xml_res_file_2[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,
-65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,
-0,0,2,175,73,68,65,84,120,218,116,147,81,72,83,97,20,199,207,221,238,174,
-45,177,36,27,229,32,111,206,50,31,84,170,141,106,20,61,248,80,98,172,160,
-151,193,156,62,24,181,151,37,11,76,193,167,144,32,168,8,243,41,179,40,152,
-15,74,200,192,69,107,145,3,97,204,32,174,200,86,195,124,240,33,135,15,51,
-37,221,118,119,239,118,175,183,243,221,216,212,181,14,28,190,239,220,251,
-253,206,255,156,243,221,75,5,222,80,80,106,140,14,160,234,128,186,181,163,
-79,10,89,0,73,86,99,255,151,111,167,108,145,232,137,234,245,245,245,223,
-232,64,67,25,203,229,1,54,55,161,133,97,160,51,151,131,184,36,65,44,177,
-118,24,18,201,26,219,252,143,147,141,162,40,180,43,138,242,9,143,46,106,
-100,204,92,198,187,68,17,158,182,88,110,219,200,74,226,213,181,26,32,176,
-32,8,237,62,159,239,249,224,224,224,164,44,203,103,105,141,118,175,58,141,
-53,209,90,240,242,89,136,5,253,47,245,12,67,13,188,11,192,66,6,118,224,
-80,40,20,237,237,237,157,194,4,243,52,233,183,52,129,126,31,216,243,121,
-152,76,103,192,235,247,43,11,211,51,112,29,219,31,73,167,211,108,1,110,
-50,241,67,15,239,173,1,77,250,45,233,191,11,213,59,201,44,151,87,168,177,
-233,25,5,97,24,233,239,239,103,173,86,171,152,74,165,166,36,73,26,234,184,
-188,5,91,41,240,211,56,164,61,134,202,94,158,87,152,229,4,229,125,244,226,
-47,220,215,215,199,6,2,1,49,22,139,165,12,6,195,144,78,167,131,186,90,145,
-36,176,209,19,239,255,73,64,252,117,65,217,227,241,176,193,96,80,133,49,
-54,28,106,115,193,209,43,110,88,145,110,194,49,152,3,10,202,155,10,187,
-221,110,118,118,118,182,8,159,30,240,65,117,211,69,80,182,183,65,204,102,
-225,130,244,4,180,255,131,93,46,23,27,14,135,139,112,235,253,41,56,216,
-104,29,197,253,3,252,6,120,89,146,162,75,153,86,208,148,131,123,122,122,
-216,72,36,162,194,85,13,231,12,103,30,127,7,166,182,25,114,130,96,118,180,
-31,49,227,234,193,36,78,2,104,75,225,238,238,110,150,227,56,21,174,172,
-183,24,234,111,141,141,42,168,138,119,126,103,49,26,5,125,165,222,120,181,
-173,222,248,149,75,176,216,10,79,237,134,29,14,7,139,96,177,108,163,99,
-4,26,58,110,172,94,187,84,87,187,132,79,210,210,142,90,221,126,0,223,219,
-48,71,18,152,208,67,118,187,157,141,199,227,69,152,28,50,222,253,8,88,234,
-40,42,153,73,156,202,100,160,185,205,108,54,182,152,96,238,213,7,142,210,
-104,134,201,12,150,209,61,165,112,193,16,118,225,192,44,121,81,180,144,
-31,39,115,220,4,159,159,77,112,124,58,61,140,239,198,11,51,88,76,38,147,
-63,113,117,238,134,171,206,59,73,5,234,181,109,109,108,128,156,203,153,
-127,205,205,131,156,207,15,107,117,186,113,166,162,2,254,8,48,0,209,89,
-128,160,35,189,211,201,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_3 = 0;
-static unsigned char xml_res_file_3[] = {
-};
-
-static size_t xml_res_size_4 = 648;
-static unsigned char xml_res_file_4[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,97,99,
-107,34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,99,116,
-95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
-46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,
-110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,110,100,
-97,114,100,95,98,97,99,107,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,102,111,114,119,97,114,100,
-34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,99,116,95,108,
-105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,
-112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,
-95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,110,100,97,114,
-100,95,102,111,114,119,97,114,100,46,112,110,103,60,47,111,98,106,101,99,
-116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
-120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,119,97,110,100,34,
-62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,99,116,95,108,
-105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,
-112,112,36,46,46,95,105,99,111,110,115,95,119,97,110,100,46,112,110,103,
-60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
-108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
-61,34,119,120,100,105,114,112,105,99,107,101,114,99,116,114,108,34,62,114,
-101,99,111,110,99,105,108,101,112,114,111,106,101,99,116,95,108,105,116,
-101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,
-36,46,46,95,46,46,95,119,120,99,114,97,102,116,101,114,95,114,101,115,111,
-117,114,99,101,115,95,119,120,100,105,114,112,105,99,107,101,114,99,116,
-114,108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,
-115,111,117,114,99,101,62,10};
-
-void wxCrafterjdrz3kInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_back.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_forward.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._icons_wand.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._.._wxcrafter_resources_wxdirpickerctrl.png"), xml_res_file_3, xml_res_size_3, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$._reconcileproject_liteeditor_bitmaps.xrc"), xml_res_file_4, xml_res_size_4, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$._reconcileproject_liteeditor_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 507;
+static unsigned char xml_res_file_0[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,1,176,73,68,65,84,56,141,181,147,203,75,91,65,24,197,207,55,115,111,213,
+235,5,41,106,162,226,139,44,20,114,161,34,34,62,226,194,231,66,80,144,162,
+27,23,173,238,116,165,216,127,64,68,252,11,220,185,81,196,189,143,133,27,
+69,178,80,162,17,68,69,16,241,209,118,35,129,80,73,201,85,147,155,153,113,
+209,90,197,230,6,4,61,48,12,124,223,153,195,239,44,6,120,79,133,198,26,
+188,251,19,117,75,153,60,204,109,17,30,253,84,173,145,60,84,9,49,248,234,
+128,240,136,21,0,233,225,210,214,174,66,229,136,140,148,218,203,65,104,
+216,234,135,202,90,168,232,237,49,140,226,18,200,164,68,104,200,82,233,
+30,55,206,159,16,61,31,236,125,245,127,163,236,156,41,223,64,159,161,155,
+58,88,246,71,128,105,0,49,16,113,128,113,128,56,0,224,104,122,18,77,75,
+167,164,1,128,154,4,11,157,91,179,60,215,252,82,57,208,99,112,158,130,176,
+99,16,118,52,45,246,7,111,45,164,35,159,42,236,28,87,237,230,20,154,254,
+178,238,118,67,198,34,16,206,93,198,222,204,180,161,146,226,41,64,57,41,
+37,238,29,136,223,49,40,39,6,153,188,205,24,160,229,199,161,254,18,48,0,
+8,172,94,54,220,70,162,115,223,151,183,236,148,77,80,9,66,234,215,141,235,
+145,113,27,210,121,70,64,128,194,250,207,241,96,71,249,213,143,181,237,
+153,138,150,26,35,75,207,3,207,243,0,92,7,113,237,223,77,76,3,226,247,80,
+201,63,4,244,18,47,24,40,254,76,156,47,86,214,251,141,92,175,7,71,43,155,
+174,85,218,182,175,233,191,0,0,216,172,247,52,19,103,235,62,203,103,94,
+28,95,176,142,189,72,90,95,90,130,71,109,212,20,84,49,142,160,84,40,234,
+60,136,186,250,92,255,66,231,97,244,140,18,84,171,28,177,232,230,121,19,
+61,0,184,161,162,175,17,230,24,13,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_1 = 498;
+static unsigned char xml_res_file_1[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,1,167,73,68,65,84,56,141,181,146,207,75,84,81,20,199,63,119,156,17,116,
+104,19,132,4,225,162,9,11,166,6,10,52,97,192,137,172,133,171,92,10,22,182,
+44,144,126,109,139,176,63,160,69,251,32,138,118,70,8,21,173,204,22,249,
+3,158,32,18,227,98,22,131,26,37,14,226,32,188,247,154,121,247,157,115,91,
+148,34,229,188,69,212,119,115,23,231,123,63,247,124,207,185,240,63,181,
+120,239,220,203,133,219,231,187,146,60,169,164,162,107,234,104,218,232,
+178,119,179,112,242,239,0,86,56,118,225,242,17,76,198,243,110,228,139,7,
+121,12,192,194,245,188,107,5,57,125,231,22,225,198,55,214,166,222,132,18,
+53,199,250,159,149,95,253,1,152,31,61,229,10,15,38,126,61,43,160,130,115,
+2,78,65,99,180,81,199,250,150,234,228,84,232,26,223,31,246,61,95,121,188,
+11,72,3,168,85,16,33,218,92,106,25,167,173,61,203,241,145,225,206,213,201,
+183,143,230,175,230,115,253,39,202,227,102,2,77,3,184,72,136,131,0,187,
+93,79,152,72,29,147,233,160,123,232,98,246,203,187,15,99,115,159,123,122,
+161,210,251,19,96,21,9,124,108,125,59,1,0,169,246,78,76,70,145,134,197,
+217,216,237,139,32,168,31,16,39,116,208,150,61,76,108,13,95,63,206,4,77,
+63,120,58,240,126,253,238,30,192,69,74,202,111,112,168,187,136,211,24,39,
+49,136,221,59,101,167,134,221,81,214,62,205,134,98,229,126,105,122,253,
+201,46,216,0,204,20,143,182,92,99,225,202,32,193,102,141,85,111,37,116,
+34,215,74,179,27,175,247,215,77,82,230,233,190,46,151,59,147,211,106,185,
+234,59,209,161,65,175,54,247,187,39,157,4,112,86,168,46,85,106,42,148,46,
+45,111,85,14,242,36,127,229,72,94,152,166,57,219,234,242,63,209,15,99,239,
+209,86,3,110,246,131,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_2 = 781;
+static unsigned char xml_res_file_2[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,
+65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,
+0,0,2,175,73,68,65,84,120,218,116,147,81,72,83,97,20,199,207,221,238,174,
+45,177,36,27,229,32,111,206,50,31,84,170,141,106,20,61,248,80,98,172,160,
+151,193,156,62,24,181,151,37,11,76,193,167,144,32,168,8,243,41,179,40,152,
+15,74,200,192,69,107,145,3,97,204,32,174,200,86,195,124,240,33,135,15,51,
+37,221,118,119,239,118,175,183,243,221,216,212,181,14,28,190,239,220,251,
+253,206,255,156,243,221,75,5,222,80,80,106,140,14,160,234,128,186,181,163,
+79,10,89,0,73,86,99,255,151,111,167,108,145,232,137,234,245,245,245,223,
+232,64,67,25,203,229,1,54,55,161,133,97,160,51,151,131,184,36,65,44,177,
+118,24,18,201,26,219,252,143,147,141,162,40,180,43,138,242,9,143,46,106,
+100,204,92,198,187,68,17,158,182,88,110,219,200,74,226,213,181,26,32,176,
+32,8,237,62,159,239,249,224,224,224,164,44,203,103,105,141,118,175,58,141,
+53,209,90,240,242,89,136,5,253,47,245,12,67,13,188,11,192,66,6,118,224,
+80,40,20,237,237,237,157,194,4,243,52,233,183,52,129,126,31,216,243,121,
+152,76,103,192,235,247,43,11,211,51,112,29,219,31,73,167,211,108,1,110,
+50,241,67,15,239,173,1,77,250,45,233,191,11,213,59,201,44,151,87,168,177,
+233,25,5,97,24,233,239,239,103,173,86,171,152,74,165,166,36,73,26,234,184,
+188,5,91,41,240,211,56,164,61,134,202,94,158,87,152,229,4,229,125,244,226,
+47,220,215,215,199,6,2,1,49,22,139,165,12,6,195,144,78,167,131,186,90,145,
+36,176,209,19,239,255,73,64,252,117,65,217,227,241,176,193,96,80,133,49,
+54,28,106,115,193,209,43,110,88,145,110,194,49,152,3,10,202,155,10,187,
+221,110,118,118,118,182,8,159,30,240,65,117,211,69,80,182,183,65,204,102,
+225,130,244,4,180,255,131,93,46,23,27,14,135,139,112,235,253,41,56,216,
+104,29,197,253,3,252,6,120,89,146,162,75,153,86,208,148,131,123,122,122,
+216,72,36,162,194,85,13,231,12,103,30,127,7,166,182,25,114,130,96,118,180,
+31,49,227,234,193,36,78,2,104,75,225,238,238,110,150,227,56,21,174,172,
+183,24,234,111,141,141,42,168,138,119,126,103,49,26,5,125,165,222,120,181,
+173,222,248,149,75,176,216,10,79,237,134,29,14,7,139,96,177,108,163,99,
+4,26,58,110,172,94,187,84,87,187,132,79,210,210,142,90,221,126,0,223,219,
+48,71,18,152,208,67,118,187,157,141,199,227,69,152,28,50,222,253,8,88,234,
+40,42,153,73,156,202,100,160,185,205,108,54,182,152,96,238,213,7,142,210,
+104,134,201,12,150,209,61,165,112,193,16,118,225,192,44,121,81,180,144,
+31,39,115,220,4,159,159,77,112,124,58,61,140,239,198,11,51,88,76,38,147,
+63,113,117,238,134,171,206,59,73,5,234,181,109,109,108,128,156,203,153,
+127,205,205,131,156,207,15,107,117,186,113,166,162,2,254,8,48,0,209,89,
+128,160,35,189,211,201,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_3 = 632;
+static unsigned char xml_res_file_3[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,
+65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,
+0,0,2,26,73,68,65,84,120,218,164,83,61,111,19,65,16,125,179,187,103,7,131,
+81,8,4,10,155,68,20,72,161,224,67,73,68,75,19,104,41,40,144,16,162,129,
+34,5,13,255,0,209,210,128,132,172,132,134,6,148,54,13,66,164,65,66,162,
+76,224,226,2,100,36,7,35,36,155,96,130,125,150,239,156,203,221,46,179,119,
+206,23,208,32,143,116,186,189,157,153,247,102,222,204,145,49,6,131,152,
+192,128,166,202,243,51,139,58,10,175,26,29,39,23,36,36,72,170,50,145,56,
+199,95,251,163,169,127,67,132,109,159,178,201,231,103,159,1,91,81,26,36,
+37,86,158,220,56,203,32,134,232,15,0,78,34,33,32,84,230,19,19,157,73,0,
+140,214,156,188,137,176,242,16,198,16,156,194,53,76,206,62,231,230,250,
+201,22,100,27,200,190,148,130,91,186,53,33,73,76,241,253,178,74,28,166,
+203,142,3,236,151,136,214,95,241,197,203,36,150,24,196,196,26,65,199,239,
+151,110,144,41,92,231,120,131,142,31,94,204,31,204,90,0,118,197,62,132,
+51,196,71,105,139,220,97,214,172,75,229,157,139,160,213,177,44,236,225,
+137,209,125,8,169,144,115,156,18,235,246,32,5,160,77,75,135,160,29,32,233,
+59,165,67,109,165,130,209,177,17,28,191,89,2,18,145,77,250,88,191,147,129,
+59,119,251,152,178,101,34,242,240,249,173,139,238,47,111,87,47,214,99,124,
+234,52,142,20,142,98,171,250,136,171,214,73,233,22,64,230,138,8,197,4,154,
+237,112,73,89,102,191,190,198,202,2,211,247,22,184,157,184,175,150,68,252,
+181,4,109,120,85,40,147,150,159,0,107,6,24,71,235,227,42,190,172,247,94,
+40,158,55,58,245,26,14,23,121,42,221,42,116,115,137,67,69,10,34,179,124,
+218,187,107,172,3,49,211,208,33,252,172,186,184,243,248,195,98,210,66,187,
+241,13,197,233,75,220,74,29,148,205,115,170,216,29,225,62,99,0,103,4,126,
+99,13,223,27,205,215,171,243,51,158,178,65,193,70,11,185,83,39,129,94,139,
+7,49,140,191,54,112,175,101,135,177,177,252,30,181,31,189,133,19,163,76,
+230,206,93,246,120,96,121,29,197,176,75,101,118,54,230,223,102,139,50,36,
+218,147,119,223,140,149,159,94,241,108,228,133,68,177,255,51,187,247,110,
+186,91,3,254,206,191,5,24,0,171,203,191,162,234,194,67,169,0,0,0,0,73,69,
+78,68,174,66,96,130};
+
+static size_t xml_res_size_4 = 630;
+static unsigned char xml_res_file_4[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,98,97,99,107,34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,
+101,99,116,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,
+97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,
+105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,
+97,110,100,97,114,100,95,98,97,99,107,46,112,110,103,60,47,111,98,106,101,
+99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
+119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,102,111,114,119,
+97,114,100,34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,
+99,116,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
+112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,
+99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,
+110,100,97,114,100,95,102,111,114,119,97,114,100,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,119,
+97,110,100,34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,
+99,116,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
+112,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,119,97,110,100,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,119,120,100,105,114,112,105,99,107,101,114,99,116,114,
+108,34,62,114,101,99,111,110,99,105,108,101,112,114,111,106,101,99,116,
+95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
+46,99,112,112,36,46,46,95,46,46,95,119,120,99,114,97,102,116,101,114,95,
+114,101,115,111,117,114,99,101,115,95,119,120,100,105,114,112,105,99,107,
+101,114,99,116,114,108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
+60,47,114,101,115,111,117,114,99,101,62,10};
+
+void wxCrafterjdrz3kInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_back.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_forward.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._icons_wand.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$.._.._wxcrafter_resources_wxdirpickerctrl.png"), xml_res_file_3, xml_res_size_3, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_reconcileproject_liteeditor_bitmaps.xrc"), xml_res_file_4, xml_res_size_4, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/reconcileproject_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_reconcileproject_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/reconcileprojectbase.cpp b/LiteEditor/reconcileprojectbase.cpp
index 7abbe706..54f06661 100644
--- a/LiteEditor/reconcileprojectbase.cpp
+++ b/LiteEditor/reconcileprojectbase.cpp
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : reconcileprojectbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: reconcileproject.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -51,6 +27,7 @@ ReconcileProjectDlgBaseClass::ReconcileProjectDlgBaseClass(wxWindow* parent, wxW
this->SetSizer(boxSizer83);
m_notebook214 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook214->SetName(wxT("m_notebook214"));
boxSizer83->Add(m_notebook214, 1, wxALL|wxEXPAND, 5);
@@ -73,7 +50,7 @@ ReconcileProjectDlgBaseClass::ReconcileProjectDlgBaseClass(wxWindow* parent, wxW
boxSizer224->Add(boxSizer276, 1, wxEXPAND, 5);
m_splitter = new wxSplitterWindow(m_panel220, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxSP_LIVE_UPDATE|wxSP_3DSASH);
- m_splitter->SetSashGravity(0.500000);
+ m_splitter->SetSashGravity(0.5);
m_splitter->SetMinimumPaneSize(10);
boxSizer276->Add(m_splitter, 1, wxALL|wxEXPAND, 5);
@@ -204,14 +181,26 @@ ReconcileProjectDlgBaseClass::ReconcileProjectDlgBaseClass(wxWindow* parent, wxW
m_button258 = new wxButton(this, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxSize(-1,-1), 0);
m_button258->SetDefault();
- boxSizer252->Add(m_button258, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer252->Add(m_button258, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook214)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook214);
+ }
+ #endif
+ SetName(wxT("ReconcileProjectDlgBaseClass"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_bmpButtonAdd->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ReconcileProjectDlgBaseClass::OnAddFile), NULL, this);
m_bmpButtonAdd->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ReconcileProjectDlgBaseClass::OnAddFileUI), NULL, this);
@@ -272,7 +261,7 @@ ReconcileProjectFiletypesDlgBaseClass::ReconcileProjectFiletypesDlgBaseClass(wxW
boxSizer160->Add(m_staticText116, 0, wxALL, 5);
- m_dirPickerToplevel = new wxDirPickerCtrl(this, wxID_ANY, wxEmptyString, wxT("Select a folder"), wxDefaultPosition, wxSize(-1,-1), wxDIRP_DEFAULT_STYLE|wxDIRP_USE_TEXTCTRL|wxDIRP_DIR_MUST_EXIST);
+ m_dirPickerToplevel = new wxDirPickerCtrl(this, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxSize(-1,-1), wxDIRP_DEFAULT_STYLE|wxDIRP_USE_TEXTCTRL|wxDIRP_DIR_MUST_EXIST);
boxSizer160->Add(m_dirPickerToplevel, 0, wxALL|wxEXPAND, 5);
@@ -286,10 +275,13 @@ ReconcileProjectFiletypesDlgBaseClass::ReconcileProjectFiletypesDlgBaseClass(wxW
m_textExtensions = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
m_textExtensions->SetToolTip(_("A semi-colon separated list of extensions e.g. cpp;h;xrc\nIf you really want to find all possible files, just add *"));
+ #if wxVERSION_NUMBER >= 3000
+ m_textExtensions->SetHint(wxT(""));
+ #endif
boxSizer16016->Add(m_textExtensions, 0, wxALL|wxEXPAND, 5);
- wxFlexGridSizer* flexGridSizer11517115 = new wxFlexGridSizer( 0, 2, 0, 0);
+ wxFlexGridSizer* flexGridSizer11517115 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer11517115->SetFlexibleDirection( wxBOTH );
flexGridSizer11517115->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer11517115->AddGrowableCol(0);
@@ -321,7 +313,7 @@ ReconcileProjectFiletypesDlgBaseClass::ReconcileProjectFiletypesDlgBaseClass(wxW
boxSizer124519->Add(m_button125721, 0, wxALL|wxEXPAND, 5);
- wxFlexGridSizer* flexGridSizer11517 = new wxFlexGridSizer( 2, 2, 0, 0);
+ wxFlexGridSizer* flexGridSizer11517 = new wxFlexGridSizer(2, 2, 0, 0);
flexGridSizer11517->SetFlexibleDirection( wxBOTH );
flexGridSizer11517->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer11517->AddGrowableCol(0);
@@ -353,7 +345,7 @@ ReconcileProjectFiletypesDlgBaseClass::ReconcileProjectFiletypesDlgBaseClass(wxW
boxSizer124->Add(m_button125, 0, wxALL|wxEXPAND, 5);
- wxFlexGridSizer* flexGridSizer115171 = new wxFlexGridSizer( 0, 2, 0, 0);
+ wxFlexGridSizer* flexGridSizer115171 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer115171->SetFlexibleDirection( wxBOTH );
flexGridSizer115171->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer115171->AddGrowableCol(0);
@@ -396,12 +388,17 @@ ReconcileProjectFiletypesDlgBaseClass::ReconcileProjectFiletypesDlgBaseClass(wxW
m_stdBtnSizer120->AddButton(m_button122);
m_stdBtnSizer120->Realize();
-
+ SetName(wxT("ReconcileProjectFiletypesDlgBaseClass"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_button11921620->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ReconcileProjectFiletypesDlgBaseClass::OnIgnoreFileBrowse), NULL, this);
m_button125721->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ReconcileProjectFiletypesDlgBaseClass::OnIgnoreFileRemove), NULL, this);
@@ -442,7 +439,7 @@ ReconcileByRegexDlgBaseClass::ReconcileByRegexDlgBaseClass(wxWindow* parent, wxW
wxBoxSizer* boxSizer141 = new wxBoxSizer(wxVERTICAL);
this->SetSizer(boxSizer141);
- wxFlexGridSizer* flexGridSizer157 = new wxFlexGridSizer( 0, 2, 0, 0);
+ wxFlexGridSizer* flexGridSizer157 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer157->SetFlexibleDirection( wxBOTH );
flexGridSizer157->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer157->AddGrowableCol(0);
@@ -456,6 +453,9 @@ ReconcileByRegexDlgBaseClass::ReconcileByRegexDlgBaseClass(wxWindow* parent, wxW
flexGridSizer157->Add(0, 0, 0, wxALL, 5);
m_textCtrlRegex = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_PROCESS_ENTER);
+ #if wxVERSION_NUMBER >= 3000
+ m_textCtrlRegex->SetHint(wxT(""));
+ #endif
flexGridSizer157->Add(m_textCtrlRegex, 0, wxLEFT|wxTOP|wxBOTTOM|wxEXPAND, 5);
@@ -469,6 +469,9 @@ ReconcileByRegexDlgBaseClass::ReconcileByRegexDlgBaseClass(wxWindow* parent, wxW
m_textCtrlVirtualFolder = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_PROCESS_ENTER);
m_textCtrlVirtualFolder->SetToolTip(_("Select the virtual folder in which to place the matching files"));
+ #if wxVERSION_NUMBER >= 3000
+ m_textCtrlVirtualFolder->SetHint(wxT(""));
+ #endif
flexGridSizer157->Add(m_textCtrlVirtualFolder, 1, wxLEFT|wxTOP|wxBOTTOM|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
@@ -495,12 +498,17 @@ ReconcileByRegexDlgBaseClass::ReconcileByRegexDlgBaseClass(wxWindow* parent, wxW
m_stdBtnSizer12011->AddButton(m_buttonOK);
m_stdBtnSizer12011->Realize();
-
+ SetName(wxT("ReconcileByRegexDlgBaseClass"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_textCtrlRegex->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(ReconcileByRegexDlgBaseClass::OnTextEnter), NULL, this);
m_textCtrlVirtualFolder->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(ReconcileByRegexDlgBaseClass::OnTextEnter), NULL, this);
diff --git a/LiteEditor/reconcileprojectbase.h b/LiteEditor/reconcileprojectbase.h
index 36f06c5e..613da123 100644
--- a/LiteEditor/reconcileprojectbase.h
+++ b/LiteEditor/reconcileprojectbase.h
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : reconcileprojectbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: reconcileproject.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -35,6 +11,8 @@
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
#include <wx/dialog.h>
+#include <wx/iconbndl.h>
+#include <wx/artprov.h>
#include <wx/sizer.h>
#include <wx/notebook.h>
#include <wx/panel.h>
@@ -51,6 +29,12 @@
#include <wx/textctrl.h>
#include <wx/listbox.h>
#include <wx/listctrl.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class ReconcileProjectDlgBaseClass : public wxDialog
{
@@ -95,6 +79,25 @@ protected:
virtual void OnClose(wxCommandEvent& event) { event.Skip(); }
public:
+ wxBannerWindow* GetBanner270() { return m_banner270; }
+ wxDataViewListCtrl* GetDvListCtrl1Unassigned() { return m_dvListCtrl1Unassigned; }
+ wxBitmapButton* GetBmpButtonAdd() { return m_bmpButtonAdd; }
+ wxBitmapButton* GetBmpButtonRemove() { return m_bmpButtonRemove; }
+ wxBitmapButton* GetBmpButtonAutoAdd() { return m_bmpButtonAutoAdd; }
+ wxPanel* GetSplitterPage1() { return m_splitterPage1; }
+ wxDataViewCtrl* GetDataviewAssigned() { return m_dataviewAssigned; }
+ wxPanel* GetSplitterPage2() { return m_splitterPage2; }
+ wxSplitterWindow* GetSplitter() { return m_splitter; }
+ wxButton* GetButton274() { return m_button274; }
+ wxButton* GetButton280() { return m_button280; }
+ wxPanel* GetPanel220() { return m_panel220; }
+ wxBannerWindow* GetBanner272() { return m_banner272; }
+ wxDataViewCtrl* GetDataviewStaleFiles() { return m_dataviewStaleFiles; }
+ wxButton* GetButton266() { return m_button266; }
+ wxButton* GetButton282() { return m_button282; }
+ wxPanel* GetPanel222() { return m_panel222; }
+ wxNotebook* GetNotebook214() { return m_notebook214; }
+ wxButton* GetButton258() { return m_button258; }
ReconcileProjectDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Reconcile Project"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~ReconcileProjectDlgBaseClass();
};
@@ -135,6 +138,22 @@ protected:
virtual void OnRemoveRegexUpdateUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText116() { return m_staticText116; }
+ wxDirPickerCtrl* GetDirPickerToplevel() { return m_dirPickerToplevel; }
+ wxStaticText* GetStaticText11617() { return m_staticText11617; }
+ wxTextCtrl* GetTextExtensions() { return m_textExtensions; }
+ wxStaticText* GetStaticText11618216() { return m_staticText11618216; }
+ wxListBox* GetListIgnoreFiles() { return m_listIgnoreFiles; }
+ wxButton* GetButton11921620() { return m_button11921620; }
+ wxButton* GetButton125721() { return m_button125721; }
+ wxStaticText* GetStaticText11618() { return m_staticText11618; }
+ wxListBox* GetListExclude() { return m_listExclude; }
+ wxButton* GetButton11921() { return m_button11921; }
+ wxButton* GetButton125() { return m_button125; }
+ wxStaticText* GetStaticText116182() { return m_staticText116182; }
+ wxListCtrl* GetListCtrlRegexes() { return m_listCtrlRegexes; }
+ wxButton* GetButton119216() { return m_button119216; }
+ wxButton* GetButton1257() { return m_button1257; }
ReconcileProjectFiletypesDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select filetypes to reconcile"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~ReconcileProjectFiletypesDlgBaseClass();
};
@@ -158,6 +177,11 @@ protected:
virtual void OnRegexOKCancelUpdateUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText145() { return m_staticText145; }
+ wxTextCtrl* GetTextCtrlRegex() { return m_textCtrlRegex; }
+ wxStaticText* GetStaticText147() { return m_staticText147; }
+ wxTextCtrl* GetTextCtrlVirtualFolder() { return m_textCtrlVirtualFolder; }
+ wxBitmapButton* GetBmpButton21010() { return m_bmpButton21010; }
ReconcileByRegexDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Allocate by regex"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~ReconcileByRegexDlgBaseClass();
};
diff --git a/LiteEditor/renamesymboldlg.cpp b/LiteEditor/renamesymboldlg.cpp
index 5ed197a5..819a5fac 100644
--- a/LiteEditor/renamesymboldlg.cpp
+++ b/LiteEditor/renamesymboldlg.cpp
@@ -64,8 +64,9 @@ RenameSymbol::RenameSymbol( wxWindow* parent, const CppToken::List_t& candidates
m_textCtrlNewName->SetValue(oldname);
m_textCtrlNewName->SetFocus();
-
- WindowAttrManager::Load(this, "RenameSymbol", NULL);
+
+ SetName("RenameSymbol");
+ WindowAttrManager::Load(this);
}
void RenameSymbol::AddMatch(const CppToken& token, bool check)
@@ -132,7 +133,7 @@ void RenameSymbol::OnSelection(wxDataViewEvent& event)
RenameSymbol::~RenameSymbol()
{
- WindowAttrManager::Save(this, "RenameSymbol", NULL);
+
}
void RenameSymbol::OnCheckAll(wxCommandEvent& event)
diff --git a/LiteEditor/res/100_x_400_white.png b/LiteEditor/res/100_x_400_white.png
new file mode 100644
index 00000000..44fa3c06
--- /dev/null
+++ b/LiteEditor/res/100_x_400_white.png
Binary files differ
diff --git a/LiteEditor/res/arrow-left-24.png b/LiteEditor/res/arrow-left-24.png
new file mode 100644
index 00000000..a28996f1
--- /dev/null
+++ b/LiteEditor/res/arrow-left-24.png
Binary files differ
diff --git a/LiteEditor/res/down-10.png b/LiteEditor/res/down-10.png
new file mode 100644
index 00000000..c58c24bd
--- /dev/null
+++ b/LiteEditor/res/down-10.png
Binary files differ
diff --git a/LiteEditor/res/quickfindbar/next-16.png b/LiteEditor/res/quickfindbar/next-16.png
index 07fe1e0d..2478627e 100644
--- a/LiteEditor/res/quickfindbar/next-16.png
+++ b/LiteEditor/res/quickfindbar/next-16.png
Binary files differ
diff --git a/LiteEditor/res/up-10.png b/LiteEditor/res/up-10.png
new file mode 100644
index 00000000..e90e9b56
--- /dev/null
+++ b/LiteEditor/res/up-10.png
Binary files differ
diff --git a/LiteEditor/resources.cpp b/LiteEditor/resources.cpp
index 642180ba..1a28c595 100644
--- a/LiteEditor/resources.cpp
+++ b/LiteEditor/resources.cpp
@@ -1,8014 +1,8122 @@
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 3490;
-static unsigned char xml_res_file_0[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
-0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
-112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
-222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
-33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
-128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
-225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
-207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
-225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
-60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
-66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
-64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
-230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
-68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
-73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
-4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
-42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
-73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
-0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
-95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
-209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
-247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
-144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
-95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
-4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
-11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
-243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
-53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
-0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
-160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
-160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
-132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
-176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
-61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
-138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
-75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
-59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
-55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
-140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
-108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
-86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
-30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
-39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
-18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
-84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
-107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
-242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
-229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
-182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
-211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
-203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
-24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
-152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
-149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
-83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
-103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
-195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
-171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
-61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
-156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
-76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
-174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
-143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
-165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
-222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
-12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
-64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
-105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
-154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
-155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
-182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
-90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
-158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
-109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
-141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
-154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
-182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
-139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
-93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
-135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
-11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
-87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
-60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
-223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
-91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
-185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
-231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
-12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
-67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
-46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
-28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
-23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
-64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
-194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
-146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
-76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
-66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
-110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
-90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
-237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
-134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
-134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
-122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
-220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
-20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
-180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
-151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
-205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
-63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
-123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
-102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
-78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
-82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
-198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
-225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
-91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
-74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
-46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
-225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
-87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
-154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
-244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
-245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
-95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
-119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
-143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
-100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
-209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
-219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
-29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
-147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
-0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
-0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
-197,70,0,0,2,189,73,68,65,84,120,218,156,146,77,72,27,97,16,134,223,111,
-179,155,47,89,77,183,17,3,57,148,170,77,16,177,135,168,37,96,213,104,11,
-134,106,66,83,233,161,30,173,216,75,15,133,158,4,61,8,10,130,88,172,222,
-148,246,44,61,138,185,20,107,12,40,105,64,3,30,140,130,196,216,216,42,196,
-38,193,31,146,205,178,89,179,233,65,147,22,138,244,103,78,195,192,60,243,
-12,51,164,186,186,26,173,45,45,16,179,89,112,28,135,84,42,5,142,227,96,
-48,24,192,48,12,194,225,48,108,54,27,214,214,214,96,181,90,33,220,184,129,
-214,182,54,151,161,188,124,80,185,184,72,177,248,135,200,231,243,80,85,
-85,160,90,237,227,59,22,139,35,157,78,127,251,13,224,247,251,175,5,180,
-183,183,119,60,233,233,121,211,219,219,107,15,6,131,137,96,48,248,249,175,
-12,92,46,151,64,41,125,61,57,57,57,220,220,220,172,61,63,63,47,140,142,
-142,190,221,218,218,90,248,35,192,106,181,54,141,140,140,204,56,157,78,
-135,32,8,0,128,185,217,217,205,245,245,245,247,0,78,174,5,116,118,118,242,
-54,155,237,213,138,207,55,113,187,170,170,84,207,100,50,88,244,122,63,0,
-56,1,0,230,215,166,66,161,0,0,112,187,221,30,143,199,179,48,53,53,53,1,
-0,43,62,31,0,128,16,130,221,221,93,53,22,139,173,18,66,192,48,12,88,0,80,
-85,21,146,36,129,231,249,251,99,99,99,195,211,211,211,143,106,107,107,185,
-157,157,29,28,28,28,224,161,195,81,26,112,118,118,166,40,138,242,149,231,
-121,104,52,26,176,185,92,14,32,164,241,65,71,199,224,243,254,254,103,102,
-179,153,1,128,88,44,134,104,52,10,167,211,9,157,78,87,178,228,56,142,12,
-13,13,49,90,173,22,0,192,90,44,150,23,110,151,235,157,173,161,129,68,34,
-17,53,16,8,124,63,61,61,149,155,26,26,111,185,187,220,140,146,207,21,237,
-112,101,75,244,122,61,161,148,94,2,106,106,106,252,119,235,235,239,5,2,
-1,57,30,143,231,163,209,168,20,143,199,205,130,32,124,172,52,153,42,132,
-155,2,56,142,131,40,138,144,36,9,178,44,19,69,81,64,8,185,4,40,138,242,
-69,206,229,64,41,5,207,243,152,159,159,71,95,95,159,36,102,50,105,131,161,
-188,98,105,105,41,178,189,189,189,106,183,219,123,28,109,14,147,169,210,
-196,38,18,9,134,106,175,12,138,187,177,44,11,89,150,49,48,48,128,172,40,
-66,167,215,139,201,84,10,227,227,227,47,247,247,247,253,117,117,117,115,
-221,221,221,79,179,82,182,43,43,102,21,134,97,126,2,8,195,224,248,248,24,
-161,80,8,0,32,203,178,124,120,120,152,246,122,189,51,225,112,216,15,0,70,
-163,113,51,20,10,109,38,147,201,137,178,178,50,177,120,114,22,0,52,26,13,
-54,54,54,112,116,116,4,74,41,84,85,189,88,94,94,94,220,219,219,251,100,
-52,26,33,138,34,10,133,2,244,122,61,120,158,207,80,74,75,63,67,138,201,
-255,198,143,1,0,79,234,41,12,35,51,97,245,0,0,0,0,73,69,78,68,174,66,96,
-130};
-
-static size_t xml_res_size_1 = 749;
-static unsigned char xml_res_file_1[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
-116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
-97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,127,73,68,65,84,56,203,
-109,82,65,107,19,65,24,125,155,164,73,19,155,24,181,53,52,74,77,155,104,
-65,65,196,91,61,8,130,61,136,226,65,189,121,83,80,132,64,78,237,177,7,115,
-236,175,240,144,34,30,122,246,7,136,5,169,90,208,70,19,155,150,52,40,148,
-20,147,38,166,73,118,118,102,125,179,107,218,181,58,240,49,51,223,124,223,
-155,247,222,140,97,219,54,188,99,105,105,105,68,41,53,39,165,156,97,156,
-100,128,241,147,177,98,89,214,98,46,151,251,229,173,55,188,0,133,66,225,
-10,155,151,147,201,228,100,44,22,131,207,231,3,247,232,245,122,168,215,
-235,216,226,32,208,189,249,249,249,181,127,0,216,60,194,195,143,233,116,
-58,99,154,38,106,181,26,58,157,142,190,29,129,64,0,137,68,194,169,43,22,
-139,27,204,93,94,88,88,232,234,189,111,128,196,228,179,241,241,241,140,
-16,2,229,114,121,179,221,110,167,184,14,234,208,235,82,169,244,67,3,147,
-93,134,82,178,131,190,192,96,193,228,76,36,18,65,165,82,1,155,238,100,179,
-217,170,71,106,53,159,207,223,172,86,171,197,84,42,229,212,254,15,96,76,
-107,230,109,122,189,133,35,67,231,52,59,93,67,182,99,127,121,176,253,230,
-145,189,82,153,198,206,94,216,209,124,247,210,42,252,182,128,45,45,216,
-150,27,66,72,188,88,187,234,152,154,24,110,224,246,153,85,76,63,249,96,
-184,12,8,242,224,254,13,24,180,196,240,135,57,223,2,148,65,126,195,250,
-144,6,9,72,171,141,231,179,29,230,133,211,178,241,242,237,161,4,125,147,
-46,180,118,95,33,16,26,133,97,140,176,112,8,8,199,153,86,192,254,30,100,
-235,27,204,238,119,40,107,31,225,201,44,108,179,239,1,32,69,40,125,147,
-137,230,250,123,234,60,134,248,197,107,168,189,94,100,255,105,76,92,159,
-69,243,235,58,1,26,136,166,78,144,176,132,45,76,47,128,112,100,216,164,
-26,159,190,0,95,112,148,238,40,200,190,196,167,221,48,38,96,34,158,158,
-68,175,19,98,237,190,195,106,0,224,252,3,155,238,106,84,173,181,241,121,
-141,44,222,241,196,130,234,41,244,187,164,106,147,89,233,11,154,229,109,
-87,174,82,78,207,33,3,189,209,168,148,16,63,159,130,63,114,138,0,38,166,
-30,62,197,148,96,67,107,7,199,211,73,4,91,67,46,3,202,61,2,96,58,168,202,
-210,30,172,19,32,10,12,211,200,64,144,121,13,208,68,183,81,135,232,180,
-17,157,136,209,110,229,202,246,2,104,9,161,179,143,17,62,231,135,17,12,
-185,79,232,227,75,40,74,51,187,136,118,219,84,216,39,81,233,250,165,141,
-63,0,224,147,108,46,207,185,94,56,31,71,252,9,235,96,230,15,115,63,150,
-148,238,90,3,113,252,6,114,178,178,205,135,111,193,69,0,0,0,0,73,69,78,
-68,174,66,96,130};
-
-static size_t xml_res_size_2 = 3651;
-static unsigned char xml_res_file_2[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
-0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
-112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
-222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
-33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
-128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
-225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
-207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
-225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
-60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
-66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
-64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
-230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
-68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
-73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
-4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
-42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
-73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
-0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
-95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
-209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
-247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
-144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
-95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
-4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
-11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
-243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
-53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
-0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
-160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
-160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
-132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
-176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
-61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
-138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
-75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
-59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
-55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
-140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
-108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
-86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
-30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
-39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
-18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
-84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
-107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
-242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
-229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
-182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
-211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
-203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
-24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
-152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
-149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
-83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
-103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
-195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
-171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
-61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
-156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
-76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
-174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
-143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
-165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
-222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
-12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
-64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
-105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
-154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
-155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
-182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
-90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
-158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
-109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
-141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
-154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
-182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
-139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
-93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
-135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
-11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
-87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
-60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
-223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
-91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
-185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
-231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
-12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
-67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
-46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
-28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
-23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
-64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
-194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
-146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
-76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
-66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
-110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
-90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
-237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
-134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
-134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
-122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
-220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
-20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
-180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
-151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
-205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
-63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
-123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
-102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
-78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
-82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
-198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
-225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
-91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
-74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
-46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
-225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
-87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
-154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
-244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
-245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
-95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
-119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
-143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
-100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
-209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
-219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
-29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
-147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
-0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
-0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
-197,70,0,0,3,94,73,68,65,84,120,218,116,206,205,79,28,101,0,128,241,103,
-102,222,153,253,96,63,88,88,151,111,40,152,86,11,210,3,173,161,138,198,
-170,64,91,172,98,52,38,246,208,180,73,155,94,76,52,209,196,196,24,253,3,
-244,98,60,104,52,154,104,60,152,52,212,130,28,48,109,211,96,137,90,81,97,
-53,69,64,105,98,129,66,119,89,118,151,221,101,119,102,231,227,245,226,193,
-131,254,174,207,229,17,82,74,78,125,251,151,106,132,195,210,159,186,173,
-212,205,78,133,107,253,190,218,157,98,190,188,149,232,201,126,248,242,73,
-247,252,216,175,138,99,219,184,150,131,83,245,240,92,15,179,82,81,166,167,
-38,61,209,244,202,59,79,12,190,240,226,41,77,81,36,166,169,164,171,158,
-145,41,102,12,169,168,142,99,150,205,151,198,23,164,161,235,104,210,197,
-118,20,84,161,128,208,40,87,20,197,243,228,151,2,77,125,172,173,54,120,
-166,249,143,31,24,191,124,141,104,107,23,145,166,125,172,109,102,201,39,
-231,233,74,223,33,222,255,20,174,34,208,52,137,84,32,149,41,145,92,74,81,
-42,228,211,162,34,53,171,112,115,14,49,51,193,232,209,231,104,60,60,196,
-47,43,25,22,131,91,20,99,7,184,241,221,37,234,211,23,96,255,32,174,167,
-147,222,42,146,90,207,128,181,11,174,107,106,162,187,255,17,187,100,62,
-89,190,183,159,227,207,28,103,179,108,113,189,232,80,146,224,243,9,212,
-120,39,190,236,29,54,54,243,172,230,160,152,43,128,103,130,179,11,219,171,
-211,234,110,118,91,118,52,54,242,238,233,97,22,50,37,146,37,135,128,166,
-208,30,22,180,70,52,226,117,6,161,166,110,172,181,91,56,59,57,144,38,56,
-21,112,93,208,125,8,182,139,52,249,131,236,13,25,244,138,50,119,51,22,17,
-219,70,149,22,142,112,201,249,117,72,52,147,180,76,168,152,224,170,80,41,
-128,99,162,122,85,41,240,124,178,152,205,147,92,175,16,64,50,80,11,82,234,
-32,5,5,215,79,38,167,227,249,82,216,190,4,248,66,160,186,224,73,176,74,
-120,85,75,10,180,40,211,87,175,48,210,23,167,237,224,48,13,81,135,136,33,
-169,186,10,217,130,224,64,204,227,139,185,43,236,70,90,32,96,128,89,2,92,
-64,130,240,163,209,252,208,64,60,22,29,202,44,207,82,31,8,80,19,106,165,
-80,241,97,237,186,144,219,96,242,171,207,73,248,161,161,173,149,223,150,
-50,80,202,65,57,15,149,18,184,206,180,8,183,116,16,107,143,179,116,55,205,
-173,143,47,210,187,111,134,174,61,61,20,138,219,92,189,49,203,122,14,14,
-117,168,188,117,238,121,26,244,22,38,127,172,34,60,133,0,81,150,111,111,
-40,218,161,19,231,31,237,190,191,123,208,215,216,137,177,247,97,22,210,
-58,51,63,45,242,123,62,76,160,111,148,61,3,67,172,110,20,153,159,158,228,
-181,147,71,216,127,95,59,118,99,55,225,186,6,12,33,102,68,125,46,121,205,
-205,215,126,116,184,53,20,82,85,162,118,83,71,208,62,210,102,224,186,66,
-81,92,116,37,139,61,252,160,59,247,205,178,255,131,79,63,235,123,251,205,
-55,148,63,87,126,222,245,39,90,199,244,181,157,113,164,148,72,41,185,60,
-51,175,44,45,46,27,114,39,21,169,102,55,235,171,217,205,68,117,123,179,
-193,202,110,52,72,187,16,159,154,184,120,79,44,22,123,253,232,177,99,214,
-202,242,77,57,49,118,225,253,226,78,62,168,140,158,126,149,206,131,35,60,
-254,64,29,157,137,26,122,59,234,169,186,18,35,26,231,191,232,186,113,238,
-204,217,179,239,61,251,244,137,154,181,181,181,17,241,239,40,1,239,159,
-163,255,99,219,213,79,12,195,240,125,61,126,169,167,38,24,252,254,239,1,
-0,85,142,151,88,77,177,193,143,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_3 = 37812;
-static unsigned char xml_res_file_3[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,176,0,0,1,142,8,6,0,
-0,0,246,62,86,247,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,6,98,75,71,
-68,0,255,0,255,0,255,160,189,167,147,0,0,0,9,112,72,89,115,0,0,11,18,0,
-0,11,18,1,210,221,126,252,0,0,0,7,116,73,77,69,7,219,4,12,17,3,19,185,12,
-132,110,0,0,32,0,73,68,65,84,120,218,236,189,121,116,92,231,117,39,248,
-123,245,94,189,87,11,10,133,141,216,8,144,20,184,73,164,184,104,151,188,
-72,182,100,199,146,99,199,75,220,157,153,116,167,219,238,204,105,247,56,
-75,159,78,79,150,57,86,79,86,111,177,19,39,142,228,142,163,177,207,140,
-61,233,137,198,241,73,172,120,145,188,106,177,73,138,18,41,146,226,38,137,
-59,1,16,75,1,40,212,94,245,182,249,3,188,79,95,61,188,170,122,85,40,20,
-22,222,223,57,117,0,20,106,121,223,247,221,119,127,223,93,190,123,165,143,
-126,244,163,54,24,12,6,131,193,88,99,8,240,20,48,24,12,6,131,9,140,193,
-96,48,24,12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,4,198,96,48,24,
-12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,24,12,6,131,9,
-140,193,96,48,24,12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,4,198,
-96,48,24,12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,24,12,
-6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,49,24,12,6,131,193,
-4,198,96,48,24,12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,
-24,12,6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,49,24,12,6,
-131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,192,24,12,6,131,193,
-96,2,99,48,24,12,6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,
-49,24,12,6,131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,192,24,12,
-6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,76,96,12,6,131,193,
-96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,
-192,24,12,6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,76,96,12,
-6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,38,48,6,131,193,
-96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,
-76,96,12,6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,38,48,
-6,131,193,96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,19,24,131,193,
-96,48,24,76,96,12,6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,
-12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,19,
-24,131,193,96,48,24,171,23,10,79,1,99,189,161,84,42,53,244,62,85,85,121,
-242,24,12,38,48,6,99,245,19,214,114,125,14,147,33,131,193,4,198,96,212,
-69,56,166,105,182,228,123,101,89,102,50,100,48,152,192,24,140,165,147,151,
-72,92,149,72,76,124,222,15,1,85,131,105,154,75,254,12,38,67,6,131,9,140,
-193,228,229,249,211,47,153,213,75,38,205,38,68,38,67,6,131,9,140,113,131,
-146,87,37,2,243,34,169,90,164,83,205,5,89,141,28,150,74,136,55,2,25,50,
-217,49,152,192,24,140,10,228,229,245,123,35,86,88,37,69,238,231,245,110,
-165,223,8,33,174,38,50,92,202,103,184,223,39,146,29,147,25,131,9,140,113,
-195,90,95,166,105,226,3,31,248,0,30,126,248,97,204,204,204,96,106,106,10,
-133,66,1,133,66,1,233,116,26,249,124,30,151,46,93,130,162,40,24,27,27,131,
-174,235,200,229,114,48,12,3,243,243,243,176,109,27,150,101,1,0,108,219,
-94,244,144,36,169,110,242,144,101,185,38,201,137,159,83,207,107,87,138,
-12,155,73,136,226,251,105,29,153,200,24,76,96,140,27,18,255,242,47,255,
-130,66,161,128,143,125,236,99,216,182,109,27,82,169,20,2,129,0,76,211,132,
-162,40,176,44,11,146,36,161,84,42,33,16,8,160,88,44,2,0,138,197,34,108,
-219,134,97,24,48,77,19,249,124,30,165,82,9,186,174,163,84,42,33,159,207,
-227,218,181,107,101,207,103,50,25,88,150,133,201,201,73,72,146,132,68,34,
-1,219,182,161,235,58,44,203,130,174,235,139,92,151,94,68,216,76,50,172,
-199,58,108,6,25,86,122,95,53,242,172,244,63,38,50,6,19,24,227,134,134,174,
-235,248,246,183,191,141,92,46,135,247,191,255,253,8,133,66,200,231,243,
-101,175,145,36,9,146,36,33,16,8,64,146,36,200,178,140,112,56,12,69,81,156,
-231,136,108,100,89,118,72,207,178,44,4,131,65,24,134,1,73,146,160,235,58,
-84,85,69,177,88,132,36,73,142,34,183,44,11,166,105,58,68,86,44,22,97,24,
-6,138,197,34,10,133,2,12,195,64,62,159,71,54,155,69,50,153,132,101,89,56,
-123,246,44,76,211,68,161,80,128,101,89,40,20,10,206,223,133,66,193,33,206,
-64,32,0,219,182,157,235,107,212,146,106,53,25,186,173,204,106,215,40,18,
-25,147,24,131,9,140,113,67,33,16,8,224,233,167,159,70,91,91,27,30,122,232,
-33,104,154,230,88,90,164,248,69,119,161,174,235,13,125,15,145,32,41,93,
-250,155,30,161,80,168,140,48,101,89,134,109,219,80,20,5,186,174,59,150,
-97,48,24,116,254,182,44,11,129,64,0,186,174,195,48,12,24,134,81,102,205,
-185,173,66,93,215,49,49,49,225,88,128,165,82,9,185,92,14,146,36,33,149,
-74,65,215,117,76,79,79,195,52,77,100,179,89,199,194,164,177,91,150,229,
-204,197,114,88,134,110,2,20,255,102,18,99,48,129,49,24,21,72,236,201,39,
-159,68,56,28,198,91,223,250,86,168,170,218,212,84,113,34,194,106,217,141,
-141,18,34,17,158,36,73,8,6,131,144,101,185,204,90,180,109,219,33,57,178,
-8,85,85,133,174,235,101,255,47,149,74,176,44,203,33,43,74,100,177,44,11,
-134,97,160,84,42,161,88,44,58,150,158,97,24,200,102,179,208,117,29,169,
-84,10,166,105,98,114,114,18,185,92,14,215,174,93,43,123,29,61,40,142,168,
-40,10,10,133,66,217,88,68,98,119,19,93,53,55,162,251,53,76,98,12,38,48,
-198,13,7,73,146,240,196,19,79,64,211,52,220,117,215,93,203,66,98,203,69,
-136,75,25,51,17,184,72,138,244,144,101,217,33,6,73,146,96,219,54,84,85,
-45,115,151,18,137,208,245,144,101,40,146,160,109,219,40,149,74,142,85,104,
-154,38,138,197,34,44,203,66,38,147,113,44,190,82,169,132,137,137,9,24,134,
-225,60,159,203,229,96,219,54,138,197,162,67,162,137,68,2,197,98,17,170,
-170,58,36,108,24,6,20,133,85,17,163,129,251,224,163,31,253,168,205,211,
-192,88,11,16,179,16,221,15,178,52,126,231,119,126,7,119,222,121,167,227,
-142,99,212,111,209,186,227,134,0,160,40,10,36,73,114,136,70,116,139,26,
-134,1,0,14,41,18,73,139,110,75,202,16,157,159,159,199,225,195,135,241,253,
-239,127,31,138,162,64,150,101,231,51,233,59,216,10,99,176,5,198,88,119,
-16,45,43,119,178,0,41,219,191,248,139,191,192,163,143,62,138,221,187,119,
-67,81,20,71,185,50,252,65,180,192,154,101,29,90,150,133,217,217,89,204,
-207,207,227,169,167,158,194,241,227,199,23,17,93,48,24,172,152,185,201,
-96,84,130,188,127,255,254,63,226,105,96,172,21,144,171,75,60,183,37,42,
-95,219,182,241,252,243,207,99,223,190,125,232,237,237,93,244,26,70,107,
-215,170,88,44,98,114,114,18,99,99,99,120,226,137,39,112,250,244,105,39,
-94,71,100,233,229,254,100,48,124,121,12,120,10,24,107,205,10,115,118,95,
-215,227,60,164,240,200,29,101,89,22,254,228,79,254,4,87,174,92,129,166,
-105,172,16,87,200,146,203,229,114,152,158,158,198,201,147,39,241,231,127,
-254,231,184,116,233,146,147,20,34,38,154,240,38,131,193,4,198,184,177,92,
-7,46,82,18,201,76,81,20,148,74,37,60,250,232,163,24,31,31,135,170,170,236,
-154,106,177,229,149,76,38,49,61,61,141,127,250,167,127,194,99,143,61,230,
-100,59,186,9,75,204,196,228,53,98,48,129,49,110,24,43,76,36,45,247,67,81,
-20,100,50,25,252,225,31,254,33,166,166,166,16,14,135,89,65,182,0,186,174,
-35,145,72,96,122,122,26,95,250,210,151,240,157,239,124,7,165,82,105,145,
-133,69,174,66,209,117,200,235,195,96,2,99,220,144,214,88,37,18,75,36,18,
-248,228,39,63,137,68,34,129,72,36,194,147,181,76,32,151,225,228,228,36,
-206,156,57,131,71,31,125,20,39,78,156,112,226,92,116,78,140,214,69,211,
-52,231,65,68,198,96,48,129,49,110,56,43,172,18,145,169,170,10,69,81,48,
-53,53,133,191,252,203,191,68,50,153,68,56,28,230,201,91,6,242,74,165,82,
-72,36,18,248,233,79,127,138,207,126,246,179,72,36,18,101,107,18,8,4,160,
-170,42,84,85,133,166,105,80,20,197,73,163,15,6,131,236,66,100,52,182,121,
-229,44,68,198,90,182,188,40,43,17,128,103,50,0,85,171,184,118,237,26,46,
-94,188,136,59,238,184,3,177,88,140,207,136,53,1,116,8,121,118,118,22,137,
-68,2,95,253,234,87,241,237,111,127,219,57,15,70,196,21,12,6,157,135,170,
-170,206,239,238,13,135,184,174,12,6,19,24,227,134,35,177,69,46,134,235,
-41,247,129,64,0,99,99,99,152,153,153,193,222,189,123,17,141,70,153,196,
-150,8,170,172,49,62,62,142,207,125,238,115,120,245,213,87,157,195,206,129,
-64,192,113,21,146,229,37,62,200,2,19,15,70,139,150,53,131,225,7,124,144,
-153,177,230,65,7,156,43,237,220,233,255,154,166,225,185,231,158,67,40,20,
-194,199,62,246,49,132,195,225,178,186,126,12,127,176,44,11,217,108,22,115,
-115,115,56,124,248,48,158,120,226,9,228,114,57,199,218,18,99,144,68,88,
-162,245,37,18,23,91,92,12,38,48,198,146,17,14,135,29,215,14,128,69,63,43,
-129,172,24,241,167,174,235,139,90,155,172,22,18,11,6,131,120,230,153,103,
-208,222,222,142,95,249,149,95,65,40,20,98,18,171,3,148,34,159,74,165,240,
-228,147,79,226,251,223,255,190,83,89,159,200,171,18,113,185,201,203,237,
-58,100,235,139,193,4,198,240,68,123,123,59,34,145,72,89,60,194,15,65,137,
-228,228,70,61,239,37,98,163,170,230,169,84,170,229,36,70,137,29,0,240,205,
-111,126,19,154,166,225,131,31,252,224,162,54,44,140,197,160,6,158,51,51,
-51,152,152,152,192,151,191,252,101,156,57,115,198,169,164,79,105,241,162,
-219,208,203,234,18,201,203,189,118,12,6,19,24,91,82,136,199,227,8,6,131,
-14,97,85,35,163,165,196,129,234,121,175,155,56,197,207,200,229,114,208,
-117,29,243,243,243,75,182,220,170,145,24,253,143,148,229,223,255,253,223,
-35,28,14,227,225,135,31,102,18,171,2,203,178,144,207,231,49,55,55,135,51,
-103,206,224,175,255,250,175,49,55,55,231,100,17,82,188,75,180,180,68,11,
-204,93,180,87,172,156,194,228,197,96,2,187,129,209,221,221,141,72,36,178,
-136,172,220,174,189,165,144,79,51,64,215,230,245,189,116,237,61,61,61,101,
-164,150,203,229,48,51,51,179,172,36,246,119,127,247,119,208,52,13,15,61,
-244,208,170,111,195,178,82,228,149,76,38,157,66,188,223,254,246,183,161,
-235,186,67,74,148,6,95,41,211,80,76,151,39,210,98,183,33,131,9,236,6,69,
-123,123,59,226,241,120,25,97,85,35,171,86,88,88,205,112,67,186,255,31,137,
-68,16,143,199,49,48,48,224,16,218,252,252,124,67,174,71,47,119,21,145,152,
-109,219,120,236,177,199,176,97,195,6,236,221,187,215,233,154,204,88,88,
-147,185,185,57,36,147,73,124,249,203,95,198,145,35,71,0,96,81,188,43,24,
-12,150,101,27,18,113,81,70,162,187,94,37,147,23,163,89,224,126,96,107,0,
-253,253,253,142,149,181,84,171,106,165,149,179,31,178,171,244,26,122,158,
-172,179,137,137,137,170,159,35,246,15,163,159,244,160,230,140,84,49,221,
-52,77,252,241,31,255,49,246,237,219,231,20,156,189,145,173,174,98,177,136,
-153,153,25,92,184,112,1,127,245,87,127,133,201,201,73,135,184,42,185,12,
-69,43,76,172,188,193,228,197,96,2,187,1,73,139,98,89,141,88,87,173,138,
-109,213,75,78,141,188,215,235,127,226,188,204,207,207,87,36,51,63,36,86,
-42,149,28,194,250,194,23,190,128,145,145,17,231,127,55,34,121,81,227,201,
-3,7,14,224,137,39,158,64,169,84,42,235,242,92,175,203,144,201,139,193,4,
-118,3,160,187,187,27,61,61,61,21,73,107,169,241,172,213,224,26,171,135,
-228,106,89,98,94,150,217,252,252,252,162,184,89,61,36,166,170,42,62,251,
-217,207,98,243,230,205,208,117,253,134,34,49,211,52,157,198,147,95,255,
-250,215,241,236,179,207,58,135,192,137,184,136,160,84,85,69,40,20,42,35,
-50,209,101,72,164,197,196,197,96,2,91,199,104,111,111,71,79,79,79,69,247,
-96,163,164,181,214,226,56,181,136,173,17,50,75,36,18,78,204,76,36,49,145,
-200,68,87,34,145,88,44,22,195,103,62,243,25,108,220,184,17,249,124,126,
-221,247,170,178,109,27,165,82,9,51,51,51,78,221,200,11,23,46,84,77,145,
-247,178,186,216,101,200,96,2,187,65,32,186,8,253,144,214,114,184,11,91,
-69,114,141,186,22,27,117,43,138,127,139,46,198,122,72,172,163,163,3,159,
-251,220,231,208,215,215,135,92,46,183,110,73,76,172,170,113,228,200,17,
-124,229,43,95,65,58,157,174,152,34,239,69,94,213,82,228,153,188,24,203,
-9,174,133,88,193,149,98,154,38,126,250,163,167,208,217,174,32,28,237,110,
-202,231,26,134,129,174,174,46,12,12,12,32,164,133,0,107,97,247,43,73,146,
-147,72,96,26,38,138,165,162,83,29,66,108,189,238,38,159,74,255,171,244,
-58,247,163,149,74,178,210,163,90,25,161,106,175,243,250,159,251,57,26,99,
-44,22,67,111,111,47,34,145,8,230,230,230,170,22,255,165,218,137,233,116,
-26,175,188,242,10,238,189,247,94,180,183,183,175,203,204,68,170,170,49,
-55,55,135,127,252,199,127,196,55,190,241,13,20,139,197,178,88,151,88,191,
-80,60,160,92,237,112,178,120,190,139,203,68,49,150,19,156,70,239,82,138,
-182,109,227,208,161,67,184,121,199,102,140,94,155,71,87,228,16,250,250,
-7,81,178,162,13,43,137,193,254,65,108,26,222,132,174,206,46,244,245,245,
-33,26,141,66,85,85,4,228,55,21,169,101,91,48,12,3,133,98,1,197,98,17,115,
-115,115,152,152,156,128,174,235,200,164,211,200,94,175,53,183,26,44,170,
-102,194,235,154,189,172,43,247,235,188,206,188,137,207,211,115,162,133,
-27,143,199,113,251,237,183,99,118,118,22,147,147,147,200,100,50,222,187,
-58,89,134,166,105,184,122,245,42,254,236,207,254,12,143,62,250,40,186,186,
-186,144,203,229,214,141,156,27,134,129,153,153,25,76,79,79,227,241,199,
-31,199,169,83,167,32,73,146,103,138,60,197,186,56,69,158,177,218,192,46,
-68,1,23,47,94,196,11,47,188,128,112,56,140,108,54,139,141,27,2,248,225,
-151,55,161,152,75,225,241,103,223,3,195,214,124,127,86,56,28,198,214,155,
-182,98,247,205,187,17,137,70,144,207,230,145,206,165,145,201,100,96,152,
-38,58,58,58,208,221,211,141,225,161,33,244,244,244,56,187,88,221,124,179,
-150,96,62,159,71,34,145,64,98,122,26,99,99,99,72,38,147,40,20,139,78,198,
-92,179,8,107,185,136,111,41,89,137,245,124,142,31,119,162,251,57,211,52,
-145,203,229,48,62,62,142,76,38,83,150,216,33,186,21,139,197,34,246,237,
-219,135,223,251,189,223,67,44,22,91,243,36,102,219,54,242,249,60,102,103,
-103,241,250,235,175,227,139,95,252,34,102,103,103,107,86,213,224,20,121,
-6,19,216,42,198,216,216,24,126,248,195,31,226,238,187,239,198,225,195,135,
-17,12,6,113,219,205,109,120,234,179,10,58,59,99,248,217,249,189,120,242,
-185,56,74,70,245,166,123,1,41,128,61,123,246,160,189,173,29,103,207,158,
-197,197,75,23,97,217,22,84,85,69,36,28,69,36,26,65,36,18,70,40,28,65,56,
-20,6,36,27,125,189,189,184,227,142,59,176,109,219,182,55,251,40,201,11,
-174,172,108,38,131,68,34,225,244,92,26,189,122,117,33,83,44,157,174,171,
-244,209,106,179,206,150,35,46,230,151,204,232,239,66,161,128,96,48,136,
-84,42,133,241,241,113,100,179,217,138,36,246,182,183,189,13,159,248,196,
-39,16,141,70,91,94,168,184,153,150,87,42,149,66,50,153,196,211,79,63,141,
-111,126,243,155,77,77,145,103,226,98,180,26,28,3,187,142,231,159,127,30,
-97,181,136,115,231,71,161,105,26,134,134,134,80,48,163,120,225,88,17,183,
-220,254,65,76,203,31,194,206,77,54,94,191,144,128,13,169,162,213,165,170,
-42,94,61,249,42,94,121,229,21,76,39,166,97,193,114,98,7,145,72,248,122,
-92,64,129,26,84,161,105,42,50,153,12,174,92,185,130,87,142,29,3,32,97,235,
-214,173,8,200,1,167,67,173,162,40,136,197,98,232,136,199,17,143,199,17,
-109,107,131,26,12,194,182,44,200,129,0,242,30,149,212,189,226,94,171,81,
-153,214,19,15,243,122,159,215,235,189,254,87,41,86,166,105,154,83,161,190,
-171,171,11,145,72,4,243,243,243,111,110,70,132,94,98,23,46,92,192,220,220,
-28,246,237,219,135,112,56,188,230,14,58,235,186,142,217,217,89,36,147,73,
-60,254,248,227,120,250,233,167,157,62,106,68,78,98,204,43,28,14,35,20,10,
-57,178,75,46,69,119,138,60,247,241,98,48,129,173,2,140,94,56,138,137,132,
-142,251,111,143,96,251,150,110,204,231,52,200,178,140,7,31,249,183,184,
-255,189,191,13,89,150,49,159,211,176,37,118,20,231,198,131,128,139,196,
-134,135,135,49,58,58,138,177,209,49,216,214,66,98,134,109,219,48,77,211,
-73,212,128,20,128,114,221,69,163,168,111,186,108,10,197,34,82,169,20,174,
-142,94,197,246,109,219,208,221,221,189,160,24,174,39,25,88,150,5,73,146,
-16,210,52,116,196,227,136,70,163,136,132,195,80,130,65,152,134,129,182,
-88,12,201,100,114,213,146,85,163,164,86,139,208,252,36,121,212,34,50,34,
-41,82,202,27,54,108,128,170,170,78,124,76,252,255,249,243,231,145,207,231,
-113,235,173,183,66,211,180,53,113,70,204,178,44,20,10,5,36,18,9,156,63,
-127,30,159,250,212,167,202,170,200,147,85,69,177,46,77,211,16,10,133,60,
-51,13,69,210,98,151,33,99,53,128,147,56,174,227,254,119,62,130,244,216,
-247,240,127,126,50,6,91,10,227,87,255,212,196,195,31,248,56,62,254,241,
-143,99,110,110,14,153,76,6,91,163,63,193,214,91,15,98,122,172,13,71,174,
-221,7,96,225,240,241,192,192,0,0,64,146,36,24,230,66,25,34,89,150,209,217,
-209,137,246,120,59,20,89,129,26,82,17,14,133,161,6,53,200,74,0,74,112,161,
-107,173,108,43,216,208,211,139,72,56,12,203,182,112,242,212,73,108,223,
-177,29,0,96,99,33,102,129,235,10,148,178,230,58,59,59,17,14,133,208,30,
-143,195,212,117,156,56,117,122,201,125,173,154,237,98,108,70,252,171,90,
-226,70,181,215,214,147,224,65,196,69,238,68,195,48,208,217,217,137,80,40,
-132,68,34,129,153,153,153,178,54,44,223,253,238,119,209,219,219,139,95,
-252,197,95,92,245,21,236,197,170,26,135,15,31,198,223,254,237,223,162,88,
-44,150,197,187,168,59,114,165,20,121,174,170,193,96,11,108,13,32,160,132,
-208,185,97,27,134,162,167,49,216,215,134,237,119,255,54,238,125,251,7,144,
-203,229,48,54,54,134,175,125,237,107,24,61,251,20,238,191,171,15,123,55,
-207,224,226,104,14,221,155,238,71,60,30,135,174,235,8,4,2,56,117,234,20,
-6,6,6,176,101,243,22,236,216,185,3,93,221,93,136,197,98,136,182,69,17,10,
-133,96,217,22,44,219,132,97,26,40,149,74,40,20,242,8,6,21,196,218,98,8,
-6,21,104,161,133,86,40,187,119,239,90,176,224,174,91,12,182,109,195,50,
-77,232,165,18,76,122,14,64,88,211,96,67,66,201,208,49,58,58,6,69,81,42,
-158,87,170,150,78,191,28,86,91,181,239,242,235,46,172,215,125,88,205,250,
-170,230,74,36,247,24,157,19,35,247,109,44,22,67,44,22,67,177,88,116,214,
-24,0,142,30,61,138,158,158,30,140,140,140,64,150,229,85,105,137,81,85,141,
-185,185,57,124,253,235,95,199,63,252,195,63,192,48,140,178,170,26,226,217,
-46,77,211,16,14,135,161,105,90,89,122,124,53,151,33,167,200,51,152,192,
-86,17,12,43,136,215,38,135,209,54,240,16,162,253,239,128,105,154,152,154,
-154,194,99,143,61,134,151,94,122,9,167,46,107,208,164,57,220,181,111,19,
-110,219,124,5,175,158,55,81,10,12,1,0,242,249,60,134,135,135,157,82,80,
-34,145,16,121,120,145,74,161,80,192,124,42,137,120,71,39,12,67,71,40,20,
-194,222,189,123,22,44,46,129,188,74,165,18,44,219,134,101,24,48,116,29,
-134,105,194,48,77,68,174,147,95,32,16,64,58,157,134,105,154,235,58,6,86,
-15,153,213,75,100,154,166,57,177,45,241,28,89,71,71,7,52,77,67,58,157,118,
-92,138,135,14,29,194,214,173,91,49,48,48,0,69,81,86,21,137,21,139,69,36,
-18,9,76,78,78,226,51,159,249,140,83,69,222,125,118,139,220,133,110,183,
-33,145,19,187,12,25,76,96,107,12,186,165,97,102,54,137,205,155,134,144,
-78,207,35,52,253,215,248,191,191,117,18,134,185,16,243,58,124,70,197,112,
-79,22,187,111,217,130,93,61,199,113,236,124,16,37,244,46,184,15,13,163,
-140,44,170,17,151,251,121,9,64,177,84,66,87,87,23,246,239,223,239,196,191,
-76,211,68,169,88,92,56,187,163,235,11,15,195,128,97,152,200,230,114,144,
-2,18,122,122,122,160,105,26,36,73,186,30,115,3,12,99,237,157,9,107,148,
-208,154,73,100,100,105,185,137,44,20,10,33,30,143,59,7,206,1,224,185,231,
-158,195,142,29,59,48,52,52,4,73,146,86,124,163,64,85,53,18,137,4,142,31,
-63,142,79,127,250,211,152,152,152,112,8,139,82,228,53,77,115,30,149,14,
-40,139,164,197,228,197,96,2,91,67,72,231,37,36,167,206,224,45,125,79,98,
-207,166,73,236,219,106,225,187,135,36,88,246,2,137,61,123,44,128,93,195,
-121,236,220,177,21,187,186,95,196,137,203,157,40,152,241,134,136,203,249,
-159,161,163,84,52,112,207,61,119,97,243,230,205,11,241,46,34,173,235,86,
-85,169,84,194,228,212,20,206,95,186,132,115,231,206,35,149,206,96,122,122,
-26,115,115,73,132,66,26,182,110,221,138,189,123,247,98,100,228,38,196,98,
-177,235,164,106,194,182,215,102,114,71,43,50,20,189,92,137,212,176,145,
-230,76,156,187,104,52,138,96,48,232,212,72,124,246,217,103,113,231,157,
-119,162,167,167,199,179,178,71,43,231,138,170,106,252,243,63,255,51,190,
-250,213,175,46,170,170,225,174,172,225,238,223,85,43,69,158,93,134,12,38,
-176,53,130,249,172,132,11,99,6,246,244,159,193,205,35,157,184,117,171,138,
-239,29,48,175,39,86,0,63,62,2,220,117,179,137,145,145,173,216,209,254,2,
-142,95,233,135,41,197,43,214,49,172,72,92,215,255,23,8,4,80,210,139,248,
-229,95,254,101,68,163,209,5,242,186,222,151,74,47,233,200,231,115,120,225,
-231,7,112,230,236,107,152,157,157,67,46,159,199,232,232,40,206,157,123,
-3,227,227,227,215,107,253,21,177,109,219,54,108,220,184,17,253,253,253,
-24,28,220,136,142,142,133,230,151,129,64,160,98,229,137,245,76,102,245,
-18,153,72,98,132,64,32,224,172,17,101,239,181,181,181,57,117,19,127,242,
-147,159,224,246,219,111,199,134,13,27,86,132,196,116,93,71,34,145,192,196,
-196,4,30,127,252,113,252,248,199,63,118,210,255,189,42,200,211,195,43,69,
-94,116,25,114,138,60,131,9,108,13,163,179,111,55,166,178,125,216,28,125,
-25,183,108,141,97,168,79,198,143,94,90,32,34,211,4,126,120,216,192,253,
-251,131,216,188,101,11,182,181,61,139,163,151,6,97,74,109,117,17,23,193,
-52,77,220,116,211,8,222,249,142,119,0,210,66,252,75,215,117,152,134,129,
-98,169,136,103,158,249,1,46,94,188,136,66,97,161,66,71,42,53,143,68,98,
-26,83,83,211,184,116,233,34,46,94,188,128,82,169,132,116,58,131,182,182,
-40,84,85,67,87,87,23,186,186,186,208,217,217,137,222,222,94,88,150,133,
-68,34,177,230,215,165,145,84,251,122,207,140,169,170,234,184,10,13,195,
-112,44,50,122,189,109,219,104,111,111,119,54,6,207,63,255,60,238,189,247,
-94,116,117,117,181,140,196,44,203,114,170,181,92,184,112,1,159,250,212,
-167,112,238,220,185,178,56,151,219,101,232,229,46,20,227,93,236,50,100,
-48,129,173,3,236,220,185,19,145,72,4,25,189,7,87,167,21,220,212,126,18,
-183,221,18,71,123,84,198,11,199,23,20,91,201,0,126,112,40,143,119,223,219,
-133,225,225,1,108,9,63,139,227,163,35,40,26,138,111,226,114,220,150,233,
-52,126,227,19,191,129,120,71,28,176,109,88,182,189,80,82,42,151,195,15,
-126,244,35,156,62,125,6,185,92,14,153,76,6,165,82,17,185,92,14,250,245,
-120,216,212,212,20,36,73,66,169,84,114,42,118,88,150,5,211,92,200,58,235,
-233,233,65,123,123,59,198,198,198,48,62,62,190,174,214,105,57,137,140,206,
-242,137,49,49,178,198,128,133,99,13,225,112,24,225,112,24,179,179,179,120,
-238,185,231,28,18,91,238,131,206,84,85,99,118,118,22,223,251,222,247,240,
-229,47,127,25,233,116,186,140,140,220,174,66,119,43,20,49,54,198,228,197,
-96,2,91,7,232,238,238,198,214,173,91,203,178,247,230,75,253,24,159,42,226,
-166,206,115,184,103,79,27,12,75,198,203,103,23,254,87,40,1,63,56,56,139,
-247,190,99,4,27,251,99,216,24,124,22,199,199,182,193,134,234,219,141,56,
-61,61,141,255,248,235,255,17,169,76,10,125,125,125,11,74,242,122,242,198,
-129,67,135,112,232,208,33,20,10,121,20,139,5,71,129,82,45,186,80,40,132,
-238,238,110,36,147,73,168,234,66,10,116,62,159,199,228,228,4,82,169,52,
-116,189,132,98,177,132,201,201,9,188,244,210,75,78,170,56,176,144,57,73,
-110,202,229,124,52,171,38,98,51,172,178,122,137,76,36,49,42,130,75,117,
-43,137,196,2,129,0,218,219,219,145,201,100,112,224,192,1,220,119,223,125,
-206,241,138,229,0,21,226,157,155,155,195,19,79,60,129,239,125,239,123,139,
-82,228,197,152,23,165,199,83,166,161,159,170,26,28,239,98,48,129,173,49,
-80,26,60,41,30,145,116,102,139,67,152,153,153,193,77,93,99,184,255,182,
-48,18,243,10,78,93,92,248,95,182,32,225,135,63,187,138,15,60,114,23,6,122,
-128,1,229,0,94,189,182,3,54,148,170,196,69,174,195,187,239,184,27,239,120,
-240,29,136,132,66,56,250,242,203,72,38,147,232,238,238,198,137,87,95,197,
-79,127,250,44,82,169,249,69,169,204,101,139,40,203,232,232,232,68,42,53,
-239,84,20,15,4,2,142,75,241,245,215,95,199,169,83,39,145,72,36,202,136,
-165,85,104,53,177,53,131,200,220,36,70,37,167,104,60,94,159,17,137,68,144,
-205,102,113,224,192,1,220,115,207,61,232,232,232,104,234,60,139,85,53,174,
-94,189,138,63,253,211,63,197,201,147,39,203,170,106,16,113,185,211,227,
-233,192,50,87,213,96,48,129,173,67,140,140,140,32,22,139,149,145,151,104,
-61,1,192,172,190,13,249,212,21,12,119,205,224,93,119,107,56,63,22,192,249,
-177,133,88,71,58,31,192,115,7,223,192,7,222,255,11,24,232,72,161,75,122,
-17,199,199,182,2,168,172,68,117,93,199,212,212,20,126,243,19,191,9,89,9,
-32,155,201,64,85,20,32,16,192,75,47,31,193,129,131,7,48,55,55,187,80,134,
-170,6,2,129,0,162,209,40,230,231,231,175,19,152,132,64,64,70,62,159,199,
-133,11,231,33,203,10,44,107,117,29,184,93,110,82,107,230,161,103,58,232,
-76,215,71,73,29,34,225,25,134,129,112,56,140,76,38,131,99,199,142,225,238,
-187,239,70,91,91,91,83,44,49,74,145,159,157,157,197,225,195,135,241,249,
-207,127,30,115,115,115,101,214,20,37,106,84,114,25,114,138,60,131,9,108,
-157,33,28,14,99,235,214,173,8,133,66,139,200,203,109,61,233,186,129,107,
-217,109,80,244,243,24,232,200,224,61,247,133,112,252,92,0,163,83,11,36,
-54,155,150,113,248,200,105,188,255,131,31,193,198,182,49,196,236,19,56,
-51,181,29,64,192,211,157,88,40,20,240,91,31,255,45,108,222,182,25,185,116,
-26,217,116,26,182,36,193,150,36,24,166,137,23,15,29,170,217,3,76,116,7,
-90,150,133,182,182,54,228,243,121,103,135,61,57,57,177,200,237,181,154,
-177,28,100,230,151,200,106,89,99,94,36,70,68,102,89,150,83,138,42,20,10,
-33,153,76,226,204,153,51,216,191,127,63,218,218,218,150,100,137,81,227,
-201,153,153,25,60,249,228,147,248,198,55,190,225,156,87,243,74,145,231,
-170,26,12,38,176,27,0,237,237,237,184,233,166,155,28,69,36,18,150,219,2,
-123,147,200,2,56,63,123,19,186,149,51,216,16,47,226,189,111,213,112,240,
-100,0,83,115,11,36,54,49,27,192,169,147,199,240,222,15,252,123,108,140,
-158,134,157,61,135,139,201,173,0,164,69,132,168,6,85,124,248,35,31,134,
-105,232,200,164,82,11,101,162,0,216,146,132,47,124,254,243,232,232,232,
-240,77,94,4,219,182,209,214,214,6,85,213,144,78,47,180,206,232,234,234,
-134,15,35,110,221,147,89,51,14,60,139,37,167,220,69,129,41,54,73,175,157,
-155,155,195,149,43,87,176,127,255,126,68,34,145,134,44,177,82,169,180,208,
-19,46,145,192,231,62,247,57,28,60,120,208,177,184,197,68,12,174,170,193,
-96,2,187,129,208,221,221,141,161,161,161,170,46,67,247,239,244,183,13,25,
-111,36,182,99,48,244,42,122,226,38,30,121,107,24,63,121,25,72,102,22,72,
-236,202,164,132,177,75,199,240,174,247,253,47,216,18,123,9,211,19,163,24,
-77,13,149,125,206,252,252,60,254,219,31,252,55,116,116,199,145,73,165,22,
-44,168,235,228,245,204,245,86,23,181,92,135,148,132,225,181,99,39,171,75,
-108,249,190,150,209,76,50,243,67,100,213,172,49,177,116,148,155,196,0,56,
-235,38,73,18,38,39,39,49,61,61,141,91,110,185,165,174,54,44,228,50,156,
-153,153,193,137,19,39,240,233,79,127,26,163,163,163,85,83,228,221,85,53,
-168,115,50,167,200,51,152,192,214,17,250,251,251,209,215,215,215,16,121,
-57,10,6,10,206,78,111,197,230,232,43,216,208,97,227,145,183,132,241,253,
-67,22,178,215,141,161,215,174,216,200,207,157,192,219,222,253,235,184,165,
-227,89,92,28,77,97,182,184,209,177,146,246,237,217,135,7,222,249,0,242,
-185,44,178,169,20,44,219,118,220,135,223,250,214,183,16,10,133,124,91,93,
-149,96,219,246,186,32,175,229,34,179,70,173,177,122,73,236,234,213,171,
-200,231,243,216,177,99,135,47,18,179,44,11,243,243,243,72,38,147,248,254,
-247,191,143,175,124,229,43,101,110,97,175,20,121,175,244,248,74,241,46,
-118,25,50,152,192,214,40,134,135,135,209,213,213,85,53,222,181,56,246,229,
-157,73,88,40,73,56,51,177,25,219,226,199,209,219,25,192,187,239,141,226,
-95,126,102,162,120,157,231,78,156,3,34,230,171,184,243,129,255,128,125,
-221,63,194,137,115,6,178,102,31,166,166,166,240,7,191,251,7,208,66,42,50,
-169,212,66,161,222,235,214,215,95,124,225,11,104,107,107,171,219,234,186,
-81,177,84,34,107,196,26,243,58,236,76,175,19,227,98,212,48,50,16,8,224,
-252,249,243,48,12,3,219,183,111,47,123,159,123,195,65,41,242,137,68,2,143,
-61,246,24,158,126,250,105,216,182,189,168,119,151,159,170,26,68,90,92,85,
-131,193,4,182,14,80,41,211,208,175,213,229,69,104,186,21,194,153,137,141,
-216,217,125,28,253,221,50,30,184,35,138,167,126,166,195,48,23,206,15,29,
-125,93,193,80,244,52,118,221,253,107,184,99,195,247,241,226,25,21,191,250,
-111,126,7,187,247,239,70,38,149,66,38,157,94,40,79,37,73,40,233,58,142,
-30,61,90,49,113,99,173,182,178,95,235,68,86,205,26,35,50,162,24,152,104,
-141,145,149,70,36,246,218,107,175,33,22,139,97,211,166,77,139,42,216,91,
-150,229,84,145,191,112,225,2,62,251,217,207,226,245,215,95,119,8,201,171,
-16,111,173,170,26,28,239,98,48,129,173,35,242,18,3,233,75,33,47,55,74,86,
-20,175,77,244,225,150,238,19,24,234,147,113,207,173,49,60,245,51,3,150,
-13,24,166,137,151,222,136,96,71,247,25,108,191,253,127,194,107,175,79,224,
-145,95,254,109,216,182,137,76,58,13,195,48,28,215,225,163,159,252,36,218,
-219,219,217,234,90,97,34,171,215,26,171,135,196,142,31,63,142,13,27,54,
-96,104,104,200,233,37,70,141,39,103,102,102,240,211,159,254,20,143,63,254,
-56,146,201,164,67,94,238,134,147,92,85,131,193,184,129,8,172,94,242,170,
-86,77,222,11,186,174,35,91,138,226,245,107,29,216,221,123,26,91,6,21,236,
-217,30,199,247,14,148,96,3,40,20,138,56,122,33,142,144,117,14,191,240,43,
-223,64,79,95,55,50,233,52,10,185,220,130,235,48,16,192,207,127,254,115,
-100,50,153,69,53,244,216,234,106,61,145,213,115,200,153,158,163,117,35,
-185,113,147,24,197,196,136,196,54,109,218,132,190,190,62,152,166,137,68,
-34,129,100,50,137,175,127,253,235,248,206,119,190,3,211,52,23,145,23,89,
-92,228,46,164,7,87,213,96,48,129,221,32,228,85,45,77,190,150,213,85,173,
-182,33,33,171,119,224,74,34,134,155,55,156,193,142,77,10,182,12,197,241,
-195,195,37,188,125,215,44,126,243,23,199,48,58,219,141,173,123,222,3,45,
-20,93,72,220,0,32,201,50,108,73,194,215,190,250,213,178,93,50,91,93,171,
-131,200,234,41,57,69,103,196,188,72,140,42,217,83,86,224,145,35,71,176,
-109,219,54,20,139,69,140,143,143,227,139,95,252,34,78,159,62,237,124,150,
-104,117,137,93,147,221,86,23,187,12,25,76,96,55,8,121,213,34,44,191,46,
-67,175,255,5,131,65,200,178,140,180,222,131,241,89,5,59,122,222,192,173,
-35,50,186,59,100,60,114,251,36,110,185,73,197,214,129,44,230,46,127,27,
-103,207,77,66,139,239,68,80,11,193,150,36,60,254,216,99,101,138,135,173,
-174,213,67,100,245,184,20,197,131,206,149,72,12,88,72,214,144,36,9,135,
-15,31,70,60,30,199,223,252,205,223,32,157,78,59,101,192,232,112,50,85,214,
-32,203,43,20,10,149,149,139,98,151,33,131,9,108,157,18,216,114,146,151,
-219,34,35,165,72,53,232,138,129,155,48,61,171,99,168,237,13,152,197,89,
-108,27,10,34,24,212,16,141,104,216,208,169,160,39,116,30,137,75,223,195,
-229,9,3,221,131,187,240,163,103,158,130,172,132,217,234,106,17,145,53,66,
-98,126,93,138,181,72,76,85,85,199,26,147,101,25,151,47,95,134,162,40,40,
-22,139,14,25,17,113,145,60,185,45,49,247,185,46,118,25,50,110,84,72,31,
-253,232,71,237,245,54,168,225,225,225,178,106,224,245,212,10,75,13,0,0,
-32,0,73,68,65,84,158,247,170,69,94,94,196,69,143,72,36,226,252,62,144,251,
-12,246,109,73,162,61,22,66,52,162,33,168,134,32,201,97,72,176,145,207,231,
-49,157,52,113,101,42,132,174,104,22,143,253,228,65,152,54,239,154,91,137,
-112,56,92,247,123,42,145,159,251,249,98,177,88,86,252,151,98,96,180,65,
-161,131,230,36,79,169,84,10,147,147,147,78,60,141,10,244,146,53,70,110,
-69,58,215,199,86,23,131,225,46,210,183,14,208,223,223,223,114,242,138,68,
-34,136,199,227,136,199,227,14,129,201,197,215,48,220,149,64,44,26,132,97,
-42,144,229,32,100,57,8,203,14,32,147,43,65,150,129,238,120,0,90,160,128,
-225,225,45,248,15,111,125,22,1,176,245,213,74,228,243,249,186,221,181,126,
-100,3,0,52,77,115,158,83,20,197,73,242,32,2,162,131,234,225,112,24,178,
-44,163,179,179,19,253,253,253,142,187,48,18,137,44,170,170,193,228,197,
-96,148,99,93,149,105,232,238,238,94,212,14,165,217,228,229,182,186,34,145,
-136,67,90,4,219,42,97,163,253,15,184,105,80,65,80,85,160,170,65,200,202,
-194,67,50,13,64,181,161,235,128,101,2,111,140,154,216,117,179,132,187,246,
-111,70,190,244,60,254,159,195,239,88,143,251,138,85,79,100,245,88,99,186,
-174,123,90,98,238,231,53,77,3,240,102,38,162,219,125,73,132,20,137,68,96,
-219,182,67,88,201,100,114,193,61,114,221,234,34,235,141,137,139,193,88,
-167,22,88,123,123,59,6,6,6,90,70,94,162,213,229,86,102,109,217,111,97,251,
-96,26,186,165,66,150,23,172,47,72,65,232,6,96,154,58,44,11,208,45,9,175,
-95,181,241,202,27,10,254,243,231,175,32,95,4,222,118,123,59,62,180,239,
-231,0,108,150,204,21,32,177,229,176,196,0,56,241,41,178,196,68,107,138,
-126,82,101,141,254,254,126,116,117,117,85,204,52,100,242,98,48,214,25,129,
-133,195,97,108,218,180,169,233,228,69,9,32,238,24,87,60,30,71,79,79,15,
-34,145,200,162,247,72,249,179,216,30,127,9,61,29,65,216,80,160,40,65,200,
-138,130,128,28,196,236,124,17,166,9,24,166,141,66,17,120,229,117,224,135,
-175,132,112,232,108,4,191,255,87,151,97,216,109,120,247,157,38,238,31,57,
-204,146,185,66,36,86,15,145,185,19,132,252,144,24,0,79,18,163,231,130,193,
-32,6,7,7,209,214,214,182,40,81,67,36,46,38,47,6,99,157,16,216,114,145,151,
-8,183,213,229,5,219,44,162,167,244,15,216,182,73,129,18,12,34,30,11,58,
-177,175,128,100,162,179,13,48,109,27,134,37,225,226,184,133,209,132,4,195,
-92,112,15,253,248,88,20,159,122,226,34,44,185,19,255,250,129,52,110,237,
-59,206,210,185,134,173,177,74,36,70,110,69,93,215,43,146,152,162,40,24,
-28,28,100,226,98,48,214,59,129,141,140,140,56,46,188,102,147,151,151,229,
-229,101,117,17,180,212,183,176,107,56,5,221,12,2,210,130,235,80,10,4,81,
-50,149,235,37,131,36,232,186,132,82,201,198,120,194,194,191,123,111,8,237,
-209,55,223,255,143,47,180,227,111,191,57,138,64,48,142,143,63,60,129,77,
-177,179,44,161,235,140,196,116,93,119,170,104,136,86,25,101,39,234,186,
-14,73,146,160,105,26,134,135,135,203,202,71,49,24,140,117,68,96,195,195,
-195,158,103,189,154,69,94,244,147,92,134,213,206,15,217,217,51,216,214,
-126,24,253,61,65,104,90,16,74,48,8,89,94,112,33,166,179,69,24,38,96,88,
-128,97,74,120,241,12,208,174,101,17,106,223,138,191,251,125,5,33,65,55,
-61,241,221,78,252,127,79,79,64,86,219,241,95,62,112,17,221,218,69,150,210,
-21,36,177,122,93,138,245,62,71,86,153,120,88,153,218,165,116,116,116,96,
-112,112,144,23,130,193,88,111,4,214,222,222,94,150,46,239,86,14,205,36,
-175,74,46,67,135,188,204,2,98,185,255,23,219,134,22,172,174,176,166,32,
-168,4,161,40,65,72,1,9,241,104,0,150,105,95,143,127,89,200,100,37,252,236,
-202,189,72,165,11,104,239,218,129,47,255,111,42,148,235,158,34,203,182,
-241,231,223,236,198,143,15,78,34,28,137,225,127,255,240,105,196,213,49,
-150,212,53,98,141,53,66,98,94,50,75,136,68,34,136,197,98,188,8,12,198,122,
-34,176,106,113,175,90,173,219,253,144,87,173,120,87,25,129,77,63,137,61,
-155,82,8,40,65,228,74,170,147,50,175,155,65,148,12,19,166,181,96,125,21,
-74,192,169,139,54,174,36,251,48,150,236,199,63,62,167,160,144,186,136,205,
-253,50,254,226,183,52,80,3,102,221,176,241,201,255,171,15,7,94,73,160,189,
-61,142,63,248,224,49,180,41,211,44,173,55,16,137,209,79,73,146,208,223,
-223,207,11,192,96,172,23,2,219,185,115,167,111,210,170,167,69,138,72,94,
-68,96,181,144,155,57,138,45,109,71,49,220,23,68,72,83,16,139,202,78,226,
-134,13,27,166,1,152,38,96,26,64,34,105,227,90,34,128,243,179,219,0,0,87,
-231,135,240,221,35,61,152,45,108,192,205,91,34,248,163,95,127,243,88,94,
-190,104,225,119,159,232,195,43,167,166,209,211,221,137,223,127,255,139,
-8,203,73,150,216,117,70,98,213,222,171,235,186,211,162,101,100,100,132,
-23,128,193,88,235,4,54,60,60,220,112,210,134,95,183,161,95,242,74,38,103,
-209,94,120,10,187,110,146,17,144,131,80,213,224,245,67,203,11,177,47,69,
-182,1,9,48,45,27,150,13,140,78,219,184,50,215,11,11,111,198,210,206,78,
-108,194,143,15,23,144,205,101,113,239,110,5,255,229,95,191,73,98,169,172,
-133,255,252,223,123,113,230,141,73,12,14,108,192,127,125,228,231,208,2,
-25,150,218,117,68,98,181,100,87,204,86,220,184,113,35,47,0,131,177,86,9,
-172,82,220,171,81,242,114,195,111,204,11,0,230,231,231,17,72,253,24,123,
-55,205,33,26,86,49,153,124,51,101,222,176,130,72,229,108,152,102,0,166,
-9,228,139,192,92,202,198,228,172,132,75,243,219,22,125,214,171,215,182,
-227,133,147,17,164,242,26,222,119,111,30,255,254,189,111,146,216,76,10,
-248,95,255,186,7,231,46,93,195,200,150,94,252,246,187,159,71,80,226,106,
-245,107,133,196,234,245,10,84,146,83,219,182,17,137,68,60,27,158,50,24,
-76,96,107,0,213,42,109,52,66,94,238,67,202,245,144,87,122,110,20,195,161,
-23,49,50,164,64,85,101,12,245,189,89,46,74,13,42,144,96,195,180,22,18,55,
-44,19,56,115,217,198,229,217,30,152,182,119,38,227,225,203,187,241,243,
-99,41,164,114,5,252,155,119,230,240,129,183,191,121,254,103,42,25,192,127,
-250,98,28,163,163,163,184,121,91,55,254,211,59,159,135,44,149,88,122,215,
-0,137,53,226,218,246,146,109,114,37,246,244,244,240,228,51,24,107,141,192,
-106,185,14,151,178,11,174,199,109,56,63,63,143,249,249,121,116,219,63,198,
-237,219,13,72,129,133,108,195,160,162,92,47,27,165,2,54,32,75,11,21,55,
-12,211,70,42,107,99,122,46,128,171,233,237,85,63,251,165,177,251,112,252,
-98,15,178,249,60,126,227,3,73,188,227,246,55,73,108,52,161,226,227,95,140,
-99,114,114,2,251,118,182,227,99,111,125,30,18,23,255,93,211,36,86,207,123,
-117,93,119,90,173,176,43,145,193,88,67,4,38,186,14,155,29,247,106,132,188,
-228,210,5,236,25,56,143,238,142,32,146,89,13,182,180,96,121,33,16,196,76,
-42,0,195,180,97,90,64,81,151,80,44,2,175,95,182,49,58,215,85,209,250,122,
-19,18,126,252,218,109,56,126,49,130,201,84,55,126,247,95,205,227,246,29,
-146,243,223,115,227,26,126,235,75,109,152,155,157,194,221,187,195,248,213,
-187,95,0,96,177,20,175,81,18,171,55,30,102,24,6,44,203,66,52,26,101,87,
-34,131,177,86,8,76,116,29,86,83,2,75,73,218,168,213,228,144,200,171,84,
-42,98,72,253,41,110,221,26,128,162,40,232,239,146,161,169,11,177,175,96,
-48,140,104,72,130,97,1,166,105,3,166,133,201,25,27,215,230,100,92,205,111,
-247,53,86,203,150,241,211,115,111,197,232,68,14,197,98,22,127,242,209,36,
-118,110,122,147,196,78,92,12,225,191,254,247,8,50,233,89,220,191,95,198,
-47,221,250,2,184,248,239,250,39,49,130,44,203,48,77,19,27,54,108,224,137,
-103,48,129,173,246,11,172,230,58,108,148,188,8,98,59,20,63,228,165,235,
-58,218,205,151,113,223,206,164,211,34,69,9,42,144,21,5,114,80,131,101,3,
-1,201,134,121,221,117,104,218,54,206,143,3,23,103,251,97,89,254,187,0,27,
-86,16,63,56,123,15,206,77,196,145,203,23,240,185,95,79,98,72,208,87,7,207,
-68,240,201,39,84,20,242,25,60,114,175,141,129,200,121,150,228,117,78,98,
-238,120,152,162,40,24,26,26,226,137,103,48,129,173,86,132,195,225,170,174,
-195,70,81,143,235,80,36,47,75,159,199,238,158,163,24,216,160,160,100,168,
-144,3,193,235,173,82,84,232,102,8,150,9,232,166,13,93,183,145,205,3,19,
-9,27,19,179,10,166,10,245,159,225,41,153,33,252,224,204,189,184,50,29,129,
-109,38,241,165,223,152,67,119,252,77,75,235,71,199,218,240,127,124,13,120,
-35,177,25,111,123,247,191,67,46,151,99,105,246,154,199,82,169,226,99,165,
-72,172,81,144,236,155,166,9,211,52,17,137,68,26,234,42,189,220,115,203,
-96,48,129,161,188,218,70,181,93,235,82,92,135,181,200,43,151,203,57,4,218,
-23,120,30,247,238,46,45,244,104,82,20,4,20,178,194,194,152,75,153,48,12,
-192,52,108,88,38,96,89,54,78,158,151,112,62,185,165,113,133,104,68,241,
-163,215,238,195,133,113,9,138,157,192,151,62,145,68,68,123,51,230,149,10,
-188,5,237,59,255,16,123,111,221,139,155,134,57,59,77,84,162,116,118,138,
-44,108,241,81,73,1,183,138,196,154,225,74,164,172,196,86,37,116,248,153,
-219,229,156,87,6,99,77,17,88,119,119,247,138,186,14,115,185,156,243,208,
-117,29,178,126,9,247,223,124,17,161,208,2,105,181,69,22,234,29,202,74,24,
-146,172,160,51,38,57,105,243,166,101,99,106,214,194,120,50,132,148,222,
-183,164,121,72,151,226,120,246,210,187,113,126,92,65,84,73,224,79,63,54,
-143,160,108,99,219,166,118,252,207,239,191,5,249,212,85,152,122,22,31,253,
-181,143,32,157,154,191,33,133,216,173,80,53,77,115,172,20,175,7,21,207,
-165,135,91,241,182,2,75,117,37,26,134,1,73,146,32,203,50,186,187,187,87,
-197,220,174,134,121,101,220,88,144,247,239,223,255,71,171,213,250,178,172,
-5,107,163,210,79,247,239,94,127,187,211,229,137,188,98,177,88,89,175,37,
-55,121,137,214,87,62,159,195,254,238,159,224,190,93,69,152,8,67,146,84,
-132,67,26,20,53,4,221,142,2,166,13,211,180,80,42,217,40,150,108,88,166,
-141,131,39,3,56,149,216,5,211,94,122,27,140,188,17,193,120,50,142,238,208,
-101,108,217,144,195,182,205,29,120,248,129,45,136,134,223,140,171,133,35,
-49,152,166,141,203,163,83,101,109,58,214,51,220,238,179,64,32,224,40,117,
-96,161,142,96,181,135,97,24,176,109,219,233,124,92,42,149,16,8,4,28,133,
-92,73,62,106,193,48,140,154,73,65,36,171,238,239,168,246,183,216,224,146,
-200,197,52,77,180,181,181,97,102,102,102,213,204,237,114,205,43,131,177,
-104,131,181,26,47,138,18,55,188,98,95,141,86,219,240,155,117,232,38,47,
-0,232,213,206,224,193,125,179,144,21,13,65,69,65,80,13,66,150,85,200,74,
-24,249,34,96,97,129,180,116,203,194,92,218,198,108,210,194,149,217,14,148,
-172,104,211,230,36,169,111,198,51,103,238,195,182,153,89,236,216,190,17,
-133,204,40,222,204,62,180,1,216,120,239,187,239,193,207,14,190,2,40,109,
-55,4,121,209,250,16,97,155,166,89,87,223,44,203,178,156,247,234,186,238,
-88,228,197,98,209,177,28,26,237,195,149,207,231,27,138,79,209,225,122,175,
-191,233,119,241,167,162,40,144,36,9,195,195,195,184,122,245,234,170,152,
-219,229,156,87,6,99,213,19,152,159,196,141,70,93,135,213,98,95,94,228,165,
-23,146,184,127,247,241,235,69,122,21,4,131,11,109,223,229,96,4,82,32,132,
-80,208,68,169,8,24,134,4,203,180,17,11,155,120,225,120,0,87,179,59,154,
-62,47,41,107,7,158,127,99,30,87,231,103,241,11,119,247,163,148,155,6,32,
-149,189,230,215,126,229,221,248,218,255,248,33,162,209,245,75,98,164,96,
-131,193,32,76,211,68,48,24,116,172,25,89,150,157,164,27,96,161,4,83,45,
-23,30,253,46,186,185,114,185,28,134,135,135,151,102,57,251,32,49,55,97,
-213,34,49,247,115,134,97,64,150,229,154,241,220,86,205,109,43,230,149,193,
-88,181,4,54,50,50,226,187,252,78,45,197,80,201,250,170,68,94,98,194,6,41,
-160,157,29,71,176,239,166,34,44,132,49,155,9,98,176,87,129,18,12,195,176,
-67,40,21,109,72,182,13,211,178,80,40,45,164,206,191,113,85,194,249,68,63,
-236,101,154,218,182,88,28,19,153,54,60,241,207,23,240,175,222,21,71,123,
-49,137,130,20,184,78,100,18,182,12,14,97,160,55,138,84,246,198,35,175,75,
-151,46,33,151,203,57,221,141,189,32,42,93,183,75,218,182,109,88,150,133,
-112,56,236,100,117,182,194,90,240,34,168,122,94,75,238,185,145,145,17,92,
-184,112,97,69,230,118,53,206,43,131,9,172,229,202,201,221,97,121,169,174,
-67,183,245,229,165,40,196,132,13,186,193,242,249,60,98,193,4,30,222,251,
-198,66,145,222,160,130,112,36,8,89,209,32,203,33,4,2,10,242,69,19,182,101,
-195,48,128,98,9,176,76,27,175,94,84,144,40,109,89,214,121,146,101,25,145,
-206,237,248,251,31,78,226,158,155,243,184,243,230,44,138,185,9,64,146,32,
-1,248,183,31,186,27,127,246,165,239,161,171,107,125,29,118,37,107,70,220,
-144,144,101,32,203,178,99,65,55,101,163,208,214,230,196,107,214,138,43,
-81,150,101,132,195,225,134,210,249,91,53,183,75,153,87,63,137,32,76,138,
-55,22,86,85,180,191,90,197,13,63,150,86,45,235,203,139,192,42,145,23,0,
-188,117,203,75,216,208,1,72,129,5,183,161,166,5,33,7,195,8,40,33,216,215,
-15,45,91,198,66,2,135,28,48,241,250,21,224,194,18,210,230,235,69,71,87,
-31,142,95,217,132,255,241,76,26,249,92,22,165,220,52,10,217,107,8,74,73,
-220,183,111,208,137,57,172,75,193,21,18,85,72,201,74,146,212,148,207,38,
-37,216,44,183,92,179,82,235,171,65,146,36,152,166,217,148,230,151,94,115,
-219,140,196,160,70,230,181,82,218,126,173,140,71,206,122,100,2,91,17,235,
-203,203,234,242,211,110,162,17,235,203,157,42,47,42,155,141,177,203,184,
-99,100,18,166,29,196,233,43,26,36,73,129,172,68,160,155,97,140,38,0,221,
-176,96,232,54,242,215,51,15,117,221,194,43,23,67,72,27,173,61,143,21,10,
-133,96,135,111,197,223,125,187,132,115,151,102,80,202,207,162,152,157,192,
-225,35,199,112,244,200,139,235,90,120,101,89,134,170,170,206,163,89,4,70,
-160,172,185,86,145,88,61,36,87,169,66,135,166,105,77,57,220,76,196,165,
-170,106,83,55,7,238,121,173,68,52,225,112,216,33,45,241,61,129,64,160,236,
-225,149,194,239,38,51,198,250,197,170,113,33,46,135,245,85,137,192,200,
-69,233,142,123,137,74,166,43,60,129,72,72,70,80,13,98,239,118,25,65,53,
-132,64,48,4,57,16,70,91,88,135,105,90,48,204,133,236,195,66,17,56,123,89,
-194,165,244,206,21,155,191,142,158,17,60,125,52,133,151,79,191,134,87,78,
-62,143,23,143,141,67,81,100,108,222,50,142,193,193,193,53,47,168,162,82,
-166,24,13,41,54,209,10,105,6,68,37,40,42,195,149,136,133,213,19,31,35,43,
-108,96,96,160,174,88,152,123,110,169,222,34,145,87,179,44,48,113,94,35,
-145,72,69,15,129,87,22,36,197,216,232,218,40,21,159,226,108,129,64,192,
-121,15,125,15,103,61,50,129,181,212,250,170,55,246,85,139,188,220,86,151,
-248,153,34,113,121,125,110,46,111,225,192,73,25,55,223,36,99,243,70,13,
-178,18,129,44,135,96,89,38,84,25,208,75,54,76,195,130,109,89,208,13,11,
-47,157,139,67,183,194,43,58,143,109,109,237,72,235,187,48,155,154,128,36,
-1,134,97,226,228,137,151,49,56,248,75,235,78,112,69,229,218,76,37,235,70,
-53,69,219,136,21,214,72,86,98,165,255,87,138,133,169,170,218,112,44,76,
-156,223,149,210,5,213,178,32,211,233,52,210,233,116,217,198,130,32,18,22,
-33,147,201,96,231,206,157,76,98,76,96,171,223,250,170,4,55,137,17,121,121,
-185,14,9,23,51,247,32,166,206,99,246,100,14,51,57,25,55,111,85,209,163,
-5,97,88,38,76,211,70,161,4,164,179,18,130,146,141,211,151,101,140,229,119,
-172,138,5,13,6,131,120,235,253,239,65,111,223,41,188,122,242,4,198,39,102,
-113,252,216,43,216,183,255,54,150,246,6,92,93,244,115,37,15,223,182,194,
-10,171,69,102,205,118,33,138,243,74,228,82,141,188,174,92,185,130,177,177,
-177,58,55,116,109,104,107,107,238,113,146,90,46,73,38,201,27,144,192,150,
-195,250,170,244,26,209,125,88,137,188,0,192,178,3,56,150,248,5,108,237,
-185,128,240,212,4,146,121,27,91,6,138,24,236,9,64,178,45,152,166,5,189,
-100,34,93,4,14,95,232,131,97,218,176,109,163,204,221,81,246,121,214,226,
-190,93,94,175,35,69,33,42,12,175,231,42,189,134,176,109,199,46,244,246,
-15,225,216,145,159,225,141,55,94,195,142,157,55,175,104,225,215,86,96,255,
-254,253,101,187,245,64,32,0,219,182,161,40,138,51,255,135,14,29,170,89,
-181,130,148,144,170,170,77,139,129,181,210,10,35,55,96,51,177,111,223,62,
-231,128,50,205,175,162,40,78,138,124,35,243,42,90,183,138,162,148,141,139,
-198,160,170,42,44,203,242,77,224,149,8,115,169,217,164,138,162,148,253,
-116,127,182,120,60,128,201,236,6,34,176,70,14,53,250,77,155,23,127,138,
-164,40,190,191,146,155,197,182,109,216,54,240,218,228,22,156,159,218,136,
-187,70,198,160,155,243,184,54,29,64,95,167,141,158,152,141,80,208,194,203,
-175,201,120,99,162,13,182,61,47,188,207,94,244,187,23,113,217,182,237,16,
-15,61,231,181,211,21,95,71,175,17,255,38,215,25,61,47,150,253,185,235,222,
-119,226,181,211,199,240,194,11,207,225,93,239,250,133,154,164,184,150,224,
-14,232,71,34,17,231,80,47,149,49,162,221,188,101,89,208,52,13,71,143,30,
-93,241,235,110,36,181,190,30,43,140,230,102,41,213,57,196,121,45,149,74,
-136,199,227,78,54,32,145,87,48,24,116,8,172,81,101,237,149,145,40,146,164,
-170,170,208,117,189,33,57,85,85,21,165,82,105,73,110,96,49,30,39,90,143,
-180,89,160,231,196,248,30,199,222,110,32,2,171,84,117,163,25,214,151,155,
-188,220,86,152,23,81,152,166,233,252,164,223,45,203,194,15,142,117,163,
-59,26,193,91,118,78,32,151,181,48,21,178,48,155,1,158,122,185,11,217,124,
-214,33,25,145,176,150,242,156,151,149,86,233,117,94,4,39,254,222,221,59,
-4,53,156,198,248,248,56,84,85,117,148,59,41,33,177,190,221,106,135,168,
-56,200,178,165,235,39,133,75,135,109,105,183,44,73,210,66,182,166,107,158,
-86,51,150,106,133,145,11,109,41,115,43,206,171,88,74,74,140,53,170,170,
-218,180,121,165,152,181,59,137,68,188,150,70,45,176,70,220,192,213,146,
-73,76,211,68,38,147,89,228,94,164,121,200,102,179,80,85,21,241,120,156,
-73,108,189,18,88,35,85,180,27,137,149,137,55,166,187,210,134,27,178,44,
-59,238,38,138,39,16,102,115,17,60,117,100,11,52,89,71,103,36,139,177,100,
-20,150,5,40,138,183,213,37,18,14,61,200,173,37,90,94,110,194,169,84,254,
-136,254,231,126,141,23,33,138,187,89,203,178,16,139,197,28,203,140,118,
-184,138,162,56,207,173,118,144,213,226,94,127,82,174,94,174,42,34,50,81,
-113,213,51,214,102,187,15,91,109,133,209,61,86,203,181,87,105,110,197,191,
-169,40,111,36,18,113,100,136,100,167,94,2,243,51,175,180,134,228,106,108,
-36,65,103,41,217,164,213,226,113,163,163,163,0,80,150,76,34,86,40,33,183,
-117,62,159,71,60,30,103,75,108,189,18,88,79,79,79,77,75,171,89,177,47,63,
-228,69,55,33,185,47,220,132,32,150,198,201,218,93,136,199,109,207,74,249,
-226,239,94,46,69,47,171,202,77,60,94,215,37,186,10,233,111,119,37,112,247,
-115,162,162,89,47,85,234,189,172,48,183,219,136,178,241,104,252,245,40,
-127,77,211,86,197,249,161,122,172,48,175,231,76,211,68,87,87,87,93,149,
-234,197,247,138,127,147,130,54,12,195,137,73,5,131,65,148,74,165,166,206,
-43,125,175,152,101,234,182,250,26,117,85,250,117,35,86,35,47,0,24,31,31,
-175,57,135,138,162,32,26,141,130,177,78,9,44,28,14,47,170,56,95,139,148,
-252,90,95,94,55,84,45,242,170,6,145,216,24,171,203,10,19,119,243,20,168,
-39,215,33,181,245,160,184,205,106,29,79,51,72,173,82,233,41,191,229,165,
-220,115,235,38,50,113,115,64,86,88,35,22,161,23,97,201,178,92,230,62,20,
-215,202,77,100,173,208,75,226,248,233,154,196,86,50,141,140,143,173,176,
-229,193,138,109,201,221,214,87,35,132,229,231,255,213,98,94,140,181,13,
-49,62,33,86,101,48,12,195,137,133,137,86,232,90,148,129,165,222,3,166,105,
-162,167,167,190,234,48,180,177,52,77,211,185,119,104,62,105,126,169,199,
-87,61,27,203,90,155,204,85,167,28,175,187,218,41,110,28,12,6,17,10,133,
-124,109,120,155,93,142,140,177,202,8,44,30,143,151,9,127,181,214,41,141,
-222,36,94,239,109,70,73,31,198,202,90,45,94,235,235,213,33,184,84,42,57,
-202,182,86,123,149,213,52,158,70,73,205,235,94,146,36,201,119,50,7,93,139,
-219,13,233,69,100,148,157,72,207,53,115,94,105,195,225,229,5,169,7,109,
-109,109,104,111,111,111,232,26,68,130,37,43,138,226,198,245,90,96,203,25,
-75,189,209,177,34,46,68,63,201,27,205,136,125,49,121,173,111,18,19,99,21,
-186,174,59,177,48,138,205,132,195,97,24,134,225,40,157,181,26,3,108,36,
-22,230,86,254,126,146,57,104,110,197,121,165,121,35,37,76,253,199,40,22,
-86,175,66,119,67,116,203,185,221,151,68,150,178,44,163,179,179,19,187,119,
-239,246,204,6,164,99,18,150,101,65,215,117,39,115,152,42,223,187,221,160,
-149,224,118,231,186,179,32,41,115,215,15,1,107,154,182,136,116,217,141,
-184,78,8,140,82,231,43,237,28,151,219,237,194,88,63,68,70,74,71,84,126,
-186,174,59,169,216,148,61,71,129,248,213,62,142,102,145,157,219,138,234,
-233,233,241,157,204,225,38,49,218,28,200,178,236,148,171,18,227,140,141,
-204,43,173,145,23,9,139,223,71,215,223,219,219,139,158,158,30,231,123,137,
-192,74,165,18,138,197,162,227,218,36,55,167,120,12,6,88,40,220,93,79,12,
-203,93,11,146,14,198,215,243,25,244,221,205,44,71,198,88,5,4,230,174,188,
-209,10,66,98,235,107,253,194,173,252,196,157,61,37,29,172,101,11,172,17,
-171,203,253,186,122,199,238,38,85,178,194,90,53,175,94,199,35,68,162,164,
-223,197,184,156,97,24,139,220,201,116,109,126,137,135,230,84,124,61,205,
-159,223,100,18,113,62,86,75,57,178,245,138,150,223,209,126,250,21,53,203,
-125,200,228,117,99,88,97,162,92,144,242,160,24,13,253,92,75,227,88,142,
-123,34,16,8,52,212,43,204,189,209,92,238,121,117,39,143,136,137,57,148,
-85,74,150,21,185,10,197,18,87,238,234,44,75,181,186,201,114,167,212,120,
-191,46,64,177,205,15,99,29,17,24,89,95,238,27,111,57,146,55,152,188,110,
-44,43,204,143,60,173,182,36,142,102,140,185,214,92,144,165,66,137,83,141,
-40,113,119,223,177,229,158,215,82,169,84,70,100,133,66,1,166,105,34,159,
-207,151,245,241,115,187,12,201,218,17,45,30,250,233,135,76,220,205,112,
-169,76,150,251,188,167,31,172,39,89,99,2,19,8,108,41,196,196,241,45,70,
-163,10,113,189,91,97,181,222,87,175,11,203,125,61,75,237,26,93,9,84,8,87,
-36,75,49,254,229,231,65,132,71,63,41,94,71,133,118,107,145,151,59,6,41,
-90,94,68,98,193,96,208,23,9,138,201,27,110,55,40,55,216,108,46,90,26,3,
-107,70,246,97,163,55,160,95,193,89,107,38,127,61,55,196,90,26,155,159,113,
-137,227,17,43,39,172,213,93,113,169,84,170,73,50,116,253,94,107,217,204,
-108,68,63,247,169,87,169,166,165,144,152,152,220,69,238,67,183,5,229,94,
-95,247,161,118,250,191,72,94,245,130,202,201,209,153,47,177,18,135,95,11,
-76,211,52,71,255,80,177,223,98,177,216,242,56,216,122,213,15,43,66,96,245,
-102,31,46,133,204,168,157,56,89,124,94,109,16,68,129,245,106,135,176,218,
-22,89,188,54,175,113,121,41,239,90,99,91,45,66,75,215,86,107,189,220,227,
-33,151,52,145,23,197,61,104,23,76,241,145,213,120,115,122,141,153,148,102,
-165,181,164,146,78,244,94,170,60,226,38,19,175,108,68,114,35,54,131,192,
-150,10,178,146,196,113,186,211,232,221,99,161,49,187,73,196,77,252,75,137,
-123,185,191,155,228,144,50,18,253,166,209,139,239,113,143,115,57,211,233,
-171,221,71,245,234,135,181,64,104,45,37,176,122,179,15,235,37,52,58,251,
-83,40,20,32,73,18,34,145,200,162,69,19,21,93,165,118,8,238,5,22,221,28,
-173,38,56,47,18,118,159,109,17,199,228,158,171,74,99,243,234,94,219,106,
-129,117,143,205,235,208,39,141,73,140,111,136,227,161,90,117,244,147,214,
-107,181,86,122,168,53,102,74,249,175,180,150,110,37,154,207,231,161,40,
-138,179,158,212,54,166,146,117,182,210,61,225,220,61,193,168,253,141,23,
-193,185,231,192,235,40,132,72,94,244,187,251,53,126,220,135,110,11,94,140,
-123,81,223,179,122,44,120,85,85,203,44,48,183,21,214,76,18,171,37,83,245,
-234,7,58,114,176,22,122,155,181,140,192,252,156,136,111,148,216,72,128,
-195,225,176,179,120,94,139,230,14,234,146,159,220,173,44,189,174,165,154,
-187,196,107,23,179,212,5,119,55,208,163,49,185,111,34,81,17,184,175,201,
-107,108,244,92,165,254,69,173,16,86,113,108,181,198,85,107,60,52,55,164,
-112,104,183,235,182,194,150,186,51,111,229,152,221,73,18,154,166,149,85,
-18,17,215,82,204,116,115,199,172,42,145,120,123,123,59,82,169,212,138,146,
-88,37,87,175,219,13,76,107,230,69,76,36,175,238,4,14,81,17,215,178,120,
-68,242,34,75,93,212,15,244,189,225,112,24,129,64,192,215,198,136,228,78,
-211,180,178,207,106,54,137,213,35,83,245,232,7,241,186,221,100,182,218,
-136,172,101,4,230,118,31,54,131,204,196,69,17,79,232,187,235,149,185,111,
-24,119,77,55,183,85,69,165,113,104,33,43,157,115,17,175,145,8,97,169,205,
-236,220,38,191,40,148,116,19,120,17,177,101,89,78,170,49,141,207,109,97,
-209,235,52,77,43,171,130,79,215,190,220,194,42,142,77,92,47,247,205,37,
-222,116,52,46,178,220,221,7,66,105,141,76,211,68,91,91,91,153,203,70,211,
-180,178,88,198,74,18,87,61,99,150,101,217,201,186,19,203,96,209,186,72,
-146,228,52,147,164,38,158,244,28,117,54,22,173,50,81,233,146,27,113,37,
-9,172,146,59,81,36,47,90,123,113,158,220,164,71,74,152,82,232,233,119,250,
-60,34,11,191,150,151,216,247,140,44,93,186,95,104,67,84,143,5,38,18,171,
-152,148,18,137,68,202,238,181,122,239,179,70,100,138,228,135,170,149,184,
-93,209,110,253,160,40,10,12,195,112,238,175,213,74,100,45,35,48,183,155,
-160,222,234,27,226,235,194,225,176,51,145,226,185,31,58,145,47,46,28,85,
-208,46,22,139,72,167,211,40,20,10,40,22,139,21,51,190,84,85,133,166,105,
-8,133,66,72,165,82,8,4,2,8,133,66,208,52,109,145,251,197,178,44,36,18,137,
-69,130,144,205,102,33,73,18,134,135,135,125,47,116,53,161,52,77,179,236,
-187,85,85,117,200,151,210,137,243,249,60,138,197,98,89,95,34,241,179,169,
-188,141,168,216,104,7,79,227,91,46,97,245,26,155,120,179,137,196,76,223,
-155,203,229,144,205,102,145,205,102,81,44,22,61,221,66,164,232,137,160,
-138,197,34,34,145,8,98,177,88,25,105,209,121,33,175,26,123,173,36,174,74,
-99,166,174,195,186,174,35,153,76,58,107,233,165,124,3,129,128,19,243,146,
-36,201,233,73,21,8,4,156,218,127,145,72,196,233,71,21,14,135,145,201,100,
-202,234,33,174,150,2,179,162,75,144,200,195,157,253,55,63,63,95,177,221,
-144,72,232,212,76,82,140,13,210,166,108,120,120,120,17,81,184,203,101,137,
-149,240,105,157,196,78,208,100,125,249,185,23,232,94,203,100,50,101,181,
-56,233,243,232,218,178,217,44,66,161,16,122,123,123,125,125,110,171,100,
-170,88,44,34,149,74,57,198,64,37,221,176,26,72,76,105,165,176,86,139,127,
-249,37,50,154,60,183,139,80,172,28,45,18,201,133,11,23,144,207,231,145,
-205,102,125,125,62,185,29,2,129,0,226,241,56,218,218,218,202,172,26,218,
-241,190,254,250,235,176,44,203,17,70,177,103,24,41,13,63,150,152,187,133,
-133,184,99,18,223,71,194,25,8,4,112,245,234,85,36,18,9,232,186,222,80,90,
-46,185,74,34,145,8,44,203,66,62,159,71,50,153,68,36,18,113,4,86,150,229,
-37,91,147,94,29,109,189,206,230,152,166,137,80,40,132,107,215,174,97,114,
-114,18,133,66,161,230,184,220,217,101,161,80,8,157,157,157,142,197,108,
-154,38,58,58,58,28,235,146,122,179,45,55,252,142,153,80,40,20,48,54,54,
-134,116,58,221,144,85,68,235,168,170,42,82,169,20,166,167,167,17,141,70,
-209,219,219,235,200,174,162,40,40,20,10,40,20,10,136,197,98,75,174,95,216,
-76,136,229,153,196,108,191,11,23,46,56,231,188,42,193,221,167,79,236,215,
-39,186,253,68,194,83,85,117,81,75,30,177,202,70,62,159,199,171,175,190,
-234,120,97,200,186,85,20,197,119,65,225,76,38,131,51,103,206,56,174,108,
-241,192,181,40,131,154,166,161,80,40,248,118,115,174,132,76,17,153,133,
-66,33,68,34,145,69,46,208,149,182,198,90,34,201,141,86,132,118,47,162,104,
-117,145,128,185,149,190,44,203,152,152,152,192,165,75,151,150,84,127,204,
-178,44,204,205,205,97,110,110,14,157,157,157,232,237,237,69,48,24,68,54,
-155,69,36,18,169,41,24,84,72,180,218,110,197,45,152,94,194,73,214,87,58,
-157,198,149,43,87,48,55,55,183,228,234,214,150,101,57,10,141,174,85,211,
-52,152,166,137,217,217,89,88,150,133,174,174,46,180,181,181,53,188,227,
-170,213,20,144,20,134,97,24,24,27,27,195,196,196,196,146,206,200,20,10,
-5,92,187,118,13,83,83,83,232,234,234,194,142,29,59,156,58,125,228,158,90,
-42,129,249,221,140,84,27,51,201,196,213,171,87,49,49,49,209,80,154,183,
-251,154,104,222,66,161,16,162,209,40,12,195,192,197,139,23,161,170,42,134,
-135,135,209,213,213,85,70,100,177,88,108,197,227,96,162,187,208,171,238,
-96,46,151,195,252,252,124,83,190,75,116,37,146,139,149,174,65,140,123,17,
-129,205,205,205,45,233,251,12,195,64,50,153,172,57,126,0,53,155,94,174,
-22,153,178,109,27,179,179,179,8,4,2,206,198,112,53,88,99,45,33,176,165,
-166,207,139,5,89,189,18,52,66,161,144,19,51,120,229,149,87,154,126,99,206,
-205,205,33,149,74,97,104,104,200,215,89,54,177,241,95,37,43,198,45,152,
-116,3,81,227,60,18,208,108,54,139,83,167,78,45,171,178,201,100,50,200,100,
-50,80,20,5,177,88,12,129,64,0,201,100,18,233,116,218,233,219,86,143,160,
-250,25,155,105,154,184,124,249,50,70,71,71,171,238,178,27,137,167,76,79,
-79,99,110,110,14,119,221,117,151,99,133,144,117,222,8,137,249,41,198,74,
-138,177,214,122,38,18,9,92,188,120,113,89,138,187,210,166,132,148,78,169,
-84,194,249,243,231,49,55,55,135,45,91,182,192,48,12,4,131,65,164,211,233,
-85,17,7,243,146,37,177,112,110,51,62,159,20,177,152,152,32,18,136,59,182,
-182,18,245,10,43,109,116,87,163,76,89,150,133,217,217,89,100,179,89,116,
-117,117,45,75,86,229,170,35,176,165,164,52,135,195,97,100,179,217,50,242,
-34,127,180,152,14,63,58,58,138,243,231,207,47,171,144,93,190,124,185,174,
-30,67,98,214,145,232,151,23,207,46,137,86,23,41,89,114,53,188,241,198,27,
-184,118,237,90,203,132,193,48,12,204,205,205,33,20,10,161,163,163,3,165,
-82,9,147,147,147,232,238,238,246,221,89,214,157,213,229,30,155,44,203,72,
-165,82,56,125,250,180,227,102,93,174,177,28,60,120,16,247,222,123,47,118,
-238,220,217,48,121,213,235,50,172,180,158,186,174,227,244,233,211,53,119,
-230,205,84,58,209,104,20,237,237,237,152,157,157,69,42,149,194,174,93,187,
-28,75,108,53,244,168,18,61,39,20,131,34,217,106,164,255,87,37,18,171,84,
-72,215,109,125,185,51,243,90,69,224,238,141,174,24,163,92,173,50,85,44,
-22,113,237,218,53,108,216,176,97,69,187,78,183,36,162,93,171,124,84,165,
-231,201,109,232,38,47,218,161,133,66,33,40,138,130,147,39,79,46,43,121,
-137,56,117,234,84,205,146,63,154,166,149,45,164,166,105,136,68,34,206,67,
-116,95,136,55,15,237,172,242,249,60,14,28,56,208,82,242,114,11,235,204,
-204,140,115,227,76,78,78,66,146,36,207,204,198,106,228,229,30,155,36,73,
-152,157,157,197,209,163,71,151,149,188,68,28,58,116,8,71,143,30,117,214,
-161,153,73,28,238,241,186,19,1,196,49,31,62,124,184,37,138,70,68,54,155,
-69,34,145,112,50,202,142,29,59,134,68,34,1,195,48,16,137,68,86,172,172,
-145,123,67,75,127,19,153,168,170,218,148,117,114,31,125,33,249,173,180,
-161,150,101,185,101,149,90,220,4,45,234,8,81,63,172,102,153,2,128,107,215,
-174,193,178,172,154,186,97,205,18,88,163,7,39,233,125,149,200,139,82,62,
-15,28,56,128,169,169,169,150,78,218,169,83,167,124,189,206,125,2,223,189,
-171,34,161,12,133,66,206,239,19,19,19,56,124,248,112,83,221,106,141,64,
-215,117,199,231,173,40,10,38,39,39,23,165,231,139,194,42,186,59,220,99,
-163,241,77,77,77,225,232,209,163,45,31,219,171,175,190,138,23,95,124,113,
-89,228,218,43,139,77,28,243,217,179,103,241,234,171,175,174,216,122,234,
-186,142,68,34,225,156,31,59,123,246,44,18,137,132,115,232,127,181,212,230,
-91,78,215,93,173,18,99,193,96,208,179,141,202,74,185,81,221,7,243,87,179,
-76,41,138,130,169,169,169,138,71,119,214,188,11,177,222,148,93,209,26,179,
-109,123,145,82,20,201,235,224,193,131,117,251,241,85,85,197,224,224,160,
-147,169,69,72,38,147,200,102,179,152,159,159,199,228,228,164,239,107,244,
-43,148,226,153,46,247,174,138,206,172,76,76,76,224,228,210,109,191,98,0,
-0,32,0,73,68,65,84,201,147,13,205,243,198,141,27,209,209,209,129,104,52,
-90,22,24,46,22,139,200,100,50,200,102,179,152,152,152,240,157,141,9,192,
-241,119,183,183,183,67,81,20,36,18,9,244,247,247,47,10,138,139,55,158,219,
-242,162,243,52,141,142,45,26,141,98,112,112,16,170,170,150,173,23,165,216,
-39,147,73,76,77,77,213,92,147,227,199,143,99,96,96,160,169,22,88,37,107,
-147,198,124,245,234,85,140,143,143,47,105,45,69,119,245,220,220,28,74,165,
-18,70,71,71,235,74,52,160,132,164,142,142,14,168,170,138,115,231,206,57,
-191,231,243,249,21,13,194,123,89,67,170,170,54,205,133,72,103,184,188,238,
-195,149,68,48,24,196,134,13,27,60,207,125,186,201,171,217,50,37,234,135,
-100,50,137,82,169,132,177,177,177,186,172,57,183,76,205,206,206,162,175,
-175,175,229,238,196,150,16,88,189,221,151,69,215,161,104,173,208,207,112,
-56,140,151,95,126,185,174,44,165,104,52,138,93,187,118,225,166,155,110,
-242,252,255,134,13,27,156,9,215,117,29,231,206,157,195,107,175,189,182,
-100,87,151,123,103,87,73,48,115,185,28,142,29,59,86,215,103,111,223,190,
-29,189,189,189,216,184,113,163,99,217,121,9,154,40,72,51,51,51,184,120,
-241,34,46,92,184,224,107,167,100,89,22,146,201,36,186,187,187,161,170,42,
-166,166,166,176,113,227,198,69,238,25,183,85,185,148,177,69,163,81,108,
-219,182,13,195,195,195,53,155,38,146,114,26,29,29,197,137,19,39,170,174,
-215,211,79,63,189,228,2,180,238,250,139,213,8,219,175,165,78,242,183,101,
-203,22,12,13,13,45,138,31,18,136,192,247,236,217,131,108,54,139,201,201,
-73,140,141,141,225,234,213,171,190,190,35,149,74,161,171,171,11,0,112,236,
-216,49,236,217,179,7,179,179,179,171,226,92,143,219,242,217,183,111,95,
-89,159,47,154,87,74,73,63,116,232,80,205,154,142,98,18,135,159,142,220,
-148,97,247,224,131,15,58,238,102,58,67,73,93,168,21,69,193,55,190,241,141,
-170,159,211,213,213,133,219,110,187,13,185,92,14,182,109,195,48,12,39,227,
-87,172,18,35,186,74,221,231,185,150,83,166,220,175,1,128,221,187,119,35,
-151,203,97,106,106,10,99,99,99,24,27,27,171,75,166,20,69,193,244,244,52,
-6,6,6,234,78,250,90,213,4,86,239,110,71,116,205,72,146,228,73,94,211,211,
-211,184,124,249,178,239,207,188,229,150,91,112,235,173,183,58,159,87,9,
-134,97,56,109,19,246,237,219,135,155,111,190,25,47,189,244,18,94,127,253,
-245,134,111,74,175,19,254,98,176,154,118,96,47,191,252,114,93,130,185,127,
-255,126,116,118,118,150,53,22,20,199,38,10,14,141,203,178,44,116,119,119,
-163,187,187,27,59,119,238,196,161,67,135,106,90,155,226,238,159,20,104,
-42,149,66,71,71,71,89,182,152,24,132,167,155,177,145,177,237,221,187,23,
-59,119,238,116,214,202,107,108,52,62,82,112,0,48,50,50,130,145,145,17,156,
-58,117,10,167,78,157,170,72,206,141,102,106,185,61,9,213,200,171,30,194,
-142,199,227,216,191,127,63,250,250,250,156,241,26,134,81,118,152,157,214,
-82,84,192,109,109,109,232,236,236,196,45,183,220,130,108,54,139,227,199,
-143,227,181,215,94,243,181,107,222,176,97,131,179,235,94,201,118,247,148,
-52,33,234,8,154,131,120,60,238,16,6,205,43,29,133,112,111,202,154,97,73,
-147,204,6,2,1,103,45,162,209,104,217,119,251,109,104,169,170,42,226,241,
-184,83,139,53,159,207,35,18,137,148,245,46,163,88,155,187,102,33,29,226,
-94,78,153,170,228,37,106,107,107,67,71,71,7,118,236,216,129,108,54,139,
-147,39,79,226,141,55,222,168,75,166,146,201,36,54,108,216,208,50,153,106,
-25,129,213,147,192,65,190,85,170,44,46,214,58,148,101,25,71,142,28,241,
-237,46,188,247,222,123,29,211,86,84,132,110,23,5,41,10,202,210,34,247,195,
-59,223,249,78,12,14,14,226,224,193,131,190,23,69,220,229,187,11,204,210,
-1,75,241,128,228,145,35,71,124,157,221,8,6,131,184,239,190,251,156,241,
-144,80,26,134,81,150,100,225,30,95,48,24,116,206,68,145,226,143,197,98,
-120,232,161,135,48,53,53,133,231,159,127,190,166,53,102,89,22,82,169,20,
-226,241,56,242,249,60,218,218,218,28,119,135,88,135,80,12,54,43,138,130,
-19,39,78,248,30,219,3,15,60,224,156,89,162,181,242,26,27,85,25,16,149,59,
-201,202,109,183,221,134,91,110,185,5,207,60,243,76,83,171,174,187,51,230,
-220,25,108,34,97,31,60,120,208,215,103,110,219,182,13,183,221,118,91,213,
-181,20,107,31,186,45,106,93,215,157,244,230,183,188,229,45,24,26,26,194,
-11,47,188,80,117,45,77,211,68,58,157,134,166,105,24,31,31,119,186,52,183,
-210,10,243,106,138,89,42,149,28,215,150,184,225,243,218,152,137,101,208,
-252,174,157,215,198,213,171,76,21,29,217,161,36,23,145,180,252,118,161,
-166,141,6,149,110,18,61,20,212,205,218,93,141,191,26,121,53,91,166,220,
-250,65,188,143,104,179,27,141,70,113,207,61,247,96,112,112,16,7,14,28,168,
-234,49,19,101,42,157,78,59,235,216,10,153,10,180,138,192,252,32,20,10,45,
-42,208,233,222,225,158,57,115,198,87,28,39,30,143,227,193,7,31,68,103,103,
-167,179,152,166,105,34,151,203,161,80,40,32,159,207,35,159,207,151,85,217,
-160,82,47,244,28,9,222,206,157,59,241,161,15,125,168,97,247,147,88,215,
-79,20,80,69,81,112,249,242,101,95,217,134,193,96,16,247,223,127,191,231,
-120,40,11,72,220,221,121,141,141,14,14,211,205,20,10,133,48,60,60,140,71,
-30,121,196,151,144,209,220,105,154,134,108,54,91,102,73,186,215,137,78,
-241,95,185,114,197,151,117,243,240,195,15,47,170,122,226,53,54,177,189,
-188,123,205,72,73,197,227,113,124,228,35,31,65,79,79,79,83,172,4,247,46,
-217,189,174,180,150,138,162,224,248,241,227,190,82,177,239,184,227,14,220,
-122,235,173,53,215,146,202,158,137,107,75,227,39,229,68,227,222,180,105,
-19,222,247,190,247,161,179,179,179,234,119,83,169,51,85,85,145,76,38,157,
-67,236,43,5,177,1,165,88,63,144,148,61,89,227,244,187,215,6,180,214,70,
-178,210,166,217,93,185,93,156,87,34,90,42,5,229,55,57,193,182,109,231,181,
-98,221,85,209,27,227,229,77,16,189,24,170,170,46,155,76,145,85,232,190,
-143,104,188,162,76,13,15,15,227,61,239,121,15,58,58,58,86,165,76,45,43,
-129,213,83,129,35,20,10,57,7,45,201,100,167,180,114,218,237,90,150,85,211,
-77,34,90,42,161,80,8,182,109,35,155,205,194,48,12,228,243,249,178,162,183,
-150,101,57,245,19,201,55,45,238,86,232,172,5,41,197,247,190,247,189,117,
-147,183,88,45,220,77,94,150,101,225,236,217,179,190,62,235,206,59,239,68,
-91,91,91,213,241,20,10,5,231,111,113,108,226,235,168,144,167,184,51,235,
-234,234,242,77,98,233,116,218,57,91,67,39,241,169,210,5,41,123,114,251,
-212,114,63,136,241,14,178,160,170,173,21,61,196,53,163,255,139,27,15,178,
-148,63,252,225,15,59,62,254,122,33,174,155,91,217,121,185,14,85,85,197,
-220,220,156,175,205,200,254,253,251,49,52,52,180,104,188,98,49,102,113,
-188,182,109,151,141,217,182,109,103,236,164,36,233,247,120,60,142,247,189,
-239,125,53,215,50,155,205,58,9,14,162,103,161,149,25,100,212,61,217,253,
-187,91,241,147,11,140,94,215,140,4,15,119,89,59,175,14,207,116,198,212,
-77,100,126,199,70,99,18,139,81,187,75,64,137,77,51,221,49,176,229,148,169,
-74,186,207,107,19,223,209,209,129,247,188,231,61,53,141,145,149,144,169,
-101,37,176,70,179,125,68,37,65,102,61,41,68,63,147,177,111,223,62,199,87,
-110,24,6,108,219,70,161,80,112,22,133,10,91,138,187,92,218,165,228,243,
-121,231,181,180,144,116,61,189,189,189,184,227,142,59,234,30,139,23,121,
-201,178,140,233,233,105,95,55,196,142,29,59,208,222,222,238,236,190,171,
-141,135,44,75,113,108,162,50,160,113,138,187,45,34,177,7,31,124,176,230,
-181,24,134,129,76,38,227,4,200,221,86,50,141,173,84,42,225,210,165,75,190,
-198,22,139,197,42,142,141,10,144,186,199,37,174,173,72,98,180,83,167,130,
-170,191,244,75,191,180,228,196,13,74,179,166,7,145,27,17,57,141,217,79,
-172,116,247,238,221,232,239,239,47,35,37,81,193,208,90,210,120,137,200,
-169,238,166,59,142,66,178,73,107,73,228,91,107,67,34,214,155,92,9,43,204,
-43,177,203,77,36,162,203,77,146,36,79,215,99,51,174,67,180,64,68,50,21,
-45,93,34,78,63,228,73,10,156,174,157,172,46,250,28,186,63,220,99,17,171,
-212,44,183,76,121,233,7,247,38,94,148,169,96,48,136,119,189,235,93,85,117,
-250,74,200,212,178,18,88,189,25,136,20,251,18,51,247,196,221,238,185,115,
-231,106,126,103,119,119,55,186,186,186,96,89,150,83,169,157,22,136,76,123,
-186,241,221,139,73,202,130,4,32,151,203,57,22,11,9,56,89,66,245,184,47,
-220,59,117,203,178,160,40,138,239,241,108,217,178,197,113,225,185,199,83,
-40,20,156,241,184,119,128,244,60,185,20,221,194,77,10,129,20,196,192,192,
-0,246,239,223,95,243,154,50,153,204,162,94,71,162,27,77,81,20,95,7,203,
-35,145,8,182,108,217,2,219,182,23,141,173,84,42,57,229,193,220,13,31,77,
-211,116,198,77,175,39,37,79,235,69,138,38,30,143,227,237,111,127,251,178,
-184,188,196,164,149,76,38,131,233,233,233,170,239,235,239,239,199,198,141,
-27,157,66,201,162,156,209,152,220,150,128,251,121,170,99,233,229,154,18,
-171,54,116,117,117,225,161,135,30,90,245,86,24,201,143,184,177,18,55,87,
-162,21,230,238,105,215,232,119,121,109,178,69,162,17,239,17,209,90,163,
-123,198,175,11,81,220,112,184,227,94,238,178,86,226,166,136,200,107,57,
-101,74,212,123,162,75,209,237,213,16,101,170,179,179,19,15,60,240,192,170,
-146,169,85,97,129,137,173,47,196,155,81,204,252,41,22,139,190,98,95,35,
-35,35,78,128,95,180,80,200,178,18,23,77,252,78,145,8,220,11,73,194,75,191,
-239,221,187,183,46,55,148,88,105,128,8,58,147,201,248,58,203,179,107,215,
-174,69,55,21,9,31,93,51,149,121,113,239,176,104,188,126,198,38,238,230,
-106,129,44,86,74,122,17,201,139,170,25,248,57,92,62,50,50,226,16,173,123,
-108,34,65,211,216,68,247,142,168,220,197,27,151,82,148,197,241,237,217,
-179,7,241,120,188,41,242,236,142,251,213,67,216,187,119,239,94,164,152,
-197,221,47,141,75,140,5,137,15,241,121,178,200,68,11,162,236,198,14,4,208,
-223,223,143,129,129,1,95,59,230,84,42,181,34,86,88,37,87,158,87,76,134,
-198,75,133,188,27,181,248,196,42,247,226,166,218,109,253,137,107,84,207,
-161,97,82,222,52,6,247,58,250,217,20,181,74,166,196,123,73,236,63,71,155,
-6,183,76,245,246,246,162,175,175,111,213,200,84,160,85,130,234,103,209,
-69,235,203,93,184,215,207,225,189,88,44,230,88,125,238,198,142,238,29,173,
-72,102,238,221,8,185,31,197,54,8,226,123,171,41,5,114,121,186,91,86,136,
-13,250,20,69,241,21,203,27,28,28,116,98,67,110,193,116,95,179,104,133,136,
-215,235,22,80,122,157,152,165,68,10,159,130,176,219,182,109,171,121,109,
-115,115,115,206,57,22,145,188,104,179,49,59,59,91,211,250,234,238,238,246,
-53,54,146,15,247,6,196,107,13,69,226,162,29,164,36,73,216,179,103,79,83,
-172,4,119,140,130,146,15,70,71,71,107,238,148,233,181,238,221,57,237,80,
-201,181,36,42,112,183,130,21,239,37,241,24,129,232,70,20,93,83,91,183,110,
-173,185,25,169,229,98,93,174,250,128,162,21,34,142,213,109,9,145,235,186,
-25,215,33,102,196,82,73,56,113,142,197,121,22,99,111,228,194,244,67,100,
-98,22,162,72,30,110,143,133,152,176,65,155,162,86,202,20,61,47,18,149,187,
-69,149,59,65,10,64,197,179,180,181,100,106,57,172,176,21,181,192,40,13,
-216,235,125,98,202,183,170,170,190,226,41,93,93,93,101,217,63,226,225,65,
-47,37,79,139,73,10,157,136,205,157,169,152,207,231,157,93,27,237,0,119,
-237,218,133,158,158,30,116,117,117,161,179,179,19,29,29,29,232,232,232,
-64,60,30,71,60,30,119,14,140,186,221,3,244,156,31,11,133,14,5,138,150,83,
-53,210,114,187,107,221,59,64,183,43,202,237,231,39,129,245,99,133,145,27,
-145,198,71,235,20,12,6,49,49,49,81,243,253,155,54,109,42,139,53,120,141,
-141,44,61,113,44,149,118,181,94,214,165,232,250,245,107,53,123,201,162,
-184,110,226,239,180,233,242,211,10,134,210,213,197,157,189,59,78,90,233,
-51,220,135,179,105,252,98,178,128,59,193,128,228,173,22,129,209,61,34,38,
-191,208,231,54,90,6,206,79,130,131,155,196,68,93,225,69,220,98,12,182,153,
-103,140,196,186,166,98,140,77,44,20,238,101,141,248,113,33,138,186,135,
-62,223,125,159,122,109,146,90,33,83,238,107,112,39,212,136,164,40,202,148,
-166,105,53,9,204,45,83,203,217,64,85,89,110,2,171,103,215,68,193,75,106,
-112,72,103,166,44,203,242,165,20,251,251,251,29,75,130,22,132,92,103,228,
-90,162,116,213,106,215,64,66,225,181,232,164,184,118,238,220,233,184,192,
-104,177,196,164,134,74,238,1,170,25,88,171,194,135,162,40,104,107,107,115,
-110,48,26,135,72,64,226,120,232,117,134,97,120,42,30,90,7,18,46,178,6,73,
-232,197,243,42,253,253,253,101,85,12,42,237,178,72,168,117,93,135,166,105,
-142,197,234,103,173,162,209,40,138,197,162,179,206,94,99,171,181,9,114,
-203,150,187,125,187,174,235,206,121,194,96,48,136,161,161,161,154,187,90,
-63,50,74,46,30,178,88,107,197,41,232,187,179,217,108,217,97,100,82,152,
-100,73,209,79,47,151,139,187,119,86,165,10,235,94,110,236,193,193,193,138,
-30,12,113,119,93,40,20,16,143,199,157,22,25,203,9,186,126,178,136,168,209,
-164,232,174,18,199,40,86,105,95,142,174,218,116,111,19,201,144,101,35,94,
-19,185,168,253,146,52,117,163,160,207,175,52,167,148,113,77,37,180,90,37,
-83,116,61,164,67,234,145,169,254,254,254,138,247,185,91,166,200,141,184,
-28,50,213,154,254,234,62,136,78,146,36,79,247,161,44,203,53,221,81,192,
-66,170,167,232,11,22,131,178,36,144,100,69,137,150,149,151,27,161,82,208,
-211,157,209,35,238,244,197,115,107,110,11,148,20,30,253,238,167,126,35,
-181,51,241,58,195,225,53,30,247,174,210,107,108,110,247,140,59,101,152,
-254,95,42,149,156,196,145,90,238,24,74,230,16,207,173,248,169,238,65,241,
-51,175,216,78,181,181,18,199,68,243,235,118,143,208,250,211,218,208,142,
-210,143,107,180,146,178,21,227,95,226,186,218,182,93,115,188,131,131,131,
-139,62,143,198,73,202,195,235,16,171,248,32,43,155,146,0,42,185,141,197,
-99,20,100,21,147,55,160,154,21,66,27,144,229,118,29,214,178,42,220,49,49,
-49,19,113,185,18,1,220,247,143,91,225,123,101,12,250,1,109,194,196,68,180,
-74,222,38,209,235,212,42,153,18,117,150,91,134,196,35,28,238,223,53,77,
-171,121,214,176,146,76,53,123,13,151,205,2,171,199,253,80,44,22,23,237,
-184,197,152,131,159,93,79,91,91,155,147,18,74,139,67,19,78,10,177,82,90,
-113,62,159,95,212,102,220,253,123,48,24,68,161,80,88,116,122,223,157,97,
-36,10,186,91,104,73,56,253,16,50,141,71,44,57,227,119,60,149,198,230,182,
-136,169,66,135,166,105,101,21,72,36,73,194,198,141,27,107,166,240,146,21,
-70,201,54,244,254,90,66,74,99,115,147,41,205,89,173,177,137,10,71,172,36,
-78,159,65,164,69,241,80,82,12,228,114,169,103,99,229,174,52,34,90,175,228,
-33,168,101,77,139,45,50,104,254,105,83,68,222,2,191,177,27,49,86,66,100,
-74,215,40,86,125,161,10,8,134,97,212,60,143,73,187,100,90,79,177,188,148,
-187,212,83,171,54,180,100,177,84,10,51,44,71,219,19,177,83,179,72,158,98,
-60,199,15,145,185,99,96,149,172,15,146,33,241,44,88,43,101,138,64,227,35,
-89,210,52,205,57,131,75,99,166,58,148,68,74,181,14,54,87,147,169,53,227,
-66,172,5,47,193,20,77,91,82,28,126,92,82,180,104,193,96,176,204,255,236,
-87,217,147,82,116,43,123,183,233,47,150,70,241,242,115,87,234,57,36,182,
-2,247,83,32,152,58,234,146,18,22,111,4,191,228,85,141,196,68,37,76,228,
-35,22,80,142,197,98,190,54,30,164,56,233,166,245,83,190,73,60,87,67,46,
-227,70,198,230,213,151,141,148,30,141,135,18,131,74,165,82,67,135,154,197,
-107,17,251,85,209,223,126,198,123,229,202,21,36,18,9,103,119,75,74,142,
-148,176,95,183,148,168,64,197,221,189,88,173,194,157,250,44,110,52,170,
-41,155,120,60,238,236,192,101,89,94,214,184,69,165,57,38,57,21,9,197,173,
-248,105,109,155,241,125,181,200,211,45,175,245,110,202,171,125,135,91,63,
-136,30,154,245,40,83,162,62,94,19,4,214,200,174,77,116,29,186,155,220,249,
-21,74,119,199,89,170,22,209,168,178,23,73,73,220,229,84,18,2,55,9,123,41,
-65,63,109,11,20,69,65,62,159,47,35,121,58,235,209,168,155,196,43,198,64,
-99,52,12,195,249,174,64,32,128,238,238,238,154,159,153,74,165,202,148,185,
-223,155,134,190,71,180,250,26,89,43,81,169,145,194,165,49,81,6,150,187,
-182,221,198,141,27,125,87,218,174,38,207,116,221,126,198,76,173,95,86,43,
-200,66,21,61,24,173,232,139,85,207,122,83,156,117,185,190,207,125,127,208,
-119,46,119,109,72,81,174,214,163,76,249,181,90,27,69,160,21,11,227,199,
-175,238,246,59,139,139,232,199,93,64,233,162,126,252,206,126,119,246,181,
-226,98,149,30,141,236,252,220,240,58,188,219,200,231,84,154,127,241,167,
-87,153,30,63,21,7,72,48,137,188,252,42,24,90,43,247,115,75,93,43,113,76,
-116,109,98,82,79,35,55,146,123,61,69,185,94,13,125,165,154,5,114,37,211,
-125,183,146,181,17,111,52,120,197,205,215,139,76,45,183,44,173,120,18,135,
-219,156,118,215,4,107,68,49,123,165,20,55,131,196,200,245,86,233,225,174,
-115,86,105,103,82,15,200,146,160,29,228,82,224,182,28,221,113,62,114,149,
-212,235,63,23,55,24,245,118,199,118,147,243,82,225,149,126,45,142,199,111,
-236,196,221,8,81,188,17,197,245,109,117,75,247,229,86,54,235,73,129,174,
-118,84,210,123,235,77,166,150,19,45,179,192,234,201,104,90,234,77,180,92,
-10,95,28,139,251,65,207,139,129,79,209,111,220,8,137,182,170,167,78,163,
-217,102,162,149,86,143,123,167,218,25,149,165,186,108,232,236,206,82,110,
-38,247,53,136,238,108,34,53,119,28,116,189,96,57,146,35,24,181,33,186,220,
-88,166,214,144,5,214,76,44,135,194,119,167,111,139,86,163,248,16,201,192,
-171,180,207,90,66,163,62,235,122,173,75,17,75,221,108,184,83,175,69,11,
-175,25,242,225,69,172,43,217,193,120,57,20,168,104,241,183,34,6,118,35,
-195,203,154,95,207,50,181,38,9,108,37,148,248,114,250,91,189,206,36,85,
-178,210,214,194,120,220,164,213,168,160,145,245,165,105,218,162,243,41,
-203,69,120,171,69,222,234,25,239,106,223,180,180,183,183,47,57,81,130,81,
-29,162,53,127,35,200,84,103,103,39,98,177,216,178,109,136,86,85,22,226,
-82,149,151,187,249,96,171,224,149,193,212,44,101,44,198,214,150,115,222,
-220,231,156,150,106,17,249,25,219,74,172,85,58,157,110,249,119,190,229,
-45,111,41,107,135,83,169,53,72,181,196,25,47,25,32,215,12,85,5,169,116,
-223,137,213,86,220,53,6,233,112,62,157,113,228,228,141,181,129,102,200,
-148,23,68,153,114,235,114,209,21,40,222,195,228,117,162,126,132,238,190,
-121,84,17,100,57,244,152,178,22,22,203,207,174,144,206,105,52,123,87,191,
-28,232,239,239,175,217,164,142,172,33,58,155,213,138,141,134,184,43,244,
-115,86,205,93,149,154,202,224,248,89,171,229,34,48,177,12,85,43,8,204,175,
-197,210,215,215,231,100,121,122,85,62,17,119,173,181,8,204,235,200,130,
-59,35,84,252,28,119,227,75,241,189,212,182,102,106,106,138,201,171,197,
-214,73,165,245,110,149,76,137,168,118,12,198,235,127,238,18,122,186,174,
-35,26,141,46,234,40,33,118,131,95,83,22,88,51,225,231,76,18,213,45,19,171,
-49,175,86,193,245,211,79,44,155,205,34,28,14,163,84,42,33,26,141,182,228,
-218,68,197,231,167,11,44,93,23,85,43,40,149,74,190,215,138,190,79,60,124,
-73,159,213,72,28,192,139,228,221,86,101,189,25,146,213,20,15,93,171,159,
-241,142,142,142,98,243,230,205,206,123,196,70,129,148,232,67,138,168,146,
-236,210,28,81,117,13,113,140,244,57,226,255,68,133,35,166,51,211,14,153,
-154,51,82,188,171,145,22,37,140,198,188,15,149,14,75,183,90,166,68,130,
-18,221,239,162,28,212,146,41,42,152,237,46,12,110,219,182,243,88,78,125,
-188,106,8,140,250,72,121,41,11,63,85,33,242,249,60,54,108,216,128,116,58,
-189,104,7,218,168,82,108,84,56,43,89,29,116,128,215,239,33,97,34,100,183,
-107,96,169,227,113,95,167,120,35,209,26,92,190,124,185,230,231,80,61,52,
-58,173,111,219,54,36,73,66,44,22,171,106,233,80,141,71,186,113,20,69,113,
-202,206,52,99,167,230,117,56,84,85,85,92,189,122,117,73,100,69,132,45,62,
-47,73,18,218,219,219,171,214,183,164,74,50,212,183,76,44,162,236,183,211,
-48,89,149,20,115,117,175,63,29,176,247,146,11,119,75,33,177,16,52,185,160,
-196,107,240,170,16,207,88,62,157,225,94,179,86,201,148,168,59,189,214,155,
-42,231,211,245,137,250,89,36,48,119,27,35,209,133,72,242,36,86,87,90,19,
-4,230,55,160,46,238,68,104,160,255,127,123,231,26,27,215,117,221,251,255,
-60,206,188,57,195,33,103,248,20,41,62,36,81,18,41,139,166,157,216,78,99,
-41,189,126,196,177,83,39,238,227,54,105,141,94,7,40,226,182,104,191,180,
-104,128,2,253,144,22,104,81,56,184,189,5,90,4,69,252,193,65,80,36,104,211,
-87,90,195,110,83,191,226,87,226,151,100,217,146,40,90,38,41,81,148,72,145,
-195,25,14,135,156,247,156,115,63,200,235,100,207,230,153,153,51,47,62,215,
-15,24,12,57,67,206,156,125,206,62,251,191,215,218,107,175,37,15,176,45,
-45,45,21,7,69,242,191,210,69,165,212,255,141,206,172,109,20,232,32,87,158,
-150,83,166,200,238,130,74,201,85,169,61,148,81,162,81,237,145,215,233,228,
-26,87,226,140,203,76,190,70,178,16,233,153,58,103,119,119,119,69,87,93,
-50,153,212,51,175,120,60,158,186,103,105,229,68,153,82,93,153,169,41,39,
-95,99,177,63,138,125,85,206,238,81,110,176,201,102,179,136,197,98,122,134,
-24,202,65,73,3,0,173,17,152,17,48,121,208,17,179,29,80,34,223,82,2,38,223,
-147,226,164,145,182,31,136,25,226,27,81,4,148,49,63,81,218,234,62,37,67,
-255,47,138,140,216,167,140,44,48,177,102,26,181,69,180,188,228,62,213,240,
-115,215,204,11,99,118,6,39,239,165,18,95,167,139,91,169,136,36,112,107,
-221,134,82,226,52,82,233,41,167,158,221,110,135,199,227,129,199,227,129,
-211,233,212,31,98,33,76,113,32,22,11,199,201,29,214,140,21,214,172,246,
-136,73,95,197,60,134,100,173,152,177,190,104,112,19,93,23,212,214,222,222,
-94,211,179,62,177,130,107,185,73,130,25,81,22,51,107,211,0,77,109,90,95,
-95,55,149,99,142,40,23,114,47,207,110,201,149,83,142,153,153,25,100,179,
-89,189,154,65,54,155,213,51,238,139,15,209,245,34,62,140,68,73,44,5,47,
-206,124,229,204,49,70,65,58,52,48,137,159,93,42,253,25,83,59,229,38,102,
-165,198,186,173,234,83,242,131,254,158,62,67,44,144,105,84,177,90,44,155,
-34,254,157,216,174,102,111,199,216,17,46,68,90,63,17,7,120,90,211,34,255,
-238,192,192,64,197,236,232,209,104,20,221,221,221,80,85,85,31,252,235,113,
-187,81,78,68,26,4,197,220,129,226,141,79,17,56,177,88,12,225,112,24,129,
-64,192,208,10,19,107,26,245,247,247,87,28,80,197,246,172,173,173,193,229,
-114,21,109,2,174,117,144,17,235,147,137,53,215,104,112,59,123,246,108,197,
-207,160,226,161,98,141,38,202,109,104,166,20,75,44,22,211,51,90,39,18,9,
-180,180,180,212,101,97,202,162,108,183,219,139,218,116,238,220,185,134,
-121,22,196,172,251,94,175,183,98,129,63,0,152,157,157,69,103,103,39,172,
-86,171,158,147,143,242,14,106,154,86,209,229,67,109,17,39,133,98,166,124,
-122,207,40,194,147,170,89,71,163,81,125,178,65,41,196,114,185,156,46,130,
-30,143,199,212,185,23,93,244,116,31,84,187,126,38,167,74,19,251,178,108,
-77,55,251,251,204,46,3,84,59,166,81,237,61,51,125,138,38,98,91,217,167,
-140,38,43,98,189,57,250,153,198,102,217,162,203,229,114,216,216,216,40,
-10,56,147,51,33,121,60,30,125,9,168,25,147,162,45,115,33,26,21,183,76,167,
-211,69,201,106,41,97,167,220,137,172,86,171,169,189,17,228,110,115,58,157,
-72,36,18,8,6,131,69,131,98,53,131,62,21,158,20,77,124,77,211,54,149,65,
-143,68,34,88,92,92,132,199,227,209,19,245,90,173,86,125,112,22,203,66,144,
-80,43,138,130,195,135,15,87,20,10,154,81,145,139,210,229,114,21,149,37,
-168,166,61,162,165,34,38,72,38,17,163,148,80,11,11,11,166,34,16,219,219,
-219,245,117,20,26,96,196,114,44,3,3,3,21,171,104,175,172,172,32,24,12,234,
-107,98,116,76,84,163,172,82,219,196,164,203,52,64,81,219,72,152,21,69,65,
-50,153,196,212,212,84,213,125,88,118,175,82,95,16,39,35,100,157,87,106,
-111,46,151,195,229,203,151,49,56,56,168,23,242,164,65,56,149,74,233,33,
-236,165,6,28,113,29,75,180,154,105,160,17,207,133,88,55,108,97,97,1,211,
-211,211,122,159,145,51,150,139,25,32,90,91,91,203,90,12,70,169,143,170,
-29,148,196,191,151,39,44,178,53,77,197,78,155,245,125,229,220,235,141,64,
-44,133,84,202,34,41,229,150,222,138,62,37,122,67,72,180,196,62,69,226,37,
-70,182,82,48,212,213,171,87,139,92,139,229,250,84,51,183,228,236,184,76,
-28,162,200,137,161,161,102,74,89,147,213,66,37,66,54,54,54,244,250,54,114,
-9,246,74,174,66,113,176,42,85,16,46,30,143,227,198,141,27,186,197,71,55,
-91,52,26,69,52,26,221,52,24,136,174,54,191,223,111,202,82,137,70,163,250,
-0,31,139,197,116,33,20,139,81,86,114,185,201,98,44,90,96,98,137,16,85,85,
-241,222,123,239,153,18,195,182,182,54,125,145,151,34,218,200,5,1,0,125,
-125,125,21,63,71,244,241,199,227,113,88,44,22,61,132,184,82,219,168,77,
-84,254,69,46,254,72,238,67,85,85,241,250,235,175,87,61,232,201,161,204,
-52,179,20,251,165,152,252,248,228,201,147,21,63,119,113,113,17,137,68,66,
-95,191,160,207,162,201,149,81,97,78,49,240,194,40,207,163,236,122,167,89,
-127,161,80,64,50,153,196,153,51,103,16,137,68,144,72,36,144,72,36,176,177,
-177,129,100,50,137,100,50,169,187,111,237,118,59,92,46,87,209,222,31,106,
-171,104,209,209,224,36,14,84,178,133,100,6,177,36,141,248,125,114,254,82,
-113,198,223,232,239,171,21,51,235,74,226,150,6,122,148,251,91,185,104,231,
-86,245,41,49,99,144,152,147,84,236,231,98,159,162,61,131,231,207,159,71,
-44,22,171,186,79,237,42,1,43,21,196,81,206,60,151,171,133,146,43,145,58,
-196,216,216,152,41,43,44,30,143,235,55,64,58,157,214,69,204,72,200,228,
-245,45,177,154,179,120,60,226,241,1,192,141,27,55,54,173,21,173,174,174,
-98,117,117,21,14,135,3,201,100,18,177,88,172,104,224,33,17,163,14,122,252,
-248,113,83,174,143,104,52,10,187,221,14,171,213,138,245,245,117,216,108,
-54,56,157,206,162,224,7,177,61,114,187,140,196,88,92,27,161,98,117,239,
-188,243,142,169,224,141,225,225,97,228,114,57,125,205,143,252,229,98,221,
-160,195,135,15,155,26,52,22,23,23,245,182,69,163,209,138,109,51,51,193,
-160,191,81,20,5,83,83,83,166,131,55,170,233,215,98,242,227,124,62,143,246,
-246,118,83,94,130,233,233,233,162,235,106,180,230,39,15,60,226,253,81,174,
-154,3,13,154,244,191,111,189,245,86,197,96,42,135,195,81,228,49,32,151,
-48,89,253,148,42,141,174,37,185,103,235,181,134,104,0,165,251,82,172,63,
-38,86,166,104,228,247,201,231,184,214,207,170,132,28,161,39,151,99,146,
-39,68,212,151,182,163,79,149,202,29,42,90,139,52,150,230,243,121,156,59,
-119,174,98,94,81,185,79,237,41,1,43,245,183,20,250,105,84,22,131,46,104,
-119,119,183,169,0,129,181,181,53,189,48,162,24,102,42,222,48,114,16,134,
-152,124,87,28,12,201,66,177,217,108,122,88,251,133,11,23,48,63,63,95,210,
-28,95,94,94,134,170,170,200,100,50,72,38,147,250,250,16,125,15,181,167,
-171,171,203,84,7,205,100,50,136,197,98,122,69,231,149,149,149,178,237,49,
-106,151,145,5,73,25,28,20,69,193,91,111,189,165,223,8,229,104,105,105,209,
-3,80,104,17,87,14,163,165,215,71,71,71,27,222,54,51,109,178,217,108,80,
-20,5,151,47,95,198,91,111,189,85,115,31,22,247,77,25,245,109,121,243,232,
-167,63,253,233,138,159,153,74,165,244,122,100,233,116,26,241,120,188,104,
-159,150,81,145,84,113,230,44,15,132,226,96,79,231,141,172,206,120,60,110,
-234,122,186,221,238,34,203,87,46,102,41,7,131,136,150,72,181,145,110,78,
-167,83,191,175,72,20,196,192,0,49,122,78,254,62,170,72,94,237,247,137,174,
-49,121,18,91,245,128,105,194,242,35,151,156,88,145,88,204,114,34,95,91,
-121,172,19,139,72,54,179,79,137,86,173,236,50,23,3,187,232,231,119,223,
-125,183,108,100,164,216,167,92,46,215,150,164,37,219,118,23,162,209,66,
-167,56,27,161,193,144,46,234,221,119,223,109,234,115,73,68,200,26,162,84,
-57,180,105,83,126,200,3,161,40,92,228,54,91,93,93,53,117,17,147,201,36,
-18,137,4,220,110,183,190,215,169,212,160,55,62,62,110,170,61,235,235,235,
-250,64,175,170,42,86,87,87,139,74,173,24,181,73,110,151,184,113,213,227,
-241,232,226,245,211,159,254,212,148,120,1,192,208,208,144,30,113,41,71,
-42,137,46,196,108,54,139,209,209,81,83,123,248,140,218,38,6,193,84,186,
-86,178,120,217,237,118,92,185,114,5,111,188,241,70,77,125,210,140,235,135,
-250,37,185,190,242,249,60,218,218,218,112,251,237,183,87,252,252,88,44,
-134,229,229,101,40,138,130,116,58,141,245,245,245,162,129,78,92,39,145,
-127,39,193,162,89,46,253,44,186,79,95,123,237,53,83,226,229,114,185,224,
-118,187,17,14,135,13,61,35,228,158,21,207,5,125,7,77,56,200,210,173,197,
-34,18,175,29,93,87,85,85,245,128,28,241,111,200,10,171,229,251,228,123,
-185,22,17,171,86,236,232,239,169,93,212,22,35,1,148,221,120,226,125,21,
-10,133,154,222,167,228,243,78,63,139,222,142,159,254,244,167,166,196,203,
-229,114,193,229,114,109,137,245,213,84,1,171,37,201,45,69,208,144,155,77,
-12,223,20,205,106,51,190,97,114,243,37,147,73,216,237,118,100,50,25,172,
-172,172,232,174,46,163,1,80,92,204,21,69,76,81,20,124,244,209,71,166,204,
-103,0,186,233,47,187,69,104,208,19,45,21,179,86,24,89,150,145,72,68,183,
-156,200,93,42,86,209,53,122,136,55,176,197,98,129,203,229,210,255,255,39,
-63,249,9,102,103,103,77,125,127,107,107,43,188,94,175,126,35,202,55,155,
-60,249,112,185,92,184,235,174,187,170,106,27,29,91,42,149,210,131,73,74,
-93,43,81,148,233,102,211,52,13,231,206,157,195,155,111,190,89,119,31,22,
-215,159,232,89,92,151,19,173,77,234,191,163,163,163,166,246,249,197,98,
-49,221,138,207,231,243,72,36,18,122,248,178,216,102,35,235,132,162,204,
-196,1,222,98,177,224,242,229,203,248,241,143,127,108,106,160,161,173,28,
-3,3,3,134,117,207,68,203,78,252,30,58,54,113,112,163,13,236,102,69,165,
-84,63,149,69,77,92,199,20,93,137,181,124,159,40,244,228,34,149,69,172,145,
-201,160,19,137,68,81,52,159,104,29,139,150,144,104,41,201,30,26,234,95,
-205,234,83,242,121,167,160,44,113,66,49,59,59,139,151,94,122,201,84,10,
-54,234,83,45,45,45,155,214,190,154,181,45,195,54,62,62,254,205,102,137,
-88,71,71,199,166,197,87,163,103,106,44,157,76,154,217,137,97,235,52,59,
-176,90,173,8,135,195,152,158,158,174,56,43,210,52,13,201,100,82,55,233,
-91,90,90,244,69,70,113,189,134,78,46,69,241,80,244,83,161,80,192,220,220,
-28,62,252,240,67,211,69,230,252,126,63,186,187,187,139,102,32,180,185,143,
-6,91,154,193,82,7,234,235,235,195,236,236,172,169,89,94,46,151,195,218,
-218,154,30,122,75,174,215,76,38,3,77,211,244,142,39,230,37,164,117,12,151,
-203,165,207,208,206,159,63,143,247,222,123,207,116,132,144,203,229,194,
-232,232,104,209,226,58,181,75,81,20,61,66,83,12,111,182,88,44,104,109,109,
-69,54,155,197,242,242,178,169,182,173,174,174,66,211,52,120,189,94,221,
-13,75,238,35,187,221,94,116,173,100,107,108,126,126,30,111,190,249,102,
-217,239,10,4,2,21,203,170,80,112,77,38,147,65,58,157,70,38,147,65,60,30,
-71,38,147,209,103,182,22,139,69,183,6,228,4,168,93,93,93,152,153,153,169,
-184,57,59,159,207,35,30,143,235,233,197,232,251,196,217,59,173,15,138,81,
-120,212,143,172,86,43,50,153,12,22,22,22,240,246,219,111,227,250,245,235,
-166,93,108,157,157,157,56,116,232,16,66,161,16,98,177,152,222,30,81,168,
-232,158,19,215,66,50,153,140,126,221,157,78,167,110,157,93,186,116,169,
-226,32,103,116,94,215,215,215,145,74,165,244,32,128,108,54,91,52,0,82,218,
-171,122,190,47,145,72,32,149,74,33,30,143,35,22,139,97,125,125,29,145,72,
-4,235,235,235,88,88,88,64,127,127,127,145,251,140,132,147,206,187,232,106,
-183,90,173,184,124,249,114,197,123,53,157,78,195,235,245,194,229,114,233,
-247,103,42,149,66,54,155,197,210,210,18,98,177,24,54,54,54,144,74,165,224,
-245,122,245,243,47,138,51,89,217,205,234,83,244,217,226,189,100,183,219,
-245,99,60,115,230,140,30,164,102,182,79,181,183,183,195,233,116,234,98,
-152,78,167,245,207,110,6,150,39,158,120,162,105,9,208,70,70,70,54,249,121,
-141,158,233,36,146,232,80,71,81,85,85,159,145,187,221,110,253,166,181,219,
-237,152,158,158,198,11,47,188,80,181,107,168,189,189,29,126,191,127,147,
-27,130,6,70,218,200,55,63,63,111,122,31,7,17,12,6,209,219,219,171,227,53,
-9,9,0,0,32,0,73,68,65,84,207,238,200,122,163,207,119,185,92,122,39,113,
-187,221,69,46,175,72,36,130,231,158,123,174,166,197,229,214,214,86,248,
-253,254,162,45,9,70,51,159,100,50,137,165,165,37,83,129,26,34,118,187,29,
-163,163,163,240,249,124,186,101,44,186,67,28,14,135,62,216,81,155,60,30,
-143,62,9,177,219,237,248,247,127,255,247,170,191,55,24,12,194,235,245,26,
-150,99,160,53,6,138,128,186,126,253,122,69,171,191,179,179,19,95,248,194,
-23,240,221,239,126,183,230,62,221,222,222,142,238,238,110,4,131,65,4,2,
-129,162,107,72,130,166,170,42,102,103,103,241,218,107,175,85,245,217,46,
-151,11,193,96,80,207,50,110,52,115,165,76,41,228,22,95,92,92,172,186,242,
-237,129,3,7,48,56,56,136,96,48,8,77,211,112,245,234,213,77,131,12,93,79,
-154,104,157,57,115,166,234,235,87,45,20,164,229,112,56,112,230,204,153,
-166,187,159,40,39,233,225,195,135,139,218,77,109,39,119,152,211,233,132,
-213,106,213,247,201,61,247,220,115,166,3,131,220,110,183,110,205,138,227,
-9,141,69,78,167,19,189,189,189,69,247,16,173,183,139,34,186,27,250,84,40,
-20,210,173,101,178,54,105,178,216,44,11,172,169,49,142,149,54,5,202,123,
-195,104,35,44,185,160,40,234,74,204,243,69,179,129,225,225,97,100,50,153,
-170,46,104,54,155,197,194,194,130,169,68,181,213,66,23,80,60,126,249,28,
-136,179,39,185,61,161,80,8,15,63,252,112,213,34,70,179,165,70,36,170,45,
-37,94,183,223,126,187,62,243,23,221,31,162,171,73,246,237,139,110,11,171,
-213,138,135,31,126,24,255,244,79,255,84,85,219,98,177,152,30,26,92,47,46,
-151,11,191,249,155,191,217,144,107,79,110,196,114,145,182,180,229,163,154,
-254,153,78,167,155,214,63,137,193,193,65,12,15,15,195,235,245,110,202,166,
-32,30,191,184,151,140,174,125,179,17,215,217,182,18,57,233,128,209,56,38,
-238,19,171,38,56,193,204,82,138,216,143,196,253,125,20,33,188,211,251,212,
-192,192,0,194,225,112,81,250,168,74,231,116,199,175,129,201,55,132,153,
-19,93,228,219,252,196,213,38,238,89,16,23,57,243,249,60,70,70,70,112,239,
-189,247,98,59,177,219,237,24,28,28,68,127,127,191,62,219,18,103,179,52,
-192,27,165,99,145,35,247,72,196,204,100,171,223,10,220,110,55,38,38,38,
-116,215,170,236,207,151,247,147,200,237,146,163,18,183,179,109,247,223,
-127,127,145,187,175,17,147,51,106,183,81,66,83,171,213,138,193,193,65,156,
-62,125,122,71,164,101,34,43,250,208,161,67,250,245,52,154,101,147,120,137,
-22,24,185,241,154,13,69,154,110,149,128,153,185,46,226,100,148,2,176,154,
-85,112,82,222,139,181,27,250,212,177,99,199,208,213,213,85,115,21,247,122,
-105,234,26,152,207,231,211,197,203,104,45,76,254,89,92,164,22,173,21,57,
-125,19,221,76,154,166,161,163,163,3,93,93,93,184,122,245,234,150,151,81,
-241,249,124,56,118,236,24,130,193,96,81,103,163,77,189,212,62,113,95,27,
-249,184,197,12,238,186,63,247,147,117,171,145,145,17,172,174,174,154,138,
-36,107,22,29,29,29,152,152,152,208,211,121,201,33,229,100,73,137,109,19,
-7,57,26,132,196,245,161,237,104,155,211,233,196,67,15,61,132,35,71,142,
-32,159,207,99,99,99,3,231,207,159,175,235,243,104,207,160,88,134,132,54,
-115,203,55,120,32,16,192,193,131,7,245,53,143,237,192,231,243,225,228,201,
-147,56,112,224,128,238,130,167,117,82,77,211,176,182,182,86,228,238,166,
-89,63,185,188,21,69,193,245,235,215,155,154,81,129,188,42,212,111,170,173,
-28,80,235,4,173,80,40,32,24,12,110,202,156,78,215,213,225,112,20,89,65,
-180,196,49,57,57,89,223,192,43,184,217,105,189,151,214,188,196,126,180,
-147,251,212,232,232,40,90,91,91,13,131,106,104,157,214,40,219,254,174,17,
-48,69,81,16,8,4,116,241,34,171,170,148,128,101,50,25,125,6,40,214,138,146,
-7,122,58,65,52,51,116,187,221,56,126,252,248,150,13,140,148,230,101,108,
-108,76,15,39,46,229,146,160,192,6,90,160,165,65,189,212,14,117,122,189,
-191,191,31,7,14,28,192,194,194,66,77,251,85,234,185,102,227,227,227,24,
-30,30,214,93,129,162,128,209,14,127,186,209,41,17,168,88,78,133,38,35,52,
-168,203,65,14,253,253,253,232,232,232,192,252,252,124,83,39,29,61,61,61,
-120,248,225,135,209,211,211,163,139,111,34,145,192,197,139,23,235,114,69,
-82,134,1,26,0,197,65,71,190,145,41,165,213,208,208,16,28,14,7,34,145,200,
-150,77,180,20,69,193,241,227,199,241,169,79,125,10,126,191,191,40,186,151,
-196,152,178,187,136,147,14,10,108,18,183,46,80,68,111,51,25,24,24,208,83,
-201,109,181,128,137,1,80,180,100,65,233,213,196,52,105,138,162,160,165,
-165,5,209,104,212,116,96,87,37,1,163,117,55,121,146,91,74,196,182,187,79,
-141,140,140,224,196,137,19,250,62,55,217,235,66,30,23,242,170,53,211,162,
-222,82,1,19,45,146,82,214,152,24,117,40,250,128,141,144,163,24,251,251,
-251,209,217,217,137,141,141,141,166,204,76,20,69,193,240,240,48,78,158,
-60,137,182,182,54,253,194,201,174,52,81,92,197,182,203,229,43,232,230,48,
-106,151,162,40,112,187,221,24,25,25,129,207,231,67,54,155,109,234,108,203,
-235,245,226,232,209,163,24,31,31,215,131,80,68,247,5,29,55,85,244,21,219,
-70,215,147,196,138,30,70,34,70,109,243,249,124,56,124,248,48,108,54,27,
-98,177,88,195,111,192,19,39,78,224,244,233,211,122,223,160,99,77,36,18,
-184,116,233,82,221,2,70,17,113,212,78,113,208,145,45,81,154,136,117,118,
-118,226,240,225,195,40,20,10,136,68,34,77,29,100,142,30,61,138,123,238,
-185,7,225,112,184,104,34,40,186,184,173,86,107,81,50,86,81,192,196,253,
-146,46,151,11,215,174,93,107,186,128,81,208,23,5,150,108,133,128,217,108,
-54,248,253,254,162,118,139,217,105,232,89,76,81,70,81,178,115,115,115,53,
-247,91,18,48,85,85,225,245,122,245,239,48,242,102,236,148,62,117,228,200,
-17,76,76,76,232,201,202,229,106,6,91,109,125,1,77,14,226,48,179,31,69,62,
-73,169,84,74,207,120,65,65,30,165,214,208,68,241,35,115,191,187,187,27,
-157,157,157,136,197,98,184,116,233,18,174,93,187,86,151,5,163,40,138,158,
-1,36,28,14,111,154,113,144,104,137,155,147,197,196,180,162,11,84,204,221,
-39,38,50,22,163,46,211,233,180,30,8,66,55,208,161,67,135,48,52,52,212,176,
-54,201,179,222,190,190,62,4,2,1,125,81,159,50,30,104,154,166,39,31,150,
-173,48,185,109,70,129,42,52,224,19,114,219,156,78,39,198,199,199,113,236,
-216,49,92,187,118,13,147,147,147,117,5,109,40,138,130,222,222,94,140,141,
-141,193,231,243,21,165,244,33,33,171,20,66,111,70,232,67,161,80,81,157,
-48,74,120,106,52,25,161,239,182,219,237,186,5,36,182,249,230,205,155,13,
-179,54,130,193,32,70,70,70,208,209,209,81,84,185,64,206,33,40,90,196,148,
-154,76,116,7,111,117,16,133,40,40,162,123,186,217,144,75,85,28,71,228,241,
-134,182,242,80,221,59,154,192,133,195,97,60,242,200,35,248,159,255,249,
-31,83,123,164,140,4,172,173,173,173,104,130,46,6,112,148,99,43,251,84,107,
-107,43,134,135,135,17,14,135,245,104,69,241,33,175,133,211,248,64,153,144,
-154,77,83,195,232,129,91,161,177,70,245,190,140,66,233,197,223,197,168,
-31,49,180,222,40,71,33,205,152,68,55,29,249,148,51,153,12,162,209,40,110,
-222,188,169,87,49,205,102,179,37,205,255,142,142,14,120,189,94,61,124,187,
-187,187,187,104,32,164,77,134,180,121,88,14,48,17,7,120,186,136,98,91,100,
-11,147,214,24,140,178,73,136,25,15,196,14,158,201,100,244,188,139,177,88,
-76,159,25,151,178,60,21,69,209,171,39,123,60,30,120,189,94,116,118,118,
-194,235,245,234,25,242,229,182,201,1,27,114,198,120,49,0,128,218,39,23,
-148,52,219,54,106,151,195,225,192,202,202,10,98,177,24,34,145,136,126,141,
-68,55,151,44,38,30,143,7,161,80,8,30,143,7,7,14,28,40,185,61,130,126,22,
-7,43,218,243,66,80,116,161,88,95,75,204,52,34,110,54,21,173,21,250,108,
-177,189,116,14,204,92,207,92,46,135,197,197,197,162,117,166,82,109,38,161,
-162,45,6,86,171,21,157,157,157,240,249,124,155,146,60,139,247,135,108,29,
-187,92,46,228,243,121,221,210,161,243,70,238,195,114,89,78,40,55,162,232,
-33,161,9,164,44,64,180,111,140,206,173,152,46,201,40,51,188,184,237,68,
-94,131,18,7,251,114,223,39,223,175,98,201,24,121,192,45,55,225,164,189,
-147,98,104,187,184,149,135,246,136,173,173,173,225,194,133,11,122,162,4,
-121,187,129,221,110,135,207,231,211,63,131,170,74,136,225,230,212,95,228,
-125,175,242,94,188,102,245,169,214,214,86,61,81,129,197,98,209,199,65,121,
-124,16,211,226,149,26,251,182,74,188,182,68,192,134,134,134,138,44,144,
-82,133,43,141,126,22,75,68,200,34,38,238,55,160,11,74,23,83,116,69,202,
-150,90,57,196,205,126,244,187,88,158,91,28,204,232,162,149,26,224,141,46,
-98,53,3,189,232,42,16,253,239,213,182,201,168,141,212,22,81,136,68,225,
-162,182,81,251,196,182,149,234,156,165,218,38,182,75,110,155,152,103,173,
-154,182,149,186,78,34,178,53,36,138,151,188,110,73,175,211,77,42,150,223,
-49,154,105,138,235,128,242,160,107,212,110,49,155,68,169,65,191,84,155,
-75,89,67,116,14,68,17,54,202,248,64,174,83,90,207,33,241,162,123,109,110,
-110,110,211,160,93,234,186,137,253,81,20,152,82,107,218,114,161,83,49,219,
-186,92,170,200,72,196,196,36,190,242,58,106,185,239,19,251,182,145,199,
-68,118,249,203,169,149,232,24,228,115,65,107,159,162,136,201,231,128,178,
-181,136,247,20,109,98,174,69,64,203,77,116,107,237,83,102,238,171,82,227,
-131,60,54,200,99,223,86,138,87,211,93,136,70,38,121,53,164,82,169,162,178,
-25,226,51,9,153,152,146,133,76,106,241,127,197,25,91,37,228,20,86,242,5,
-20,247,63,137,207,102,196,139,142,73,20,101,241,51,228,125,99,98,135,22,
-43,232,86,219,38,185,131,82,251,196,180,86,165,218,38,14,134,149,58,167,
-220,54,163,153,158,220,54,177,126,85,53,109,163,107,98,52,16,26,133,134,
-59,28,14,125,63,14,213,7,19,69,77,156,193,147,235,154,174,105,37,241,18,
-215,115,69,215,143,56,48,203,231,82,116,91,137,231,201,168,205,165,206,
-131,152,72,89,254,124,250,78,113,253,145,10,28,138,253,138,218,106,228,
-1,17,251,157,44,24,84,64,81,44,211,35,126,142,236,2,148,75,189,136,85,188,
-141,4,76,190,23,196,190,97,230,251,196,49,65,172,52,44,138,150,24,117,104,
-36,158,114,31,166,243,96,228,18,223,216,216,216,100,5,137,2,32,166,2,147,
-171,32,203,231,87,108,151,124,15,53,170,79,153,25,255,228,241,65,238,223,
-70,99,223,86,139,215,150,8,88,50,153,68,32,16,40,234,120,229,6,185,106,
-6,70,90,51,162,217,9,253,13,205,78,228,226,127,229,102,37,114,245,82,113,
-86,110,148,69,218,104,128,167,191,47,119,17,75,181,135,114,8,210,236,78,
-28,236,197,162,114,213,180,201,232,166,22,103,195,84,106,198,168,109,98,
-214,106,179,157,211,108,219,196,193,137,210,124,81,219,228,1,197,168,109,
-242,172,155,218,34,15,134,244,89,98,82,83,186,25,69,81,147,7,66,177,166,
-150,248,160,191,17,55,216,151,59,247,244,55,242,26,104,53,109,54,26,128,
-196,235,68,199,35,22,48,164,18,62,244,29,100,125,137,22,176,162,40,136,
-68,34,250,53,171,212,103,196,246,208,96,41,246,69,163,137,131,124,127,139,
-86,10,93,55,163,243,39,15,212,226,179,145,11,219,232,251,196,137,167,152,
-55,82,220,124,47,6,102,80,255,206,231,243,37,39,153,178,215,68,156,92,211,
-164,72,28,55,72,0,140,38,66,114,145,75,249,251,75,181,171,17,125,170,154,
-241,65,156,36,81,95,171,118,114,187,235,5,172,218,133,120,241,130,137,129,
-29,226,162,57,221,56,178,160,136,245,109,196,1,171,92,52,163,88,50,91,204,
-22,79,162,38,15,238,226,115,45,23,80,108,143,209,141,46,183,133,206,65,
-53,109,42,53,59,165,255,165,181,137,82,109,51,186,185,27,209,54,177,77,
-233,116,90,111,155,56,16,138,21,93,203,181,69,92,75,17,7,123,121,192,17,
-203,118,208,57,164,243,105,180,96,46,39,179,21,43,230,138,226,101,52,107,
-54,154,152,153,105,179,153,235,89,42,184,129,188,13,162,85,70,81,162,226,
-108,223,110,183,235,223,47,222,155,162,136,137,199,47,238,199,36,177,177,
-90,173,134,125,177,154,227,22,239,171,82,237,145,75,173,136,169,222,204,
-126,151,248,61,242,230,251,114,147,179,114,158,18,35,143,130,40,30,242,
-68,72,188,199,140,172,101,250,126,185,253,242,18,202,86,245,41,121,124,
-16,219,32,79,110,183,91,188,182,68,192,106,201,74,95,105,96,20,93,71,242,
-197,21,103,133,226,76,68,30,164,203,205,66,68,55,131,56,27,151,133,75,188,
-232,213,94,64,163,153,111,41,33,171,167,77,70,51,172,237,108,155,216,38,
-249,89,180,44,105,237,194,204,181,34,225,18,93,84,70,125,80,28,20,43,173,
-45,201,231,198,72,188,196,89,190,56,224,84,211,102,81,32,229,153,57,205,
-200,75,181,157,214,191,108,54,155,238,137,160,191,151,93,85,132,232,2,19,
-239,205,82,214,179,92,90,190,214,254,71,237,20,215,235,42,245,33,177,223,
-153,253,63,35,241,146,39,102,178,120,153,241,38,200,238,126,35,241,48,234,
-71,70,223,79,110,55,163,73,86,185,201,96,35,250,84,45,227,131,124,238,235,
-29,31,118,149,128,209,76,143,22,36,141,220,134,213,186,19,105,253,131,74,
-130,136,131,140,209,77,38,206,224,170,157,33,202,179,241,82,139,212,245,
-136,123,169,78,90,79,155,118,67,219,140,218,88,46,112,193,104,134,45,10,
-150,220,30,51,51,251,74,55,180,232,254,172,52,227,52,106,115,169,126,77,
-109,174,36,168,229,38,56,36,90,180,86,69,235,69,116,220,226,198,121,217,
-90,52,26,184,141,68,140,2,165,100,55,106,169,65,183,26,203,177,154,201,
-111,53,131,164,60,224,26,245,115,241,124,87,187,174,43,223,147,229,132,
-220,200,10,164,44,40,229,214,203,183,170,79,109,215,248,176,171,4,172,158,
-64,142,74,23,148,58,130,56,51,145,47,102,53,150,160,120,1,141,22,113,155,
-113,241,42,13,246,245,182,105,39,183,205,72,92,204,14,120,226,13,102,182,
-150,147,232,66,51,35,96,242,249,169,102,45,176,146,0,149,107,179,211,233,
-44,91,13,33,151,203,193,233,116,234,235,93,116,156,114,169,27,179,98,104,
-198,5,44,15,212,141,242,174,52,211,147,83,170,159,155,181,30,202,89,166,
-70,162,97,244,221,180,6,87,75,95,106,100,159,218,137,227,195,174,16,176,
-120,60,94,85,32,135,209,58,152,209,133,162,129,81,140,134,18,47,170,217,
-193,170,84,103,144,179,133,52,251,226,149,26,236,235,105,211,78,110,155,
-145,203,212,232,231,90,218,83,106,194,100,86,232,140,62,79,118,107,153,
-29,112,171,109,51,213,163,43,215,118,163,212,100,98,254,77,122,79,222,104,
-78,63,151,75,185,102,118,176,220,13,148,186,142,181,46,95,24,157,139,82,
-22,88,169,73,80,61,174,249,90,251,212,78,31,31,118,180,128,85,155,145,163,
-150,139,106,212,201,170,189,233,74,13,130,91,57,211,44,215,81,235,25,72,
-118,90,219,234,29,32,43,181,71,190,225,140,246,169,149,163,210,231,53,179,
-205,149,34,198,72,160,232,127,105,179,111,53,245,235,42,221,147,114,31,
-172,101,16,172,230,124,215,107,93,149,250,190,70,93,199,90,250,109,35,196,
-179,217,247,209,78,27,31,118,164,128,137,39,181,222,117,176,70,223,116,
-205,26,180,154,37,102,181,178,211,218,38,223,24,213,182,173,218,246,236,
-132,27,209,108,155,43,149,46,161,226,135,226,228,77,182,176,202,157,179,
-106,239,179,74,231,206,104,114,208,204,126,182,213,223,87,235,253,184,21,
-247,92,189,247,209,78,30,251,118,148,128,37,147,73,120,60,158,77,130,101,
-86,184,42,253,157,219,237,222,20,85,181,215,216,139,109,218,15,109,171,
-118,240,169,116,46,196,96,13,51,131,146,44,104,141,78,202,187,157,30,10,
-238,179,251,251,62,218,178,42,100,241,120,188,42,119,66,51,93,15,12,179,
-151,168,246,190,218,206,58,115,12,179,43,5,204,204,58,24,139,22,195,52,
-95,204,154,185,38,205,48,123,82,192,128,159,187,46,106,21,170,74,255,87,
-207,26,17,195,108,23,110,183,219,116,223,173,247,222,105,118,77,47,134,
-217,179,2,38,187,17,75,249,232,217,34,99,152,250,38,117,181,132,207,51,
-12,11,88,25,86,86,86,154,54,195,100,152,221,106,125,53,91,204,170,189,7,
-25,134,5,172,4,70,229,16,26,121,147,178,27,145,217,111,214,150,217,255,
-99,247,33,195,2,86,39,145,72,132,221,136,12,211,128,201,22,187,15,25,22,
-176,45,166,17,110,68,182,194,152,253,38,94,245,222,19,102,239,61,134,97,
-1,171,64,181,110,68,182,194,24,182,188,106,187,39,216,125,200,176,128,53,
-152,106,221,136,219,53,72,48,76,179,161,50,67,141,234,251,236,62,100,88,
-192,154,204,86,184,17,25,102,167,91,95,141,242,64,176,251,144,97,1,219,
-98,104,70,40,207,24,27,25,204,193,86,24,179,219,197,171,154,123,161,212,
-189,196,214,23,195,2,214,96,100,55,34,91,97,204,126,65,116,27,54,251,30,
-80,20,5,145,72,132,79,58,195,2,214,72,82,169,84,201,96,14,182,194,152,189,
-106,125,149,18,45,179,37,78,204,222,27,98,233,148,253,152,233,159,97,1,
-219,114,43,204,232,230,100,43,140,217,139,226,101,166,223,214,210,247,229,
-251,137,173,47,134,5,172,73,212,178,176,204,86,24,179,155,197,171,90,17,
-171,167,239,231,114,57,14,222,96,88,192,154,9,37,248,45,23,204,193,86,24,
-179,155,145,197,75,236,239,165,92,135,213,244,121,163,123,71,81,20,222,
-251,197,176,128,53,155,107,215,174,177,21,198,236,105,235,171,148,5,70,
-226,101,182,34,249,86,220,91,12,195,2,86,131,21,86,106,38,217,72,43,140,
-69,140,17,201,102,179,69,143,102,136,151,162,40,240,120,60,69,207,245,138,
-85,37,235,75,188,167,24,134,5,172,201,152,9,169,111,196,140,148,97,193,
-42,39,88,141,18,51,51,226,101,54,234,176,150,190,206,193,27,12,11,216,22,
-146,74,165,54,85,107,102,43,140,105,180,104,17,133,66,161,228,67,254,191,
-90,17,221,133,36,94,114,8,125,46,151,219,36,100,141,176,190,146,201,36,
-135,206,51,44,96,91,201,194,194,66,67,172,48,182,204,24,35,1,146,69,170,
-148,120,25,9,89,181,214,151,40,92,244,16,215,189,140,132,171,81,253,89,
-81,20,44,44,44,112,7,96,88,192,118,163,21,102,118,144,97,246,190,112,149,
-178,178,178,217,108,69,43,172,22,17,147,93,135,244,16,41,39,96,213,76,216,
-216,250,98,152,29,36,96,91,109,133,177,136,237,61,209,146,133,171,156,136,
-25,62,84,21,78,183,23,131,163,167,17,232,158,40,18,49,179,253,73,20,174,
-74,226,37,138,24,91,95,12,179,203,5,44,149,74,213,20,145,88,171,85,198,
-34,182,119,172,45,35,177,34,75,75,124,54,178,190,84,85,69,107,168,27,227,
-247,254,26,30,249,218,255,131,226,63,129,249,217,243,69,150,88,57,43,204,
-140,120,85,107,125,149,235,227,229,34,15,217,250,98,246,19,246,157,118,
-64,215,174,93,195,216,216,88,201,53,130,106,114,198,213,226,166,97,118,
-135,112,137,162,37,255,108,244,108,228,26,180,90,173,232,62,56,130,145,
-219,31,194,208,232,105,168,170,7,139,215,175,224,191,254,249,255,98,168,
-47,128,66,174,0,155,205,102,106,18,36,175,123,25,145,76,38,77,91,95,213,
-120,28,232,117,222,247,197,176,128,237,0,34,145,8,66,161,144,126,163,27,
-137,145,252,154,153,191,41,53,0,241,172,117,239,9,151,145,104,209,179,197,
-106,197,240,232,61,56,54,241,16,122,135,239,68,46,235,64,98,109,3,217,204,
-50,206,254,244,63,225,82,10,200,102,18,176,89,173,250,255,217,108,54,100,
-179,89,56,28,14,67,241,242,120,60,8,4,2,21,197,203,76,212,161,25,15,131,
-156,117,131,195,230,25,22,176,29,194,226,226,34,2,129,64,145,8,201,207,
-102,69,204,12,44,98,187,79,184,42,89,91,70,214,151,226,112,97,228,246,95,
-196,216,167,191,136,80,215,49,164,83,64,60,182,129,66,126,29,154,166,97,
-125,109,5,151,62,124,13,7,58,90,145,207,196,129,79,172,175,114,86,152,25,
-241,202,229,114,37,173,175,106,196,171,148,235,48,151,203,97,113,113,145,
-59,10,195,2,182,147,172,176,238,238,238,186,221,128,102,69,141,69,108,231,
-138,150,25,193,146,197,139,94,83,85,13,94,127,43,78,220,245,75,56,126,231,
-67,240,180,244,32,157,44,32,22,77,64,21,172,56,77,83,49,51,245,14,114,201,
-8,50,41,175,110,125,149,235,47,102,196,139,172,47,35,11,172,17,17,181,28,
-184,193,176,128,237,64,86,86,86,16,8,4,116,23,73,61,86,24,175,135,237,47,
-225,42,20,10,208,0,180,119,30,192,248,47,252,10,142,142,63,0,171,61,128,
-212,70,26,171,43,107,208,52,181,232,59,52,77,69,38,189,129,201,115,175,
-160,167,167,11,200,175,153,22,175,114,107,94,178,120,149,179,180,106,181,
-190,146,201,36,103,156,103,88,192,118,34,11,11,11,24,30,30,174,24,208,193,
-235,97,123,75,184,170,93,223,18,31,86,155,29,189,67,163,184,243,244,87,
-209,119,232,46,168,170,11,169,100,18,185,92,20,208,74,127,255,181,217,15,
-17,91,158,133,59,228,2,160,149,116,27,202,27,149,201,213,93,78,192,100,
-215,97,173,226,101,244,63,115,115,115,220,121,24,22,176,157,8,133,213,211,
-32,81,42,160,163,145,176,136,237,60,225,42,231,34,164,159,21,167,27,67,
-99,19,184,227,212,111,160,163,119,20,217,140,13,137,181,4,10,249,202,37,
-69,114,217,52,46,188,247,2,14,244,246,34,151,188,89,82,188,68,143,64,32,
-16,168,40,94,241,120,188,100,240,70,45,200,129,27,28,54,207,176,128,237,
-112,174,93,187,166,187,104,182,202,149,200,34,182,117,162,85,202,202,42,
-101,117,201,226,229,11,180,227,208,137,123,49,254,153,199,208,18,28,64,
-38,165,97,53,186,94,180,190,85,14,77,83,177,180,48,139,133,107,23,209,17,
-180,195,2,227,160,13,209,242,50,35,94,205,118,29,230,114,57,14,155,103,
-88,192,118,195,65,46,44,44,160,191,191,127,203,92,137,44,98,219,47,92,229,
-196,75,85,85,180,117,30,192,241,59,30,196,137,187,190,4,197,25,66,58,153,
-53,92,223,170,68,161,144,199,197,179,47,34,20,106,67,46,117,179,40,76,222,
-102,179,193,102,179,193,231,243,85,37,94,165,162,14,217,117,200,48,251,
-80,192,214,214,214,202,186,18,89,196,118,143,112,213,179,190,165,105,26,
-122,135,70,113,219,221,95,194,240,241,123,1,75,11,82,201,52,146,27,49,104,
-154,86,245,113,105,154,138,88,228,58,102,166,222,65,184,213,6,124,34,88,
-16,172,48,178,188,236,118,187,41,241,2,140,93,135,245,136,151,145,235,112,
-109,109,141,59,22,195,2,182,91,14,180,156,43,177,22,88,196,118,134,112,
-85,18,47,85,85,97,177,88,49,52,122,55,110,255,236,175,160,231,224,237,200,
-231,157,216,216,88,71,62,23,173,235,248,52,85,197,71,231,223,128,98,43,
-32,157,76,232,66,65,226,229,114,185,96,183,219,97,183,219,209,209,209,81,
-181,120,85,178,164,204,246,83,241,153,93,135,12,179,11,5,12,0,230,230,230,
-244,168,196,70,108,112,102,17,107,174,104,149,178,178,74,89,93,197,251,
-183,84,40,78,23,78,220,241,0,110,187,231,49,4,218,7,145,77,91,176,22,223,
-64,33,191,81,247,113,106,154,138,196,90,4,83,31,190,10,191,207,137,124,
-38,173,187,12,93,46,23,28,14,7,92,46,23,90,90,90,224,118,187,77,139,87,
-60,30,175,104,121,153,181,190,140,158,167,167,167,185,147,49,204,110,20,
-176,84,42,165,167,153,106,196,122,88,53,176,136,53,78,184,202,175,111,105,
-240,6,130,24,255,204,163,24,251,212,47,193,229,233,68,42,149,71,60,186,
-14,85,45,52,236,120,53,77,195,204,165,119,144,75,175,34,171,101,161,40,
-10,108,54,27,156,78,39,108,54,27,20,69,129,219,237,134,219,237,134,223,
-239,175,74,188,204,90,85,229,196,203,232,127,34,145,8,247,65,134,217,173,
-2,6,220,74,51,37,86,184,221,170,245,48,22,177,230,10,151,6,32,220,61,136,
-137,83,191,130,195,99,191,8,88,253,72,39,211,88,141,174,214,180,190,85,
-201,250,74,167,18,152,60,247,50,2,126,47,242,233,12,0,192,233,116,234,46,
-67,151,203,5,191,223,175,91,96,149,196,171,209,65,27,70,27,150,57,93,20,
-195,236,114,1,3,128,153,153,25,140,140,140,20,9,144,89,33,98,17,107,188,
-112,153,13,204,48,122,205,102,87,208,127,228,4,78,222,243,24,6,142,254,
-2,242,57,231,45,49,200,70,155,122,252,215,102,62,196,234,202,53,248,221,
-121,216,108,54,120,60,30,221,2,243,249,124,104,107,107,67,75,75,139,41,
-203,139,66,230,235,17,47,163,215,197,231,169,169,41,30,173,24,102,47,8,
-24,80,28,90,95,205,122,24,139,88,243,132,171,26,241,114,186,189,56,122,
-226,23,112,226,174,47,161,163,119,20,153,180,21,137,248,6,242,185,141,230,
-183,33,147,194,197,179,47,33,212,222,134,236,198,34,220,110,159,30,46,79,
-150,23,89,93,229,172,47,217,109,88,141,120,153,17,45,122,230,144,121,134,
-217,99,2,182,182,182,102,184,30,198,34,214,92,209,42,101,101,149,19,46,
-49,162,208,235,15,226,196,221,15,227,216,196,231,225,15,14,34,157,44,84,
-181,241,184,94,110,109,92,158,198,194,181,139,104,245,170,112,187,221,176,
-219,237,240,122,189,176,219,237,8,6,131,104,105,105,129,221,110,175,104,
-121,213,35,94,229,220,133,226,235,145,72,132,67,230,25,102,175,9,24,240,
-243,245,48,10,175,47,39,72,205,18,49,0,123,86,200,26,25,152,209,209,59,
-128,219,238,121,20,135,70,63,7,135,187,3,169,100,166,166,141,199,245,82,
-40,228,113,225,236,75,8,133,218,128,108,4,78,167,19,94,175,23,46,151,11,
-173,173,173,112,185,92,101,255,63,151,203,213,181,230,85,74,188,228,247,
-21,69,225,117,47,134,217,203,2,6,84,94,15,107,182,136,237,69,107,172,81,
-27,143,97,177,162,103,240,24,110,255,236,175,225,224,225,187,0,139,31,169,
-100,18,169,104,172,225,129,25,102,173,175,232,242,60,174,124,244,14,66,
-173,10,236,14,135,46,96,62,159,79,223,180,44,79,80,8,90,235,50,91,26,165,
-26,241,50,218,239,53,51,51,195,35,20,195,236,101,1,3,128,169,169,41,22,
-177,45,18,46,83,27,143,109,118,28,186,237,110,220,121,234,215,17,234,25,
-69,62,231,64,50,89,255,198,227,122,81,85,21,83,31,188,138,22,159,7,90,62,
-14,187,219,13,167,211,169,239,247,34,183,161,145,251,176,92,98,222,70,139,
-23,245,105,134,97,246,129,128,1,229,131,58,234,17,49,209,69,100,70,196,
-128,221,229,82,108,228,198,99,79,75,43,14,223,118,47,78,220,253,101,4,218,
-134,144,203,88,144,136,223,170,120,188,221,104,154,138,68,124,25,151,47,
-190,129,160,15,176,91,92,240,120,60,240,249,124,240,249,124,37,175,165,
-108,117,137,253,193,236,38,229,106,196,139,131,54,24,102,31,10,216,218,
-218,26,110,220,184,129,158,158,158,134,138,216,94,181,198,26,182,127,75,
-211,208,26,238,193,216,167,31,194,232,29,143,192,225,234,64,58,157,199,
-90,172,177,27,143,235,23,48,13,51,83,239,0,106,26,86,77,131,211,229,214,
-93,135,148,235,144,158,73,164,140,220,133,205,22,175,133,133,5,14,218,96,
-152,253,38,96,0,16,141,70,161,40,10,194,225,48,139,152,9,225,170,127,125,
-235,56,142,223,249,32,70,110,123,80,79,172,155,138,173,110,203,250,86,37,
-235,43,149,92,195,228,251,47,163,171,51,4,228,86,245,192,13,217,93,152,
-207,223,218,23,86,42,80,163,153,226,21,137,68,184,186,50,195,236,87,1,3,
-128,155,55,111,66,81,20,180,182,182,238,8,17,3,118,134,75,177,17,235,91,
-183,54,30,59,48,60,118,39,78,220,245,40,250,15,223,141,92,214,129,141,141,
-141,109,95,223,170,196,220,244,7,216,136,47,162,213,229,134,239,19,241,
-34,241,16,173,174,84,42,5,171,213,106,104,117,53,83,188,226,241,56,71,28,
-50,204,126,23,48,0,152,159,159,7,0,93,196,140,4,104,171,68,108,187,133,
-204,72,184,106,77,172,59,118,247,253,56,126,199,67,8,119,31,71,38,99,67,
-60,182,190,35,214,183,42,158,131,76,10,23,223,127,9,125,125,189,176,169,
-113,88,44,22,88,44,22,216,237,118,228,243,121,36,18,137,79,44,53,13,86,
-171,21,233,116,122,147,112,53,90,188,196,223,227,241,56,103,152,103,24,
-22,176,98,17,179,219,237,250,2,125,37,225,170,86,196,140,6,56,51,66,182,
-21,34,214,200,194,145,222,64,27,78,222,243,69,28,29,255,60,252,193,131,
-72,38,243,88,141,109,108,217,198,227,122,209,52,21,55,111,124,140,232,205,
-25,120,187,189,122,174,67,0,88,95,95,135,203,229,130,166,105,208,52,13,
-249,124,94,47,104,105,182,28,74,173,226,37,238,245,98,241,98,24,22,176,
-77,92,185,114,5,3,3,3,77,17,177,157,104,141,53,66,184,84,85,133,166,1,109,
-157,125,184,253,179,143,225,208,232,47,66,113,133,144,218,72,35,182,18,
-223,242,141,199,245,146,207,103,113,225,204,139,104,13,120,161,230,51,128,
-253,214,70,229,116,58,13,151,203,133,84,42,5,77,211,138,220,136,102,172,
-174,70,137,23,239,245,98,24,22,48,211,34,70,131,84,57,17,43,53,3,111,148,
-75,177,209,66,214,136,192,12,85,85,97,177,218,208,51,112,12,119,124,238,
-55,209,119,232,78,104,170,7,169,100,18,201,100,108,199,5,102,152,181,190,
-98,203,215,49,247,241,25,116,135,93,176,88,44,40,20,10,200,231,243,176,
-219,237,72,165,82,112,58,157,250,181,37,235,171,146,120,153,121,189,210,
-154,23,139,23,195,176,128,85,37,98,94,175,23,249,124,190,230,34,152,141,
-118,41,214,43,100,181,6,102,136,175,169,170,10,135,203,131,131,71,110,199,
-196,169,175,162,163,231,56,178,89,59,214,215,18,40,228,163,187,250,186,
-171,170,138,169,15,95,67,107,107,11,114,217,85,40,159,156,107,138,52,36,
-183,33,85,96,110,132,213,197,226,197,48,44,96,77,17,177,222,222,94,4,2,
-1,20,10,133,134,139,88,61,214,88,53,66,214,168,196,186,22,139,5,46,95,0,
-35,183,221,139,137,83,191,14,159,191,31,233,148,138,213,216,250,174,89,
-223,170,100,125,37,226,203,248,232,194,27,8,5,172,200,103,52,20,10,5,221,
-85,40,11,23,89,95,205,22,47,14,216,96,24,22,176,154,184,126,253,58,0,192,
-239,247,223,138,172,171,67,196,74,89,92,245,88,99,229,132,172,81,235,91,
-170,170,162,189,171,31,199,238,120,16,99,119,62,2,197,21,70,58,153,221,
-149,235,91,229,5,76,195,244,165,183,97,213,210,72,173,167,160,40,118,253,
-117,155,205,6,155,205,6,187,221,174,139,88,181,194,197,226,197,48,44,96,
-219,34,98,185,92,14,193,96,176,72,160,68,225,145,69,168,148,40,85,178,198,
-26,33,100,241,120,124,147,104,85,178,180,228,223,85,85,133,170,105,232,
-25,56,134,209,59,31,198,209,241,251,161,106,190,93,189,190,85,201,250,74,
-109,196,49,121,238,101,180,181,181,34,179,158,46,18,45,249,58,201,107,95,
-141,176,186,100,241,138,68,34,188,207,139,97,88,192,234,103,105,105,9,249,
-124,30,161,80,8,22,139,197,116,84,98,45,249,18,107,117,43,146,197,229,118,
-187,117,81,74,165,82,213,39,214,181,218,48,52,250,25,220,118,247,163,56,
-48,124,39,242,57,7,214,215,119,254,198,227,122,153,155,249,0,153,141,24,
-148,92,18,118,251,207,173,45,81,200,202,149,78,169,199,234,146,197,107,
-97,97,129,51,108,48,12,11,88,227,136,70,163,72,165,82,232,238,238,214,243,
-224,213,42,98,141,178,198,74,185,9,243,249,60,0,192,106,181,194,106,181,
-162,80,40,32,155,205,150,221,120,108,119,184,48,58,113,63,78,220,253,40,
-66,157,71,144,74,106,88,91,77,238,138,141,199,245,146,205,164,112,225,236,
-75,104,15,250,145,77,38,55,89,95,138,162,232,174,67,35,235,171,81,226,5,
-0,211,211,211,251,182,122,55,195,176,128,53,145,84,42,133,153,153,25,12,
-13,13,193,233,116,110,114,35,150,114,33,150,115,41,86,178,198,140,222,175,
-36,92,162,101,69,175,81,54,9,250,127,42,28,233,11,180,97,252,23,190,140,
-227,19,95,128,219,215,133,84,42,143,216,74,98,71,37,214,109,38,154,166,
-98,225,218,20,162,55,103,208,214,130,162,181,46,187,221,14,167,211,105,
-232,74,172,85,184,100,107,75,156,204,112,73,20,134,97,1,107,58,51,51,51,
-232,239,239,215,215,157,140,214,197,26,101,141,137,3,221,198,198,70,213,
-194,69,150,86,62,159,255,121,126,66,155,29,237,93,253,152,184,247,127,99,
-120,244,52,96,109,65,106,35,141,213,232,222,10,204,48,67,62,159,197,133,
-179,47,161,173,173,21,106,250,38,28,159,20,173,36,43,172,210,53,169,215,
-234,226,48,121,134,97,1,219,114,230,230,230,208,209,209,129,64,32,176,73,
-132,42,185,20,171,181,198,200,226,82,20,5,249,124,94,23,167,82,194,37,186,
-7,233,119,90,223,234,29,30,195,237,247,126,5,7,134,239,68,46,163,236,138,
-196,186,205,180,190,162,75,243,184,54,125,6,161,86,165,72,188,200,226,146,
-67,231,27,157,156,151,131,53,24,134,5,108,91,88,90,90,66,42,149,66,87,87,
-151,190,225,153,68,200,76,182,142,74,97,245,162,171,144,196,10,184,229,
-14,44,37,84,178,245,117,43,177,174,27,131,71,38,112,242,51,191,138,142,
-222,81,164,83,22,196,163,235,40,228,19,251,250,250,169,133,2,38,63,248,
-9,218,67,33,168,233,5,216,61,158,34,225,18,43,46,211,186,103,181,86,151,
-44,88,242,36,136,107,121,49,12,11,216,182,145,72,36,144,72,36,208,223,223,
-175,103,107,168,198,165,40,11,91,38,147,249,249,201,182,219,245,76,231,
-70,238,66,90,211,162,32,13,81,196,84,85,133,203,235,199,232,196,253,56,
-121,207,151,225,245,247,33,157,44,220,90,223,42,20,248,194,1,88,139,47,
-227,227,139,111,34,20,176,161,32,88,90,226,122,23,5,112,80,10,169,70,88,
-93,236,50,100,24,22,176,29,133,232,82,20,211,79,201,194,85,202,26,203,100,
-50,69,175,145,96,145,72,137,194,37,255,44,62,231,114,57,4,195,189,56,254,
-169,71,112,252,142,207,195,166,180,33,149,204,32,22,89,221,119,217,131,
-137,118,0,0,19,4,73,68,65,84,235,91,101,173,47,181,128,233,201,159,193,
-138,44,114,233,140,46,84,244,160,226,149,70,235,96,245,100,216,96,151,33,
-195,176,128,237,72,150,150,150,144,72,36,208,221,221,173,215,138,178,217,
-108,21,55,59,147,213,37,174,113,201,235,92,228,54,164,191,149,133,75,211,
-52,244,12,141,225,196,93,95,66,223,161,187,160,170,110,164,146,73,228,19,
-123,111,227,113,35,72,174,175,98,242,220,203,8,183,183,34,155,92,214,221,
-132,46,151,107,147,104,145,245,85,143,112,229,114,57,14,145,103,24,22,176,
-157,13,133,218,247,246,246,234,201,128,109,54,155,110,81,25,9,151,40,84,
-162,96,229,114,185,77,86,22,253,77,38,147,185,229,70,180,90,49,112,236,
-110,140,127,246,87,17,238,57,134,108,70,193,122,98,125,223,6,102,152,65,
-211,84,204,205,124,128,84,98,25,110,139,5,246,79,92,132,98,0,135,153,180,
-81,149,10,79,210,51,167,132,98,24,22,176,93,197,245,235,215,225,247,251,
-17,14,135,97,181,90,117,139,76,142,28,204,231,243,250,30,45,18,44,217,194,
-202,100,50,250,239,244,191,14,151,27,135,79,254,47,140,221,245,37,120,90,
-122,145,73,105,88,141,174,243,250,150,9,50,233,36,46,158,125,17,93,93,29,
-208,178,81,56,28,142,162,194,149,162,8,153,89,251,42,103,117,113,160,6,
-195,176,128,237,74,214,214,214,176,182,182,134,3,7,14,192,227,241,64,85,
-85,216,108,182,162,232,66,10,212,32,33,3,160,255,78,2,38,138,158,203,23,
-196,109,119,60,128,209,59,127,9,118,71,27,82,169,60,86,87,214,120,125,171,
-10,235,107,225,218,37,220,188,126,9,7,58,125,155,146,244,146,27,209,204,
-198,229,114,1,27,108,117,49,12,11,216,158,96,126,126,30,110,183,27,157,
-157,157,208,52,173,40,201,174,24,30,47,138,149,248,187,166,1,45,237,61,
-24,251,244,47,97,104,244,52,84,213,131,84,50,141,245,245,85,94,223,170,
-146,124,62,135,201,115,63,65,111,111,31,144,91,134,205,230,40,187,254,85,
-73,184,100,171,43,153,76,98,110,110,142,215,186,24,134,5,108,239,144,74,
-165,240,209,71,31,161,173,173,13,94,175,23,138,162,232,226,35,6,110,228,
-243,249,159,91,100,86,27,250,71,238,192,161,219,30,64,247,192,29,200,101,
-21,36,214,54,120,125,171,14,235,107,229,230,85,92,189,252,30,250,186,91,
-0,33,93,148,184,231,139,16,171,114,87,18,174,92,46,199,73,120,25,134,5,
-108,111,66,110,195,229,229,101,44,47,47,163,173,173,13,30,143,7,217,108,
-118,147,144,185,60,62,116,15,142,227,208,201,7,209,26,58,140,116,10,136,
-199,54,246,253,198,227,122,81,85,21,151,62,120,21,109,65,63,52,53,5,215,
-39,129,27,36,92,54,155,13,138,162,24,174,133,149,250,157,67,227,25,134,
-5,108,95,81,40,20,244,1,47,24,12,194,110,183,35,155,205,194,237,107,197,
-224,216,231,208,115,232,30,56,221,157,72,39,243,136,69,121,227,113,163,
-172,175,181,213,37,124,60,249,83,244,116,120,80,200,36,127,222,169,63,113,
-33,138,194,37,38,107,46,37,92,188,206,197,48,44,96,251,74,184,228,223,151,
-150,150,16,234,30,192,248,231,190,130,174,131,119,0,86,63,82,201,52,86,
-87,226,28,152,209,80,1,211,112,249,194,27,64,126,29,185,116,22,142,79,44,
-45,151,203,165,7,109,136,143,114,1,26,188,206,197,48,44,96,251,6,185,252,
-9,0,216,236,10,58,251,71,48,122,215,151,17,234,61,1,77,245,96,35,153,68,
-62,199,27,143,155,65,106,35,142,75,31,188,134,190,254,62,20,210,43,250,
-190,47,57,223,161,88,184,146,133,139,97,88,192,24,201,234,42,20,10,232,
-30,156,192,137,207,252,31,192,170,32,178,184,10,155,125,227,147,253,96,
-86,62,73,13,183,190,84,92,249,248,44,214,87,231,17,242,6,55,137,149,108,
-121,201,201,119,217,85,200,48,44,96,140,192,245,233,183,176,112,245,44,
-90,218,6,225,240,118,163,189,235,40,252,193,46,120,91,218,224,112,186,89,
-204,26,72,38,157,196,133,51,47,226,208,240,33,20,50,17,221,109,72,150,22,
-137,21,9,26,69,21,114,112,6,195,176,128,49,18,180,215,40,155,78,98,233,
-218,7,80,213,247,113,243,234,207,208,26,30,129,219,223,131,142,158,163,
-104,105,13,195,227,107,133,221,238,96,33,171,211,250,186,49,55,137,200,
-194,71,8,28,12,233,110,67,122,184,221,238,77,235,94,28,14,207,48,44,96,
-76,9,241,162,96,14,18,178,66,161,128,141,248,50,18,177,155,40,168,42,22,
-66,67,104,105,59,136,182,174,17,116,246,30,134,199,23,132,203,229,131,213,
-102,99,49,171,146,124,62,139,139,103,95,66,127,127,63,44,150,117,56,157,
-30,195,192,141,84,42,133,249,249,249,77,129,54,12,195,176,128,237,107,28,
-14,7,178,217,108,145,120,25,89,100,183,6,220,60,34,11,83,88,186,62,137,
-185,169,159,160,189,103,20,158,150,46,28,24,158,64,48,212,7,175,175,21,
-138,195,197,46,70,147,214,87,228,230,85,92,155,125,31,35,131,29,176,89,
-29,69,235,94,249,124,30,209,104,20,241,120,92,191,78,12,195,176,128,49,
-21,172,176,114,98,71,5,42,179,153,36,174,79,191,5,85,85,113,125,250,77,
-132,15,140,33,24,26,66,103,223,49,4,130,157,112,123,253,236,98,44,131,170,
-170,152,124,255,21,120,156,128,213,90,208,215,183,34,145,8,82,169,84,81,
-253,47,134,97,88,192,152,42,172,48,51,66,70,143,141,181,37,36,206,191,0,
-139,197,134,246,174,195,8,245,28,67,168,251,48,58,122,14,193,219,210,6,
-167,203,7,171,213,202,98,38,88,95,241,232,34,166,39,127,134,131,189,157,
-88,79,196,176,116,243,38,28,14,7,28,14,199,38,225,98,235,139,97,88,192,
-152,42,44,176,66,161,176,73,196,72,224,202,61,150,111,76,226,230,252,69,
-56,221,62,116,246,221,134,64,123,63,122,7,199,17,108,239,133,135,93,140,
-159,8,152,134,143,46,188,129,124,38,134,197,235,43,80,20,123,145,112,209,
-121,103,235,139,97,246,209,216,59,62,62,254,77,62,13,181,11,23,89,95,86,
-171,181,232,217,104,48,181,217,108,176,90,173,134,15,139,197,2,77,205,99,
-45,122,13,55,175,125,136,229,27,147,136,69,174,35,177,118,43,209,175,197,
-102,131,205,102,215,107,141,237,55,146,235,171,120,237,199,223,69,171,223,
-141,66,110,67,223,223,165,40,202,166,115,201,214,23,195,176,5,198,152,128,
-92,137,162,160,149,179,194,140,172,50,178,222,196,71,34,118,3,241,149,121,
-204,92,124,25,221,253,99,104,235,58,130,80,215,97,132,187,135,224,243,135,
-224,112,122,246,141,139,81,211,84,204,126,244,30,214,86,174,193,234,179,
-192,110,183,21,89,94,188,246,197,48,44,96,76,29,34,6,64,95,19,171,100,177,
-145,200,149,19,48,241,245,197,185,15,112,227,202,251,112,186,253,232,234,
-191,13,173,225,65,244,28,60,161,187,24,237,138,115,79,187,24,51,233,36,
-46,156,125,17,61,61,61,72,175,47,150,21,44,182,190,24,134,5,140,105,128,
-53,86,73,200,74,9,90,41,81,203,101,214,113,237,242,155,152,187,252,38,174,
-94,234,67,103,223,24,218,187,14,163,163,231,48,252,173,157,112,186,125,
-176,219,111,109,222,221,43,98,70,21,151,151,174,79,161,205,127,203,69,40,
-175,121,177,245,197,48,44,96,76,131,173,49,35,33,147,197,75,92,71,43,39,
-94,242,107,107,209,107,136,45,95,129,205,238,64,87,255,24,66,61,199,208,
-22,30,68,103,239,225,91,233,171,28,110,88,246,128,139,49,159,207,226,195,
-247,254,7,225,112,8,133,244,50,108,118,165,164,104,177,245,197,48,44,96,
-76,19,133,204,104,141,76,22,55,179,22,25,189,182,120,245,28,174,207,156,
-129,203,19,64,207,192,4,90,195,3,232,238,31,69,48,116,0,110,143,127,215,
-186,24,53,77,197,242,226,21,204,77,159,65,123,203,102,235,75,180,192,24,
-134,97,1,99,154,36,100,36,102,70,131,173,156,209,195,200,197,40,11,152,
-145,160,229,50,235,184,58,245,42,174,76,189,138,43,237,253,232,30,24,71,
-107,104,16,29,61,135,16,8,118,193,229,246,193,106,187,117,201,119,131,152,
-169,133,2,46,157,123,5,30,151,2,181,144,132,162,40,155,92,135,12,195,176,
-128,49,59,68,204,74,137,88,37,1,147,127,143,175,204,33,186,52,11,171,93,
-65,103,239,40,194,189,199,17,238,57,130,112,215,32,188,45,237,112,56,92,
-59,218,197,168,105,42,226,177,155,248,248,226,207,16,240,42,80,115,214,
-77,123,189,120,227,50,195,176,128,49,219,40,102,102,130,62,100,81,51,107,
-145,209,107,75,243,31,98,113,238,28,220,190,118,116,31,60,137,96,120,8,
-157,7,70,16,12,29,128,199,215,10,155,77,217,113,46,198,91,21,151,223,68,
-62,179,138,140,165,160,103,150,231,141,203,12,195,232,99,34,111,100,222,
-230,11,32,12,200,133,66,161,104,67,46,0,125,221,135,126,150,45,16,250,91,
-121,147,180,188,193,215,98,177,32,151,77,98,53,114,5,11,87,207,34,178,112,
-25,137,248,50,82,27,235,80,85,13,86,235,206,217,40,173,105,234,173,141,
-203,255,253,12,130,1,23,10,185,36,111,92,102,24,134,45,176,189,98,149,85,
-10,197,175,100,161,197,35,87,17,189,57,3,187,226,66,87,255,137,91,225,248,
-189,71,209,222,49,176,237,69,56,53,77,195,236,71,239,33,17,187,1,139,71,
-133,162,216,121,227,50,195,48,44,96,187,73,200,204,138,153,145,160,85,18,
-176,159,191,174,98,225,202,25,92,159,121,23,110,95,59,58,251,78,32,220,
-61,130,206,190,227,104,109,235,130,219,235,223,82,23,163,166,169,200,102,
-146,184,248,254,75,232,234,238,66,58,177,192,27,151,25,134,97,1,219,11,
-98,86,46,138,177,212,179,89,65,203,36,99,152,189,248,50,174,78,189,138,
-246,206,195,232,56,112,28,109,157,135,208,209,125,8,254,96,7,156,78,239,
-150,20,225,188,126,117,18,203,55,62,66,176,197,120,205,139,173,47,134,97,
-88,192,118,169,152,53,195,197,40,191,22,189,121,25,203,55,46,193,166,56,
-209,121,96,12,157,7,70,17,238,57,138,246,142,126,248,252,109,77,219,91,
-150,207,101,112,225,236,139,8,133,218,145,79,45,193,102,144,113,158,173,
-47,134,97,88,192,246,136,85,86,73,204,140,4,205,140,69,118,235,117,13,55,
-231,222,199,194,149,51,240,250,195,232,232,29,69,71,223,24,194,93,135,208,
-218,222,13,183,55,208,176,244,85,154,166,98,105,97,22,243,211,239,163,45,
-96,99,235,139,97,24,22,176,253,36,102,205,116,49,166,214,87,48,115,241,
-101,92,153,122,21,193,240,32,122,14,222,142,182,79,50,228,183,4,66,122,
-17,206,90,197,76,45,20,48,121,238,21,120,60,118,228,179,235,122,189,47,
-51,2,205,48,12,11,24,179,7,196,204,76,250,170,122,93,140,171,203,179,88,
-89,252,24,138,195,141,112,239,45,247,98,87,255,40,218,194,253,240,181,4,
-171,118,49,106,154,138,213,232,2,166,47,189,133,80,192,137,108,42,85,118,
-207,23,187,15,25,134,97,1,219,167,86,89,37,43,205,140,69,118,235,145,197,
-205,185,179,88,184,114,6,31,127,24,66,87,255,9,132,123,142,161,179,119,
-4,129,182,46,184,189,1,216,76,164,175,210,84,21,83,231,95,135,150,95,71,
-122,163,80,50,109,20,91,98,12,195,232,227,22,111,100,222,227,23,184,138,
-141,210,70,207,229,54,74,211,231,234,27,165,51,27,88,185,57,141,133,171,
-103,16,89,156,198,90,108,9,153,76,10,26,0,155,77,129,213,106,195,173,61,
-210,90,209,102,105,77,83,177,145,136,225,245,31,127,23,109,1,39,212,124,
-90,223,180,76,159,79,153,56,120,227,50,195,48,108,129,237,99,203,108,43,
-92,140,20,197,56,59,249,2,218,187,143,33,220,115,12,29,189,71,209,22,238,
-131,87,42,194,169,105,26,102,166,222,70,38,25,69,22,5,125,237,139,211,70,
-49,12,195,2,198,24,10,25,137,89,45,46,70,51,37,95,0,32,159,77,225,198,204,
-59,88,152,125,23,94,127,7,58,14,220,170,93,214,213,119,20,254,64,7,92,158,
-22,228,178,105,76,158,251,9,58,194,65,228,82,43,101,51,110,176,245,197,
-48,12,11,24,99,90,204,106,41,194,105,244,94,54,21,195,213,75,175,96,241,
-202,91,184,209,113,8,193,206,35,104,239,62,130,108,54,139,216,242,21,116,
-4,109,69,214,151,124,12,12,195,48,44,96,76,89,49,107,68,17,78,35,1,19,89,
-93,254,24,171,203,31,227,230,149,215,225,13,244,163,35,228,135,77,75,150,
-205,121,200,214,23,195,48,44,96,76,195,172,178,82,86,90,37,1,35,180,66,
-14,235,209,233,138,201,122,89,188,24,134,97,1,99,154,38,102,149,92,141,
-165,44,56,249,153,3,55,24,134,97,1,99,154,34,102,181,68,49,86,202,219,88,
-238,153,173,47,134,97,88,192,152,45,179,202,140,196,204,172,128,177,120,
-49,12,195,2,198,236,24,49,43,39,98,70,194,197,226,197,48,12,11,24,179,229,
-98,102,54,67,190,145,104,177,112,49,12,195,2,198,236,8,171,172,26,65,99,
-225,98,24,134,5,140,217,209,130,198,48,12,211,8,172,124,10,24,134,97,24,
-22,48,134,97,24,134,97,1,99,24,134,97,24,22,48,134,97,24,134,5,140,97,24,
-134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,
-48,134,97,24,134,97,1,99,24,134,97,24,22,48,134,97,24,134,5,140,97,24,134,
-97,88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,48,134,
-97,24,134,97,1,99,24,134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,
-88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,48,134,
-97,24,134,97,1,99,24,134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,
-234,194,206,167,128,97,246,55,247,220,115,15,190,248,197,47,162,163,163,
-3,27,27,27,120,251,237,183,241,207,255,252,207,200,102,179,250,251,143,
-62,250,40,66,161,16,34,145,8,126,244,163,31,225,103,63,251,89,209,255,151,
-122,255,153,103,158,41,249,189,95,251,218,215,182,237,152,1,192,98,177,
-224,15,255,240,15,49,54,54,182,233,88,202,189,39,67,109,172,167,61,70,159,
-215,232,115,86,239,241,208,119,159,58,117,10,143,61,246,24,90,90,90,112,
-241,226,69,252,245,95,255,117,195,62,155,5,140,97,24,211,76,76,76,224,235,
-95,255,186,254,123,32,16,192,3,15,60,0,191,223,143,191,255,251,191,199,
-209,163,71,139,222,239,234,234,194,147,79,62,137,120,60,142,201,201,201,
-138,239,151,226,141,55,222,216,182,99,6,128,131,7,15,226,171,95,253,42,
-70,70,70,54,125,126,185,247,24,224,241,199,31,135,162,40,248,253,223,255,
-125,100,50,25,182,192,24,134,217,30,30,124,240,65,0,192,127,254,231,127,
-226,217,103,159,197,196,196,4,158,124,242,73,76,76,76,0,0,238,191,255,126,
-0,192,75,47,189,132,31,254,240,135,248,141,223,248,13,220,123,239,189,184,
-239,190,251,48,57,57,89,241,125,121,102,253,232,163,143,226,243,159,255,
-60,126,240,131,31,108,219,49,3,192,55,191,249,77,92,189,122,213,240,243,
-203,189,87,142,251,238,187,15,143,62,250,40,0,224,63,254,227,63,240,226,
-139,47,2,0,190,245,173,111,33,20,10,225,143,255,248,143,17,137,68,16,14,
-135,241,212,83,79,97,121,121,25,223,248,198,55,106,178,182,200,114,121,
-234,169,167,240,228,147,79,98,113,113,17,127,245,87,127,133,206,206,78,
-60,241,196,19,24,26,26,130,213,106,197,252,252,60,190,247,189,239,97,118,
-118,182,232,255,190,253,237,111,227,177,199,30,67,56,28,198,220,220,28,
-158,121,230,25,204,207,207,87,101,29,254,221,223,253,157,126,156,181,30,
-15,49,60,60,140,223,250,173,223,66,119,119,55,102,103,103,241,204,51,207,
-96,113,113,177,226,241,240,26,24,195,236,99,172,86,43,146,201,36,158,127,
-254,121,100,179,89,156,59,119,14,0,16,139,197,0,0,67,67,67,0,128,31,253,
-232,71,72,167,211,248,183,127,251,55,0,192,224,224,160,169,247,69,90,91,
-91,241,240,195,15,227,133,23,94,192,198,198,198,182,29,51,0,156,59,119,
-14,223,250,214,183,12,63,191,220,123,149,44,19,191,223,15,191,223,143,199,
-31,127,28,159,249,204,103,0,0,23,47,94,4,0,28,63,126,188,232,153,94,175,
-135,111,124,227,27,8,4,2,186,37,244,59,191,243,59,56,122,244,40,28,14,7,
-236,118,59,6,6,6,240,219,191,253,219,155,254,239,247,126,239,247,208,221,
-221,13,187,221,142,161,161,161,134,185,38,107,61,158,63,250,163,63,66,127,
-127,63,20,69,193,145,35,71,240,196,19,79,176,5,198,48,76,121,254,242,47,
-255,114,147,133,164,105,154,62,232,183,180,180,0,0,18,137,4,0,96,117,117,
-21,0,224,247,251,77,189,47,242,208,67,15,65,81,20,188,242,202,43,219,122,
-204,0,240,55,127,243,55,37,63,191,220,123,229,120,229,149,87,240,143,255,
-248,143,248,202,87,190,130,211,167,79,227,193,7,31,196,155,111,190,137,
-201,201,73,156,58,117,10,163,163,163,120,245,213,87,49,58,58,10,0,101,93,
-172,178,181,83,202,42,123,249,229,151,241,131,31,252,64,111,243,159,253,
-217,159,233,239,29,60,120,16,223,252,230,55,209,209,209,177,233,115,206,
-159,63,143,111,127,251,219,56,121,242,36,158,124,242,73,244,245,245,153,
-106,163,104,109,25,137,94,173,199,243,246,219,111,227,251,223,255,62,198,
-198,198,240,7,127,240,7,250,36,132,5,140,97,152,138,88,44,22,124,245,171,
-95,197,3,15,60,128,31,254,240,135,155,2,30,234,197,229,114,225,212,169,
-83,152,154,154,210,45,37,179,3,119,41,235,160,217,199,92,45,207,62,251,
-44,210,233,52,158,127,254,121,156,62,125,26,61,61,61,69,66,117,236,216,
-49,88,44,22,28,59,118,204,148,128,153,225,191,255,251,191,145,203,229,16,
-141,70,245,215,70,70,70,48,62,62,174,11,165,221,190,121,152,255,135,127,
-248,7,164,82,41,188,251,238,187,120,242,201,39,161,40,74,67,206,65,173,
-199,243,175,255,250,175,200,102,179,120,255,253,247,1,192,244,241,176,128,
-49,204,62,199,235,245,226,119,127,247,119,113,252,248,113,252,203,191,252,
-11,158,123,238,57,253,189,245,245,117,180,182,182,34,16,8,96,117,117,85,
-183,98,214,214,214,76,189,79,76,76,76,192,237,118,227,195,15,63,220,246,
-99,110,22,228,22,85,85,181,232,57,30,143,99,97,97,1,221,221,221,248,236,
-103,63,11,159,207,135,249,249,249,138,199,99,198,173,183,178,178,82,244,
-251,125,247,221,135,199,31,127,28,207,63,255,60,158,126,250,105,252,249,
-159,255,185,225,255,45,45,45,1,0,242,249,124,67,207,65,173,199,67,231,130,
-206,153,89,120,13,140,97,246,185,120,253,201,159,252,9,142,31,63,142,167,
-159,126,26,207,62,251,108,209,251,20,204,240,216,99,143,193,229,114,233,
-65,10,51,51,51,166,222,39,110,187,237,54,0,216,180,120,95,106,224,22,31,
-141,62,230,102,241,197,47,126,17,14,135,3,95,248,194,23,0,160,40,40,130,
-214,187,190,244,165,47,53,204,250,50,18,160,95,254,229,95,6,0,188,254,250,
-235,134,174,58,66,211,180,166,156,131,90,143,167,86,216,2,99,152,125,204,
-151,191,252,101,244,246,246,2,0,190,254,245,175,23,133,159,127,237,107,
-95,195,75,47,189,132,147,39,79,226,212,169,83,56,117,234,148,254,30,69,
-216,85,122,159,56,120,240,32,0,96,97,97,97,219,143,185,89,60,242,200,35,
-120,228,145,71,244,223,255,235,191,254,75,255,121,114,114,18,247,221,119,
-31,218,219,219,139,4,173,28,102,214,192,100,146,201,36,60,30,15,254,226,
-47,254,2,0,144,74,165,224,118,187,225,247,251,155,110,129,110,199,241,176,
-5,198,48,251,152,59,238,184,163,236,251,31,124,240,1,190,243,157,239,96,
-113,113,17,249,124,30,139,139,139,248,206,119,190,131,75,151,46,153,122,
-159,160,129,187,158,232,195,70,29,115,179,248,254,247,191,143,181,181,53,
-172,175,175,227,123,223,251,30,222,125,247,93,253,189,75,151,46,233,86,
-79,161,80,192,212,212,84,83,142,225,233,167,159,198,194,194,2,242,249,60,
-206,159,63,143,167,158,122,10,0,116,43,116,171,105,246,241,88,158,120,226,
-9,141,111,99,134,97,152,230,242,167,127,250,167,24,30,30,198,228,228,164,
-62,144,51,108,129,49,12,195,236,104,92,46,23,92,46,23,128,91,33,227,76,
-99,224,53,48,134,97,152,38,243,183,127,251,183,200,100,50,120,249,229,151,
-241,250,235,175,243,9,105,16,236,66,100,24,134,97,118,37,236,66,100,24,
-134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,88,192,24,134,97,24,22,
-48,134,97,24,134,217,1,252,127,24,65,196,140,111,100,140,215,0,0,0,0,73,
-69,78,68,174,66,96,130};
-
-static size_t xml_res_size_4 = 870;
-static unsigned char xml_res_file_4[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,2,227,73,68,65,84,56,141,77,147,61,111,
-92,69,24,133,159,121,231,157,153,27,239,122,215,187,142,237,16,36,132,68,
-21,144,48,80,197,13,20,72,81,0,69,136,158,134,130,154,130,34,162,160,224,
-15,240,23,72,19,33,164,208,240,7,44,4,36,66,80,32,1,6,133,15,35,37,33,123,
-237,196,241,174,215,247,99,239,189,51,20,235,130,226,232,156,230,20,231,
-145,142,249,240,250,199,47,140,71,107,87,48,24,99,4,3,198,24,3,198,32,198,
-24,99,12,103,6,103,41,165,152,202,178,110,98,138,95,155,75,219,151,247,
-141,49,207,170,42,33,248,165,124,70,8,30,231,21,103,29,86,21,85,193,90,
-75,93,47,248,109,239,87,170,170,2,99,15,21,120,42,165,68,74,137,174,237,
-104,76,75,74,21,93,215,162,11,197,57,135,115,138,170,50,157,206,120,56,
-201,73,9,68,3,170,186,161,111,95,123,195,190,255,222,187,168,58,172,90,
-172,88,196,10,98,4,35,134,174,237,200,243,156,223,239,254,65,108,91,88,
-110,161,223,235,241,231,223,251,232,104,52,50,139,166,165,139,137,84,69,
-206,173,172,208,20,11,66,150,113,50,159,83,22,37,167,243,57,23,47,94,68,
-173,69,172,165,223,59,199,198,249,13,138,170,70,235,186,142,34,98,235,170,
-166,233,26,202,186,134,148,152,205,231,20,69,73,8,1,31,2,198,24,140,8,195,
-193,42,107,195,33,49,70,234,69,131,62,57,158,114,116,244,132,4,4,239,113,
-78,41,171,10,231,148,222,202,10,214,90,162,46,89,168,181,100,89,70,140,
-145,152,18,117,93,163,205,98,129,15,1,181,150,178,40,88,57,43,133,44,35,
-118,29,33,4,186,46,226,157,98,173,16,99,164,105,26,140,8,117,93,35,214,
-10,89,8,132,224,49,178,204,198,44,33,137,24,98,140,56,103,153,148,15,200,
-211,191,244,135,61,250,195,30,7,249,132,166,109,17,17,193,57,135,247,1,
-107,5,0,49,6,17,193,0,89,22,184,119,248,15,95,221,191,197,221,227,61,156,
-56,30,215,135,140,158,25,178,177,190,134,24,12,85,85,145,82,100,109,56,
-36,203,2,131,193,128,126,191,199,120,60,102,54,157,242,221,209,46,30,199,
-107,91,87,104,219,150,243,110,147,159,30,253,200,43,47,109,163,0,222,59,
-102,179,25,6,104,218,6,49,194,244,248,24,85,101,127,127,159,252,100,194,
-250,112,131,98,86,80,73,133,170,178,151,255,204,115,227,231,17,128,178,
-172,88,44,22,116,49,162,234,40,203,18,107,45,243,249,41,214,90,86,25,241,
-195,253,59,76,235,99,186,174,227,203,191,110,146,159,76,200,243,3,116,146,
-31,52,143,30,31,57,43,130,88,75,81,86,88,107,185,247,224,33,86,44,27,155,
-23,120,85,95,71,189,229,163,111,62,96,53,91,101,212,31,115,253,229,79,248,
-236,198,205,104,46,109,95,190,10,92,101,9,76,130,15,146,101,153,13,193,
-139,247,94,84,173,121,250,194,250,139,215,222,122,115,123,107,107,211,123,
-239,41,138,178,250,252,139,91,191,124,123,251,251,79,77,74,137,179,163,
-122,32,251,159,2,160,128,0,221,96,48,8,59,59,59,239,56,231,22,187,187,187,
-183,79,79,79,239,164,148,234,255,0,199,244,50,234,252,75,165,219,0,0,0,
-0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_5 = 631;
-static unsigned char xml_res_file_5[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
-116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
-97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,9,73,68,65,84,56,203,
-165,83,61,104,147,81,20,61,249,26,196,82,161,66,138,205,15,193,208,210,
-73,23,113,16,148,170,213,130,40,210,8,25,130,224,208,69,42,40,72,113,112,
-112,17,151,82,29,90,20,193,66,39,21,65,36,67,80,208,224,34,162,22,196,44,
-78,182,249,196,218,96,105,145,240,217,74,32,230,222,115,159,67,73,52,86,
-176,210,11,151,247,184,112,206,227,220,115,94,200,57,135,205,148,135,77,
-86,184,113,185,244,122,196,153,25,140,6,210,64,101,227,52,10,43,170,44,
-82,88,80,213,220,163,225,39,229,6,46,212,144,48,250,242,172,59,28,63,2,
-231,0,115,132,57,7,58,130,70,212,164,134,160,26,96,41,88,134,255,165,148,
-87,225,248,227,243,207,103,90,36,144,182,6,50,5,157,65,77,65,35,232,8,207,
-107,67,251,214,118,244,37,250,176,107,231,238,180,136,94,30,188,209,159,
-108,145,64,37,10,254,83,144,132,10,65,37,84,9,10,17,223,158,64,170,59,5,
-132,67,232,142,68,145,220,145,76,151,230,75,47,0,76,134,54,226,66,250,206,
-177,9,21,205,28,220,115,40,201,144,226,91,176,130,55,239,102,158,189,186,
-250,246,248,134,92,200,159,43,140,138,104,174,188,84,70,8,30,182,117,116,
-64,68,247,174,179,241,204,195,76,219,233,251,167,174,252,141,68,235,10,
-37,161,166,16,35,84,116,125,14,84,116,90,68,179,127,130,7,198,14,76,72,
-93,51,93,145,46,84,165,138,74,80,129,10,139,45,75,204,222,27,186,21,235,
-140,15,171,18,39,111,15,58,149,181,87,40,68,60,154,64,42,153,66,120,75,
-24,158,121,88,92,156,3,69,11,77,130,236,221,161,235,209,206,216,133,222,
-88,47,12,14,61,137,158,166,133,52,3,29,241,253,199,42,60,122,248,188,80,
-70,105,206,207,83,153,107,18,136,104,93,85,33,38,48,7,208,17,102,132,26,
-97,142,168,213,106,88,9,86,49,183,236,195,159,245,243,84,27,255,48,229,
-151,91,146,120,226,230,209,201,88,36,122,81,105,152,95,248,4,149,95,57,
-80,229,87,42,139,84,22,72,230,102,167,62,54,163,12,231,92,179,7,198,246,
-79,247,95,219,247,254,247,217,191,186,197,5,169,235,136,138,62,248,159,
-223,248,19,19,249,133,146,234,21,229,237,0,0,0,0,73,69,78,68,174,66,96,
-130};
-
-static size_t xml_res_size_6 = 623;
-static unsigned char xml_res_file_6[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,1,236,73,68,65,84,56,141,149,146,189,107,
-83,81,20,192,127,247,189,155,151,208,135,38,66,93,132,14,105,141,9,216,
-56,148,14,14,85,99,135,116,169,113,115,114,114,112,241,95,40,138,147,56,
-58,9,14,130,155,121,118,144,224,230,32,37,208,226,199,80,211,170,80,148,
-4,210,36,29,106,205,203,39,141,47,239,58,228,195,164,49,4,15,28,238,29,
-206,239,199,61,247,28,1,204,164,82,169,103,252,71,36,18,137,187,74,169,
-60,128,0,162,101,219,206,212,106,117,116,93,67,215,117,52,77,235,164,16,
-127,239,221,20,191,15,40,189,187,240,105,186,185,240,212,188,181,245,92,
-0,81,187,82,201,52,26,141,137,176,106,149,104,126,89,193,31,92,162,125,
-96,213,247,223,24,87,36,128,38,196,100,248,184,72,115,55,142,127,238,42,
-238,207,87,228,54,106,135,5,135,95,18,64,12,22,143,129,27,187,113,2,193,
-107,184,71,22,63,222,86,139,165,50,177,216,3,149,235,8,122,208,63,225,2,
-141,157,56,129,217,24,202,182,40,125,240,115,63,89,189,147,220,84,57,0,
-173,47,24,3,215,51,93,184,98,145,223,52,201,207,60,193,218,162,216,155,
-136,214,27,197,40,188,79,253,115,156,192,220,117,84,197,34,155,246,178,
-55,253,152,83,103,67,67,35,213,134,90,24,128,107,219,43,4,206,47,67,37,
-73,54,237,33,51,245,144,115,179,11,132,195,225,201,130,239,27,107,156,9,
-45,67,245,37,217,180,228,163,190,198,226,210,42,145,72,4,199,113,134,4,
-242,164,160,118,84,192,52,231,217,219,126,143,44,122,248,118,250,17,55,
-87,111,99,24,6,182,109,99,154,230,120,1,192,235,245,23,76,185,135,24,190,
-139,4,231,239,113,227,114,156,118,187,141,109,219,253,93,25,12,1,68,29,
-199,201,184,174,139,16,162,159,61,241,32,44,165,196,231,243,225,241,120,
-46,41,165,118,250,127,208,43,158,4,75,41,71,94,208,89,101,77,67,41,213,
-135,1,148,82,180,90,45,76,211,28,25,241,201,22,124,64,168,43,243,2,70,247,
-244,2,122,183,70,1,14,112,12,180,128,175,64,89,41,229,252,1,240,126,200,
-57,208,143,162,187,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_7 = 733;
-static unsigned char xml_res_file_7[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,2,90,73,68,65,84,120,218,133,147,203,107,
-19,81,20,198,191,123,51,153,87,50,83,103,226,216,214,216,4,107,109,170,
-85,90,93,104,241,133,32,82,234,162,84,169,143,141,130,184,42,110,68,240,
-47,17,116,227,78,220,149,22,23,197,82,16,55,74,33,11,219,110,90,161,141,
-15,106,98,218,6,218,36,51,177,147,199,92,175,208,224,56,89,244,7,103,49,
-103,190,243,205,57,31,12,24,99,255,149,40,138,10,0,18,236,115,66,252,157,
-28,236,11,8,32,73,210,64,92,16,106,132,144,5,46,240,192,25,34,68,215,21,
-229,68,131,210,18,128,21,248,160,8,80,46,151,63,187,170,58,120,3,184,214,
-46,203,199,250,121,181,1,231,153,32,244,58,142,243,5,1,40,90,97,84,150,
-99,189,19,169,167,86,66,74,55,58,72,186,107,132,60,210,52,173,29,77,246,
-49,192,248,245,237,1,120,229,97,167,102,154,165,170,97,238,216,161,219,
-119,70,229,163,0,200,190,6,170,170,90,107,175,27,71,62,77,187,120,112,119,
-12,150,38,34,179,40,33,247,106,61,9,32,140,0,193,164,173,123,145,3,243,
-203,68,244,54,164,16,123,60,50,196,238,15,95,96,59,122,148,229,65,27,19,
-154,49,5,32,226,159,161,224,240,196,161,235,250,205,104,52,122,181,187,
-77,235,90,54,162,68,36,97,152,244,32,170,5,23,202,241,62,164,173,24,189,
-18,137,156,76,38,147,99,241,120,124,28,123,8,205,45,184,201,59,0,36,99,
-154,111,6,93,23,68,16,240,112,107,19,98,95,55,26,153,44,136,227,224,123,
-111,188,235,199,226,226,164,63,11,234,59,101,247,28,160,62,177,237,240,
-124,40,132,139,178,140,181,181,12,230,211,75,232,207,172,130,212,235,184,
-85,175,75,135,129,208,95,237,191,13,124,164,1,59,15,108,182,87,171,135,
-60,198,80,183,109,228,43,14,118,68,17,89,254,156,210,180,173,28,80,69,147,
-160,1,207,97,112,142,225,231,41,110,48,185,187,11,27,64,138,127,57,197,
-79,42,82,138,169,202,239,156,162,40,157,0,214,91,12,246,194,188,156,113,
-107,147,51,177,216,89,183,80,64,152,16,68,25,67,141,215,203,100,18,70,246,
-215,44,15,250,180,223,128,250,134,73,34,145,80,231,42,229,23,125,133,237,
-247,223,248,208,10,175,143,0,86,117,29,169,141,194,219,37,86,159,6,208,
-201,165,173,39,88,150,117,169,88,44,206,240,128,138,92,48,44,128,62,239,
-96,108,164,64,104,229,107,201,158,253,0,239,25,28,120,134,97,40,61,61,61,
-103,0,44,160,249,219,54,55,96,156,192,73,20,0,243,247,131,218,63,48,56,
-26,248,105,235,157,94,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_8 = 735;
-static unsigned char xml_res_file_8[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,2,92,73,68,65,84,56,141,165,147,63,76,
-20,65,20,135,191,55,179,59,203,113,28,255,14,229,160,210,4,133,194,196,
-66,99,33,149,177,179,16,11,49,96,76,44,104,12,137,182,134,196,216,88,152,
-104,99,40,12,13,137,86,16,176,16,45,168,176,51,209,70,141,141,145,16,11,
-69,114,192,158,24,239,184,187,221,187,189,177,224,220,59,196,206,73,126,
-153,204,228,229,155,247,126,243,158,88,107,249,159,229,252,125,33,23,150,
-61,218,75,19,162,212,120,127,119,178,183,6,29,217,95,149,79,22,230,17,111,
-209,62,61,159,219,23,223,156,129,140,189,28,233,233,48,51,23,79,101,50,
-131,253,109,248,249,16,1,186,219,91,88,205,150,88,122,239,231,114,133,104,
-196,62,57,247,250,0,64,174,45,15,15,100,90,95,93,62,211,103,28,173,248,
-145,15,120,48,62,132,8,76,45,172,210,222,150,160,90,179,60,123,151,11,215,
-252,240,138,157,57,187,4,160,0,228,250,74,58,221,153,88,26,30,234,49,126,
-49,34,91,168,146,78,185,36,61,77,171,209,244,117,182,144,205,71,248,197,
-26,195,199,186,76,79,123,98,70,110,173,121,13,15,28,25,61,218,155,74,231,
-138,22,164,6,34,124,217,46,179,240,118,19,173,97,101,53,79,75,34,1,34,32,
-194,145,195,201,140,191,94,152,0,30,59,0,174,241,198,209,14,155,197,189,
-114,162,168,70,49,136,184,243,226,43,136,144,106,107,69,91,64,0,177,160,
-28,92,199,187,26,3,42,226,28,255,184,89,161,51,225,224,185,154,160,28,176,
-249,240,116,108,110,239,237,15,120,73,23,4,130,8,126,150,35,42,202,237,
-142,61,64,187,59,161,117,216,42,9,235,5,240,43,6,117,227,77,12,216,46,195,
-247,93,88,223,21,182,202,138,80,92,112,220,174,38,15,76,110,175,62,133,
-21,193,138,128,173,197,0,43,26,171,76,236,1,162,64,248,220,148,129,153,
-67,27,208,110,93,6,84,83,143,105,7,28,183,46,83,223,189,249,6,32,84,179,
-56,238,70,28,32,10,162,168,1,136,162,189,151,29,179,7,83,202,199,120,139,
-49,192,78,15,4,104,51,137,54,1,218,133,106,136,157,62,217,40,225,209,9,
-8,75,127,142,1,162,47,217,169,84,238,96,43,223,219,26,198,170,231,170,22,
-245,100,156,18,253,41,197,161,164,144,45,88,190,149,19,248,161,218,0,38,
-237,221,244,210,63,103,1,64,238,231,211,84,131,81,172,140,41,97,80,9,59,
-213,154,205,33,50,71,231,206,172,189,57,16,236,139,143,103,65,196,0,45,
-77,242,234,191,164,128,8,168,0,33,80,174,171,100,173,173,254,6,207,154,
-227,149,127,20,234,56,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_9 = 506;
-static unsigned char xml_res_file_9[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,1,119,73,68,65,84,56,141,165,81,187,75,
-194,97,20,61,247,97,246,112,105,169,161,130,12,9,154,140,134,40,136,22,
-7,135,30,67,81,52,132,99,65,53,72,16,244,7,52,68,67,208,208,224,16,45,77,
-9,22,180,72,139,75,209,11,162,90,130,104,19,132,198,160,84,76,187,13,254,
-4,43,205,192,3,119,57,223,249,238,61,231,94,50,51,212,3,174,235,119,173,
-6,52,31,235,228,185,216,209,159,154,74,17,104,54,42,110,183,123,197,204,
-54,0,120,12,60,152,59,152,184,249,119,131,150,208,73,4,132,133,31,244,37,
-212,166,223,247,38,83,53,35,164,179,217,37,101,10,171,240,155,10,67,133,
-63,84,120,72,77,206,219,150,163,158,154,13,236,112,166,240,186,63,190,163,
-194,125,162,124,172,194,163,42,156,82,225,238,124,206,179,94,51,66,37,180,
-47,198,215,64,180,5,195,195,75,36,232,47,241,90,46,234,88,62,189,4,172,
-149,129,177,228,110,240,185,252,77,92,124,69,197,89,61,85,35,168,48,171,
-72,47,171,174,252,116,224,18,153,114,246,241,88,181,129,8,197,139,34,10,
-121,195,137,32,17,136,8,228,13,39,130,42,20,82,97,136,80,188,234,14,186,
-86,47,154,154,57,119,7,88,175,67,149,98,248,138,106,122,74,23,26,250,147,
-219,195,153,138,14,146,219,195,153,70,177,128,138,56,78,216,167,194,62,
-151,50,92,34,241,70,182,64,249,231,95,14,202,49,176,126,230,55,182,65,0,
-160,79,186,190,221,28,185,175,164,251,247,25,171,225,219,25,137,136,1,136,
-195,139,83,4,224,19,64,193,169,60,128,130,57,147,191,0,30,99,118,114,243,
-123,34,116,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_10 = 479;
-static unsigned char xml_res_file_10[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
-0,181,250,55,234,0,0,0,2,115,66,73,84,8,8,85,236,70,4,0,0,0,9,112,72,89,
-115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
-102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
-111,114,103,155,238,60,26,0,0,1,94,73,68,65,84,24,25,5,193,203,78,19,97,
-24,0,208,51,51,63,96,105,184,36,160,40,94,208,136,17,55,38,38,174,141,107,
-35,175,224,202,231,208,55,49,113,111,112,99,220,186,50,172,76,52,152,32,
-90,188,209,10,88,154,90,11,197,82,102,62,207,201,2,112,148,185,245,125,
-249,207,50,179,141,171,13,155,245,0,132,176,177,184,254,242,87,191,27,157,
-232,196,65,116,163,27,123,253,245,181,141,197,16,132,23,171,95,6,191,99,
-55,118,226,87,28,68,39,118,163,21,251,209,142,198,96,237,97,200,194,155,
-230,149,139,25,66,50,33,51,82,33,55,180,211,188,127,57,113,116,238,16,33,
-147,12,81,42,81,9,221,5,18,221,148,155,6,156,34,33,100,250,154,137,156,
-83,45,31,213,229,146,73,147,146,194,140,109,13,144,147,251,171,231,155,
-58,90,154,126,58,171,80,51,20,72,48,107,90,219,148,99,35,149,210,123,201,
-184,154,64,162,140,102,86,179,34,92,176,167,146,91,112,198,150,190,90,69,
-162,200,150,20,90,238,56,84,169,148,58,42,35,115,78,114,18,39,167,95,199,
-230,173,232,43,16,198,204,26,55,244,67,81,146,99,116,67,93,203,37,147,50,
-185,16,122,122,230,165,19,114,182,158,54,170,129,69,159,180,13,12,252,115,
-104,202,140,118,181,249,132,44,240,248,238,249,231,75,55,239,21,61,251,
-74,133,5,195,242,237,214,231,71,207,222,145,5,224,193,196,181,213,185,219,
-217,245,202,112,251,248,195,246,171,215,67,224,63,88,118,169,59,145,118,
-103,111,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_11 = 504;
-static unsigned char xml_res_file_11[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
-0,181,250,55,234,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,2,98,75,71,
-68,0,255,135,143,204,191,0,0,0,9,112,72,89,115,0,0,1,187,0,0,1,187,1,58,
-236,227,226,0,0,0,7,116,73,77,69,7,217,12,13,17,43,19,33,85,167,107,0,0,
-1,124,73,68,65,84,40,207,69,209,191,75,212,97,0,199,241,215,243,245,81,
-243,200,52,46,50,46,60,202,34,8,162,33,10,90,131,150,32,27,26,26,91,90,
-250,3,154,218,27,131,230,150,134,214,48,16,33,90,218,194,201,168,28,36,
-61,33,242,199,229,143,227,148,211,187,190,158,247,125,26,52,122,143,239,
-207,123,251,4,199,236,5,87,127,94,222,185,204,104,237,66,205,194,201,228,
-63,243,149,217,247,235,173,102,106,164,70,218,78,205,212,76,191,91,179,
-83,243,149,227,249,221,228,82,123,51,213,211,74,90,79,219,169,145,234,105,
-45,109,164,173,84,107,79,221,39,240,105,181,122,62,32,137,6,5,93,5,50,185,
-149,213,59,227,145,253,179,123,72,130,40,71,79,15,133,164,57,70,164,25,
-55,12,74,162,113,135,136,199,121,203,106,36,227,208,180,92,215,91,81,73,
-73,212,103,196,178,26,71,121,166,163,45,232,96,77,114,232,134,220,144,45,
-3,136,183,70,146,125,117,65,199,166,150,126,133,175,162,1,67,18,178,238,
-206,84,168,234,248,227,138,215,94,40,156,82,53,161,171,165,87,144,181,159,
-53,13,235,151,161,238,161,146,174,134,21,93,101,49,35,91,124,25,139,97,
-21,85,227,38,220,150,244,27,117,206,9,219,246,123,100,60,200,167,141,42,
-155,241,84,144,73,146,93,187,206,136,7,244,113,45,175,220,157,11,11,30,
-41,105,59,80,200,140,200,253,42,150,158,127,153,13,240,228,230,247,143,
-229,211,175,194,174,13,61,125,198,228,189,207,63,22,31,191,153,35,252,123,
-244,222,224,197,201,242,245,112,169,144,47,119,190,45,207,124,200,143,252,
-95,244,150,165,237,114,41,24,7,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_12 = 412;
-static unsigned char xml_res_file_12[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
-77,69,7,222,11,17,20,2,54,157,54,42,163,0,0,1,41,73,68,65,84,56,203,165,
-147,175,78,195,80,20,198,127,167,235,11,44,4,11,65,160,113,72,82,1,9,19,
-237,168,32,65,19,22,38,120,0,120,2,4,2,7,193,48,131,36,172,183,19,21,51,
-35,40,28,201,4,15,128,66,177,45,65,48,104,15,130,54,225,79,71,59,56,238,
-158,123,127,223,119,238,253,114,133,18,229,186,238,156,72,229,24,88,17,
-225,122,56,28,108,245,122,189,55,0,187,36,124,7,84,129,219,241,248,101,
-59,131,1,172,34,129,212,185,170,202,189,101,177,30,69,209,40,219,115,28,
-199,182,75,220,96,237,67,136,126,16,4,131,172,233,251,254,76,28,39,23,101,
-4,244,123,163,86,219,156,141,227,215,46,200,130,20,209,158,183,209,5,86,
-129,71,160,159,78,179,168,202,60,200,229,175,2,245,122,125,87,85,78,129,
-188,115,79,34,186,100,77,118,246,155,159,96,5,110,128,103,96,4,210,134,
-100,217,24,243,32,249,206,254,190,170,30,166,203,4,164,17,134,237,243,220,
-148,254,3,255,16,152,22,6,168,76,130,69,116,39,12,131,86,81,74,149,52,170,
-3,224,11,108,140,105,149,249,39,226,121,126,3,244,44,123,109,85,221,235,
-116,204,9,37,203,2,61,250,43,12,96,169,202,85,154,111,115,90,24,224,29,
-53,46,134,245,219,91,107,252,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_13 = 887;
-static unsigned char xml_res_file_13[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,42,116,69,88,116,67,114,101,97,116,105,111,110,32,
-84,105,109,101,0,83,111,32,52,32,74,97,110,32,50,48,48,52,32,49,57,58,48,
-56,58,52,48,32,43,48,49,48,48,20,91,120,127,0,0,0,7,116,73,77,69,7,211,
-8,8,11,55,55,137,85,77,213,0,0,0,9,112,72,89,115,0,0,11,18,0,0,11,18,1,
-210,221,126,252,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,208,
-73,68,65,84,120,218,165,82,93,72,83,97,24,126,247,191,213,102,233,164,185,
-230,223,252,171,212,57,149,36,77,215,208,11,149,137,212,205,48,40,47,194,
-64,251,161,40,47,70,42,182,98,4,74,224,15,145,20,171,139,44,188,41,176,
-46,52,9,116,253,49,92,153,44,153,185,90,51,167,204,220,116,110,59,115,231,
-108,167,179,211,153,160,72,66,66,189,240,94,124,188,207,251,124,207,243,
-242,0,252,103,209,118,2,244,245,77,30,68,81,164,193,239,71,30,51,153,145,
-126,12,3,163,78,87,219,184,49,103,236,68,160,84,158,106,81,169,178,154,
-73,146,214,148,155,155,42,114,187,221,7,36,18,37,91,46,175,114,154,205,
-195,30,250,223,150,117,186,49,53,73,162,39,80,52,2,34,17,31,2,1,20,138,
-139,115,248,106,245,49,45,130,32,189,81,204,54,130,222,222,78,186,203,133,
-21,145,36,121,84,44,102,156,169,175,87,72,227,226,120,192,231,179,240,137,
-137,249,46,202,2,204,205,57,1,69,209,167,81,60,243,79,130,140,12,245,76,
-48,184,38,209,235,159,44,217,236,63,82,166,123,134,129,203,98,67,74,114,
-58,171,166,166,250,74,36,66,130,199,19,11,56,30,174,166,224,15,214,9,58,
-58,134,216,92,174,176,39,28,198,87,100,178,88,233,155,215,195,204,67,202,
-114,105,221,89,41,88,169,31,191,121,1,60,99,67,96,50,141,64,98,162,12,140,
-198,41,192,176,144,103,211,2,130,132,20,249,249,194,166,186,186,156,86,
-58,157,193,156,182,217,32,43,83,10,4,9,128,6,195,16,70,80,160,31,86,129,
-253,251,12,48,24,68,208,104,156,76,114,56,2,151,55,9,124,190,192,244,224,
-224,135,69,159,47,12,76,38,45,234,15,166,86,1,62,186,66,176,232,197,33,
-16,37,193,1,112,34,132,113,56,236,46,147,169,123,193,225,208,99,155,55,
-136,143,223,61,91,91,91,196,137,250,163,188,1,16,196,218,215,85,216,77,
-195,194,148,84,2,252,56,29,36,60,18,88,12,186,187,188,92,214,182,245,102,
-235,10,48,44,236,179,217,92,212,50,65,237,210,32,61,53,147,19,154,24,141,
-44,255,18,192,26,99,15,236,139,17,128,231,149,30,132,162,132,253,43,173,
-138,91,91,9,214,131,148,150,86,61,106,54,127,57,82,80,144,158,128,83,82,
-243,242,242,232,179,159,199,105,203,239,159,129,255,211,75,88,120,55,20,
-225,239,226,146,199,75,73,70,242,252,120,161,182,36,153,115,227,173,211,
-176,53,202,52,141,102,192,171,84,230,199,56,157,62,200,206,78,1,30,143,
-160,154,77,53,135,82,136,44,9,30,157,190,39,38,23,47,65,163,106,47,12,24,
-80,194,225,189,205,188,59,219,190,145,3,210,110,95,186,102,181,62,111,64,
-144,213,135,149,149,138,59,118,251,66,196,98,177,105,229,242,28,173,197,
-98,53,25,12,134,235,164,166,48,0,247,71,52,208,160,22,118,188,16,159,7,
-104,106,223,22,223,210,210,54,65,85,85,203,108,69,69,75,127,244,93,82,114,
-181,176,172,236,36,111,99,78,158,75,186,112,179,179,251,231,197,102,205,
-246,229,127,169,223,158,105,64,153,156,76,148,88,0,0,0,0,73,69,78,68,174,
-66,96,130};
-
-static size_t xml_res_size_14 = 681;
-static unsigned char xml_res_file_14[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,45,116,69,88,116,67,114,101,97,116,105,111,110,32,
-84,105,109,101,0,106,101,117,46,32,53,32,100,233,99,46,32,50,48,48,50,32,
-49,50,58,50,49,58,49,48,32,43,48,49,48,48,96,59,210,134,0,0,0,7,116,73,
-77,69,7,211,1,21,20,0,6,240,149,228,165,0,0,0,9,112,72,89,115,0,0,10,240,
-0,0,10,240,1,66,172,52,152,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,
-0,0,1,255,73,68,65,84,120,218,99,96,24,242,128,17,155,96,122,122,58,223,
-155,55,111,130,25,25,25,109,222,191,127,191,254,243,231,207,59,79,157,58,
-245,27,167,1,81,81,81,214,108,108,108,29,2,2,2,31,229,229,229,53,126,253,
-250,165,200,194,194,194,196,197,197,197,240,247,239,95,134,243,231,207,
-95,187,121,243,102,222,145,35,71,246,162,27,192,12,34,100,101,101,247,24,
-24,24,24,70,68,68,168,9,11,11,11,241,242,242,50,254,248,241,131,225,213,
-171,87,12,207,159,63,103,224,228,228,20,5,226,88,62,62,62,109,30,30,158,
-51,175,95,191,254,0,51,128,5,68,0,157,201,164,170,170,202,112,231,206,29,
-16,27,108,235,237,219,183,25,174,94,189,202,32,36,36,196,160,174,174,206,
-208,211,211,3,114,109,104,83,83,139,223,187,247,239,102,125,255,250,185,
-110,214,236,57,31,192,46,144,150,150,62,245,237,219,183,192,15,31,62,112,
-177,179,179,51,0,93,194,96,98,100,204,240,244,197,23,134,223,63,191,51,
-188,126,243,146,65,78,86,150,225,234,181,59,12,134,166,78,44,170,86,254,
-230,103,142,238,82,191,112,238,204,74,176,1,79,129,64,80,80,112,251,253,
-251,247,3,77,77,77,121,190,126,254,200,112,227,241,79,134,216,248,8,6,94,
-117,123,134,125,107,231,48,8,8,240,51,252,21,210,98,80,208,84,102,248,198,
-204,204,112,251,234,117,233,83,135,119,119,48,193,252,178,103,207,158,203,
-192,128,180,219,179,123,247,189,139,87,110,49,72,154,88,49,220,255,204,
-192,240,151,159,151,129,133,157,243,242,150,205,155,183,63,124,241,154,
-225,248,99,6,134,171,143,24,24,62,191,0,250,23,22,136,48,112,239,222,189,
-119,192,64,220,242,247,207,207,96,102,21,47,190,87,95,153,25,94,222,189,
-207,112,97,215,162,238,223,127,255,23,252,255,240,68,237,245,227,103,58,
-79,78,175,249,116,249,236,209,132,167,207,158,63,196,154,14,146,147,19,
-53,255,50,241,237,230,147,80,147,126,118,253,208,161,39,143,239,123,158,
-56,121,234,27,72,206,217,201,65,13,24,208,175,206,157,191,248,129,1,31,
-176,179,179,225,180,177,182,84,197,149,216,134,17,0,0,4,223,217,134,133,
-215,167,132,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_15 = 367;
-static unsigned char xml_res_file_15[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
-0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
-89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
-102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
-111,114,103,155,238,60,26,0,0,0,99,80,76,84,69,255,255,255,0,0,0,0,0,0,
-0,0,0,0,0,0,27,27,27,30,30,30,30,30,30,44,44,44,49,49,49,49,49,49,66,66,
-66,72,72,72,74,74,75,109,109,109,108,108,109,50,50,51,89,89,89,216,216,
-218,238,238,239,215,215,217,167,167,168,168,168,169,193,193,194,194,194,
-194,195,195,196,198,198,198,199,199,199,218,218,219,219,219,221,241,241,
-242,254,254,254,255,255,255,78,245,20,106,0,0,0,21,116,82,78,83,0,21,29,
-47,48,67,68,69,72,74,75,80,80,85,96,97,131,144,251,251,252,107,174,169,
-164,0,0,0,93,73,68,65,84,120,218,141,203,235,14,64,32,0,64,225,46,148,46,
-238,228,22,122,255,167,84,141,98,179,113,126,126,219,1,136,208,43,130,128,
-77,110,49,233,64,172,49,225,32,215,122,80,170,247,85,52,133,160,52,102,
-142,83,139,29,76,113,106,60,140,58,212,37,14,22,19,218,255,64,241,9,136,
-241,250,1,182,226,6,248,21,16,99,252,44,131,7,217,234,22,224,97,207,36,
-126,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_16 = 745;
-static unsigned char xml_res_file_16[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,42,116,69,88,116,67,114,101,97,116,105,111,110,32,
-84,105,109,101,0,68,111,32,56,32,74,97,110,32,50,48,48,52,32,49,49,58,49,
-55,58,51,52,32,43,48,49,48,48,72,183,249,154,0,0,0,7,116,73,77,69,7,212,
-1,8,10,18,7,86,168,149,96,0,0,0,9,112,72,89,115,0,0,11,18,0,0,11,18,1,210,
-221,126,252,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,66,73,68,
-65,84,120,218,165,147,205,107,19,65,24,198,159,221,236,154,96,77,91,83,
-99,241,3,171,98,123,80,80,16,138,7,207,162,160,169,7,69,61,25,168,160,82,
-240,175,17,212,139,168,127,65,161,20,189,9,138,84,16,122,236,197,88,108,
-155,102,19,211,108,55,201,126,207,236,108,124,103,55,77,209,210,83,7,94,
-134,153,225,249,189,207,251,206,12,112,192,161,252,191,209,123,120,177,
-128,200,155,67,161,88,194,240,232,36,56,7,140,90,5,245,141,5,196,225,107,
-229,59,182,247,5,244,202,151,238,224,244,196,123,220,190,63,134,177,2,208,
-172,1,166,9,56,14,176,190,14,124,249,220,130,185,85,86,150,241,113,15,32,
-17,95,189,54,143,242,83,13,245,85,160,177,6,116,73,104,123,20,46,65,60,
-244,2,134,104,105,137,235,27,198,93,101,5,159,164,78,77,196,143,78,21,80,
-60,241,14,15,30,107,168,174,0,150,1,68,130,14,232,48,142,211,12,52,43,140,
-65,191,114,89,111,229,14,127,232,156,193,209,1,0,142,242,28,55,102,142,
-193,160,172,102,3,240,67,128,81,237,156,17,136,0,156,96,66,164,80,30,65,
-59,123,174,216,136,241,108,23,112,36,63,131,241,147,72,172,239,88,246,2,
-32,32,72,184,3,139,250,144,8,185,124,14,92,205,148,164,84,75,0,35,249,41,
-152,127,128,118,151,144,25,178,30,167,130,144,165,0,57,75,72,36,33,17,162,
-144,67,232,250,20,45,250,128,128,41,176,232,118,28,202,172,168,105,221,
-210,46,235,59,8,164,11,89,78,234,36,244,66,154,122,202,174,3,163,90,161,
-171,154,78,172,75,128,236,158,172,91,190,1,202,150,128,36,64,134,96,240,
-236,0,174,207,43,3,128,104,152,139,234,239,213,105,5,60,189,217,30,1,68,
-156,90,78,178,74,251,82,204,209,105,185,112,219,30,60,55,94,28,52,49,19,
-226,21,251,246,213,74,178,186,94,26,62,69,224,83,4,105,102,234,3,167,6,
-111,111,217,104,212,172,109,85,197,155,1,64,249,137,86,214,104,62,177,127,
-44,11,196,210,110,144,10,67,2,176,48,89,59,166,141,90,181,141,122,213,18,
-217,110,52,123,211,134,185,231,41,139,243,184,103,12,15,189,29,157,156,
-24,201,13,101,33,66,106,24,53,208,161,154,29,203,199,230,102,167,157,235,
-178,217,235,62,230,247,253,76,107,199,49,222,2,94,136,67,90,73,213,244,
-11,81,220,131,231,176,95,142,23,47,100,51,120,121,203,69,243,160,63,248,
-159,241,23,68,229,79,41,23,72,123,24,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_17 = 62919;
-static unsigned char xml_res_file_17[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,242,0,0,1,242,8,2,0,
-0,0,94,125,4,71,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
-0,0,0,7,116,73,77,69,7,215,11,11,18,54,5,133,234,34,195,0,0,0,7,116,69,
-88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,116,68,
-101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,69,88,
-116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,69,
-88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,9,0,
-0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,0,0,
-11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,143,
-0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,0,0,
-7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,69,
-88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,116,
-84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,236,189,
-91,179,28,87,118,38,246,173,181,119,102,85,157,11,110,36,155,183,238,233,
-110,221,103,44,133,61,242,120,28,19,225,23,191,56,66,225,23,255,68,191,
-251,15,216,14,63,104,28,142,145,195,118,140,20,30,89,82,116,75,77,138,100,
-243,2,224,224,156,83,183,204,220,123,173,245,249,33,179,10,135,32,64,118,
-163,65,128,40,212,199,98,161,42,79,86,214,206,202,111,175,92,123,93,5,192,
-173,91,183,150,203,165,170,70,196,98,177,232,186,110,54,155,13,195,128,
-35,142,216,225,236,236,44,165,148,115,110,219,118,54,155,181,109,155,115,
-78,41,1,80,213,166,105,198,237,77,211,52,77,51,110,127,234,254,170,250,
-91,109,23,145,111,255,222,166,105,198,237,77,211,168,234,124,62,7,32,247,
-238,221,251,135,127,248,135,119,222,121,7,128,153,229,156,1,148,82,218,
-182,125,149,191,226,17,175,9,34,226,169,219,85,245,251,59,62,201,145,217,
-207,130,140,59,153,153,153,205,231,243,213,106,117,126,126,62,110,124,234,
-7,158,181,93,68,126,235,33,31,241,195,195,179,174,172,126,17,242,0,0,1,
-0,73,68,65,84,239,158,166,36,199,125,198,231,111,167,215,19,135,37,249,
-157,199,225,14,227,219,223,228,248,55,247,31,143,159,155,166,1,176,92,46,
-239,221,187,55,254,161,214,218,52,205,179,104,122,164,239,97,227,89,215,
-119,148,154,178,195,126,123,223,247,242,52,60,177,255,248,17,17,113,247,
-253,246,155,18,125,228,229,55,143,95,74,249,230,193,1,212,90,111,30,231,
-137,155,131,140,159,28,201,125,243,28,94,212,77,228,136,3,195,77,17,139,
-223,65,217,120,214,113,110,110,255,78,101,227,89,200,183,110,221,26,245,
-233,136,88,175,215,183,110,221,26,191,227,168,132,188,153,248,78,37,100,
-47,119,191,253,131,251,183,79,108,127,130,166,227,113,110,238,243,196,241,
-159,122,28,146,223,220,225,230,241,69,85,31,62,124,184,88,44,198,37,36,
-128,241,54,241,124,179,228,136,67,197,77,229,225,38,167,247,172,250,13,
-229,218,94,217,120,214,241,247,223,178,223,254,205,141,223,137,105,174,
-68,68,68,228,156,151,203,229,233,233,233,145,211,71,124,39,158,74,208,253,
-130,239,137,37,96,68,140,251,223,137,160,211,47,0,0,1,0,73,68,65,84,84,
-119,121,3,163,202,240,45,199,249,150,237,227,193,199,227,143,199,17,85,
-29,134,33,231,236,238,227,174,55,37,252,17,71,188,142,56,174,11,143,56,
-64,28,105,125,196,1,226,72,235,35,14,16,71,90,31,113,128,56,210,250,136,
-3,196,145,214,71,28,32,142,180,62,226,0,161,251,192,191,103,121,35,143,
-56,226,181,195,81,90,31,113,128,56,210,250,136,3,196,145,214,71,28,32,142,
-180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,1,226,
-72,235,35,14,16,71,90,31,113,128,56,210,250,136,3,196,145,214,71,28,32,
-142,180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,1,
-226,72,235,35,14,16,71,90,31,113,128,56,210,250,136,3,196,145,214,71,28,
-32,142,180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,
-1,34,63,209,179,3,47,171,93,198,243,85,177,255,38,66,42,160,227,67,1,1,
-72,152,225,235,205,112,94,63,188,228,203,113,96,200,223,189,203,15,27,102,
-166,154,4,4,195,153,84,89,197,5,10,0,0,1,0,73,68,65,84,69,229,181,231,244,
-17,191,35,94,49,173,127,119,81,212,106,43,162,16,1,25,225,160,64,15,167,
-67,200,81,84,63,31,94,25,173,95,212,5,19,217,157,130,64,147,50,140,116,
-17,125,229,51,246,119,196,145,208,191,11,94,255,37,99,128,213,89,29,16,
-64,3,82,60,106,248,171,30,214,17,175,18,63,32,145,246,172,214,102,223,137,
-0,68,85,0,2,134,76,205,208,3,20,117,207,253,251,188,129,248,161,72,235,
-231,47,211,154,32,57,73,146,0,214,133,143,150,221,122,160,189,208,177,253,
-16,112,44,99,251,91,225,7,36,173,159,15,230,78,8,168,125,141,7,23,215,87,
-203,205,201,249,45,109,110,45,94,251,51,59,226,249,241,202,46,190,97,16,
-136,64,20,2,170,16,8,128,24,104,77,147,85,196,9,98,210,38,156,224,208,183,
-179,150,68,64,84,181,212,32,208,54,250,85,77,172,112,143,171,194,79,150,
-237,229,218,239,4,183,45,231,183,227,164,33,109,131,60,171,152,71,96,46,
-64,141,200,192,141,91,249,235,114,79,127,93,198,249,3,193,43,163,53,65,
-0,2,225,155,131,154,49,0,0,1,0,73,68,65,84,120,205,68,32,0,208,184,171,
-16,0,194,1,145,177,133,53,161,41,65,210,184,79,0,157,97,59,12,109,59,191,
-184,46,180,193,35,174,170,94,110,236,209,166,12,102,80,249,249,217,201,
-162,73,146,26,64,20,224,200,10,85,32,94,209,25,31,241,242,240,202,104,173,
-80,0,4,64,8,0,25,27,85,67,37,70,14,10,67,118,75,63,21,104,211,18,216,14,
-62,4,66,210,213,214,150,155,162,41,54,67,120,45,22,188,142,118,229,249,
-218,155,245,214,251,232,255,244,157,230,124,158,179,100,144,50,46,39,21,
-144,163,134,250,70,224,213,217,173,161,4,72,4,25,116,64,4,42,34,202,24,
-9,40,162,148,52,234,38,213,169,89,250,129,23,215,155,245,16,204,243,77,
-137,205,32,169,201,213,45,34,149,224,58,242,6,121,77,169,101,187,42,245,
-211,139,213,59,247,22,103,72,97,131,100,112,52,0,34,166,217,115,196,65,
-227,85,210,122,255,10,16,66,32,163,50,221,64,18,33,85,16,132,25,186,193,
-187,126,72,237,188,27,202,197,178,116,6,157,163,247,212,57,82,202,67,117,
-55,100,172,77,165,0,0,1,0,73,68,65,84,12,142,43,227,245,192,171,129,253,
-182,74,221,254,243,87,250,135,255,226,71,139,38,193,145,50,68,24,20,85,
-193,81,94,191,1,120,101,180,142,32,68,68,116,212,64,136,233,209,33,51,80,
-29,125,101,113,20,139,245,118,88,111,183,169,165,5,183,53,185,164,140,182,
-139,216,84,147,240,77,33,2,131,241,186,212,235,62,86,67,25,250,130,210,
-255,211,23,221,191,233,254,224,110,66,14,66,144,4,129,152,140,219,71,28,
-58,94,165,243,124,92,221,79,106,70,192,204,61,98,99,217,157,93,177,109,
-177,26,82,41,219,193,183,29,179,131,34,125,213,16,201,176,237,80,55,93,
-159,155,184,28,92,233,213,252,186,231,170,151,174,175,94,6,169,229,163,
-207,31,60,90,149,247,155,60,175,181,153,5,131,14,79,154,142,74,200,155,
-128,87,183,100,148,105,201,24,64,177,232,135,210,151,82,205,86,182,40,238,
-219,190,110,139,135,100,228,89,245,84,208,134,52,30,177,41,165,88,81,181,
-113,231,57,228,114,61,100,184,153,173,250,88,117,232,134,138,210,39,235,
-239,95,92,47,55,93,127,58,106,78,186,33,0,0,1,0,73,68,65,84,211,90,22,11,
-179,136,74,211,148,51,218,87,117,202,71,188,52,252,214,180,38,249,77,27,
-42,201,190,150,156,82,78,89,166,13,46,16,136,148,232,147,170,80,25,146,
-164,193,206,199,109,45,134,240,110,136,222,100,59,96,213,75,177,57,52,109,
-203,166,186,75,106,44,183,219,222,232,17,148,229,166,204,130,53,228,122,
-136,206,19,114,219,87,12,3,103,196,103,93,56,181,248,172,148,24,106,245,
-66,27,132,117,214,47,110,255,251,191,249,155,15,254,252,39,127,246,225,
-219,155,190,244,204,103,39,39,45,106,49,3,160,170,34,178,143,53,63,226,
-192,240,60,210,250,9,102,143,126,221,54,39,157,86,100,225,30,100,136,136,
-138,36,109,20,10,209,16,6,160,130,32,42,177,29,172,47,117,168,28,92,186,
-138,190,122,9,65,196,224,168,6,4,107,112,91,157,34,78,217,12,182,13,86,
-202,245,182,246,46,200,232,135,82,134,50,51,246,133,78,154,75,49,55,51,
-115,243,168,100,117,139,229,166,255,234,114,245,147,59,167,185,89,144,110,
-181,180,8,50,137,200,83,39,231,17,7,131,23,240,35,168,205,0,0,1,0,73,68,
-65,84,166,132,164,73,79,38,35,64,202,168,60,171,38,36,2,78,12,14,11,6,164,
-90,12,165,12,134,161,90,113,22,202,96,220,84,175,1,209,212,87,25,42,168,
-44,198,117,231,46,48,98,217,213,24,88,67,150,157,245,46,146,181,31,106,
-41,101,86,177,41,18,16,139,48,119,51,119,175,17,149,81,194,249,240,114,
-243,79,159,95,188,127,251,236,253,183,103,16,150,161,54,72,76,138,157,211,
-238,24,60,116,168,120,97,74,72,132,137,170,138,138,106,82,37,48,58,63,6,
-27,181,103,108,74,29,44,42,209,215,218,13,37,235,105,49,41,206,10,244,206,
-109,241,26,164,70,95,218,161,210,17,189,197,106,235,46,172,129,229,214,
-152,114,37,86,61,6,135,102,12,5,181,96,78,108,6,134,48,8,15,210,35,34,192,
-0,130,148,71,155,250,203,47,151,63,121,103,125,231,238,157,69,66,53,179,
-102,1,137,113,181,186,63,145,35,185,15,15,207,169,132,224,134,192,219,189,
-205,128,80,18,0,2,14,88,192,131,203,149,83,100,112,223,86,27,130,21,24,
-42,187,18,139,54,15,142,226,81,22,191,234,168,0,0,1,0,73,68,65,84,201,206,
-184,46,40,30,20,108,7,246,133,14,110,107,44,59,51,73,149,178,236,34,37,
-24,177,238,80,136,228,40,21,86,80,5,131,9,1,130,1,32,4,156,28,241,13,218,
-109,173,255,124,89,62,190,88,255,254,79,202,124,46,97,213,124,46,240,81,
-177,30,153,189,63,169,35,173,15,9,207,175,132,60,25,42,153,114,0,78,56,
-97,129,98,44,213,170,249,245,198,40,106,196,224,110,208,80,45,144,10,154,
-69,177,24,60,74,200,182,98,213,179,175,12,196,166,183,190,152,65,182,230,
-203,206,76,97,144,101,23,141,84,131,110,122,51,74,211,230,90,35,106,80,
-89,34,70,87,14,40,66,81,36,97,22,48,161,22,153,127,181,217,124,124,177,
-126,180,90,223,210,20,230,121,126,150,193,81,78,31,215,139,7,140,23,166,
-132,56,80,28,125,241,161,122,117,214,96,181,48,143,117,0,2,11,22,163,129,
-20,22,139,82,163,74,55,84,47,134,33,116,91,98,185,245,174,120,64,215,93,
-233,106,53,200,214,98,217,91,36,152,232,170,196,156,230,144,237,96,14,109,
-197,195,34,156,201,163,20,39,8,252,0,0,1,0,73,68,65,84,132,67,84,40,0,53,
-148,145,148,89,130,98,136,60,191,30,186,207,47,215,23,87,87,239,181,115,
-56,116,86,230,109,26,241,196,61,231,133,252,154,71,252,64,240,156,210,250,
-9,197,20,64,9,116,197,55,221,208,13,213,66,28,26,144,160,120,74,128,88,
-248,16,52,51,35,74,241,190,12,181,209,82,163,184,20,79,219,130,237,224,
-221,16,1,172,135,232,75,53,209,173,199,182,152,103,9,197,182,134,74,4,196,
-156,46,204,193,32,73,144,112,250,24,199,36,147,163,82,16,170,84,247,64,
-51,235,93,174,54,253,106,179,237,123,38,104,170,214,102,81,213,136,175,
-197,241,29,53,144,3,67,142,136,241,26,239,9,58,82,182,250,32,34,42,42,162,
-143,227,55,136,148,116,12,122,30,181,231,98,50,148,90,204,122,133,7,205,
-105,154,3,106,33,230,116,231,166,118,22,172,33,37,116,112,237,42,187,34,
-197,26,143,249,106,179,237,139,71,74,125,197,229,166,244,37,52,231,7,165,
-4,97,30,213,163,34,213,193,44,12,212,203,26,0,198,200,145,109,233,0,136,
-104,25,44,148,42,145,129,192,42,255,0,0,1,0,73,68,65,84,133,10,130,116,
-130,72,128,204,180,26,22,91,156,220,95,251,71,95,246,63,61,155,189,115,
-107,6,43,181,2,64,206,25,187,133,193,222,223,249,90,227,88,87,228,38,50,
-118,63,196,19,63,135,168,10,4,162,128,76,191,24,65,194,232,17,8,194,33,
-78,169,22,197,188,122,56,212,156,22,172,14,15,90,208,140,230,209,85,90,
-176,6,134,136,193,165,171,236,170,151,234,197,135,117,87,250,26,174,232,
-13,155,190,244,53,196,88,107,4,97,227,17,156,230,240,96,16,49,218,86,0,
-10,49,133,154,18,2,114,114,85,142,133,111,176,139,45,9,77,78,138,74,245,
-120,120,189,185,220,204,110,159,206,165,86,205,170,170,238,238,238,251,
-19,63,170,218,7,134,60,154,5,110,110,26,223,234,84,168,64,98,10,31,5,131,
-36,170,199,200,90,39,156,98,129,106,97,206,42,98,33,213,89,28,230,172,206,
-98,97,30,171,2,115,148,224,224,236,13,157,69,87,188,84,47,130,109,239,125,
-13,23,233,13,235,226,125,13,81,12,46,36,45,96,1,115,169,1,15,4,17,24,69,
-53,192,221,11,232,97,30,202,0,0,1,0,73,68,65,84,0,132,8,66,32,66,0,49,50,
-26,66,145,72,179,26,84,213,161,198,39,15,174,62,251,209,236,157,187,183,
-169,67,110,210,19,180,62,36,66,31,69,245,136,103,74,235,125,120,114,4,34,
-224,17,30,140,96,141,157,178,17,59,187,135,143,132,86,51,22,147,193,88,
-157,197,57,212,48,143,229,32,22,28,140,131,115,240,29,173,205,67,82,103,
-58,56,12,24,92,10,83,5,72,169,54,26,161,97,33,35,185,157,18,68,136,79,9,
-7,16,8,101,55,66,21,136,144,227,178,113,20,221,0,32,69,154,234,150,84,135,
-144,79,47,183,31,95,116,191,247,227,104,146,213,90,85,213,204,114,206,227,
-194,241,48,60,142,7,112,10,47,16,249,169,102,13,0,132,16,8,142,230,103,
-140,10,70,68,4,178,51,42,195,118,182,60,11,122,160,84,169,46,131,73,111,
-44,142,222,56,24,171,177,171,169,250,40,170,57,56,59,143,193,88,156,2,173,
-145,140,82,41,149,8,209,16,56,232,212,32,28,116,96,122,16,65,248,158,211,
-24,165,245,52,236,70,100,90,40,238,255,70,5,8,157,27,55,164,206,103,148,
-0,0,1,0,73,68,65,84,10,86,73,15,123,249,228,106,120,176,234,111,207,102,
-238,110,102,177,195,222,134,253,242,126,242,35,190,127,228,189,63,101,255,
-28,17,34,82,35,77,180,38,61,88,131,30,12,210,33,30,98,84,35,140,176,96,
-241,48,231,0,86,227,96,209,91,12,142,222,162,183,168,30,189,177,26,7,103,
-239,81,130,197,163,4,107,144,238,230,52,103,141,176,49,71,6,99,92,83,154,
-178,102,192,192,196,239,0,108,90,49,142,42,182,236,211,1,118,21,65,56,234,
-33,251,212,91,151,134,162,238,17,146,171,44,62,189,174,159,62,188,250,23,
-183,239,213,154,71,105,29,17,55,79,252,240,240,38,123,79,31,211,122,20,
-93,251,139,93,107,140,75,49,7,109,148,217,100,80,138,51,98,47,167,81,44,
-250,226,213,172,0,213,162,55,239,61,6,71,231,49,88,84,247,90,83,245,168,
-230,53,188,6,60,34,24,193,160,59,131,140,136,8,78,92,13,192,41,74,48,4,
-33,12,48,72,39,131,244,144,41,229,17,147,74,61,98,92,74,142,107,199,29,
-179,5,2,72,147,82,178,106,148,20,237,217,253,4,2,177,7,0,0,1,0,73,68,65,
-84,213,213,167,95,93,116,63,62,61,109,155,148,146,153,141,122,136,170,142,
-103,125,72,26,54,14,119,174,254,134,248,154,221,250,166,244,114,247,81,
-0,6,16,83,198,33,2,168,230,163,74,224,68,117,20,139,82,189,84,171,162,197,
-163,152,23,231,232,21,31,204,171,7,61,220,99,252,47,200,32,131,193,201,
-140,129,241,246,47,128,42,148,99,138,248,104,143,38,119,59,143,159,34,19,
-101,47,172,177,191,106,148,253,53,36,199,63,77,218,183,38,213,240,160,40,
-243,108,185,180,139,171,229,80,202,200,102,119,143,105,70,77,119,167,151,
-250,171,31,241,61,35,19,116,88,66,54,146,212,8,152,139,136,74,142,240,168,
-193,74,24,197,40,213,105,17,219,234,54,89,42,164,82,139,115,160,84,73,163,
-221,163,24,74,160,186,88,104,132,48,98,3,186,160,138,154,72,64,64,10,67,
-35,250,36,30,28,181,106,66,16,148,64,98,110,144,70,205,55,17,128,66,84,
-16,22,225,147,17,4,248,186,40,218,88,76,170,182,136,138,96,162,168,52,221,
-178,157,207,187,52,47,101,219,74,244,30,31,243,27,129,193,0,0,1,0,73,68,
-65,84,95,197,255,123,209,252,187,211,110,38,66,99,63,36,93,220,5,230,90,
-134,121,46,21,72,41,61,81,237,251,245,165,251,235,59,242,23,130,201,138,
-55,62,143,202,244,168,218,142,70,189,32,34,24,132,147,30,28,109,32,30,59,
-3,28,195,28,102,211,70,143,240,8,119,120,200,184,179,71,0,47,161,44,239,
-222,220,247,216,2,232,72,70,56,52,144,92,196,37,117,230,23,171,174,235,
-114,157,89,164,68,175,244,194,148,136,192,46,247,225,251,31,234,17,47,3,
-10,140,230,178,233,222,63,133,43,97,52,75,239,28,43,65,115,86,143,106,97,
-38,213,96,21,181,178,86,212,74,51,152,137,79,202,198,72,110,142,214,192,
-136,239,159,40,147,116,222,167,40,78,138,148,107,91,66,13,41,52,155,180,
-85,102,215,131,124,242,96,181,90,13,67,239,172,14,43,81,251,136,18,112,
-40,143,156,62,36,236,238,185,59,29,218,201,241,49,202,227,26,163,227,48,
-202,232,205,246,112,135,79,14,23,140,94,64,115,184,79,31,220,169,224,28,
-103,200,75,40,160,36,79,252,59,146,26,168,146,7,186,108,67,165,0,0,1,0,
-73,68,65,84,138,35,133,54,38,185,234,252,186,234,71,247,87,15,174,203,186,
-119,15,192,141,181,119,27,156,230,147,31,253,72,238,3,129,42,84,144,70,
-219,239,40,170,141,168,59,67,135,79,62,145,201,51,98,1,138,18,26,163,139,
-36,70,165,69,40,83,247,22,66,33,10,36,72,26,115,190,190,247,51,248,186,
-217,121,167,65,81,180,245,80,104,18,205,78,101,158,245,152,125,113,61,124,
-118,85,30,117,24,92,220,195,173,120,45,230,97,129,155,180,62,146,251,117,
-135,98,23,71,177,151,214,70,26,195,246,234,71,140,14,17,113,138,67,38,109,
-229,6,171,41,132,144,144,253,3,178,171,26,249,253,215,153,254,250,23,236,
-203,141,144,34,4,147,170,142,169,58,169,245,52,91,14,241,203,135,219,47,
-54,182,54,20,15,171,230,230,238,48,215,35,167,15,9,99,116,222,180,100,28,
-213,134,192,228,190,30,163,62,2,211,99,148,211,35,195,3,177,139,10,113,
-76,11,203,177,226,233,254,177,163,248,247,13,217,207,162,175,125,189,2,
-10,230,36,73,193,8,164,148,154,121,69,250,229,197,250,215,174,169,237,35,
-0,0,1,0,73,68,65,84,171,225,186,68,111,81,205,221,72,151,136,39,219,157,
-29,241,90,99,188,156,99,228,244,13,3,200,104,18,217,91,69,48,186,239,198,
-144,162,209,138,61,174,39,39,93,154,8,222,208,78,39,179,243,75,209,84,229,
-105,111,70,3,182,0,73,36,9,192,80,81,205,25,146,190,92,118,143,186,178,
-169,94,60,220,199,124,98,5,211,55,135,251,134,219,200,94,107,100,151,112,
-56,168,100,8,85,35,82,4,33,85,37,16,49,218,50,198,84,193,8,120,24,147,67,
-40,42,138,36,136,128,50,20,20,21,165,168,48,9,199,176,103,130,194,112,209,
-233,30,32,28,125,39,187,199,211,49,126,225,24,85,56,205,142,175,57,203,
-159,4,159,248,195,46,112,132,210,213,156,106,156,136,54,205,60,203,176,
-246,2,206,79,31,213,197,127,250,232,225,127,126,39,126,239,15,223,174,69,
-243,201,105,110,98,216,124,53,59,191,131,93,52,223,247,17,37,242,172,120,
-232,103,77,253,227,164,250,93,112,80,30,227,39,240,216,72,178,83,84,68,
-20,130,213,118,120,120,189,89,245,102,100,41,67,25,122,200,47,24,156,174,
-0,0,1,0,73,68,65,84,20,53,112,84,66,14,3,7,76,235,177,116,229,40,122,19,
-36,65,51,52,67,245,114,181,253,248,254,242,98,99,198,84,250,190,219,110,
-71,90,191,4,102,31,101,240,203,193,65,211,122,12,137,18,129,42,82,150,148,
-145,26,81,92,247,254,233,229,240,96,75,151,236,94,251,126,27,144,125,148,
-200,247,52,154,99,248,235,203,196,193,210,90,31,107,30,123,81,221,32,53,
-89,146,177,253,170,147,47,55,49,132,8,233,181,214,27,145,79,55,241,170,
-79,226,136,231,196,193,210,122,39,173,199,190,6,73,52,35,101,164,70,21,
-152,159,94,90,251,233,101,127,181,238,233,22,110,165,142,89,96,190,143,
-203,157,14,241,125,50,251,56,115,190,63,28,44,173,101,122,236,219,137,41,
-52,67,83,82,73,243,243,181,55,159,220,95,126,117,113,105,181,128,81,170,
-221,20,213,227,17,190,111,78,127,127,7,63,226,96,105,253,216,134,184,119,
-121,138,64,84,128,212,206,134,208,135,215,235,171,235,85,173,149,12,51,
-191,185,94,60,114,238,117,199,247,79,107,78,225,34,143,95,236,187,122,61,
-13,5,195,168,71,0,0,1,0,73,68,65,84,34,224,88,35,146,49,49,147,124,142,
-149,220,0,49,97,136,11,76,53,36,9,114,203,102,62,155,205,74,215,35,47,62,
-185,230,223,124,229,247,121,119,91,181,229,48,12,131,187,3,24,181,17,124,
-87,70,122,181,222,124,8,24,65,2,134,168,140,10,172,61,12,240,199,179,42,
-64,199,208,59,98,51,116,4,140,232,134,24,39,155,83,150,130,165,196,32,18,
-34,165,86,24,132,34,46,181,214,90,171,187,31,231,216,115,224,160,123,205,
-238,242,193,128,201,18,1,17,147,70,218,57,235,16,208,71,203,205,87,23,87,
-239,126,120,86,251,46,231,118,159,183,43,34,227,243,183,36,165,55,185,221,
-125,1,193,208,177,140,14,34,165,177,203,66,184,135,16,105,188,81,180,179,
-4,206,84,4,204,66,162,10,102,0,18,57,31,122,17,105,91,5,64,69,104,168,38,
-42,26,52,47,225,23,58,84,28,172,18,178,183,132,128,130,49,160,92,68,68,
-107,90,232,252,20,154,92,243,103,15,151,191,250,252,129,67,135,126,99,102,
-55,87,141,191,193,122,78,129,4,10,220,225,161,164,144,136,80,194,32,177,
-195,0,0,1,0,73,68,65,84,88,148,206,135,33,105,210,156,135,144,18,18,34,
-128,186,11,32,140,209,51,74,32,32,54,139,220,50,143,226,61,167,76,137,138,
-82,81,246,95,115,52,203,60,7,14,86,90,11,101,47,173,167,252,45,81,104,234,
-181,205,173,120,191,1,230,95,174,174,126,245,96,213,83,195,199,156,93,115,
-247,39,170,78,62,19,65,200,110,206,140,166,113,16,238,80,245,8,104,19,34,
-1,60,234,188,27,134,118,190,240,82,135,190,220,186,61,171,86,221,237,92,
-102,99,229,149,119,103,51,0,110,4,37,101,201,148,210,111,20,244,38,237,
-7,192,67,169,168,246,210,112,176,180,78,72,99,62,3,48,50,91,169,9,4,117,
-14,120,206,138,52,191,94,205,126,189,142,135,91,187,123,130,169,208,211,
-55,108,124,207,132,7,114,130,10,36,239,86,10,210,91,204,114,42,152,151,
-138,148,176,236,240,233,87,203,229,182,111,231,139,194,121,223,151,91,67,
-169,86,204,203,121,151,35,44,34,250,119,91,183,232,183,195,105,59,251,224,
-110,106,32,45,79,144,149,250,88,255,249,254,156,68,135,138,131,165,181,
-231,135,221,132,0,0,1,0,73,68,65,84,80,64,217,101,164,239,2,66,148,104,
-114,116,54,203,202,104,216,156,223,31,240,143,95,92,189,247,99,213,89,173,
-181,222,204,75,255,22,197,26,0,116,138,186,173,152,34,114,183,5,171,109,
-180,196,163,171,186,233,107,228,102,51,216,131,235,82,66,23,41,175,35,117,
-37,173,123,29,6,41,5,39,78,179,112,247,139,242,80,36,15,155,225,206,252,
-180,54,231,119,21,39,166,139,252,181,123,197,88,242,225,240,170,62,124,
-127,56,88,90,43,198,68,119,0,83,85,51,8,69,181,213,228,235,210,102,116,
-85,209,158,95,148,238,111,63,250,252,79,110,191,181,152,159,142,198,135,
-177,250,181,251,212,180,96,172,173,250,20,36,1,48,16,203,206,58,215,42,
-186,220,250,229,245,86,20,235,109,223,21,99,242,18,216,122,131,148,67,230,
-219,176,222,93,61,122,227,80,232,25,181,138,155,172,183,165,157,231,213,
-58,190,72,219,53,23,167,236,111,105,253,163,159,222,189,235,125,211,52,
-41,61,78,47,58,42,33,191,57,14,150,214,59,51,226,142,215,66,64,64,105,154,
-100,97,169,129,147,72,63,6,194,246,0,0,1,0,73,68,65,84,179,141,245,159,
-124,121,113,181,62,121,255,174,237,87,141,35,82,74,223,202,36,6,216,21,
-187,90,119,171,42,61,243,213,166,92,92,175,79,78,78,6,107,12,201,153,42,
-163,11,154,199,198,251,136,174,239,251,148,116,24,202,48,88,78,109,53,15,
-143,25,23,50,59,43,142,71,155,237,218,46,172,187,56,207,117,189,72,255,
-213,162,159,207,231,139,197,98,63,175,142,180,254,205,241,253,211,122,159,
-115,243,155,197,91,191,40,152,148,27,89,5,187,84,8,77,195,106,149,206,63,
-188,40,5,105,141,116,61,183,126,217,188,245,191,220,191,253,193,7,229,60,
-174,251,154,135,91,31,212,176,219,221,195,118,241,222,3,91,220,69,8,35,
-134,218,204,102,8,130,142,156,135,40,31,247,243,171,235,1,218,92,94,203,
-114,61,180,243,220,151,68,61,223,186,117,165,12,30,161,121,240,88,117,67,
-13,166,134,197,164,239,177,17,150,33,74,177,173,22,51,115,15,77,73,151,
-87,181,186,164,60,112,97,233,189,109,141,229,63,230,255,221,235,239,189,
-149,255,135,255,178,185,67,204,80,165,26,218,131,16,8,241,0,0,1,0,73,68,
-65,84,197,88,106,208,199,250,91,68,45,190,104,147,10,16,7,108,211,122,30,
-28,176,180,126,58,52,37,17,21,85,74,146,148,67,82,103,113,189,25,46,150,
-246,206,226,36,149,1,253,86,102,57,232,168,37,165,5,88,147,164,212,182,
-16,117,114,61,88,206,122,181,229,23,23,155,213,122,211,204,78,150,93,217,
-20,43,98,219,190,14,213,154,185,108,6,27,44,92,185,173,92,118,86,156,218,
-104,181,218,245,117,144,50,148,90,74,237,80,205,44,220,23,179,121,82,90,
-13,17,56,170,155,185,133,52,101,219,215,191,251,248,242,237,147,252,103,
-239,157,254,139,219,205,188,109,166,182,128,176,36,72,80,10,180,73,99,81,
-148,32,245,216,244,250,6,222,56,90,231,220,16,34,106,76,73,115,27,218,174,
-203,112,127,217,127,190,156,253,254,59,137,54,68,191,210,246,220,204,188,
-219,234,217,237,12,2,66,77,1,60,216,198,131,85,97,151,47,215,229,193,202,
-54,93,93,128,27,211,109,228,28,121,227,209,87,151,176,117,111,93,141,42,
-92,23,94,110,234,224,144,70,194,189,239,237,44,188,20,228,83,76,131,0,0,
-1,0,73,68,65,84,43,197,78,199,222,168,30,119,23,76,26,102,174,194,133,75,
-184,49,204,179,24,230,87,155,205,127,248,197,131,235,109,253,227,183,23,
-255,250,167,39,39,86,129,34,154,167,40,114,72,86,101,208,93,112,212,79,
-190,142,55,142,214,33,99,119,95,149,148,147,204,189,158,108,141,23,189,
-124,182,201,29,218,91,94,80,182,224,105,141,64,233,25,128,164,26,188,222,
-246,93,52,159,95,118,95,173,74,52,249,98,89,152,219,77,77,67,77,155,202,
-77,101,82,89,23,233,171,248,224,235,206,183,53,10,176,42,124,180,241,222,
-32,77,82,178,235,121,46,28,10,75,225,41,96,134,112,246,213,82,146,176,154,
-19,79,67,132,85,16,222,184,75,203,211,119,62,238,134,7,191,184,252,213,
-103,15,222,121,251,79,126,54,111,91,219,134,102,5,105,131,136,34,53,34,
-74,143,212,28,85,144,175,225,141,163,53,67,68,5,162,162,73,211,156,179,
-115,19,221,74,254,116,179,184,234,211,219,98,234,5,160,107,147,36,5,99,
-107,205,245,166,255,252,114,189,246,252,96,27,215,131,8,155,203,33,75,228,
-212,196,143,60,0,0,1,0,73,68,65,84,101,175,153,126,189,25,150,93,213,153,
-174,251,50,148,170,218,174,59,246,198,2,172,43,175,58,244,78,181,144,136,
-174,103,73,28,6,150,194,65,194,44,220,163,212,72,10,186,55,137,61,60,33,
-146,134,183,44,125,201,179,133,69,122,184,169,23,143,214,255,242,147,82,
-222,209,15,79,79,79,180,105,5,225,125,148,161,57,201,99,57,171,163,172,
-126,2,111,28,173,141,108,69,84,53,52,33,101,153,159,82,179,181,205,39,189,
-126,177,242,31,75,93,204,189,175,222,166,38,231,89,95,236,178,203,143,214,
-246,235,203,161,19,174,171,246,145,103,200,198,102,83,228,170,39,204,47,
-86,229,106,221,235,92,54,125,29,170,105,78,219,222,139,133,171,244,22,203,
-226,53,152,144,162,122,215,27,26,27,6,43,197,34,217,88,99,187,134,37,149,
-48,107,18,139,164,36,145,133,166,80,247,190,91,158,220,186,43,39,119,46,
-203,240,191,253,167,79,63,121,43,255,203,31,191,245,95,188,203,247,238,
-180,109,51,183,97,104,72,32,24,78,182,71,53,228,38,222,56,90,143,246,16,
-77,41,66,161,9,192,242,194,46,0,0,1,0,73,68,65,84,121,33,210,202,108,246,
-40,228,225,118,217,47,188,141,88,119,67,154,137,204,228,226,122,121,191,
-156,175,7,94,148,228,77,222,56,135,234,174,165,239,251,71,214,94,109,76,
-154,116,185,245,203,206,37,124,221,91,95,141,82,187,161,186,83,50,45,216,
-151,26,196,88,64,222,190,241,240,112,79,84,210,107,100,11,23,79,225,73,
-104,176,59,109,108,55,221,201,249,157,26,172,249,228,111,191,188,254,245,
-37,254,191,135,110,63,139,127,247,231,127,240,86,3,151,4,15,36,65,56,61,
-36,31,245,144,199,120,243,104,45,162,73,25,73,68,9,161,102,209,44,205,188,
-164,166,179,245,88,181,108,219,15,141,228,84,236,226,170,123,16,139,10,
-41,50,11,105,123,235,183,219,222,106,108,150,203,71,190,88,174,59,157,97,
-213,215,245,96,130,186,234,75,87,106,72,30,6,11,70,10,146,52,51,2,201,85,
-144,118,61,122,166,188,198,49,164,176,10,5,240,96,101,104,113,113,83,82,
-212,243,176,174,213,232,245,242,242,170,105,91,164,179,135,148,207,126,
-189,254,121,255,197,239,253,252,231,119,126,129,222,151,185,0,0,1,0,73,
-68,65,84,148,156,202,41,204,48,158,89,110,226,77,197,15,142,214,36,68,36,
-169,6,233,50,85,105,87,213,23,117,225,36,233,80,171,0,210,180,100,100,149,
-156,83,78,114,186,216,254,34,22,31,250,219,255,182,214,183,155,235,213,
-112,231,23,195,252,62,223,211,102,181,92,109,61,146,153,44,183,220,14,77,
-221,74,87,78,62,222,186,199,172,44,109,48,29,98,86,214,86,61,5,117,53,20,
-64,136,84,107,128,160,206,0,20,131,72,228,182,237,75,1,36,183,237,48,246,
-135,84,77,67,29,255,21,164,18,34,210,64,165,239,109,213,52,77,158,247,143,
-86,109,158,49,4,206,126,176,240,246,127,252,236,238,221,143,183,119,195,
-127,126,75,235,86,155,219,11,70,136,12,238,179,199,147,229,141,199,15,142,
-214,47,13,178,239,200,40,42,170,109,66,80,86,158,239,15,226,154,187,36,
-91,181,138,65,60,202,224,149,168,97,155,190,174,135,40,110,221,80,215,125,
-120,140,125,250,188,24,171,211,2,65,190,136,245,27,1,137,8,119,169,226,
-2,64,84,198,112,89,0,139,219,255,243,223,124,116,94,146,133,20,118,0,0,
-1,0,73,68,65,84,239,253,197,159,126,56,247,237,173,194,246,108,30,67,47,
-205,145,205,143,241,102,210,122,108,129,39,99,7,3,85,77,170,51,21,67,126,
-88,210,71,61,174,152,152,155,141,70,39,61,132,155,142,67,120,31,120,180,
-45,171,193,7,151,237,80,87,125,10,142,101,191,199,126,170,140,152,154,71,
-254,150,99,121,220,18,7,35,163,9,128,238,163,123,222,233,116,29,43,210,
-18,192,160,179,191,250,244,210,184,142,249,230,191,255,227,179,51,91,187,
-228,14,249,228,88,179,225,6,222,60,90,115,140,238,155,154,59,234,254,198,
-205,232,60,63,176,54,213,188,212,156,67,92,104,232,129,217,117,199,193,
-209,49,30,117,182,28,188,15,233,138,109,45,113,215,63,50,40,14,112,106,
-91,243,219,5,145,126,147,134,187,76,55,120,128,140,208,112,213,60,181,233,
-214,205,122,21,231,239,255,135,47,87,248,63,127,249,223,252,201,191,126,
-139,195,245,229,195,243,119,127,70,247,233,128,71,102,191,137,180,126,6,
-204,180,75,249,178,206,212,230,125,202,77,4,89,35,170,136,94,245,210,59,
-58,242,106,192,243,196,239,74,0,0,1,0,73,68,65,84,170,96,32,186,138,226,
-8,202,142,124,99,227,236,231,226,211,205,218,220,55,227,188,37,113,170,
-216,57,85,247,76,73,20,42,67,127,114,251,253,71,93,253,235,79,62,255,191,
-126,121,113,246,126,185,155,181,97,87,35,239,91,92,31,153,253,230,209,90,
-128,49,234,106,108,150,190,75,169,218,70,102,213,92,144,250,48,70,86,122,
-132,121,36,241,171,173,15,129,66,189,238,185,53,152,104,239,169,152,239,
-202,195,78,197,55,229,185,92,35,187,142,124,216,199,27,238,168,173,35,205,
-133,83,105,207,16,136,114,158,155,238,234,98,214,182,181,158,253,79,127,
-245,203,217,191,249,209,95,252,103,239,246,171,107,54,183,85,149,228,216,
-146,239,13,103,246,155,71,107,96,10,233,35,1,50,36,34,60,100,72,51,120,
-52,93,201,94,125,72,146,164,128,37,34,75,89,110,107,13,24,210,106,240,193,
-65,69,169,152,164,232,24,141,72,232,88,242,143,160,252,150,246,99,17,236,
-230,24,176,43,162,191,111,211,52,150,27,15,170,96,204,249,157,235,25,134,
-78,221,57,191,251,151,255,252,224,252,124,216,162,45,140,0,0,1,0,73,68,
-65,84,120,235,108,243,111,223,138,70,61,34,246,25,107,111,56,179,223,76,
-90,3,187,38,51,36,130,161,33,21,173,250,80,124,232,221,96,202,148,7,201,
-61,164,65,89,246,213,40,33,232,139,215,16,36,186,35,37,217,105,13,220,55,
-100,18,192,158,103,44,242,181,72,221,145,218,99,19,86,153,54,48,8,161,16,
-125,180,231,167,233,225,163,251,126,114,7,120,235,175,62,173,63,149,143,
-254,252,191,251,3,221,229,61,140,9,243,223,145,218,115,232,248,193,209,
-90,85,194,25,228,120,91,31,115,199,249,98,12,103,192,227,102,210,16,81,
-64,29,112,199,224,222,242,171,80,181,148,215,108,154,170,169,138,68,128,
-188,84,134,164,234,52,175,78,9,40,130,73,179,69,217,31,104,252,103,247,
-13,55,245,227,239,30,52,121,99,137,57,238,63,29,48,190,94,7,123,42,229,
-189,105,251,240,184,221,44,174,174,47,242,189,197,151,215,95,253,229,63,
-218,95,252,183,255,245,159,181,215,210,45,111,181,185,57,189,109,204,149,
-152,129,64,239,222,190,129,246,236,31,28,173,95,21,44,118,173,239,24,92,
-24,213,48,0,0,1,0,73,68,65,84,20,40,69,72,16,158,199,226,245,227,76,147,
-169,87,239,43,244,234,169,176,6,21,169,105,156,234,38,95,94,109,254,143,
-191,254,252,214,31,217,143,78,155,211,89,214,106,46,149,77,243,38,231,171,
-31,105,61,193,92,67,36,40,46,176,209,88,23,163,210,140,152,218,76,98,207,
-236,87,56,78,133,134,59,82,202,243,69,79,129,44,30,118,87,255,235,255,243,
-183,239,200,237,63,255,195,31,159,47,178,15,69,178,106,74,46,145,147,238,
-60,246,79,182,64,56,108,186,31,105,61,193,153,130,66,74,140,37,115,118,
-93,115,114,13,114,223,92,88,56,181,217,121,101,144,234,100,68,86,109,26,
-26,209,158,197,226,206,223,223,191,254,203,191,219,156,220,186,251,246,
-217,201,157,228,51,53,157,154,198,63,169,5,237,43,233,28,105,253,70,64,
-145,199,198,210,19,21,118,134,9,113,217,247,46,27,45,131,120,97,122,254,
-243,32,27,32,106,66,10,80,93,152,155,211,59,215,117,243,127,255,243,230,
-253,119,47,127,118,231,244,244,173,102,22,193,48,104,170,30,237,75,232,
-205,253,195,195,49,145,245,239,217,0,0,1,0,73,68,65,84,154,113,66,22,209,
-49,155,106,124,63,117,156,150,160,4,133,84,78,133,162,36,4,241,234,244,
-16,117,228,166,45,97,230,21,102,40,85,84,45,165,127,238,102,255,241,163,
-135,191,250,226,81,177,112,43,86,6,2,197,248,68,45,250,87,53,236,151,140,
-35,173,39,36,50,145,137,161,164,146,10,170,64,117,215,225,113,172,35,140,
-157,93,230,213,241,67,66,115,211,212,168,65,91,52,154,221,232,21,26,62,
-127,231,23,95,92,125,252,197,197,96,94,250,190,239,183,0,252,113,39,193,
-199,3,126,19,214,145,71,90,79,16,82,25,2,10,67,16,187,234,122,124,92,0,
-126,106,75,9,124,179,107,222,75,4,131,170,10,119,21,156,206,218,153,138,
-48,32,196,233,189,135,171,254,226,122,109,230,165,12,101,24,72,248,55,122,
-134,188,9,156,198,43,164,245,227,133,203,88,209,122,108,158,254,234,126,
-241,170,168,42,166,226,73,93,213,69,92,224,0,53,168,99,44,83,140,5,127,
-19,144,95,157,114,93,231,253,245,102,45,233,220,98,118,109,81,79,230,53,
-102,179,244,94,182,207,217,234,129,232,82,61,0,0,1,0,73,68,65,84,95,127,
-177,254,104,157,102,139,91,177,188,242,205,166,201,139,190,239,199,114,
-221,17,225,187,112,168,131,199,81,90,191,166,120,60,175,40,0,16,78,209,
-102,221,215,95,63,184,188,218,246,38,24,74,63,12,253,215,62,115,163,4,235,
-75,28,234,43,192,145,214,175,25,166,126,14,147,63,114,106,218,77,1,76,84,
-231,143,214,245,239,62,250,252,215,151,171,42,178,29,54,125,183,220,51,
-248,77,208,61,246,56,210,250,53,131,80,118,97,130,147,29,146,2,138,32,160,
-121,126,53,240,111,63,249,234,87,15,151,91,106,241,26,182,125,162,141,234,
-27,210,28,231,72,235,215,12,143,237,50,50,9,109,170,80,208,136,16,218,161,
-249,167,7,203,95,124,121,121,93,88,107,36,114,172,151,249,166,53,124,58,
-210,250,53,131,66,228,166,239,112,84,45,68,154,20,142,176,60,251,106,107,
-255,240,249,197,23,87,219,190,56,157,99,117,227,177,38,201,155,195,236,
-35,173,95,51,200,62,206,111,52,56,238,44,145,77,114,243,1,179,217,198,240,
-79,159,95,124,118,255,122,189,169,62,196,200,233,133,123,179,72,0,0,1,0,
-73,68,65,84,223,162,203,194,65,224,72,235,215,12,123,43,58,190,238,194,
-87,37,188,34,103,64,30,92,173,46,174,214,93,95,235,240,184,115,200,111,
-220,234,233,16,240,202,250,50,142,11,243,41,199,68,198,186,120,143,93,98,
-223,196,247,62,206,215,4,21,201,4,14,82,12,98,137,204,76,153,249,162,228,
-179,91,11,121,240,203,69,43,87,60,255,247,191,186,94,55,139,174,251,188,
-95,173,89,204,251,26,189,183,152,37,38,53,205,146,43,138,161,24,204,225,
-113,35,40,177,71,116,240,30,81,1,7,60,16,241,109,49,139,223,114,201,94,
-225,117,60,134,58,29,10,52,131,38,146,129,100,86,86,235,237,245,114,109,
-183,201,40,37,6,9,137,96,19,125,150,198,131,89,114,158,66,160,120,35,118,
-92,0,100,20,16,66,81,168,76,121,244,2,40,211,235,100,31,60,210,250,80,144,
-230,244,170,210,10,164,86,94,94,174,190,186,255,232,143,79,230,105,230,
-5,174,112,194,42,156,34,1,82,48,143,241,210,223,136,87,148,192,232,64,149,
-169,153,241,212,155,15,0,95,179,118,7,71,90,31,8,104,164,197,107,0,0,1,
-0,73,68,65,84,68,50,169,170,13,4,8,185,94,109,191,248,234,225,246,189,119,
-23,243,176,26,158,57,54,9,19,81,77,76,170,49,210,116,167,167,239,83,132,
-19,1,81,64,16,49,217,18,1,4,119,225,48,79,130,252,33,74,241,35,173,15,4,
-73,50,3,73,51,233,16,237,135,250,229,131,7,87,235,211,156,178,229,198,60,
-242,220,208,54,18,46,160,54,13,242,201,216,97,120,4,167,194,13,18,206,148,
-19,0,163,16,146,19,72,152,200,252,181,170,94,121,164,245,161,96,172,155,
-170,176,106,80,113,250,131,71,15,191,122,120,114,110,203,129,171,116,178,
-208,249,172,198,109,157,183,0,164,201,205,217,91,16,17,85,136,34,37,136,
-98,44,33,43,170,16,64,84,3,162,99,150,116,202,120,246,178,241,40,173,143,
-248,254,32,1,161,40,171,23,104,80,227,226,234,209,23,247,243,207,212,60,
-221,181,186,168,125,83,120,75,102,13,192,104,114,83,238,65,20,154,161,13,
-82,11,109,68,179,136,134,44,48,155,67,68,107,133,36,93,204,1,69,41,209,
-156,62,253,107,127,144,58,247,145,214,7,131,117,42,58,84,0,0,1,0,73,68,
-65,84,144,49,1,211,43,64,34,54,219,245,163,171,71,114,119,131,161,163,206,
-201,28,179,115,143,134,116,105,178,151,11,17,133,182,72,51,73,115,209,150,
-169,133,164,62,102,243,249,28,162,125,173,162,105,54,156,64,116,40,67,115,
-239,247,159,250,173,73,155,151,124,158,191,9,126,112,180,126,92,210,124,
-42,111,254,166,68,190,255,134,24,124,75,40,36,3,77,214,4,161,104,5,212,
-226,210,135,135,148,12,214,243,213,199,171,56,251,172,253,0,203,79,151,
-91,182,39,51,73,80,73,222,43,34,55,9,139,52,115,191,18,81,161,10,149,158,
-70,13,4,64,203,144,33,67,180,113,64,18,182,13,144,178,135,250,125,119,66,
-115,106,230,162,141,83,161,57,165,166,208,115,211,138,54,129,172,105,166,
-205,2,104,98,172,73,65,217,249,40,20,59,155,74,165,237,47,236,205,166,123,
-133,14,96,234,235,115,195,223,52,85,129,251,6,248,173,137,198,63,56,90,
-31,241,237,72,41,5,133,19,37,8,6,25,12,71,200,216,123,93,2,8,194,195,171,
-89,169,94,122,31,90,79,230,76,222,122,48,198,55,139,72,0,0,1,0,73,68,65,
-84,71,130,163,213,102,6,17,104,66,82,145,132,49,147,19,18,164,32,3,26,1,
-145,20,8,136,134,135,172,190,12,39,52,33,207,69,27,163,64,50,115,227,81,
-145,91,213,198,145,68,231,169,153,67,178,59,243,233,41,39,59,139,66,146,
-72,18,73,16,81,205,34,34,163,81,124,82,96,198,178,136,62,154,21,71,159,
-29,119,111,118,133,89,158,78,95,62,163,50,196,145,214,175,25,178,230,0,
-130,186,187,158,1,58,194,17,170,161,17,34,33,18,128,185,71,173,125,31,221,
-149,111,225,108,173,106,164,147,176,20,202,176,86,230,167,35,173,37,37,
-104,134,170,64,40,66,38,166,12,81,4,137,204,220,0,202,136,28,93,10,66,146,
-196,12,210,8,5,146,212,178,120,73,185,21,109,18,19,116,166,205,28,72,112,
-82,207,0,33,4,146,32,153,146,68,147,136,34,223,166,200,56,145,198,192,173,
-209,28,51,114,88,198,45,72,211,118,25,59,4,131,99,121,175,167,233,241,79,
-101,246,145,214,175,25,166,156,74,193,152,22,35,8,34,0,79,68,10,34,168,
-17,234,14,55,218,224,67,69,208,108,226,0,0,1,0,73,68,65,84,23,221,133,111,
-106,141,166,41,226,105,17,166,84,134,101,141,115,138,104,202,212,36,41,
-67,117,180,123,64,90,228,12,40,3,34,9,222,64,20,30,88,156,75,4,36,33,10,
-36,167,16,74,18,105,50,43,216,32,26,101,2,6,120,1,114,114,178,175,132,8,
-148,146,33,25,218,136,38,136,186,81,100,252,108,18,201,220,145,85,114,3,
-64,68,41,163,128,87,142,138,203,88,140,156,66,145,155,169,165,55,149,144,
-111,50,251,72,235,215,13,83,201,62,202,20,192,23,2,167,132,18,26,65,11,
-177,154,162,194,69,56,160,118,28,150,209,211,41,214,48,218,5,169,20,167,
-43,98,13,21,104,198,78,90,143,81,220,154,230,154,50,161,26,132,36,77,45,
-68,233,129,20,238,132,36,141,25,37,91,8,36,169,103,0,137,141,104,227,76,
-80,87,4,144,205,217,12,192,36,170,157,58,230,239,83,68,233,43,136,136,102,
-72,130,102,32,17,10,72,30,155,48,76,85,45,148,162,16,33,199,138,221,130,
-201,198,206,41,255,127,231,70,218,19,250,9,102,31,105,253,186,129,143,255,
-39,9,58,223,155,64,71,0,0,1,0,73,68,65,84,232,164,169,23,218,16,53,180,
-110,89,59,184,11,59,241,206,235,198,6,26,97,30,222,247,33,18,98,17,10,108,
-71,37,132,41,81,51,38,49,41,72,45,114,22,168,4,128,132,220,142,210,218,
-147,122,16,146,152,103,144,38,40,144,132,148,169,13,216,138,54,193,4,173,
-160,65,114,120,0,99,44,248,40,167,3,41,192,128,164,140,30,162,227,118,68,
-3,73,68,162,8,124,10,128,163,40,84,49,190,0,40,45,0,64,101,170,61,180,179,
-31,200,100,129,185,201,108,236,228,247,145,214,175,25,84,132,28,175,240,
-184,88,52,120,13,43,82,123,150,173,23,143,97,227,117,139,112,160,71,244,
-94,123,171,82,25,153,110,197,60,137,74,49,202,92,250,105,201,168,74,205,
-152,42,255,136,136,34,101,136,210,9,201,200,13,160,240,208,148,25,1,201,
-169,153,65,91,132,64,115,202,185,202,66,154,86,180,17,100,209,89,226,28,
-200,8,2,21,162,144,76,182,228,140,104,193,6,154,18,20,146,192,12,58,212,
-33,13,36,9,5,76,251,222,126,196,244,154,34,194,93,236,202,84,253,80,56,
-105,44,23,244,0,0,1,0,73,68,65,84,170,38,56,42,33,7,4,21,37,24,83,229,249,
-64,120,184,133,155,122,9,43,168,70,235,195,122,80,40,5,172,30,238,94,77,
-194,205,220,37,92,92,74,136,32,135,136,8,21,76,8,221,27,248,192,96,202,
-148,68,39,36,209,219,113,201,136,205,87,8,66,50,154,153,164,86,40,144,44,
-185,9,57,145,220,106,106,137,12,157,177,89,64,50,131,72,78,73,148,28,104,
-137,66,153,65,26,68,74,49,131,36,168,67,9,5,149,68,162,104,74,45,246,150,
-19,238,130,8,9,48,70,211,224,227,66,181,99,193,184,113,176,175,76,9,145,
-0,2,136,177,179,197,84,206,238,181,10,48,120,42,158,25,58,252,140,110,4,
-124,70,141,14,73,207,216,191,14,170,73,85,57,153,184,36,165,164,41,111,
-236,81,110,90,43,14,139,147,148,81,221,54,67,3,174,86,29,86,171,211,235,
-79,197,109,85,238,160,220,255,87,183,30,166,212,74,104,29,108,209,232,108,
-150,34,106,169,72,141,120,104,111,67,74,169,145,164,52,4,129,72,16,25,87,
-160,62,54,194,17,64,89,85,32,89,196,97,16,51,13,135,176,0,0,1,0,73,68,65,
-84,133,38,247,70,180,133,54,208,28,166,218,156,194,83,104,35,169,21,157,
-51,90,209,38,73,178,205,26,146,69,91,201,115,77,115,164,185,104,11,205,
-145,206,32,58,185,54,49,35,102,163,134,29,54,74,247,68,109,132,141,104,
-35,4,68,201,205,78,71,79,208,44,227,11,17,141,13,68,32,9,76,162,105,50,
-158,236,112,148,214,47,24,250,12,7,129,63,203,163,244,204,233,145,40,74,
-81,142,165,181,73,8,9,167,143,109,119,73,247,96,208,58,43,27,192,97,247,
-53,174,157,93,132,1,37,167,205,105,187,57,159,13,152,106,189,62,142,227,
-223,247,187,193,36,248,118,33,124,163,205,97,146,56,50,253,125,87,72,51,
-88,65,29,223,142,54,9,9,82,148,94,40,73,166,174,77,74,142,114,95,9,133,
-56,210,40,100,21,84,38,72,56,217,64,20,26,36,133,194,52,202,99,133,52,128,
-78,227,224,110,129,8,221,213,68,226,215,30,223,37,21,143,180,126,209,120,
-6,77,159,69,247,103,74,253,212,76,169,138,99,116,29,25,65,50,96,42,16,24,
-97,53,224,209,175,172,123,68,52,140,78,93,0,0,1,0,73,68,65,84,90,187,253,
-44,202,163,98,155,48,71,244,167,121,125,111,190,186,55,235,167,33,17,140,
-152,74,116,83,249,216,209,49,189,218,179,120,63,46,0,147,58,59,218,40,162,
-64,116,74,149,25,39,130,6,168,176,4,81,168,83,39,215,13,213,32,9,4,36,49,
-92,130,12,72,16,225,148,132,72,144,132,100,136,224,120,107,80,131,40,50,
-39,105,61,101,54,16,163,147,40,181,227,10,121,215,211,132,251,1,124,11,
-142,180,126,193,96,60,163,32,152,62,189,34,239,179,46,144,99,178,223,98,
-87,55,97,244,41,38,15,21,87,43,172,157,176,96,184,68,119,17,81,154,229,
-125,239,54,49,24,204,32,221,189,89,255,86,91,110,229,178,215,65,227,134,
-168,158,158,177,91,131,113,250,119,34,241,126,121,118,179,79,19,28,140,
-93,209,29,157,20,93,161,140,116,191,57,13,48,6,106,67,36,97,202,174,25,
-63,22,144,68,100,72,2,27,73,156,118,166,83,18,85,33,2,205,136,81,242,7,
-52,131,10,205,50,149,96,22,97,112,170,252,35,207,254,229,128,35,173,95,
-56,158,245,99,63,235,136,153,35,91,0,0,1,0,73,68,65,84,182,153,158,241,
-9,199,40,101,41,50,22,2,9,70,144,161,117,72,161,28,54,49,172,52,186,216,
-94,162,187,80,31,100,213,113,48,12,129,40,119,218,250,254,44,238,54,200,
-240,41,160,102,228,236,238,6,190,255,202,27,74,8,119,29,248,118,35,221,
-103,205,128,83,156,222,142,81,178,223,97,220,103,170,0,30,130,32,67,232,
-16,8,28,163,75,156,99,49,67,31,183,19,190,251,112,26,117,41,80,5,36,13,
-84,64,160,2,42,98,252,38,142,137,57,130,0,68,24,187,74,86,66,249,182,194,
-221,71,90,191,96,232,51,120,237,207,82,54,158,165,90,211,71,241,60,90,43,
-64,135,25,195,164,191,20,21,110,87,209,93,51,58,172,31,234,250,145,178,
-248,48,176,6,188,158,74,247,97,187,253,201,169,221,158,209,131,170,73,244,
-107,25,44,187,114,158,123,37,100,106,88,38,163,70,36,55,251,136,60,150,
-214,59,25,169,50,229,89,143,65,29,18,50,117,217,30,237,113,24,75,76,77,
-238,147,241,104,123,205,225,166,126,60,30,150,34,132,144,66,137,105,4,163,
-179,28,138,221,226,125,89,202,0,0,1,0,73,68,65,84,157,101,124,15,129,144,
-177,151,220,56,210,250,101,34,226,233,45,236,66,158,30,192,41,241,44,93,
-124,140,244,240,233,54,237,230,117,48,171,216,60,164,192,214,203,216,94,
-215,232,185,185,224,250,82,80,157,85,196,27,221,222,75,215,63,57,221,252,
-248,214,112,186,24,6,198,185,54,42,20,9,25,251,70,78,153,138,178,111,190,
-119,83,116,223,144,208,187,77,187,45,194,93,249,0,170,80,65,25,75,9,48,
-77,161,29,28,3,239,166,42,224,162,143,3,57,70,239,201,116,186,188,177,237,
-198,151,137,78,19,97,172,87,165,156,94,43,57,106,53,2,161,240,230,172,248,
-54,28,105,253,130,97,181,62,117,187,52,79,255,169,35,158,222,35,61,105,
-144,206,48,208,25,22,86,108,232,162,22,239,175,3,136,110,137,237,181,197,
-128,237,154,221,134,226,212,42,176,150,221,89,179,190,55,223,222,61,177,
-89,91,182,5,59,37,68,30,179,235,107,174,139,29,175,167,222,214,55,45,33,
-188,201,250,41,202,148,178,99,151,8,101,76,94,184,161,233,238,10,78,237,
-166,195,99,171,202,190,121,30,34,47,17,0,0,1,0,73,68,65,84,37,111,40,237,
-187,63,98,156,54,178,155,45,20,25,95,67,118,3,27,11,111,188,182,150,144,
-39,170,74,60,126,245,67,11,185,118,11,8,37,137,106,18,81,58,188,192,171,
-251,48,93,84,55,88,21,27,50,34,171,20,93,148,237,246,157,15,63,220,118,
-253,182,235,223,126,231,71,67,41,219,237,54,230,103,97,131,134,53,74,33,
-135,90,3,218,180,115,139,107,235,74,110,22,41,180,187,94,159,165,124,75,
-210,229,253,165,245,23,89,11,182,247,177,189,0,13,157,163,135,166,179,202,
-175,110,53,151,255,234,246,195,63,186,189,253,224,150,100,228,92,78,222,
-102,49,237,179,130,146,128,164,132,134,36,151,36,2,5,196,161,59,183,135,
-80,69,84,96,143,109,36,0,110,208,62,5,4,208,8,113,145,4,25,215,180,84,54,
-143,117,107,241,209,183,77,81,97,30,13,56,178,111,155,58,201,218,81,183,
-222,121,51,232,163,132,14,177,201,123,56,166,162,169,142,250,92,218,89,
-109,118,147,98,92,39,136,132,63,94,61,134,64,119,11,89,0,63,64,90,191,46,
-24,3,225,119,18,110,36,222,133,127,0,0,1,0,73,68,65,84,167,161,146,25,81,
-202,0,171,138,80,175,44,189,71,213,164,213,151,232,250,254,145,150,97,224,
-80,106,203,112,71,223,55,26,66,247,97,203,176,166,201,94,74,177,208,56,
-137,245,35,12,3,154,198,195,176,186,28,196,201,98,215,247,117,123,161,25,
-169,118,81,75,2,221,43,194,6,150,147,211,203,15,78,182,239,223,242,187,
-103,222,100,11,70,8,53,51,41,84,68,85,116,31,230,188,139,232,255,129,201,
-137,23,137,35,173,159,19,170,10,142,190,83,76,86,6,6,25,39,9,86,182,177,
-93,137,56,106,239,235,107,175,67,228,68,18,181,14,177,172,165,160,122,95,
-47,131,180,82,165,191,211,36,169,203,43,218,208,158,157,73,173,232,11,206,
-206,219,205,70,106,73,141,144,125,108,47,5,91,247,13,250,71,205,102,0,68,
-141,240,32,66,88,36,21,145,248,227,179,203,159,156,219,207,111,151,123,
-179,42,116,0,16,164,6,89,144,85,178,72,26,35,136,166,136,38,217,61,79,202,
-195,120,82,175,176,121,200,139,197,145,214,207,137,125,32,153,200,206,223,
-49,42,75,214,161,172,49,245,156,107,255,0,0,1,0,73,68,65,84,92,103,22,233,
-87,118,125,1,175,205,124,206,97,3,81,177,75,53,139,128,149,7,65,160,214,
-186,58,211,54,243,250,17,106,207,187,119,197,3,93,143,225,124,123,121,77,
-80,84,9,131,117,197,182,240,45,134,173,171,90,87,97,34,110,153,221,217,
-162,220,58,183,156,202,159,156,119,63,58,177,119,154,50,19,47,4,1,85,168,
-74,82,166,49,181,107,103,252,30,213,227,199,50,123,172,116,115,88,56,210,
-250,57,49,117,167,125,108,172,154,86,2,195,122,21,219,181,244,171,228,27,
-108,175,116,115,161,17,51,204,135,171,7,179,249,60,130,73,164,209,236,91,
-2,128,57,250,19,102,197,118,137,50,184,95,147,130,106,222,63,130,21,145,
-68,38,80,16,64,17,148,172,114,110,109,7,119,205,233,246,140,39,209,189,
-119,167,188,127,207,179,172,126,58,203,39,50,52,165,134,66,18,82,147,155,
-148,178,160,193,144,5,89,168,99,176,169,236,130,224,4,55,90,246,241,25,
-197,109,94,87,28,105,253,220,216,133,148,237,84,212,145,231,94,171,208,
-165,118,182,185,192,250,33,215,87,86,135,199,152,114,156,0,0,1,0,73,68,
-65,84,235,43,96,88,241,252,188,108,59,228,220,204,23,214,15,72,9,16,148,
-109,161,39,26,173,116,219,11,73,89,52,217,181,99,142,156,103,86,9,151,70,
-155,232,122,212,114,54,159,27,150,174,235,247,111,207,63,56,151,133,109,
-223,63,175,239,221,161,245,235,243,124,39,121,132,131,0,154,220,52,179,
-54,177,65,109,18,154,36,73,37,41,199,101,216,168,135,60,78,127,198,13,47,
-12,15,68,227,62,210,250,57,177,243,63,239,61,110,147,77,88,52,53,41,17,
-145,162,156,180,218,222,57,237,183,92,175,86,50,75,231,139,102,88,93,1,
-150,60,213,178,149,118,150,114,182,178,197,208,205,207,79,211,76,151,235,
-117,154,47,78,22,231,203,126,171,171,117,158,205,88,6,165,221,94,52,144,
-117,78,221,219,103,231,239,159,73,223,94,190,255,214,252,157,219,136,237,
-131,59,11,185,219,206,215,93,64,11,196,1,72,3,153,75,158,69,147,106,11,
-107,115,106,146,182,89,154,196,156,144,114,104,130,166,105,193,123,16,28,
-126,10,142,180,126,78,144,220,57,230,228,6,71,196,61,18,144,85,99,128,142,
-182,0,0,1,0,73,68,65,84,207,22,179,15,78,79,222,57,159,245,219,205,195,
-135,15,7,235,110,157,223,170,101,8,98,62,95,184,213,217,98,222,52,237,114,
-213,59,227,108,49,155,183,105,88,175,78,79,79,238,189,245,22,136,123,185,
-89,44,90,175,155,38,245,239,220,201,77,116,51,200,135,239,230,247,87,155,
-235,229,245,173,179,213,98,230,215,29,230,129,134,69,12,62,31,52,121,202,
-64,11,105,168,185,38,181,12,228,164,57,105,74,146,18,53,65,21,73,169,73,
-38,147,153,8,14,101,153,120,19,71,90,63,39,122,82,4,73,36,129,66,144,74,
-204,152,26,57,109,203,208,104,204,127,114,58,255,211,15,236,167,247,88,
-236,206,195,119,239,230,116,169,210,252,225,91,115,145,54,28,87,215,143,
-206,78,231,183,238,156,255,205,223,255,253,221,59,63,253,209,219,111,103,
-193,240,179,123,179,156,155,148,182,63,202,239,233,127,44,221,101,142,238,
-188,157,207,117,30,86,40,155,100,143,162,137,243,123,32,188,27,48,63,129,
-10,182,165,204,206,193,168,10,36,160,13,204,195,230,196,34,39,205,154,179,
-53,89,154,233,158,56,56,0,0,1,0,73,68,65,84,148,178,34,43,179,32,77,137,
-132,33,206,160,79,5,59,228,57,205,32,250,117,239,141,76,110,110,64,71,13,
-126,239,205,153,252,41,191,237,253,193,119,142,75,236,98,172,190,22,115,
-248,12,28,105,253,226,32,0,97,78,204,78,117,126,235,186,92,223,223,212,
-247,238,181,183,78,22,137,92,220,126,63,231,217,157,243,109,147,23,34,233,
-234,234,222,124,209,156,158,44,78,110,157,157,156,44,238,156,159,211,189,
-223,108,218,156,26,77,219,205,90,30,254,227,144,77,77,22,57,55,76,70,241,
-73,188,142,201,216,211,53,158,212,101,32,183,154,18,218,36,109,142,38,177,
-73,200,194,52,242,88,31,251,55,198,216,141,137,133,95,51,238,1,135,163,
-90,31,105,253,188,208,199,110,13,236,110,232,227,61,189,153,157,156,69,
-197,195,237,229,175,174,203,143,238,202,221,183,210,187,39,92,90,81,205,
-25,156,55,210,52,57,74,155,179,102,241,183,111,159,39,213,6,225,180,140,
-104,68,179,70,86,230,102,134,166,1,52,43,82,132,139,9,93,24,141,38,236,
-2,137,146,200,216,152,93,32,243,151,156,56,182,0,0,1,0,73,68,65,84,217,
-72,107,52,9,109,138,89,102,155,209,164,241,25,141,34,43,210,110,14,220,
-176,92,127,87,136,231,235,137,35,173,159,19,55,10,109,237,2,112,68,168,
-72,139,51,69,27,115,241,249,187,159,85,251,197,163,242,118,59,252,193,89,
-214,64,2,178,68,22,159,101,46,102,170,42,2,182,74,122,101,13,97,52,202,
-38,33,41,178,82,8,97,0,174,226,73,217,36,38,149,212,72,242,41,72,78,128,
-36,163,12,22,17,153,55,204,9,109,150,54,161,77,50,203,108,27,52,9,243,6,
-57,97,150,209,38,100,101,82,170,138,42,199,216,167,253,41,224,177,41,228,
-16,112,164,245,115,34,137,124,45,100,103,180,98,11,242,201,29,239,42,218,
-5,222,250,112,216,200,199,221,23,31,174,252,253,179,249,188,141,121,59,
-179,102,180,184,97,214,166,156,50,68,102,16,51,107,154,156,146,196,172,
-205,57,137,128,116,52,51,105,26,72,154,165,104,1,23,9,166,220,54,24,12,
-99,96,178,48,9,84,37,9,68,56,75,209,36,153,101,157,53,104,19,102,89,102,
-19,161,53,39,105,178,52,153,105,213,221,61,108,0,0,1,0,73,68,65,84,18,216,
-20,17,81,157,134,252,255,179,247,110,189,146,93,201,153,88,92,214,90,251,
-150,153,231,86,117,234,194,170,102,147,221,205,150,90,210,204,104,132,145,
-228,177,7,214,211,0,126,240,95,240,147,49,128,13,248,213,126,240,192,111,
-254,17,254,13,6,252,230,7,3,6,12,120,124,209,88,178,173,177,36,118,183,
-250,82,100,177,88,172,203,185,230,109,239,189,214,138,8,63,172,204,172,
-83,69,182,102,154,125,78,145,162,24,56,172,74,102,229,217,185,115,229,183,
-99,199,138,248,226,139,210,202,253,205,169,48,2,124,11,235,47,109,184,197,
-194,43,18,49,2,0,102,95,195,144,66,96,223,30,173,107,62,93,216,19,91,63,
-181,230,158,92,26,48,16,9,104,214,172,96,64,132,200,8,72,100,204,142,29,
-169,154,152,129,153,0,76,66,5,217,27,160,103,101,5,195,12,32,8,90,5,221,
-197,59,76,198,4,140,128,136,181,51,239,160,14,80,121,168,28,84,12,193,131,
-99,11,132,204,232,139,202,13,66,201,94,23,78,209,150,70,250,13,44,51,126,
-11,235,47,105,180,237,142,218,158,29,242,11,0,0,1,0,73,68,65,84,16,45,183,
-236,33,33,118,158,2,137,57,6,220,83,184,255,140,46,254,166,215,135,7,169,
-233,166,232,136,157,121,207,236,99,8,13,145,51,181,148,82,8,158,152,136,
-123,3,37,38,10,85,53,15,234,189,26,123,202,78,13,5,212,144,153,26,46,239,
-83,48,10,76,200,132,136,208,48,121,71,117,160,202,65,96,245,44,37,81,29,
-24,153,193,49,108,154,170,94,145,254,183,76,173,215,152,168,223,16,251,
-22,214,95,210,190,224,190,189,173,204,56,207,1,99,175,17,208,65,53,187,
-200,249,227,229,101,222,67,36,231,124,112,30,216,17,11,176,15,132,222,84,
-213,128,157,39,71,172,98,96,161,10,190,86,31,42,205,193,48,212,108,206,
-80,152,12,216,121,117,18,97,155,3,97,196,130,108,68,168,28,123,135,193,
-83,112,230,201,28,161,35,101,4,38,220,132,224,4,175,237,17,113,155,186,
-190,106,223,148,84,200,141,195,186,204,185,44,63,182,185,103,151,27,237,
-18,12,8,144,16,73,169,40,16,18,185,40,153,76,11,159,188,8,100,150,91,124,
-82,0,216,188,190,104,254,148,102,87,79,121,201,0,0,1,0,73,68,65,84,140,
-104,95,76,219,191,105,75,160,175,202,230,0,12,27,103,71,57,9,54,231,190,
-1,21,47,145,32,101,152,124,36,225,127,58,27,255,228,118,243,195,3,178,97,
-1,205,94,187,63,245,26,247,188,190,156,175,219,198,87,85,5,0,3,51,17,17,
-209,122,189,110,14,30,100,253,176,194,23,19,186,149,146,147,176,108,88,
-43,153,64,125,153,34,4,15,206,161,102,243,222,170,192,57,103,199,217,59,
-104,2,4,71,129,209,33,58,114,76,200,150,11,219,159,12,137,17,129,55,169,
-95,76,240,186,127,222,242,67,126,69,139,241,175,105,27,5,136,237,196,164,
-237,193,127,237,139,134,119,190,3,1,182,29,191,240,111,59,208,141,195,186,
-168,79,109,233,7,248,170,127,130,216,12,76,139,58,14,138,65,222,180,11,
-144,17,152,25,144,129,97,145,142,0,2,208,141,138,133,25,40,24,193,166,249,
-237,235,109,104,37,165,134,116,158,220,139,149,188,219,242,65,211,128,71,
-99,11,85,237,61,78,141,17,177,192,218,123,79,68,204,236,156,243,99,157,
-86,33,0,215,68,76,152,13,3,65,200,244,106,14,49,0,0,1,0,73,68,65,84,0,142,
-208,52,120,112,142,4,36,56,10,142,8,48,4,243,12,193,179,119,228,192,8,173,
-44,59,109,43,160,72,155,140,30,252,29,88,183,223,212,222,14,172,183,3,5,
-118,173,116,128,69,26,176,244,78,148,54,9,5,208,205,53,142,6,69,224,22,
-181,200,100,88,17,158,40,154,176,219,198,210,146,90,251,154,141,46,217,
-22,58,138,178,58,1,146,17,131,233,179,52,249,197,185,124,255,160,122,112,
-80,179,137,18,132,110,226,124,216,243,107,68,172,235,26,0,134,97,96,102,
-34,170,170,202,165,61,28,39,142,171,9,112,118,148,1,3,130,79,134,204,137,
-52,56,118,76,66,226,29,134,64,25,169,107,136,153,60,147,35,32,83,4,45,100,
-84,130,13,172,169,12,5,32,216,122,151,111,78,36,253,121,187,121,88,195,
-118,123,114,165,141,25,192,12,121,131,79,220,213,50,12,8,77,10,111,121,
-163,22,81,30,169,217,22,189,219,14,162,87,121,214,175,25,174,203,121,149,
-27,46,17,16,131,178,145,157,216,228,209,124,241,108,12,191,83,117,83,91,
-2,98,232,90,117,93,96,216,143,46,75,142,0,0,1,0,73,68,65,84,193,154,175,
-88,21,15,108,221,177,133,137,145,120,76,6,14,141,89,153,48,17,120,135,142,
-49,19,122,7,193,91,70,171,61,51,145,99,36,52,220,210,61,8,141,128,16,182,
-82,209,184,237,105,252,134,163,250,109,104,240,237,26,163,0,182,196,55,
-53,43,202,247,219,242,92,225,185,111,187,153,161,8,30,130,109,188,120,97,
-233,191,118,89,192,78,4,224,107,102,84,52,253,55,56,98,219,168,56,131,184,
-233,139,113,252,120,193,167,41,204,234,166,117,232,131,143,190,118,56,22,
-88,35,98,137,64,152,25,17,167,114,36,243,25,198,106,162,164,12,25,145,0,
-0,205,19,70,68,239,128,201,50,152,99,171,156,37,211,128,76,104,140,128,
-168,8,10,168,165,82,195,182,77,69,226,86,149,236,239,129,221,60,172,175,
-180,217,154,129,217,102,243,136,42,104,134,170,101,90,188,201,70,72,139,
-149,204,202,62,19,138,4,29,169,177,169,232,118,234,43,0,108,71,186,126,
-45,39,184,238,18,194,80,180,24,205,28,2,176,131,117,14,191,188,180,159,
-159,235,241,253,102,175,70,199,100,76,85,252,222,143,28,0,0,1,0,73,68,65,
-84,93,35,98,211,52,187,168,186,32,123,98,251,125,51,193,16,90,113,192,154,
-144,17,72,21,3,131,3,112,12,76,144,13,152,53,56,37,51,135,74,136,27,181,
-37,84,64,101,68,226,50,241,249,106,195,173,109,133,65,254,54,157,141,191,
-235,118,227,176,190,218,64,190,73,137,152,170,42,27,128,26,110,198,65,100,
-205,57,139,168,154,100,22,85,17,19,51,181,34,221,166,162,170,214,20,247,
-188,147,225,223,48,65,255,86,25,148,183,111,87,2,164,178,83,46,30,211,90,
-151,6,242,143,47,134,159,188,24,127,247,238,225,195,218,49,2,50,214,174,
-46,222,186,228,64,10,178,17,177,145,189,38,76,204,85,53,34,154,122,114,
-6,34,226,42,66,54,116,140,68,192,6,76,16,156,145,129,99,68,68,164,146,109,
-42,170,233,175,105,205,88,153,152,180,45,188,124,99,169,214,0,240,54,96,
-189,147,125,51,131,43,143,201,212,76,177,168,142,167,36,41,102,17,17,145,
-196,89,53,137,38,131,108,152,204,146,152,168,22,169,197,18,175,108,194,
-70,0,48,228,175,23,170,223,176,45,233,19,116,76,195,198,0,0,1,0,73,68,65,
-84,177,2,25,137,78,215,242,116,30,215,22,208,7,52,241,4,37,228,40,80,102,
-102,239,253,38,19,226,106,231,130,177,247,102,4,72,204,102,156,153,61,33,
-48,58,135,132,0,12,142,208,49,154,130,227,146,233,0,45,43,254,26,106,95,
-73,198,236,202,137,223,194,250,223,205,182,254,88,212,196,72,12,21,80,17,
-124,113,185,34,144,115,249,193,148,41,231,121,26,198,97,100,164,214,7,31,
-147,158,157,195,24,67,168,150,26,23,231,231,135,183,142,23,171,190,95,172,
-167,251,135,203,126,88,175,251,220,180,192,140,6,6,132,174,161,106,106,
-174,85,242,32,103,194,45,184,134,17,106,75,164,18,193,143,16,2,94,160,49,
-154,7,240,8,172,69,182,5,109,211,149,125,99,38,69,223,218,100,147,164,37,
-4,170,0,170,121,238,163,25,52,123,191,124,118,242,236,50,93,28,249,195,
-73,205,117,101,121,116,206,1,0,51,183,109,91,14,210,182,237,208,28,183,
-127,246,33,230,207,210,254,253,189,161,199,220,157,73,104,235,23,48,10,
-59,50,80,48,13,129,16,204,32,187,128,136,27,53,152,47,78,204,0,0,1,0,73,
-68,65,84,41,2,120,21,96,24,148,40,4,96,155,131,250,187,134,230,175,152,
-111,189,203,153,239,24,11,133,60,41,155,168,67,76,18,228,104,113,212,113,
-212,148,58,138,16,151,105,136,131,65,28,198,52,95,72,202,226,67,150,209,
-46,231,25,71,237,7,88,15,106,43,24,70,24,70,148,41,33,72,76,128,174,154,
-30,88,90,37,240,161,106,197,41,120,45,157,214,162,25,16,128,43,230,160,
-194,133,141,188,169,167,149,124,55,124,177,132,210,91,178,118,2,125,92,
-155,251,201,227,103,255,228,59,239,231,177,71,27,235,110,127,151,253,32,
-34,216,246,219,152,18,49,35,145,2,108,242,63,219,246,195,237,225,202,70,
-240,27,221,188,245,101,237,26,131,144,13,152,139,96,16,153,17,168,154,170,
-154,138,152,36,75,131,141,107,235,87,218,175,52,69,79,35,47,22,113,185,
-202,57,203,24,109,185,146,24,7,0,100,244,171,149,201,28,99,242,67,132,241,
-148,98,242,49,226,56,5,83,89,174,192,135,202,238,37,243,81,176,218,59,26,
-188,135,106,4,81,100,167,154,21,157,86,193,24,193,60,0,198,55,175,123,0,
-0,1,0,73,68,65,84,41,186,173,8,98,201,169,200,175,18,228,189,105,99,163,
-80,53,49,241,82,154,191,248,232,228,159,255,254,119,142,124,110,109,196,
-201,65,193,43,17,109,211,251,0,0,14,29,122,15,206,73,25,22,3,64,72,68,4,
-68,102,134,160,102,4,69,255,250,53,157,211,111,13,224,122,189,181,237,50,
-163,166,104,6,42,168,98,34,150,35,228,1,211,10,135,5,244,115,88,45,44,246,
-163,70,29,6,28,7,146,236,115,22,235,37,174,226,56,10,1,165,52,14,151,57,
-11,100,29,87,152,82,214,148,211,170,117,204,176,94,131,247,16,32,39,48,
-65,231,50,100,165,238,136,38,9,124,109,106,74,94,204,25,86,188,169,101,
-110,89,106,6,8,134,191,82,36,253,230,13,125,22,163,118,50,228,254,241,234,
-236,175,63,91,62,236,234,163,64,57,231,18,91,151,253,226,166,53,18,145,
-152,208,57,99,7,155,66,244,6,247,176,171,107,109,14,187,77,11,125,139,235,
-43,118,109,176,70,36,2,80,176,130,30,212,12,146,77,50,165,100,105,212,113,
-5,195,2,134,57,14,151,52,46,104,236,123,85,47,86,20,0,0,1,0,73,68,65,84,
-37,73,89,114,202,113,4,81,70,245,14,36,170,164,228,205,250,97,48,53,82,
-27,98,212,44,96,10,235,65,130,71,85,212,212,159,60,139,81,128,194,224,65,
-250,158,166,75,136,17,235,9,34,129,171,1,88,144,29,131,145,51,135,198,14,
-145,16,129,20,176,52,103,127,21,230,92,215,47,86,147,163,253,229,42,44,
-252,254,255,249,139,147,119,167,71,147,119,170,89,149,16,49,231,92,246,
-142,37,14,129,178,217,100,6,230,87,50,59,8,80,38,125,33,108,103,80,108,
-255,251,54,8,121,221,174,51,19,178,157,212,176,29,63,149,163,164,132,227,
-2,226,104,195,82,251,133,13,11,27,151,16,215,148,199,60,130,106,206,253,
-186,95,47,200,172,169,252,180,118,53,87,142,90,31,252,217,217,57,2,176,
-115,243,249,188,244,120,127,244,217,121,101,214,180,181,154,206,151,39,
-144,12,66,221,63,235,157,137,165,49,167,68,245,148,67,224,122,66,136,140,
-70,232,204,121,13,141,133,10,56,108,246,75,95,97,162,219,77,64,151,30,5,
-8,199,106,246,255,124,250,252,238,132,13,14,254,195,23,230,176,32,0,0,1,
-0,73,68,65,84,38,21,111,93,28,54,0,20,175,156,85,28,226,134,158,7,229,228,
-223,60,100,41,211,26,194,102,46,248,183,182,181,235,141,173,97,91,125,17,
-147,164,57,106,78,56,92,66,28,117,189,146,126,33,195,74,227,0,18,81,179,
-75,67,240,174,169,177,51,14,14,15,246,102,77,29,76,165,171,154,166,109,
-158,63,107,156,115,117,85,157,157,157,150,204,215,241,116,138,104,7,251,
-123,49,199,199,159,126,22,129,192,215,207,78,206,42,114,67,92,14,115,76,
-171,75,9,193,117,51,82,177,60,146,107,213,87,96,201,112,98,104,101,114,
-148,126,117,223,125,130,192,85,173,195,130,29,136,134,19,155,254,171,95,
-46,129,235,63,122,48,152,217,110,203,184,139,179,179,8,155,21,225,165,45,
-71,169,80,10,224,213,172,140,87,121,232,47,158,104,255,247,214,174,15,214,
-175,86,181,208,56,84,69,84,50,196,181,197,81,227,90,99,47,105,84,73,166,
-106,96,19,206,179,174,174,67,3,214,118,117,184,117,184,223,181,181,74,182,
-36,211,201,100,130,99,8,190,107,187,211,22,153,217,57,126,112,124,247,78,
-157,179,0,0,1,0,73,68,65,84,55,167,120,235,232,112,136,195,173,206,169,
-11,202,225,195,191,137,171,149,206,5,98,236,85,7,29,41,73,34,112,38,234,
-155,67,208,108,76,230,28,176,3,32,5,34,251,202,18,182,49,67,91,215,105,
-253,178,170,170,245,136,48,185,245,232,197,229,157,83,25,199,17,0,174,122,
-107,40,76,24,209,205,24,185,109,126,11,97,183,53,176,157,167,222,18,190,
-190,77,134,188,102,215,6,107,73,81,212,164,84,189,53,99,238,121,156,219,
-184,150,254,66,198,81,199,104,121,148,97,89,217,248,157,187,7,239,61,184,
-251,241,163,143,186,174,107,219,246,234,110,73,145,146,165,249,114,217,
-78,166,136,56,164,28,218,137,170,26,145,119,131,119,148,242,218,49,126,
-255,187,239,148,72,244,189,195,122,185,30,94,156,156,126,248,179,71,31,
-61,59,141,60,213,116,4,121,104,242,114,181,122,94,77,143,72,142,72,19,42,
-68,101,101,55,217,219,63,207,35,1,17,48,91,225,0,137,65,50,20,128,238,186,
-150,226,11,205,233,121,38,198,238,88,37,123,234,33,46,121,186,255,151,47,
-199,255,229,241,78,135,212,200,0,0,1,0,73,68,65,84,226,223,251,126,59,147,
-181,172,70,154,188,63,178,143,195,229,254,148,108,236,23,119,127,64,143,
-126,60,185,92,128,155,141,112,70,178,10,116,55,218,103,91,130,135,32,26,
-2,33,48,2,137,125,241,20,132,175,37,191,224,215,176,95,205,183,198,205,
-172,25,220,176,138,182,244,35,128,235,220,50,110,59,47,54,172,59,149,242,
-35,146,114,138,146,147,35,108,166,221,196,119,135,7,123,147,201,228,187,
-223,253,110,169,168,165,148,114,206,219,234,186,94,205,6,64,209,219,221,
-82,219,84,117,23,125,22,115,206,29,31,223,154,76,167,221,100,246,222,162,
-95,139,251,244,98,120,244,217,217,242,244,5,28,220,22,66,4,142,201,60,250,
-110,239,88,208,45,22,115,108,42,216,16,71,17,55,179,38,222,82,202,239,202,
-52,162,82,125,36,48,253,241,211,203,239,28,31,30,55,53,105,30,151,23,220,
-206,28,49,36,5,112,136,14,145,182,172,142,146,238,248,124,12,253,13,231,
-226,125,57,187,54,88,19,161,106,25,158,167,160,2,146,77,162,229,145,76,
-81,18,91,110,235,176,223,77,246,187,218,200,51,23,0,0,1,0,73,68,65,84,112,
-48,107,171,170,50,209,130,212,146,225,218,145,215,10,166,85,117,151,22,
-40,104,246,222,155,89,41,200,169,106,161,4,137,136,115,110,127,230,219,
-186,122,8,148,209,63,122,122,130,113,249,36,205,23,235,19,61,51,202,153,
-218,156,144,114,86,55,217,247,85,107,170,136,91,137,197,237,196,30,176,
-95,53,201,232,218,172,16,111,75,218,2,11,97,213,216,204,254,175,143,87,
-247,142,251,135,251,221,61,159,105,113,230,24,185,109,87,73,43,172,144,
-2,146,7,216,12,181,45,2,218,88,50,213,87,120,140,223,38,173,63,111,215,
-153,9,65,128,45,166,147,73,180,52,90,26,9,196,147,133,64,7,147,234,248,
-96,54,109,171,202,97,202,57,165,164,170,170,42,34,101,83,72,68,197,97,35,
-110,130,200,18,105,236,156,180,170,122,191,25,44,84,60,189,170,102,201,
-8,200,32,142,180,170,43,190,51,173,244,225,15,31,28,61,158,167,159,60,122,
-178,190,56,115,239,124,64,68,121,24,83,142,213,237,123,148,21,200,16,208,
-152,54,195,94,141,223,74,26,193,54,45,189,88,152,125,14,162,69,106,215,
-0,0,1,0,73,68,65,84,76,204,224,167,23,240,231,159,44,191,127,107,58,187,
-67,129,71,140,75,171,235,8,190,2,34,172,145,156,1,148,214,32,3,84,221,176,
-113,175,214,96,202,220,217,111,19,33,87,237,250,188,53,128,110,74,30,2,
-154,33,71,200,163,229,1,115,174,24,219,202,31,77,155,195,105,83,5,167,57,
-197,152,170,170,42,240,221,197,21,197,115,87,85,117,213,103,151,199,59,
-88,135,16,0,96,87,191,72,41,213,77,75,160,227,26,52,71,111,105,191,102,
-127,255,200,240,248,183,177,145,249,217,95,61,122,202,151,79,201,57,169,
-197,198,106,117,162,213,222,29,227,108,30,0,169,248,104,44,163,136,111,
-88,225,153,10,161,174,192,146,28,178,2,168,9,68,222,255,240,89,255,231,
-31,93,188,211,29,236,31,4,200,41,165,209,234,61,147,128,88,35,134,13,96,
-105,67,99,162,157,174,199,21,182,233,183,129,200,27,118,141,85,70,3,19,
-83,5,21,208,12,154,64,18,74,2,75,93,237,15,167,237,225,164,238,2,19,65,
-34,18,102,48,187,90,49,46,17,69,161,104,138,200,134,23,97,86,89,13,234,
-173,0,0,1,0,73,68,65,84,194,238,2,110,51,43,61,127,5,211,165,138,129,46,
-4,70,71,160,201,59,231,40,139,0,16,251,9,210,31,254,232,253,187,183,111,
-61,190,28,127,118,242,177,117,67,211,54,121,204,184,174,193,87,86,6,194,
-58,67,96,52,67,53,117,55,235,238,202,8,216,50,63,148,136,16,138,183,54,
-104,186,231,171,249,255,253,241,197,15,142,234,7,179,169,87,177,97,112,
-205,190,41,3,6,68,183,33,246,16,150,68,78,73,96,111,136,175,59,157,18,195,
-111,189,245,85,187,62,88,111,134,15,43,168,162,10,170,160,101,212,220,4,
-127,48,237,110,29,76,167,77,96,20,21,40,189,122,50,142,187,77,161,115,174,
-132,206,222,251,170,170,68,4,182,155,197,156,51,108,163,17,0,40,93,36,227,
-56,238,2,149,4,236,202,60,113,231,171,170,162,148,35,244,98,232,198,254,
-123,247,143,223,127,239,253,159,62,61,189,248,215,127,249,217,234,132,251,
-35,170,103,218,79,64,18,32,20,225,12,68,71,6,168,160,111,163,255,109,195,
-131,6,36,32,3,98,83,169,28,165,232,127,254,114,245,23,143,211,229,194,221,
-0,0,1,0,73,68,65,84,47,254,193,253,110,234,209,198,129,115,82,101,0,111,
-192,86,34,23,196,162,91,179,195,52,192,235,109,116,223,218,21,187,70,111,
-189,19,76,40,164,34,69,83,48,237,186,102,54,157,236,77,39,21,105,28,7,201,
-130,174,114,206,181,211,0,0,34,82,66,231,178,23,4,128,16,66,129,53,51,3,
-192,142,180,89,220,115,161,219,15,195,176,251,93,110,166,154,211,122,1,
-146,163,11,181,177,121,37,84,184,213,85,79,159,191,112,100,239,63,188,251,
-163,211,121,126,114,182,30,23,171,190,111,111,29,24,2,248,0,154,80,115,
-233,139,39,181,155,166,158,227,38,103,177,233,116,220,245,240,178,102,117,
-225,108,190,120,244,98,126,178,60,126,119,47,144,137,164,104,80,155,209,
-86,125,9,138,210,222,54,185,133,159,131,242,183,208,126,205,174,47,193,
-199,6,170,106,34,162,38,128,202,206,2,98,237,48,206,38,173,10,40,134,170,
-10,10,125,213,212,228,56,246,99,8,193,57,87,246,136,37,174,40,207,148,172,
-200,206,31,151,40,101,189,94,3,192,213,230,168,130,114,51,3,168,106,135,
-205,236,86,237,0,0,1,0,73,68,65,84,57,231,16,194,56,142,166,89,68,150,227,
-185,235,66,91,133,137,226,159,188,123,235,253,91,123,127,117,161,127,246,
-248,68,198,207,98,172,17,164,174,38,38,24,83,118,206,55,237,36,98,95,218,
-19,204,172,80,178,9,153,144,242,53,177,72,18,210,54,175,42,102,34,0,224,
-60,56,191,94,174,64,115,123,176,247,211,231,159,252,98,254,189,135,183,
-154,61,24,14,19,44,195,47,24,30,2,63,8,225,241,4,90,136,67,148,165,15,15,
-147,156,165,97,8,32,1,45,139,33,3,58,234,99,70,49,239,177,196,105,195,48,
-138,64,55,107,135,245,58,1,120,135,57,27,24,212,222,73,150,156,173,174,
-252,40,105,219,72,188,157,186,1,8,0,250,149,177,102,190,216,126,53,223,
-186,244,182,225,166,73,2,117,163,28,3,0,55,228,162,182,171,132,128,216,
-54,77,8,129,213,118,156,75,53,51,145,16,66,201,102,148,48,186,72,100,148,
-56,228,243,176,222,144,215,0,138,183,46,191,136,155,166,175,205,190,179,
-192,186,236,68,85,21,192,93,92,246,154,200,98,222,159,117,254,168,93,84,
-227,9,90,123,0,0,1,0,73,68,65,84,171,31,63,121,126,49,159,135,253,154,136,
-250,213,194,50,87,237,140,153,22,171,75,232,252,231,165,249,223,66,45,163,
-106,218,81,214,198,188,212,250,95,255,248,163,99,127,239,159,253,240,222,
-24,151,80,49,177,51,226,210,175,85,40,45,104,160,64,138,148,84,84,77,181,
-36,42,81,145,41,103,5,82,83,37,210,140,42,6,137,44,17,146,34,57,82,49,53,
-100,70,69,212,12,153,182,132,120,68,176,77,19,100,169,119,124,35,252,254,
-53,243,173,119,61,78,176,137,5,169,110,26,239,189,197,140,0,196,228,156,
-115,204,134,86,249,170,248,102,0,216,33,181,100,166,11,172,95,29,23,177,
-184,115,0,40,168,77,41,241,86,0,169,188,50,132,80,96,29,99,44,119,0,149,
-0,216,142,125,30,23,11,7,50,155,117,23,2,239,238,251,225,204,96,232,51,
-206,173,102,224,90,181,6,82,197,76,234,182,19,176,192,112,219,236,126,243,
-55,247,134,67,116,106,190,234,171,163,127,245,55,79,15,42,251,253,15,222,
-241,253,121,213,77,60,56,4,18,85,177,140,172,37,25,228,24,209,121,154,72,
-251,169,0,0,1,0,73,68,65,84,73,34,138,72,96,196,0,228,28,147,50,1,154,41,
-129,103,52,131,12,224,25,3,152,120,172,8,179,130,50,120,34,69,4,134,77,
-123,66,33,127,81,185,108,190,65,251,206,107,172,50,110,229,221,74,253,172,
-16,222,185,248,93,82,48,64,114,206,85,80,249,42,24,130,35,231,189,15,33,
-92,237,225,131,109,5,241,243,176,46,160,47,176,46,177,120,201,9,22,183,
-93,178,34,229,58,41,62,126,24,116,74,245,116,202,67,21,150,103,207,209,
-134,251,83,255,7,239,223,165,26,63,57,153,159,94,138,15,13,82,142,253,5,
-132,122,182,183,215,39,43,55,227,93,11,235,219,41,59,247,253,88,87,77,82,
-210,201,157,147,197,229,159,63,185,252,233,243,179,127,112,144,96,52,175,
-132,128,150,115,182,232,73,208,204,68,89,122,6,139,42,89,212,57,7,6,146,
-34,179,51,196,108,42,42,82,218,37,76,1,76,192,82,78,206,179,154,168,101,
-213,34,142,154,69,181,8,165,110,168,218,91,69,33,132,111,72,67,250,245,
-193,186,12,254,131,34,36,68,134,108,196,70,236,216,49,51,80,229,227,153,
-153,0,0,1,0,73,68,65,84,241,174,204,78,189,247,134,224,144,75,2,164,128,
-56,132,240,134,183,126,35,182,46,62,184,92,6,0,176,171,50,150,203,0,0,68,
-100,23,201,0,192,172,171,78,231,61,82,152,182,117,160,56,142,195,237,186,
-250,221,247,238,135,198,246,43,250,217,233,120,145,22,99,95,131,111,209,
-145,200,136,234,183,90,106,8,27,9,19,0,176,155,22,215,137,9,14,38,77,127,
-185,128,186,133,131,7,191,156,255,242,207,126,246,233,15,255,253,239,242,
-72,173,121,135,78,77,77,165,220,2,85,4,134,158,189,151,81,82,6,70,82,201,
-113,212,16,210,128,148,146,164,4,137,135,156,114,140,102,195,48,166,40,
-17,192,101,83,201,217,140,34,33,100,53,52,9,190,218,244,126,152,2,22,5,
-184,27,254,168,111,209,174,211,91,111,93,246,198,91,27,21,229,123,100,102,
-242,206,17,17,17,106,97,94,162,99,231,189,47,64,116,206,237,96,93,30,148,
-96,186,0,116,151,162,46,176,46,177,120,129,245,110,187,201,204,57,103,239,
-125,217,74,18,81,87,209,98,144,40,84,181,147,217,225,173,52,172,22,244,
-232,213,0,0,1,0,73,68,65,84,66,134,62,193,143,238,202,189,195,119,247,63,
-93,252,233,163,211,229,229,243,112,251,33,49,174,206,206,124,119,108,96,
-37,134,42,159,231,237,124,203,86,53,46,16,196,5,56,130,118,111,217,79,254,
-223,71,39,255,209,31,126,64,6,106,12,88,248,5,49,136,72,78,177,31,210,128,
-1,194,101,159,215,99,154,96,157,83,26,251,126,2,213,194,100,28,37,70,24,
-25,115,198,113,180,145,33,69,178,44,26,28,24,231,60,42,7,231,48,91,52,83,
-84,46,209,22,34,18,20,6,108,185,150,191,210,118,207,107,178,235,140,173,
-113,35,163,120,101,111,77,148,83,54,51,34,166,45,157,152,153,217,179,39,
-95,130,144,141,126,192,54,182,254,85,91,198,2,226,146,222,134,43,222,186,
-60,46,224,222,69,50,204,92,163,116,109,139,202,4,234,155,174,170,2,69,169,
-150,121,214,94,220,187,115,12,117,243,228,114,117,254,124,180,52,80,105,
-137,55,3,43,93,97,155,221,246,102,238,208,77,163,187,110,98,26,2,69,128,
-49,162,131,102,255,227,147,243,31,127,114,57,185,59,75,6,36,54,148,99,73,
-109,0,0,1,0,73,68,65,84,198,17,99,70,72,99,92,172,47,232,101,207,97,112,
-207,79,225,114,13,123,251,32,25,211,0,135,41,140,154,250,117,26,71,216,
-139,40,66,195,160,211,72,41,17,37,89,103,143,168,57,107,215,184,224,57,
-103,48,21,109,18,66,137,19,55,234,215,69,254,253,198,201,49,111,197,174,
-189,141,0,183,180,135,205,248,134,97,28,114,78,30,137,16,9,169,132,209,
-190,242,100,84,156,235,14,214,37,86,198,43,182,57,46,34,108,211,216,37,
-198,160,43,86,0,189,115,225,37,140,97,102,200,105,111,111,175,243,221,122,
-181,88,246,243,138,61,85,220,45,82,53,127,110,28,111,77,171,135,199,7,143,
-23,231,47,215,43,245,147,182,157,38,123,37,13,179,75,50,191,141,124,48,
-185,126,56,235,42,132,0,49,230,186,157,94,188,176,159,124,244,252,247,14,
-154,136,153,82,26,199,81,123,51,77,125,111,139,139,203,159,95,130,175,221,
-39,207,211,217,2,246,23,43,80,201,17,238,164,196,57,175,214,48,142,176,
-24,178,170,12,3,76,251,148,82,134,17,150,67,36,180,156,83,215,96,85,89,
-43,128,122,34,0,0,1,0,73,68,65,84,206,89,37,187,35,32,2,199,224,24,188,
-3,231,208,49,34,66,253,117,147,52,252,82,118,125,124,107,85,41,37,105,34,
-36,71,236,145,60,113,190,148,44,160,251,30,52,245,174,57,242,126,143,44,
-78,152,18,250,130,203,93,228,176,235,125,130,45,148,175,54,99,239,8,125,
-184,149,205,5,128,166,105,118,14,123,23,154,79,38,19,51,139,145,2,166,154,
-82,85,115,56,56,20,17,140,241,248,112,34,225,214,121,175,199,173,255,227,
-119,186,73,90,255,213,139,225,175,47,94,172,173,166,246,52,129,131,106,
-90,87,179,42,185,60,72,38,166,166,178,180,186,174,37,250,98,75,139,209,
-79,115,216,179,24,49,175,37,15,50,123,255,127,248,5,77,235,167,255,201,
-31,86,123,103,252,217,167,125,85,233,39,231,206,252,253,71,207,158,254,
-100,65,206,225,203,23,212,247,112,144,143,134,184,94,174,151,135,107,92,
-47,67,28,21,76,222,209,163,216,47,87,171,245,221,227,118,185,156,15,3,28,
-231,64,152,64,241,104,175,162,133,141,189,5,223,172,105,200,217,28,193,
-119,223,57,148,249,165,230,42,31,138,0,0,1,0,73,68,65,84,173,229,7,223,
-169,32,14,61,78,0,19,97,100,50,6,65,67,214,64,16,6,91,18,123,102,64,38,
-69,177,194,152,197,18,146,111,25,208,91,119,246,149,55,53,92,119,222,122,
-131,192,162,173,72,128,152,21,178,2,16,51,111,179,234,68,184,13,74,118,
-205,78,59,131,45,166,175,250,108,252,213,203,180,211,214,216,118,138,216,
-46,74,217,253,226,46,207,93,85,21,241,241,8,125,69,245,253,67,93,246,249,
-69,94,253,60,194,8,10,25,0,13,146,140,16,17,176,140,195,18,141,55,238,188,
-118,57,121,66,32,66,164,172,41,38,125,58,182,31,126,214,67,172,123,154,
-174,87,231,207,230,235,149,210,211,75,120,121,169,38,139,203,75,72,9,198,
-124,30,115,26,19,12,178,150,12,41,66,140,48,200,139,56,128,36,200,176,92,
-173,204,49,216,217,32,57,153,192,114,189,32,128,245,18,8,251,65,32,37,96,
-132,136,189,87,13,10,179,85,32,53,28,134,170,198,42,16,161,56,132,218,1,
-177,129,102,64,222,80,121,55,137,79,43,93,148,95,207,156,224,53,118,158,
-111,148,88,54,213,95,28,141,0,0,1,0,73,68,65,84,187,70,98,32,54,116,163,
-114,204,128,200,62,56,34,48,52,118,140,204,142,139,107,222,4,33,229,203,
-125,3,214,240,183,2,122,251,190,175,94,182,67,54,108,189,123,185,114,74,
-153,221,123,159,115,6,109,155,116,206,128,213,190,130,205,78,205,127,184,
-90,205,83,244,90,39,112,106,104,89,132,196,177,35,148,49,15,1,253,117,45,
-209,23,154,119,174,176,149,16,137,156,71,203,146,114,159,210,159,62,90,
-236,201,188,59,236,46,23,126,56,201,151,17,78,227,240,228,20,6,133,229,
-18,114,6,34,190,88,171,1,0,195,197,170,12,138,196,68,118,182,130,56,2,19,
-184,85,88,44,250,166,118,107,197,20,1,1,6,3,71,52,246,10,6,249,37,228,12,
-142,160,7,171,137,91,202,234,141,13,102,156,15,14,235,9,56,208,222,35,112,
-167,68,162,146,48,212,64,108,192,96,168,182,101,36,126,45,49,13,215,234,
-173,109,83,138,221,100,66,216,200,1,187,33,243,58,153,2,59,199,133,179,
-79,206,237,148,156,11,236,118,152,254,124,72,253,107,217,213,186,99,137,
-73,138,147,46,116,144,16,185,69,0,0,1,0,73,68,65,84,214,66,124,93,246,86,
-55,41,104,228,184,56,238,240,251,119,167,239,156,230,79,62,91,112,118,88,
-55,137,131,0,131,149,237,129,128,70,184,97,88,227,166,47,8,17,145,157,71,
-19,149,164,57,125,116,62,254,114,134,151,199,247,95,198,189,229,201,83,
-117,112,17,249,116,109,2,238,229,197,24,2,213,117,183,28,123,118,174,10,
-126,209,47,57,132,174,155,248,154,114,86,116,198,174,90,1,47,228,50,70,
-135,73,114,86,176,188,204,196,196,166,132,128,203,103,201,57,168,2,69,131,
-150,161,117,16,115,172,29,236,121,72,206,69,96,77,125,32,64,54,173,37,167,
-88,213,19,66,134,242,83,180,178,144,8,233,235,153,55,185,62,190,53,162,
-2,17,26,22,142,60,57,32,103,228,5,234,213,104,73,128,107,78,102,72,200,
-222,27,190,22,99,192,21,16,127,9,52,191,97,111,120,107,216,18,89,205,44,
-165,20,197,194,30,113,92,141,151,47,91,214,239,28,77,191,127,180,126,244,
-242,114,57,212,22,2,85,141,185,10,12,85,213,200,152,233,166,55,141,168,
-6,101,228,2,17,50,33,209,184,228,175,0,0,1,0,73,68,65,84,4,144,164,34,40,
-250,241,233,252,199,47,81,242,173,152,112,241,210,94,166,177,167,201,193,
-237,239,46,226,139,110,50,235,38,51,184,184,244,85,152,76,59,60,63,109,
-187,233,100,50,245,161,90,173,122,66,223,180,147,97,136,205,193,16,152,
-115,30,212,98,78,125,223,175,162,168,99,143,196,139,139,71,33,248,172,188,
-88,246,21,217,126,11,253,122,60,156,213,231,2,35,225,98,68,16,232,60,176,
-39,67,54,97,167,108,101,190,18,50,34,3,50,253,125,128,245,166,231,31,119,
-83,165,184,32,59,81,181,26,117,72,162,165,185,138,144,189,83,20,124,221,
-96,27,76,127,233,19,216,81,180,119,153,193,205,137,149,148,226,214,109,
-239,49,33,52,26,171,249,197,75,136,195,157,186,254,225,81,56,185,237,254,
-252,83,89,166,85,26,2,54,149,81,16,17,64,244,222,235,77,79,92,18,217,242,
-14,202,172,23,6,231,81,181,34,248,228,60,253,31,31,197,31,76,126,239,254,
-7,97,254,147,191,168,181,61,186,247,65,59,187,239,186,23,77,219,181,147,
-174,91,44,66,8,237,164,235,46,172,129,144,31,0,0,1,0,73,68,65,84,47,155,
-80,215,77,67,236,220,197,188,174,155,110,178,183,90,175,157,243,78,109,
-24,215,204,38,22,47,47,46,84,181,105,38,76,238,252,227,202,57,206,18,95,
-60,251,132,109,136,102,167,151,54,31,71,143,176,178,180,183,148,10,225,
-160,5,10,44,224,60,147,139,153,25,2,50,35,150,25,234,101,106,213,215,51,
-14,185,214,216,122,195,184,124,21,91,3,177,81,53,196,245,24,69,213,172,
-36,255,153,69,229,141,36,221,27,206,27,182,78,247,202,241,127,141,32,251,
-234,139,119,105,111,68,244,222,55,13,244,9,212,77,186,163,123,50,44,26,
-192,31,28,84,252,253,91,47,180,249,120,217,247,105,176,74,201,177,137,89,
-22,246,111,131,132,205,128,70,100,101,80,142,1,32,129,243,193,59,165,135,
-191,76,231,183,111,253,225,31,125,247,143,15,31,254,35,197,64,147,227,39,
-31,63,159,230,218,121,231,234,208,96,67,204,88,213,213,164,10,228,216,121,
-231,131,175,176,106,59,223,116,58,228,122,178,231,20,19,144,15,212,120,
-84,174,17,121,50,153,129,81,93,181,196,152,242,56,134,189,47,18,149,0,0,
-1,0,73,68,65,84,67,182,161,162,241,197,167,191,24,86,48,243,218,159,219,
-249,42,118,30,134,17,144,53,139,118,53,7,31,189,55,64,23,10,61,10,54,45,
-213,95,207,98,251,181,126,109,184,251,235,85,185,209,144,146,88,202,162,
-102,134,128,132,68,36,10,87,1,125,53,170,254,188,74,222,46,168,248,242,
-231,181,61,56,51,59,142,169,207,70,109,61,59,132,224,98,191,188,51,9,211,
-182,254,179,245,244,226,211,231,39,243,210,88,233,115,210,44,6,249,198,
-233,63,132,104,136,70,36,128,170,106,186,233,225,61,63,191,156,28,29,61,
-62,31,247,46,229,63,152,62,188,245,195,22,213,62,126,49,159,204,84,192,
-27,40,123,66,95,3,18,59,103,84,239,185,218,135,208,118,109,221,205,38,211,
-41,57,30,179,204,246,247,91,87,163,35,231,192,5,70,246,128,220,182,147,
-24,37,65,93,213,97,226,41,87,211,174,70,214,213,34,105,26,150,73,22,57,
-198,49,166,228,193,1,84,46,51,98,236,252,126,39,6,232,156,48,43,161,1,1,
-168,34,226,55,28,214,163,70,81,200,72,74,8,206,99,174,164,44,122,35,0,0,
-1,0,73,68,65,84,208,41,42,81,90,156,11,62,73,225,8,248,54,46,166,57,85,
-18,192,117,37,84,40,93,186,59,150,41,124,17,124,191,52,160,119,124,169,
-93,143,66,85,85,195,96,147,202,231,156,200,235,168,30,172,221,223,207,188,
-88,252,103,31,156,252,167,31,126,10,237,239,85,30,229,252,19,119,248,189,
-184,210,35,188,60,145,9,188,186,96,95,93,184,215,133,246,104,136,0,164,
-194,133,42,202,172,133,214,50,193,241,226,151,123,141,255,233,120,248,223,
-255,127,139,127,241,219,205,33,175,92,189,63,185,149,144,99,219,182,204,
-124,126,126,222,52,77,211,52,47,94,188,232,186,166,109,219,182,109,125,
-77,77,211,116,93,215,86,142,136,154,166,81,27,219,182,109,154,230,249,243,
-231,0,112,120,120,40,34,103,103,103,85,85,17,145,172,247,153,185,174,239,
-127,240,123,135,57,103,93,189,248,232,209,47,46,86,243,167,23,39,23,166,
-39,113,30,235,170,205,169,154,116,93,166,153,234,68,86,179,182,106,155,
-6,145,83,22,213,145,200,17,32,2,131,41,170,18,2,33,69,51,42,229,51,196,
-226,84,134,64,94,0,0,1,0,73,68,65,84,216,137,0,233,26,59,70,223,150,78,
-200,107,93,27,219,180,124,17,15,232,99,94,143,25,38,65,17,199,24,181,106,
-174,82,197,222,166,142,105,193,122,73,146,120,239,69,36,132,16,66,0,179,
-119,143,15,159,142,102,105,68,230,44,25,28,197,95,193,184,190,198,144,114,
-119,28,123,227,201,192,222,218,4,176,90,141,47,107,189,136,254,168,13,183,
-166,174,158,222,170,170,170,235,58,239,253,222,222,94,129,242,108,54,243,
-222,183,109,91,215,245,114,185,172,170,170,192,157,136,38,147,73,249,167,
-170,170,74,223,254,193,193,65,97,215,20,58,100,241,26,165,41,41,231,28,
-14,219,81,44,143,235,97,190,31,244,226,252,124,249,232,211,85,32,155,133,
-48,109,157,238,7,71,62,176,7,43,92,98,175,144,1,105,27,62,126,225,167,249,
-10,236,26,97,77,187,15,102,128,134,100,68,64,196,206,171,132,121,159,46,
-214,233,59,7,157,145,140,99,116,65,191,42,6,228,206,115,171,110,54,241,
-57,231,156,115,5,252,251,239,250,199,159,232,147,179,222,185,89,150,72,
-30,251,183,32,110,182,158,220,94,1,0,0,1,0,73,68,65,84,85,70,64,123,165,
-126,106,8,142,140,92,51,42,130,172,94,14,240,120,73,119,107,190,183,23,
-128,154,182,109,39,147,73,85,85,227,56,22,101,172,131,131,131,170,170,170,
-170,10,33,44,151,203,114,161,94,94,94,50,115,193,119,249,167,182,109,205,
-108,54,155,153,89,219,182,37,239,217,52,77,225,35,20,186,88,221,132,4,158,
-76,226,250,114,184,252,236,163,85,127,218,47,216,250,79,94,194,180,81,51,
-10,190,38,228,49,106,83,211,116,210,34,174,16,118,233,145,18,119,219,87,
-168,183,92,236,26,183,140,69,210,115,167,131,129,69,18,12,136,205,133,197,
-16,79,215,121,132,170,97,17,209,128,87,199,127,109,106,40,191,121,106,239,
-223,241,60,161,4,217,219,50,100,85,85,57,103,201,246,143,190,51,249,171,
-243,211,79,159,173,160,62,84,137,85,237,199,204,238,138,30,7,220,128,23,
-218,221,56,237,141,39,37,70,115,224,106,104,121,77,227,95,159,14,119,92,
-250,103,199,179,104,161,105,154,2,107,85,45,110,184,170,170,182,109,11,
-117,172,56,242,242,184,16,19,10,13,157,104,35,3,220,0,0,1,0,73,68,65,84,
-153,11,233,160,140,242,40,206,187,108,163,203,155,18,145,136,168,243,23,
-235,232,153,9,36,46,239,175,6,131,113,142,58,158,12,63,93,230,68,65,154,
-137,33,171,135,164,200,161,17,231,202,212,9,218,6,3,96,104,96,95,161,136,
-39,192,181,234,132,108,139,227,6,134,106,200,64,12,204,72,30,152,122,29,
-206,123,189,24,116,82,121,118,250,70,69,250,237,95,220,229,230,123,181,
-179,38,143,246,254,62,253,214,17,254,233,207,115,70,15,57,121,226,17,3,
-109,198,161,110,78,113,155,59,188,190,48,164,92,204,87,87,0,17,0,42,246,
-203,140,4,142,154,42,137,253,197,179,197,29,78,127,242,15,187,9,85,206,
-185,226,107,203,53,89,136,98,37,80,46,196,221,130,99,17,41,216,45,179,76,
-17,177,105,26,216,142,160,46,127,94,77,67,109,90,253,49,172,215,145,152,
-28,147,229,59,253,32,54,174,45,199,231,63,127,17,243,194,175,82,55,239,
-137,169,243,226,4,234,188,158,56,111,72,155,121,154,176,221,244,223,176,
-232,202,191,213,174,213,91,3,64,225,240,2,26,161,109,66,50,167,92,0,0,1,
-0,73,68,65,84,4,28,217,152,213,183,23,99,255,217,249,234,176,157,237,183,
-149,228,4,175,231,206,118,200,126,59,62,219,174,168,148,20,199,166,149,
-220,202,235,31,221,173,102,181,59,37,246,144,88,18,144,7,45,233,44,124,
-13,122,215,136,234,87,178,8,69,26,103,179,29,245,161,129,156,65,83,37,171,
-36,240,120,205,63,190,224,211,228,239,54,84,215,117,65,243,174,107,174,
-174,235,221,172,176,18,129,148,36,125,193,113,161,70,238,52,177,118,215,
-115,89,129,157,242,27,150,70,105,87,231,20,21,204,64,77,116,88,247,26,99,
-234,251,249,252,7,121,125,50,234,201,89,223,7,31,161,131,70,108,200,82,
-103,7,96,72,198,84,194,39,43,119,226,111,136,183,198,13,75,0,96,211,162,
-75,64,4,70,128,132,204,84,117,171,117,255,233,203,139,119,15,235,195,105,
-51,244,125,91,215,87,131,144,183,108,87,211,228,197,219,73,11,205,226,228,
-7,247,246,246,167,205,153,56,135,64,41,146,159,32,234,166,150,254,202,85,
-95,247,169,152,237,102,130,26,66,161,197,36,5,240,141,139,49,164,57,184,
-122,216,101,105,0,0,1,0,73,68,65,84,105,118,7,143,214,167,127,253,116,126,
-240,160,171,235,186,192,180,124,4,219,202,99,151,227,237,210,74,59,169,
-183,157,120,208,78,193,16,183,44,72,34,170,235,186,92,30,69,82,203,163,
-143,119,143,201,243,144,163,228,172,105,128,44,253,114,61,230,127,154,215,
-47,242,229,47,101,253,209,124,117,86,19,76,219,16,147,23,167,136,70,2,68,
-155,41,99,6,240,5,18,243,111,215,174,183,141,160,152,65,1,248,174,52,131,
-76,190,26,5,206,231,203,126,140,128,56,142,195,245,189,239,151,180,93,225,
-102,67,79,169,145,23,227,157,253,166,107,43,92,146,67,192,156,201,115,217,
-0,191,209,144,126,157,167,241,186,136,205,142,180,190,234,35,212,77,112,
-88,217,200,225,160,231,253,211,113,254,211,39,167,127,116,39,20,76,239,
-208,92,220,109,241,187,175,157,229,182,183,8,0,10,19,125,199,89,223,93,
-15,176,245,217,187,187,22,197,60,107,235,102,218,13,121,204,146,37,14,100,
-184,94,174,147,113,94,191,88,62,247,243,79,87,227,106,61,140,57,165,144,
-146,151,42,146,110,221,147,149,171,230,251,148,0,0,1,0,73,68,65,84,30,231,
-175,94,59,141,1,241,191,254,151,255,146,136,83,86,64,18,53,81,3,192,108,
-168,101,238,109,233,4,50,80,51,53,19,248,226,231,19,128,154,170,9,152,98,
-25,252,0,12,224,70,170,47,206,207,246,38,205,40,26,185,190,117,231,238,
-20,215,239,84,195,0,12,166,196,133,161,202,8,188,41,81,222,240,205,203,
-118,51,135,136,118,80,96,230,4,28,76,169,95,123,230,127,243,233,252,37,
-221,134,253,219,213,226,83,101,103,166,0,186,33,217,97,9,59,93,212,181,
-130,24,8,130,18,152,195,141,112,239,160,8,232,0,89,209,25,57,224,96,228,
-5,156,198,184,217,81,169,18,160,103,71,0,154,243,200,145,130,67,83,18,109,
-136,41,39,137,107,135,146,73,173,63,71,135,43,245,41,14,173,45,82,191,250,
-203,83,154,175,47,126,248,195,247,14,105,238,198,243,233,222,193,42,113,
-26,115,219,120,179,87,157,22,229,99,238,246,130,155,111,122,235,206,223,
-40,17,148,32,27,0,66,8,68,20,85,66,211,32,177,99,143,192,77,211,57,31,154,
-174,59,205,167,7,183,238,86,11,42,153,248,0,0,1,0,73,68,65,84,213,209,217,
-233,170,107,171,28,47,235,0,147,174,81,27,200,121,102,6,83,38,116,149,71,
-231,50,24,83,85,148,59,17,29,178,39,246,128,12,128,64,190,120,58,32,6,114,
-27,238,20,18,162,223,57,65,164,205,147,0,104,232,118,165,107,68,66,220,
-238,77,203,209,182,207,111,37,15,54,31,246,230,103,158,3,76,166,211,126,
-232,137,57,14,250,228,233,243,239,181,179,165,41,151,78,128,43,121,110,
-250,138,250,50,94,145,82,136,67,8,123,157,219,239,224,201,34,91,78,72,76,
-132,155,190,25,51,83,221,233,238,18,109,64,99,134,6,40,136,90,88,211,50,
-160,82,233,157,218,141,76,36,181,82,86,69,176,82,155,195,141,90,67,241,
-13,98,57,91,202,186,153,185,147,148,0,37,66,26,16,61,196,53,228,104,100,
-58,174,84,248,231,143,94,60,121,254,193,221,187,1,128,215,253,136,206,213,
-77,13,91,162,249,111,238,21,118,241,247,46,235,87,178,251,223,189,123,15,
-213,175,49,172,222,255,33,173,221,229,227,207,146,204,37,143,202,88,246,
-41,72,104,80,86,232,171,103,138,76,12,11,13,0,0,1,0,73,68,65,84,188,133,
-225,208,208,182,221,217,203,165,15,97,236,233,241,243,211,203,135,179,89,
-91,79,180,140,49,54,81,37,17,68,36,114,111,191,169,98,23,100,51,51,178,
-171,217,223,222,231,251,51,253,155,249,160,209,216,7,216,200,19,131,22,
-10,169,106,97,207,19,133,77,240,128,38,5,233,102,6,165,105,74,183,183,29,
-52,211,114,175,207,16,138,122,27,106,6,5,51,82,17,75,17,145,200,52,143,
-131,141,163,48,171,100,203,217,52,80,154,203,56,96,242,208,175,44,143,138,
-32,203,185,56,254,217,243,79,62,252,197,211,135,221,195,123,147,202,22,
-171,80,99,59,155,229,126,196,109,199,208,111,104,180,27,53,182,21,174,40,
-23,204,123,124,111,61,218,186,221,79,26,243,229,116,92,126,10,195,207,99,
-28,188,243,89,81,129,202,149,170,34,136,76,95,245,32,250,27,135,181,152,
-137,106,85,215,64,172,28,86,3,127,122,25,15,186,73,45,74,100,34,70,89,192,
-210,174,165,229,43,65,54,17,49,3,186,64,8,71,157,123,48,227,61,90,44,146,
-186,182,6,52,221,168,104,0,32,40,69,47,107,137,0,0,1,0,73,68,65,84,2,130,
-153,129,22,77,47,220,140,125,80,208,141,247,101,175,42,88,68,243,202,85,
-96,74,136,150,86,134,0,170,42,17,204,16,65,37,75,138,172,21,128,217,106,
-161,195,90,152,77,68,69,52,84,56,158,194,56,64,40,176,142,134,0,203,133,
-58,158,175,23,63,254,197,39,63,56,222,223,255,222,93,39,134,195,58,55,117,
-138,169,217,246,228,95,215,178,236,162,181,114,204,134,27,168,148,90,63,
-75,15,117,82,141,23,159,210,73,236,151,63,115,9,66,182,36,202,140,197,75,
-49,1,185,183,17,5,252,45,118,227,111,79,232,250,126,49,157,76,23,235,193,
-184,178,122,246,179,167,23,135,123,221,145,67,115,219,76,183,169,170,168,
-145,25,226,13,95,232,111,144,4,119,255,27,28,43,7,176,60,245,240,96,66,
-199,33,199,62,1,77,8,198,146,184,6,220,76,230,40,121,56,19,69,132,146,201,
-44,106,245,102,106,96,25,67,206,128,160,142,9,84,82,28,77,133,153,185,191,
-36,4,211,140,105,4,19,64,131,156,32,142,20,59,180,100,139,115,24,150,230,
-200,212,44,169,250,64,145,20,229,233,0,0,1,0,73,68,65,84,233,12,198,1,66,
-128,126,109,146,140,16,150,75,117,76,42,31,126,248,243,119,102,237,123,
-119,143,246,143,26,146,104,42,224,194,213,156,210,111,152,176,217,101,168,
-118,187,106,68,4,168,131,79,80,135,208,117,236,31,190,243,254,63,73,109,
-124,250,211,211,14,134,152,112,76,226,24,17,145,204,0,136,208,127,181,162,
-103,55,79,188,36,50,0,118,46,137,154,171,4,241,227,211,243,195,103,203,
-223,106,107,118,14,0,183,69,129,13,223,248,237,219,102,7,105,128,46,104,
-146,150,237,225,204,61,152,242,105,180,104,72,101,127,178,29,163,106,91,
-93,28,212,180,85,144,80,4,53,205,166,98,38,22,166,152,71,52,37,35,16,129,
-113,141,154,201,57,92,60,3,4,212,132,105,68,205,8,74,57,82,28,113,89,131,
-69,91,156,194,184,64,79,32,6,81,213,5,211,5,140,163,86,149,141,3,136,0,
-19,172,86,232,93,78,242,243,159,92,76,89,255,225,123,119,239,53,15,91,74,
-49,142,90,213,111,96,241,55,95,144,171,215,134,153,97,112,132,224,64,218,
-154,67,152,205,238,253,78,33,8,243,72,0,0,1,0,73,68,65,84,12,241,229,217,
-51,215,255,196,48,39,17,49,115,192,128,8,86,120,125,95,165,68,229,205,199,
-214,102,93,215,173,214,189,2,134,102,50,172,150,194,237,39,167,203,213,
-29,5,192,16,130,115,140,155,18,132,1,190,61,174,200,155,5,32,5,98,7,153,
-90,167,247,247,170,7,7,205,207,230,121,149,181,9,176,25,134,168,162,98,
-162,90,148,188,77,6,218,204,70,204,32,217,114,180,156,76,196,77,214,58,
-12,96,226,28,131,164,188,94,154,36,23,124,188,248,140,208,64,178,166,129,
-52,33,136,229,168,113,36,108,193,70,88,158,64,156,83,96,21,131,81,141,189,
-97,130,24,181,174,45,142,168,134,142,97,232,73,92,0,238,227,240,201,227,
-39,143,62,122,252,143,31,206,234,142,199,113,76,152,91,79,240,27,251,233,
-171,182,187,60,54,199,36,200,38,12,195,94,75,46,7,145,187,149,251,157,131,
-247,95,182,31,61,83,89,26,244,6,70,68,132,132,165,195,224,43,181,27,135,
-117,86,221,159,117,79,78,79,32,180,117,211,173,214,125,59,59,88,142,151,
-171,213,154,136,170,186,242,227,109,66,98,0,0,1,0,73,68,65,84,158,1,29,
-0,177,138,42,241,219,205,135,92,249,242,128,137,129,176,114,116,208,133,
-195,73,93,185,117,26,164,173,182,21,225,50,233,38,139,150,142,136,188,34,
-48,82,69,73,152,162,197,81,227,104,146,33,157,167,190,7,19,242,12,57,230,
-213,2,36,167,224,100,57,23,0,208,4,113,16,75,6,98,41,106,28,204,205,208,
-6,88,159,65,154,163,48,137,193,160,64,222,216,32,37,195,108,49,34,0,152,
-199,52,32,250,227,163,91,75,113,76,180,90,173,36,69,71,173,153,197,172,
-0,116,45,152,46,51,33,118,225,199,142,177,163,136,125,140,83,78,45,123,
-4,232,137,170,233,189,195,7,63,194,23,255,115,26,18,218,8,168,165,95,191,
-44,230,87,94,101,220,164,251,174,140,100,197,223,252,70,182,179,214,227,
-98,185,106,103,7,89,36,175,47,90,15,49,134,149,59,248,31,95,156,253,211,
-206,29,58,73,235,197,138,167,221,193,113,227,128,199,133,86,126,183,25,
-255,205,27,8,254,22,123,227,176,53,90,100,47,97,218,113,255,110,187,248,
-126,61,63,242,242,203,56,61,27,86,155,212,186,249,0,0,1,0,73,68,65,84,160,
-202,6,36,153,211,232,198,1,227,200,166,75,57,201,47,95,214,183,110,73,223,
-143,243,249,65,215,14,139,197,216,247,174,30,116,24,242,56,100,21,54,173,
-69,200,148,16,150,227,37,164,196,93,43,113,132,152,92,93,107,74,150,146,
-250,33,205,47,184,107,125,179,215,159,158,248,182,58,220,159,156,157,188,
-172,246,154,102,90,201,184,62,190,183,127,123,127,175,34,124,112,239,206,
-221,227,227,187,7,211,167,79,159,238,239,239,255,206,111,223,93,140,241,
-201,34,220,174,101,18,214,125,95,8,78,27,209,149,47,189,122,87,69,61,119,
-191,94,240,61,9,157,105,7,0,134,234,39,154,146,30,221,254,209,243,247,254,
-243,213,179,255,110,182,250,233,196,110,251,97,162,77,15,33,231,220,128,
-91,2,32,2,25,208,230,207,146,147,254,53,191,166,95,57,151,241,85,27,212,
-134,180,81,202,2,229,255,110,220,91,171,161,26,40,224,246,135,20,201,128,
-30,159,143,119,39,139,251,21,220,155,86,21,41,196,213,8,4,144,233,154,2,
-196,95,215,204,180,80,43,13,192,51,207,38,205,164,25,182,72,125,0,0,1,0,
-73,68,65,84,30,240,124,77,48,128,233,184,90,85,100,208,175,135,139,83,7,
-10,146,2,205,243,250,148,230,201,134,129,150,243,156,170,188,90,234,48,
-172,214,2,67,15,166,230,29,128,197,161,183,156,152,8,96,32,102,89,94,34,
-24,169,13,23,75,80,5,85,170,2,64,158,85,84,7,183,202,205,254,108,114,124,
-235,232,222,225,244,254,157,227,166,174,243,56,28,238,77,247,39,173,229,
-116,235,112,255,112,127,191,237,42,102,158,76,38,133,78,157,82,90,175,215,
-5,205,165,244,120,117,245,110,98,25,119,120,42,93,207,147,189,3,88,29,243,
-56,147,132,204,217,202,38,132,164,108,64,62,191,204,215,126,62,95,104,55,
-15,107,32,45,213,12,220,222,24,200,144,224,84,247,126,121,150,31,52,253,
-97,19,142,26,211,180,204,230,170,38,188,177,7,127,107,140,17,4,35,132,178,
-117,12,193,29,31,76,143,186,12,171,19,71,2,146,198,211,231,190,245,214,
-47,224,244,49,214,94,115,204,151,79,97,49,31,23,173,229,164,195,122,112,
-148,198,1,114,226,217,161,228,1,36,107,134,36,217,250,53,112,242,53,164,
-0,0,1,0,73,68,65,84,164,148,9,33,45,235,189,189,245,217,89,179,55,219,159,
-77,47,227,178,109,171,42,132,211,139,211,217,108,250,193,123,247,110,31,
-29,198,126,221,181,245,254,108,58,14,253,241,228,176,109,234,113,232,39,
-93,83,215,161,95,47,187,182,105,28,141,227,56,153,76,234,186,142,49,166,
-148,16,177,140,151,46,226,177,87,145,125,237,152,198,207,169,34,2,192,222,
-209,61,94,127,79,230,63,206,241,194,65,218,144,238,41,217,174,175,224,106,
-107,193,219,114,86,55,191,101,44,189,122,136,219,166,244,205,48,68,233,
-142,63,235,95,252,252,100,124,247,32,31,118,25,77,4,124,198,138,182,99,
-190,222,38,166,1,0,202,57,18,137,129,35,188,53,107,110,53,23,184,124,62,
-244,3,202,8,79,63,138,123,21,198,5,124,246,40,239,117,150,98,155,70,208,
-129,87,3,128,162,68,75,25,114,68,4,93,154,35,204,41,194,122,101,160,85,
-83,133,218,169,228,7,247,239,221,191,119,239,211,79,171,135,239,188,243,
-206,189,123,207,159,125,118,120,176,63,157,116,127,249,225,191,57,58,60,
-252,222,251,187,211,98,71,0,0,1,0,73,68,65,84,239,30,238,239,167,56,48,
-98,240,110,24,130,203,208,6,66,1,38,5,72,98,105,200,160,131,196,36,71,71,
-71,34,178,90,173,10,113,175,104,201,238,96,189,163,64,93,251,10,93,253,
-58,112,167,85,52,153,118,179,239,245,213,119,116,181,66,47,200,94,21,152,
-34,2,191,14,98,123,37,4,117,243,118,243,121,107,48,43,83,27,1,8,96,195,
-204,69,96,172,206,215,248,145,229,39,11,187,119,136,29,129,168,244,73,26,
-191,209,74,125,219,200,46,1,61,1,32,33,216,172,118,71,149,214,227,169,203,
-152,251,203,60,158,211,165,96,156,67,255,18,224,2,84,83,68,52,29,114,100,
-6,64,203,227,26,16,208,179,158,157,181,183,111,249,138,150,49,79,218,250,
-189,239,62,156,118,221,106,185,248,253,239,189,127,231,206,157,143,143,
-166,119,239,28,31,223,190,253,105,199,179,217,172,235,218,219,179,224,152,
-171,42,104,30,36,141,101,234,106,69,160,1,32,152,36,77,148,209,177,85,108,
-181,19,79,93,168,11,127,122,231,56,69,164,239,251,194,121,218,121,235,107,
-15,228,174,198,235,71,202,245,155,0,0,1,0,73,68,65,84,187,103,136,40,2,
-133,246,97,174,191,147,253,35,10,61,177,207,153,145,50,226,102,219,182,
-169,197,190,221,154,250,205,231,173,53,163,41,154,162,10,136,149,185,209,
-32,226,53,71,213,147,24,62,94,208,195,53,60,152,178,99,151,12,130,8,110,
-135,67,191,221,8,91,77,25,25,136,217,146,214,164,135,149,30,80,127,62,198,
-180,124,25,116,41,103,167,152,22,222,134,52,159,35,115,142,216,52,181,200,
-48,109,218,174,107,198,145,218,182,238,186,246,204,61,253,206,195,227,233,
-180,235,215,203,105,215,190,255,222,187,77,83,157,159,157,222,222,155,116,
-129,110,239,79,106,7,121,92,57,18,77,235,113,157,167,109,197,196,170,106,
-42,77,21,54,59,54,227,76,104,158,192,145,49,34,179,171,170,80,213,196,212,
-112,93,22,103,167,137,188,233,106,121,29,211,55,129,236,98,111,28,118,128,
-84,215,119,66,253,64,124,69,85,143,24,52,146,199,215,195,15,216,214,105,
-223,150,147,186,121,88,75,4,85,200,2,34,38,102,57,107,202,154,165,179,49,
-33,92,140,244,87,159,46,38,208,195,131,177,191,88,137,0,0,1,0,73,68,65,
-84,230,206,173,169,15,155,94,244,155,62,171,47,48,51,83,69,38,118,94,192,
-2,233,126,141,183,91,250,248,23,79,228,236,89,29,242,112,246,212,99,62,
-190,125,120,113,153,171,182,249,224,131,251,123,179,233,114,49,63,60,152,
-29,238,239,13,235,213,222,222,116,111,54,125,252,241,147,163,163,195,182,
-169,99,28,156,195,189,217,132,9,43,152,54,222,171,196,189,217,4,9,68,198,
-217,108,194,76,128,208,47,251,182,109,153,157,11,161,169,27,64,140,49,138,
-40,88,170,67,149,125,114,206,53,174,242,70,1,188,9,184,202,141,227,88,58,
-9,74,236,177,163,224,193,149,2,225,13,193,186,92,72,187,1,222,102,38,44,
-208,28,84,245,237,193,121,100,3,117,96,193,177,102,195,43,29,109,240,150,
-155,118,111,62,182,214,12,82,48,45,150,213,178,88,78,154,165,211,5,105,
-125,178,180,213,217,165,159,167,137,29,84,21,78,157,239,170,234,106,29,
-248,45,154,21,18,19,51,43,130,3,107,3,237,181,174,169,104,21,240,254,237,
-195,203,116,118,208,134,31,253,246,111,189,56,189,152,237,11,207,49,0,0,
-0,1,0,73,68,65,84,31,254,240,222,116,111,54,59,125,249,98,111,218,237,117,
-237,249,25,206,38,237,222,180,109,221,123,204,68,4,162,78,37,89,26,148,
-160,173,157,67,23,227,216,180,245,24,199,148,83,59,105,75,129,103,50,221,
-171,155,58,167,60,166,132,49,19,179,1,135,186,174,81,166,237,212,43,57,
-230,38,212,17,163,35,22,145,233,116,58,159,207,75,59,99,140,177,140,99,
-253,194,21,187,57,135,13,87,174,31,0,0,4,8,83,36,54,52,48,198,82,109,204,
-105,199,32,183,87,191,117,19,231,242,5,230,128,3,58,231,8,28,130,104,86,
-49,5,66,246,168,171,146,28,32,68,3,102,68,3,2,180,49,141,168,74,10,100,
-168,86,146,239,136,134,38,106,34,144,50,138,176,42,170,144,168,168,44,70,
-185,184,56,191,117,116,107,88,45,46,78,79,247,102,83,25,6,141,227,2,87,
-118,190,186,43,156,52,127,248,100,145,96,21,102,183,254,241,164,94,196,
-121,219,182,197,253,20,213,201,34,9,89,218,164,111,206,20,188,247,8,102,
-34,162,97,38,195,240,199,239,29,253,193,127,241,31,255,196,167,71,15,0,
-0,1,0,73,68,65,84,139,127,249,223,62,252,131,223,221,159,116,103,47,14,
-247,219,230,189,7,239,196,126,29,135,222,28,230,60,222,61,154,17,145,104,
-158,204,102,64,180,74,153,49,49,50,24,144,25,243,38,139,172,170,89,115,
-213,214,73,132,157,111,187,73,206,25,140,102,147,189,245,122,157,36,119,
-211,110,66,52,142,99,201,61,143,227,72,228,145,201,85,190,174,235,170,174,
-181,199,210,152,200,204,179,217,172,104,33,92,237,213,45,245,162,171,248,
-222,41,12,95,151,225,182,91,236,170,237,65,175,217,75,55,115,71,223,151,
-139,179,32,99,219,180,189,102,66,54,44,77,244,130,160,8,132,224,9,111,246,
-75,220,153,131,43,217,238,146,174,40,33,208,38,223,108,166,86,18,172,38,
-6,162,90,198,141,88,153,73,81,86,82,85,85,64,20,114,182,156,52,103,17,17,
-145,242,87,35,113,72,115,92,41,173,230,85,188,164,245,104,171,101,92,175,
-123,20,27,101,88,103,96,54,200,63,253,155,159,237,233,120,220,54,223,189,
-29,224,245,13,74,233,60,189,233,133,216,133,242,87,85,212,152,249,191,249,
-175,52,203,244,152,0,0,1,0,73,68,65,84,254,75,48,29,215,171,39,31,127,148,
-251,53,104,94,206,207,68,147,231,166,124,254,29,122,174,118,39,236,184,
-111,59,88,151,94,247,82,195,219,141,94,216,141,25,41,20,126,51,43,176,54,
-51,231,92,233,68,44,114,8,176,237,21,247,222,167,148,118,13,139,187,215,
-95,125,223,155,94,171,207,175,221,166,45,96,43,166,10,176,165,155,127,69,
-202,33,174,132,242,8,64,8,165,101,7,193,204,212,128,13,84,193,212,64,1,
-196,64,205,164,84,69,55,144,54,19,83,81,73,34,89,216,196,36,99,142,144,
-162,166,44,57,231,156,36,139,173,207,112,126,17,123,103,67,239,135,129,
-197,211,114,137,171,85,66,14,224,243,178,247,77,211,76,234,231,39,243,79,
-62,123,62,10,142,227,184,27,123,94,220,143,123,43,44,199,171,37,140,171,
-84,227,7,135,251,167,39,39,57,199,253,182,214,138,151,203,121,213,248,230,
-112,218,247,105,183,181,133,43,236,228,226,210,118,80,222,33,184,192,183,
-124,174,2,77,51,107,154,166,188,190,220,160,138,224,119,169,173,120,239,
-187,174,43,66,31,37,145,235,30,163,32,0,0,1,0,73,68,65,84,87,215,117,233,
-48,79,41,149,215,148,35,132,16,202,123,189,113,69,189,133,69,43,11,6,72,
-200,30,40,24,133,210,237,130,168,8,102,240,198,100,2,219,230,195,110,220,
-28,152,109,238,17,27,21,147,66,235,217,189,189,194,6,194,165,167,75,193,
-4,84,76,197,178,106,86,221,108,1,179,67,165,148,48,69,24,71,72,201,74,101,
-56,103,89,95,58,25,36,137,197,145,82,26,71,201,125,15,227,208,212,13,231,
-52,12,203,213,242,252,226,28,47,206,95,62,73,227,255,250,191,253,239,71,
-127,242,187,206,185,221,24,141,157,31,122,11,107,177,179,157,211,101,102,
-92,245,148,6,150,232,80,5,149,200,216,81,85,7,17,44,41,136,2,160,157,63,
-222,33,172,60,184,234,134,175,122,235,146,108,238,186,174,116,125,119,93,
-71,68,101,86,170,247,190,60,40,79,22,111,77,68,59,117,132,24,227,174,172,
-88,68,66,68,164,92,18,215,30,120,252,91,109,35,16,196,1,92,99,92,129,56,
-64,70,148,194,41,191,146,16,217,118,3,189,21,115,133,111,9,0,140,96,136,
-76,72,160,170,127,69,253,56,0,0,1,0,73,68,65,84,194,192,6,160,102,10,134,
-102,37,67,135,42,152,5,68,32,101,200,25,82,134,148,44,38,203,217,44,105,
-206,54,142,22,163,165,164,41,105,76,38,89,179,4,31,250,245,218,212,52,203,
-122,189,146,156,208,64,231,103,172,180,239,200,91,26,208,222,249,193,187,
-119,102,123,39,207,159,174,215,239,55,77,147,115,222,113,27,74,98,228,166,
-145,189,11,73,203,45,2,182,224,14,4,135,179,105,91,7,147,180,26,160,174,
-234,170,170,1,169,105,154,148,82,241,190,112,69,253,44,231,188,27,83,182,
-155,55,89,188,245,110,192,123,1,98,225,54,150,112,185,56,230,113,28,139,
-76,194,56,142,136,216,182,45,34,150,164,7,108,131,144,2,241,221,69,178,
-11,184,203,159,59,13,252,27,93,171,215,141,0,1,185,6,87,3,215,70,132,200,
-8,76,101,152,41,226,102,42,56,22,87,253,150,114,92,110,119,13,97,25,102,
-180,205,220,176,153,169,136,10,138,144,40,138,150,124,51,164,132,89,48,
-37,204,9,83,198,24,41,70,76,41,231,40,57,75,140,154,162,230,12,41,99,78,
-32,178,184,18,196,40,166,0,0,1,0,73,68,65,84,88,213,117,221,47,231,132,
-16,152,18,65,215,181,33,248,179,147,245,126,87,223,217,63,194,192,60,235,
-126,240,91,31,28,77,103,207,30,61,46,73,171,221,125,246,173,21,101,174,
-18,131,174,22,135,79,22,151,206,123,96,82,64,68,110,154,110,210,77,145,
-136,144,11,172,119,24,42,142,118,24,134,130,173,114,159,217,193,186,40,
-123,148,39,119,81,214,100,50,41,47,40,142,185,232,48,21,236,2,64,209,143,
-44,254,24,17,119,255,122,21,214,37,200,46,94,96,167,119,124,211,107,245,
-186,33,16,252,255,236,189,91,143,36,217,145,38,246,153,217,57,238,30,17,
-121,169,107,223,200,38,135,32,135,115,217,25,44,102,23,90,96,5,233,97,245,
-34,9,18,244,176,18,180,144,94,36,253,0,1,250,55,2,244,11,164,7,65,47,130,
-0,105,31,6,35,9,194,46,116,91,206,130,51,75,205,206,146,28,146,221,93,93,
-183,204,140,139,187,159,115,204,76,15,199,195,51,42,171,179,155,85,172,
-202,44,178,105,8,36,50,34,61,35,78,184,127,110,199,174,159,81,104,16,58,
-151,214,25,250,126,58,169,0,0,1,0,73,68,65,84,68,66,19,135,100,13,196,236,
-181,245,132,236,155,144,64,94,181,181,239,231,38,0,128,155,145,25,169,146,
-230,73,61,171,162,20,104,65,202,21,220,200,137,114,166,148,40,37,206,89,
-75,70,81,42,153,181,4,83,130,18,138,64,79,162,173,90,82,74,139,174,187,
-115,114,220,175,100,181,92,46,186,118,123,127,245,224,232,248,40,68,136,
-183,119,143,143,90,227,254,249,251,39,177,166,205,198,113,172,20,22,51,
-81,203,219,62,17,179,61,58,219,214,21,34,119,63,120,223,84,83,202,139,163,
-99,137,109,206,57,134,13,49,119,93,147,82,154,203,56,105,79,72,80,225,123,
-104,91,31,194,186,186,152,149,199,177,106,235,67,35,164,106,244,106,132,
-48,243,114,185,172,246,216,76,103,51,171,228,10,235,121,194,42,246,81,163,
-219,113,25,1,112,132,52,206,141,147,129,132,136,43,15,61,94,32,138,48,191,
-169,66,236,234,141,29,176,122,96,223,20,173,25,90,51,130,197,85,93,75,45,
-147,39,205,208,66,154,235,131,117,100,77,164,153,1,129,26,12,149,206,9,
-36,96,99,255,214,119,233,189,96,250,0,0,1,0,73,68,65,84,190,177,232,186,
-37,165,229,162,189,127,239,222,118,179,94,44,186,38,198,243,101,251,222,
-241,73,89,95,128,237,206,170,185,184,120,106,253,240,253,111,125,103,135,
-9,214,115,36,225,134,93,198,153,144,96,138,195,180,77,191,222,142,57,83,
-8,157,68,25,211,162,91,53,77,3,214,122,7,210,1,207,70,213,172,95,232,50,
-30,218,214,85,191,186,123,141,240,84,119,144,247,51,38,231,16,71,37,203,
-171,104,174,138,249,144,126,105,30,172,90,217,109,14,253,197,155,140,250,
-79,244,77,36,149,70,162,158,75,0,251,180,185,95,22,62,3,55,70,98,22,204,
-52,196,198,204,156,132,137,196,203,113,52,221,158,109,189,209,82,114,206,
-37,103,43,138,146,41,103,42,101,76,90,237,4,205,154,179,230,226,106,4,146,
-205,250,89,211,52,93,19,3,55,77,136,93,211,8,177,153,173,58,0,184,251,7,
-223,173,225,176,85,55,213,79,222,93,198,33,109,188,33,145,246,226,162,15,
-161,109,78,142,31,111,199,24,237,48,16,81,13,18,222,79,34,125,123,238,227,
-97,230,162,154,16,21,28,77,105,149,62,33,0,0,1,0,73,68,65,84,1,183,109,
-75,20,129,221,110,103,197,239,220,59,206,57,199,216,214,104,198,28,130,
-168,218,122,183,219,85,252,29,26,33,216,223,45,244,146,212,3,170,26,174,
-182,71,125,177,46,166,154,215,68,116,124,124,60,47,111,230,212,235,186,
-174,130,184,90,32,243,119,153,117,246,219,75,199,204,98,198,74,30,26,237,
-228,131,109,190,91,232,19,105,57,235,42,240,14,14,118,34,5,156,32,226,20,
-156,163,238,9,169,103,95,146,0,216,245,195,229,217,8,4,230,125,4,154,129,
-240,149,52,182,87,21,225,101,4,96,202,126,130,43,69,53,213,145,61,44,158,
-8,6,40,49,164,9,139,166,26,115,116,122,20,99,136,34,66,142,192,210,132,
-64,128,170,90,233,241,98,26,108,111,189,123,69,15,128,154,48,175,154,108,
-238,224,183,3,193,219,119,25,95,150,121,187,152,33,82,151,81,117,103,173,
-117,158,111,54,0,135,138,118,134,245,225,239,47,99,26,251,16,202,97,2,252,
-240,175,135,118,17,237,195,234,135,175,207,63,111,35,47,59,173,118,2,217,
-188,200,75,123,250,214,100,130,245,124,133,96,254,235,0,0,1,0,73,68,65,
-84,79,207,251,160,15,189,169,186,21,183,2,83,114,37,55,130,29,47,27,83,
-85,21,51,35,154,24,117,69,100,28,162,136,84,40,147,131,137,220,93,201,146,
-79,52,233,21,157,135,198,223,97,233,66,189,234,62,183,24,237,129,174,170,
-51,209,250,77,90,141,51,146,248,69,78,209,26,98,171,171,58,116,25,253,128,
-7,126,158,223,94,33,62,91,11,120,81,91,99,95,127,55,79,108,154,191,230,
-225,89,186,2,241,95,230,246,190,217,19,117,185,13,113,189,195,137,137,232,
-102,211,47,87,229,11,180,117,189,24,49,36,38,103,136,144,155,144,50,5,38,
-85,62,90,52,102,86,84,109,95,24,93,251,50,73,153,153,220,28,106,110,234,
-68,110,166,165,204,27,250,124,121,100,63,197,153,246,115,54,174,104,184,
-89,141,85,100,207,41,143,151,43,120,222,42,214,105,79,40,138,125,222,184,
-6,161,103,218,187,82,74,85,219,243,230,83,243,44,85,245,214,91,116,86,195,
-135,190,239,33,112,231,8,6,14,246,180,43,176,198,245,72,189,162,164,111,
-18,208,85,120,162,235,199,116,223,219,222,174,36,40,103,0,0,1,0,73,68,65,
-84,69,187,85,185,212,214,135,193,218,24,227,157,227,35,85,45,90,84,213,
-14,146,225,1,234,238,102,98,106,106,251,122,72,245,150,133,153,21,230,76,
-230,12,170,140,176,172,78,179,165,49,95,108,34,170,241,93,236,219,58,106,
-208,99,206,198,93,81,222,95,184,195,190,217,109,247,16,16,47,219,217,135,
-127,165,3,115,118,78,158,87,88,215,23,103,55,17,251,0,197,97,174,244,10,
-76,103,87,15,251,8,253,33,166,241,18,82,175,3,238,109,153,34,135,16,222,
-107,235,91,86,213,56,212,214,51,134,0,136,200,162,37,85,46,133,84,217,140,
-139,178,22,82,165,113,40,123,175,182,158,253,122,54,193,44,68,196,12,98,
-33,16,9,187,67,152,197,105,54,145,15,99,195,85,225,213,75,88,21,97,213,
-127,53,38,80,145,113,168,219,102,108,221,164,182,62,252,32,222,207,153,
-174,177,185,217,24,152,227,30,87,96,93,15,59,204,56,206,111,251,242,47,
-135,95,240,10,172,191,114,145,47,63,189,97,112,59,166,89,192,243,11,183,
-101,232,207,18,46,23,178,215,169,245,58,49,185,147,49,133,50,228,0,0,1,
-0,73,68,65,84,51,121,29,242,202,238,230,6,55,169,173,160,102,14,173,28,
-162,76,204,2,77,121,239,226,26,132,73,4,4,98,110,89,174,192,122,142,160,
-213,44,67,206,185,86,62,84,107,181,102,209,102,147,157,15,102,161,207,22,
-200,91,61,107,135,174,237,225,106,233,32,163,62,103,200,113,48,99,137,246,
-113,183,10,238,26,194,171,255,82,65,127,229,131,174,220,165,116,208,19,
-116,120,59,93,249,175,195,42,148,235,190,194,219,62,69,95,32,149,60,101,
-250,29,230,118,187,36,124,87,71,2,204,107,11,194,4,119,175,93,90,112,49,
-54,22,119,142,173,22,205,37,171,3,78,68,206,196,196,4,3,49,195,76,64,228,
-78,65,64,0,91,35,92,227,116,21,214,243,101,155,97,61,177,75,239,3,183,117,
-160,201,97,20,246,149,180,215,155,146,47,4,86,93,201,225,58,177,199,253,
-97,184,102,254,57,247,248,124,225,250,175,67,222,151,88,32,238,94,74,185,
-98,160,127,37,202,223,182,204,150,226,190,158,218,111,125,186,110,168,102,
-238,108,15,84,95,94,68,114,54,243,90,112,8,183,98,78,203,174,43,85,0,0,
-1,0,73,68,65,84,6,114,98,43,25,238,12,143,194,118,176,116,21,0,38,130,142,
-3,230,107,22,46,153,241,235,97,179,234,173,80,198,222,169,154,75,216,42,
-92,14,107,217,234,238,81,144,218,166,13,96,135,81,173,126,116,66,206,37,
-196,74,37,228,53,139,229,181,15,24,64,134,41,136,65,225,74,7,210,23,202,
-21,37,61,203,21,45,59,127,145,106,68,189,124,216,252,226,97,136,253,151,
-140,78,126,229,97,68,36,104,182,101,189,248,197,255,24,242,6,223,249,135,
-136,247,145,251,109,187,32,148,0,106,32,53,153,70,10,99,98,185,164,179,
-185,114,163,190,234,109,112,221,77,168,164,13,50,210,35,29,63,167,6,192,
-18,230,45,67,205,234,180,13,34,38,170,108,201,78,244,234,155,136,79,4,104,
-251,88,181,131,20,224,47,103,255,186,54,129,119,184,245,215,157,119,222,
-46,103,231,239,240,50,92,33,9,255,18,148,208,62,2,80,179,15,117,203,174,
-172,23,117,7,167,125,238,250,48,33,92,212,37,155,139,194,92,8,44,161,230,
-70,153,11,176,39,127,172,227,61,38,4,139,153,3,196,129,193,239,227,250,
-0,0,1,0,73,68,65,84,224,100,90,224,224,16,110,221,73,255,21,69,26,136,102,
-179,141,110,126,158,30,255,101,92,124,16,48,52,237,119,35,22,168,157,176,
-4,7,148,157,165,0,126,192,195,253,86,252,16,134,192,211,148,138,182,189,
-157,125,83,181,31,215,201,181,176,158,163,22,213,239,57,140,172,29,26,18,
-243,139,135,170,235,186,109,244,112,223,172,65,143,106,91,51,115,53,169,
-231,84,249,188,221,207,200,110,194,66,88,152,184,210,150,2,0,131,98,36,
-42,0,38,186,159,249,134,134,3,145,169,153,139,18,136,120,63,137,234,203,
-228,22,183,242,95,90,114,16,11,156,108,124,60,156,255,139,178,251,108,197,
-9,93,134,124,27,38,133,151,222,69,16,92,216,145,8,153,246,13,41,135,209,
-195,55,184,154,0,66,113,228,228,170,48,118,10,228,201,167,139,114,107,242,
-101,218,26,123,157,61,43,236,25,145,47,71,54,14,255,113,126,101,86,249,
-135,127,154,180,239,129,229,83,173,142,217,102,61,60,120,214,214,34,123,
-234,107,62,248,56,6,16,48,81,163,211,68,111,234,102,181,29,141,128,189,
-2,163,206,96,210,63,0,0,1,0,73,68,65,84,175,226,246,123,213,139,125,91,
-55,64,134,2,34,220,8,107,71,207,165,108,56,109,199,199,141,248,167,163,
-28,217,234,195,16,63,166,208,49,224,22,75,177,248,98,95,209,155,95,182,
-1,58,122,217,144,39,130,144,71,71,1,235,173,18,166,126,85,139,238,12,187,
-89,121,207,124,20,135,253,225,21,235,243,239,56,56,125,117,82,224,149,119,
-163,131,234,142,10,220,249,158,185,146,28,230,203,242,29,152,1,181,40,0,
-149,38,29,4,48,216,193,142,253,32,38,135,59,187,163,34,28,14,115,135,205,
-213,100,46,252,78,206,158,255,229,69,59,16,161,116,40,104,173,103,234,49,
-174,121,125,150,236,47,50,31,187,126,139,67,223,28,127,155,249,148,92,192,
-203,183,191,30,32,111,188,156,145,15,129,132,208,186,143,78,122,187,62,
-227,87,104,107,28,40,236,249,247,195,134,80,236,193,122,5,229,151,31,240,
-98,253,221,12,220,217,200,198,85,248,126,193,61,80,55,128,10,107,174,88,
-133,26,140,65,138,88,255,234,128,194,12,83,240,193,80,24,66,52,53,179,49,
-216,0,83,253,229,65,13,107,113,170,0,0,1,0,73,68,65,84,253,229,91,246,109,
-105,107,102,192,90,36,241,109,63,182,79,23,209,161,37,106,54,122,108,249,
-76,215,107,215,11,235,159,209,226,91,180,248,8,161,123,83,46,227,181,146,
-119,72,79,172,60,33,108,153,8,222,184,179,185,242,141,140,37,186,78,190,
-218,182,158,207,200,21,240,29,130,242,229,179,54,203,97,175,242,33,72,103,
-83,239,48,237,114,104,208,31,254,11,170,98,102,56,212,225,25,105,55,110,
-115,25,65,84,44,215,104,137,154,230,148,107,24,39,132,16,178,54,109,23,
-67,75,8,194,45,81,67,0,253,210,170,250,214,19,10,215,9,3,34,0,179,217,48,
-14,143,217,172,45,12,31,200,155,80,70,25,63,163,241,194,118,143,117,249,
-72,238,124,47,158,124,35,251,157,217,255,158,223,228,48,61,244,171,74,58,
-211,244,164,228,39,226,91,208,10,202,106,40,166,205,187,9,107,188,84,91,
-67,47,85,222,205,175,19,81,213,202,135,160,60,76,190,28,30,57,195,250,48,
-87,252,133,153,136,195,247,33,34,181,92,52,41,202,110,216,158,173,159,239,
-134,173,187,13,56,107,155,199,97,216,43,0,0,1,0,73,68,65,84,38,132,168,
-90,250,97,208,82,66,140,109,211,132,158,23,139,163,229,226,56,134,69,215,
-30,47,22,194,16,187,57,86,248,183,37,106,187,32,45,22,34,173,59,237,138,
-14,109,9,69,119,86,58,46,57,218,142,203,38,231,77,159,119,5,137,237,34,
-30,253,61,188,168,92,174,43,70,120,77,41,155,146,215,170,27,182,1,190,128,
-139,169,155,223,170,101,93,227,214,135,207,103,149,124,5,82,179,41,92,147,
-103,135,209,189,67,117,126,229,23,92,191,217,29,134,117,231,195,204,76,
-157,69,172,248,96,202,141,116,100,128,27,133,146,209,12,148,30,175,127,
-190,238,31,27,141,187,180,29,203,216,180,237,144,203,243,205,121,29,105,
-48,12,61,49,26,139,207,183,185,223,109,239,134,123,54,16,140,239,156,220,
-143,235,69,27,187,247,239,126,96,184,151,61,231,49,159,116,39,4,152,90,
-20,113,67,178,20,67,48,55,38,98,48,17,180,36,9,241,58,0,220,150,17,2,89,
-110,198,45,31,255,46,63,248,219,237,191,250,239,155,241,51,156,126,199,
-55,127,89,244,25,19,131,67,224,54,154,114,101,87,218,0,0,1,0,73,68,65,84,
-132,244,216,158,172,237,233,15,207,78,126,112,122,255,91,190,248,120,12,
-31,202,242,27,10,74,96,9,92,96,230,202,160,134,194,158,105,29,32,130,101,
-120,29,45,9,160,198,145,20,100,100,90,140,84,218,154,22,16,43,72,23,176,
-148,47,254,41,149,33,216,41,16,20,27,65,106,145,91,187,87,242,99,144,64,
-162,79,195,23,107,194,186,48,181,115,120,202,231,79,224,235,45,241,106,
-166,19,93,246,217,184,92,22,110,208,225,227,242,159,190,218,101,156,145,
-61,107,223,43,136,159,255,122,5,202,135,63,127,121,169,106,37,80,48,97,
-55,176,192,29,195,184,222,0,67,218,108,250,179,126,220,34,104,42,105,44,
-217,133,70,77,89,147,66,0,235,115,15,120,182,80,74,49,148,100,99,78,154,
-198,82,84,77,137,92,46,182,231,82,218,24,154,101,183,90,116,18,209,24,171,
-163,29,203,40,20,25,12,135,169,113,168,131,231,8,213,146,127,151,132,129,
-38,52,20,90,131,184,1,80,88,95,134,51,242,13,136,156,162,113,114,49,15,
-238,2,39,227,243,79,139,59,154,193,219,77,115,26,226,63,95,0,0,1,0,73,68,
-65,84,55,135,238,110,3,33,68,231,232,196,216,39,57,138,17,28,34,168,67,
-141,224,6,48,17,46,251,89,40,98,15,30,134,151,241,220,251,103,156,123,170,
-89,115,51,88,113,203,102,9,150,93,223,213,0,223,203,66,7,101,165,248,34,
-88,95,57,242,229,223,15,229,186,125,144,129,98,26,152,136,100,44,206,66,
-70,229,209,243,79,55,72,89,135,139,205,179,81,119,28,49,164,161,79,99,242,
-148,172,79,57,73,96,119,235,199,29,224,209,66,206,89,75,241,160,37,89,78,
-170,40,154,221,13,136,217,146,50,36,112,179,25,159,180,178,104,195,226,
-195,7,223,64,67,146,58,212,155,86,1,131,154,171,209,45,143,97,251,34,97,
-160,145,136,230,40,81,231,206,228,138,178,46,233,81,75,35,28,32,49,106,
-16,6,196,132,152,17,218,123,104,168,71,218,109,178,60,67,57,199,226,20,
-70,96,166,15,255,14,169,3,2,105,1,113,96,38,205,243,58,16,217,140,64,34,
-117,236,19,136,133,43,153,51,12,186,182,241,73,217,126,142,180,89,56,96,
-230,166,110,5,150,204,6,232,232,86,110,247,33,191,237,0,0,1,0,73,68,65,
-84,55,254,255,101,145,144,67,224,94,241,225,94,118,233,230,167,47,191,207,
-43,45,200,129,156,83,104,91,2,105,73,222,54,9,253,167,103,191,72,97,40,
-86,182,195,166,120,98,231,62,245,187,97,39,37,12,184,200,41,135,192,14,
-239,135,29,224,81,67,41,121,232,199,34,163,169,155,130,26,53,144,187,183,
-206,78,67,78,154,7,189,24,63,103,107,86,237,137,197,212,198,238,180,188,
-119,220,156,0,204,129,64,96,136,154,171,189,16,37,127,39,68,29,66,8,71,
-20,142,157,59,34,192,118,158,77,160,53,87,237,20,17,122,216,8,140,228,29,
-249,18,193,27,237,109,92,27,111,177,91,102,117,98,110,219,123,106,4,233,
-164,61,70,92,9,181,144,0,192,65,130,192,76,106,192,20,165,51,117,15,100,
-228,5,154,8,35,242,25,165,39,92,158,194,182,164,137,39,37,61,194,6,216,
-224,62,184,21,226,27,226,37,251,66,249,106,151,241,101,112,95,81,180,115,
-117,219,149,23,95,111,65,4,208,212,110,6,22,50,248,214,54,103,227,83,243,
-100,174,187,178,43,158,9,188,29,215,155,170,250,71,68,0,0,1,0,73,68,65,
-84,126,205,66,23,249,89,206,41,132,0,242,97,216,17,81,211,132,82,138,22,
-112,242,146,213,138,171,140,86,172,36,77,188,38,100,130,16,75,19,197,210,
-110,183,189,240,79,179,21,255,214,234,251,247,241,96,217,29,5,105,59,89,
-82,165,104,122,189,239,240,86,69,11,36,130,151,220,220,229,230,14,114,132,
-103,113,11,78,110,106,230,6,114,27,9,35,104,32,107,243,197,50,158,36,132,
-5,81,235,89,97,45,59,135,216,228,39,63,82,103,110,86,180,184,195,221,41,
-100,73,113,69,77,7,115,4,144,11,19,213,113,147,208,164,121,64,116,77,59,
-43,61,251,142,203,5,141,79,163,93,48,37,232,192,218,195,6,183,17,150,224,
-25,94,28,5,120,87,97,93,229,101,112,191,17,249,146,183,138,113,90,85,19,
-99,194,120,182,123,182,179,13,44,171,105,175,125,210,4,179,245,240,252,
-188,127,70,236,207,134,167,37,231,234,50,246,67,207,140,216,68,45,153,188,
-177,152,74,42,102,174,97,116,181,146,139,143,35,17,24,34,8,193,131,58,74,
-81,236,202,56,164,126,187,125,104,239,159,2,114,248,69,0,0,1,0,73,68,65,
-84,44,238,174,154,211,135,119,191,113,36,119,132,47,93,169,119,71,140,138,
-123,20,110,101,241,64,218,251,186,235,200,54,129,29,70,78,14,100,152,17,
-18,242,8,244,40,49,245,199,177,51,96,65,212,32,39,215,198,77,96,29,149,
-127,73,206,136,75,47,167,54,158,152,44,17,22,210,44,76,27,105,23,224,6,
-89,97,14,118,45,67,26,118,188,64,25,119,150,119,130,193,117,135,178,33,
-29,136,13,121,99,58,88,217,194,118,100,137,172,192,141,111,251,172,189,
-178,245,248,114,228,228,202,139,151,101,183,95,250,221,190,4,214,34,1,147,
-123,138,205,176,254,252,249,163,157,110,68,189,152,246,121,55,150,209,57,
-175,135,103,23,253,99,146,178,203,187,156,179,184,0,54,140,61,17,162,133,
-82,138,107,52,201,57,101,119,80,80,56,180,168,20,23,90,148,92,74,210,161,
-36,50,102,112,227,156,169,252,162,63,219,158,61,235,206,143,87,114,119,
-76,233,163,123,223,94,240,73,160,134,223,49,251,154,130,167,154,94,90,220,
-227,238,94,177,6,14,137,162,94,235,189,220,61,67,13,62,192,142,199,187,
-99,0,0,1,0,73,68,65,84,118,206,210,186,33,155,107,52,8,251,41,168,179,194,
-133,155,102,85,224,140,210,145,29,99,92,25,181,144,142,98,155,84,186,110,
-73,20,243,88,28,30,162,184,38,27,182,240,35,164,158,203,200,200,108,217,
-74,175,154,157,64,227,115,211,100,214,195,6,246,194,174,48,252,218,204,
-101,188,98,79,31,190,254,133,199,255,170,145,209,74,219,44,178,221,109,
-158,95,60,27,74,31,69,138,234,88,210,152,7,227,52,228,237,144,215,100,197,
-200,149,50,193,28,150,125,36,192,181,20,45,174,218,103,73,227,88,138,178,
-184,155,151,148,21,73,232,180,148,98,89,37,132,200,129,157,119,105,61,244,
-131,138,34,25,134,179,78,207,91,90,46,229,216,91,110,121,185,56,110,127,
-165,47,242,166,133,168,78,78,3,55,43,138,171,226,1,70,161,97,5,79,177,48,
-24,60,187,186,219,8,166,96,132,221,144,157,10,199,134,149,227,49,43,147,
-70,148,200,6,183,150,104,128,110,9,13,164,69,105,153,65,121,9,136,143,153,
-136,152,35,67,91,218,73,41,174,35,89,22,50,184,66,83,46,197,224,148,200,
-134,14,63,0,0,1,0,73,68,65,84,183,102,217,109,36,79,84,185,71,205,221,110,
-185,100,236,149,35,33,215,61,189,242,250,175,96,174,172,115,10,65,22,46,
-120,220,255,236,179,205,15,251,242,184,164,60,80,63,230,93,95,46,182,249,
-124,204,187,161,12,42,92,84,182,233,57,128,156,1,128,185,54,71,130,40,24,
-149,77,127,78,32,138,180,30,207,136,8,66,79,182,35,228,89,224,16,99,252,
-124,183,105,168,105,67,55,158,111,218,216,52,116,180,203,27,98,30,120,243,
-207,158,63,250,193,243,63,35,103,2,253,163,127,243,191,106,41,174,208,53,
-188,24,158,111,187,211,83,56,20,112,47,87,66,239,55,36,186,96,25,71,52,
-34,239,197,213,31,218,226,79,121,247,89,244,163,100,59,119,6,137,115,32,
-7,153,178,2,74,153,215,121,216,17,55,141,180,122,81,84,158,147,52,78,82,
-116,116,18,146,86,101,77,113,69,97,201,161,3,71,117,241,210,19,11,231,194,
-36,224,5,128,48,166,81,159,187,102,241,34,92,160,61,134,77,40,61,195,44,
-127,46,181,127,96,79,132,67,32,22,50,19,176,192,64,36,224,72,6,142,13,133,
-0,0,1,0,73,68,65,84,94,231,43,222,16,218,223,177,45,22,192,193,208,200,
-148,134,33,245,169,140,106,58,166,113,204,227,152,134,148,134,49,15,169,
-140,73,179,234,181,117,189,47,230,213,234,238,225,0,212,178,146,24,151,
-66,89,145,85,138,149,146,98,211,70,23,150,40,77,144,8,2,185,187,169,187,
-255,223,127,241,103,39,237,157,111,221,255,157,111,223,255,30,98,132,193,
-212,164,101,179,23,48,253,150,170,153,191,80,104,98,150,11,8,157,135,133,
-147,64,21,181,178,107,95,224,133,233,57,216,169,54,243,57,178,59,185,25,
-52,129,152,208,128,130,107,3,25,97,9,58,88,233,136,131,67,12,29,51,107,
-202,6,110,114,231,142,52,14,180,186,227,90,28,197,89,73,71,148,141,151,
-209,201,93,117,159,94,161,26,24,187,153,147,240,229,242,78,194,26,76,132,
-2,219,141,155,205,238,98,72,187,236,41,151,49,231,113,204,227,152,199,84,
-198,92,82,209,82,76,175,163,75,102,225,105,8,143,59,42,147,177,195,225,
-134,2,82,87,101,112,65,40,60,230,50,132,20,162,164,24,154,174,93,180,77,
-23,185,41,63,13,252,0,0,1,0,73,68,65,84,37,176,169,187,249,15,255,230,127,
-91,240,157,245,246,108,117,124,119,25,79,213,156,43,92,94,196,244,205,193,
-154,64,181,2,64,26,180,39,232,238,216,174,245,146,247,121,149,185,139,98,
-122,202,206,238,0,169,185,187,21,39,118,16,8,193,220,193,224,6,210,64,22,
-144,14,210,58,139,112,164,210,56,200,115,118,167,18,26,119,215,49,5,122,
-159,172,0,234,236,176,236,105,7,205,32,152,101,76,205,71,4,146,169,17,240,
-38,78,196,151,201,187,7,107,99,38,6,193,144,250,113,189,25,206,251,180,
-45,158,235,67,45,171,21,181,98,40,70,10,250,165,186,48,252,64,133,177,128,
-38,3,208,13,158,77,205,75,86,238,81,98,136,201,134,78,23,77,232,132,66,
-101,72,206,188,189,232,159,141,159,232,234,244,254,119,238,255,254,131,
-197,195,101,92,96,72,88,92,6,176,230,184,231,77,32,155,170,182,118,8,163,
-187,143,229,3,187,88,232,184,163,24,156,80,163,33,192,148,108,38,34,152,
-215,250,92,114,157,184,240,200,29,32,87,128,65,1,28,33,45,184,129,68,144,
-136,68,202,188,220,47,77,0,0,1,0,73,68,65,84,1,32,201,234,32,146,64,14,
-201,5,187,236,90,28,238,66,112,243,60,186,41,152,124,202,89,49,168,54,101,
-147,95,54,40,221,154,188,123,176,166,40,28,0,152,231,177,108,135,180,25,
-173,47,164,102,69,173,168,151,98,89,189,168,107,173,230,187,238,252,217,
-129,125,66,160,253,246,232,44,209,109,142,219,213,192,172,187,57,193,75,
-73,197,211,88,134,38,180,49,180,129,3,179,44,98,246,206,159,12,63,251,103,
-63,253,63,214,219,139,239,220,253,222,223,250,230,31,153,21,190,173,184,
-44,77,227,45,65,64,123,31,171,247,189,89,217,102,77,20,201,201,39,170,48,
-66,189,197,252,242,158,174,196,45,160,105,226,167,232,224,128,147,184,49,
-105,4,11,56,128,152,56,56,51,156,96,206,96,98,33,162,104,110,189,185,42,
-64,94,59,237,85,1,135,8,243,98,202,52,212,20,100,221,19,111,219,18,121,
-247,96,141,169,200,166,88,202,218,39,237,179,141,133,61,149,148,117,76,
-101,204,58,102,77,197,115,165,148,15,215,148,228,185,91,221,136,15,235,
-83,38,195,29,230,123,157,86,45,135,154,57,64,0,0,1,0,73,68,65,84,20,51,
-11,49,171,103,213,148,108,76,165,137,177,109,66,35,18,74,178,110,37,99,
-56,255,201,243,127,126,190,126,252,228,243,95,124,244,224,189,211,120,175,
-114,245,206,221,15,243,103,188,109,49,128,96,4,131,139,183,119,124,249,
-144,154,85,53,170,157,64,243,224,251,250,253,64,198,54,187,114,19,228,39,
-35,197,0,144,215,233,41,6,103,24,215,19,98,152,106,65,8,130,137,134,29,
-52,130,234,140,138,16,65,2,67,37,37,99,82,39,158,108,235,26,45,155,238,
-162,27,56,25,215,202,59,8,235,201,92,40,154,178,142,217,198,226,169,56,
-204,117,122,152,154,171,187,125,213,240,74,154,127,0,179,23,10,114,113,
-35,119,3,129,136,65,83,129,172,177,194,188,56,145,169,185,214,109,65,88,
-186,124,12,41,189,157,21,47,227,238,124,243,228,252,239,254,254,223,195,
-81,19,184,157,187,137,111,210,79,50,64,170,143,0,120,56,66,119,135,154,
-37,209,161,195,88,119,167,9,152,46,251,175,238,21,172,147,229,235,196,238,
-238,52,57,31,128,98,127,78,172,242,80,19,1,110,78,76,152,157,40,157,0,0,
-1,0,73,68,65,84,74,44,164,3,169,85,75,3,12,24,83,237,6,33,0,110,52,105,
-232,91,183,170,171,188,123,176,174,151,204,49,217,208,94,212,85,173,86,
-155,97,234,49,223,23,229,48,174,61,145,87,161,86,61,70,56,113,83,149,86,
-189,132,68,112,87,98,7,85,103,136,172,30,104,176,226,76,124,76,31,13,195,
-249,90,207,227,194,34,243,243,167,159,61,62,123,212,164,123,239,221,121,
-143,246,100,78,111,255,164,28,126,15,236,207,17,140,5,161,35,137,47,124,
-215,57,24,66,128,195,121,194,180,3,213,38,175,0,36,134,83,109,2,157,60,
-131,250,198,77,12,213,241,160,125,75,243,164,136,173,192,106,95,251,28,
-170,19,16,51,185,131,234,240,239,203,66,211,27,139,228,93,35,239,28,172,
-11,107,104,4,99,89,80,144,16,118,154,32,230,105,72,121,40,121,48,29,129,
-66,112,114,246,122,45,174,57,127,246,197,175,83,178,17,216,151,240,216,
-84,237,206,204,148,95,40,106,50,87,83,5,240,72,126,194,133,98,56,166,132,
-245,168,182,92,255,183,63,252,175,239,158,222,255,183,30,252,23,221,189,
-92,98,0,0,1,0,73,68,65,84,15,79,62,248,91,223,249,67,215,146,198,139,118,
-181,4,22,250,246,187,20,162,94,12,178,34,70,235,57,132,216,47,255,129,45,
-254,34,210,255,90,188,3,136,40,194,9,200,142,236,94,220,149,247,195,109,
-0,0,58,51,166,84,24,51,14,79,160,3,80,221,1,251,219,0,92,45,121,83,114,
-89,144,48,152,12,74,80,18,2,171,154,171,117,32,67,101,4,96,128,125,98,5,
-121,83,82,183,160,90,36,236,76,36,32,254,202,113,97,239,28,172,39,97,230,
-90,47,108,102,80,175,123,110,245,128,110,118,159,99,134,121,206,165,8,145,
-195,85,125,189,62,75,227,248,87,219,255,167,127,240,189,15,239,125,112,
-111,121,10,180,64,44,86,146,242,50,190,101,229,61,105,202,90,245,15,9,145,
-67,195,97,246,95,167,242,250,175,185,188,115,176,182,106,61,18,11,71,144,
-168,122,241,137,232,172,206,65,157,123,43,112,25,163,125,139,66,172,150,
-179,186,66,2,179,16,219,208,111,54,235,245,95,61,255,167,57,245,223,126,
-255,123,241,254,114,25,27,32,48,155,248,219,159,59,232,124,249,37,148,204,
-43,0,0,1,0,73,68,65,84,173,9,18,26,139,45,73,11,197,193,8,68,34,218,3,255,
-93,49,119,111,84,222,57,88,59,20,136,32,136,180,76,209,20,213,194,222,115,
-188,249,13,95,167,82,70,243,92,19,58,204,96,1,200,212,242,163,221,95,70,
-105,127,246,232,39,141,221,189,127,124,111,177,108,56,114,115,19,141,146,
-188,183,154,13,4,176,128,27,71,164,75,123,122,138,89,223,94,95,218,237,
-203,59,7,107,2,85,166,43,65,19,67,71,36,102,174,174,94,121,178,39,104,223,
-28,178,213,10,1,196,48,211,172,110,133,137,92,132,215,249,241,231,23,63,
-255,197,227,159,30,241,7,193,229,228,180,141,0,7,18,122,219,30,100,156,
-252,51,83,18,56,137,33,102,13,32,163,41,112,93,235,50,166,56,219,91,94,
-204,59,42,55,94,169,243,85,50,69,156,12,128,196,216,133,208,0,168,147,15,
-246,45,211,135,14,247,91,23,51,39,22,34,81,181,52,230,148,82,206,165,20,
-45,82,46,198,179,199,231,159,60,189,248,100,151,158,23,29,76,85,243,13,
-172,138,247,11,51,243,154,53,109,20,241,32,156,121,219,135,168,140,0,0,
-1,0,73,68,65,84,16,227,251,154,162,250,157,212,214,230,46,70,0,53,177,139,
-161,161,204,230,70,52,213,120,92,102,206,112,19,190,145,27,249,52,8,150,
-1,39,18,119,43,69,57,180,23,235,237,47,62,255,233,17,238,157,118,237,7,
-239,159,138,220,139,177,123,251,11,170,176,38,7,152,33,0,170,109,237,169,
-78,25,135,31,120,148,95,87,121,231,96,141,57,63,0,136,84,22,96,184,219,
-30,209,55,237,1,153,185,43,234,112,216,24,5,30,188,148,209,181,24,159,175,
-215,63,235,127,218,244,139,59,205,226,155,31,188,223,134,165,240,234,173,
-47,104,254,254,123,208,74,104,72,26,47,184,52,59,246,170,251,235,232,45,
-2,120,7,141,144,144,74,136,146,3,12,248,214,241,195,143,154,227,179,103,
-79,242,49,15,190,45,92,40,8,135,198,17,204,24,78,124,253,46,91,153,249,
-94,126,92,39,70,95,252,232,66,20,38,39,24,195,24,230,6,51,113,216,24,187,
-35,156,217,191,252,233,230,135,255,223,163,31,159,39,123,190,222,236,118,
-79,83,74,149,214,103,38,115,195,175,222,84,113,32,26,44,83,227,140,119,
-0,0,1,0,73,68,65,84,22,180,200,33,2,64,76,16,254,230,167,247,190,175,126,
-33,102,193,90,245,176,165,178,11,201,8,49,191,245,221,99,58,177,0,59,200,
-193,14,194,151,157,231,155,145,119,14,214,224,74,4,12,2,132,99,219,44,163,
-52,154,203,62,182,7,224,157,216,93,213,220,221,85,117,28,135,245,230,226,
-252,252,124,179,94,247,125,63,207,93,192,47,221,255,246,74,34,82,169,98,
-104,170,33,39,112,183,90,28,221,51,15,230,251,52,54,49,129,39,230,154,175,
-165,188,123,176,150,6,123,88,71,233,142,23,247,151,237,113,30,243,129,179,
-248,78,248,66,4,33,4,51,31,134,221,217,217,179,103,207,158,156,95,156,247,
-125,95,135,53,190,220,156,255,230,62,185,218,206,236,112,171,62,198,226,
-100,117,242,13,231,165,66,212,21,228,66,66,8,238,112,220,50,13,205,109,
-201,187,7,235,90,232,65,112,128,209,158,172,30,30,47,238,150,49,217,1,235,
-248,97,33,218,109,9,33,48,7,102,74,121,92,175,207,207,206,158,111,55,155,
-113,28,43,172,47,215,89,15,126,115,139,117,40,28,112,33,210,251,74,219,
-0,0,1,0,73,68,65,84,240,84,218,20,86,178,248,208,249,196,16,12,133,200,
-132,34,121,116,144,253,22,214,239,138,84,31,158,178,155,177,181,167,139,
-247,79,87,247,189,216,21,141,55,193,228,246,26,247,221,3,192,102,158,243,
-184,235,215,155,205,249,102,187,233,251,97,28,199,74,83,248,150,96,61,215,
-16,16,2,200,192,0,58,229,7,161,125,8,238,204,149,96,76,129,208,184,147,
-243,111,141,144,119,68,12,128,17,20,48,242,112,188,124,112,247,248,97,195,
-193,246,81,235,89,91,223,174,133,173,217,181,184,170,230,156,250,97,183,
-217,174,215,235,139,245,197,122,24,134,148,210,21,59,228,141,106,235,125,
-177,56,24,48,37,56,117,22,30,196,238,62,98,235,100,4,99,23,242,56,117,28,
-124,45,229,221,251,222,14,192,9,90,75,31,86,221,189,59,199,247,187,216,
-205,21,148,192,12,233,219,196,181,67,0,118,119,115,213,146,198,113,216,
-237,182,235,245,186,239,251,170,176,223,82,36,4,176,90,55,139,74,21,136,
-58,93,234,129,116,247,56,116,32,7,140,32,228,1,68,111,61,227,249,174,202,
-187,249,100,189,177,0,0,0,1,0,73,68,65,84,189,29,176,234,22,182,113,185,
-232,86,205,139,99,196,246,53,197,183,41,194,129,89,152,185,78,243,48,215,
-156,243,56,142,41,165,156,115,133,117,69,246,27,230,147,190,228,208,37,
-135,57,64,1,161,61,70,92,48,135,58,103,164,118,183,253,86,91,191,130,92,
-119,157,252,26,121,213,247,207,81,55,125,34,59,134,202,152,198,64,229,123,
-15,254,228,111,159,254,135,69,115,214,93,224,49,16,108,32,182,174,141,141,
-211,238,186,247,185,46,14,125,157,92,23,231,54,115,171,109,97,211,184,156,
-169,136,40,251,179,97,220,185,182,174,139,126,59,12,187,173,21,45,131,247,
-125,63,135,174,231,225,13,111,176,213,128,124,137,232,104,0,196,14,139,
-88,155,123,154,7,229,248,79,158,43,187,39,230,213,56,234,40,79,227,66,41,
-29,189,169,207,253,245,146,215,204,50,190,189,56,4,129,130,132,125,251,
-29,1,212,132,246,244,232,180,184,153,37,82,134,71,223,143,229,128,125,9,
-223,247,91,145,169,140,208,29,6,55,55,53,85,80,81,213,82,74,201,37,215,
-161,232,179,158,190,177,128,77,29,57,123,244,0,0,1,0,73,68,65,84,232,78,
-98,119,132,62,194,193,76,76,53,61,242,53,149,87,214,34,87,152,127,223,248,
-38,75,160,121,138,82,245,13,23,205,226,253,251,31,52,109,103,64,210,172,
-84,16,188,182,25,145,222,196,46,75,56,164,117,113,119,55,55,50,134,194,
-138,91,81,85,45,185,228,148,198,52,166,148,74,41,135,73,153,27,146,213,
-251,113,117,31,210,213,41,221,34,181,191,235,107,106,133,188,254,215,254,
-21,141,141,235,132,64,194,124,208,176,72,45,186,15,238,126,120,188,188,
-31,164,45,166,74,133,196,65,238,118,109,107,215,91,145,137,57,22,110,102,
-106,100,4,35,87,55,117,83,83,211,172,37,231,156,82,154,145,253,166,173,
-234,47,149,238,161,44,30,42,119,185,24,19,9,139,59,209,187,72,60,127,19,
-242,206,221,205,151,163,110,29,196,4,32,32,220,93,221,127,111,241,205,206,
-142,117,112,205,10,178,186,193,10,197,47,123,175,55,33,19,15,193,94,91,
-87,85,109,102,98,129,11,163,16,180,102,143,200,221,213,181,2,250,166,49,
-13,120,120,128,238,129,201,178,216,62,13,235,52,79,140,36,168,189,0,0,1,
-0,73,68,65,84,134,254,186,201,235,187,140,111,233,178,77,29,208,14,131,
-75,16,56,96,188,10,171,111,29,127,255,174,188,31,114,187,159,59,236,68,
-44,114,131,218,104,207,243,93,113,237,10,47,94,201,29,38,90,12,2,224,135,
-134,245,205,173,13,72,114,42,203,135,220,28,25,152,136,9,100,230,248,186,
-194,250,149,97,113,229,106,189,113,151,104,86,138,251,174,37,70,214,70,
-218,63,254,198,223,57,127,242,217,102,247,217,40,107,99,46,19,187,222,77,
-24,33,87,62,195,221,205,221,179,107,49,203,102,234,82,147,250,149,68,233,
-197,36,255,141,185,140,22,208,45,239,251,226,196,36,50,115,113,87,253,245,
-31,215,247,186,242,198,2,124,111,86,28,7,84,137,6,128,127,247,163,63,248,
-248,222,239,220,95,61,88,181,171,24,34,17,153,169,218,77,37,135,15,93,70,
-56,220,85,205,138,153,154,155,185,249,37,209,198,109,73,0,117,71,161,89,
-176,4,48,3,110,118,61,221,196,111,186,92,171,173,175,3,110,79,99,74,189,
-106,10,129,130,136,27,180,56,156,151,171,86,85,1,18,137,4,113,38,59,25,
-186,0,0,1,0,73,68,65,84,3,17,7,138,197,54,238,30,165,37,112,54,139,220,
-0,80,119,113,75,41,3,212,180,45,8,150,65,84,73,176,138,27,42,13,223,56,
-230,24,99,232,26,0,141,29,127,120,247,247,30,124,254,211,245,58,75,60,91,
-52,94,96,197,56,65,171,102,220,147,163,78,214,240,155,42,249,53,175,163,
-81,213,212,80,24,57,112,238,56,243,96,103,73,135,229,98,249,233,47,158,
-124,235,254,71,39,139,123,37,33,196,163,58,160,214,221,235,60,95,0,243,
-47,111,80,174,100,230,137,168,27,243,6,127,50,222,249,227,163,167,255,59,
-206,59,15,15,120,69,40,35,74,3,24,92,225,74,32,114,33,4,130,40,250,55,187,
-164,27,150,137,87,98,10,4,95,253,235,43,27,33,102,166,170,185,100,119,152,
-137,169,107,49,119,26,242,90,213,8,28,66,195,44,238,196,44,49,68,211,157,
-155,199,38,17,56,103,109,98,27,66,236,135,225,206,234,40,116,2,175,237,
-75,228,236,78,36,151,133,30,245,15,102,166,204,146,146,54,77,251,224,206,
-251,31,127,248,59,27,121,252,120,200,163,57,51,66,34,51,2,236,0,0,1,0,73,
-68,65,84,224,228,101,254,15,194,158,212,240,77,42,205,61,75,209,196,26,
-227,170,170,69,173,112,41,148,139,187,49,65,220,221,221,84,243,229,191,
-221,108,220,154,162,72,137,76,13,92,80,233,240,80,115,236,47,47,224,166,
-187,247,111,94,94,125,118,12,224,102,170,197,221,205,139,154,151,98,230,
-0,138,22,5,145,88,98,18,51,103,230,16,98,78,27,51,111,82,3,162,156,74,140,
-77,8,177,239,123,146,156,82,38,226,174,235,152,131,22,101,150,150,59,66,
-241,41,220,74,18,48,13,41,103,37,111,62,188,247,209,218,127,127,237,79,
-135,207,183,62,58,97,84,207,92,198,73,79,239,111,224,55,189,243,210,76,
-202,232,128,153,149,82,82,78,110,209,52,143,3,24,109,19,23,68,44,194,128,
-222,164,61,253,130,8,73,104,65,157,123,132,99,202,198,24,8,236,115,49,194,
-196,102,234,149,130,240,55,88,94,25,214,204,4,130,187,169,43,64,10,87,82,
-115,72,112,175,45,35,80,55,20,85,20,136,74,206,91,51,143,30,1,164,148,163,
-53,65,67,63,246,187,39,23,41,101,102,238,186,151,177,5,17,0,0,1,0,73,68,
-65,84,78,36,168,170,176,180,93,215,184,16,81,215,45,68,66,41,214,112,27,
-41,142,54,176,82,108,227,221,163,251,119,87,15,79,154,251,234,101,208,77,
-111,59,102,222,71,30,38,114,212,55,221,196,231,251,40,31,204,221,204,107,
-70,209,44,186,113,201,136,113,217,117,71,34,177,109,155,24,105,78,152,227,
-166,252,144,189,20,80,128,47,85,27,120,170,37,169,238,12,38,154,166,37,
-97,242,105,111,52,218,127,59,242,234,176,38,130,89,209,12,43,78,108,176,
-2,83,183,172,86,74,54,119,34,184,123,41,217,221,197,68,45,169,89,177,0,
-247,164,41,115,16,72,95,250,78,142,71,31,44,251,128,45,220,199,113,0,208,
-52,77,227,209,129,69,183,12,33,152,161,107,187,16,226,174,239,79,228,14,
-101,219,13,59,50,238,154,213,138,142,109,44,227,216,139,136,79,213,154,
-78,168,89,117,55,248,155,171,91,157,54,128,125,228,113,22,5,160,106,109,
-187,90,116,75,34,138,77,136,77,136,49,134,16,110,152,70,21,0,160,240,200,
-180,2,58,247,228,40,96,7,5,130,56,64,84,103,93,128,97,83,84,0,0,1,0,73,
-68,65,84,123,45,0,188,105,198,183,27,151,215,9,240,169,149,156,147,81,98,
-144,193,82,41,106,174,158,74,41,14,23,38,135,155,41,8,1,50,104,111,170,
-153,130,187,165,50,6,136,152,244,121,135,86,70,12,78,166,36,14,79,52,56,
-220,168,217,38,53,181,198,90,34,86,181,166,105,69,194,110,187,59,93,156,
-232,182,92,12,231,187,97,23,57,182,210,246,36,12,98,102,82,154,90,210,43,
-97,185,191,249,158,235,90,7,178,15,220,177,176,144,164,216,184,9,22,113,
-209,182,157,27,68,68,132,43,172,69,228,134,145,93,108,36,238,98,56,101,
-89,57,93,56,21,16,64,17,224,61,166,103,52,191,125,70,181,219,150,87,134,
-181,48,215,224,90,241,12,114,117,29,75,46,69,21,165,104,169,51,50,64,110,
-86,8,40,46,155,97,107,86,130,6,119,29,211,16,2,139,240,110,216,101,230,
-52,142,128,55,22,136,144,117,36,130,123,147,169,20,47,125,14,0,74,214,168,
-13,179,108,119,187,158,159,13,227,184,235,251,161,236,170,186,33,53,1,234,
-158,127,160,129,168,218,148,111,74,89,239,167,69,145,26,0,0,1,0,73,68,65,
-84,153,111,43,168,137,153,68,36,132,176,88,229,150,68,6,156,52,203,197,
-162,3,33,132,16,247,114,8,235,155,49,66,28,22,34,100,113,7,205,17,177,56,
-212,201,137,132,188,54,134,211,11,199,254,166,35,251,149,97,29,16,68,152,
-152,92,221,93,139,149,162,57,107,41,158,115,201,238,90,25,163,139,102,192,
-68,120,200,73,77,163,137,153,142,105,8,202,34,180,27,118,46,139,113,28,
-220,53,20,54,215,113,28,0,139,77,108,218,182,218,220,102,94,138,53,214,
-136,132,109,218,153,241,118,220,141,99,114,184,67,77,139,153,10,189,212,
-173,251,86,216,49,170,166,174,217,31,98,102,22,94,174,130,115,164,29,173,
-154,101,215,117,194,18,66,140,113,210,211,243,148,2,191,169,177,50,196,
-128,131,155,21,66,7,162,23,89,130,166,67,46,207,204,13,37,178,110,77,174,
-133,245,117,151,65,32,94,88,21,133,234,92,203,92,44,185,107,182,93,101,
-240,47,86,28,106,80,181,98,89,139,209,148,189,128,58,204,74,177,98,16,79,
-73,135,177,87,183,232,65,77,119,195,206,92,27,107,109,19,12,254,148,0,0,
-1,0,73,68,65,84,219,11,79,129,190,32,177,145,134,140,148,117,123,166,185,
-164,84,198,98,73,61,143,185,31,52,15,217,251,212,251,68,187,68,230,117,
-158,192,68,38,254,133,242,170,238,82,14,25,14,118,9,188,160,192,165,41,
-97,153,59,241,1,79,185,57,122,47,126,243,158,62,88,208,114,37,171,101,104,
-23,77,211,181,129,160,129,209,198,224,106,68,20,99,4,80,48,56,156,193,12,
-169,195,48,200,8,68,234,153,192,4,153,6,194,236,99,177,118,153,170,252,
-165,214,25,16,119,91,44,143,126,239,236,254,31,150,167,255,239,131,113,
-89,210,113,127,148,227,168,227,216,155,141,49,64,4,102,32,66,12,77,210,
-132,3,10,29,76,147,95,80,125,134,95,119,121,157,154,10,34,34,166,153,98,
-233,242,180,191,116,1,28,216,39,226,84,189,142,22,40,230,106,110,42,101,
-24,6,115,43,38,106,218,143,59,115,43,158,74,233,137,184,14,116,169,42,16,
-238,165,148,208,54,165,228,92,146,122,49,148,164,99,210,49,123,154,131,
-176,135,106,250,13,234,107,218,211,36,213,208,24,17,36,112,48,57,233,190,
-57,206,164,0,0,1,0,73,68,65,84,222,35,94,46,112,218,228,101,228,46,118,
-139,102,177,106,22,171,166,105,98,140,196,82,221,52,87,103,102,102,98,14,
-0,120,178,7,246,51,222,28,149,90,7,128,187,57,216,109,143,107,174,106,254,
-106,23,242,151,16,254,176,0,44,177,61,166,102,133,172,224,228,174,66,173,
-144,86,134,213,58,164,68,157,200,188,218,32,251,247,174,215,242,205,153,
-110,183,45,175,3,107,102,98,102,232,212,41,114,48,116,136,94,40,141,152,
-16,87,159,153,153,22,45,197,146,90,49,55,227,113,204,163,185,101,99,117,
-29,82,111,166,197,194,144,119,68,164,166,165,20,0,53,126,151,115,58,58,
-58,46,211,232,58,5,172,88,153,96,125,41,151,249,237,55,56,106,138,137,247,
-205,222,238,228,36,20,154,192,76,205,242,8,214,134,178,32,22,23,208,130,
-168,35,143,88,29,173,218,174,107,154,40,149,118,105,111,8,176,201,180,192,
-249,172,212,86,155,54,78,139,223,39,124,224,6,119,124,193,176,245,9,232,
-95,182,82,230,216,222,247,246,14,242,103,96,117,119,162,46,74,195,48,38,
-37,24,179,193,95,115,203,162,0,0,1,0,73,68,65,84,137,33,70,249,146,118,
-229,210,51,241,219,103,96,121,19,242,234,145,16,128,153,133,133,140,252,
-69,26,229,171,39,164,90,163,51,51,45,213,118,141,233,81,60,25,178,65,205,
-73,173,152,39,133,194,52,217,0,130,106,73,154,221,13,68,170,37,229,148,
-182,131,185,57,204,201,137,96,208,226,170,40,147,181,177,103,190,221,235,
-238,55,22,224,99,236,121,237,200,225,206,2,38,65,148,216,68,90,133,72,220,
-100,141,33,135,211,132,85,95,154,181,114,73,62,12,214,87,123,67,221,132,
-2,131,107,82,125,58,131,245,125,25,80,160,200,116,238,46,253,58,131,187,
-185,94,118,8,205,229,231,151,255,255,146,40,64,80,115,132,7,144,251,201,
-254,134,56,145,7,211,222,60,1,197,81,136,156,165,150,209,78,83,74,246,66,
-111,197,37,185,61,121,157,44,35,179,136,200,172,173,47,199,183,209,164,
-178,231,16,239,84,238,182,31,151,67,4,102,114,34,56,169,25,113,213,18,106,
-80,39,3,76,125,226,0,54,152,161,24,25,200,11,151,194,169,207,19,115,59,
-184,142,29,68,69,57,239,87,29,101,205,93,0,0,1,0,73,68,65,84,85,71,184,
-209,28,120,120,67,90,135,193,251,187,197,235,160,44,22,98,166,174,229,208,
-72,187,162,133,251,113,163,171,227,28,79,118,190,192,249,248,100,167,177,
-247,205,42,173,136,164,148,194,44,77,211,70,139,77,108,130,4,128,162,52,
-194,161,182,208,90,134,217,148,242,97,6,17,204,216,12,210,216,229,89,124,
-225,252,95,83,94,66,81,130,107,33,110,62,66,252,96,52,91,132,204,222,21,
-27,12,217,41,193,141,1,174,129,29,3,75,51,85,3,212,179,246,130,71,249,107,
-47,175,171,173,101,242,123,46,113,253,98,226,122,31,1,128,154,214,210,142,
-253,212,57,171,32,169,195,164,220,235,68,58,115,76,115,63,105,98,251,157,
-110,9,176,59,153,145,146,234,196,152,106,123,211,148,224,243,61,180,87,
-106,251,192,195,155,139,60,152,163,198,126,225,245,190,97,6,11,129,156,
-91,4,246,32,89,218,145,86,125,105,215,61,13,231,229,152,148,54,120,190,
-40,75,119,74,99,2,81,215,118,200,188,232,186,24,27,6,183,77,119,180,92,
-5,137,90,202,73,251,33,79,252,8,211,233,136,48,107,165,0,0,1,0,73,68,65,
-84,37,1,227,176,167,183,26,190,95,153,173,100,97,179,16,195,226,99,142,
-223,216,21,138,164,37,131,152,137,163,187,155,141,12,8,145,19,138,85,26,
-145,125,60,132,106,101,206,111,14,201,234,235,217,214,211,20,123,247,169,
-221,16,123,109,253,210,177,206,12,115,16,131,108,218,199,39,67,21,168,227,
-161,12,234,251,251,195,204,216,216,201,217,137,246,126,148,153,185,25,99,
-223,115,234,110,53,189,48,213,105,216,37,107,200,116,77,222,232,165,49,
-159,217,209,188,222,122,68,32,42,57,8,73,38,103,207,131,15,59,219,33,51,
-141,18,143,158,153,90,68,51,240,194,157,134,113,36,208,130,22,253,102,92,
-148,69,144,96,234,81,226,106,177,98,150,156,210,239,126,195,74,41,90,140,
-72,218,102,17,99,75,96,7,90,13,123,234,245,105,55,228,125,215,217,23,139,
-59,80,156,3,154,247,73,30,238,6,167,148,199,109,26,81,130,128,24,238,28,
-152,218,38,194,41,167,178,138,149,132,18,152,118,9,191,52,115,126,253,229,
-53,96,189,167,225,170,121,171,47,6,243,164,96,0,136,8,237,93,141,102,55,
-0,0,1,0,73,68,65,84,39,13,155,215,122,137,122,63,72,5,61,169,129,156,185,
-206,66,113,38,113,114,131,18,152,166,193,26,190,15,225,193,43,53,134,79,
-94,251,52,20,115,70,53,237,189,187,55,135,108,55,39,217,175,218,1,114,175,
-3,218,188,131,55,230,146,21,163,90,82,99,24,138,111,242,153,22,13,214,148,
-48,146,243,88,18,177,144,105,14,69,196,11,120,204,35,37,222,233,5,12,195,
-48,104,218,148,162,166,20,67,187,92,28,47,22,71,49,180,32,62,214,59,181,
-124,74,36,132,16,130,8,139,48,211,181,70,72,206,46,106,136,144,149,99,217,
-15,234,134,221,217,238,209,58,55,13,130,128,25,93,139,229,34,48,113,201,
-220,29,167,137,27,171,150,149,145,19,195,29,55,59,101,242,109,201,107,216,
-214,34,96,6,65,13,166,196,78,80,120,217,91,14,245,32,154,130,36,160,202,
-179,225,86,91,74,42,74,171,189,16,204,138,169,195,193,83,218,66,1,203,172,
-106,90,80,32,96,103,119,99,112,195,177,212,120,106,213,46,211,199,92,102,
-28,14,11,138,152,24,95,74,9,242,106,223,87,216,96,67,18,58,0,0,1,0,73,68,
-65,84,1,181,90,226,201,112,120,65,41,90,228,73,46,161,241,174,11,43,206,
-240,157,54,178,22,10,190,219,168,90,200,205,214,86,166,52,142,57,134,246,
-8,199,158,243,80,98,144,6,206,130,232,25,110,164,238,143,198,103,34,162,
-174,92,100,49,110,117,171,166,182,92,46,153,41,165,124,247,206,61,87,64,
-233,244,228,142,27,185,251,176,75,119,78,239,152,18,35,220,61,125,72,46,
-154,177,106,143,98,55,142,208,157,9,75,187,57,254,214,99,249,62,158,252,
-160,29,150,127,126,126,126,116,212,246,155,113,236,113,239,36,116,161,45,
-163,69,89,124,252,237,231,228,190,108,227,113,39,139,104,93,200,129,76,
-8,121,132,59,86,71,205,102,61,30,29,133,190,31,143,86,203,82,74,63,60,15,
-177,145,216,57,181,44,129,163,24,56,23,109,124,71,16,32,58,234,212,15,175,
-225,76,35,7,57,145,131,235,32,69,34,33,240,43,151,193,215,18,182,189,219,
-76,147,157,73,95,209,33,241,90,189,128,147,119,248,27,180,105,189,186,168,
-170,27,200,18,148,188,88,73,99,224,70,72,8,199,170,54,171,74,92,0,0,1,0,
-73,68,65,84,22,66,147,108,168,81,204,24,90,229,49,245,125,19,219,24,26,
-161,16,165,109,98,71,16,115,11,69,216,88,179,18,200,81,180,152,155,83,242,
-92,82,26,51,216,173,184,43,178,37,83,184,89,74,219,140,181,102,135,113,
-159,206,93,185,100,61,62,62,213,254,124,237,187,140,163,143,239,125,155,
-238,199,114,247,244,231,127,77,79,254,234,252,175,71,28,31,143,48,88,193,
-168,101,217,166,237,122,184,56,219,148,192,121,244,134,211,71,239,29,181,
-236,48,123,120,175,105,27,4,100,130,235,206,213,185,31,161,198,253,160,
-0,86,139,59,196,1,20,140,2,44,80,97,38,14,206,132,64,36,132,232,8,64,4,
-34,121,96,15,182,223,57,247,245,52,70,230,128,221,12,127,218,171,195,218,
-65,96,38,217,23,253,59,110,157,230,241,86,196,201,221,139,103,87,211,146,
-70,48,131,153,168,96,107,230,34,177,137,157,59,165,84,130,196,173,46,211,
-48,204,176,110,66,211,196,78,72,204,124,213,158,48,113,26,51,129,146,45,
-76,13,14,147,156,203,56,142,73,6,148,162,150,93,41,105,101,110,94,33,191,
-251,0,0,1,0,73,68,65,84,192,198,134,190,36,179,226,9,107,45,158,134,178,
-41,39,23,235,231,79,118,159,62,223,166,31,223,255,56,166,159,253,98,183,
-190,192,123,27,89,242,42,125,122,246,172,228,45,65,127,254,20,66,67,215,
-128,128,191,252,41,245,59,68,194,136,21,233,46,143,195,119,233,36,136,173,
-194,186,107,163,244,222,53,205,166,79,171,197,50,15,38,140,16,90,115,128,
-152,68,88,4,78,33,132,16,67,81,169,29,55,64,96,136,187,176,51,85,170,180,
-201,84,37,175,188,206,238,168,67,190,223,190,188,94,150,145,153,133,89,
-166,66,4,236,13,180,175,147,48,75,13,144,153,103,120,54,7,224,228,40,67,
-50,131,136,132,220,184,163,20,19,9,91,107,93,45,90,148,28,224,20,56,196,
-208,16,200,212,238,31,127,72,68,121,204,4,90,232,178,26,111,26,7,45,101,
-44,163,20,43,217,44,155,231,98,149,214,143,70,46,148,75,177,2,20,210,98,
-73,11,138,110,226,197,216,60,95,111,159,94,156,61,221,110,62,217,88,250,
-248,123,127,255,143,190,253,247,225,187,127,252,143,255,167,159,125,250,
-18,141,76,92,0,0,1,0,73,68,65,84,151,167,167,177,137,94,114,255,124,147,
-134,33,13,30,220,216,75,150,39,58,108,54,67,143,109,216,236,182,195,123,
-43,124,248,225,74,160,93,192,184,73,223,254,230,41,91,33,168,178,153,153,
-8,154,54,178,171,23,13,170,45,186,236,36,68,236,78,100,78,132,169,114,208,
-136,150,251,224,60,209,222,35,185,177,237,253,245,34,33,82,31,53,203,93,
-147,202,95,55,125,61,141,173,113,7,213,12,119,205,25,122,81,114,119,114,
-22,27,171,107,65,206,217,119,128,4,23,34,118,53,6,7,9,4,82,85,117,99,162,
-156,10,129,150,121,73,78,76,156,232,40,151,156,198,84,100,208,98,150,145,
-121,48,117,83,79,106,35,76,139,186,162,8,172,120,73,217,27,127,212,127,
-226,244,204,227,249,64,233,137,63,223,50,125,116,244,205,163,240,119,79,
-27,253,79,254,211,63,142,141,61,250,252,167,127,246,103,255,243,143,126,
-244,195,229,178,123,239,155,167,127,243,243,255,179,107,163,102,156,253,
-248,73,73,88,45,209,157,231,243,11,252,228,111,240,189,148,35,59,116,24,
-55,24,88,27,33,205,186,123,69,40,0,0,1,0,73,68,65,84,250,189,134,75,177,
-166,161,227,24,216,105,28,7,225,180,52,163,70,132,16,132,153,64,12,98,131,
-56,152,137,184,62,175,224,62,120,122,19,242,122,60,27,44,21,214,96,223,
-119,200,190,225,117,189,243,178,47,9,242,125,140,126,138,0,79,227,217,189,
-182,163,215,67,204,180,168,82,144,64,4,87,99,226,96,194,96,51,125,186,253,
-148,136,75,202,4,238,117,233,230,4,218,218,17,220,198,49,105,24,181,152,
-23,168,12,166,110,230,219,65,71,12,90,212,13,137,71,87,207,169,36,233,31,
-109,63,231,242,217,250,252,233,32,71,207,134,179,126,24,158,239,134,39,
-195,197,54,250,157,59,199,93,19,238,28,135,127,247,223,254,207,255,227,
-255,104,69,160,39,79,158,254,47,127,250,223,180,77,179,221,156,127,242,
-243,31,43,173,61,134,159,62,234,199,17,190,69,254,89,14,108,101,52,50,236,
-100,219,53,82,242,216,199,70,181,28,175,228,161,133,54,74,78,218,68,209,
-197,145,245,30,2,26,67,140,20,2,49,56,48,179,179,187,131,124,10,141,123,
-189,229,111,238,234,188,150,17,2,44,163,204,36,0,0,1,0,73,68,65,84,34,18,
-38,166,203,104,231,215,206,8,185,44,245,66,205,155,238,203,189,189,38,242,
-166,112,96,189,223,205,204,76,148,140,0,43,202,100,112,103,34,83,77,72,
-76,156,181,16,200,115,214,162,166,158,188,103,161,52,38,106,172,106,107,
-147,108,197,205,124,155,70,139,187,146,139,153,169,92,104,177,156,210,72,
-199,35,24,253,110,253,236,188,167,180,213,109,217,245,165,236,202,230,162,
-111,194,221,213,105,222,210,110,237,240,110,167,45,156,131,127,240,239,
-255,59,255,165,187,245,187,205,159,255,224,255,210,188,46,229,252,7,63,
-248,39,33,216,131,15,86,79,47,206,74,25,9,116,114,180,248,23,159,142,49,
-40,17,198,224,37,151,147,163,242,209,206,87,29,52,99,181,8,239,97,65,169,
-143,17,93,199,109,43,77,148,16,37,6,97,225,69,99,32,34,49,192,136,140,170,
-13,114,83,64,121,61,88,207,244,93,95,59,37,61,11,239,203,72,171,201,56,
-39,51,200,0,128,224,230,54,197,218,225,174,96,22,38,118,171,121,85,83,192,
-28,106,202,45,57,1,162,238,80,228,108,185,20,229,198,160,139,140,0,0,1,
-0,73,68,65,84,226,54,234,56,38,14,164,217,52,215,194,25,87,179,132,94,210,
-152,83,214,162,206,91,205,101,28,83,198,209,103,107,94,140,143,135,179,
-117,79,118,145,207,211,179,179,117,254,124,183,121,180,188,247,224,241,
-167,143,68,120,185,90,46,22,171,167,143,207,215,235,241,222,221,7,101,188,
-19,131,60,188,243,221,63,252,254,157,135,15,142,220,55,228,247,31,62,188,
-115,182,251,209,63,255,243,31,12,138,174,59,234,238,60,248,217,207,127,
-66,132,166,141,203,205,114,216,249,89,79,163,107,27,74,234,55,71,203,116,
-190,235,238,119,212,52,88,44,176,232,168,105,184,137,28,35,137,112,115,
-170,32,80,197,180,25,145,19,217,205,25,33,149,137,25,7,5,214,95,145,121,
-38,148,156,69,121,65,139,77,62,47,4,10,108,193,41,131,188,186,6,181,215,
-121,42,107,42,83,234,188,146,67,79,159,226,182,231,211,157,55,166,185,166,
-228,21,183,170,55,21,159,190,46,160,122,221,251,155,29,94,161,125,133,21,
-46,239,116,62,200,9,178,48,80,188,206,114,15,64,29,63,7,144,176,141,110,
-152,210,118,177,227,0,0,1,0,73,68,65,84,232,151,82,46,32,146,38,36,45,14,
-151,54,108,198,45,17,16,233,249,248,180,190,185,22,29,206,250,154,232,29,
-182,3,17,145,96,232,7,69,255,36,97,164,118,76,27,223,228,229,243,247,46,
-206,194,207,243,231,114,49,126,252,205,111,194,253,217,147,205,251,239,
-191,39,6,31,119,219,179,71,218,102,98,186,56,255,236,228,206,201,243,139,
-93,42,229,223,248,7,255,104,76,99,19,255,117,198,63,57,62,93,118,45,45,
-150,242,233,255,240,223,117,139,240,241,199,31,253,232,95,253,41,193,223,
-91,61,248,201,179,243,211,147,163,245,69,190,203,139,167,143,54,32,52,65,
-254,224,119,127,55,63,217,105,191,254,238,183,63,238,114,32,183,167,118,
-118,122,122,79,7,0,229,254,253,133,64,242,208,47,151,139,113,64,136,20,
-59,150,64,96,55,152,195,96,76,48,22,97,230,26,219,246,234,99,242,158,18,
-226,160,214,203,15,139,52,174,145,95,77,91,127,217,123,255,102,20,23,220,
-154,188,116,237,166,98,164,169,152,12,110,110,174,151,21,230,185,104,206,
-40,25,37,91,78,197,115,30,3,224,30,99,0,0,1,0,73,68,65,84,242,56,228,193,
-182,244,188,125,110,170,102,138,236,37,231,179,179,179,174,109,143,223,
-91,85,160,68,106,212,74,177,146,99,41,217,2,186,63,248,189,127,237,248,
-100,185,219,157,47,22,241,63,248,247,254,179,110,17,137,60,182,84,74,214,
-146,63,253,228,231,101,12,68,247,210,120,188,221,100,106,134,174,13,63,
-254,249,179,200,222,50,62,121,114,17,5,86,202,253,247,154,33,103,45,20,
-67,144,134,66,96,53,49,142,78,38,174,13,149,224,36,65,72,106,61,186,216,
-27,197,203,107,166,99,152,107,43,193,101,29,198,92,27,50,31,117,48,72,241,
-183,114,189,92,167,26,14,149,146,215,80,83,53,214,167,93,194,205,13,230,
-53,131,11,55,131,43,213,135,41,178,234,88,210,78,7,90,243,121,56,215,82,
-74,46,101,93,210,56,174,47,214,77,140,15,210,61,16,192,164,91,119,50,39,
-180,88,168,234,243,39,187,251,247,239,217,216,166,93,209,17,223,248,240,
-79,98,148,205,102,253,71,127,208,196,32,41,141,63,187,251,227,16,184,137,
-98,90,62,249,228,23,163,124,238,18,126,250,48,19,240,115,0,0,1,0,73,68,
-65,84,233,102,213,133,187,39,139,205,103,235,54,18,193,194,241,221,243,
-94,76,105,185,108,209,48,139,51,135,194,49,6,17,103,37,138,64,112,143,32,
-102,122,227,211,64,94,179,59,134,137,167,22,212,185,218,121,250,75,61,196,
-247,140,116,191,197,245,87,200,181,27,222,149,34,246,169,53,226,178,158,
-124,95,233,56,85,36,16,49,19,11,113,160,200,36,10,207,148,71,12,71,126,
-172,67,41,169,228,156,215,105,59,14,195,118,189,11,18,114,42,68,0,211,120,
-47,145,16,11,135,210,184,219,192,182,230,221,185,109,98,19,47,118,59,242,
-101,41,153,184,57,58,250,246,209,241,81,140,252,240,254,247,99,144,182,
-13,155,237,250,238,221,79,182,244,40,70,249,241,191,250,81,19,141,186,240,
-244,249,103,139,78,98,148,159,61,73,112,10,161,59,113,26,144,88,176,92,
-54,190,144,86,37,186,152,4,15,129,76,216,136,138,187,27,189,81,58,183,215,
-138,91,19,49,201,33,172,49,103,211,235,19,0,184,228,14,253,173,124,169,
-92,3,236,151,123,6,246,181,190,83,181,13,8,4,38,222,35,84,40,149,105,0,
-0,1,0,73,68,65,84,156,132,196,89,148,50,17,140,74,162,97,160,221,131,216,
-161,56,12,108,156,251,156,118,89,147,27,74,158,154,157,93,7,3,64,66,158,
-200,204,154,19,166,148,83,46,199,167,199,23,155,77,32,201,90,186,110,17,
-98,115,158,118,196,104,218,8,103,98,233,186,59,223,253,222,61,107,126,175,
-105,195,209,234,35,230,12,74,20,254,58,68,111,219,240,249,163,31,19,241,
-241,113,64,162,117,222,74,192,29,134,109,251,214,87,93,199,5,236,44,196,
-178,175,75,180,112,235,176,222,107,235,151,139,247,232,160,207,226,183,
-128,254,229,228,90,84,239,163,44,135,251,222,84,25,121,208,106,183,175,
-122,87,203,68,181,172,200,1,85,148,17,219,29,46,136,44,23,117,117,128,114,
-206,41,103,45,102,230,129,201,220,138,150,45,247,185,36,53,213,98,165,20,
-240,240,222,251,239,171,219,217,231,79,135,52,182,28,192,52,172,183,34,
-247,82,30,29,246,224,225,189,97,155,33,46,129,255,127,246,222,173,71,146,
-44,57,19,251,62,179,227,30,145,153,117,237,219,204,244,220,185,32,185,188,
-45,118,121,250,55,245,184,0,0,1,0,73,68,65,84,131,102,87,132,180,171,93,
-72,88,64,47,186,64,239,11,61,8,208,191,210,211,190,73,250,11,18,32,74,11,
-104,169,5,40,80,20,41,145,28,206,176,167,187,186,170,171,43,111,17,225,
-126,204,244,96,231,28,247,136,140,200,170,204,202,174,30,205,164,117,118,
-86,164,135,135,135,95,236,216,249,236,179,203,249,224,131,247,125,147,168,
-253,247,190,245,27,253,146,134,205,227,199,223,34,115,183,72,34,75,17,125,
-248,240,145,8,79,207,94,142,24,46,135,110,253,226,242,164,91,30,141,146,
-37,67,149,52,33,148,16,185,99,74,237,182,216,58,240,53,42,115,91,67,50,
-213,80,215,186,187,215,36,90,221,11,174,245,187,89,171,36,102,169,228,45,
-157,13,64,201,94,119,56,40,38,116,23,136,56,37,155,108,70,89,13,114,97,
-204,155,113,45,84,209,20,77,139,33,52,51,64,220,97,230,227,152,55,235,97,
-61,172,187,190,223,12,155,62,227,140,151,144,88,166,199,158,47,94,116,139,
-110,204,163,138,102,207,20,62,125,132,205,144,157,54,140,27,65,7,227,151,
-176,247,63,122,31,162,228,183,35,140,0,0,1,0,73,68,65,84,128,124,244,222,
-15,33,158,58,213,95,59,33,121,124,114,50,142,155,23,95,60,211,52,138,230,
-47,190,120,230,250,32,11,135,44,171,13,58,181,78,173,79,248,185,192,214,
-33,219,76,72,245,111,38,40,88,147,174,239,229,118,82,236,244,86,193,138,
-3,50,105,52,74,145,145,187,187,119,209,42,85,160,74,17,80,204,101,52,25,
-40,112,24,69,85,133,137,84,81,192,220,45,79,75,38,148,234,220,200,107,223,
-44,191,248,217,57,212,77,204,152,207,94,253,117,191,76,221,162,135,36,135,
-15,121,72,210,109,242,230,228,225,113,182,113,209,109,30,61,56,254,226,
-203,87,15,31,60,60,59,93,175,134,213,135,223,248,192,104,162,118,114,252,
-109,17,121,248,224,65,246,177,239,158,62,120,216,129,27,225,95,73,178,164,
-89,82,118,140,57,123,206,230,118,229,218,223,90,82,91,50,176,225,224,235,
-35,225,57,155,16,20,93,226,104,225,203,149,93,100,207,46,38,67,98,118,228,
-209,163,145,33,1,101,244,99,220,127,160,86,251,216,110,234,181,117,77,95,
-117,59,196,187,58,254,161,227,28,185,213,172,243,0,0,1,0,73,68,65,84,226,
-197,243,161,145,63,49,250,241,187,253,195,89,137,76,97,251,225,200,3,71,
-25,198,197,102,28,93,135,147,126,88,8,57,44,95,156,125,241,114,161,199,
-93,94,142,163,89,50,95,142,118,106,253,70,215,50,2,72,41,13,235,65,161,
-71,221,241,112,49,18,114,201,53,65,90,116,121,128,100,142,25,190,202,159,
-254,205,39,32,142,142,143,62,247,103,221,162,187,248,252,252,248,228,248,
-114,184,252,217,39,63,125,244,248,209,179,79,63,167,114,177,236,47,95,109,
-82,167,151,195,37,30,216,114,185,56,93,189,208,142,143,30,156,208,224,72,
-191,246,195,127,100,195,229,203,87,23,227,40,227,192,179,124,161,253,250,
-40,109,86,60,63,82,53,82,152,133,202,218,169,203,178,33,85,254,223,65,47,
-161,202,107,218,74,132,220,170,17,176,55,234,122,171,217,68,133,214,247,
-242,117,200,28,239,177,164,24,57,162,18,212,188,188,205,215,89,173,125,
-199,117,192,113,113,126,225,240,156,71,135,167,78,13,118,113,121,177,94,
-175,199,180,22,87,27,92,148,195,114,1,99,234,210,152,71,21,186,38,116,70,
-180,0,0,1,0,73,68,65,84,17,116,73,36,133,10,135,141,163,121,30,55,43,203,
-6,138,39,29,114,206,40,121,99,173,210,137,229,114,222,66,110,174,214,140,
-108,158,232,70,23,105,33,142,130,173,167,179,187,151,119,47,164,144,6,24,
-8,42,33,158,109,204,50,186,88,96,25,58,89,202,140,15,107,205,78,224,193,
-35,32,90,138,159,242,104,155,245,102,28,37,123,206,99,118,115,151,140,13,
-135,243,65,84,250,101,63,94,230,126,217,155,27,192,113,237,161,214,158,
-41,10,67,94,44,114,206,184,92,197,25,230,172,131,229,76,97,74,73,152,0,
-97,180,149,168,99,144,183,85,239,155,99,107,50,192,80,180,85,96,141,17,
-179,182,55,223,11,10,239,229,29,72,132,200,156,112,1,149,166,158,45,143,
-58,228,60,58,140,80,9,189,161,189,73,79,217,74,186,20,110,188,75,157,3,
-73,85,32,81,201,5,71,30,179,229,188,246,141,109,92,148,195,106,244,1,253,
-162,7,1,149,113,157,33,174,157,208,41,137,14,243,145,171,141,15,227,40,
-73,37,109,216,143,164,116,169,235,58,39,181,228,103,79,73,206,183,39,15,
-66,18,204,0,0,1,0,73,68,65,84,28,110,97,173,11,10,87,145,148,146,4,161,
-4,80,72,171,33,245,224,179,239,181,250,29,74,244,51,137,251,78,1,59,64,
-125,28,134,44,163,137,185,128,86,107,245,34,168,119,160,213,222,68,179,
-120,211,106,148,118,222,132,103,207,163,69,111,81,24,242,144,59,73,200,
-244,209,205,124,244,188,194,218,70,19,17,127,121,54,30,141,20,164,94,21,
-162,157,56,13,134,245,200,49,143,201,115,226,64,90,215,245,93,215,171,2,
-222,87,4,34,45,41,233,230,41,66,69,110,199,132,56,0,65,233,11,26,109,110,
-88,112,126,53,211,247,138,253,142,197,65,41,214,26,226,84,66,61,211,70,
-29,178,140,14,19,80,32,2,201,68,201,147,127,131,99,122,115,230,205,72,186,
-193,179,185,80,3,229,24,180,83,169,29,31,0,207,121,28,6,104,210,241,124,
-116,203,84,118,163,166,196,212,73,172,5,52,80,178,103,154,40,178,118,92,
-44,251,190,91,144,37,217,107,222,213,225,109,160,236,109,212,122,170,241,
-158,7,26,11,26,218,223,46,228,94,190,122,105,113,3,119,34,26,91,103,228,
-44,84,198,152,225,0,0,1,0,73,68,65,84,217,196,42,1,91,137,147,235,158,80,
-123,207,43,3,225,238,136,184,114,116,201,84,106,210,36,42,32,172,45,187,
-36,116,161,197,234,43,14,53,192,50,0,27,205,134,97,4,29,166,2,235,145,61,
-139,139,19,41,117,125,223,169,166,60,82,85,235,40,154,85,165,220,86,147,
-110,111,173,1,48,186,107,5,8,57,220,48,228,94,222,141,76,38,37,152,16,186,
-163,208,32,53,87,170,133,23,94,255,92,74,183,138,210,117,165,194,92,159,
-53,113,245,104,202,53,26,133,81,184,29,125,134,29,4,23,41,37,85,136,139,
-48,86,175,113,152,91,54,152,251,232,46,128,136,118,41,41,40,150,93,85,80,
-118,3,194,91,19,220,122,190,191,113,116,199,176,233,250,24,12,122,178,120,
-180,148,165,111,242,81,234,135,97,200,57,183,16,111,224,111,17,241,104,
-109,75,146,81,244,23,136,229,23,214,160,139,239,255,49,238,255,185,169,
-148,16,202,148,221,93,16,243,168,150,197,72,79,34,29,85,160,148,78,186,
-197,223,60,254,51,71,62,217,60,220,164,245,234,232,242,136,15,79,236,233,
-208,89,160,31,64,40,0,0,1,0,73,68,65,84,4,109,74,23,226,160,79,28,53,127,
-106,150,163,86,179,79,198,60,228,178,14,182,155,231,97,28,34,232,40,212,
-196,36,80,90,180,75,16,161,138,75,30,177,94,143,102,66,118,235,193,55,78,
-116,139,81,210,218,199,129,29,210,163,203,13,50,70,237,108,216,140,93,247,
-196,125,101,177,228,13,44,40,7,55,113,83,23,186,16,82,91,119,185,139,187,
-188,46,141,245,214,65,203,128,83,177,176,149,76,56,132,111,135,137,238,
-229,45,133,51,147,189,245,32,188,142,128,216,254,53,206,162,149,157,222,
-58,153,59,62,159,155,171,181,215,60,118,144,20,213,36,162,165,25,223,149,
-252,134,123,8,242,206,164,122,54,149,234,8,83,220,58,47,79,148,25,240,181,
-54,177,22,78,250,92,172,48,13,119,189,4,194,45,214,60,71,131,89,66,73,169,
-11,181,158,57,36,179,155,118,143,173,223,149,180,39,32,194,218,206,192,
-41,22,237,48,11,247,199,210,107,239,107,85,107,105,58,29,221,203,8,67,91,
-10,249,174,190,229,166,31,96,93,157,193,61,194,67,189,106,114,167,68,37,
-58,107,151,84,159,133,70,0,0,1,0,73,68,65,84,246,123,121,183,66,72,81,233,
-168,38,16,143,31,52,174,149,78,250,108,234,255,122,68,89,115,177,72,149,
-232,12,246,115,160,214,181,236,5,0,8,73,169,83,73,94,27,73,214,144,231,
-189,124,61,194,146,11,15,9,107,29,177,116,248,132,95,103,93,82,191,22,145,
-154,157,37,209,41,92,126,62,64,200,156,232,33,2,91,75,41,217,40,166,224,
-94,175,191,22,41,118,184,172,77,29,216,90,26,182,14,59,253,245,47,13,35,
-144,150,211,84,195,71,119,175,214,183,89,141,96,46,66,137,60,190,221,2,
-221,123,121,231,210,162,115,59,140,71,227,130,227,247,215,219,8,180,197,
-90,56,5,234,125,182,28,195,221,200,141,173,181,136,56,70,200,70,197,8,118,
-120,120,164,15,101,52,43,141,171,133,136,102,170,90,131,251,165,237,131,
-151,54,254,4,248,115,88,227,120,136,111,190,169,220,21,63,125,72,118,250,
-14,77,253,86,44,59,220,20,163,114,72,204,157,178,239,211,98,169,227,240,
-226,232,103,207,151,207,211,250,228,209,229,19,104,94,117,3,54,143,189,
-228,84,79,15,205,128,95,201,49,203,0,0,1,0,73,68,65,84,49,90,246,236,147,
-155,158,103,6,205,89,150,219,129,136,139,186,170,203,102,252,44,245,50,
-230,229,232,39,235,204,213,122,5,73,24,196,198,149,231,181,219,0,228,104,
-67,105,164,177,174,94,209,120,30,160,70,63,174,147,219,128,172,249,49,167,
-236,153,125,166,250,30,143,188,51,169,73,202,222,30,73,108,117,148,229,
-19,156,19,137,245,53,78,172,68,79,40,9,115,223,108,198,213,106,192,56,148,
-94,88,119,39,183,81,235,121,196,190,250,40,210,48,117,155,99,238,65,201,
-59,21,70,10,135,19,16,137,36,85,0,238,146,157,230,52,135,129,6,184,112,
-155,182,10,169,22,241,171,62,77,197,145,48,69,214,212,122,109,103,103,155,
-245,102,132,126,237,225,152,109,137,64,163,76,43,142,204,32,211,189,82,
-191,83,41,228,116,161,174,149,165,83,129,100,147,209,56,58,179,71,133,1,
-33,97,141,216,74,200,106,161,245,87,47,98,75,113,17,186,144,195,134,151,
-23,190,25,28,233,142,169,153,155,243,214,219,70,56,212,90,85,39,236,51,
-167,68,190,118,199,251,151,70,88,202,57,28,61,164,213,166,0,0,1,0,73,68,
-65,84,244,136,200,148,2,15,205,46,230,52,103,110,212,181,132,49,98,20,3,
-204,50,76,190,250,231,165,88,192,33,204,170,2,95,172,87,221,102,163,144,
-59,237,18,242,54,149,231,33,213,90,235,212,216,41,254,185,183,213,239,90,
-10,51,93,173,117,201,128,107,214,218,162,88,186,42,125,41,251,152,162,234,
-111,82,49,115,7,34,16,98,20,1,146,192,151,155,53,86,43,218,112,199,234,
-114,23,32,164,66,235,58,218,239,107,26,191,14,169,57,67,36,40,181,166,131,
-51,108,77,115,214,254,163,219,244,70,235,205,253,14,76,145,10,129,1,28,
-84,133,88,108,214,221,197,185,159,159,127,253,225,152,144,41,103,175,210,
-118,211,61,153,189,184,215,236,119,38,147,169,157,135,199,163,248,220,89,
-151,1,65,13,8,183,95,51,121,7,79,75,162,233,53,70,33,224,58,14,178,90,249,
-229,106,184,219,111,185,13,8,49,147,64,72,14,75,138,227,238,145,14,79,144,
-191,116,55,52,174,50,90,6,153,109,229,91,219,44,223,250,0,245,88,237,200,
-44,229,172,81,151,95,165,220,148,90,190,105,245,34,48,164,0,0,1,0,73,68,
-65,84,63,236,187,58,206,14,101,91,233,39,184,165,178,158,13,205,64,19,247,
-68,244,162,28,95,242,75,246,207,245,232,201,201,234,88,86,150,109,204,75,
-179,139,181,195,200,44,226,81,24,235,128,27,188,80,215,245,249,84,70,203,
-189,44,118,108,238,44,235,107,70,31,226,253,150,81,216,146,154,128,50,210,
-40,34,23,227,101,39,125,202,189,108,84,187,81,59,57,91,63,94,255,44,117,
-143,254,159,164,203,62,61,80,244,98,74,103,172,233,184,161,147,46,112,168,
-19,6,137,234,250,215,68,20,222,2,132,180,74,139,26,57,154,147,32,211,30,
-247,242,78,100,119,186,172,214,65,53,137,2,146,157,217,90,93,162,231,171,
-236,30,176,253,196,184,245,102,179,53,172,15,252,118,254,101,68,246,219,
-167,219,82,225,227,230,36,143,139,108,116,100,231,224,200,14,135,133,19,
-32,168,57,116,0,174,47,89,11,185,157,203,184,213,193,33,218,167,54,60,125,
-21,138,220,203,187,17,214,100,248,26,204,5,73,149,142,226,46,155,204,141,
-193,197,197,65,120,110,201,150,161,234,77,101,125,50,78,94,202,215,119,
-166,0,0,1,0,73,68,65,84,60,201,64,46,225,69,177,37,157,148,13,55,62,73,
-106,209,212,104,9,82,243,11,215,23,79,109,97,148,76,29,52,101,193,130,232,
-136,36,18,75,115,43,91,31,26,188,190,213,194,45,87,35,152,171,181,136,104,
-82,110,239,81,236,247,189,106,191,51,153,77,158,113,255,171,18,38,227,104,
-60,207,114,153,233,42,137,54,74,164,53,108,213,201,56,203,146,203,83,251,
-128,166,60,142,169,197,1,43,162,184,29,219,213,64,102,225,128,157,97,176,
-207,207,30,44,242,6,186,98,26,161,6,233,4,172,13,239,34,237,47,58,227,236,
-113,9,174,202,237,58,166,150,223,209,181,76,40,170,169,94,236,12,25,191,
-174,196,249,94,238,84,170,66,206,152,14,17,138,119,25,227,136,243,1,151,
-38,78,233,19,115,167,151,174,42,102,21,10,212,81,49,211,221,89,25,238,93,
-186,54,132,0,90,215,104,100,233,2,1,93,93,46,12,144,46,75,55,186,120,151,
-152,148,26,108,14,8,103,153,71,10,191,243,26,189,122,91,222,26,177,72,187,
-106,27,215,245,244,121,171,193,124,47,183,20,54,123,197,210,142,200,0,0,
-1,0,73,68,65,84,77,111,16,33,86,67,1,86,89,138,181,118,38,66,68,74,95,151,
-250,105,119,52,172,93,179,73,90,185,117,237,169,16,59,122,75,54,186,85,
-9,162,23,212,81,141,126,53,198,163,81,114,218,12,189,172,29,98,14,5,204,
-117,80,147,240,29,81,117,249,77,190,243,182,32,100,250,7,132,232,86,223,
-237,201,185,184,71,33,239,86,26,62,174,19,61,153,36,13,122,233,44,216,218,
-161,14,58,178,80,91,146,168,239,243,245,231,6,187,24,109,115,115,167,185,
-75,233,62,108,110,138,27,6,8,75,63,6,210,171,169,22,33,85,212,33,146,109,
-49,12,10,25,221,13,24,20,185,103,31,76,8,1,10,218,124,116,253,151,220,129,
-181,38,16,129,90,110,109,187,151,175,67,102,200,51,84,91,53,137,48,152,
-16,111,237,150,45,55,192,49,247,191,170,189,7,208,172,226,100,165,189,101,
-111,23,130,239,54,208,100,94,93,133,74,176,144,212,14,20,129,107,30,35,
-135,127,67,205,206,161,83,7,220,205,163,139,200,27,106,214,205,213,218,
-157,164,187,155,153,170,2,240,141,30,219,227,148,26,51,176,58,0,0,1,0,73,
-68,65,84,250,243,139,51,23,166,212,173,134,149,25,132,105,180,44,34,230,
-16,179,182,248,230,14,145,114,229,240,62,71,115,49,58,127,14,195,58,95,
-117,63,236,155,238,175,226,163,15,177,114,47,196,51,204,56,48,217,70,62,
-191,224,73,94,156,29,231,103,249,204,197,47,93,94,154,127,96,221,203,205,
-48,12,48,232,66,140,158,71,243,13,105,231,217,72,62,120,240,224,244,244,
-149,168,44,150,139,23,95,188,120,252,228,177,108,86,201,83,114,237,101,
-49,186,39,73,150,165,215,254,243,243,211,15,63,252,112,179,190,236,209,
-61,92,60,112,213,148,150,171,213,234,164,27,104,46,22,32,218,130,45,19,
-33,116,48,186,1,153,73,164,139,86,146,6,31,198,49,137,36,81,38,129,118,
-153,186,54,27,70,140,150,187,142,125,47,137,2,66,224,164,49,58,158,65,80,
-208,174,238,224,130,183,91,141,160,190,168,161,216,50,244,127,238,116,240,
-151,66,56,1,135,169,64,134,74,21,136,57,5,162,209,131,207,9,115,31,224,
-131,219,104,240,76,32,99,112,142,164,33,173,135,113,124,113,250,229,106,
-238,98,211,120,0,0,1,0,73,68,65,84,189,50,183,135,250,112,141,83,46,150,
-235,188,122,181,94,139,203,131,229,9,201,245,197,186,235,210,163,254,241,
-131,199,15,70,123,37,9,208,188,30,179,90,18,217,104,47,144,62,120,139,40,
-125,49,139,31,151,178,8,18,0,52,119,212,221,167,92,89,16,16,196,34,172,
-81,16,150,125,28,13,112,85,119,113,157,138,81,14,114,231,111,5,66,188,208,
-68,37,55,149,100,153,97,42,97,255,54,7,191,151,27,10,57,235,65,86,124,49,
-65,175,93,98,114,168,120,89,161,214,179,231,49,99,45,190,129,13,217,152,
-157,150,125,147,57,0,118,57,124,217,117,105,204,227,226,113,186,92,173,
-198,142,175,134,79,121,182,234,31,158,176,39,20,207,135,231,169,79,92,208,
-151,139,207,199,207,143,95,190,92,173,86,239,61,125,239,104,121,188,25,
-244,248,248,36,121,62,234,143,50,58,210,21,200,209,212,202,17,173,211,116,
-210,221,162,208,110,102,38,169,120,98,2,87,68,109,140,68,159,204,149,185,
-154,49,103,119,55,109,252,53,162,81,94,9,71,238,232,218,205,107,25,171,
-42,207,161,85,232,47,157,111,0,0,1,0,73,68,65,84,73,226,147,105,153,198,
-162,214,135,193,198,189,220,181,72,229,38,10,197,23,11,196,81,68,69,50,
-1,119,203,121,216,12,155,188,94,13,212,77,30,135,97,51,172,179,140,89,198,
-141,175,71,12,16,27,237,146,233,232,243,47,63,207,103,249,116,56,253,0,
-239,95,242,82,77,135,151,231,195,48,28,159,28,105,210,71,203,71,155,97,
-195,5,251,190,31,54,107,75,89,143,116,196,184,218,172,57,234,106,220,156,
-174,206,159,62,253,48,231,14,6,56,197,37,161,180,72,218,58,229,10,245,221,
-205,12,102,98,6,119,113,75,84,37,147,80,69,33,101,45,28,184,179,212,66,
-136,71,243,28,7,233,108,107,177,182,3,223,102,53,130,249,89,53,107,157,
-146,10,37,79,145,86,162,213,24,221,203,87,47,132,178,249,99,213,84,171,
-18,74,77,34,73,156,182,25,215,151,43,185,24,206,46,198,177,119,174,242,
-106,101,103,131,175,7,31,214,190,26,124,116,250,249,217,217,135,125,151,
-147,140,158,145,211,133,111,86,58,94,94,124,241,189,15,191,255,179,79,63,
-25,23,221,98,217,247,125,247,79,253,247,129,0,0,1,0,73,68,65,84,201,167,
-159,92,174,46,30,61,126,212,9,251,197,226,60,175,109,116,101,119,212,73,
-159,22,217,112,49,156,119,232,144,50,205,213,105,80,208,98,58,241,230,121,
-98,202,113,49,115,203,102,217,45,67,85,128,36,236,85,146,38,175,43,54,91,
-124,212,28,48,168,36,175,1,157,136,233,204,135,204,45,173,245,214,13,109,
-32,68,202,58,58,196,61,8,121,247,82,3,209,17,100,20,23,161,42,115,231,178,
-96,50,193,185,173,243,165,173,135,243,205,171,115,27,87,106,231,118,122,
-97,167,3,215,163,15,27,219,12,158,157,188,196,229,203,203,151,235,188,202,
-28,121,140,207,206,62,91,158,44,82,159,254,250,147,191,124,239,253,247,
-158,190,255,240,199,63,249,113,122,192,31,254,250,119,158,190,247,244,39,
-63,253,9,79,22,39,143,143,158,191,120,70,215,71,15,158,60,187,120,246,240,
-228,145,48,73,30,178,118,180,44,230,201,153,33,22,220,162,209,69,118,89,
-129,25,248,54,51,179,236,174,112,115,24,217,67,40,69,173,13,52,143,112,
-76,137,206,136,239,144,147,0,222,30,91,135,150,12,134,30,214,0,0,1,0,73,
-68,65,84,55,108,13,148,105,240,94,173,223,185,68,150,69,177,43,17,108,166,
-128,11,79,38,160,242,212,55,190,222,108,86,23,195,217,10,216,240,226,194,
-78,87,118,154,185,49,177,193,115,118,0,250,222,211,163,151,175,158,93,228,
-115,237,244,91,31,125,227,242,197,240,7,255,254,239,255,230,239,252,230,
-191,254,239,254,245,175,255,254,15,191,245,241,183,206,254,248,249,15,127,
-231,227,31,253,227,31,125,239,251,223,251,227,255,245,143,63,250,232,233,
-147,71,79,254,205,255,246,191,31,31,61,120,112,244,232,223,253,201,159,
-126,153,215,125,191,88,226,33,188,239,156,131,203,224,210,153,140,38,98,
-166,158,220,109,210,234,26,155,142,6,79,193,133,103,27,37,99,52,71,30,57,
-46,85,75,7,211,186,50,78,180,140,21,130,30,209,199,186,110,118,83,184,59,
-224,173,49,5,250,129,169,225,211,158,49,116,47,239,76,166,68,134,4,237,
-197,77,153,152,49,102,27,55,182,30,185,56,207,167,151,118,182,178,115,151,
-17,238,25,112,8,192,213,248,50,243,252,215,255,254,247,255,225,31,254,195,
-63,205,42,134,69,0,0,1,0,73,68,65,84,248,209,239,253,201,159,254,219,63,
-250,103,127,244,123,127,240,123,255,244,95,254,209,163,71,15,143,31,28,
-255,238,191,253,157,111,127,247,219,143,30,63,250,232,27,31,246,31,241,
-233,209,226,131,247,63,176,238,226,135,63,248,213,15,223,251,230,226,161,
-228,209,31,156,60,252,191,255,151,191,112,138,97,48,12,230,67,182,33,231,
-77,150,218,200,184,214,46,176,113,184,225,76,130,238,102,238,217,92,178,
-81,212,199,222,65,81,168,68,248,6,172,43,59,109,145,110,219,40,36,77,107,
-78,190,217,186,140,173,26,183,105,114,24,236,163,252,72,198,231,110,23,
-232,137,172,150,147,219,40,200,40,67,112,178,235,230,230,6,47,243,77,97,
-169,91,69,157,31,16,222,144,252,63,116,21,63,135,45,74,238,68,70,191,136,
-48,52,12,230,57,51,231,62,91,178,252,226,225,240,228,167,221,49,186,254,
-120,253,87,63,93,111,30,174,198,135,167,71,95,92,158,158,189,26,95,29,247,
-203,81,120,186,250,242,247,126,244,187,255,238,79,255,228,71,255,228,223,
-251,175,254,219,255,244,127,248,31,255,197,4,51,168,0,0,1,0,73,68,65,84,
-251,143,191,243,241,127,241,95,254,103,20,60,253,237,7,31,124,248,222,197,
-226,229,195,111,165,205,240,106,24,78,127,227,119,127,232,238,235,225,203,
-191,123,118,250,244,195,227,213,250,213,167,151,195,111,253,232,239,91,
-246,51,251,252,95,252,231,255,68,152,220,221,23,171,179,47,207,124,227,
-50,12,103,103,175,198,13,187,254,113,242,135,103,249,172,79,61,244,72,122,
-65,7,138,208,85,70,205,88,19,234,2,106,162,9,77,105,9,57,129,107,135,26,
-59,66,68,133,73,69,85,84,204,71,0,165,227,129,128,178,149,75,120,55,214,
-26,128,136,146,117,245,49,224,205,44,245,68,149,236,68,40,119,211,195,238,
-25,149,215,73,203,112,2,32,16,23,119,117,146,71,143,78,86,158,22,93,250,
-224,195,247,215,31,61,254,105,127,249,234,226,203,85,119,154,30,141,143,
-60,165,133,175,242,230,63,250,231,63,250,157,223,253,173,63,252,103,191,
-249,159,252,203,255,248,225,183,143,63,254,222,127,115,242,224,152,9,47,
-95,190,248,214,119,191,209,245,233,207,254,226,255,252,248,155,31,143,24,
-82,252,61,0,0,0,1,0,73,68,65,84,220,220,114,202,217,214,235,21,201,17,235,
-113,92,103,100,101,114,3,93,28,174,98,110,248,195,127,252,251,235,203,245,
-234,116,245,233,223,62,251,219,191,252,217,234,226,98,195,213,162,91,38,
-73,137,73,161,52,122,118,163,65,29,90,157,177,45,62,98,234,81,127,213,204,
-181,157,230,182,181,125,56,93,111,155,223,92,84,123,149,142,133,102,106,
-33,216,215,43,227,68,183,114,246,211,222,243,146,57,124,103,128,230,23,
-21,24,213,102,168,113,3,5,2,192,233,71,15,22,139,85,127,178,60,122,192,
-147,243,229,250,179,225,167,103,56,127,240,100,249,234,242,147,127,245,
-95,255,171,223,250,7,191,241,63,255,241,255,244,31,252,243,63,250,246,247,
-63,134,90,191,196,243,211,79,211,34,141,178,58,59,59,125,181,250,114,35,
-231,20,92,142,167,175,86,159,15,195,224,142,148,52,231,188,94,175,73,174,
-125,145,7,235,251,94,165,131,83,145,186,212,39,237,224,60,121,252,232,193,
-123,71,98,122,252,240,72,251,238,226,139,193,55,246,249,217,207,62,214,
-143,21,162,174,204,116,184,209,172,192,185,208,191,0,0,1,0,73,68,65,84,
-55,136,73,73,14,41,90,83,82,78,156,238,98,110,241,71,161,190,45,174,241,
-186,53,45,18,174,204,215,87,185,142,55,145,46,245,34,137,84,32,51,210,210,
-175,63,70,121,4,83,18,67,203,18,159,127,178,157,200,189,86,95,47,54,43,
-180,5,74,190,181,171,15,182,58,94,30,61,57,121,210,177,27,79,94,45,190,
-231,223,120,252,241,223,251,237,239,126,227,123,255,244,63,252,23,127,244,
-189,31,124,231,209,175,28,127,251,123,223,250,155,159,252,245,226,184,95,
-202,98,133,83,219,216,184,26,204,199,53,87,207,62,251,201,102,88,247,139,
-254,211,47,47,134,97,0,209,119,189,187,111,54,27,17,89,98,57,172,188,31,
-22,93,234,224,146,164,91,216,178,211,30,224,249,120,222,105,119,220,31,
-245,79,229,7,191,245,109,91,201,167,63,253,226,197,159,255,213,38,191,39,
-25,221,216,41,21,112,36,119,100,167,68,79,156,208,136,89,238,202,148,83,
-69,163,211,140,12,181,22,45,138,218,120,139,249,221,152,172,245,91,154,
-237,174,59,78,186,32,180,38,104,109,229,203,92,149,102,40,165,20,210,0,
-0,1,0,73,68,65,84,131,203,192,107,78,38,171,11,129,18,180,44,83,235,157,
-165,110,255,162,42,182,215,180,209,186,129,160,51,99,92,246,139,163,116,
-220,47,211,71,191,246,254,71,223,248,246,15,190,251,221,239,254,240,155,
-223,252,206,247,12,246,23,159,252,229,226,189,163,23,171,151,107,221,100,
-183,231,95,188,88,15,167,239,189,255,116,115,121,241,179,103,159,128,150,
-122,93,231,243,47,190,60,63,62,90,14,195,64,178,239,67,173,7,85,89,218,
-210,214,169,207,139,46,245,116,233,164,91,219,81,167,61,129,167,79,62,218,
-108,46,135,203,75,129,28,45,30,60,124,252,196,187,199,103,227,211,225,167,
-107,33,146,171,154,148,234,75,247,236,99,146,174,146,12,69,115,90,114,85,
-189,188,25,32,49,135,110,97,143,93,16,130,59,181,214,128,180,5,29,94,115,
-12,182,95,211,166,0,36,211,183,79,41,136,55,7,33,135,6,212,47,168,86,95,
-5,125,161,33,186,132,56,199,203,113,148,241,201,247,159,188,255,224,155,
-31,60,126,100,114,250,217,249,39,32,29,249,241,201,163,207,159,61,59,58,
-89,94,159,166,54,177,0,0,1,0,73,68,65,84,140,167,63,249,244,39,103,235,
-103,95,172,159,174,215,151,159,61,255,52,37,57,121,120,178,25,86,167,23,
-167,163,62,25,134,129,64,103,157,185,111,54,107,17,89,218,82,243,178,199,
-162,179,158,97,173,125,221,165,30,206,238,114,233,110,189,38,119,57,31,
-94,66,60,61,88,124,243,7,239,63,31,87,28,45,15,67,246,193,217,9,1,186,89,
-134,238,248,242,108,20,73,217,208,202,120,106,250,96,83,232,102,182,219,
-206,119,135,173,217,171,116,164,2,227,236,108,174,193,214,172,213,69,83,
-157,209,206,69,177,80,237,205,137,188,129,28,170,232,248,69,101,211,69,
-164,185,89,0,0,47,245,215,201,177,246,188,177,161,219,88,119,121,214,125,
-225,195,217,112,118,246,171,191,242,143,62,255,252,217,144,7,91,188,247,
-197,249,179,191,254,217,23,57,143,223,249,238,119,54,47,228,229,249,179,
-205,184,97,159,207,55,103,47,62,251,204,44,59,93,55,221,56,14,36,59,118,
-112,108,242,70,93,233,148,108,150,115,198,0,23,101,202,24,147,117,112,250,
-115,85,225,227,71,15,143,22,203,156,28,175,77,23,0,0,1,0,73,68,65,84,243,
-229,230,116,209,89,127,44,239,253,234,227,205,203,33,191,176,241,98,99,
-88,128,16,176,186,134,37,240,56,77,220,85,179,247,22,4,95,99,127,247,51,
-33,183,48,216,2,217,102,66,94,35,220,253,179,90,229,233,197,189,220,64,
-68,5,142,230,89,181,27,56,218,176,96,90,118,139,110,209,95,140,171,188,
-126,14,57,90,46,249,231,255,239,255,241,225,135,31,104,30,254,244,255,250,
-55,79,158,60,126,255,163,147,31,255,248,111,254,236,207,63,27,196,82,82,
-73,188,216,156,95,92,158,45,150,253,114,185,92,173,47,87,195,229,56,142,
-34,26,37,182,46,64,34,147,228,205,48,154,144,112,167,193,40,52,24,156,239,
-63,60,90,93,158,95,156,159,195,93,92,4,234,200,154,244,233,119,30,157,117,
-23,103,151,151,182,54,143,52,91,34,2,49,5,64,85,12,91,117,26,59,0,117,175,
-236,24,236,20,11,60,163,18,210,193,36,139,28,172,40,190,202,251,198,199,
-215,171,211,7,71,253,39,207,47,178,174,151,203,147,87,231,35,184,236,250,
-39,54,158,69,211,44,167,192,29,16,63,32,31,98,0,0,1,0,73,68,65,84,167,144,
-234,62,70,186,10,80,194,70,18,249,88,34,132,10,204,93,89,226,164,70,232,
-45,90,77,255,114,73,46,153,236,59,206,122,55,46,133,60,27,47,196,55,73,
-186,60,164,47,242,133,144,11,61,58,127,126,6,192,143,249,124,245,242,211,
-243,231,153,57,39,156,173,159,115,44,169,108,76,216,140,155,241,98,20,17,
-243,181,170,168,184,231,172,222,29,233,82,145,176,226,162,235,8,208,61,
-81,147,196,226,161,32,241,252,226,199,157,118,224,49,54,88,232,49,197,101,
-28,147,242,197,243,191,61,57,122,248,254,247,143,47,22,155,213,23,103,98,
-250,40,63,237,177,132,140,173,169,184,215,31,136,155,25,133,226,82,2,147,
-94,176,86,206,69,131,85,8,200,86,190,235,29,130,144,174,235,123,235,83,
-234,6,12,13,5,205,34,154,149,126,106,53,115,108,229,203,149,116,221,222,
-4,204,54,94,59,82,239,5,135,61,153,130,230,220,205,108,244,81,44,210,240,
-105,180,98,38,225,110,158,115,206,57,155,217,116,195,129,154,15,56,127,
-52,5,16,212,36,77,84,192,217,62,84,30,114,131,126,88,91,0,0,1,0,73,68,65,
-84,139,60,204,178,79,205,104,34,226,238,20,116,203,142,71,148,145,78,163,
-204,24,1,238,76,215,59,224,116,122,113,141,66,164,150,203,225,251,50,78,
-223,92,22,186,92,244,71,93,234,215,227,42,226,246,113,77,36,65,169,68,30,
-107,88,87,8,43,13,105,33,116,47,175,41,116,39,69,32,14,137,188,22,129,56,
-204,222,186,93,224,47,182,28,2,127,81,66,226,14,55,115,32,195,128,17,192,
-80,21,52,64,109,182,28,19,53,149,44,150,175,164,49,71,91,143,242,164,74,
-161,120,123,193,88,42,175,60,187,246,98,182,3,28,230,102,150,205,70,3,187,
-46,185,27,196,151,15,250,108,98,167,48,207,59,77,154,216,212,101,30,164,
-153,231,99,84,139,215,120,135,157,140,235,52,203,230,104,7,189,165,93,76,
-218,37,233,0,186,57,202,130,55,168,3,93,138,202,66,8,65,209,105,47,183,
-0,94,111,132,11,220,33,78,113,8,92,28,98,20,242,48,42,186,151,144,67,203,
-152,123,85,132,194,151,149,132,140,76,171,51,32,65,32,214,71,132,183,246,
-54,128,75,173,170,218,82,214,43,103,66,184,0,0,1,0,73,68,65,84,102,128,
-234,99,149,61,234,46,164,214,6,55,94,19,152,50,193,4,205,150,149,99,127,
-180,148,172,155,181,231,97,52,102,153,236,61,174,210,100,7,109,243,92,87,
-103,170,157,162,30,17,21,52,223,218,90,19,160,171,32,209,4,82,60,72,35,
-73,37,157,204,164,206,212,87,133,112,135,209,34,255,74,224,70,35,161,110,
-160,70,125,51,168,213,61,118,191,110,206,185,23,216,117,106,237,5,110,128,
-172,187,249,182,234,144,100,172,216,230,147,90,87,247,173,60,178,80,86,
-138,146,90,94,64,132,74,138,80,133,42,162,82,22,91,148,178,79,176,8,81,
-100,235,217,157,52,186,229,172,163,233,200,133,112,225,48,51,140,194,110,
-110,161,235,196,222,224,204,236,205,153,76,151,80,124,198,242,103,186,198,
-59,188,145,120,134,48,37,77,66,49,80,203,28,225,165,71,38,234,224,70,109,
-173,236,251,173,117,132,97,4,226,148,90,228,70,167,220,241,226,34,191,112,
-114,16,132,52,139,204,70,49,0,240,108,192,196,191,78,68,26,236,144,90,203,
-4,26,119,49,9,183,182,108,253,174,64,34,49,193,28,46,0,0,1,0,73,68,65,84,
-86,170,166,155,25,232,198,188,193,74,21,178,236,212,232,163,85,80,62,157,
-16,39,220,81,125,175,173,235,157,126,199,133,176,245,92,155,171,245,27,
-102,240,29,190,173,72,210,69,74,64,22,168,168,51,79,216,58,188,14,111,142,
-96,100,24,90,85,107,171,74,111,2,113,184,81,196,163,229,137,24,132,112,
-185,207,117,186,86,14,5,97,69,82,81,208,178,254,185,21,101,149,84,59,128,
-52,237,224,220,32,238,170,245,92,89,231,63,13,97,110,189,85,76,24,162,43,
-100,61,164,8,96,174,73,93,108,99,235,14,186,92,46,123,235,252,178,181,108,
-154,225,162,45,167,113,98,126,139,149,222,178,213,192,78,190,245,173,145,
-244,149,251,7,133,38,237,146,38,176,117,193,178,10,127,38,26,100,238,62,
-114,190,165,18,240,109,250,41,233,59,113,33,247,125,207,110,37,20,169,165,
-82,53,224,97,238,112,73,201,221,217,192,103,251,15,214,102,253,48,127,141,
-137,10,101,170,207,102,190,229,10,19,178,77,100,213,189,202,96,81,149,44,
-54,228,81,48,106,39,169,215,113,61,139,158,113,235,150,105,108,82,0,0,1,
-0,73,68,65,84,159,173,141,147,174,86,99,61,17,54,91,47,82,74,201,204,68,
-36,165,4,32,94,95,119,155,14,13,3,199,106,92,63,125,242,241,243,243,87,
-23,23,159,47,78,210,229,106,189,232,31,94,174,94,186,103,120,46,75,22,210,
-72,23,241,156,135,152,152,74,179,228,168,229,68,26,120,233,98,32,96,81,
-84,79,80,169,242,218,182,107,191,228,114,40,195,216,205,170,94,41,34,145,
-162,217,195,93,123,23,7,146,218,217,154,2,109,16,182,211,158,160,136,42,
-53,64,180,148,162,111,157,236,20,73,113,196,162,212,62,5,29,50,11,74,113,
-138,10,198,209,20,221,9,58,69,63,250,58,47,70,246,210,157,45,99,234,144,
-49,117,76,17,194,4,224,194,214,127,15,238,116,208,156,181,56,166,24,239,
-89,242,95,185,136,29,38,228,109,140,119,44,196,35,165,185,91,57,142,136,
-68,19,8,3,5,116,136,4,109,23,5,109,226,14,41,236,135,121,237,204,41,2,119,
-138,211,45,42,235,239,93,198,219,10,15,173,54,116,240,118,22,59,141,25,
-226,14,158,174,186,157,0,106,105,95,169,38,197,48,198,51,0,0,1,0,73,68,
-65,84,175,116,118,249,248,182,157,110,84,92,243,2,183,168,233,45,250,163,
-58,136,241,183,95,57,203,55,213,129,187,3,33,132,80,84,146,138,10,181,26,
-98,10,197,67,221,93,195,50,59,69,220,149,106,48,0,206,8,39,42,4,238,46,
-38,78,135,35,86,200,20,87,48,178,91,238,41,190,219,8,101,255,243,189,142,
-239,170,100,32,27,228,224,44,40,19,238,31,163,137,94,49,148,2,33,68,16,
-125,206,3,80,151,45,44,150,52,154,58,237,64,150,9,130,82,170,210,215,182,
-215,168,93,64,42,58,218,161,170,175,147,61,225,152,91,222,63,135,82,147,
-166,164,73,169,141,177,22,132,207,23,115,70,185,41,109,225,30,119,23,208,
-170,215,136,184,178,186,188,9,183,7,253,45,79,236,151,91,110,121,223,90,
-41,72,181,199,100,168,108,104,167,176,232,168,40,203,242,165,117,173,71,
-17,72,60,247,210,55,50,52,62,246,105,92,74,211,254,230,89,73,197,228,81,
-106,44,94,113,60,118,20,160,249,179,215,200,196,91,191,173,56,68,180,67,
-234,180,83,73,82,200,124,151,50,136,69,34,138,124,15,102,0,0,1,0,73,68,
-65,84,188,226,134,186,56,32,96,177,48,72,84,217,211,29,110,226,98,112,70,
-223,124,119,129,185,11,224,226,247,214,250,54,114,200,78,93,99,173,189,
-218,107,160,98,12,167,66,73,42,85,169,66,85,106,221,146,72,182,45,241,160,
-9,74,249,83,117,122,43,88,237,226,61,74,44,231,91,98,249,34,90,21,93,218,
-220,128,73,159,155,205,222,245,29,247,75,33,248,246,150,24,220,76,28,0,
-21,41,112,136,138,11,149,132,138,186,187,89,22,198,24,140,85,46,221,221,
-80,24,107,19,136,193,194,108,139,40,189,128,19,167,59,10,56,185,243,21,
-41,127,201,229,186,229,49,42,57,130,10,173,9,168,84,181,46,94,163,106,137,
-179,75,241,217,66,89,39,75,92,172,248,236,53,171,181,102,97,6,39,130,132,
-104,169,74,172,214,90,74,67,178,201,81,107,152,232,181,214,250,174,194,
-49,176,56,9,170,168,50,86,255,21,23,36,116,229,70,69,76,221,0,32,163,132,
-84,91,194,130,66,97,32,220,37,57,140,102,229,138,45,86,20,244,67,65,180,
-123,185,94,110,145,119,62,85,165,84,96,147,116,120,52,0,0,1,0,73,68,65,
-84,13,66,69,11,39,21,58,29,30,20,40,147,114,75,213,233,210,250,160,193,
-15,206,160,72,85,107,236,168,53,107,244,188,81,188,87,213,185,254,1,28,
-62,249,144,253,46,227,109,44,119,69,99,82,200,249,232,34,207,98,173,213,
-28,10,119,45,17,1,117,51,39,220,96,177,20,4,75,51,112,133,90,176,165,86,
-75,210,45,156,135,251,56,227,109,196,14,128,13,57,252,124,91,89,247,204,
-88,163,44,71,87,250,208,84,71,176,242,36,219,46,224,220,208,55,245,109,
-56,185,58,125,213,228,146,179,6,122,190,163,208,51,185,137,62,166,174,235,
-162,247,116,152,237,113,28,83,186,13,61,226,189,103,140,134,124,114,244,
-232,244,226,116,157,47,150,203,71,231,171,115,114,164,121,37,77,157,116,
-145,96,29,29,238,34,89,65,128,78,129,171,187,13,235,33,34,47,132,74,92,
-190,2,238,171,60,214,155,133,249,173,177,124,199,11,176,254,130,201,53,
-234,187,87,10,197,86,242,249,171,86,147,34,93,181,205,66,38,162,100,50,
-113,90,137,75,162,70,187,101,184,121,48,5,229,167,166,141,42,170,112,108,
-0,0,1,0,73,68,65,84,176,19,168,50,41,146,122,162,11,12,112,207,139,83,248,
-66,141,68,175,210,41,132,110,48,215,222,201,12,184,187,138,104,12,43,128,
-145,78,65,22,0,16,77,104,218,85,236,169,101,188,181,84,52,79,41,129,83,
-19,82,169,46,150,69,213,181,166,45,1,128,65,221,131,202,131,19,106,8,66,
-48,5,8,169,217,226,40,197,64,166,212,250,29,115,206,231,237,151,183,190,
-151,45,169,180,24,106,130,84,195,194,5,108,104,73,105,18,165,110,113,127,
-115,18,112,178,226,51,7,112,110,167,81,221,62,103,161,238,208,94,204,78,
-165,228,8,225,205,160,199,36,147,203,248,150,202,29,254,114,193,214,162,
-98,52,136,82,33,29,52,166,66,167,51,178,216,45,80,135,187,185,128,66,19,
-146,102,230,112,75,217,220,204,51,157,209,96,28,14,39,75,121,204,252,210,
-25,145,155,123,208,125,151,66,114,94,241,221,144,68,117,16,85,41,225,50,
-74,177,202,129,176,171,53,166,200,108,207,186,93,10,63,88,179,94,167,97,
-208,166,131,57,165,59,223,220,8,145,155,40,104,225,173,223,50,207,169,252,
-248,89,174,0,0,1,0,73,68,65,84,136,131,20,149,148,52,73,86,208,85,147,195,
-133,174,52,99,5,199,66,24,149,238,52,154,68,214,19,98,225,4,120,210,206,
-220,44,230,166,234,42,154,215,168,194,149,65,123,87,209,164,123,9,41,214,
-26,152,131,144,45,198,99,246,19,225,147,185,18,55,117,87,138,136,170,108,
-237,95,152,144,3,106,45,87,212,154,51,137,179,123,195,171,216,229,173,235,
-28,116,27,227,29,51,70,39,41,73,167,84,194,147,116,53,227,35,186,241,0,
-136,201,141,177,204,36,153,195,207,4,153,33,238,230,210,187,91,182,177,
-185,14,217,65,90,157,179,218,175,123,249,74,164,66,132,178,10,77,243,5,
-5,90,130,44,149,156,46,252,180,164,192,220,66,73,146,170,109,102,98,210,
-242,163,138,202,91,151,24,77,33,4,165,64,28,65,161,242,98,163,212,232,14,
-182,244,250,38,10,57,129,144,183,189,31,30,56,169,90,107,10,168,73,212,
-44,185,120,22,83,175,106,45,164,49,114,64,90,241,23,64,120,142,134,0,230,
-198,58,41,145,145,222,110,244,92,33,95,124,219,189,130,127,37,82,64,72,
-249,7,6,186,60,0,0,1,0,73,68,65,84,3,213,98,162,49,208,205,238,86,54,186,
-128,144,160,252,116,6,66,90,85,129,64,231,249,66,59,200,187,98,231,57,52,
-151,102,196,27,10,194,214,204,252,154,7,191,203,91,191,45,8,65,197,214,
-16,208,84,52,49,150,100,55,184,231,112,0,140,70,161,195,220,205,149,28,
-25,43,182,151,176,34,202,210,57,38,98,146,141,217,213,221,232,227,108,244,
-121,107,242,122,7,3,242,94,102,210,166,107,52,39,142,36,169,51,245,85,166,
-166,190,193,123,84,84,221,144,116,89,138,105,194,30,237,103,75,173,113,
-64,173,177,173,214,205,223,124,99,16,242,86,122,188,247,190,20,234,186,
-12,59,161,138,184,138,154,27,16,61,44,34,143,201,233,193,120,120,144,211,
-209,135,138,37,162,30,23,234,20,208,37,214,22,169,129,130,249,127,112,187,
-231,179,239,82,200,105,33,140,89,56,134,21,49,171,48,104,54,109,169,154,
-251,144,240,28,58,204,93,63,98,210,206,25,223,13,108,171,108,236,219,90,
-86,239,250,85,175,181,100,37,223,186,33,108,146,57,231,91,36,138,100,140,
-76,0,68,76,142,119,167,185,56,0,0,1,0,73,68,65,84,211,241,74,207,47,198,
-51,42,124,0,93,148,157,11,162,208,136,164,208,36,155,129,6,50,138,40,72,
-133,56,125,116,115,48,178,88,149,146,145,12,230,116,177,117,92,85,155,34,
-35,29,119,196,24,127,85,203,93,204,247,232,99,37,3,235,240,71,220,222,105,
-24,112,246,191,29,92,32,113,255,176,57,148,254,125,211,104,232,77,211,200,
-111,23,109,109,183,162,177,108,118,32,188,229,30,197,232,165,140,170,220,
-63,135,176,43,182,153,2,36,64,224,2,48,117,29,80,136,63,173,54,59,194,146,
-197,82,179,2,104,17,40,251,156,24,44,33,69,90,72,6,200,38,69,21,104,148,
-76,117,8,156,222,130,42,241,92,155,181,143,98,245,67,200,123,79,229,249,
-91,72,59,78,131,71,84,137,124,112,115,136,67,221,45,188,17,247,84,172,117,
-101,178,233,52,184,186,186,11,61,151,128,147,1,78,135,151,165,77,235,67,
-157,224,8,43,228,158,128,201,180,95,163,183,247,94,227,124,227,161,4,206,
-67,19,223,161,81,112,83,190,241,166,203,141,30,58,190,31,84,83,204,238,
-193,196,143,242,108,141,102,99,0,0,1,0,73,68,65,84,192,117,9,164,142,180,
-25,19,130,8,47,6,182,86,161,136,104,208,26,168,106,59,209,115,104,42,213,
-208,195,100,87,80,193,7,24,206,24,209,90,136,86,123,188,245,172,234,235,
-27,41,233,68,240,189,165,114,147,82,83,207,69,40,213,155,117,85,210,50,
-106,36,134,238,86,242,169,205,17,13,94,133,46,153,66,55,113,35,162,153,
-177,208,133,166,198,81,220,108,214,9,96,230,44,58,128,82,67,81,21,187,57,
-149,202,121,13,234,60,30,124,0,180,28,204,253,217,191,255,161,81,112,83,
-107,122,112,52,29,144,67,199,63,56,219,108,199,55,218,182,67,79,155,162,
-237,38,79,208,26,84,73,85,173,69,153,102,254,159,84,222,186,230,54,149,
-52,166,66,107,212,172,235,178,133,16,180,212,145,192,38,62,143,183,176,
-197,216,17,113,144,25,9,120,131,112,76,187,212,166,217,183,213,111,134,
-210,49,200,107,73,34,90,86,149,23,120,169,189,85,55,7,225,110,144,100,81,
-99,23,100,8,72,152,211,224,230,116,186,192,133,209,146,202,141,110,16,223,
-101,66,154,69,174,43,177,98,134,107,242,159,246,0,0,1,0,73,68,65,84,69,
-34,124,51,105,122,49,239,222,66,172,59,10,127,248,170,111,104,173,111,118,
-211,110,110,173,15,108,63,60,219,236,217,23,113,215,246,30,159,226,220,
-9,158,19,193,132,112,198,132,84,176,65,42,129,48,225,218,92,198,226,86,
-109,209,38,179,143,212,201,220,5,213,90,215,89,97,134,183,155,102,207,70,
-227,27,74,170,147,251,29,68,25,107,93,150,168,36,213,164,150,90,137,187,
-66,29,177,76,147,196,212,0,128,140,229,174,89,231,41,115,143,117,156,108,
-103,187,148,194,233,34,69,177,99,124,187,128,147,230,150,112,60,220,43,
-111,89,186,45,22,135,52,218,52,160,161,152,182,255,65,83,112,192,186,31,
-28,4,55,181,190,55,219,253,224,241,229,144,194,23,26,186,252,229,219,155,
-247,31,169,221,150,170,107,1,141,233,193,55,111,243,214,83,148,81,164,48,
-36,2,84,184,82,24,107,105,41,215,132,86,86,36,186,136,212,150,2,213,48,
-111,145,122,187,17,25,190,225,13,219,106,168,240,54,154,93,33,110,156,135,
-168,168,136,10,44,50,246,156,46,145,97,90,236,128,33,212,183,139,146,66,
-0,0,1,0,73,68,65,84,27,181,50,6,100,9,217,184,149,124,61,22,155,29,124,
-54,246,89,106,120,109,198,181,13,173,81,194,147,94,23,32,105,111,135,177,
-246,57,106,41,126,246,33,244,176,255,158,252,188,185,140,215,63,186,242,
-45,211,108,119,205,236,36,179,140,144,201,219,150,25,216,104,92,94,68,19,
-81,183,235,204,138,131,181,142,166,17,124,85,227,139,7,73,194,107,17,21,
-154,93,158,41,113,44,106,81,85,253,70,6,96,79,190,245,173,149,187,129,251,
-88,43,90,168,68,86,17,163,213,76,171,208,55,2,102,128,187,27,44,138,35,
-178,9,145,37,52,189,70,100,2,121,155,75,45,221,157,158,74,123,66,30,173,
-66,103,164,95,168,172,193,38,200,141,9,133,80,230,234,62,237,31,73,224,
-251,100,191,21,252,249,115,25,15,233,123,188,141,106,80,102,189,17,247,
-30,159,173,127,250,86,240,156,72,156,212,55,77,136,2,21,156,84,197,149,
-200,187,71,131,31,21,186,20,3,127,67,108,189,227,124,162,157,219,117,114,
-199,188,181,151,121,162,246,64,113,74,113,65,84,220,20,6,87,122,1,16,165,
-249,33,150,0,0,1,0,73,68,65,84,165,16,23,128,231,0,49,209,172,141,161,250,
-14,122,6,64,167,163,172,43,188,227,50,70,100,115,71,121,171,238,231,171,
-94,166,3,149,41,218,182,225,135,146,237,129,67,46,227,65,151,235,134,106,
-125,99,208,114,208,101,60,120,158,65,134,160,253,198,140,33,186,34,34,218,
-76,198,100,173,73,193,126,171,236,123,113,195,44,122,194,182,5,109,75,187,
-108,198,17,128,230,31,78,170,141,26,239,188,161,165,6,26,182,142,179,122,
-109,147,144,107,100,244,145,20,133,0,80,234,66,143,6,110,108,68,230,104,
-128,65,32,10,16,174,240,12,247,140,141,59,220,25,100,128,0,209,151,62,59,
-156,209,94,66,50,148,146,205,205,225,146,203,109,41,247,156,21,205,120,
-222,90,97,164,62,118,139,37,178,131,75,44,139,50,160,204,16,77,201,155,
-183,76,100,151,221,17,3,0,158,61,199,247,98,219,21,39,108,246,144,234,54,
-224,166,78,227,93,85,253,232,129,175,29,71,82,76,232,148,92,42,51,92,232,
-114,145,55,170,73,165,103,225,176,71,138,137,250,232,204,102,2,118,218,
-193,124,28,191,55,225,105,0,0,1,0,73,68,65,84,178,146,125,191,200,18,76,
-161,144,10,106,89,163,23,164,166,18,238,134,148,237,49,0,82,71,208,69,189,
-120,143,116,186,113,36,21,44,61,70,196,5,38,52,184,193,199,204,148,146,
-106,82,37,165,44,141,43,116,169,125,204,196,93,72,70,11,130,215,232,249,
-93,90,235,93,182,177,205,95,117,109,121,210,219,234,71,97,21,60,224,182,
-215,54,203,112,64,139,98,59,80,108,54,29,78,79,115,158,110,134,174,167,
-127,102,208,49,172,63,208,160,198,20,151,228,214,17,166,232,206,92,171,
-183,190,97,231,226,234,172,222,172,207,182,229,59,64,20,70,23,217,119,47,
-162,81,198,98,132,67,28,22,45,154,165,19,141,22,204,136,129,24,203,138,
-195,146,106,169,14,16,137,20,120,161,136,32,31,224,167,209,182,115,123,
-35,102,111,3,152,3,140,248,171,62,136,74,121,52,175,189,253,246,233,207,
-173,88,228,235,53,246,206,106,25,201,29,202,40,80,72,185,89,113,5,147,39,
-7,79,18,24,64,196,99,61,96,115,55,192,51,25,5,231,116,49,207,52,49,88,228,
-138,236,37,248,88,172,123,86,93,155,0,0,1,0,73,68,65,84,227,174,86,70,30,
-236,164,212,211,71,243,94,237,101,11,66,108,231,157,240,144,245,245,124,
-117,110,7,192,3,106,125,40,170,247,85,11,153,162,182,155,32,10,165,74,55,
-38,237,204,138,37,17,165,38,21,144,78,131,68,207,84,165,56,141,37,25,201,
-75,6,223,85,126,186,209,121,19,133,215,42,26,103,25,81,152,185,146,241,
-17,15,219,80,218,208,109,251,138,197,97,109,38,106,166,206,45,164,116,157,
-153,216,83,70,112,91,251,77,84,205,46,35,87,68,68,2,254,78,181,136,82,48,
-52,160,165,73,190,195,163,187,21,43,104,160,155,91,69,233,70,183,200,98,
-5,208,208,120,123,193,54,141,55,197,141,217,146,81,7,92,170,131,43,65,2,
-47,13,41,102,1,226,242,169,201,183,154,255,211,212,122,39,103,112,66,48,
-229,226,119,247,223,149,155,198,93,238,76,182,230,236,146,37,60,58,51,124,
-244,156,13,16,118,74,23,73,20,17,11,156,65,41,58,71,17,2,238,34,251,249,
-105,84,134,100,222,12,4,53,63,187,117,14,41,234,78,214,102,162,68,224,140,
-210,19,6,45,77,163,172,160,0,0,1,0,73,68,65,84,44,221,236,123,89,217,28,
-152,84,249,141,65,246,157,245,9,145,130,246,155,86,197,5,9,33,238,110,200,
-20,228,186,2,142,211,189,104,29,89,2,228,129,179,157,172,9,79,101,190,51,
-210,220,167,210,243,185,114,121,177,166,238,13,92,84,194,142,148,56,16,
-106,118,85,125,172,197,106,78,212,30,0,143,48,205,92,189,27,201,37,19,141,
-16,195,32,92,221,232,6,141,221,95,7,93,177,235,58,24,124,149,66,53,27,225,
-14,72,73,114,31,109,220,184,100,228,204,40,4,229,6,210,67,122,129,66,18,
-85,85,33,78,3,92,53,150,49,118,30,224,167,201,84,136,237,194,144,84,231,
-18,42,96,240,214,202,210,48,132,160,48,1,20,87,150,238,122,18,13,246,68,
-44,146,172,101,138,199,212,150,78,197,117,69,139,214,236,34,131,43,114,
-119,13,21,118,176,53,25,214,186,149,16,57,224,2,152,18,180,88,25,187,210,
-209,4,173,204,72,94,255,179,58,154,171,181,46,187,78,16,1,245,179,104,172,
-213,204,100,51,10,214,167,255,138,234,123,35,242,230,118,153,32,243,140,
-216,154,83,235,4,54,0,0,1,0,73,68,65,84,146,79,50,4,237,0,68,27,42,179,
-224,236,156,49,199,33,230,228,235,18,138,48,130,187,129,98,29,158,97,163,
-249,74,224,20,167,153,143,128,111,204,123,233,58,241,133,104,159,132,234,
-52,16,170,164,194,220,252,0,19,178,215,90,87,179,214,218,16,180,164,39,
-41,238,34,234,96,41,56,68,32,149,206,155,113,212,190,101,173,27,204,198,
-54,238,219,35,119,87,70,176,123,59,139,72,93,5,189,98,225,208,57,135,36,
-184,59,204,204,220,115,32,108,135,187,171,195,196,3,91,11,61,7,182,158,
-172,232,182,213,206,17,142,193,54,240,46,188,53,102,73,125,53,172,8,157,
-249,137,51,101,164,110,57,138,245,13,153,133,123,188,190,2,160,202,246,
-103,57,122,121,49,238,189,31,119,126,131,223,80,84,83,174,109,21,40,226,
-140,48,174,112,72,177,60,236,152,243,102,179,30,144,173,135,47,196,7,227,
-17,152,9,33,19,84,18,8,120,46,174,210,62,126,154,141,165,174,120,3,104,
-125,112,68,98,48,212,46,238,101,225,142,2,66,208,28,80,155,131,235,144,
-230,105,78,127,179,82,140,182,210,1,0,0,1,0,73,68,65,84,134,175,179,214,
-243,63,56,51,65,111,195,144,148,177,24,186,93,150,63,15,199,35,160,85,240,
-216,18,33,62,6,50,40,100,95,168,53,205,5,145,196,231,32,164,177,114,184,
-10,126,183,52,102,26,158,140,30,59,216,178,167,152,48,241,108,120,212,56,
-241,206,33,102,160,98,10,220,52,245,85,157,169,251,76,231,15,245,229,56,
-196,43,127,213,18,29,107,225,10,119,154,10,157,84,192,232,93,98,79,170,
-249,198,198,33,143,78,51,186,141,99,38,20,78,23,83,11,18,142,217,188,91,
-180,116,142,29,126,122,246,123,70,131,160,145,35,243,63,27,128,216,138,
-237,150,247,235,39,209,48,245,36,60,248,199,94,73,203,229,114,189,94,47,
-22,11,0,36,115,206,173,217,228,141,132,57,131,4,163,237,135,136,119,201,
-123,51,27,36,187,195,99,224,138,211,37,84,100,99,206,8,21,144,128,11,18,
-8,119,223,96,168,23,27,8,140,10,115,151,209,170,75,87,164,36,228,136,133,
-111,224,147,218,7,56,161,22,213,103,36,87,85,239,208,55,168,48,165,168,
-52,1,32,123,13,223,112,75,138,147,109,69,0,0,1,0,73,68,65,84,255,231,169,
-40,62,123,20,193,108,4,249,56,163,170,220,39,70,101,58,25,56,68,109,151,
-64,140,47,105,69,86,243,237,5,202,76,10,209,134,221,77,141,126,206,3,224,
-170,132,107,116,13,81,145,174,211,141,94,14,23,195,119,159,254,202,223,
-251,193,175,51,167,159,61,251,187,191,123,246,183,207,63,127,182,126,120,
-170,34,73,212,97,182,114,174,185,88,46,150,233,232,124,56,61,57,57,233,
-83,111,217,8,46,250,5,201,205,102,128,229,234,70,9,85,201,84,185,145,161,
-152,215,64,224,162,160,146,146,87,57,220,77,64,220,125,244,28,49,242,227,
-241,81,47,125,39,11,17,201,150,221,93,69,85,147,33,207,20,126,50,99,83,
-13,251,62,146,227,46,27,1,95,221,82,99,75,168,36,73,161,176,75,126,186,
-111,125,42,52,92,41,97,25,205,1,150,53,97,157,174,91,211,184,207,180,216,
-246,110,55,114,210,44,76,106,111,174,211,6,78,239,239,238,87,143,84,212,
-122,139,231,142,65,199,45,189,157,125,108,27,37,149,127,172,5,255,231,8,
-126,54,163,238,34,251,217,228,219,220,25,105,79,0,0,1,0,73,68,65,84,124,
-38,28,238,210,116,80,124,102,43,171,247,85,74,5,37,74,198,181,239,150,79,
-31,63,117,29,79,30,29,189,200,157,153,173,207,178,35,83,97,25,217,60,117,
-186,120,184,164,169,103,210,21,96,30,93,132,73,58,148,22,145,165,190,128,
-112,184,121,179,223,37,172,66,55,175,121,109,58,237,88,27,231,50,240,122,
-105,20,181,173,166,51,174,123,190,241,122,217,109,4,124,179,91,182,43,243,
-179,169,244,14,132,209,18,132,14,4,109,1,143,126,170,165,113,117,253,33,
-224,174,146,28,14,143,54,215,209,94,82,194,172,237,69,31,94,242,188,119,
-183,11,231,52,222,164,52,226,221,124,231,166,132,133,81,1,118,222,41,169,
-128,87,176,207,212,31,194,183,38,10,155,86,185,217,26,85,86,243,191,119,
-135,13,174,238,238,240,41,87,164,210,180,117,170,190,33,152,113,38,52,143,
-154,34,2,85,152,160,239,123,139,213,114,13,73,245,225,131,71,253,81,122,
-146,31,167,103,233,139,47,95,156,93,158,34,49,45,101,140,12,29,104,90,113,
-181,26,82,242,174,239,146,202,152,173,235,180,221,160,139,183,0,0,1,0,73,
-68,65,84,95,44,220,55,213,41,12,61,46,115,151,34,209,41,84,90,109,148,0,
-0,80,42,64,24,221,0,11,151,54,169,106,146,78,83,52,109,138,125,189,222,
-173,233,70,112,203,111,188,110,120,223,229,106,4,115,97,83,108,136,187,
-131,145,111,29,124,130,56,92,168,197,199,130,135,187,88,60,203,90,214,229,
-211,143,35,150,68,154,77,195,53,161,20,177,14,199,158,237,5,166,205,172,
-174,183,163,213,221,57,87,166,173,84,167,6,45,204,107,152,190,17,136,8,
-36,104,211,55,98,219,200,110,239,25,99,130,180,134,124,38,60,179,109,185,
-227,117,69,155,134,246,72,103,15,229,166,205,199,32,90,86,48,1,92,168,130,
-36,240,4,61,90,140,163,195,177,94,173,117,236,68,176,232,23,154,248,241,
-163,239,119,195,209,194,95,162,183,172,195,249,112,58,140,3,29,174,41,231,
-145,29,122,38,152,14,54,250,104,218,0,182,132,221,37,69,130,37,82,84,34,
-15,66,215,210,220,172,78,113,110,238,25,112,38,161,80,85,186,174,75,162,
-74,217,194,230,97,205,234,168,168,250,252,38,46,99,235,78,150,251,3,0,0,
-1,0,73,68,65,84,184,231,181,109,251,45,53,251,74,148,49,40,62,53,150,122,
-92,208,65,99,137,143,152,215,137,40,252,174,26,112,105,84,92,49,213,160,
-195,0,111,236,250,164,151,12,245,224,129,237,91,167,51,71,192,190,79,153,
-10,111,93,206,106,218,169,170,105,3,31,21,19,215,225,212,212,183,18,218,
-117,86,153,194,70,0,220,105,147,125,158,127,106,114,114,183,232,168,8,39,
-181,179,111,255,234,77,159,14,5,110,161,217,101,1,76,37,194,130,38,115,
-247,245,229,154,162,93,74,29,85,40,31,61,252,86,143,163,167,15,63,176,52,
-156,174,95,249,75,158,111,206,72,101,215,51,11,61,33,117,166,24,7,100,29,
-97,195,162,23,146,168,173,19,168,97,111,33,150,80,152,16,145,200,177,118,
-1,74,236,55,172,117,116,216,85,164,196,46,244,176,218,153,2,188,188,37,
-221,215,89,171,112,218,175,141,50,222,94,143,247,220,193,250,93,205,233,
-45,71,119,175,116,174,120,121,192,17,158,152,16,72,185,28,151,192,214,37,
-134,2,159,212,162,170,91,101,50,226,139,154,149,223,221,78,206,21,113,23,
-207,1,219,0,0,1,0,73,68,65,84,230,192,85,37,141,221,27,8,169,193,220,102,
-221,203,222,87,190,215,203,5,54,53,157,29,159,40,137,183,109,83,53,207,
-177,198,248,124,207,9,230,160,158,203,204,29,152,172,132,215,188,174,72,
-254,185,97,156,129,222,57,50,144,163,243,108,85,107,207,112,81,161,115,
-28,199,141,13,236,169,29,157,190,206,155,142,221,227,227,199,232,124,209,
-45,18,116,61,174,36,241,239,62,251,41,136,110,1,31,54,210,137,11,83,175,
-54,112,200,148,48,199,73,144,138,2,147,52,45,246,38,46,91,42,130,136,146,
-219,232,219,47,72,42,93,210,46,105,23,73,7,51,220,198,122,75,170,82,115,
-139,189,190,94,182,176,53,222,6,132,92,137,252,144,20,74,155,247,195,24,
-70,135,16,167,183,76,142,233,199,1,186,86,62,219,75,223,246,72,217,138,
-165,139,175,56,116,128,248,254,237,140,8,207,22,64,0,208,134,1,182,238,
-33,220,197,247,237,30,216,122,15,230,174,216,122,23,117,219,180,106,194,
-22,197,110,45,186,185,181,187,55,31,115,155,15,129,75,213,241,237,95,135,
-114,78,14,137,32,196,2,24,69,0,0,1,0,73,68,65,84,205,74,237,233,116,149,
-232,185,108,170,20,19,56,108,180,204,156,215,204,24,206,87,47,83,167,93,
-159,132,60,210,163,229,147,111,130,78,225,197,217,74,146,24,108,51,174,
-7,179,110,145,232,154,7,23,170,11,161,2,163,103,184,162,172,44,218,101,
-214,117,96,64,58,40,21,69,176,52,199,73,73,186,62,245,93,234,251,212,79,
-247,194,39,87,162,157,247,150,123,241,90,91,253,85,244,9,153,159,74,33,
-166,42,233,16,40,169,224,165,171,131,142,64,88,113,186,131,94,64,119,40,
-78,109,25,113,69,247,220,247,111,231,220,52,206,244,158,142,221,93,99,71,
-105,234,62,29,12,8,158,101,91,239,166,89,18,115,221,45,86,248,202,65,202,
-156,49,127,103,62,108,204,102,149,222,179,237,82,102,131,41,134,89,253,
-190,235,239,251,238,77,101,148,12,70,87,253,82,138,36,2,122,64,89,129,33,
-231,60,130,20,27,108,147,210,66,132,102,57,175,77,85,22,203,133,170,152,
-229,223,254,141,127,224,244,211,139,87,159,189,248,236,124,117,6,199,56,
-216,152,135,116,116,132,88,86,46,66,40,229,230,55,0,0,1,0,73,68,65,84,152,
-22,41,154,16,100,130,22,41,50,52,41,221,25,40,165,205,170,168,104,210,164,
-154,146,118,170,9,181,141,76,185,187,211,5,108,93,205,27,94,117,82,213,
-185,157,46,115,196,109,116,93,28,94,210,202,1,129,136,117,54,114,240,243,
-208,190,18,188,166,130,137,0,108,53,27,152,108,233,167,240,49,166,158,162,
-7,17,252,163,15,185,186,79,219,223,234,98,219,234,89,94,100,100,52,135,
-173,1,218,120,167,133,88,234,192,247,153,75,90,142,214,94,99,122,193,230,
-207,57,180,85,223,108,99,229,60,119,96,103,40,127,43,33,171,125,15,224,
-106,87,134,153,151,29,136,246,117,179,213,24,108,126,153,179,144,253,52,
-119,207,159,222,144,87,36,85,20,72,200,128,100,106,22,88,231,146,59,25,
-86,121,133,97,185,88,140,134,97,51,144,190,217,92,4,61,161,170,93,215,187,
-229,174,147,148,250,205,233,229,241,241,241,251,203,143,30,124,248,72,147,
-118,125,119,122,246,234,211,207,62,179,225,60,38,91,163,35,105,234,53,117,
-73,84,53,247,85,43,196,152,168,74,73,164,140,227,186,225,238,125,91,0,0,
-1,0,73,68,65,84,75,170,41,45,251,229,178,63,234,180,83,10,179,229,154,89,
-89,174,169,130,216,168,233,158,223,157,162,6,50,145,214,225,22,206,169,
-188,187,236,111,125,85,2,69,1,179,252,161,250,213,100,203,72,172,198,60,
-194,28,86,11,97,42,108,169,71,218,255,21,211,148,21,254,94,85,42,238,16,
-65,245,227,172,65,242,201,53,44,119,205,38,4,192,54,28,32,82,195,61,219,
-55,125,58,129,185,203,56,223,113,231,143,3,219,15,241,235,179,148,44,84,
-59,93,175,108,66,219,211,254,156,95,231,236,244,212,11,26,140,168,185,75,
-160,42,78,101,130,64,180,112,142,155,22,236,84,206,241,104,134,240,226,
-114,214,116,84,202,77,250,174,79,93,234,151,189,168,168,170,167,77,206,
-227,48,14,235,97,61,140,195,152,199,213,56,58,134,78,70,81,77,169,239,2,
-231,66,224,48,183,71,15,31,39,77,125,215,47,210,162,75,125,105,146,237,
-204,165,253,254,21,112,113,107,222,122,207,109,191,11,169,204,181,120,1,
-203,245,141,176,146,46,147,202,205,102,97,9,76,92,230,35,111,56,74,175,
-191,221,69,28,162,0,0,1,0,73,68,65,84,18,175,156,200,142,146,181,227,214,
-63,167,158,69,219,214,113,22,212,217,54,168,53,161,116,78,79,207,249,212,
-29,157,140,228,0,236,71,58,123,182,31,226,215,167,175,154,190,49,196,246,
-238,47,53,186,21,120,173,12,6,7,52,82,166,133,142,104,38,78,201,6,9,253,
-22,165,184,75,96,39,153,29,195,61,231,236,14,51,143,192,243,178,95,172,
-47,215,146,36,117,106,217,135,205,160,170,79,158,60,133,152,89,206,150,
-135,60,140,121,24,242,152,45,187,219,229,197,121,215,117,139,197,209,98,
-177,232,186,69,241,178,220,31,63,124,40,148,164,169,52,106,116,184,181,
-100,244,109,180,186,51,61,223,136,183,222,9,149,223,25,111,61,177,32,181,
-111,147,207,93,168,106,36,183,63,132,88,58,61,118,136,10,153,186,96,193,
-161,116,229,217,243,222,50,135,51,252,177,61,185,211,235,234,172,109,83,
-76,245,51,245,140,143,134,21,175,230,127,226,167,15,143,153,242,117,51,
-24,210,120,244,118,192,157,237,135,248,245,173,227,115,126,1,147,6,180,
-247,189,157,39,38,53,40,223,88,147,49,211,158,95,136,0,0,1,0,73,68,65,84,
-128,74,254,10,8,55,117,168,171,32,82,70,8,184,69,130,67,118,119,119,51,
-115,247,28,175,68,36,109,52,91,78,93,2,250,156,45,175,198,174,239,142,143,
-143,243,0,74,234,180,95,244,39,162,37,219,220,233,175,94,190,72,93,90,244,
-139,190,95,164,148,200,82,54,146,180,52,164,132,211,220,205,204,178,205,
-241,131,3,82,82,196,11,227,119,27,222,90,85,239,134,9,169,40,167,157,98,
-225,173,169,238,30,60,128,249,148,139,87,8,157,217,3,138,215,34,90,192,
-74,213,254,173,212,152,189,82,199,248,92,31,88,8,181,171,234,146,183,192,
-64,123,217,172,236,20,94,129,7,102,157,27,228,73,251,185,125,132,109,27,
-62,59,153,214,78,109,239,246,157,39,52,105,255,44,7,119,251,219,107,118,
-80,220,175,250,121,111,94,66,61,171,24,125,69,69,188,29,41,212,197,77,9,
-53,77,84,135,148,213,78,132,144,148,146,187,229,76,43,205,1,138,142,219,
-104,102,230,226,2,129,123,222,100,58,115,151,243,8,209,178,40,57,161,113,
-11,8,127,242,224,189,112,12,133,20,47,169,27,206,50,129,0,0,1,0,73,68,65,
-84,170,32,80,150,0,130,149,246,93,230,110,230,158,52,97,235,254,85,107,
-125,59,222,250,14,243,173,119,164,168,181,36,103,180,84,32,73,171,101,162,
-108,9,162,37,41,174,114,59,197,172,184,151,48,91,161,177,121,160,150,85,
-169,205,242,97,166,52,219,124,227,228,219,153,181,84,105,184,79,175,155,
-23,176,99,77,225,62,85,208,212,67,77,247,126,102,197,131,176,46,104,0,187,
-60,250,132,26,182,183,31,226,215,75,27,154,29,52,2,20,16,130,122,184,250,
-2,17,78,98,155,20,107,80,171,108,102,225,82,232,209,128,200,132,208,0,33,
-51,181,142,133,214,188,104,209,60,66,183,94,111,226,207,97,51,80,104,230,
-121,204,155,245,70,60,153,5,191,228,48,135,22,44,184,92,44,220,221,179,
-229,209,114,116,122,142,118,4,57,149,219,27,44,23,235,195,42,86,181,222,
-221,162,197,68,157,115,110,204,91,183,103,252,250,221,111,34,113,26,125,
-234,204,221,114,206,52,203,217,188,164,129,148,165,25,195,137,46,191,230,
-243,57,154,57,44,54,230,80,211,162,234,236,20,99,217,24,7,26,59,99,184,
-0,0,1,0,73,68,65,84,206,148,116,246,66,36,205,173,241,181,234,18,95,176,
-125,132,105,126,225,214,17,218,47,217,207,163,239,204,76,109,251,33,126,
-125,118,18,59,232,189,229,162,108,125,53,84,154,133,168,86,22,128,83,4,
-240,54,233,180,238,19,89,224,226,34,21,91,71,187,14,138,184,152,129,244,
-104,82,74,34,50,163,60,59,136,60,230,203,139,85,1,27,238,151,23,171,133,
-246,20,186,169,152,120,82,113,137,242,213,188,241,90,115,237,36,60,90,192,
-56,49,198,205,139,111,133,211,124,166,166,149,200,221,193,12,196,77,121,
-235,107,223,189,3,17,77,226,102,32,35,117,213,172,102,130,160,77,112,226,
-102,148,66,82,109,205,248,109,74,62,220,252,168,241,217,53,200,29,191,216,
-62,199,58,61,196,248,152,15,227,242,81,84,254,177,29,112,194,19,83,14,198,
-150,173,45,213,105,19,144,157,251,110,216,209,185,29,8,178,181,253,16,191,
-62,231,86,118,183,79,74,63,115,25,68,124,118,87,189,90,110,105,147,98,252,
-23,121,193,0,205,119,152,144,248,223,103,55,181,129,73,146,125,223,131,
-8,3,99,191,171,230,0,0,1,0,73,68,65,84,229,206,212,39,56,198,113,236,168,
-112,152,103,102,112,40,235,215,145,24,21,100,237,45,169,165,143,0,13,204,
-138,50,25,70,26,91,36,73,180,162,184,201,69,8,192,177,253,224,223,20,33,
-167,148,82,76,46,93,215,161,174,203,248,134,31,190,42,59,208,156,44,196,
-77,81,40,37,107,49,78,241,32,174,200,48,12,94,148,71,189,86,22,0,216,96,
-141,153,39,26,15,132,96,222,172,68,85,163,22,216,34,37,76,85,101,176,77,
-157,148,183,176,237,84,143,48,247,180,201,157,142,163,51,112,82,177,245,
-220,181,11,187,134,217,129,39,162,173,162,152,216,60,225,217,201,82,99,
-174,147,245,128,211,183,184,35,162,152,251,248,117,178,37,214,206,6,139,
-187,195,136,82,179,49,251,46,120,150,162,34,2,23,15,168,224,112,29,46,165,
-19,64,199,145,200,76,157,168,40,140,52,74,128,224,186,80,86,220,138,1,155,
-48,220,209,14,55,212,84,192,117,30,72,138,139,186,8,68,33,116,33,57,248,
-58,18,40,68,68,114,105,76,73,130,186,42,94,172,83,74,1,152,176,16,142,241,
-83,119,6,208,82,0,0,1,0,73,68,65,84,41,45,135,59,68,230,137,170,190,117,
-115,15,203,110,148,241,206,57,236,29,158,124,78,158,163,78,150,87,165,189,
-133,250,252,164,4,165,27,194,106,38,85,106,82,111,177,112,49,221,54,186,
-51,114,37,57,215,178,253,231,121,232,157,168,137,156,140,126,3,55,229,68,
-182,249,242,67,219,235,73,99,58,218,204,187,156,222,110,179,132,28,226,
-215,125,119,127,160,82,29,179,175,175,64,169,13,131,216,193,204,93,28,112,
-21,53,137,54,34,109,201,34,33,35,122,82,224,236,76,173,217,106,13,67,83,
-227,55,128,218,85,47,62,0,115,135,25,162,147,134,51,78,164,230,163,181,
-87,108,103,140,25,89,51,121,134,21,77,207,108,247,149,23,215,202,46,193,
-87,238,243,29,228,94,215,211,136,88,81,85,229,157,35,95,85,229,128,116,
-87,37,121,55,3,176,115,80,25,57,233,21,79,4,90,207,19,216,192,28,154,93,
-3,202,14,168,117,160,213,105,40,53,23,176,117,215,217,229,203,177,119,251,
-44,204,216,142,22,230,119,7,116,85,171,47,19,210,168,135,113,148,50,130,
-25,254,174,175,127,4,51,142,0,0,1,0,73,68,65,84,109,26,215,62,63,84,53,
-3,197,5,22,184,185,193,161,41,9,0,87,241,164,145,197,111,194,44,70,101,
-228,101,89,85,235,152,0,116,122,154,53,223,159,113,158,13,48,196,237,9,
-223,66,60,92,121,70,14,153,215,246,8,210,148,184,166,86,76,168,185,89,235,
-250,26,104,166,186,113,124,109,96,92,135,174,119,251,91,127,21,214,122,
-254,122,103,234,108,186,142,102,149,103,106,29,220,105,72,135,110,238,13,
-121,117,142,90,159,128,166,83,158,97,85,135,216,254,139,239,7,136,253,13,
-36,228,64,195,223,6,82,167,63,227,197,52,12,182,248,242,67,175,177,127,
-127,76,4,121,27,0,77,155,118,128,52,234,69,206,82,103,39,130,144,147,253,
-118,0,220,50,234,156,26,65,196,65,93,37,153,0,34,162,170,177,66,23,164,
-164,68,187,204,173,117,209,63,153,112,54,89,128,74,160,241,166,134,21,28,
-78,8,110,235,86,86,235,204,157,189,155,130,3,117,132,20,13,110,234,200,
-217,79,69,100,215,73,218,65,210,119,174,214,135,14,219,116,122,47,10,10,
-157,102,44,173,235,238,238,173,14,168,33,0,0,1,0,73,68,65,84,11,89,20,119,
-200,202,127,85,181,217,198,69,177,128,62,205,123,165,209,106,181,0,62,5,
-195,175,156,225,129,233,45,244,198,183,212,11,64,93,215,122,66,67,245,13,
-236,223,14,94,177,178,211,110,152,189,213,88,29,219,63,66,118,96,38,16,
-236,134,180,17,208,24,250,217,104,105,136,191,120,143,112,97,2,129,130,
-148,75,71,61,208,157,145,73,94,65,130,23,139,41,205,44,71,207,147,185,246,
-34,20,61,172,184,4,132,110,245,125,219,206,208,244,15,183,116,123,114,79,
-119,62,83,81,9,43,114,217,199,148,92,145,61,171,17,124,165,50,255,58,84,
-251,221,46,201,103,176,187,18,76,197,156,71,74,150,187,155,152,155,155,
-68,100,7,142,100,209,234,172,176,30,17,60,240,82,237,210,30,47,102,48,244,
-218,19,187,178,125,190,122,193,76,179,233,123,249,114,0,7,120,244,89,224,
-102,174,202,77,227,26,44,1,16,141,43,219,137,239,240,235,115,130,177,30,
-213,56,179,225,156,6,130,85,63,99,87,173,53,149,206,10,162,181,85,13,9,
-113,138,69,235,102,107,238,6,201,210,233,80,172,205,0,0,1,0,73,68,65,84,
-88,162,61,169,9,219,136,207,93,201,10,79,104,180,202,13,202,12,182,180,
-207,53,163,92,117,189,29,120,166,215,117,170,153,140,244,117,143,106,38,
-119,186,46,227,62,241,173,41,119,250,10,110,159,100,211,114,204,158,220,
-28,159,168,232,4,78,232,238,165,123,142,80,204,114,206,22,70,217,29,22,
-127,79,23,178,13,198,15,181,120,60,16,157,47,53,151,104,46,227,164,126,
-251,249,114,199,222,237,152,200,179,18,39,41,71,172,78,229,142,210,11,183,
-162,157,59,190,238,246,24,155,180,28,91,219,1,128,82,154,142,53,250,79,
-194,6,168,155,59,140,2,77,166,201,84,76,97,116,151,214,179,35,62,18,202,
-167,174,59,207,174,252,78,241,126,209,225,9,20,151,191,218,146,184,165,
-106,166,25,223,55,197,214,21,164,205,209,200,107,101,203,90,79,55,230,238,
-44,247,92,95,231,7,223,139,61,230,59,180,115,40,198,27,82,224,134,71,179,
-62,6,216,72,218,101,19,210,224,197,61,177,156,9,102,76,120,221,203,147,
-158,155,209,93,57,68,132,80,106,213,105,81,231,45,3,130,131,24,134,45,179,
-0,0,1,0,73,68,65,84,124,249,149,237,245,8,117,133,17,15,5,159,30,181,55,
-45,119,250,52,204,252,42,191,94,191,162,156,9,130,197,172,48,202,39,85,
-64,16,100,213,92,215,27,72,15,190,88,220,149,226,117,93,80,8,73,115,65,
-101,66,226,246,133,54,170,107,83,168,185,90,207,155,221,181,17,234,147,
-90,239,194,144,105,182,155,225,62,78,255,55,136,49,87,224,25,107,210,62,
-112,45,184,78,139,197,98,179,217,244,125,31,179,124,232,211,29,70,212,111,
-113,168,29,115,30,82,18,23,89,112,92,219,62,142,163,195,69,209,102,101,
-21,209,78,204,38,235,62,151,56,206,85,171,179,26,199,230,95,146,237,37,
-198,33,151,115,42,126,83,177,39,25,155,173,71,211,108,75,73,164,109,219,
-235,121,150,110,79,219,24,158,144,22,53,228,252,161,149,212,9,96,98,178,
-43,158,178,66,197,135,6,84,68,114,104,237,152,112,64,226,56,172,35,0,192,
-218,214,208,40,211,48,119,154,169,64,136,46,22,126,163,184,148,192,89,25,
-147,94,50,201,231,120,215,1,64,235,253,105,200,24,0,104,28,1,66,204,236,
-155,190,130,0,0,1,0,73,68,65,84,69,92,156,140,238,212,52,90,29,41,136,186,
-94,176,206,96,5,133,8,40,18,171,220,151,238,73,94,82,131,106,183,36,250,
-86,190,245,85,109,249,234,170,99,238,88,14,157,231,213,224,255,252,197,
-142,180,253,27,182,105,191,91,148,171,154,156,98,225,234,223,117,218,108,
-231,51,51,32,109,26,5,102,141,22,118,206,243,208,228,121,32,180,192,137,
-122,118,76,125,10,194,131,155,131,162,185,5,60,32,251,246,23,17,192,235,
-138,116,181,141,175,139,132,219,232,102,40,13,91,234,65,106,147,49,78,58,
-60,187,17,51,176,92,255,102,195,202,205,72,52,213,157,24,142,233,114,11,
-220,185,238,58,218,239,215,152,235,253,188,245,207,161,28,58,201,54,9,238,
-168,117,3,48,59,106,205,234,131,122,248,150,181,237,134,74,48,66,19,75,
-17,255,147,179,70,186,19,127,13,78,117,122,229,81,99,154,76,247,136,243,
-64,103,218,67,203,68,238,206,233,97,179,9,6,12,107,147,211,14,176,190,242,
-189,216,191,127,146,4,56,213,233,13,135,80,156,10,113,135,149,161,228,237,
-174,54,176,52,219,19,29,52,0,0,1,0,73,68,65,84,131,191,172,23,208,54,52,
-143,176,118,218,107,13,129,155,107,40,147,102,111,129,147,249,52,176,125,
-31,80,7,74,85,233,215,171,235,255,239,173,245,222,61,221,219,170,187,147,
-211,185,163,214,145,70,220,8,68,10,39,235,93,106,68,234,220,23,82,227,32,
-209,15,176,216,30,134,1,156,30,199,110,161,114,149,67,101,16,118,0,212,
-215,34,139,153,135,81,116,103,63,143,126,72,14,241,238,202,4,26,74,9,56,
-99,13,103,56,232,132,187,120,201,25,240,105,50,105,23,89,20,116,235,153,
-92,49,214,145,5,200,194,145,20,237,174,198,26,5,123,79,134,123,26,53,219,
-99,212,167,89,2,187,26,127,141,36,85,253,170,201,144,119,44,215,131,141,
-185,63,234,149,55,68,244,224,155,229,9,213,127,225,149,40,156,255,55,221,
-110,22,8,192,74,121,28,242,37,14,37,140,251,1,181,86,76,148,95,217,173,
-184,148,94,29,215,57,227,113,80,185,107,20,102,119,127,45,142,161,85,11,
-90,134,115,73,27,177,150,128,62,113,42,115,116,129,201,102,203,21,100,77,
-180,130,190,166,217,213,158,107,73,226,0,0,1,0,73,68,65,84,42,83,230,166,
-189,233,248,150,197,7,155,251,59,169,243,108,40,189,30,120,237,54,84,248,
-5,147,249,16,141,215,129,58,184,29,239,4,192,60,81,96,213,180,135,98,115,
-123,115,64,1,47,75,31,77,166,188,188,58,216,117,233,192,230,67,237,220,
-189,250,81,45,197,170,206,192,205,238,98,135,203,59,112,156,214,200,97,
-107,127,45,189,58,10,139,18,222,25,65,196,34,51,149,116,153,91,235,73,167,
-230,42,70,223,114,219,154,181,150,56,219,109,176,81,135,253,46,104,153,
-14,113,229,62,205,29,23,206,255,184,78,246,151,17,248,59,9,205,220,72,14,
-141,186,217,20,189,245,226,208,7,219,187,59,154,173,162,91,38,189,129,107,
-104,13,110,22,236,18,59,160,102,240,109,65,156,185,143,181,115,158,7,159,
-198,254,237,237,225,151,51,169,225,28,41,3,109,151,71,63,36,193,159,92,
-221,95,41,16,115,100,119,23,70,106,37,233,165,185,156,179,52,27,159,29,
-185,205,78,147,89,6,8,90,115,25,231,234,93,214,117,109,160,122,215,198,
-215,247,166,215,237,101,179,212,115,15,125,105,137,71,63,0,0,1,0,73,68,
-65,84,122,108,120,173,195,120,199,93,157,190,62,185,170,172,135,134,193,
-78,155,250,57,230,46,102,38,126,181,201,191,186,78,226,230,238,86,107,242,
-80,143,83,192,74,85,232,131,195,239,192,115,224,129,48,208,44,167,163,232,
-100,40,57,121,128,71,63,124,111,246,238,175,82,51,175,97,165,120,197,99,
-17,35,196,32,134,183,225,93,238,220,85,215,144,179,40,230,14,8,169,73,178,
-205,182,183,157,230,250,57,183,197,7,175,129,123,254,124,141,198,166,29,
-133,8,95,234,174,22,148,185,67,121,243,177,119,197,157,217,146,166,196,
-59,251,28,82,199,224,197,65,198,154,245,20,159,239,63,131,38,229,207,218,
-24,96,247,156,125,28,128,137,54,105,198,196,42,207,49,17,103,0,136,169,
-43,206,246,99,180,214,137,100,246,46,128,168,55,58,124,63,234,235,118,62,
-3,81,32,72,69,161,112,184,229,22,139,137,244,254,105,22,138,4,221,153,81,
-197,255,215,222,21,54,185,170,194,208,132,90,231,253,255,159,187,219,202,
-251,16,18,66,32,78,109,119,247,86,154,51,115,119,188,104,21,245,16,195,
-195,170,69,165,0,0,1,0,73,68,65,84,73,0,0,26,174,94,125,96,106,65,25,1,
-210,101,236,108,228,202,97,68,229,193,0,123,57,136,18,114,167,111,1,207,
-158,69,98,80,174,39,5,255,45,47,237,77,91,143,51,224,233,226,122,117,1,
-177,8,187,189,148,234,69,242,89,244,139,81,198,11,160,78,80,217,159,197,
-109,222,94,51,118,15,71,67,17,145,217,40,252,193,125,8,26,255,95,190,42,
-216,222,69,123,99,122,63,168,115,55,23,225,139,55,183,131,160,118,214,45,
-219,93,125,216,186,13,38,84,152,192,39,249,65,120,186,184,64,155,106,216,
-81,96,36,33,86,185,237,80,95,48,91,66,218,6,240,194,52,110,23,211,121,105,
-110,120,168,100,102,11,227,138,252,150,40,46,66,90,81,38,123,141,128,197,
-42,27,238,162,60,13,91,12,13,155,149,127,146,107,59,198,198,226,98,243,
-51,129,33,231,248,38,59,252,226,200,243,115,193,123,100,125,57,182,249,
-5,189,43,111,252,19,46,225,46,41,141,1,231,29,69,168,40,195,206,233,90,
-213,77,26,86,104,92,236,220,151,39,32,98,2,90,240,4,183,13,18,226,42,73,
-159,15,0,0,1,0,73,68,65,84,70,171,59,39,228,25,106,179,98,54,64,101,35,
-244,252,173,245,170,255,52,173,117,119,18,64,83,189,246,34,145,191,29,168,
-109,181,186,171,67,252,94,180,53,10,59,253,8,180,85,134,206,120,75,97,71,
-235,84,20,179,172,244,66,204,37,204,152,149,2,71,180,118,187,146,30,221,
-199,197,155,83,158,48,103,4,220,114,78,9,183,4,137,86,73,196,148,100,216,
-15,43,156,220,123,84,215,169,244,77,14,221,89,8,1,128,170,130,148,3,149,
-149,86,2,137,106,31,181,206,182,133,31,112,66,160,125,55,159,73,238,163,
-119,205,223,105,148,237,225,1,208,105,128,138,238,68,115,25,194,92,229,
-23,240,233,235,215,242,152,211,178,165,13,51,230,148,112,203,101,9,129,
-156,32,167,50,41,21,53,185,50,64,28,80,245,37,12,127,107,114,129,177,225,
-36,41,49,173,149,169,46,15,71,239,0,155,124,32,125,140,151,157,144,176,
-214,251,144,238,160,233,190,152,46,121,175,180,112,23,51,171,255,53,222,
-56,123,219,18,193,180,93,210,6,7,243,197,189,114,254,232,99,78,36,61,87,
-223,60,177,46,27,0,0,1,0,73,68,65,84,154,186,136,80,84,141,92,150,34,75,
-66,95,232,60,14,215,55,233,173,117,150,206,68,235,91,243,51,173,155,93,
-133,155,199,190,175,109,140,231,78,8,138,123,144,199,66,99,210,250,93,253,
-227,230,239,33,103,172,2,139,90,25,50,230,196,115,93,54,221,75,159,214,
-174,176,225,233,226,158,125,71,4,154,115,154,132,103,10,49,34,98,201,20,
-207,82,85,18,187,83,101,21,104,54,215,12,63,203,114,49,219,181,26,168,56,
-173,127,214,108,140,120,125,88,9,89,215,149,210,125,100,84,213,220,98,200,
-79,221,154,215,213,246,203,229,186,77,5,110,55,157,135,93,107,183,92,237,
-112,102,218,144,224,191,57,127,206,223,67,163,119,223,54,177,148,141,213,
-220,16,242,5,96,1,26,208,85,86,124,191,235,229,63,0,234,68,128,155,94,121,
-10,11,229,1,0,146,214,215,123,110,75,244,189,140,26,98,110,73,182,7,231,
-141,11,113,37,95,160,156,239,25,197,249,52,25,124,179,194,77,141,82,195,
-58,119,142,111,123,114,160,219,76,9,82,86,21,66,233,211,101,66,248,50,167,
-117,119,172,116,55,206,0,0,1,0,73,68,65,84,113,148,33,106,50,96,161,54,
-74,101,95,21,65,59,99,94,171,51,176,227,125,185,42,110,246,63,135,162,91,
-215,14,193,212,166,250,13,225,5,116,123,153,220,108,88,249,220,25,29,147,
-52,33,89,167,46,38,183,113,81,200,47,18,59,204,211,237,243,10,79,216,243,
-90,252,11,208,20,45,27,28,249,111,25,138,67,15,92,213,3,237,158,231,208,
-132,99,34,202,248,123,56,106,44,134,2,162,102,182,17,88,16,56,172,175,148,
-66,168,81,70,4,142,1,33,199,129,148,48,76,102,87,132,228,234,83,215,9,153,
-122,239,214,186,205,165,80,78,215,154,104,22,2,173,233,110,126,104,203,
-14,60,176,6,139,164,219,219,74,7,254,41,134,65,123,173,183,24,90,51,113,
-69,35,44,234,74,233,74,170,200,102,57,154,134,101,138,10,199,189,216,106,
-38,219,104,8,104,237,185,33,183,26,61,132,138,143,66,40,48,180,182,244,
-22,151,93,53,18,125,169,167,124,235,136,50,254,13,60,123,225,125,30,141,
-158,104,180,169,94,20,71,22,37,68,17,167,191,155,132,123,132,107,141,53,
-47,36,149,141,219,146,0,0,1,0,73,68,65,84,3,242,64,64,248,38,164,230,137,
-75,16,53,107,171,247,82,93,97,0,232,104,61,240,173,209,41,111,93,146,215,
-172,107,208,250,173,33,244,213,27,230,0,217,228,248,78,22,35,142,88,166,
-228,20,57,156,130,43,25,96,163,41,39,132,156,204,66,214,30,58,223,26,60,
-107,45,127,26,107,157,61,186,59,190,181,82,66,244,57,221,9,63,247,241,235,
-243,91,7,246,241,180,215,103,123,110,50,221,0,150,16,38,71,158,203,162,
-215,25,235,95,40,43,170,139,32,210,156,24,10,161,33,43,73,68,9,204,218,
-84,99,245,212,59,69,219,41,135,97,249,160,24,180,142,120,12,203,186,174,
-223,223,223,52,185,53,109,220,239,247,55,204,183,254,88,60,24,137,224,197,
-178,232,200,162,235,65,213,197,105,71,253,123,133,255,74,88,156,26,69,245,
-133,170,81,111,55,110,53,83,64,85,230,206,97,41,85,158,1,64,18,22,77,188,
-69,234,137,40,237,5,165,2,89,90,21,55,25,19,196,53,209,92,15,131,117,25,
-163,215,56,19,118,116,241,157,242,161,67,47,229,154,100,251,57,27,94,175,
-88,91,184,0,0,1,0,73,68,65,84,155,60,90,126,20,86,224,123,229,92,129,55,
-132,247,225,221,120,210,38,130,137,98,18,140,224,59,228,73,95,184,67,238,
-39,182,159,67,205,224,11,78,159,26,71,95,159,54,180,195,183,191,211,85,
-245,174,53,44,31,10,56,143,151,63,122,63,45,38,156,39,36,240,8,116,66,178,
-102,149,49,115,59,246,46,183,121,231,208,57,54,175,24,233,31,112,66,94,
-249,125,224,77,112,84,23,151,95,13,157,233,161,145,54,78,139,241,179,77,
-180,232,31,114,26,116,78,72,24,233,15,135,225,113,159,73,209,151,244,182,
-124,199,99,209,138,199,19,229,135,16,249,214,147,99,255,61,246,121,84,189,
-197,213,142,74,223,137,236,185,62,188,250,95,43,33,151,203,133,132,234,
-156,243,178,44,183,219,77,86,65,15,76,143,158,70,238,240,133,150,247,189,
-61,30,154,237,157,43,154,195,60,103,248,193,211,26,212,149,200,34,119,47,
-48,13,82,63,79,8,4,197,3,39,199,96,237,152,125,111,41,48,55,230,240,63,
-147,241,164,231,184,171,192,135,99,49,233,234,65,235,15,199,28,4,72,17,
-142,133,92,163,113,0,0,0,166,73,68,65,84,9,204,135,212,251,214,16,93,198,
-192,201,145,214,117,189,223,239,57,103,74,185,166,244,220,48,225,129,23,
-129,14,254,230,234,231,88,189,46,16,56,4,171,91,7,2,19,32,153,79,67,132,
-99,2,19,32,45,203,130,188,70,4,204,162,239,4,62,28,99,37,36,16,56,53,172,
-110,29,214,58,48,1,102,94,66,55,240,177,88,174,215,235,215,215,215,186,
-174,192,163,145,99,12,65,224,247,240,83,212,218,63,207,88,9,9,4,78,141,
-65,78,72,36,166,6,206,142,241,48,130,64,224,212,136,124,235,192,132,136,
-177,140,129,9,49,206,9,9,138,7,78,141,136,50,6,38,68,136,30,129,9,17,195,
-5,2,19,226,127,88,68,206,162,106,244,2,253,0,0,0,0,73,69,78,68,174,66,96,
-130};
-
-static size_t xml_res_size_18 = 3129;
-static unsigned char xml_res_file_18[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,48,0,0,0,48,8,6,0,0,
-0,87,2,249,135,0,0,0,43,116,69,88,116,67,114,101,97,116,105,111,110,32,
-84,105,109,101,0,77,105,32,50,54,32,70,101,98,32,50,48,48,51,32,49,48,58,
-50,54,58,52,48,32,43,48,49,48,48,88,111,71,250,0,0,0,7,116,73,77,69,7,211,
-5,23,15,10,37,231,231,95,135,0,0,0,9,112,72,89,115,0,0,10,240,0,0,10,240,
-1,66,172,52,152,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,11,145,
-73,68,65,84,120,218,213,89,125,112,147,245,29,255,62,79,158,39,73,147,52,
-37,109,82,94,26,74,74,193,181,200,77,207,109,84,167,195,190,48,1,231,54,
-198,89,149,137,226,38,222,244,116,120,211,169,12,217,89,206,63,230,157,
-8,167,224,172,156,183,185,157,231,166,48,78,145,237,116,108,96,97,224,168,
-12,20,43,47,165,45,101,80,104,108,218,52,77,210,36,79,158,151,125,191,207,
-147,39,121,146,190,80,182,160,238,123,247,187,231,151,228,121,249,124,190,
-239,223,39,0,255,231,194,76,228,164,150,22,193,153,72,132,111,192,237,181,
-162,40,205,149,36,121,134,44,75,110,89,150,205,184,0,247,17,69,145,123,
-36,9,218,101,89,60,98,54,187,118,53,54,78,238,248,194,9,28,63,174,212,133,
-66,202,67,209,232,208,98,158,103,172,118,187,137,177,88,56,48,155,89,48,
-153,76,120,134,2,146,196,64,50,41,67,44,38,192,240,176,0,67,67,81,8,133,
-34,50,195,240,199,25,134,217,194,113,230,223,53,54,122,67,159,43,129,99,
-199,148,170,112,24,94,72,36,34,11,220,110,142,241,120,44,96,177,48,192,
-178,8,89,209,22,42,30,193,103,246,137,4,64,52,170,237,233,187,96,48,10,
-61,61,23,240,24,242,23,21,89,214,44,91,54,247,183,248,56,229,178,19,64,
-173,223,238,247,15,111,153,60,217,228,44,43,179,0,207,131,10,156,192,234,
-160,141,123,2,43,138,128,22,0,180,132,246,189,78,130,100,112,48,10,167,
-78,157,84,68,49,186,141,227,108,63,90,185,242,235,209,203,70,0,193,175,
-8,4,162,175,204,154,101,229,138,139,77,192,48,26,144,92,208,58,72,2,78,
-154,55,2,215,151,126,158,102,33,9,173,122,28,2,129,129,61,12,227,185,249,
-209,71,231,196,243,69,128,211,55,39,78,40,215,244,246,70,154,171,170,108,
-8,158,85,193,27,193,234,174,242,202,43,91,225,192,129,35,208,221,221,141,
-90,143,192,228,201,110,88,184,112,33,44,89,210,136,119,97,211,46,150,17,
-25,63,43,80,85,245,21,56,122,244,147,186,104,116,240,121,252,242,39,121,
-183,192,7,31,40,251,92,174,196,13,149,149,22,245,179,174,121,163,219,208,
-154,63,255,86,60,38,80,235,2,30,181,69,26,190,243,206,21,176,98,197,3,57,
-150,80,82,215,139,192,113,50,6,185,8,173,173,173,178,197,82,212,176,106,
-213,215,222,207,7,1,86,3,47,126,75,16,134,174,247,122,45,170,230,115,93,
-133,200,144,171,144,159,79,155,54,25,86,173,122,16,94,122,233,69,88,179,
-102,173,154,145,68,49,6,219,183,191,62,234,3,48,189,170,22,96,48,126,45,
-22,22,202,202,202,216,112,56,184,58,95,22,80,9,96,154,92,82,84,196,97,138,
-204,0,214,221,128,62,15,15,103,252,124,203,150,77,176,120,241,34,168,172,
-156,5,117,117,13,48,111,94,13,158,155,132,112,184,63,125,93,102,49,42,120,
-90,195,195,50,56,157,12,148,150,150,130,32,196,234,159,121,166,101,106,
-222,8,96,97,170,113,56,248,116,208,234,224,201,10,148,26,41,88,51,153,37,
-227,231,88,212,224,244,233,78,60,38,145,208,21,57,224,9,184,148,38,64,238,
-100,181,82,42,102,193,110,47,224,227,113,161,38,111,4,146,73,177,140,227,
-152,148,201,51,224,35,145,220,108,146,57,246,247,247,195,211,79,63,6,237,
-237,31,35,113,25,238,189,247,103,99,104,95,78,19,224,48,101,144,146,172,
-214,2,138,163,217,249,32,192,165,64,51,4,74,23,2,61,52,148,201,243,70,240,
-36,187,119,191,7,79,61,245,40,186,69,20,188,222,114,120,228,145,167,209,
-149,230,27,220,79,73,93,163,1,39,18,122,12,232,132,20,69,228,243,70,0,251,
-151,190,120,92,154,17,137,112,234,131,73,243,198,88,200,37,17,8,244,81,
-220,96,0,115,240,250,235,127,67,183,224,115,206,103,232,158,89,218,47,44,
-100,213,150,67,20,101,140,1,1,247,202,96,222,92,8,111,122,44,26,77,168,
-90,15,133,178,51,144,113,233,36,24,134,69,240,38,92,188,10,62,155,160,162,
-166,85,2,175,89,64,59,98,75,130,247,23,213,243,6,6,6,240,58,241,211,60,
-90,0,118,247,247,15,223,93,90,234,204,114,149,145,89,69,91,183,220,114,
-59,102,162,91,211,185,94,243,119,72,107,59,23,188,199,99,82,91,146,190,
-62,1,21,52,136,22,142,244,37,147,197,7,243,102,1,147,41,185,35,24,140,68,
-168,208,232,154,28,111,189,240,66,19,212,212,120,224,218,107,93,240,241,
-199,7,211,254,174,17,144,13,75,1,151,139,5,106,75,2,129,36,196,227,10,86,
-252,19,104,57,235,175,155,155,191,151,151,118,66,37,176,116,105,101,144,
-231,11,94,237,238,254,12,82,22,25,119,81,101,149,164,56,186,94,194,160,
-245,108,240,244,185,180,148,85,93,39,20,18,161,183,87,128,142,142,14,56,
-127,190,231,211,222,222,179,207,230,3,60,73,186,149,216,185,115,176,164,
-175,239,236,225,43,174,240,150,123,60,147,178,50,144,177,168,141,12,236,
-12,120,10,80,74,169,118,59,192,164,73,44,250,185,130,110,147,84,93,167,
-163,227,20,246,66,71,135,107,106,230,173,41,47,247,113,44,203,249,240,25,
-110,140,64,158,56,99,42,31,194,186,114,30,221,239,148,44,199,15,117,117,
-249,78,62,246,24,35,79,152,0,201,219,111,247,93,223,223,223,243,215,234,
-234,153,54,151,171,48,29,204,36,58,96,155,205,216,157,42,233,54,193,100,
-162,52,169,160,123,104,249,63,18,17,17,120,2,43,116,2,103,2,10,90,19,90,
-195,173,88,173,44,67,233,148,227,180,165,245,92,10,182,42,18,186,88,2,83,
-115,2,45,22,86,48,83,157,49,155,109,59,108,54,71,243,210,165,211,142,79,
-136,0,201,27,111,156,107,8,6,207,111,45,43,155,226,242,249,166,103,17,160,
-86,163,168,72,253,148,14,90,2,175,181,214,138,234,227,177,152,132,41,86,
-66,224,81,4,37,224,53,86,140,3,43,130,55,227,181,102,181,152,233,98,140,
-55,82,8,181,43,212,111,209,231,112,56,14,126,127,0,93,238,51,137,231,205,
-111,152,205,133,79,220,117,151,239,220,69,9,144,188,250,234,201,202,80,
-40,176,109,214,172,138,171,189,222,169,105,215,113,58,181,35,78,107,169,
-166,143,70,74,57,165,65,210,118,88,173,17,231,206,245,64,69,69,5,46,47,
-76,159,110,65,119,226,128,38,80,90,186,85,141,237,9,237,233,24,143,107,
-4,140,196,232,183,174,174,211,56,221,245,12,216,237,158,21,247,221,87,181,
-243,162,4,72,94,126,249,240,131,118,187,117,243,220,185,213,233,116,89,
-92,204,32,72,5,14,31,110,67,144,231,82,126,47,210,66,147,163,23,139,242,
-5,172,176,109,117,117,245,55,249,124,110,190,162,194,138,109,3,140,152,
-45,114,135,35,2,73,224,71,27,140,116,215,165,218,113,244,104,155,96,179,
-21,221,249,192,3,87,111,203,202,66,163,9,203,218,254,226,247,127,38,145,
-118,201,61,72,211,20,164,244,48,191,223,175,36,147,137,187,49,255,87,203,
-178,109,150,44,23,150,9,66,81,73,97,97,235,204,101,203,150,15,148,151,151,
-112,56,213,169,193,76,227,168,177,8,26,215,130,5,63,132,218,218,31,64,67,
-195,247,85,50,185,146,105,71,36,180,190,19,174,186,234,74,115,48,216,247,
-155,23,95,60,52,71,63,135,27,139,0,154,234,244,134,13,251,255,222,221,253,
-239,155,202,203,189,106,231,137,29,128,202,57,138,45,42,203,90,246,55,53,
-221,220,101,188,230,240,97,101,17,186,209,242,234,234,66,134,52,111,172,
-208,198,69,154,166,123,81,27,158,72,132,213,150,100,180,130,169,139,102,
-45,5,73,20,194,204,153,222,194,206,206,158,77,248,117,195,184,22,80,217,
-113,5,235,218,219,79,73,216,250,170,213,53,18,145,176,162,202,106,75,204,
-178,140,35,247,124,12,226,181,83,167,90,85,240,153,7,103,0,209,158,102,
-11,26,142,104,207,48,2,238,35,120,47,105,204,170,111,236,106,227,113,17,
-170,171,125,120,223,100,221,186,117,239,206,187,40,129,85,171,174,57,128,
-249,122,3,142,129,10,105,0,27,62,245,102,86,108,236,113,95,101,60,183,173,
-77,153,17,139,13,93,231,118,243,106,219,144,91,51,72,235,4,222,72,200,100,
-162,4,16,75,167,211,145,43,211,142,103,90,114,134,210,49,62,63,242,221,
-139,18,32,249,228,19,229,23,177,88,232,247,251,246,237,85,168,125,166,20,
-233,114,185,240,102,177,122,227,121,216,193,94,95,80,192,176,148,38,115,
-193,147,187,16,248,220,174,150,231,89,117,166,230,121,211,168,174,67,57,
-198,72,128,22,197,98,105,233,36,154,97,174,155,16,129,215,94,171,151,214,
-174,61,241,99,188,245,227,123,246,180,68,15,29,250,8,28,14,7,90,99,248,
-59,203,151,191,111,210,207,19,4,201,71,128,244,224,211,23,101,23,2,63,90,
-87,75,111,247,70,35,144,233,106,101,131,21,168,32,17,59,170,244,86,10,236,
-105,19,34,160,201,19,242,147,79,46,94,111,183,59,175,60,123,246,194,230,
-131,7,91,7,208,156,101,83,167,250,111,76,235,138,145,77,90,93,200,104,145,
-114,250,88,224,53,11,104,4,70,115,33,77,251,153,161,72,175,57,164,36,34,
-134,46,173,92,2,1,77,154,154,22,159,121,246,217,91,127,90,92,60,195,203,
-113,252,205,138,98,182,234,191,225,92,28,16,4,49,157,207,105,182,208,95,
-53,230,166,81,125,175,19,224,121,126,132,239,19,88,125,174,48,186,81,65,
-1,139,173,73,132,26,202,94,53,209,92,10,1,93,214,173,171,69,221,194,187,
-198,239,4,129,249,8,251,24,5,235,4,19,8,140,61,83,24,227,99,254,252,155,
-96,202,148,50,168,172,172,54,144,83,82,19,157,113,40,210,220,137,250,44,
-147,137,193,30,43,72,141,226,177,255,154,192,104,50,99,70,199,135,109,109,
-147,206,12,13,9,62,155,205,60,238,96,164,255,214,208,176,4,234,235,151,
-100,145,210,136,100,79,116,250,190,164,132,71,237,139,216,31,157,71,69,
-177,239,93,178,11,141,39,85,85,95,21,173,86,203,115,29,29,254,9,13,69,180,
-106,107,203,224,198,27,167,224,114,27,180,111,28,136,52,240,148,194,233,
-149,140,211,201,193,201,147,23,176,157,137,92,176,217,98,187,242,74,128,
-100,120,88,120,25,221,232,31,29,29,189,233,87,241,227,205,214,162,72,175,
-37,147,160,117,183,74,42,56,179,9,208,103,179,25,128,222,26,250,253,2,28,
-58,116,68,193,216,249,213,250,245,247,39,232,153,19,250,135,230,82,100,
-251,246,115,158,112,56,180,203,237,118,94,85,89,233,29,225,247,163,199,
-131,146,5,56,245,175,143,90,16,105,254,160,110,118,112,80,130,93,187,62,
-196,193,168,125,223,156,57,245,245,15,63,60,91,188,44,4,72,222,121,167,
-171,164,183,55,244,7,171,149,95,48,123,182,143,41,42,178,143,120,215,154,
-1,14,57,115,180,6,158,142,21,21,102,204,106,50,244,247,75,176,127,255,191,
-160,179,243,84,187,205,54,169,118,227,198,219,46,232,207,186,44,4,72,90,
-90,20,83,103,231,167,43,163,209,200,218,162,34,135,119,218,180,41,224,241,
-148,164,95,30,27,255,59,208,122,38,41,101,1,49,93,192,124,62,51,180,183,
-135,97,207,158,189,74,40,20,252,167,197,226,186,237,249,231,27,179,134,
-154,203,70,64,151,109,219,122,108,129,64,224,30,81,76,220,131,213,251,26,
-236,40,77,84,201,177,159,194,2,102,82,93,134,97,180,134,173,164,164,68,
-157,47,136,0,205,211,62,95,1,236,222,125,2,176,112,238,117,56,92,11,80,
-243,201,220,251,95,118,2,70,105,110,254,208,27,143,39,191,137,243,238,213,
-152,89,166,227,240,227,68,176,124,50,73,111,183,135,106,23,45,250,118,129,
-201,196,171,214,160,172,67,99,232,214,173,45,152,247,7,126,190,121,243,
-93,207,141,118,207,188,213,129,137,200,253,247,127,131,204,255,102,106,
-101,201,234,213,127,58,16,12,134,174,163,70,145,102,15,155,141,71,224,113,
-26,37,37,212,254,91,99,221,51,175,105,244,127,17,244,154,56,185,143,162,
-86,63,122,195,193,161,235,28,69,247,226,255,188,97,67,99,231,151,158,0,
-130,47,51,99,194,199,54,25,104,166,56,118,236,60,253,187,25,54,155,11,30,
-31,239,186,47,5,129,166,166,247,220,201,100,108,166,13,147,190,195,193,
-65,87,151,31,131,119,175,104,179,185,87,110,218,116,199,201,241,174,253,
-92,99,96,44,137,68,6,23,162,239,115,148,98,91,91,143,160,230,59,67,14,71,
-241,125,27,55,54,110,189,216,181,95,10,2,162,40,223,65,47,10,118,236,216,
-41,48,12,247,38,207,187,126,137,41,179,123,34,215,126,225,4,30,122,232,
-45,143,32,4,10,144,196,106,134,97,255,216,220,124,207,153,47,26,211,231,
-42,255,1,197,242,58,57,228,221,196,12,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_19 = 3445;
-static unsigned char xml_res_file_19[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
-0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
-112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
-222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
-33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
-128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
-225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
-207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
-225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
-60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
-66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
-64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
-230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
-68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
-73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
-4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
-42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
-73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
-0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
-95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
-209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
-247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
-144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
-95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
-4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
-11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
-243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
-53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
-0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
-160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
-160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
-132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
-176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
-61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
-138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
-75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
-59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
-55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
-140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
-108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
-86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
-30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
-39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
-18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
-84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
-107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
-242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
-229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
-182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
-211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
-203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
-24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
-152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
-149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
-83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
-103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
-195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
-171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
-61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
-156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
-76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
-174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
-143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
-165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
-222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
-12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
-64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
-105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
-154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
-155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
-182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
-90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
-158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
-109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
-141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
-154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
-182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
-139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
-93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
-135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
-11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
-87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
-60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
-223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
-91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
-185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
-231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
-12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
-67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
-46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
-28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
-23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
-64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
-194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
-146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
-76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
-66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
-110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
-90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
-237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
-134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
-134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
-122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
-220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
-20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
-180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
-151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
-205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
-63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
-123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
-102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
-78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
-82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
-198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
-225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
-91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
-74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
-46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
-225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
-87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
-154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
-244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
-245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
-95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
-119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
-143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
-100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
-209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
-219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
-29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
-147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
-0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
-0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
-197,70,0,0,2,144,73,68,65,84,120,218,116,146,63,76,19,113,20,199,191,191,
-251,253,174,45,237,21,140,136,7,209,88,45,109,37,168,16,168,32,24,18,163,
-113,34,2,46,186,200,96,28,228,143,194,64,52,58,24,211,213,8,44,134,21,74,
-28,144,65,76,140,72,100,112,41,18,7,107,140,53,1,226,159,8,22,218,2,133,
-59,175,119,148,210,235,185,104,130,165,253,36,47,239,13,47,159,228,189,
-124,97,24,6,242,149,205,102,107,247,214,122,215,75,69,113,232,224,254,226,
-130,92,59,28,242,80,104,183,247,93,188,112,241,169,154,80,138,51,186,222,
-109,182,88,158,229,218,251,79,208,123,187,135,7,0,183,219,61,224,243,249,
-6,26,26,234,65,57,10,202,113,96,148,182,86,184,220,87,178,5,236,223,48,
-240,184,255,220,251,217,217,59,157,55,59,164,145,225,225,246,81,191,31,
-95,62,135,192,40,133,197,108,129,221,110,199,241,202,202,194,108,1,49,12,
-3,221,29,157,55,2,239,102,238,54,55,55,87,180,180,180,96,116,100,4,209,
-104,12,162,40,226,99,48,8,16,130,99,78,231,253,231,47,38,30,101,11,104,
-44,18,113,76,191,153,174,137,173,173,29,242,184,92,71,39,95,77,98,38,16,
-64,169,40,130,55,153,32,73,18,78,158,170,186,62,54,62,54,148,235,7,196,
-48,12,156,109,108,188,52,55,63,223,103,24,198,121,179,201,12,11,207,195,
-106,181,130,82,186,157,214,117,179,211,85,254,228,245,212,84,111,222,39,
-106,74,194,85,83,93,237,36,0,100,73,130,156,80,96,21,4,36,183,183,253,28,
-165,161,229,112,184,231,86,87,215,131,92,2,234,243,249,176,176,176,16,82,
-19,106,66,211,212,113,249,183,92,8,144,72,42,149,226,226,241,245,250,140,
-174,63,244,184,221,222,185,185,249,203,193,15,193,111,173,109,173,161,61,
-39,236,198,237,44,231,190,254,248,158,169,171,245,54,197,227,241,128,96,
-23,126,38,181,173,152,77,16,206,36,147,201,168,166,105,135,23,195,191,244,
-188,130,221,52,212,213,93,19,108,130,63,190,17,103,210,166,4,85,211,64,
-121,214,22,137,70,95,230,12,82,54,171,171,107,177,229,200,10,99,140,135,
-96,183,67,20,69,16,131,196,114,6,41,27,143,179,220,163,106,234,61,74,41,
-148,132,2,193,38,192,225,56,130,72,36,90,156,55,202,89,76,148,28,40,169,
-82,85,21,177,216,170,36,203,242,167,165,197,37,72,146,116,117,143,160,172,
-172,204,198,113,156,155,227,56,207,223,238,224,40,45,72,239,236,164,25,
-99,216,87,84,100,166,148,150,40,138,2,89,146,78,19,66,92,132,16,19,0,176,
-193,193,126,178,185,177,121,194,48,140,38,0,5,132,16,2,128,15,175,172,188,
-101,140,22,241,140,103,140,103,76,73,36,82,218,150,22,79,235,122,152,82,
-106,201,100,50,28,0,252,25,0,39,105,40,55,164,45,1,11,0,0,0,0,73,69,78,
-68,174,66,96,130};
-
-static size_t xml_res_size_20 = 683;
-static unsigned char xml_res_file_20[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
-116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
-97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,61,73,68,65,84,56,203,
-165,147,65,75,212,97,16,198,127,187,173,26,100,7,77,73,119,75,173,204,77,
-75,205,131,105,20,21,68,16,148,26,120,48,194,67,167,190,64,116,200,75,116,
-171,47,208,41,42,234,228,53,18,66,2,211,74,45,53,119,205,32,114,181,210,
-77,55,83,86,36,212,255,255,157,121,223,14,70,40,69,96,62,48,151,225,97,
-96,230,55,79,192,57,199,102,20,220,136,249,226,163,166,167,205,247,206,
-101,254,215,128,150,135,141,245,190,111,78,26,207,188,91,219,15,92,233,
-184,244,123,7,171,22,171,22,21,219,103,213,182,17,12,94,16,35,103,197,72,
-116,91,102,54,145,220,8,115,11,115,36,38,199,99,207,174,189,168,1,8,1,180,
-86,93,198,225,112,206,97,157,99,108,246,227,209,247,201,209,46,177,66,180,
-248,0,91,51,179,16,181,168,83,242,114,242,88,94,94,57,124,236,70,237,203,
-87,55,7,142,7,157,115,88,28,214,217,95,165,236,201,219,75,109,73,45,233,
-133,52,25,161,12,140,8,198,26,140,26,140,10,198,8,198,55,25,0,33,43,150,
-7,111,238,162,162,4,237,22,246,231,151,113,48,114,136,156,237,59,8,185,
-12,198,147,19,164,230,103,152,78,205,16,222,25,65,69,72,76,140,143,12,220,
-138,215,1,4,214,98,108,185,223,144,45,70,175,151,135,43,218,142,68,235,
-136,37,134,233,137,245,168,58,219,212,213,214,219,81,119,181,70,53,100,
-63,13,222,142,151,254,149,130,11,130,13,56,226,99,49,150,188,37,162,69,
-229,248,63,12,94,218,3,192,95,242,241,230,188,117,116,2,173,237,205,78,
-140,32,70,112,226,40,200,45,100,49,189,72,89,56,202,190,162,82,38,166,198,
-25,30,141,147,72,36,56,24,173,64,196,50,52,56,52,146,104,255,92,13,16,50,
-190,225,68,249,41,212,41,106,5,177,202,92,214,60,241,15,113,138,119,149,
-16,46,136,80,88,16,193,158,182,168,85,44,22,111,197,171,218,125,62,252,
-122,234,201,116,93,208,248,235,47,44,42,44,46,45,146,250,254,141,231,189,
-221,204,167,231,17,39,136,21,196,41,98,21,17,69,140,26,128,64,195,157,51,
-78,140,96,124,65,252,85,68,98,164,79,60,109,243,211,254,234,35,249,26,205,
-207,207,167,178,186,146,228,151,36,67,253,111,99,51,157,179,53,127,80,248,
-151,138,26,35,245,42,218,165,98,39,83,157,179,209,13,103,97,242,241,215,
-126,53,218,173,70,43,215,81,216,108,156,127,2,159,164,108,180,35,52,212,
-126,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_21 = 7960;
-static unsigned char xml_res_file_21[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,231,0,0,0,66,8,2,0,
-0,0,226,201,137,234,0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,
-14,27,0,0,0,7,116,73,77,69,7,215,12,11,20,30,26,227,18,33,62,0,0,0,7,116,
-69,88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,116,
-68,101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,69,
-88,116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,
-69,88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,
-9,0,0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,
-0,0,11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,
-143,0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,
-0,0,7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,
-69,88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,
-116,84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,237,
-157,121,152,84,213,153,240,223,115,183,170,174,174,234,125,165,155,94,216,
-26,4,141,178,69,1,65,68,136,235,243,57,99,226,36,113,137,130,18,253,198,
-201,98,68,103,38,51,25,51,209,228,51,15,102,198,103,76,196,72,43,201,151,
-196,76,28,157,204,8,134,97,105,32,17,228,51,17,13,32,216,208,43,13,52,205,
-214,91,85,221,123,207,246,206,31,167,234,82,116,179,152,177,27,191,150,
-243,123,138,122,186,111,157,58,247,189,183,233,223,125,251,61,231,158,34,
-136,8,26,141,70,163,25,33,24,31,119,0,26,141,70,163,249,19,208,214,214,
-104,52,154,145,132,182,182,70,163,209,140,36,180,181,53,26,141,102,36,161,
-173,173,209,104,52,35,9,109,109,141,70,163,25,73,104,107,107,52,26,205,
-5,69,202,143,244,118,109,109,141,70,163,185,160,248,236,35,105,155,232,
-187,108,52,26,141,102,4,161,115,109,141,70,163,25,73,104,107,107,52,26,
-205,72,66,91,91,163,209,104,70,18,218,218,26,141,70,51,146,176,62,238,0,
-52,26,141,230,227,167,163,179,241,189,61,130,246,24,52,0,0,1,0,73,68,65,
-84,155,247,181,190,211,209,185,47,233,245,15,120,181,174,118,218,232,242,
-186,9,181,211,46,191,228,154,143,35,186,211,208,115,72,52,26,205,197,75,
-210,235,223,184,245,23,219,222,93,141,38,175,29,59,161,162,162,182,164,
-164,34,28,206,54,136,1,64,0,81,130,112,189,196,209,163,135,14,29,108,61,
-124,168,189,239,68,239,229,151,92,115,203,181,75,11,243,71,157,177,67,4,
-32,31,45,164,99,61,172,56,207,62,71,3,109,109,141,70,115,49,162,124,189,
-113,219,47,71,213,84,94,49,115,118,97,126,89,52,20,117,172,176,109,90,6,
-33,166,73,36,112,33,56,151,148,73,74,25,167,76,80,206,186,123,143,237,219,
-187,235,131,157,127,156,49,229,51,131,221,141,8,148,35,0,134,236,97,44,
-62,107,107,107,52,154,139,142,198,214,119,86,189,250,120,172,36,251,242,
-25,87,141,42,174,201,143,20,70,156,108,2,6,33,70,144,41,35,8,137,76,128,
-207,209,99,24,103,152,164,140,249,148,120,46,137,187,61,123,119,190,215,
-246,126,243,237,55,125,99,214,212,91,84,123,33,145,139,155,129,100,85,0,
-0,1,0,73,68,65,84,148,78,181,181,53,26,141,102,200,120,125,227,243,107,
-223,124,233,170,69,243,199,214,78,30,149,83,21,113,98,6,177,8,152,6,24,
-0,6,1,66,128,32,72,0,148,192,4,250,28,93,142,46,7,151,98,130,99,220,23,
-110,50,30,118,125,126,236,216,225,119,182,188,53,165,250,234,123,110,123,
-156,11,20,242,148,75,17,33,236,12,151,184,181,181,53,26,205,69,196,170,
-87,31,223,213,246,219,57,55,47,24,91,114,73,105,172,210,0,219,36,182,1,
-54,1,211,23,241,163,201,230,227,201,3,9,218,211,227,118,10,41,133,20,76,
-114,46,185,99,100,59,102,40,47,82,92,146,91,28,141,152,62,244,122,30,198,
-251,67,241,100,223,238,183,222,37,241,172,175,220,179,34,43,28,13,246,162,
-173,173,209,104,52,67,192,170,87,31,223,213,182,121,246,77,215,78,170,184,
-34,63,171,196,4,199,36,33,3,236,62,255,232,193,254,63,30,137,239,55,32,
-43,219,41,9,91,121,142,21,117,204,108,219,140,0,64,191,215,197,37,239,243,
-186,142,38,218,186,250,218,178,157,252,203,71,79,119,56,52,158,242,0,0,
-1,0,73,68,65,84,34,174,47,123,251,187,99,62,247,254,248,187,119,204,120,
-246,99,15,252,60,216,145,182,182,70,163,209,124,84,54,108,251,197,27,219,
-158,159,121,227,172,43,170,175,138,57,5,38,9,91,36,132,210,232,232,127,
-183,163,119,103,196,46,207,11,143,201,118,138,108,18,178,12,155,128,97,
-18,155,16,2,0,18,133,122,112,164,30,79,190,186,235,137,121,53,159,15,219,
-81,106,118,113,187,163,191,59,230,115,250,254,155,127,172,137,77,191,227,
-214,111,169,125,13,171,181,245,93,54,23,152,182,250,27,8,33,203,54,127,
-220,113,104,52,23,21,141,173,239,188,182,254,153,75,23,125,106,194,168,
-9,17,39,66,136,65,192,16,82,190,215,245,235,131,125,141,101,209,153,149,
-57,87,22,134,171,99,86,97,204,46,204,177,139,242,156,178,28,187,48,102,
-21,198,172,194,92,187,56,207,41,205,177,139,115,236,98,198,93,199,204,202,
-15,151,27,96,18,150,35,250,71,219,217,189,0,56,102,250,184,93,237,13,155,
-182,191,124,1,142,101,200,172,173,108,116,6,33,109,94,70,8,185,161,190,
-109,168,97,224,118,108,0,0,1,0,73,68,65,84,118,116,62,54,47,35,167,113,
-1,119,253,167,133,129,131,248,56,226,212,104,46,10,86,189,250,248,152,43,
-199,84,151,84,228,71,114,0,16,0,132,100,239,116,190,150,160,94,85,238,220,
-130,112,77,182,149,27,181,243,149,178,115,236,162,152,85,16,179,139,98,
-118,97,204,46,140,217,69,49,171,48,215,41,206,181,139,187,147,135,75,178,
-171,8,81,179,77,12,2,150,72,148,2,24,166,99,142,189,106,220,250,109,47,
-158,232,233,28,238,99,25,250,92,123,249,83,245,109,103,113,209,112,27,170,
-173,254,6,66,230,47,63,125,227,218,251,106,201,35,13,82,74,41,229,133,241,
-227,57,195,64,41,1,0,133,16,42,164,224,11,21,222,176,6,166,209,92,156,188,
-190,241,121,145,157,40,173,41,174,204,47,68,144,8,18,17,223,62,252,90,220,
-247,106,242,231,102,91,249,17,43,39,219,202,203,182,242,162,86,94,150,25,
-179,72,200,32,166,154,76,162,30,6,49,45,226,132,205,104,103,255,190,138,
-156,58,0,32,106,51,24,4,12,66,8,162,140,228,101,197,170,178,126,179,249,
-5,0,199,178,157,240,0,0,1,0,73,68,65,84,16,31,237,115,15,206,205,16,91,
-251,250,235,175,135,181,247,61,219,144,242,145,16,66,74,4,128,1,122,26,
-22,73,109,94,86,123,223,90,0,128,71,54,169,221,113,206,57,231,77,43,22,
-2,74,206,185,218,146,222,121,235,202,207,124,200,60,188,173,254,134,63,
-37,99,63,79,24,106,118,144,20,156,51,198,40,165,234,57,8,76,139,91,163,
-25,90,146,94,255,198,109,47,87,92,81,62,182,164,88,128,144,192,17,196,190,
-147,219,143,247,159,168,201,159,157,109,229,103,153,177,176,25,139,152,
-57,89,102,204,36,54,0,28,77,54,109,239,252,191,107,90,159,92,245,254,125,
-43,119,222,243,111,141,223,124,163,121,249,158,227,155,122,253,163,237,
-189,187,138,35,213,0,128,136,234,31,16,0,32,82,74,9,178,184,174,232,221,
-253,107,143,159,60,44,229,48,254,34,15,241,58,36,83,30,125,116,242,218,
-181,79,63,181,114,233,156,123,70,75,9,0,68,8,0,64,137,82,37,153,105,43,
-25,134,65,8,81,207,67,177,231,182,250,167,150,3,192,245,43,91,223,88,92,
-173,244,167,164,95,209,61,20,0,0,1,0,73,68,65,84,89,126,215,175,19,0,140,
-49,181,35,195,48,76,211,52,12,68,0,144,152,25,82,192,217,66,250,16,45,207,
-27,70,187,64,0,16,156,82,63,237,104,66,136,105,154,166,105,90,150,5,233,
-51,243,145,79,136,70,163,1,0,216,182,227,117,167,204,40,44,140,102,103,
-153,2,169,9,220,151,137,61,157,59,106,242,103,198,156,98,199,200,10,153,
-217,89,102,118,200,140,16,48,152,116,183,30,174,63,146,104,44,141,76,44,
-137,76,40,10,141,225,200,133,100,135,227,251,214,182,252,11,19,44,98,231,
-68,236,28,42,93,4,68,80,78,147,136,146,9,206,145,27,54,201,171,201,125,
-99,243,11,159,191,229,91,195,119,68,67,156,107,163,156,251,224,138,133,
-176,254,129,191,92,217,76,41,245,125,159,50,9,0,40,153,130,115,206,88,195,
-163,161,144,109,219,150,101,25,134,65,150,109,82,239,29,148,211,14,30,184,
-219,188,236,108,35,121,109,27,255,109,45,0,60,242,232,226,106,149,180,114,
-206,213,30,83,97,80,170,246,158,206,184,149,127,17,229,25,56,115,194,123,
-166,182,3,91,158,122,201,50,243,0,0,1,0,73,68,65,84,63,12,198,17,0,36,167,
-212,247,125,175,225,111,243,243,243,243,242,242,98,177,88,36,18,113,28,
-231,177,211,14,46,24,44,24,48,98,112,182,237,26,141,102,32,111,237,88,157,
-91,29,45,204,9,113,116,5,80,14,244,253,206,29,82,154,163,115,47,115,140,
-176,99,134,67,70,150,99,100,41,101,191,222,242,109,46,216,162,170,101,51,
-203,238,152,148,63,127,98,225,252,73,133,243,39,21,206,191,166,234,222,
-91,39,252,205,167,74,63,83,157,123,169,4,33,81,32,10,137,82,162,64,144,
-8,200,133,240,124,95,162,44,24,159,247,251,157,171,93,127,224,250,83,67,
-200,208,215,181,43,190,244,200,87,0,54,60,244,163,6,207,243,60,207,165,
-12,0,144,165,74,1,126,211,202,255,21,189,225,153,204,55,44,191,150,124,
-102,101,171,148,85,181,147,1,214,254,106,67,186,42,222,182,225,87,107,1,
-96,249,154,77,233,106,244,166,53,203,1,30,185,113,222,25,6,241,218,62,88,
-11,0,143,220,56,87,74,41,165,218,87,224,107,165,236,244,53,131,165,202,
-53,8,0,160,114,225,192,89,112,5,9,0,0,1,0,73,68,65,84,173,103,173,84,72,
-28,96,225,51,183,252,16,97,72,9,0,130,81,234,251,254,150,255,122,110,192,
-217,123,250,58,107,89,170,8,223,176,140,164,106,45,233,19,53,127,217,38,
-148,178,225,145,65,219,211,117,251,11,84,184,215,104,70,10,39,186,15,31,
-233,109,14,23,59,57,217,132,163,199,209,167,194,221,215,245,65,65,164,202,
-50,28,139,56,54,9,219,70,200,36,22,0,108,233,88,145,231,84,206,26,117,175,
-99,69,37,50,1,92,162,16,200,213,195,52,172,113,5,211,39,21,207,145,168,
-238,93,87,211,1,101,202,224,82,248,156,122,190,79,44,140,142,138,236,110,
-220,50,124,7,53,212,185,54,160,148,115,150,60,179,0,224,135,207,252,164,
-217,247,125,143,10,0,16,66,213,112,91,86,125,245,171,27,31,124,237,216,
-177,99,221,221,221,241,120,220,117,221,166,21,11,97,221,253,207,54,8,113,
-245,245,15,3,172,219,219,164,10,226,45,235,94,89,7,0,0,203,215,52,40,207,
-182,236,223,9,176,104,124,213,192,250,184,148,178,173,105,39,0,44,154,80,
-131,136,170,142,204,142,32,49,225,0,0,1,0,73,68,65,84,24,243,125,95,233,
-85,169,57,48,218,41,213,162,196,180,136,3,171,14,214,49,166,254,12,58,127,
-203,182,230,221,231,11,3,213,213,66,85,253,185,188,239,103,251,246,53,55,
-55,183,183,183,119,117,117,245,244,172,254,42,192,211,79,189,208,194,185,
-104,88,179,28,96,209,243,77,60,205,134,135,65,10,46,26,214,60,13,176,112,
-69,83,112,41,90,255,48,96,106,16,33,179,112,175,75,228,26,13,188,187,119,
-115,184,216,137,101,25,104,80,138,30,197,196,145,158,227,253,126,111,105,
-116,172,69,108,203,80,15,7,128,28,73,52,118,37,90,46,45,190,153,73,159,
-75,159,75,202,37,229,72,133,100,2,153,144,60,173,111,38,36,83,95,75,20,
-2,153,64,33,144,75,224,140,179,164,231,73,144,225,34,167,185,125,199,240,
-29,212,80,231,218,136,136,88,113,199,242,239,207,131,45,143,189,244,91,
-223,167,92,0,0,114,74,41,101,91,94,120,120,51,192,115,127,94,92,92,156,
-159,159,31,141,70,179,178,178,198,61,176,30,0,118,238,111,102,172,114,220,
-117,0,63,88,189,145,82,74,42,158,29,80,0,0,1,0,73,68,65,84,105,211,158,
-117,240,181,181,107,191,6,240,244,234,141,140,49,198,154,246,174,131,235,
-110,157,55,138,5,168,138,135,148,65,233,63,85,68,206,124,85,189,96,154,
-230,225,95,252,69,81,81,81,65,65,65,78,78,78,36,50,241,129,245,0,235,31,
-24,231,56,145,72,36,22,139,229,230,230,222,250,98,147,26,24,108,173,191,
-41,85,189,33,132,144,218,251,215,1,172,91,122,198,150,65,255,3,206,194,
-217,195,48,82,139,211,16,130,136,51,150,45,155,46,59,126,249,165,177,213,
-213,213,165,165,165,121,121,55,63,3,0,40,24,99,76,8,0,88,183,167,137,166,
-185,234,59,137,239,204,74,109,95,191,183,41,184,126,204,82,219,51,208,73,
-183,70,163,56,216,185,47,84,104,101,103,1,67,143,97,146,98,226,224,201,
-35,76,240,226,104,181,65,44,131,152,6,177,12,48,1,160,165,247,15,69,89,
-99,9,16,38,125,38,82,226,102,146,114,76,233,59,229,113,73,57,50,46,153,
-144,140,35,227,41,137,51,1,130,113,22,119,61,137,60,84,100,29,238,218,215,
-155,224,195,116,80,67,159,245,124,211,103,0,0,1,0,73,68,65,84,107,35,162,
-148,21,183,63,184,20,96,229,243,255,122,128,115,4,0,228,148,49,198,206,
-62,29,6,25,245,253,210,217,183,44,0,216,221,216,228,251,126,195,234,103,
-224,175,22,124,250,202,235,254,10,96,215,190,102,74,105,195,154,127,6,152,
-84,85,150,81,241,80,78,228,156,143,174,157,2,0,235,62,104,13,230,108,4,
-174,36,132,88,41,204,115,7,47,121,106,58,135,56,223,248,239,169,150,169,
-121,50,169,196,182,102,236,20,0,88,215,120,174,48,76,3,0,76,211,52,13,195,
-248,253,247,235,38,78,92,240,205,55,79,239,93,112,234,251,222,140,123,159,
-89,0,240,204,245,17,197,99,27,125,197,204,197,106,123,182,226,177,6,63,
-141,10,73,161,115,109,141,6,0,78,116,31,54,34,196,118,4,67,207,71,183,215,
-141,31,235,63,22,117,10,8,24,6,24,6,88,6,24,132,24,0,112,36,222,92,144,
-85,237,139,36,21,73,38,93,42,61,38,92,46,61,150,241,72,231,224,62,151,62,
-199,32,37,247,153,164,42,215,102,140,121,148,90,57,228,80,215,62,202,135,
-235,23,112,157,89,151,70,0,0,1,0,73,68,65,84,232,235,218,41,89,92,121,247,
-19,115,96,235,183,126,190,93,74,0,144,82,48,198,218,90,62,0,128,251,126,
-214,212,218,218,218,209,209,113,232,208,161,206,206,206,206,206,206,195,
-135,15,255,244,179,69,201,100,178,176,124,60,192,198,189,141,201,228,134,
-53,207,194,131,215,76,247,220,105,215,252,111,216,248,218,250,253,238,254,
-198,93,0,15,94,51,205,117,93,215,117,61,207,11,138,197,66,8,89,53,126,33,
-0,252,96,205,111,211,53,16,53,101,69,77,207,176,44,203,113,156,49,139,255,
-51,227,189,251,159,91,8,112,221,15,119,118,119,31,57,114,164,189,189,189,
-165,165,229,165,219,74,84,135,229,95,124,37,145,72,248,190,207,57,231,188,
-121,197,66,128,235,126,116,198,150,3,235,36,53,19,23,1,192,211,111,156,
-61,12,219,82,51,89,44,203,60,242,202,143,235,1,0,22,255,100,111,99,99,99,
-75,75,75,91,219,47,191,12,0,146,121,174,155,76,22,222,246,147,131,135,182,
-47,191,70,157,214,127,185,165,160,160,224,155,13,158,239,151,220,254,179,
-206,206,223,63,157,218,165,159,159,127,0,0,1,0,73,68,65,84,254,108,176,
-221,15,6,93,213,181,68,231,218,26,77,99,235,59,118,33,160,65,125,116,41,
-122,189,201,4,21,62,33,150,65,212,95,210,196,32,41,7,182,244,188,139,40,
-169,116,169,76,82,225,82,225,82,225,81,225,50,225,81,233,81,225,49,233,
-83,233,51,233,81,233,51,244,153,12,30,148,75,42,36,167,156,49,206,92,223,
-23,200,205,136,209,211,59,92,183,219,12,223,29,237,149,159,91,186,4,96,
-85,125,253,126,0,64,68,33,68,121,229,120,0,88,185,105,91,102,205,247,180,
-1,195,25,243,238,7,88,177,126,203,150,245,43,224,254,171,167,122,158,239,
-79,155,183,20,54,253,122,227,150,134,255,220,12,243,106,74,253,76,148,178,
-133,16,114,244,252,219,22,2,192,63,45,127,169,45,112,104,224,74,53,95,197,
-113,156,96,226,10,0,32,130,154,199,29,4,19,100,238,65,141,56,149,183,170,
-25,214,233,45,131,91,42,69,74,41,177,122,193,103,23,1,192,15,206,30,134,
-105,16,0,32,150,105,30,217,186,230,183,0,75,126,218,248,200,140,212,136,
-40,231,92,2,0,114,240,208,222,237,0,0,1,0,73,68,65,84,234,251,190,239,123,
-158,231,21,255,89,125,115,115,75,75,75,203,47,238,7,128,231,254,107,75,
-74,205,165,159,251,233,129,3,237,237,237,109,191,92,122,218,246,116,96,
-153,131,147,195,246,35,214,104,70,0,2,5,69,159,74,159,162,219,151,240,125,
-225,49,193,1,72,250,51,103,82,179,108,125,78,61,145,240,121,220,23,73,95,
-38,125,145,240,101,210,23,174,47,146,84,184,84,186,190,112,153,116,169,
-240,88,74,232,30,21,94,202,233,210,227,146,49,206,152,96,62,165,2,133,153,
-69,186,71,150,181,83,51,210,174,188,235,59,179,97,235,214,173,0,169,105,
-115,98,250,213,247,2,64,253,221,227,191,247,150,210,31,231,156,243,182,
-151,239,174,121,114,171,26,99,156,57,239,62,128,189,207,61,247,2,44,185,
-122,154,178,249,212,185,247,193,150,215,159,125,125,11,204,89,52,163,216,
-207,76,42,131,186,54,226,232,123,31,253,58,0,108,120,104,114,209,63,252,
-46,51,146,131,63,187,61,250,119,111,42,89,167,75,213,193,108,104,41,211,
-46,30,96,106,37,190,84,253,3,0,240,212,102,189,113,134,0,0,1,0,73,68,65,
-84,107,3,90,6,119,15,1,0,98,213,226,71,191,113,158,48,8,0,24,196,52,71,
-215,78,2,128,250,45,255,15,0,84,15,219,190,119,231,11,0,160,12,190,237,
-187,227,190,187,53,40,106,179,178,154,57,0,128,66,110,123,178,250,201,183,
-130,33,71,49,170,118,46,4,29,232,153,36,26,205,64,36,114,138,190,143,158,
-143,158,235,11,159,187,76,112,181,124,54,0,74,76,141,57,17,176,61,158,116,
-69,191,203,251,93,30,247,68,194,79,61,146,84,36,79,61,75,151,74,87,121,
-156,74,151,74,143,74,151,75,230,83,95,229,218,92,112,137,28,97,228,220,
-101,19,64,8,49,140,202,219,191,188,228,239,183,214,171,239,17,17,113,250,
-215,235,239,121,105,201,42,120,241,238,241,47,158,214,126,201,82,41,37,
-33,132,84,214,206,129,149,111,190,9,75,150,206,68,229,31,50,237,234,197,
-176,242,197,55,97,246,63,206,44,229,156,33,18,66,16,81,41,88,233,18,0,96,
-238,255,105,124,110,119,221,131,235,225,135,127,86,249,195,211,163,249,
-218,178,204,239,82,181,11,56,53,159,47,181,46,184,80,0,0,1,0,73,68,65,84,
-112,92,80,214,16,66,168,74,52,128,148,120,202,138,103,108,41,132,8,46,9,
-112,205,83,251,87,236,28,255,192,249,195,128,89,11,239,135,231,94,168,191,
-251,146,250,244,150,57,115,230,192,155,111,166,6,51,17,94,252,210,164,211,
-206,210,156,39,239,156,137,135,182,192,143,63,95,243,227,211,182,127,247,
-142,79,7,81,5,95,124,152,31,147,70,243,137,71,72,238,73,73,16,36,2,227,
-17,46,153,129,44,99,226,48,170,207,122,44,12,87,157,116,143,196,66,249,
-132,24,4,136,210,110,176,218,159,64,46,144,114,201,212,12,19,85,66,241,
-101,42,19,23,200,61,234,51,206,40,231,92,128,64,24,86,107,15,219,10,176,
-132,24,134,97,92,117,215,119,231,166,190,85,170,133,25,15,239,220,185,246,
-219,179,79,107,188,228,167,141,143,205,4,37,190,170,185,55,205,5,128,37,
-243,63,77,8,166,110,44,156,54,231,30,0,128,241,21,165,42,177,13,166,184,
-97,250,222,66,69,205,226,213,253,253,111,252,229,233,145,60,244,31,39,226,
-79,204,201,156,18,151,246,47,0,160,28,6,72,81,56,152,0,0,1,0,73,68,65,84,
-187,85,47,94,115,174,48,82,255,25,4,226,85,127,221,252,243,197,65,139,123,
-234,119,175,88,60,62,253,29,206,248,198,218,199,103,101,116,48,251,137,
-13,47,124,182,28,229,204,71,55,171,115,154,98,206,147,155,95,252,92,5,166,
-207,85,234,252,232,92,91,163,81,8,228,62,250,73,244,60,244,4,50,32,208,
-114,124,15,130,148,32,212,253,50,42,221,158,88,56,235,80,95,83,146,247,
-37,89,111,130,247,184,188,207,229,125,30,239,247,68,194,227,253,30,143,
-123,60,225,241,184,207,19,174,218,40,18,42,31,87,115,1,251,19,46,229,106,
-152,139,11,228,50,137,249,185,229,195,116,68,67,185,190,182,42,206,6,69,
-103,37,74,37,235,192,179,193,28,56,117,247,182,146,187,154,80,161,80,253,
-168,183,168,119,5,23,69,85,217,80,1,171,74,113,40,20,202,202,202,10,135,
-195,161,80,200,52,77,68,84,181,114,207,243,24,99,136,104,154,166,227,56,
-170,162,173,114,225,64,103,170,243,32,90,21,152,105,154,161,80,40,28,14,
-7,111,81,241,168,105,118,106,8,116,64,203,80,238,46,29,120,0,0,1,0,73,68,
-65,84,40,228,56,142,101,89,166,105,170,8,213,156,191,179,133,65,8,225,156,
-171,222,60,207,11,22,33,9,206,128,105,154,144,94,185,37,56,112,117,203,
-123,80,225,9,142,66,237,49,120,54,12,67,85,240,85,84,182,109,7,81,105,52,
-23,33,223,121,246,139,39,170,246,228,215,201,236,66,46,17,146,45,101,73,
-207,107,60,212,246,224,156,39,198,228,79,206,54,115,35,86,94,182,149,227,
-24,17,151,245,255,221,166,155,166,85,205,205,13,23,168,170,55,81,55,160,
-4,185,182,100,28,41,23,148,161,79,133,199,164,71,101,50,152,199,221,184,
-191,139,113,206,56,43,46,11,69,115,140,190,223,152,79,62,186,189,56,247,
-92,31,181,254,63,102,232,43,36,169,145,217,116,197,192,48,12,85,205,0,0,
-229,59,165,161,96,181,13,227,116,212,75,74,247,170,195,32,167,206,116,250,
-224,119,5,230,10,246,174,172,23,168,223,178,172,193,109,44,203,82,151,135,
-212,233,200,32,16,168,218,46,165,84,141,7,180,12,46,57,170,231,160,116,
-115,182,48,84,85,39,248,91,97,192,159,11,193,123,36,100,80,203,0,0,1,0,
-73,68,65,84,85,168,153,227,153,129,181,131,11,109,198,93,237,68,53,11,46,
-108,58,215,214,104,0,160,48,191,188,43,185,219,117,133,129,148,0,17,196,
-143,132,67,0,164,229,248,251,85,185,19,184,193,56,82,46,153,101,136,44,
-59,118,253,184,251,215,236,95,241,233,154,107,108,211,1,0,0,130,32,79,125,
-36,130,100,2,25,151,148,73,79,205,30,81,119,72,10,228,125,253,73,198,24,
-19,156,113,102,152,54,235,131,242,146,73,195,119,80,67,108,237,1,66,132,
-116,26,168,156,194,57,15,92,28,228,128,131,157,27,136,27,210,30,12,68,15,
-0,74,130,36,152,254,156,150,166,234,65,229,224,170,13,164,253,21,36,236,
-65,108,106,239,166,105,6,46,206,124,123,176,150,147,178,246,128,158,7,183,
-84,189,5,49,168,228,250,108,97,40,107,103,94,138,2,113,103,30,139,148,50,
-56,69,65,216,234,12,100,158,237,96,167,153,9,117,166,247,53,154,139,153,
-9,181,211,118,237,94,239,37,164,45,153,73,12,233,120,232,145,156,72,100,
-107,203,218,57,99,110,226,146,50,233,83,226,89,210,118,12,24,69,43,0,0,
-1,0,73,68,65,84,140,200,194,49,119,181,156,220,189,118,207,191,215,149,
-93,82,18,43,181,76,27,0,148,184,5,138,35,61,157,157,61,135,227,126,252,
-178,154,137,153,245,110,137,226,100,119,156,9,198,56,103,156,135,34,64,
-15,202,242,146,9,195,119,80,67,105,237,76,231,42,227,4,90,9,140,25,100,
-175,131,87,182,11,188,60,56,81,205,124,53,176,182,105,154,106,38,95,176,
-47,72,47,233,103,219,169,63,76,130,177,74,149,35,171,30,130,231,32,0,149,
-11,3,128,42,101,4,221,102,90,50,72,96,7,183,204,188,108,100,158,129,51,
-134,145,121,29,82,233,127,230,57,9,186,194,140,187,240,85,155,1,169,52,
-156,110,231,1,234,215,226,214,104,0,160,174,118,154,108,48,121,157,231,
-199,137,19,21,104,123,34,105,22,229,197,246,180,117,188,221,222,48,187,
-230,122,75,218,148,216,166,176,8,152,182,17,250,242,244,167,166,150,47,
-248,215,221,255,180,163,125,117,94,36,31,1,16,37,229,172,55,217,43,17,167,
-148,94,217,114,116,43,147,62,162,148,40,36,8,129,194,167,180,187,55,193,
-57,149,200,220,129,0,0,1,0,73,68,65,84,103,92,68,178,9,71,38,142,134,198,
-76,187,98,248,14,106,232,115,109,149,101,7,102,81,186,81,117,3,211,52,51,
-111,49,87,95,100,206,121,24,80,238,8,102,212,65,134,181,131,141,65,182,
-59,32,91,87,123,87,189,101,102,217,153,23,21,21,12,166,167,163,100,186,
-56,200,160,51,107,56,106,191,170,231,115,180,12,66,61,71,24,144,206,139,
-85,12,131,199,84,7,168,25,78,207,169,51,79,218,25,165,156,89,225,249,232,
-63,80,141,102,68,51,186,188,174,32,92,217,221,183,215,59,105,24,81,6,97,
-143,247,56,142,99,198,178,179,214,125,240,202,148,242,153,38,177,9,152,
-233,89,219,104,25,161,25,21,139,102,84,44,58,154,56,184,171,107,91,87,188,
-3,17,75,179,71,151,68,71,95,86,54,11,0,174,171,47,140,123,113,199,177,16,
-133,90,64,170,227,96,55,99,140,113,193,57,207,202,9,9,202,229,209,232,164,
-241,243,134,239,160,134,190,174,29,84,21,50,43,173,144,182,73,80,168,85,
-96,6,144,145,168,102,190,170,222,126,198,76,83,93,33,50,243,92,165,42,151,
-164,248,7,0,0,1,0,73,68,65,84,53,144,40,132,200,212,162,106,166,36,155,
-89,211,8,170,22,144,54,105,112,69,25,112,92,31,178,229,185,195,200,36,56,
-246,76,155,147,116,229,122,240,177,159,113,95,65,87,144,177,84,119,80,183,
-209,233,182,230,34,103,214,21,55,191,190,183,133,198,18,86,2,173,44,79,
-64,24,165,85,85,90,176,171,185,163,126,251,83,15,93,253,143,170,25,130,
-20,200,29,51,236,24,97,147,216,37,217,149,11,198,220,158,217,143,26,153,
-156,92,122,101,79,242,80,129,21,85,21,146,190,62,175,175,207,229,92,48,
-206,17,100,36,7,68,151,57,117,202,205,89,225,232,240,13,43,13,113,133,36,
-40,113,100,230,200,65,226,172,228,149,185,61,83,217,153,242,26,252,135,
-127,240,60,192,218,198,233,55,206,100,198,160,94,29,208,185,145,158,178,
-162,218,7,222,31,208,103,102,110,27,244,121,222,150,103,60,21,3,194,200,
-60,144,115,156,204,76,101,15,232,249,220,63,133,204,194,189,86,182,70,179,
-96,246,23,55,110,123,57,153,76,120,199,140,172,106,134,217,73,222,23,54,
-136,57,110,116,201,7,102,88,96,0,0,1,0,73,68,65,84,190,3,123,94,216,246,
-189,59,103,124,37,63,44,37,114,110,82,42,195,182,17,178,12,219,36,150,1,
-166,65,76,0,20,40,16,164,144,156,35,29,157,55,110,199,177,15,114,162,142,
-68,225,122,180,163,163,151,49,193,5,231,92,22,148,153,96,8,108,142,76,189,
-245,198,97,61,162,97,169,144,4,138,12,54,194,217,117,115,54,107,127,200,
-221,13,110,156,25,67,112,157,200,180,246,224,93,12,40,38,156,163,230,126,
-222,150,231,13,227,28,167,66,49,192,230,231,104,124,70,251,103,30,160,182,
-182,70,19,9,199,22,204,250,194,27,141,207,99,164,207,59,201,236,194,36,
-239,53,12,176,156,144,57,110,116,241,238,246,63,124,111,221,215,239,156,
-241,208,164,178,169,142,12,91,134,99,27,142,73,108,131,88,4,78,253,250,
-8,100,18,37,71,26,13,199,250,18,9,38,163,92,136,142,3,125,158,175,156,45,
-16,100,97,105,196,60,152,91,93,50,115,76,213,212,97,61,162,225,154,249,
-151,169,146,143,146,90,14,232,121,64,63,231,48,102,16,67,144,231,102,182,
-63,135,178,207,214,109,17,91,194,185,0,0,1,0,73,68,65,84,32,238,243,182,
-60,111,24,67,66,230,174,207,125,128,26,205,69,206,130,217,95,220,246,238,
-106,63,30,227,102,143,204,62,130,121,73,222,29,54,136,233,132,140,201,227,
-74,219,14,117,255,243,166,111,141,47,153,124,101,205,181,87,84,94,21,13,
-229,154,196,38,0,132,152,36,181,142,169,68,64,129,172,237,100,211,161,222,
-182,222,132,75,185,223,222,26,79,198,25,23,66,112,41,132,28,83,87,148,67,
-202,18,205,222,103,151,252,189,218,233,48,77,214,134,161,189,203,70,163,
-209,104,254,255,228,189,61,155,159,255,247,191,46,186,182,194,51,142,139,
-146,246,68,135,68,129,6,49,213,74,173,137,36,235,58,145,232,233,243,128,
-64,101,94,77,97,118,73,101,94,173,122,35,2,156,136,119,29,79,28,237,56,
-217,154,164,9,199,54,139,243,178,105,63,248,46,231,66,10,129,40,173,138,
-138,210,9,227,199,246,108,61,49,183,238,142,5,115,238,87,82,45,210,214,
-214,104,52,154,143,194,175,214,60,189,181,105,77,217,188,58,87,116,137,
-156,246,190,35,148,138,56,34,39,64,212,218,35,74,170,160,98,0,0,1,0,73,
-68,65,84,82,66,127,130,186,30,239,75,80,0,0,76,255,67,136,100,89,142,109,
-198,162,142,31,151,199,187,124,193,165,148,4,164,69,32,171,188,172,124,
-242,164,73,221,239,28,46,150,85,247,127,225,71,0,128,136,195,167,108,208,
-214,214,104,52,23,15,171,94,125,124,111,207,206,242,43,39,123,236,132,199,
-79,122,188,199,23,61,76,244,115,233,74,228,106,25,41,114,170,192,72,2,107,
-3,96,127,31,239,62,198,152,15,40,77,130,33,2,33,130,161,81,101,149,151,
-94,114,89,215,219,31,100,37,34,75,191,240,163,112,40,6,218,218,26,141,70,
-51,132,172,122,245,219,123,143,239,172,153,61,139,27,73,143,247,120,172,
-199,231,189,76,36,4,184,2,93,33,125,129,20,81,32,164,102,187,121,9,225,
-185,152,232,67,41,76,144,22,160,13,210,38,104,3,56,227,106,234,234,198,
-78,57,176,109,187,221,111,124,249,11,207,133,67,169,217,126,133,57,195,
-181,150,170,66,91,91,163,209,92,68,32,194,170,87,31,223,117,224,237,186,
-185,55,58,121,17,151,245,36,188,147,30,237,243,89,130,242,161,196,119,32,
-0,0,1,0,73,68,65,84,164,68,202,132,47,56,19,146,83,202,169,47,164,68,41,
-8,34,65,105,160,52,81,154,128,102,44,187,224,178,137,211,115,179,10,246,
-108,248,117,145,93,114,215,109,223,15,135,162,106,121,214,225,86,54,104,
-107,107,52,154,139,7,181,156,54,32,188,183,119,211,79,94,251,118,197,148,
-171,70,95,58,75,154,60,158,60,222,151,60,225,179,4,101,46,227,30,227,148,
-11,150,249,185,176,82,2,74,34,5,137,70,242,107,43,234,170,71,77,232,216,
-189,189,233,15,27,230,207,188,243,186,57,247,65,186,219,130,225,87,54,104,
-107,107,52,154,139,135,212,231,120,35,0,64,194,237,123,229,55,63,120,103,
-207,198,177,151,47,26,243,169,235,192,130,120,242,100,220,237,73,184,61,
-241,100,47,227,148,115,198,37,23,66,18,48,34,225,156,226,252,81,133,185,
-229,217,78,180,171,117,231,7,111,255,71,121,94,245,45,11,191,54,170,164,
-78,125,4,130,182,182,70,163,209,12,25,106,45,54,46,80,240,212,170,253,140,
-10,198,24,245,233,177,227,7,127,183,227,229,214,174,29,37,213,151,21,87,
-6,250,152,252,0,0,1,0,73,68,65,84,78,41,169,156,156,87,92,131,200,37,202,
-212,224,36,49,12,98,38,250,142,31,59,184,251,232,193,247,15,53,109,31,149,
-87,55,117,226,205,227,107,167,153,182,101,90,182,105,89,134,105,26,166,
-81,82,16,185,48,135,163,173,173,209,104,62,177,8,41,5,23,92,8,198,120,234,
-67,212,25,103,148,81,159,49,159,82,143,170,102,148,37,91,187,118,116,158,
-104,60,222,119,224,68,223,129,104,110,121,52,183,92,229,228,212,139,159,
-60,186,63,150,85,84,152,83,85,83,118,69,109,233,84,199,78,217,217,9,57,
-166,237,88,33,203,178,109,211,178,170,171,138,47,204,65,105,107,107,52,
-154,79,44,233,21,61,165,122,112,206,133,144,140,114,33,4,87,31,54,206,184,
-20,82,112,129,136,82,32,162,64,9,125,201,99,113,247,4,0,32,128,99,69,138,
-115,171,137,145,94,191,194,0,211,180,136,105,88,150,109,88,166,97,154,150,
-101,17,211,48,12,147,24,70,89,81,246,5,56,40,109,109,141,70,243,9,71,73,
-14,83,165,18,80,107,64,4,43,215,33,74,68,53,80,169,190,135,96,233,222,114,
-86,0,0,0,147,73,68,65,84,173,209,192,142,8,144,90,150,36,152,202,77,64,
-173,239,154,31,27,198,169,217,103,68,91,91,163,209,124,146,201,84,118,166,
-133,225,212,215,167,125,166,250,169,54,233,49,70,76,175,244,147,209,85,
-170,77,110,246,25,214,106,30,110,46,196,136,167,70,163,209,124,188,12,78,
-79,109,43,88,97,237,127,178,212,90,111,66,124,44,202,6,157,107,107,52,26,
-205,200,66,127,72,149,70,163,209,140,36,180,181,53,26,141,102,36,161,173,
-173,209,104,52,35,9,109,109,141,70,163,25,73,104,107,107,52,26,205,72,66,
-91,91,163,209,104,70,18,255,13,1,101,50,84,72,18,31,168,0,0,0,0,73,69,78,
-68,174,66,96,130};
-
-static size_t xml_res_size_22 = 6936;
-static unsigned char xml_res_file_22[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,231,0,0,0,32,8,2,0,
-0,0,167,245,39,187,0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,
-14,27,0,0,0,7,116,73,77,69,7,215,12,23,13,52,14,159,155,73,179,0,0,0,7,
-116,69,88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,
-116,68,101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,
-69,88,116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,
-69,88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,
-9,0,0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,
-0,0,11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,
-143,0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,
-0,0,7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,
-69,88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,
-116,84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,237,
-93,123,124,21,197,189,255,238,158,115,242,32,82,155,180,66,66,30,36,33,
-16,121,92,219,91,222,228,113,2,36,8,218,22,107,109,209,42,84,129,4,176,
-168,128,68,4,181,247,86,77,193,26,240,82,104,65,66,124,191,181,181,173,
-34,49,239,96,80,111,107,63,189,165,40,132,156,60,64,111,171,244,154,180,
-66,146,179,51,187,59,247,143,217,157,204,57,39,9,129,2,38,113,191,159,253,
-228,67,118,231,241,251,205,176,223,249,205,119,102,54,10,99,12,14,28,56,
-112,224,96,144,64,253,188,13,112,224,192,129,3,7,103,1,135,181,29,56,112,
-224,96,48,193,253,121,27,112,49,208,209,209,65,136,6,152,253,206,225,138,
-138,186,36,44,204,115,1,109,114,224,192,129,131,115,130,242,69,208,181,
-23,47,94,252,198,27,111,2,97,0,128,190,253,85,0,19,32,143,61,182,119,225,
-194,107,46,134,113,14,28,56,112,112,54,248,66,196,218,237,237,127,107,107,
-187,20,88,4,116,1,12,80,1,165,151,180,97,192,39,192,139,126,127,251,69,
-53,209,129,3,7,14,250,135,162,26,130,0,0,0,1,0,73,68,65,84,47,4,107,123,
-60,110,32,42,44,44,54,42,202,96,140,157,62,77,116,189,55,181,36,2,160,64,
-164,170,58,138,191,3,7,14,6,34,190,16,220,196,24,128,206,5,11,146,125,190,
-130,35,71,242,191,246,181,175,0,29,128,209,211,165,3,198,153,84,20,7,159,
-55,90,75,23,40,138,82,88,251,121,219,225,192,193,231,128,47,4,107,3,0,88,
-68,132,59,38,38,50,54,54,202,227,113,245,196,203,42,224,2,220,128,11,80,
-220,238,1,49,11,225,236,212,3,65,213,22,42,138,178,160,180,245,243,48,234,
-236,208,163,165,220,175,158,239,22,214,246,246,188,55,48,27,231,197,224,
-179,66,109,161,18,132,127,185,83,120,145,206,136,228,160,87,124,113,88,
-27,166,201,0,104,154,209,203,235,173,1,167,129,83,64,39,96,158,60,249,217,
-39,159,180,247,113,181,181,181,107,154,255,162,25,95,252,80,105,43,147,
-209,253,168,231,187,3,6,57,87,175,7,202,94,169,106,229,191,114,59,91,142,
-150,193,190,219,109,125,203,209,50,96,253,213,57,0,152,9,192,100,96,166,
-141,30,125,100,152,18,235,31,0,0,1,0,73,68,65,84,172,59,129,72,118,150,
-6,158,231,184,189,108,121,138,114,101,73,75,239,54,247,31,44,4,253,206,
-234,76,70,134,50,6,68,68,121,161,161,170,106,159,162,135,10,120,128,138,
-176,176,223,71,69,241,61,36,90,81,81,225,195,15,223,219,91,6,198,112,250,
-52,54,110,252,241,154,53,119,92,8,131,131,48,127,254,252,178,178,229,59,
-171,111,126,40,7,252,213,85,76,6,192,52,77,195,48,228,148,34,226,187,8,
-86,245,23,201,151,207,7,202,142,182,50,54,218,166,158,218,125,197,0,128,
-178,35,205,166,153,104,147,81,237,190,98,96,222,184,36,195,48,18,111,121,
-67,191,5,96,204,48,12,198,24,147,253,82,85,213,118,143,113,102,52,77,107,
-149,66,85,85,69,81,248,207,115,176,52,148,22,251,87,206,252,189,45,251,
-151,142,102,166,105,226,248,99,87,141,41,40,47,47,88,81,50,251,245,91,146,
-130,227,240,126,149,150,243,48,99,15,219,3,82,208,179,115,112,237,92,157,
-114,48,112,49,68,88,91,243,251,59,186,186,104,47,79,187,52,173,31,179,10,
-237,186,235,186,118,50,138,254,51,0,0,1,0,73,68,65,84,236,176,126,209,245,
-14,195,232,232,45,169,174,99,225,66,156,56,209,107,130,243,139,73,119,221,
-53,177,172,108,235,67,123,11,50,111,78,52,77,0,138,97,0,96,166,245,98,139,
-55,243,95,164,173,11,130,228,185,215,205,71,89,241,190,234,45,89,94,206,
-68,39,124,135,144,183,123,247,191,173,92,185,117,95,205,150,172,108,78,
-190,199,27,15,1,121,215,206,73,52,77,211,226,44,57,192,84,109,152,166,169,
-242,88,156,153,124,220,226,41,185,227,46,151,11,231,202,110,231,204,146,
-204,30,63,140,248,37,175,150,189,31,53,127,123,197,17,31,165,113,156,169,
-133,229,252,223,253,55,70,252,4,192,243,154,166,121,86,174,157,47,234,119,
-48,160,48,68,20,146,93,143,62,58,62,45,109,86,90,90,70,79,215,91,149,111,
-1,95,57,83,25,234,176,97,136,137,113,199,196,124,57,38,38,122,196,136,176,
-184,56,244,118,37,38,98,248,112,40,138,235,98,248,6,48,51,123,213,238,60,
-84,172,252,209,222,38,66,136,166,105,132,114,214,162,28,186,174,83,90,125,
-87,120,184,199,227,113,43,69,185,193,0,0,1,0,73,68,65,84,187,221,170,170,
-42,133,53,60,111,107,233,130,64,173,53,116,238,92,91,216,203,100,186,255,
-121,45,121,55,160,16,126,111,65,105,107,114,234,36,0,135,124,173,166,174,
-235,186,174,55,149,191,82,129,9,201,139,231,173,1,14,29,107,178,124,104,
-170,248,85,5,48,97,116,28,165,148,54,149,94,29,30,25,185,161,154,16,77,
-211,52,77,163,180,102,67,100,100,56,119,112,67,173,160,114,195,48,12,195,
-32,132,16,210,84,250,237,168,200,200,200,176,176,48,183,219,125,87,105,
-176,233,193,18,180,101,106,109,161,146,178,188,12,64,241,28,85,117,187,
-221,110,119,97,21,165,148,54,149,44,112,91,45,121,102,165,193,228,50,141,
-174,235,148,82,26,63,102,46,128,195,199,124,154,86,189,33,106,216,176,13,
-213,148,54,237,189,202,237,118,187,92,119,213,112,203,197,122,69,160,18,
-46,76,84,231,239,61,14,112,205,199,48,106,55,68,68,132,139,206,181,123,
-54,176,83,100,191,122,115,138,234,186,126,174,58,146,131,1,132,33,194,218,
-39,58,58,226,219,218,106,219,218,222,234,233,202,36,18,246,103,198,0,0,
-1,0,73,68,65,84,20,80,248,196,58,44,204,213,91,160,97,24,0,174,0,142,0,
-62,96,65,31,213,81,10,211,196,197,140,87,226,127,184,254,118,160,114,245,
-47,171,253,126,191,223,223,69,40,0,70,9,165,148,16,162,249,246,46,188,100,
-193,118,57,67,241,28,229,202,189,45,166,153,148,50,17,40,123,169,210,86,
-197,91,43,95,42,3,80,188,175,198,214,74,107,246,21,3,235,175,242,134,74,
-168,201,99,38,5,72,210,189,231,245,254,172,165,100,30,80,60,123,125,181,
-165,47,215,20,206,46,6,214,87,191,177,116,52,243,46,184,19,40,127,165,188,
-153,82,170,105,90,227,145,74,172,206,157,78,70,141,153,139,202,35,62,77,
-211,252,126,191,191,241,131,74,96,245,156,105,132,16,74,117,202,0,24,196,
-239,215,52,77,107,122,252,59,95,254,230,207,133,107,91,115,93,43,95,1,0,
-147,25,134,65,41,165,205,79,124,55,230,107,183,87,73,222,231,231,151,1,
-166,105,171,222,45,37,87,42,179,139,3,218,103,54,111,159,16,246,50,40,169,
-186,43,50,125,85,69,64,98,225,87,111,18,179,97,67,93,144,233,0,0,1,0,73,
-68,65,84,24,186,174,19,66,124,149,175,86,1,24,23,63,66,211,136,1,96,199,
-85,195,135,143,191,181,18,0,96,154,134,97,84,173,183,72,213,130,164,132,
-75,165,154,134,97,24,134,222,92,250,237,168,249,1,61,187,117,110,183,110,
-94,83,168,4,150,133,226,217,74,225,190,30,156,210,52,77,211,8,33,148,82,
-49,59,9,78,229,96,144,96,136,176,182,226,114,13,7,18,85,53,238,210,75,227,
-162,163,227,194,195,227,0,113,13,3,0,197,239,215,219,219,253,39,79,118,
-80,106,244,126,202,198,3,196,2,49,64,196,69,52,255,12,96,96,166,153,185,
-108,251,92,224,23,219,159,108,210,52,205,79,12,0,134,65,9,33,148,54,63,
-113,199,29,85,171,126,253,247,191,255,189,189,189,253,244,233,211,93,93,
-93,190,221,121,40,207,223,89,109,24,89,243,215,1,229,71,124,60,44,109,46,
-127,185,28,0,80,188,175,154,203,11,205,141,135,128,121,99,147,12,51,4,204,
-123,213,122,160,236,104,11,159,104,183,84,244,145,55,241,150,55,42,215,
-1,91,231,22,86,27,134,81,93,56,167,24,179,3,60,32,0,0,1,0,73,68,65,84,243,
-30,245,109,201,54,77,211,52,71,143,203,3,42,143,54,81,74,9,169,45,219,137,
-156,148,88,74,99,51,191,53,27,59,246,215,104,26,33,164,217,247,62,224,77,
-137,211,8,33,132,16,195,0,96,82,66,52,173,233,233,245,119,214,0,179,31,
-121,175,173,173,237,212,169,83,157,157,157,254,59,39,150,3,48,13,74,41,
-165,205,79,223,185,182,6,200,217,250,135,79,63,253,244,179,207,62,235,236,
-236,212,26,119,231,1,204,228,209,125,115,201,138,130,242,117,149,60,216,
-228,240,61,58,15,229,249,59,171,179,54,19,223,174,60,0,107,246,159,62,221,
-222,222,126,242,228,189,83,170,246,237,0,102,63,242,71,94,93,71,71,199,
-155,107,193,75,226,212,28,186,242,201,219,71,215,117,253,192,125,83,214,
-214,0,40,200,153,74,8,209,173,69,135,85,175,126,242,73,91,91,219,169,83,
-247,207,162,85,133,185,91,1,172,173,176,60,37,190,221,121,64,121,193,206,
-106,195,200,218,108,255,206,120,119,181,60,126,251,234,170,213,175,181,
-181,181,181,183,183,115,223,27,118,229,89,169,141,70,96,109,156,0,0,1,0,
-73,68,65,84,150,61,155,139,1,204,219,211,36,252,162,149,235,96,94,105,59,
-117,199,27,167,78,181,181,181,157,60,121,239,228,174,174,174,174,46,191,
-223,207,137,155,123,225,16,247,32,197,80,97,109,192,4,104,82,18,222,125,
-23,62,31,150,44,145,159,50,0,136,218,191,191,53,45,109,207,248,241,123,
-255,252,231,79,129,40,192,37,93,110,155,199,25,160,1,56,155,143,150,92,
-120,48,198,24,139,191,177,248,103,94,212,109,120,252,128,166,113,62,96,
-58,33,132,208,186,146,117,181,192,174,107,47,187,236,178,232,232,232,75,
-46,185,36,50,50,50,109,101,5,128,67,141,77,148,38,164,229,2,219,94,175,
-226,20,241,65,57,214,148,149,173,1,182,190,206,103,205,190,35,229,200,189,
-198,59,138,10,112,122,178,232,118,158,77,210,166,217,124,164,28,107,223,
-124,179,215,188,25,15,150,173,1,182,229,21,22,22,230,109,67,238,47,183,
-223,20,103,149,56,202,187,48,23,120,223,215,76,8,109,109,250,0,72,79,24,
-73,41,141,77,188,220,186,75,90,106,94,171,67,246,252,233,35,56,167,24,6,
-32,76,88,152,0,0,1,0,73,68,65,84,3,96,152,134,97,156,120,235,245,58,96,
-197,139,207,93,31,207,73,83,215,117,61,49,45,23,128,73,41,165,122,107,237,
-239,106,129,130,23,158,254,126,172,222,13,147,9,5,169,122,231,202,10,96,
-91,46,87,24,56,210,86,148,219,237,67,13,6,192,180,180,24,123,68,172,57,
-234,211,236,248,116,230,79,62,187,127,6,161,18,186,131,110,0,40,95,145,
-230,137,138,138,138,142,142,30,249,157,95,2,64,193,11,155,166,51,198,152,
-201,0,228,191,208,186,97,10,33,150,180,85,189,239,17,0,119,236,127,96,38,
-229,164,77,227,22,111,255,133,213,67,86,225,12,96,166,174,235,122,237,238,
-219,171,128,157,223,138,137,137,137,142,142,30,62,124,248,176,97,195,248,
-44,224,80,99,19,173,222,177,178,2,88,83,246,219,197,82,231,205,122,176,
-227,129,89,194,41,30,98,251,249,148,37,36,220,118,136,123,144,98,136,176,
-182,5,151,11,35,70,32,38,6,81,81,242,109,29,0,40,33,255,104,107,251,184,
-189,253,99,93,255,12,232,0,254,9,180,217,215,255,1,23,111,27,223,217,130,
-139,203,66,4,0,0,1,0,73,68,65,84,129,49,198,76,51,254,251,171,10,128,189,
-143,190,120,66,215,25,0,166,19,74,41,53,122,29,96,24,37,154,54,50,227,91,
-115,129,195,13,62,77,211,170,95,223,142,219,230,78,159,145,123,27,240,151,
-99,77,132,144,234,125,255,5,140,79,138,229,12,34,17,183,174,235,166,153,
-56,247,186,121,192,95,124,173,166,174,87,191,254,8,110,207,155,53,51,239,
-118,224,112,104,94,66,8,153,241,159,175,173,6,182,111,223,142,213,175,189,
-116,125,44,231,41,66,8,137,77,188,28,168,122,181,246,184,174,183,28,171,
-67,190,119,170,78,41,37,83,114,10,80,187,239,192,113,66,154,125,7,128,177,
-241,35,41,229,58,3,39,29,67,215,141,19,190,3,64,118,74,188,21,75,82,74,
-8,33,84,55,0,24,186,174,235,180,165,161,14,200,78,137,231,209,41,79,70,
-168,206,0,198,137,81,55,250,108,31,254,92,167,130,221,254,253,250,162,76,
-224,209,69,113,113,113,95,253,234,87,163,55,213,216,94,16,77,211,186,135,
-133,94,40,175,224,133,214,230,187,167,89,180,14,64,18,79,8,33,190,59,26,
-157,28,0,0,1,0,73,68,65,84,198,195,0,86,207,153,38,56,84,211,180,216,164,
-203,1,28,62,214,196,239,81,6,48,93,167,148,246,105,185,175,225,48,128,219,
-230,78,151,139,18,228,108,53,16,165,194,114,17,101,243,134,10,90,199,118,
-48,136,48,68,246,144,88,96,12,132,0,150,68,45,112,41,16,141,131,192,239,
-197,254,191,211,128,18,30,17,53,44,82,164,233,232,248,39,95,171,191,120,
-214,158,13,172,183,107,198,146,7,51,247,220,251,227,103,223,125,12,0,76,
-211,160,148,254,181,249,40,128,229,207,248,238,201,112,241,5,52,190,81,
-129,199,130,157,157,157,95,137,27,11,236,62,210,208,217,217,176,111,39,
-86,253,106,138,191,11,57,183,98,199,175,43,26,175,203,108,248,11,176,42,
-103,114,87,87,151,216,124,194,75,240,120,60,138,162,36,165,78,2,182,53,
-52,153,70,227,27,219,113,219,111,167,105,126,115,246,173,248,121,104,94,
-69,81,24,99,196,106,248,195,199,124,254,41,137,138,184,63,53,103,21,118,
-238,58,214,162,31,172,42,65,102,209,40,93,167,138,162,170,113,201,217,216,
-227,107,53,223,241,147,212,36,0,0,1,0,73,68,65,84,173,45,5,150,102,77,225,
-27,25,85,213,52,236,61,34,204,4,128,177,9,35,8,33,134,97,88,187,49,52,157,
-1,48,117,74,41,23,131,199,37,198,113,141,130,49,102,24,134,98,81,49,209,
-52,237,163,99,135,1,172,250,213,223,254,35,67,17,45,35,130,229,206,206,
-15,137,9,64,215,186,186,56,37,51,54,98,225,238,195,215,126,252,155,252,
-220,123,235,1,236,186,246,178,93,88,249,210,71,247,101,40,170,170,186,221,
-110,190,77,197,118,13,192,188,221,141,175,253,96,164,21,213,234,186,206,
-77,178,89,155,49,195,208,173,117,69,67,227,149,17,191,223,47,237,192,211,
-56,197,18,77,211,128,110,211,155,125,239,3,40,120,161,117,227,116,38,250,
-5,246,214,189,15,159,211,45,187,187,20,4,239,231,235,142,181,169,206,91,
-201,226,104,190,205,198,229,114,137,141,55,231,251,191,170,131,11,142,161,
-21,107,247,130,221,128,15,212,135,78,31,186,248,149,139,174,107,150,126,
-207,231,251,31,251,250,211,53,215,44,110,111,199,192,18,70,122,64,194,247,
-10,150,1,79,148,150,54,2,10,26,172,13,0,0,1,0,73,68,65,84,224,12,21,151,
-48,22,192,222,154,183,69,52,42,130,47,43,124,158,234,205,7,118,87,212,213,
-85,236,70,126,214,55,252,126,77,155,236,45,64,205,111,170,234,170,127,87,
-11,111,242,72,77,6,231,71,107,205,42,123,193,58,224,145,253,181,181,251,
-183,227,71,115,166,81,74,200,212,156,21,189,228,173,251,241,119,119,193,
-91,80,224,69,237,157,133,79,55,219,209,31,33,132,196,38,123,129,146,234,
-23,78,28,67,230,130,140,56,75,8,30,153,48,22,40,173,125,249,120,3,144,145,
-60,202,162,54,93,215,133,195,12,12,64,105,205,187,34,92,229,241,51,3,192,
-76,33,82,236,173,121,151,219,108,79,22,12,6,48,211,208,117,61,54,49,29,
-192,174,55,15,4,70,163,182,172,76,56,193,25,6,165,132,16,161,14,25,177,
-215,148,54,52,52,54,54,250,158,89,14,96,119,197,91,33,19,145,160,229,195,
-96,116,111,207,86,20,33,124,199,38,140,19,165,9,103,154,155,62,0,144,158,
-48,82,231,226,57,179,196,175,17,241,227,0,236,169,168,23,150,11,173,131,
-16,50,50,97,28,192,223,186,48,0,0,1,0,73,68,65,84,128,93,229,7,196,35,46,
-91,235,186,110,24,58,31,48,96,111,68,145,245,16,39,190,30,236,248,66,176,
-246,37,64,76,224,21,14,68,68,125,41,38,230,50,251,26,17,17,113,9,223,9,
-109,127,208,117,192,181,140,21,184,206,88,252,64,6,14,30,60,8,0,140,153,
-166,105,76,201,186,5,64,233,146,177,155,223,225,172,173,235,186,174,183,
-62,191,36,185,232,32,151,47,167,121,151,3,71,118,237,42,193,178,172,201,
-156,41,190,145,189,28,117,175,237,124,173,14,153,243,166,94,22,32,122,10,
-230,98,140,49,150,189,96,45,112,184,248,145,159,99,213,220,153,156,182,
-38,103,231,135,230,165,244,173,7,23,237,65,246,230,162,141,27,139,182,100,
-163,110,195,198,231,78,8,110,50,226,102,206,207,6,74,54,110,58,128,203,
-71,199,195,102,147,201,153,183,0,13,111,190,121,16,25,87,206,24,5,177,255,
-154,71,171,96,12,211,114,150,2,40,93,178,229,160,45,4,183,62,191,36,115,
-67,157,221,38,234,172,185,249,0,74,111,218,242,142,41,228,139,227,117,175,
-215,217,237,198,102,77,106,36,126,0,0,1,0,73,68,65,84,204,41,0,176,103,
-81,210,3,22,87,82,74,165,246,137,75,28,7,160,225,248,71,246,246,240,247,
-182,93,177,237,15,156,114,21,69,65,66,106,54,16,200,126,103,56,244,40,238,
-43,0,160,168,46,151,216,34,205,166,123,243,1,236,185,190,232,29,174,122,
-153,230,219,69,153,27,234,128,130,57,51,248,29,131,15,72,58,165,116,114,
-214,82,0,165,55,165,111,57,40,89,126,252,249,37,169,69,7,13,115,90,14,47,
-234,166,103,91,187,59,238,224,3,9,15,28,84,148,164,148,241,0,26,78,252,
-213,218,39,46,79,164,92,46,151,216,63,126,126,255,139,58,184,56,24,112,
-220,116,113,96,2,102,160,138,98,154,134,162,0,208,129,147,64,251,192,148,
-185,21,69,81,213,132,239,175,88,38,126,103,140,153,230,148,181,165,55,3,
-192,99,75,198,142,29,59,118,236,216,180,180,180,180,180,156,141,7,192,96,
-81,76,66,74,38,234,235,235,177,204,59,205,222,237,48,57,107,41,234,235,
-235,145,49,111,218,72,190,209,216,142,34,133,232,201,107,76,73,207,67,101,
-101,21,86,231,206,100,42,95,136,4,0,0,1,0,73,68,65,84,166,105,82,139,77,
-130,242,30,127,254,135,55,150,32,179,232,254,235,70,49,22,191,232,167,155,
-179,113,96,99,214,230,183,13,91,72,141,29,157,206,139,244,142,73,178,100,
-10,195,48,204,81,201,214,24,148,158,20,111,199,164,134,33,199,176,211,110,
-184,63,3,192,227,75,39,77,154,52,105,194,132,9,233,115,238,57,96,27,167,
-170,170,170,206,90,178,57,27,64,233,146,116,238,123,106,106,170,205,234,
-124,168,155,181,233,133,2,0,40,185,49,53,53,117,204,152,49,99,198,140,17,
-237,99,53,14,234,239,203,157,112,197,21,87,124,253,235,143,188,7,224,137,
-101,19,39,78,76,79,79,79,75,75,75,203,217,116,0,217,155,151,204,228,5,10,
-178,238,145,178,229,173,147,246,89,72,197,229,114,113,93,69,81,20,96,198,
-221,207,230,3,40,185,33,37,37,37,37,53,53,53,245,7,37,0,188,15,253,112,
-166,189,229,218,100,214,22,65,195,152,178,246,177,155,97,59,63,113,226,
-196,241,227,199,167,167,207,185,167,158,247,236,180,13,207,44,7,80,127,
-79,206,184,113,227,184,239,41,214,7,214,46,0,0,1,0,73,68,65,84,55,148,0,
-138,170,170,201,227,102,3,181,119,205,74,74,75,75,155,48,97,235,123,106,
-55,184,66,210,61,44,57,24,108,24,90,172,173,40,8,11,3,0,215,89,159,127,
-97,12,170,10,224,16,48,30,72,3,246,247,145,216,227,129,170,226,226,79,52,
-45,113,115,230,226,159,102,91,191,114,213,24,83,215,29,58,84,246,147,140,
-128,196,203,158,106,216,48,205,58,82,152,148,125,117,54,128,101,179,167,
-119,51,227,228,204,155,1,96,108,252,72,75,19,176,183,181,49,251,48,30,199,
-232,220,235,114,1,220,54,127,22,0,139,109,131,242,126,244,114,126,222,189,
-245,88,250,100,201,247,70,113,182,74,184,254,167,91,178,129,210,37,203,
-94,254,200,228,199,210,103,204,206,7,0,239,55,179,146,44,202,96,140,177,
-184,233,243,50,0,32,51,53,81,220,12,112,88,81,70,125,119,207,33,62,44,113,
-220,252,216,177,218,34,175,253,28,64,252,162,39,142,61,179,172,59,65,102,
-81,125,253,22,47,160,40,176,35,220,141,199,142,213,62,152,217,67,251,40,
-138,146,120,253,147,82,110,5,83,192,129,223,15,0,0,1,0,73,68,65,84,239,
-44,191,95,110,202,236,45,245,79,46,138,135,221,110,86,91,245,17,107,11,
-13,218,165,2,112,185,195,194,60,30,15,231,74,85,85,213,89,155,90,235,31,
-242,6,148,223,242,212,245,9,65,4,106,113,255,148,117,127,250,211,190,251,
-102,6,148,191,244,169,163,188,103,149,153,27,27,27,101,207,129,229,207,
-124,120,239,76,69,81,70,47,126,249,183,63,234,190,45,31,154,149,209,163,
-253,14,6,56,134,200,223,178,89,255,208,67,255,125,247,221,213,201,201,158,
-178,50,140,24,129,187,239,198,158,61,125,164,95,8,124,105,237,218,167,183,
-109,19,119,110,188,241,246,143,63,222,241,220,115,253,170,142,82,44,92,
-8,175,183,104,219,182,77,255,162,229,103,4,15,141,133,26,203,137,149,147,
-181,224,89,241,53,18,254,169,194,160,137,48,95,194,226,116,44,54,90,200,
-33,33,108,174,228,81,97,120,120,120,100,100,100,68,68,68,120,120,56,47,
-144,107,202,126,191,191,179,179,83,216,16,148,151,215,232,118,187,249,50,
-38,99,76,68,238,138,162,184,92,46,126,106,81,85,85,251,52,86,69,246,159,
-0,0,1,0,73,68,65,84,35,225,133,240,37,62,145,133,123,199,179,240,117,63,
-121,219,6,79,28,30,30,206,75,227,46,232,246,130,155,98,127,168,196,243,
-199,135,83,110,40,201,41,126,247,217,27,18,77,251,212,34,159,64,240,100,
-114,251,192,14,252,133,95,98,61,150,211,28,119,208,94,41,85,221,110,119,
-88,88,24,183,129,59,107,24,134,16,151,121,219,186,92,46,143,199,195,201,
-90,184,64,41,101,246,201,123,110,42,103,127,72,167,204,25,251,240,217,155,
-102,109,52,139,42,75,174,29,101,55,8,135,162,40,98,231,34,183,141,91,46,
-119,7,183,141,55,142,232,56,46,118,3,240,120,60,17,17,17,17,246,73,75,30,
-113,59,220,61,232,48,68,246,144,240,191,79,227,57,113,2,51,102,64,85,209,
-217,217,119,250,208,175,73,141,30,61,188,178,50,58,35,163,231,244,193,213,
-49,156,58,133,196,196,168,51,39,61,79,16,210,164,8,154,56,185,192,102,147,
-32,58,80,3,161,216,95,177,16,175,168,136,169,101,78,15,205,37,151,230,178,
-1,137,194,130,242,202,243,110,85,250,242,134,28,223,137,210,221,201,228,
-78,0,0,1,0,73,68,65,84,96,15,48,156,205,5,171,138,210,120,26,211,52,93,
-46,23,147,190,52,210,29,170,219,1,175,34,125,226,67,85,127,191,249,134,
-18,192,123,117,102,130,208,160,67,173,146,221,20,35,144,24,255,130,158,
-138,214,14,173,58,180,131,0,240,189,225,156,25,133,162,34,184,213,37,205,
-5,131,119,16,190,243,228,198,3,64,182,162,170,170,106,187,204,107,23,85,
-200,194,180,105,154,110,183,155,207,0,68,127,201,182,137,44,242,40,43,76,
-114,40,123,48,98,168,176,182,97,156,6,62,50,77,207,63,254,209,159,244,159,
-1,195,164,141,10,0,238,187,239,158,117,235,238,164,189,125,128,42,4,97,
-97,136,138,26,118,182,118,158,27,100,70,16,209,52,236,183,78,215,117,241,
-238,9,70,147,57,87,166,75,206,140,130,137,4,217,241,160,79,68,115,65,11,
-86,130,67,57,65,40,210,210,22,2,3,70,145,145,199,197,194,30,177,37,49,136,
-68,56,133,9,214,230,113,43,183,144,143,16,178,92,195,19,240,42,32,81,231,
-255,190,120,115,214,198,3,193,173,182,226,214,69,163,44,210,54,165,92,33,
-6,187,0,0,1,0,73,68,65,84,143,2,2,193,223,216,18,62,114,51,100,138,15,226,
-101,153,10,229,40,53,168,131,120,51,242,88,91,20,40,179,182,42,173,4,218,
-46,191,243,96,226,162,71,237,186,178,23,100,37,185,92,134,97,184,236,159,
-162,119,228,126,17,85,139,54,81,165,169,131,24,141,196,77,225,20,15,222,
-185,109,14,113,15,58,12,17,214,78,140,138,250,48,58,218,219,239,237,214,
-167,128,233,195,135,203,119,34,35,135,69,70,94,36,22,62,43,200,156,43,166,
-180,114,132,40,98,82,244,244,57,183,160,104,151,191,243,130,103,67,89,155,
-79,237,165,213,51,139,191,56,183,134,133,133,1,224,34,64,80,94,161,177,
-168,129,226,169,32,116,193,56,162,106,62,2,9,193,151,243,136,204,218,188,
-124,93,215,249,83,33,110,40,82,100,13,64,81,131,187,221,251,179,183,159,
-90,20,47,4,104,206,218,130,82,101,206,149,139,226,94,200,202,190,248,41,
-32,70,166,160,66,20,123,210,192,141,228,148,45,134,1,94,172,120,42,254,
-230,134,170,170,124,208,53,205,238,90,86,188,120,98,211,140,238,175,57,
-138,75,16,197,107,0,0,1,0,73,68,65,84,182,229,157,34,154,75,9,156,114,201,
-83,10,94,157,60,26,137,1,67,12,216,206,126,237,193,139,33,162,107,251,253,
-254,142,206,78,210,239,244,30,32,42,34,34,114,216,64,164,233,32,240,23,
-140,159,66,230,194,40,236,152,90,168,177,98,94,47,232,91,196,119,176,35,
-101,65,49,156,254,120,50,193,89,226,166,208,166,249,236,94,126,42,159,119,
-15,205,43,130,119,81,81,168,130,33,4,4,249,243,170,50,139,9,193,93,176,
-54,179,181,120,193,68,114,144,43,166,14,130,61,5,37,241,42,184,230,11,155,
-109,101,167,196,136,18,90,166,25,242,117,83,25,124,58,194,181,99,209,17,
-114,7,113,214,230,213,241,44,65,79,197,136,24,186,8,44,122,92,108,63,23,
-70,242,50,197,151,8,101,199,69,70,81,136,220,227,242,80,196,73,159,119,
-177,124,38,203,193,32,194,16,137,181,249,26,203,231,109,197,5,132,80,129,
-5,211,241,251,156,65,100,6,20,204,37,51,166,8,81,197,83,158,61,136,97,17,
-40,52,43,129,211,112,17,26,7,113,37,147,142,26,246,17,187,201,228,40,170,
-68,221,39,0,0,1,0,73,68,65,84,22,18,101,219,24,99,242,125,113,211,12,252,
-211,7,50,228,160,88,64,156,211,17,113,40,164,209,72,118,77,110,31,185,156,
-96,173,57,208,11,151,4,209,164,65,29,164,74,194,125,232,83,185,233,228,
-147,138,188,82,78,217,34,163,8,207,131,134,210,160,30,148,123,86,174,69,
-238,35,4,46,120,244,209,89,14,6,50,134,8,107,15,97,40,146,196,33,199,200,
-34,88,19,52,42,238,203,148,45,152,52,232,29,70,160,2,16,26,20,203,99,131,
-176,193,227,241,200,140,166,132,196,212,125,59,34,254,33,87,7,91,141,133,
-29,59,247,49,2,201,144,199,9,97,137,88,155,229,148,45,15,12,30,27,242,98,
-96,80,9,65,220,215,163,11,66,229,23,70,134,118,144,26,184,18,27,250,84,
-212,37,244,101,121,124,18,148,205,127,42,138,226,241,120,68,116,175,6,174,
-160,202,109,27,100,179,220,137,65,195,164,108,155,131,193,5,135,181,7,1,
-20,91,193,148,223,177,160,240,48,8,189,177,118,63,171,11,77,220,163,13,
-161,149,6,101,233,187,162,208,210,92,189,111,180,15,42,92,28,31,178,179,
-0,0,0,195,73,68,65,84,38,214,160,112,82,8,41,66,67,87,237,237,122,66,178,
-151,23,9,67,219,167,55,226,150,199,24,185,149,66,27,39,168,13,67,159,202,
-201,68,172,205,197,25,46,7,201,203,21,34,208,22,154,140,204,218,61,90,46,
-151,31,218,128,194,17,135,181,7,35,28,214,30,28,16,47,170,124,7,103,250,
-166,68,80,80,220,91,201,232,233,149,62,103,27,250,102,246,243,133,30,67,
-111,69,146,89,96,171,25,176,229,17,177,211,89,14,228,101,71,206,88,5,2,
-9,55,232,126,31,5,246,241,84,140,43,124,218,36,207,21,20,91,38,18,218,78,
-144,114,213,183,229,103,236,5,135,178,7,41,134,200,106,164,3,7,242,49,34,
-177,26,201,31,169,246,102,115,190,135,100,192,198,152,194,5,249,240,148,
-34,41,233,142,30,237,0,192,255,3,111,169,68,2,248,173,80,128,0,0,0,0,73,
-69,78,68,174,66,96,130};
-
-static size_t xml_res_size_23 = 966;
-static unsigned char xml_res_file_23[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,3,67,73,68,65,84,56,141,125,144,89,76,
-83,9,20,134,207,237,134,74,233,2,212,130,92,41,180,40,38,90,129,161,184,
-129,243,224,60,96,92,98,12,169,15,196,68,77,141,154,248,224,66,98,141,91,
-226,190,51,58,9,51,100,234,196,73,68,84,98,92,169,130,88,22,41,216,10,5,
-181,10,33,69,105,65,171,183,84,58,222,46,116,189,199,23,33,74,154,249,147,
-239,233,156,252,57,231,35,234,27,91,229,169,41,98,99,174,34,75,234,15,4,
-156,244,87,207,146,186,91,117,9,1,58,112,56,145,159,88,66,102,146,156,188,
-252,60,79,48,20,180,250,124,190,186,210,210,82,61,252,16,246,177,227,199,
-253,150,151,111,61,195,31,62,45,151,101,146,82,22,139,85,114,243,70,237,
-26,175,207,155,22,137,70,188,49,6,51,40,138,146,171,55,168,243,120,92,110,
-249,243,206,206,210,14,163,241,69,126,65,129,11,0,0,220,95,254,163,95,189,
-181,217,187,95,246,127,236,183,57,112,108,204,195,60,109,110,43,67,68,152,
-160,230,90,205,112,52,18,193,49,183,27,223,13,14,198,14,28,56,104,217,188,
-121,11,15,17,129,184,247,168,185,39,71,62,187,128,97,88,48,98,183,217,36,
-169,41,2,6,8,199,226,162,194,197,0,0,42,149,138,123,69,119,197,156,51,39,
-103,129,94,175,7,187,221,49,206,229,114,4,197,197,197,97,131,193,240,55,
-107,192,102,255,173,187,167,111,100,212,53,138,111,172,175,146,27,159,52,
-6,103,74,36,69,245,250,6,13,0,128,84,42,61,197,99,17,115,116,58,221,53,
-139,165,71,161,213,238,19,90,173,86,131,94,255,136,151,157,45,47,36,16,
-17,206,254,174,219,22,141,70,54,100,146,179,114,37,169,34,126,118,150,76,
-20,8,248,60,231,206,158,214,252,81,89,121,155,114,187,77,74,165,114,57,
-34,50,0,0,26,141,134,151,144,48,173,138,162,168,125,4,34,78,26,221,127,
-248,12,59,57,89,252,207,210,37,170,117,66,176,138,100,242,133,204,23,175,
-192,95,166,86,47,236,237,237,181,67,188,252,40,107,130,51,71,202,111,184,
-26,102,34,221,158,139,39,181,171,163,205,45,207,230,199,219,67,68,96,77,
-45,188,176,147,32,55,169,238,149,136,132,98,8,5,66,80,176,76,205,150,166,
-165,153,91,90,219,139,227,29,240,83,193,161,77,4,111,69,33,81,39,16,165,
-146,193,48,3,15,205,73,175,103,136,231,69,132,66,81,98,6,73,54,181,61,51,
-174,250,223,130,236,116,184,160,144,73,150,114,184,124,248,234,101,156,
-20,53,250,107,71,167,249,212,208,144,35,202,231,207,152,158,158,158,113,
-199,216,241,124,99,92,7,213,21,176,146,170,79,138,197,186,149,56,218,148,
-139,167,119,102,236,158,116,114,177,234,92,167,201,18,117,126,118,97,255,
-192,187,112,187,209,188,107,98,6,136,8,58,45,164,124,188,203,25,30,55,42,
-208,211,170,196,154,163,89,134,169,178,42,47,233,170,77,93,189,49,202,229,
-198,254,129,247,145,118,163,233,196,164,196,194,185,240,87,146,80,50,155,
-97,9,129,166,195,159,29,159,198,203,167,254,186,103,215,214,29,93,93,150,
-235,142,225,15,200,225,114,217,180,215,191,230,190,190,105,61,91,66,31,
-229,44,203,23,253,203,23,231,112,60,158,32,222,111,163,183,87,92,118,154,
-226,25,95,84,244,203,221,7,143,155,242,146,166,39,10,251,6,250,22,120,125,
-129,189,4,34,66,195,159,115,215,166,8,18,206,143,56,253,45,101,218,161,
-10,0,224,125,135,3,0,4,0,196,0,32,10,0,97,0,8,85,85,95,173,149,201,72,197,
-120,48,52,248,13,139,240,202,68,196,151,235,84,0,0,0,0,73,69,78,68,174,
-66,96,130};
-
-static size_t xml_res_size_24 = 547;
-static unsigned char xml_res_file_24[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,1,160,73,68,65,84,56,141,173,147,207,106,
-19,81,20,135,191,59,115,71,221,69,176,79,226,162,175,224,194,80,27,19,167,
-141,13,85,116,81,40,244,105,4,161,32,248,183,38,36,116,32,80,124,136,46,
-92,116,227,19,212,213,56,100,32,196,153,204,157,115,92,52,153,100,16,193,
-160,63,56,187,251,29,190,123,14,199,168,42,255,18,11,112,121,249,117,2,
-52,54,100,211,237,237,251,119,45,64,150,101,141,173,173,123,88,107,255,
-138,116,206,17,199,63,26,149,65,158,231,92,95,127,223,80,224,38,11,131,
-156,102,243,1,198,24,138,162,192,57,71,81,20,136,8,34,130,170,34,34,148,
-101,73,89,150,56,231,184,186,250,182,106,144,231,25,198,24,94,189,62,173,
-117,63,60,216,199,243,60,6,163,136,199,143,154,140,162,49,0,173,157,135,
-228,121,86,55,0,56,57,62,2,64,68,42,19,231,28,123,157,22,34,66,55,108,87,
-38,75,166,154,1,80,51,240,125,159,23,207,122,168,42,253,225,57,157,214,
-14,253,225,57,0,97,123,183,98,236,242,241,186,193,50,69,81,160,170,60,221,
-235,32,34,28,236,63,169,230,177,100,44,128,181,254,111,6,39,199,71,88,107,
-81,85,222,127,234,19,182,119,57,27,140,0,232,134,237,138,185,81,236,15,
-245,79,41,203,82,179,44,211,233,116,170,147,201,68,147,36,209,56,142,117,
-193,212,191,112,250,230,237,106,191,214,231,229,243,67,60,207,227,221,199,
-207,244,186,33,31,206,6,0,244,186,97,197,160,170,68,209,88,69,68,157,115,
-181,90,207,124,62,215,217,108,166,105,154,106,146,36,26,69,227,149,65,16,
-248,233,197,197,151,141,110,33,8,252,20,192,252,151,107,4,48,198,220,2,
-238,172,213,109,32,0,12,32,64,1,228,64,182,168,159,170,234,126,1,210,87,
-39,71,27,86,23,36,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_25 = 731;
-static unsigned char xml_res_file_25[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
-72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,2,88,73,68,65,84,56,141,141,146,95,72,
-83,81,28,199,191,247,114,181,57,39,194,89,82,178,72,31,210,151,132,65,15,
-34,87,81,130,66,193,127,79,25,216,68,26,230,20,169,185,45,98,133,65,25,
-56,42,122,112,17,200,16,124,14,7,66,212,67,17,152,14,34,189,72,152,65,160,
-50,2,197,10,239,126,108,115,133,103,211,157,94,54,89,102,230,15,206,203,
-225,124,62,191,223,249,158,35,17,17,142,82,237,237,237,77,161,80,232,45,
-17,237,228,238,43,71,129,7,6,6,60,189,189,189,15,42,43,43,131,140,49,123,
-174,228,191,130,91,213,213,222,211,173,173,215,205,102,115,65,91,91,91,
-151,16,34,205,24,235,201,74,14,21,12,169,170,199,81,86,118,255,219,220,
-156,180,96,50,253,56,223,216,120,194,237,118,119,43,138,178,203,24,115,
-16,209,206,63,5,67,170,234,185,106,177,140,20,11,145,95,0,224,251,230,102,
-201,226,194,194,86,83,75,75,145,211,233,180,151,150,150,26,25,99,93,210,
-65,33,230,194,201,237,109,124,173,169,193,69,159,15,171,203,203,152,157,
-153,73,92,238,236,52,73,146,132,64,32,16,148,143,2,55,120,189,88,157,152,
-192,153,138,10,64,211,140,31,231,231,99,138,162,160,182,182,182,225,143,
-9,238,169,170,187,203,98,241,229,194,23,70,70,240,197,239,71,121,71,7,222,
-249,124,56,62,57,137,21,73,74,153,252,254,173,247,154,246,12,68,4,34,130,
-221,110,119,245,215,215,79,127,168,171,227,159,85,85,188,116,187,69,108,
-125,93,124,242,251,69,108,109,77,76,57,28,34,196,152,152,45,44,20,83,138,
-194,47,201,242,109,34,194,30,28,14,135,19,186,174,167,28,170,58,29,28,28,
-220,229,156,139,197,209,81,17,219,216,248,11,190,34,203,158,108,227,61,
-88,100,74,215,245,228,221,254,254,112,60,26,21,156,243,67,97,34,130,98,
-48,24,78,50,198,142,101,115,48,155,205,121,55,134,135,79,61,246,122,195,
-103,211,233,114,75,48,40,11,206,17,225,60,25,76,167,239,60,213,245,39,251,
-131,151,156,78,231,195,104,52,186,35,114,42,18,137,36,175,89,173,111,94,
-24,141,252,160,206,123,87,200,188,130,228,114,185,30,237,151,16,81,178,
-167,170,234,181,77,150,111,2,144,14,19,148,0,176,246,245,245,5,114,37,75,
-75,75,17,155,205,214,13,32,31,128,1,64,17,128,226,204,50,1,200,203,126,
-229,24,128,162,177,177,177,231,241,120,220,210,220,220,124,46,145,72,164,
-198,199,199,95,105,154,150,0,80,151,57,19,7,240,19,192,47,0,156,136,82,
-191,1,15,132,144,175,125,174,182,28,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_26 = 354;
-static unsigned char xml_res_file_26[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
-0,181,250,55,234,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
-116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
-97,103,101,82,101,97,100,121,113,201,101,60,0,0,0,244,73,68,65,84,40,207,
-125,209,49,75,2,113,28,198,241,255,36,220,212,218,212,203,232,117,248,6,
-122,25,66,65,105,135,98,41,92,40,166,57,152,56,4,162,32,210,96,17,81,112,
-80,81,232,224,18,34,14,218,165,253,35,212,228,16,212,65,191,13,162,104,
-119,39,207,240,123,134,207,240,192,79,32,230,41,123,23,109,61,203,242,202,
-179,186,17,60,81,231,49,176,1,232,140,120,231,230,196,17,60,48,226,151,
-42,197,176,3,184,99,72,151,30,101,178,97,91,80,194,228,27,201,15,47,164,
-53,27,112,205,128,54,6,6,18,157,68,196,2,10,244,249,160,73,11,73,155,123,
-206,98,255,64,14,147,14,6,159,196,135,209,138,54,9,17,140,173,129,43,106,
-92,142,171,244,137,206,180,109,4,66,85,188,202,10,200,144,146,201,221,243,
-102,29,157,80,198,102,100,234,45,185,131,136,184,11,152,4,166,234,150,5,
-92,40,243,123,42,27,220,114,116,108,1,139,248,247,242,52,56,48,61,46,7,
-224,115,29,126,237,87,60,203,207,254,1,68,64,48,239,127,84,49,47,0,0,0,
-0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_27 = 705;
-static unsigned char xml_res_file_27[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,22,0,0,0,22,8,3,0,0,
-0,243,106,156,9,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
-89,115,0,0,3,118,0,0,3,118,1,125,213,130,204,0,0,0,25,116,69,88,116,83,
-111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
-46,111,114,103,155,238,60,26,0,0,1,53,80,76,84,69,255,255,255,53,53,53,
-141,141,132,68,68,68,145,145,136,70,70,70,85,85,85,91,91,91,157,158,156,
-98,98,98,166,168,164,169,172,168,70,70,69,90,90,89,110,110,110,113,113,
-113,155,157,153,173,175,171,175,177,174,46,52,54,59,59,59,67,67,66,67,67,
-67,72,72,71,74,75,74,77,77,76,81,82,81,82,82,81,85,85,84,86,87,85,89,89,
-88,90,91,89,91,92,90,93,94,93,96,97,95,97,98,96,101,102,100,102,103,101,
-104,104,104,104,105,103,105,105,105,105,106,104,106,107,106,108,108,108,
-110,112,108,111,112,110,113,113,113,115,117,113,116,116,114,120,122,118,
-121,121,121,125,127,123,129,131,127,131,132,128,135,135,135,136,136,136,
-144,145,142,147,147,147,148,148,148,154,154,154,160,160,160,167,168,165,
-169,170,167,170,171,168,171,171,171,176,176,175,177,178,175,184,186,183,
-190,190,190,192,193,190,197,197,197,199,200,198,206,206,204,206,207,206,
-209,209,209,219,219,219,220,220,220,221,221,221,222,222,222,224,224,224,
-225,225,225,225,226,224,226,226,226,228,228,228,229,229,229,229,230,229,
-231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,236,236,
-237,237,237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,
-245,245,245,246,246,246,246,247,246,247,247,247,248,248,248,143,16,126,
-209,0,0,0,19,116,82,78,83,0,29,29,30,30,182,188,190,190,192,193,196,251,
-251,252,252,252,252,253,24,34,112,59,0,0,0,223,73,68,65,84,24,25,5,193,
-189,46,4,81,24,0,208,115,55,31,59,161,32,17,65,187,34,91,240,6,10,133,78,
-240,192,18,133,66,162,22,141,66,161,103,227,39,155,221,25,115,191,235,28,
-0,0,64,49,233,186,211,18,101,50,41,90,102,171,207,253,48,42,186,155,221,
-2,0,249,121,183,20,186,237,1,0,216,221,92,10,39,233,21,0,115,117,254,36,
-140,233,12,0,61,35,33,155,53,0,208,8,181,121,3,28,3,73,168,205,41,96,5,
-52,194,95,90,2,0,149,144,13,184,7,184,172,132,76,47,179,45,110,1,126,255,
-8,181,249,88,156,28,148,31,0,73,168,77,120,203,163,7,224,130,36,180,52,
-237,102,59,235,107,224,155,74,200,102,182,63,172,124,1,72,66,54,123,107,
-60,2,156,55,194,170,233,225,10,224,235,135,208,175,186,6,11,64,25,122,138,
-178,57,61,220,152,70,76,194,152,227,56,190,15,67,5,0,0,0,0,0,252,3,117,
-159,97,32,249,119,37,12,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_28 = 959;
-static unsigned char xml_res_file_28[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,22,0,0,0,22,8,6,0,0,
-0,196,180,108,59,0,0,3,134,73,68,65,84,120,218,181,149,107,76,147,87,24,
-199,155,104,116,198,104,162,115,102,153,82,47,195,180,165,64,21,105,49,
-105,65,93,177,5,106,189,176,49,41,5,235,4,177,197,82,241,26,209,76,52,128,
-20,140,10,82,72,172,184,240,1,185,234,170,91,50,205,166,117,134,169,100,
-49,85,252,224,7,46,133,2,149,251,53,161,96,0,255,246,156,164,196,119,138,
-6,204,222,228,151,156,247,57,231,249,229,60,239,115,222,28,22,235,255,124,
-46,92,200,240,42,45,47,121,104,185,253,235,68,89,249,117,84,84,150,225,
-246,111,22,220,253,243,14,254,126,104,197,147,154,199,176,217,158,82,200,
-152,196,200,28,89,83,89,85,142,155,150,170,113,146,159,151,103,100,51,196,
-215,126,41,178,58,95,57,49,50,50,130,209,209,209,105,227,26,113,193,209,
-210,140,138,27,229,255,48,196,87,175,93,25,31,28,28,196,192,192,192,140,
-25,26,26,162,59,103,136,211,51,206,160,191,191,159,98,52,26,167,133,39,
-143,144,155,119,17,12,241,137,147,199,209,219,219,75,113,185,92,211,194,
-147,71,56,155,158,198,20,31,57,118,8,61,61,61,159,205,207,105,167,152,98,
-67,138,30,221,221,221,148,79,149,238,89,247,33,72,229,12,177,46,73,139,
-174,174,46,202,240,240,240,71,241,172,251,16,71,143,30,102,138,247,37,38,
-160,163,163,99,198,180,183,183,163,179,179,19,57,231,179,153,226,61,63,
-105,232,228,84,248,7,138,166,68,32,12,130,52,92,129,127,109,53,88,33,94,
-130,133,252,89,119,89,28,214,2,42,86,199,198,192,233,116,82,116,58,29,106,
-107,107,39,223,9,228,140,126,140,134,166,122,112,66,87,34,161,40,18,27,
-211,56,88,28,48,231,17,21,255,184,43,10,109,109,109,20,177,88,12,169,84,
-10,179,217,140,150,150,150,201,56,161,181,181,149,242,110,172,201,209,132,
-0,133,47,226,114,35,16,91,25,2,105,33,23,95,6,206,125,73,197,59,35,119,
-82,9,33,66,17,49,73,126,126,62,141,145,146,55,201,228,80,105,52,208,38,
-39,67,159,114,136,114,224,96,10,148,241,114,40,79,75,176,215,178,5,138,
-18,62,22,175,159,221,246,5,143,181,130,138,149,202,173,112,56,28,148,24,
-181,10,90,221,126,216,158,217,104,67,72,140,252,178,77,14,59,184,161,108,
-176,131,151,192,92,82,130,51,231,77,216,188,75,14,81,60,23,137,55,21,136,
-186,19,0,182,116,17,230,251,178,252,39,155,23,22,38,71,115,115,51,229,214,
-45,11,109,24,17,122,98,164,228,77,42,17,162,47,202,16,119,37,28,223,72,
-22,34,238,112,2,188,195,151,34,201,178,13,209,247,69,88,245,253,34,196,
-39,107,152,167,66,42,253,14,118,187,157,66,154,229,25,123,248,65,21,3,182,
-228,43,40,47,7,34,230,119,9,66,11,120,248,58,100,30,18,111,40,17,251,96,
-3,2,79,122,65,163,223,141,204,204,12,166,88,38,219,50,214,216,216,136,169,
-232,235,235,131,221,209,8,239,224,229,144,23,241,160,250,43,8,81,22,17,
-52,15,130,161,172,20,32,220,253,157,185,124,127,100,103,27,199,254,35,150,
-253,97,181,90,209,208,208,128,250,250,250,247,168,171,171,163,149,92,190,
-90,4,191,48,30,118,84,8,176,247,169,4,241,207,67,192,85,44,67,94,97,1,56,
-124,129,123,199,153,247,24,98,161,80,232,165,86,171,173,6,131,97,92,171,
-213,66,175,215,35,53,53,21,89,89,89,48,153,76,40,46,46,70,117,117,53,142,
-156,205,65,142,169,0,235,182,243,161,121,34,198,90,253,50,228,154,47,225,
-245,27,224,91,46,127,194,157,195,158,209,21,118,32,53,253,245,189,154,23,
-40,117,55,56,40,218,31,134,115,73,152,0,48,234,22,175,94,195,25,156,241,
-221,184,81,182,245,28,199,111,221,24,87,32,4,207,13,119,173,8,62,110,214,
-248,8,198,150,175,244,78,123,119,237,91,162,105,120,83,149,55,114,163,0,
-0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_29 = 660;
-static unsigned char xml_res_file_29[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,2,91,73,68,65,84,120,218,157,210,221,75,211,81,24,7,
-240,243,31,216,69,86,4,213,50,82,39,249,182,108,195,156,47,108,211,77,242,
-101,230,12,45,92,37,155,13,249,81,102,51,196,185,57,171,197,18,234,106,
-168,161,204,18,179,200,124,105,97,9,9,81,87,21,132,93,140,110,6,186,233,
-222,218,230,16,199,100,119,223,60,7,230,133,44,164,126,240,225,119,158,
-223,243,112,158,231,28,126,100,113,241,189,122,242,197,68,100,116,108,4,
-147,83,19,152,157,123,131,15,139,11,248,252,229,19,190,125,255,138,229,
-229,31,236,77,99,250,157,230,105,157,253,217,104,120,122,118,186,137,12,
-63,181,133,188,94,47,18,137,196,63,241,250,188,152,155,159,137,18,147,185,
-15,155,155,155,255,197,58,248,16,164,167,247,46,162,209,40,99,29,180,236,
-43,89,75,221,183,12,128,116,233,59,177,177,177,193,108,111,111,239,43,89,
-75,153,250,251,64,184,155,29,8,135,195,204,223,186,38,243,123,209,233,73,
-187,78,139,80,40,196,196,227,241,148,146,249,189,238,232,187,64,174,93,
-191,138,96,48,200,24,141,70,248,124,190,221,56,175,72,152,82,169,68,198,
-54,48,154,118,142,112,249,74,11,252,126,63,83,82,114,30,58,157,14,46,151,
-139,197,177,88,44,37,58,213,49,241,65,232,244,90,16,85,83,35,235,74,201,
-21,114,198,60,96,102,113,113,89,5,26,46,53,163,189,131,3,215,121,155,137,
-68,34,56,85,117,24,109,115,50,28,21,167,129,212,213,215,98,109,109,141,
-161,155,141,141,141,178,238,52,222,218,218,194,235,183,243,224,75,51,49,
-52,62,133,199,195,227,200,144,166,227,198,66,53,42,135,248,224,149,167,
-131,40,170,21,240,120,60,204,210,210,71,4,2,254,221,152,118,206,145,157,
-134,234,73,25,50,101,60,100,87,242,208,54,45,71,205,203,92,100,201,142,
-195,250,200,10,34,145,74,176,186,186,202,208,95,58,185,118,187,221,236,
-188,89,210,19,104,176,23,161,106,132,143,22,123,5,84,239,10,113,68,148,
-198,46,185,85,221,10,34,46,21,99,101,101,37,165,64,32,128,145,231,175,112,
-182,46,23,23,103,10,161,253,89,142,140,170,67,232,191,247,128,229,106,106,
-107,64,68,34,145,223,233,116,178,155,223,107,125,125,29,92,175,5,191,220,
-65,20,55,231,227,100,253,1,208,39,251,76,1,155,80,169,84,254,38,2,129,64,
-162,86,171,195,42,149,10,26,141,6,221,221,221,176,88,44,176,217,108,112,
-56,28,184,165,239,1,63,175,8,252,252,115,59,132,200,41,16,162,250,66,29,
-12,6,67,132,227,184,198,63,63,34,251,59,19,238,234,169,0,0,0,0,73,69,78,
-68,174,66,96,130};
-
-static size_t xml_res_size_30 = 586;
-static unsigned char xml_res_file_30[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
-0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
-89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
-102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
-111,114,103,155,238,60,26,0,0,0,249,80,76,84,69,52,52,52,108,108,108,172,
-174,170,184,185,182,55,55,55,80,80,80,151,153,148,94,94,94,158,159,155,
-99,99,99,164,165,162,175,176,173,46,52,54,59,59,58,60,61,60,66,67,66,71,
-72,71,72,73,72,76,77,76,78,79,77,82,83,82,84,84,84,84,85,83,87,88,87,90,
-91,89,93,94,92,96,97,95,98,99,97,100,100,100,102,104,101,104,104,104,104,
-105,103,108,110,106,109,110,108,114,116,112,115,116,114,117,117,117,120,
-122,118,125,125,125,126,127,124,126,128,124,128,129,128,131,133,129,133,
-133,133,136,138,133,136,138,134,148,148,148,155,156,152,156,156,155,164,
-164,164,164,166,162,174,174,174,174,175,172,183,184,181,188,188,187,193,
-194,191,201,202,200,207,207,205,212,212,212,215,215,215,219,219,219,222,
-222,222,223,223,223,224,224,224,225,225,225,226,226,226,228,228,228,228,
-229,228,229,229,229,230,230,230,231,231,230,232,232,232,234,234,234,235,
-235,235,237,237,237,238,238,238,239,239,239,240,240,240,241,241,241,243,
-243,243,245,245,245,246,246,246,248,248,248,252,37,241,89,0,0,0,12,116,
-82,78,83,66,83,85,94,230,233,234,235,235,236,236,238,8,155,192,110,0,0,
-0,171,73,68,65,84,24,25,5,193,187,74,3,65,20,0,208,179,59,23,227,11,209,
-194,70,49,74,48,127,96,17,176,17,253,110,237,4,27,219,52,86,86,86,41,52,
-16,54,201,206,29,207,137,50,153,151,190,235,187,174,181,108,185,220,69,
-89,156,3,224,226,35,102,39,123,0,28,207,162,166,111,128,91,106,212,102,
-14,176,165,70,54,95,224,6,100,212,230,30,12,32,163,54,203,105,241,14,60,
-102,100,250,25,166,71,47,192,38,35,155,242,183,186,126,133,5,99,212,234,
-224,234,114,124,134,53,25,217,220,157,239,188,1,15,25,153,78,7,221,19,176,
-174,209,154,61,237,23,144,177,169,61,0,218,58,198,207,179,201,225,164,148,
-62,107,221,14,171,241,31,92,154,77,35,153,199,126,105,0,0,0,0,73,69,78,
-68,174,66,96,130};
-
-static size_t xml_res_size_31 = 338;
-static unsigned char xml_res_file_31[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
-0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
-112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
-7,223,1,2,15,12,16,2,139,253,52,0,0,0,223,73,68,65,84,40,207,157,209,59,
-74,131,81,20,4,224,47,15,5,55,96,109,235,2,236,127,59,69,212,70,36,190,
-64,196,206,77,204,54,108,84,136,79,208,16,181,176,253,55,225,38,92,130,
-196,104,115,19,98,72,163,211,28,184,51,115,206,153,115,249,35,26,144,100,
-17,235,184,73,50,152,20,36,105,227,0,111,73,62,154,229,125,27,87,232,38,
-105,77,137,175,11,183,5,237,194,93,96,21,123,152,79,210,65,19,79,216,192,
-45,46,199,43,149,110,243,120,196,38,238,10,215,193,43,118,146,124,254,50,
-20,83,11,221,50,73,49,30,37,249,26,105,154,51,142,208,152,117,152,17,38,
-3,206,149,142,187,165,190,151,73,203,85,85,245,235,186,30,142,13,73,22,
-208,47,151,56,199,9,122,88,194,62,86,170,170,234,213,117,61,24,173,116,
-136,53,220,227,44,201,119,146,33,78,241,80,184,131,201,12,207,56,158,14,
-88,62,241,176,112,47,254,131,31,64,171,69,137,215,114,159,30,0,0,0,0,73,
-69,78,68,174,66,96,130};
-
-static size_t xml_res_size_32 = 244;
-static unsigned char xml_res_file_32[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
-0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
-112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
-7,223,1,2,15,9,26,159,41,224,111,0,0,0,129,73,68,65,84,40,207,157,209,75,
-10,194,48,20,5,208,99,127,226,6,186,61,39,186,39,135,78,90,69,113,34,66,
-151,87,39,79,72,67,4,237,133,76,238,239,189,36,172,68,143,61,154,130,214,
-132,214,167,228,17,51,46,168,51,243,53,180,67,26,168,49,134,240,64,139,
-45,94,193,13,89,17,232,240,12,195,24,211,230,224,186,111,119,73,39,125,
-130,139,230,42,11,108,226,228,92,17,45,238,133,149,110,161,45,176,195,20,
-134,83,180,86,56,7,55,133,103,253,179,254,253,113,63,227,13,67,98,32,78,
-10,176,145,24,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_33 = 247;
-static unsigned char xml_res_file_33[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
-0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
-112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
-7,223,1,2,15,14,52,12,190,123,103,0,0,0,132,73,68,65,84,40,207,165,209,
-57,14,194,48,16,5,208,236,40,23,200,245,104,224,78,148,52,4,4,162,65,72,
-57,222,163,96,34,25,43,20,129,47,185,249,219,140,237,162,248,5,24,176,69,
-179,160,53,161,13,41,185,247,198,25,117,102,190,132,182,75,3,53,198,16,
-238,104,177,193,51,184,83,90,52,135,58,60,194,48,198,52,193,117,223,238,
-146,78,154,131,31,205,85,150,41,227,228,220,98,123,139,219,194,74,87,180,
-185,185,199,20,134,3,74,84,56,6,55,161,255,235,89,215,125,220,26,188,0,
-172,66,241,124,65,212,118,25,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_34 = 422;
-static unsigned char xml_res_file_34[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
-77,69,7,223,2,2,7,30,8,32,160,62,217,0,0,1,51,73,68,65,84,56,203,157,147,
-61,78,195,64,16,133,191,217,13,52,62,0,105,16,18,13,9,134,42,185,64,20,
-37,84,201,37,64,129,3,112,14,140,128,116,228,22,145,112,160,241,1,112,105,
-131,34,209,164,202,5,220,36,246,46,141,65,22,114,200,207,87,173,102,119,
-158,244,118,230,9,127,136,235,245,51,101,204,165,21,233,0,7,121,121,14,
-188,25,173,159,221,40,138,139,239,229,231,16,185,238,190,202,178,59,224,
-6,208,148,147,1,195,196,113,110,155,97,184,252,21,200,155,199,64,135,205,
-152,24,173,251,110,20,45,20,128,202,178,199,178,102,199,243,112,60,175,
-76,224,66,167,169,7,160,62,106,181,115,224,138,45,177,34,215,145,235,158,
-42,96,0,40,182,71,139,49,3,101,69,218,236,136,88,219,86,98,237,33,187,115,
-164,138,163,220,133,138,21,153,137,181,245,178,203,229,100,178,174,127,
-86,17,107,125,160,84,96,225,251,235,4,94,148,81,106,148,111,24,91,236,1,
-64,170,140,25,41,55,142,35,43,242,180,202,194,63,54,238,79,166,211,79,1,
-120,111,52,246,156,36,25,3,221,13,255,206,159,87,171,189,86,16,164,10,160,
-25,134,75,163,117,15,24,174,178,83,8,211,67,226,56,253,86,16,164,148,141,
-176,16,231,46,112,156,151,191,128,215,178,56,127,3,147,219,116,171,47,3,
-146,196,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_35 = 345;
-static unsigned char xml_res_file_35[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
-77,69,7,223,2,2,7,30,49,127,165,182,209,0,0,0,230,73,68,65,84,56,203,205,
-210,61,74,4,65,16,5,224,111,151,13,196,68,17,19,83,131,17,196,9,52,222,
-19,136,176,161,70,29,171,32,122,134,61,194,226,79,62,145,153,226,85,58,
-16,39,48,53,80,76,53,211,164,103,25,134,102,86,35,125,80,201,235,122,85,
-245,170,139,127,141,24,138,189,24,138,221,190,156,65,143,120,3,143,248,
-194,118,89,213,47,185,188,97,79,241,43,172,96,21,151,191,154,32,134,98,
-130,251,14,61,41,171,250,97,97,129,24,138,101,68,108,226,58,209,167,120,
-198,78,89,213,31,139,44,76,147,24,94,83,72,220,180,119,7,105,227,231,61,
-123,185,232,254,202,176,37,30,96,134,81,235,125,45,69,131,17,102,41,119,
-78,52,56,193,184,211,241,44,51,197,24,199,184,153,47,49,134,98,29,79,157,
-110,112,155,114,14,59,252,59,182,202,170,126,107,44,28,100,196,112,148,
-17,55,214,246,219,22,238,210,209,44,253,240,202,63,51,119,242,71,248,6,
-220,208,46,161,188,94,194,94,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_36 = 663;
-static unsigned char xml_res_file_36[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
-77,69,7,223,2,2,7,29,59,180,93,12,12,0,0,2,36,73,68,65,84,56,203,205,146,
-79,72,211,113,24,198,63,239,119,191,217,166,219,98,142,58,88,122,144,176,
-67,148,165,118,144,2,47,46,58,4,117,168,29,84,36,33,33,144,66,208,202,168,
-131,80,161,65,226,69,9,162,63,8,14,101,23,79,117,178,14,29,35,178,146,144,
-150,20,9,22,173,152,172,196,173,246,219,247,237,160,131,10,3,161,75,207,
-233,129,247,125,158,247,121,95,94,248,71,200,70,154,46,12,14,110,246,59,
-78,45,64,214,117,95,92,239,235,203,20,107,206,70,12,252,94,239,144,42,187,
-1,124,142,247,37,208,185,110,130,155,99,137,109,167,219,79,124,24,141,79,
-244,139,225,199,231,100,114,192,95,190,229,216,74,62,55,44,198,212,162,
-106,176,250,12,180,189,191,183,247,241,111,6,35,99,99,17,113,156,5,81,115,
-30,163,199,213,146,19,195,3,85,6,210,169,212,184,107,11,89,65,76,160,172,
-44,184,119,87,221,213,244,199,119,239,99,177,88,65,0,70,199,39,15,89,143,
-166,141,213,27,64,211,31,27,76,47,47,127,187,239,96,118,84,87,85,237,41,
-245,149,134,29,199,179,164,200,172,199,205,245,56,0,34,122,198,88,61,242,
-139,232,233,90,186,122,160,57,16,8,54,111,13,71,94,133,130,193,79,54,91,
-114,208,186,96,124,249,41,235,245,119,27,128,212,155,215,71,129,183,171,
-90,237,238,106,109,217,223,213,218,210,32,66,207,154,97,50,28,8,90,235,
-234,100,52,218,144,137,70,27,50,42,26,7,141,57,163,241,120,43,200,120,113,
-116,65,245,94,145,123,28,231,142,155,119,135,128,154,212,82,154,112,40,
-212,145,72,36,238,2,136,114,24,225,150,193,235,125,40,104,20,97,17,192,
-49,102,95,209,192,205,231,235,0,20,93,80,107,59,188,30,207,98,164,162,114,
-38,82,81,57,3,100,85,205,35,1,24,137,79,92,22,244,50,176,9,248,162,202,
-53,17,17,208,75,64,4,200,41,122,101,231,246,234,41,143,145,82,128,130,213,
-149,104,83,227,156,3,96,84,11,24,206,169,234,73,144,58,17,134,65,87,47,
-2,79,80,38,4,41,137,54,53,206,253,245,149,111,39,18,229,223,243,110,18,
-116,26,76,61,168,130,204,130,30,40,168,173,57,219,214,246,117,189,47,53,
-69,18,130,140,10,125,190,92,174,19,152,1,121,46,216,83,34,92,76,207,207,
-47,243,223,226,39,100,210,215,54,36,112,82,73,0,0,0,0,73,69,78,68,174,66,
-96,130};
-
-static size_t xml_res_size_37 = 12410;
-static unsigned char xml_res_file_37[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,11,144,0,0,0,7,8,6,0,
-0,0,196,4,67,7,0,0,8,60,73,68,65,84,120,156,237,157,209,139,93,87,21,135,
-191,117,25,134,48,72,169,50,20,21,25,34,212,34,33,168,51,167,17,20,218,
-6,20,95,244,161,62,168,40,62,156,74,137,10,245,173,255,130,250,15,52,148,
-148,130,135,182,144,135,34,182,138,21,164,15,17,250,36,156,49,132,32,161,
-250,112,9,162,18,68,67,8,121,8,195,93,62,220,155,102,102,50,119,239,123,
-102,159,57,251,236,189,215,247,122,46,217,235,174,189,206,90,191,223,222,
-185,9,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,
-97,24,134,97,24,134,97,24,134,97,24,134,97,24,69,32,177,3,40,149,170,209,
-51,170,250,130,136,252,75,209,215,118,235,201,221,216,49,149,64,213,232,
-26,202,15,85,116,91,144,223,180,181,92,137,29,83,174,84,141,174,3,47,130,
-126,14,184,220,214,147,63,199,142,41,23,170,70,39,192,55,84,249,166,136,
-254,9,228,157,182,150,189,216,113,165,202,78,51,251,152,32,23,20,62,37,
-240,171,182,150,191,198,142,9,210,233,87,57,214,99,213,232,105,133,159,
-10,252,15,120,189,173,229,63,57,173,55,38,250,208,67,54,111,142,166,106,
-116,19,120,81,149,143,139,240,106,91,203,212,241,217,243,160,223,6,254,
-2,242,86,234,239,240,73,80,53,179,47,43,124,95,224,111,32,175,183,181,220,
-127,248,76,63,13,252,24,5,132,75,109,45,255,28,38,166,116,250,175,171,30,
-83,153,119,251,233,242,126,245,180,222,154,194,243,168,62,39,194,239,65,
-254,216,214,50,123,248,124,121,125,166,78,95,239,151,107,222,12,189,159,
-99,161,203,252,116,233,101,95,125,150,130,75,207,249,250,245,80,231,67,
-85,163,235,99,237,15,190,122,116,229,119,140,126,46,134,62,117,233,57,87,
-60,41,233,137,163,232,107,255,125,243,198,147,223,44,253,92,151,254,238,
-211,115,174,252,150,226,231,124,122,195,227,55,124,249,61,159,187,159,243,
-235,225,227,231,247,208,58,217,214,163,71,15,7,229,119,197,245,179,158,
-55,33,249,237,155,253,235,237,190,48,249,217,73,173,211,5,223,254,135,228,
-183,20,66,252,198,161,63,167,72,255,22,226,55,186,173,147,245,249,204,249,
-227,248,141,24,241,140,145,16,191,97,116,59,63,206,89,207,133,208,71,127,
-74,93,207,133,48,182,251,128,212,200,237,251,196,166,212,251,140,33,72,
-241,190,50,85,108,94,199,99,153,191,94,139,29,88,137,84,141,110,170,242,
-46,34,79,2,8,124,22,24,197,65,78,1,252,8,225,85,65,38,192,133,170,209,47,
-182,181,124,24,59,168,44,81,125,89,69,126,46,243,223,169,252,160,106,102,
-231,218,122,114,51,118,88,57,160,240,85,224,93,96,29,228,39,192,119,128,
-119,226,70,149,46,130,252,18,120,105,113,112,243,124,213,232,87,70,114,
-225,155,68,191,202,173,30,171,70,55,20,126,141,178,179,248,153,221,54,240,
-189,92,214,27,19,189,233,33,155,55,75,208,139,32,223,69,64,225,235,85,163,
-207,180,181,220,59,252,169,170,209,167,128,63,128,156,2,102,192,58,240,
-218,208,209,142,153,170,153,109,129,252,78,224,9,5,68,245,113,224,23,15,
-158,43,92,22,120,22,1,85,206,3,207,13,17,87,90,253,215,89,143,73,204,187,
-131,172,246,126,245,182,154,234,183,68,228,178,138,172,41,92,0,253,26,240,
-1,248,235,51,117,250,120,191,252,243,102,216,253,28,13,29,230,167,75,47,
-187,234,179,20,124,122,206,213,175,7,61,31,82,125,153,177,246,7,71,61,250,
-242,59,74,63,55,176,62,245,234,57,71,60,105,233,137,71,233,107,255,93,243,
-198,149,223,156,253,92,199,254,238,212,115,206,121,94,140,159,91,174,55,
-86,208,115,75,243,91,138,159,243,215,99,80,126,247,47,148,101,61,250,244,
-70,72,126,87,37,231,121,19,158,223,126,217,191,30,35,185,119,244,237,127,
-72,126,75,32,196,111,28,166,88,255,22,224,55,86,37,231,243,153,16,191,17,
-37,158,17,114,92,191,97,124,196,234,231,199,153,234,185,16,250,234,79,169,
-235,185,48,198,115,31,144,34,185,125,159,248,20,122,159,49,12,9,222,87,
-38,138,205,235,40,184,252,245,36,106,100,133,162,176,137,232,22,170,168,
-42,10,59,177,99,42,5,133,109,85,157,232,60,247,167,20,206,198,142,41,91,
-68,206,61,168,113,84,55,65,182,98,135,148,13,202,89,84,215,65,81,213,53,
-84,183,99,135,148,54,186,163,170,128,162,232,150,194,102,236,136,32,161,
-126,149,89,61,42,108,136,234,153,197,247,1,120,58,167,245,198,68,111,122,
-200,230,205,145,168,202,211,139,156,128,234,25,133,141,35,63,7,103,85,245,
-212,162,215,76,116,126,73,98,28,64,182,80,221,252,40,159,34,231,14,60,133,
-157,69,254,16,25,80,215,39,212,127,93,245,152,204,188,219,199,170,239,87,
-95,136,176,189,216,99,230,123,46,251,114,228,174,207,212,233,227,253,242,
-205,155,161,247,115,52,116,154,159,203,245,178,187,62,203,192,171,231,28,
-253,122,208,243,161,49,247,7,71,61,250,245,242,8,253,220,192,250,212,171,
-231,92,241,36,164,39,142,166,159,253,119,205,27,87,126,115,246,115,93,250,
-187,79,207,57,231,121,33,126,206,173,55,220,122,206,149,223,82,252,156,
-175,30,67,242,123,104,161,44,235,209,167,55,194,242,187,114,16,217,206,
-155,208,252,246,205,129,245,198,130,119,255,143,159,223,18,8,241,27,135,
-41,214,191,5,249,141,149,23,201,246,124,38,200,111,196,136,103,132,28,215,
-111,24,115,58,157,31,103,170,231,194,232,169,63,37,175,231,142,207,184,
-238,3,210,35,183,239,19,155,98,239,51,6,32,197,251,202,100,177,121,29,5,
-151,191,182,191,64,30,135,41,240,91,129,61,65,238,2,151,34,199,83,14,202,
-155,34,114,75,68,102,34,114,77,224,253,216,33,101,204,37,17,238,8,204,16,
-185,2,122,53,118,64,185,32,194,123,130,220,16,145,25,200,77,68,222,142,
-29,83,202,168,114,73,224,174,192,30,243,222,60,141,29,19,144,76,191,202,
-173,30,5,110,35,242,134,136,236,9,220,3,46,230,180,222,200,152,210,143,
-30,178,121,115,4,34,92,20,225,158,136,236,137,200,27,192,237,35,63,7,239,
-139,200,181,69,175,185,133,242,230,192,161,38,128,94,69,228,202,60,71,220,
-225,209,90,125,69,68,238,139,200,125,224,149,161,162,74,169,255,58,235,
-49,145,121,183,159,85,223,175,222,80,121,27,145,155,34,50,19,228,6,240,
-222,190,135,190,250,76,157,62,222,175,41,142,121,51,248,126,142,135,149,
-231,167,83,47,59,235,179,12,124,122,206,211,175,167,12,119,62,52,230,254,
-176,180,30,125,249,29,169,159,27,84,159,174,160,231,150,231,55,33,61,113,
-20,61,238,255,210,121,227,202,111,214,126,174,75,127,247,235,57,215,60,
-47,194,207,185,245,134,71,207,57,242,91,140,159,243,212,99,80,126,15,146,
-107,61,78,113,233,141,160,252,174,70,230,243,102,74,64,126,251,15,246,225,
-122,39,186,78,7,124,251,31,148,223,2,8,244,27,7,41,215,191,29,219,111,172,
-78,190,231,51,33,126,35,82,60,99,228,88,126,195,88,208,237,252,56,87,61,
-23,64,63,253,41,117,61,23,194,184,238,3,18,36,183,239,19,153,130,239,51,
-78,158,4,239,43,19,198,230,117,28,166,44,241,215,18,45,164,194,169,154,
-217,58,200,151,64,255,219,214,147,191,199,142,167,36,170,70,63,3,186,5,
-92,111,235,201,157,216,241,228,76,213,232,105,224,147,192,53,251,111,83,
-250,165,106,244,113,224,44,232,135,109,61,185,21,59,158,212,169,154,217,
-147,32,159,0,189,218,214,147,251,177,227,121,64,42,253,42,183,122,220,105,
-116,2,186,35,200,61,133,27,187,245,201,94,184,12,189,222,152,232,75,15,
-217,188,121,148,121,93,241,121,208,13,144,93,87,93,85,205,236,177,197,47,
-254,111,182,181,252,99,184,40,211,161,106,116,3,248,2,232,191,219,122,50,
-221,255,108,167,153,77,100,241,47,38,40,122,125,183,158,12,246,14,167,210,
-127,125,245,152,202,188,123,64,151,247,171,47,170,70,159,0,158,2,174,183,
-181,220,62,244,108,105,125,166,78,95,239,151,107,222,196,216,207,177,208,
-101,126,186,244,178,171,62,75,193,167,231,92,253,218,206,135,230,184,234,
-209,159,223,241,249,185,161,245,169,79,207,185,226,73,69,79,44,163,143,
-253,247,205,27,87,126,115,246,115,93,250,187,75,207,249,243,155,191,159,
-91,65,15,59,245,156,43,191,165,248,57,87,61,134,230,247,208,103,79,147,
-97,61,250,244,70,72,126,87,143,33,223,121,19,146,223,147,137,117,190,94,
-91,203,7,39,189,214,170,248,246,63,36,191,37,16,226,55,14,83,170,127,11,
-241,27,29,214,200,246,124,38,196,111,196,136,103,108,132,248,13,99,78,151,
-243,227,92,245,92,8,125,245,167,212,245,220,113,25,219,125,64,138,228,246,
-125,98,82,242,125,198,16,164,118,95,153,50,54,175,227,96,254,218,48,12,
-195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,
-48,12,195,48,12,195,48,12,163,112,254,15,18,248,19,251,210,181,219,40,0,
-0,0,0,73,69,78,68,174,66,96,130,105,109,97,103,101,115,47,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,48,48,55,55,55,0,51,49,48,51,48,48,51,
-0,48,50,53,49,49,52,48,0,48,48,48,48,48,48,48,48,48,48,48,0,49,50,52,54,
-52,49,49,54,54,49,49,0,48,49,52,55,54,50,0,32,53,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,115,116,97,114,32,32,0,112,114,101,
-108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,112,114,101,108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,109,97,103,101,115,47,115,112,114,105,
-116,101,115,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,48,48,54,54,54,0,
-51,49,48,51,48,48,51,0,48,50,53,49,49,52,48,0,48,48,48,48,48,48,48,52,49,
-54,53,0,49,50,52,54,52,49,49,54,54,49,49,0,48,49,55,49,54,55,0,32,48,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,115,116,97,114,
-32,32,0,112,114,101,108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,112,114,101,108,111,97,100,101,114,115,46,110,
-101,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,80,78,71,13,10,26,
-10,0,0,0,13,73,72,68,82,0,0,11,144,0,0,0,7,8,6,0,0,0,196,4,67,7,0,0,8,60,
-73,68,65,84,120,156,237,157,209,139,93,87,21,135,191,117,25,134,48,72,169,
-50,20,21,25,34,212,34,33,168,51,167,17,20,218,6,20,95,244,161,62,168,40,
-62,156,74,137,10,245,173,255,130,250,15,52,148,148,130,135,182,144,135,
-34,182,138,21,164,15,17,250,36,156,49,132,32,161,250,112,9,162,18,68,67,
-8,121,8,195,93,62,220,155,102,102,50,119,239,123,102,159,57,251,236,189,
-215,247,122,46,217,235,174,189,206,90,191,223,222,185,9,24,134,97,24,134,
-97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,
-24,134,97,24,134,97,24,69,32,177,3,40,149,170,209,51,170,250,130,136,252,
-75,209,215,118,235,201,221,216,49,149,64,213,232,26,202,15,85,116,91,144,
-223,180,181,92,137,29,83,174,84,141,174,3,47,130,126,14,184,220,214,147,
-63,199,142,41,23,170,70,39,192,55,84,249,166,136,254,9,228,157,182,150,
-189,216,113,165,202,78,51,251,152,32,23,20,62,37,240,171,182,150,191,198,
-142,9,210,233,87,57,214,99,213,232,105,133,159,10,252,15,120,189,173,229,
-63,57,173,55,38,250,208,67,54,111,142,166,106,116,19,120,81,149,143,139,
-240,106,91,203,212,241,217,243,160,223,6,254,2,242,86,234,239,240,73,80,
-53,179,47,43,124,95,224,111,32,175,183,181,220,127,248,76,63,13,252,24,
-5,132,75,109,45,255,28,38,166,116,250,175,171,30,83,153,119,251,233,242,
-126,245,180,222,154,194,243,168,62,39,194,239,65,254,216,214,50,123,248,
-124,121,125,166,78,95,239,151,107,222,12,189,159,99,161,203,252,116,233,
-101,95,125,150,130,75,207,249,250,245,80,231,67,85,163,235,99,237,15,190,
-122,116,229,119,140,126,46,134,62,117,233,57,87,60,41,233,137,163,232,107,
-255,125,243,198,147,223,44,253,92,151,254,238,211,115,174,252,150,226,231,
-124,122,195,227,55,124,249,61,159,187,159,243,235,225,227,231,247,208,58,
-217,214,163,71,15,7,229,119,197,245,179,158,55,33,249,237,155,253,235,237,
-190,48,249,217,73,173,211,5,223,254,135,228,183,20,66,252,198,161,63,167,
-72,255,22,226,55,186,173,147,245,249,204,249,227,248,141,24,241,140,145,
-16,191,97,116,59,63,206,89,207,133,208,71,127,74,93,207,133,48,182,251,
-128,212,200,237,251,196,166,212,251,140,33,72,241,190,50,85,108,94,199,
-99,153,191,94,139,29,88,137,84,141,110,170,242,46,34,79,2,8,124,22,24,197,
-65,78,1,252,8,225,85,65,38,192,133,170,209,47,182,181,124,24,59,168,44,
-81,125,89,69,126,46,243,223,169,252,160,106,102,231,218,122,114,51,118,
-88,57,160,240,85,224,93,96,29,228,39,192,119,128,119,226,70,149,46,130,
-252,18,120,105,113,112,243,124,213,232,87,70,114,225,155,68,191,202,173,
-30,171,70,55,20,126,141,178,179,248,153,221,54,240,189,92,214,27,19,189,
-233,33,155,55,75,208,139,32,223,69,64,225,235,85,163,207,180,181,220,59,
-252,169,170,209,167,128,63,128,156,2,102,192,58,240,218,208,209,142,153,
-170,153,109,129,252,78,224,9,5,68,245,113,224,23,15,158,43,92,22,120,22,
-1,85,206,3,207,13,17,87,90,253,215,89,143,73,204,187,131,172,246,126,245,
-182,154,234,183,68,228,178,138,172,41,92,0,253,26,240,1,248,235,51,117,
-250,120,191,252,243,102,216,253,28,13,29,230,167,75,47,187,234,179,20,124,
-122,206,213,175,7,61,31,82,125,153,177,246,7,71,61,250,242,59,74,63,55,
-176,62,245,234,57,71,60,105,233,137,71,233,107,255,93,243,198,149,223,156,
-253,92,199,254,238,212,115,206,121,94,140,159,91,174,55,86,208,115,75,243,
-91,138,159,243,215,99,80,126,247,47,148,101,61,250,244,70,72,126,87,37,
-231,121,19,158,223,126,217,191,30,35,185,119,244,237,127,72,126,75,32,196,
-111,28,166,88,255,22,224,55,86,37,231,243,153,16,191,17,37,158,17,114,92,
-191,97,124,196,234,231,199,153,234,185,16,250,234,79,169,235,185,48,198,
-115,31,144,34,185,125,159,248,20,122,159,49,12,9,222,87,38,138,205,235,
-40,184,252,245,36,106,100,133,162,176,137,232,22,170,168,42,10,59,177,99,
-42,5,133,109,85,157,232,60,247,167,20,206,198,142,41,91,68,206,61,168,113,
-84,55,65,182,98,135,148,13,202,89,84,215,65,81,213,53,84,183,99,135,148,
-54,186,163,170,128,162,232,150,194,102,236,136,32,161,126,149,89,61,42,
-108,136,234,153,197,247,1,120,58,167,245,198,68,111,122,200,230,205,145,
-168,202,211,139,156,128,234,25,133,141,35,63,7,103,85,245,212,162,215,76,
-116,126,73,98,28,64,182,80,221,252,40,159,34,231,14,60,133,157,69,254,16,
-25,80,215,39,212,127,93,245,152,204,188,219,199,170,239,87,95,136,176,189,
-216,99,230,123,46,251,114,228,174,207,212,233,227,253,242,205,155,161,247,
-115,52,116,154,159,203,245,178,187,62,203,192,171,231,28,253,122,208,243,
-161,49,247,7,71,61,250,245,242,8,253,220,192,250,212,171,231,92,241,36,
-164,39,142,166,159,253,119,205,27,87,126,115,246,115,93,250,187,79,207,
-57,231,121,33,126,206,173,55,220,122,206,149,223,82,252,156,175,30,67,242,
-123,104,161,44,235,209,167,55,194,242,187,114,16,217,206,155,208,252,246,
-205,129,245,198,130,119,255,143,159,223,18,8,241,27,135,41,214,191,5,249,
-141,149,23,201,246,124,38,200,111,196,136,103,132,28,215,111,24,115,58,
-157,31,103,170,231,194,232,169,63,37,175,231,142,207,184,238,3,210,35,183,
-239,19,155,98,239,51,6,32,197,251,202,100,177,121,29,5,151,191,182,191,
-64,30,135,41,240,91,129,61,65,238,2,151,34,199,83,14,202,155,34,114,75,
-68,102,34,114,77,224,253,216,33,101,204,37,17,238,8,204,16,185,2,122,53,
-118,64,185,32,194,123,130,220,16,145,25,200,77,68,222,142,29,83,202,168,
-114,73,224,174,192,30,243,222,60,141,29,19,144,76,191,202,173,30,5,110,
-35,242,134,136,236,9,220,3,46,230,180,222,200,152,210,143,30,178,121,115,
-4,34,92,20,225,158,136,236,137,200,27,192,237,35,63,7,239,139,200,181,69,
-175,185,133,242,230,192,161,38,128,94,69,228,202,60,71,220,225,209,90,125,
-69,68,238,139,200,125,224,149,161,162,74,169,255,58,235,49,145,121,183,
-159,85,223,175,222,80,121,27,145,155,34,50,19,228,6,240,222,190,135,190,
-250,76,157,62,222,175,41,142,121,51,248,126,142,135,149,231,167,83,47,59,
-235,179,12,124,122,206,211,175,167,12,119,62,52,230,254,176,180,30,125,
-249,29,169,159,27,84,159,174,160,231,150,231,55,33,61,113,20,61,238,255,
-210,121,227,202,111,214,126,174,75,127,247,235,57,215,60,47,194,207,185,
-245,134,71,207,57,242,91,140,159,243,212,99,80,126,15,146,107,61,78,113,
-233,141,160,252,174,70,230,243,102,74,64,126,251,15,246,225,122,39,186,
-78,7,124,251,31,148,223,2,8,244,27,7,41,215,191,29,219,111,172,78,190,231,
-51,33,126,35,82,60,99,228,88,126,195,88,208,237,252,56,87,61,23,64,63,253,
-41,117,61,23,194,184,238,3,18,36,183,239,19,153,130,239,51,78,158,4,239,
-43,19,198,230,117,28,166,44,241,215,18,45,164,194,169,154,217,58,200,151,
-64,255,219,214,147,191,199,142,167,36,170,70,63,3,186,5,92,111,235,201,
-157,216,241,228,76,213,232,105,224,147,192,53,251,111,83,250,165,106,244,
-113,224,44,232,135,109,61,185,21,59,158,212,169,154,217,147,32,159,0,189,
-218,214,147,251,177,227,121,64,42,253,42,183,122,220,105,116,2,186,35,200,
-61,133,27,187,245,201,94,184,12,189,222,152,232,75,15,217,188,121,148,121,
-93,241,121,208,13,144,93,87,93,85,205,236,177,197,47,254,111,182,181,252,
-99,184,40,211,161,106,116,3,248,2,232,191,219,122,50,221,255,108,167,153,
-77,100,241,47,38,40,122,125,183,158,12,246,14,167,210,127,125,245,152,202,
-188,123,64,151,247,171,47,170,70,159,0,158,2,174,183,181,220,62,244,108,
-105,125,166,78,95,239,151,107,222,196,216,207,177,208,101,126,186,244,178,
-171,62,75,193,167,231,92,253,218,206,135,230,184,234,209,159,223,241,249,
-185,161,245,169,79,207,185,226,73,69,79,44,163,143,253,247,205,27,87,126,
-115,246,115,93,250,187,75,207,249,243,155,191,159,91,65,15,59,245,156,43,
-191,165,248,57,87,61,134,230,247,208,103,79,147,97,61,250,244,70,72,126,
-87,143,33,223,121,19,146,223,147,137,117,190,94,91,203,7,39,189,214,170,
-248,246,63,36,191,37,16,226,55,14,83,170,127,11,241,27,29,214,200,246,124,
-38,196,111,196,136,103,108,132,248,13,99,78,151,243,227,92,245,92,8,125,
-245,167,212,245,220,113,25,219,125,64,138,228,246,125,98,82,242,125,198,
-16,164,118,95,153,50,54,175,227,96,254,218,48,12,195,48,12,195,48,12,195,
-48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,
-12,163,112,254,15,18,248,19,251,210,181,219,40,0,0,0,0,73,69,78,68,174,
-66,96,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-49,48,50,52,48};
-
-static size_t xml_res_size_38 = 4026;
-static unsigned char xml_res_file_38[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
-115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
-102,111,108,100,95,97,105,114,112,108,97,110,101,34,62,114,101,115,111,
-117,114,99,101,115,46,99,112,112,36,114,101,115,95,111,117,116,98,111,120,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
-99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,114,101,97,100,95,111,110,108,121,34,62,114,101,115,111,
-117,114,99,101,115,46,99,112,112,36,114,101,115,95,108,111,99,107,46,112,
-110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
-32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,109,101,109,111,114,121,95,118,105,101,119,34,62,114,101,115,
-111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,109,101,109,111,
-114,121,95,118,105,101,119,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,65,98,111,117,116,34,62,114,
-101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,97,98,111,
-117,116,95,105,109,103,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
-32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
-116,109,97,112,34,32,110,97,109,101,61,34,98,117,105,108,100,34,62,114,
-101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,114,101,
-98,117,105,108,100,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
-32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
-109,97,112,34,32,110,97,109,101,61,34,119,111,114,100,95,119,114,97,112,
-34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,
-119,114,97,112,95,97,114,114,111,119,46,112,110,103,60,47,111,98,106,101,
-99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
-119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,100,101,98,117,
-103,95,119,105,110,100,111,119,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,114,101,115,95,116,114,97,99,101,46,112,110,103,60,47,
-111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
-115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
-100,101,98,117,103,103,101,114,95,116,97,98,34,62,114,101,115,111,117,114,
-99,101,115,46,99,112,112,36,114,101,115,95,100,101,98,117,103,95,119,105,
-110,100,111,119,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
-32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
-109,97,112,34,32,110,97,109,101,61,34,115,118,110,95,105,110,102,111,34,
-62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,104,
-101,108,112,95,97,98,111,117,116,46,112,110,103,60,47,111,98,106,101,99,
-116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
-120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,115,118,110,95,114,
-101,102,114,101,115,104,34,62,114,101,115,111,117,114,99,101,115,46,99,
-112,112,36,114,101,115,95,114,101,108,111,97,100,46,112,110,103,60,47,111,
-98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,115,
-118,110,95,114,101,112,111,34,62,114,101,115,111,117,114,99,101,115,46,
-99,112,112,36,114,101,115,95,115,118,110,95,114,101,112,111,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
-99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,115,118,110,95,99,104,101,99,107,111,117,116,34,62,114,101,115,
-111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,115,118,110,95,99,
-104,101,99,107,111,117,116,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,115,118,110,95,115,101,116,
-116,105,110,103,115,34,62,114,101,115,111,117,114,99,101,115,46,99,112,
-112,36,114,101,115,95,99,111,110,102,105,103,117,114,101,46,112,110,103,
-60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
-108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
-61,34,108,111,99,97,108,115,95,118,105,101,119,34,62,114,101,115,111,117,
-114,99,101,115,46,99,112,112,36,114,101,115,95,108,111,99,97,108,115,95,
-118,105,101,119,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,
-60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
-109,97,112,34,32,110,97,109,101,61,34,119,97,116,99,104,101,115,34,62,114,
-101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,119,97,116,
-99,104,101,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
-111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
-97,112,34,32,110,97,109,101,61,34,102,114,97,109,101,115,34,62,114,101,
-115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,119,105,110,
-100,111,119,95,100,117,112,108,105,99,97,116,101,46,112,110,103,60,47,111,
-98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,114,
-101,97,107,112,111,105,110,116,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,114,101,115,95,98,114,101,97,107,112,111,105,110,116,46,
-112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
-116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,110,101,119,95,112,108,117,103,105,110,95,119,105,122,
-95,98,109,112,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,
-114,101,115,95,112,117,122,122,108,101,46,112,110,103,60,47,111,98,106,
-101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
-34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,113,117,101,
-115,116,105,111,110,95,97,110,100,95,97,110,115,119,101,114,34,62,114,101,
-115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,113,117,101,
-115,116,105,111,110,95,97,110,100,95,97,110,115,119,101,114,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
-99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,99,115,99,111,112,101,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,114,101,115,95,107,115,116,97,114,115,46,112,110,103,60,
-47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
-97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
-34,116,104,114,101,97,100,115,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,114,101,115,95,116,104,114,101,97,100,115,46,112,110,103,
-60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
-108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
-61,34,110,101,119,95,99,108,97,115,115,95,116,105,116,108,101,34,62,114,
-101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,101,
-119,95,99,108,97,115,115,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,119,120,95,112,114,111,106,
-101,99,116,95,104,101,97,100,101,114,34,62,114,101,115,111,117,114,99,101,
-115,46,99,112,112,36,114,101,115,95,119,120,112,114,111,106,101,99,116,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
-99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,99,111,108,111,117,114,105,115,101,34,62,114,101,115,111,
-117,114,99,101,115,46,99,112,112,36,114,101,115,95,112,97,99,107,97,103,
-101,95,117,116,105,108,105,116,105,101,115,46,112,110,103,60,47,111,98,
-106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,101,
-120,116,95,118,105,101,119,34,62,114,101,115,111,117,114,99,101,115,46,
-99,112,112,36,114,101,115,95,118,105,101,119,95,116,101,120,116,46,112,
-110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
-32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,101,114,97,115,101,114,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,114,101,115,95,101,114,97,115,101,114,46,112,110,103,60,
-47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
-97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
-34,99,117,114,115,111,114,34,62,114,101,115,111,117,114,99,101,115,46,99,
-112,112,36,114,101,115,95,99,117,114,115,111,114,46,112,110,103,60,47,111,
-98,106,101,99,116,62,10,32,32,60,33,45,45,10,9,9,84,111,111,108,98,97,114,
-32,98,105,116,109,97,112,115,32,40,50,52,120,50,52,41,10,9,45,45,62,10,
-32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
-116,109,97,112,34,32,110,97,109,101,61,34,99,111,100,101,95,102,111,114,
-109,97,116,50,52,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
-36,114,101,115,95,50,52,95,102,111,114,109,97,116,116,101,114,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
-99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,99,111,100,101,95,102,111,114,109,97,116,95,111,112,116,105,111,
-110,115,50,52,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,
-114,101,115,95,50,52,95,102,111,114,109,97,116,116,101,114,95,115,101,116,
-116,105,110,103,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
-32,60,33,45,45,10,9,9,84,111,111,108,98,97,114,32,98,105,116,109,97,112,
-115,32,40,49,54,120,49,54,41,10,9,45,45,62,10,32,32,60,111,98,106,101,99,
-116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,99,111,100,101,95,102,111,114,109,97,116,95,111,112,116,
-105,111,110,115,49,54,34,62,114,101,115,111,117,114,99,101,115,46,99,112,
-112,36,114,101,115,95,49,54,95,102,111,114,109,97,116,116,101,114,95,115,
-101,116,116,105,110,103,115,46,112,110,103,60,47,111,98,106,101,99,116,
-62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
-66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,100,101,95,102,
-111,114,109,97,116,49,54,34,62,114,101,115,111,117,114,99,101,115,46,99,
-112,112,36,114,101,115,95,49,54,95,102,111,114,109,97,116,116,101,114,46,
-112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,33,45,45,32,78,111,
-116,101,98,111,111,107,32,105,99,111,110,115,32,45,45,62,10,32,32,60,33,
-45,45,32,108,105,103,104,116,32,116,104,101,109,101,32,98,117,116,116,111,
-110,115,32,45,45,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,
-97,98,95,120,95,99,108,111,115,101,34,62,114,101,115,111,117,114,99,101,
-115,46,99,112,112,36,114,101,115,95,110,111,116,101,98,111,111,107,95,102,
-105,108,101,99,108,111,115,101,45,100,97,114,107,46,112,110,103,60,47,111,
-98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,
-97,98,95,120,95,99,108,111,115,101,95,112,114,101,115,115,101,100,34,62,
-114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,
-111,116,101,98,111,111,107,95,102,105,108,101,99,108,111,115,101,46,112,
-110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
-32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,116,97,98,95,120,95,99,108,111,115,101,95,104,111,118,101,114,
-34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,
-110,111,116,101,98,111,111,107,95,102,105,108,101,99,108,111,115,101,45,
-100,97,114,107,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
-33,45,45,32,100,97,114,107,32,116,104,101,109,101,32,98,117,116,116,111,
-110,115,32,45,45,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,
-97,98,95,120,95,99,108,111,115,101,95,100,97,114,107,34,62,114,101,115,
-111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,111,116,101,
-98,111,111,107,95,102,105,108,101,99,108,111,115,101,45,119,104,105,116,
-101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
-101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
-32,110,97,109,101,61,34,116,97,98,95,120,95,99,108,111,115,101,95,100,97,
-114,107,95,112,114,101,115,115,101,100,34,62,114,101,115,111,117,114,99,
-101,115,46,99,112,112,36,114,101,115,95,110,111,116,101,98,111,111,107,
-95,102,105,108,101,99,108,111,115,101,46,112,110,103,60,47,111,98,106,101,
-99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
-119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,97,98,95,120,
-95,99,108,111,115,101,95,100,97,114,107,95,104,111,118,101,114,34,62,114,
-101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,111,
-116,101,98,111,111,107,95,102,105,108,101,99,108,111,115,101,45,119,104,
-105,116,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,33,
-45,45,32,100,97,114,107,32,116,104,101,109,101,32,98,117,116,116,111,110,
-115,32,45,45,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,117,105,
-108,100,45,101,114,114,111,114,34,62,114,101,115,111,117,114,99,101,115,
-46,99,112,112,36,46,46,95,105,99,111,110,115,95,98,117,105,108,100,45,101,
-114,114,111,114,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,
-60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
-109,97,112,34,32,110,97,109,101,61,34,98,117,105,108,100,45,119,97,114,
-110,105,110,103,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
-36,46,46,95,105,99,111,110,115,95,98,117,105,108,100,45,119,97,114,110,
-105,110,103,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
-98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
-112,34,32,110,97,109,101,61,34,98,117,105,108,100,45,98,117,105,108,100,
-105,110,103,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,46,
-46,95,105,99,111,110,115,95,99,111,103,115,46,112,110,103,60,47,111,98,
-106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,117,105,
-108,100,45,97,110,105,109,97,116,105,111,110,45,115,112,114,105,116,101,
-34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,46,46,95,105,
-99,111,110,115,95,98,117,105,108,100,45,97,110,105,109,97,116,105,111,110,
-45,115,112,114,105,116,101,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,60,47,114,101,115,111,117,114,99,101,62,10};
-
-void InitXmlResource()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandler);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_outbox.png"), xml_res_file_0, xml_res_size_0, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_lock.png"), xml_res_file_1, xml_res_size_1, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_memory_view.png"), xml_res_file_2, xml_res_size_2, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_about_img.png"), xml_res_file_3, xml_res_size_3, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_rebuild.png"), xml_res_file_4, xml_res_size_4, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_wrap_arrow.png"), xml_res_file_5, xml_res_size_5, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_trace.png"), xml_res_file_6, xml_res_size_6, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_debug_windows.png"), xml_res_file_7, xml_res_size_7, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_help_about.png"), xml_res_file_8, xml_res_size_8, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_reload.png"), xml_res_file_9, xml_res_size_9, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_svn_repo.png"), xml_res_file_10, xml_res_size_10, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_svn_checkout.png"), xml_res_file_11, xml_res_size_11, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_configure.png"), xml_res_file_12, xml_res_size_12, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_locals_view.png"), xml_res_file_13, xml_res_size_13, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_watches.png"), xml_res_file_14, xml_res_size_14, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_window_duplicate.png"), xml_res_file_15, xml_res_size_15, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_breakpoint.png"), xml_res_file_16, xml_res_size_16, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_puzzle.png"), xml_res_file_17, xml_res_size_17, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_question_and_answer.png"), xml_res_file_18, xml_res_size_18, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_kstars.png"), xml_res_file_19, xml_res_size_19, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_threads.png"), xml_res_file_20, xml_res_size_20, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_new_class.png"), xml_res_file_21, xml_res_size_21, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_wxproject.png"), xml_res_file_22, xml_res_size_22, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_package_utilities.png"), xml_res_file_23, xml_res_size_23, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_view_text.png"), xml_res_file_24, xml_res_size_24, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_eraser.png"), xml_res_file_25, xml_res_size_25, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_cursor.png"), xml_res_file_26, xml_res_size_26, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_24_formatter.png"), xml_res_file_27, xml_res_size_27, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_24_formatter_settings.png"), xml_res_file_28, xml_res_size_28, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_16_formatter_settings.png"), xml_res_file_29, xml_res_size_29, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_16_formatter.png"), xml_res_file_30, xml_res_size_30, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose-dark.png"), xml_res_file_31, xml_res_size_31, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose.png"), xml_res_file_32, xml_res_size_32, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose-white.png"), xml_res_file_33, xml_res_size_33, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-error.png"), xml_res_file_34, xml_res_size_34, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-warning.png"), xml_res_file_35, xml_res_size_35, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_cogs.png"), xml_res_file_36, xml_res_size_36, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-animation-sprite.png"), xml_res_file_37, xml_res_size_37, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$resources.xrc"), xml_res_file_38, xml_res_size_38, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/resources.cpp$resources.xrc"));
-}
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 3490;
+static unsigned char xml_res_file_0[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
+0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
+112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
+222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
+33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
+128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
+225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
+207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
+225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
+60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
+66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
+64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
+230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
+68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
+73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
+4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
+42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
+73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
+0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
+95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
+209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
+247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
+144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
+95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
+4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
+11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
+243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
+53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
+0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
+160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
+160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
+132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
+176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
+61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
+138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
+75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
+59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
+55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
+140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
+108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
+86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
+30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
+39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
+18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
+84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
+107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
+242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
+229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
+182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
+211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
+203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
+24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
+152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
+149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
+83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
+103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
+195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
+171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
+61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
+156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
+76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
+174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
+143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
+165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
+222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
+12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
+64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
+105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
+154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
+155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
+182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
+90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
+158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
+109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
+141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
+154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
+182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
+139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
+93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
+135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
+11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
+87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
+60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
+223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
+91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
+185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
+231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
+12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
+67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
+46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
+28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
+23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
+64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
+194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
+146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
+76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
+66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
+110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
+90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
+237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
+134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
+134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
+122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
+220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
+20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
+180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
+151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
+205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
+63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
+123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
+102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
+78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
+82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
+198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
+225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
+91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
+74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
+46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
+225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
+87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
+154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
+244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
+245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
+95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
+119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
+143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
+100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
+209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
+219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
+29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
+147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
+0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
+0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
+197,70,0,0,2,189,73,68,65,84,120,218,156,146,77,72,27,97,16,134,223,111,
+179,155,47,89,77,183,17,3,57,148,170,77,16,177,135,168,37,96,213,104,11,
+134,106,66,83,233,161,30,173,216,75,15,133,158,4,61,8,10,130,88,172,222,
+148,246,44,61,138,185,20,107,12,40,105,64,3,30,140,130,196,216,216,42,196,
+38,193,31,146,205,178,89,179,233,65,147,22,138,244,103,78,195,192,60,243,
+12,51,164,186,186,26,173,45,45,16,179,89,112,28,135,84,42,5,142,227,96,
+48,24,192,48,12,194,225,48,108,54,27,214,214,214,96,181,90,33,220,184,129,
+214,182,54,151,161,188,124,80,185,184,72,177,248,135,200,231,243,80,85,
+85,160,90,237,227,59,22,139,35,157,78,127,251,13,224,247,251,175,5,180,
+183,183,119,60,233,233,121,211,219,219,107,15,6,131,137,96,48,248,249,175,
+12,92,46,151,64,41,125,61,57,57,57,220,220,220,172,61,63,63,47,140,142,
+142,190,221,218,218,90,248,35,192,106,181,54,141,140,140,204,56,157,78,
+135,32,8,0,128,185,217,217,205,245,245,245,247,0,78,174,5,116,118,118,242,
+54,155,237,213,138,207,55,113,187,170,170,84,207,100,50,88,244,122,63,0,
+56,1,0,230,215,166,66,161,0,0,112,187,221,30,143,199,179,48,53,53,53,1,
+0,43,62,31,0,128,16,130,221,221,93,53,22,139,173,18,66,192,48,12,88,0,80,
+85,21,146,36,129,231,249,251,99,99,99,195,211,211,211,143,106,107,107,185,
+157,157,29,28,28,28,224,161,195,81,26,112,118,118,166,40,138,242,149,231,
+121,104,52,26,176,185,92,14,32,164,241,65,71,199,224,243,254,254,103,102,
+179,153,1,128,88,44,134,104,52,10,167,211,9,157,78,87,178,228,56,142,12,
+13,13,49,90,173,22,0,192,90,44,150,23,110,151,235,157,173,161,129,68,34,
+17,53,16,8,124,63,61,61,149,155,26,26,111,185,187,220,140,146,207,21,237,
+112,101,75,244,122,61,161,148,94,2,106,106,106,252,119,235,235,239,5,2,
+1,57,30,143,231,163,209,168,20,143,199,205,130,32,124,172,52,153,42,132,
+155,2,56,142,131,40,138,144,36,9,178,44,19,69,81,64,8,185,4,40,138,242,
+69,206,229,64,41,5,207,243,152,159,159,71,95,95,159,36,102,50,105,131,161,
+188,98,105,105,41,178,189,189,189,106,183,219,123,28,109,14,147,169,210,
+196,38,18,9,134,106,175,12,138,187,177,44,11,89,150,49,48,48,128,172,40,
+66,167,215,139,201,84,10,227,227,227,47,247,247,247,253,117,117,117,115,
+221,221,221,79,179,82,182,43,43,102,21,134,97,126,2,8,195,224,248,248,24,
+161,80,8,0,32,203,178,124,120,120,152,246,122,189,51,225,112,216,15,0,70,
+163,113,51,20,10,109,38,147,201,137,178,178,50,177,120,114,22,0,52,26,13,
+54,54,54,112,116,116,4,74,41,84,85,189,88,94,94,94,220,219,219,251,100,
+52,26,33,138,34,10,133,2,244,122,61,120,158,207,80,74,75,63,67,138,201,
+255,198,143,1,0,79,234,41,12,35,51,97,245,0,0,0,0,73,69,78,68,174,66,96,
+130};
+
+static size_t xml_res_size_1 = 749;
+static unsigned char xml_res_file_1[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
+116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
+97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,127,73,68,65,84,56,203,
+109,82,65,107,19,65,24,125,155,164,73,19,155,24,181,53,52,74,77,155,104,
+65,65,196,91,61,8,130,61,136,226,65,189,121,83,80,132,64,78,237,177,7,115,
+236,175,240,144,34,30,122,246,7,136,5,169,90,208,70,19,155,150,52,40,148,
+20,147,38,166,73,118,118,102,125,179,107,218,181,58,240,49,51,223,124,223,
+155,247,222,140,97,219,54,188,99,105,105,105,68,41,53,39,165,156,97,156,
+100,128,241,147,177,98,89,214,98,46,151,251,229,173,55,188,0,133,66,225,
+10,155,151,147,201,228,100,44,22,131,207,231,3,247,232,245,122,168,215,
+235,216,226,32,208,189,249,249,249,181,127,0,216,60,194,195,143,233,116,
+58,99,154,38,106,181,26,58,157,142,190,29,129,64,0,137,68,194,169,43,22,
+139,27,204,93,94,88,88,232,234,189,111,128,196,228,179,241,241,241,140,
+16,2,229,114,121,179,221,110,167,184,14,234,208,235,82,169,244,67,3,147,
+93,134,82,178,131,190,192,96,193,228,76,36,18,65,165,82,1,155,238,100,179,
+217,170,71,106,53,159,207,223,172,86,171,197,84,42,229,212,254,15,96,76,
+107,230,109,122,189,133,35,67,231,52,59,93,67,182,99,127,121,176,253,230,
+145,189,82,153,198,206,94,216,209,124,247,210,42,252,182,128,45,45,216,
+150,27,66,72,188,88,187,234,152,154,24,110,224,246,153,85,76,63,249,96,
+184,12,8,242,224,254,13,24,180,196,240,135,57,223,2,148,65,126,195,250,
+144,6,9,72,171,141,231,179,29,230,133,211,178,241,242,237,161,4,125,147,
+46,180,118,95,33,16,26,133,97,140,176,112,8,8,199,153,86,192,254,30,100,
+235,27,204,238,119,40,107,31,225,201,44,108,179,239,1,32,69,40,125,147,
+137,230,250,123,234,60,134,248,197,107,168,189,94,100,255,105,76,92,159,
+69,243,235,58,1,26,136,166,78,144,176,132,45,76,47,128,112,100,216,164,
+26,159,190,0,95,112,148,238,40,200,190,196,167,221,48,38,96,34,158,158,
+68,175,19,98,237,190,195,106,0,224,252,3,155,238,106,84,173,181,241,121,
+141,44,222,241,196,130,234,41,244,187,164,106,147,89,233,11,154,229,109,
+87,174,82,78,207,33,3,189,209,168,148,16,63,159,130,63,114,138,0,38,166,
+30,62,197,148,96,67,107,7,199,211,73,4,91,67,46,3,202,61,2,96,58,168,202,
+210,30,172,19,32,10,12,211,200,64,144,121,13,208,68,183,81,135,232,180,
+17,157,136,209,110,229,202,246,2,104,9,161,179,143,17,62,231,135,17,12,
+185,79,232,227,75,40,74,51,187,136,118,219,84,216,39,81,233,250,165,141,
+63,0,224,147,108,46,207,185,94,56,31,71,252,9,235,96,230,15,115,63,150,
+148,238,90,3,113,252,6,114,178,178,205,135,111,193,69,0,0,0,0,73,69,78,
+68,174,66,96,130};
+
+static size_t xml_res_size_2 = 3651;
+static unsigned char xml_res_file_2[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
+0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
+112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
+222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
+33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
+128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
+225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
+207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
+225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
+60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
+66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
+64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
+230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
+68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
+73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
+4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
+42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
+73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
+0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
+95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
+209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
+247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
+144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
+95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
+4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
+11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
+243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
+53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
+0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
+160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
+160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
+132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
+176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
+61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
+138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
+75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
+59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
+55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
+140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
+108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
+86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
+30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
+39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
+18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
+84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
+107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
+242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
+229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
+182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
+211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
+203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
+24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
+152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
+149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
+83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
+103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
+195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
+171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
+61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
+156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
+76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
+174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
+143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
+165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
+222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
+12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
+64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
+105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
+154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
+155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
+182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
+90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
+158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
+109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
+141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
+154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
+182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
+139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
+93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
+135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
+11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
+87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
+60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
+223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
+91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
+185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
+231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
+12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
+67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
+46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
+28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
+23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
+64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
+194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
+146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
+76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
+66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
+110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
+90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
+237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
+134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
+134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
+122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
+220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
+20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
+180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
+151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
+205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
+63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
+123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
+102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
+78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
+82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
+198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
+225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
+91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
+74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
+46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
+225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
+87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
+154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
+244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
+245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
+95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
+119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
+143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
+100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
+209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
+219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
+29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
+147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
+0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
+0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
+197,70,0,0,3,94,73,68,65,84,120,218,116,206,205,79,28,101,0,128,241,103,
+102,222,153,253,96,63,88,88,151,111,40,152,86,11,210,3,173,161,138,198,
+170,64,91,172,98,52,38,246,208,180,73,155,94,76,52,209,196,196,24,253,3,
+244,98,60,104,52,154,104,60,152,52,212,130,28,48,109,211,96,137,90,81,97,
+53,69,64,105,98,129,66,119,89,118,151,221,101,119,102,231,227,245,226,193,
+131,254,174,207,229,17,82,74,78,125,251,151,106,132,195,210,159,186,173,
+212,205,78,133,107,253,190,218,157,98,190,188,149,232,201,126,248,242,73,
+247,252,216,175,138,99,219,184,150,131,83,245,240,92,15,179,82,81,166,167,
+38,61,209,244,202,59,79,12,190,240,226,41,77,81,36,166,169,164,171,158,
+145,41,102,12,169,168,142,99,150,205,151,198,23,164,161,235,104,210,197,
+118,20,84,161,128,208,40,87,20,197,243,228,151,2,77,125,172,173,54,120,
+166,249,143,31,24,191,124,141,104,107,23,145,166,125,172,109,102,201,39,
+231,233,74,223,33,222,255,20,174,34,208,52,137,84,32,149,41,145,92,74,81,
+42,228,211,162,34,53,171,112,115,14,49,51,193,232,209,231,104,60,60,196,
+47,43,25,22,131,91,20,99,7,184,241,221,37,234,211,23,96,255,32,174,167,
+147,222,42,146,90,207,128,181,11,174,107,106,162,187,255,17,187,100,62,
+89,190,183,159,227,207,28,103,179,108,113,189,232,80,146,224,243,9,212,
+120,39,190,236,29,54,54,243,172,230,160,152,43,128,103,130,179,11,219,171,
+211,234,110,118,91,118,52,54,242,238,233,97,22,50,37,146,37,135,128,166,
+208,30,22,180,70,52,226,117,6,161,166,110,172,181,91,56,59,57,144,38,56,
+21,112,93,208,125,8,182,139,52,249,131,236,13,25,244,138,50,119,51,22,17,
+219,70,149,22,142,112,201,249,117,72,52,147,180,76,168,152,224,170,80,41,
+128,99,162,122,85,41,240,124,178,152,205,147,92,175,16,64,50,80,11,82,234,
+32,5,5,215,79,38,167,227,249,82,216,190,4,248,66,160,186,224,73,176,74,
+120,85,75,10,180,40,211,87,175,48,210,23,167,237,224,48,13,81,135,136,33,
+169,186,10,217,130,224,64,204,227,139,185,43,236,70,90,32,96,128,89,2,92,
+64,130,240,163,209,252,208,64,60,22,29,202,44,207,82,31,8,80,19,106,165,
+80,241,97,237,186,144,219,96,242,171,207,73,248,161,161,173,149,223,150,
+50,80,202,65,57,15,149,18,184,206,180,8,183,116,16,107,143,179,116,55,205,
+173,143,47,210,187,111,134,174,61,61,20,138,219,92,189,49,203,122,14,14,
+117,168,188,117,238,121,26,244,22,38,127,172,34,60,133,0,81,150,111,111,
+40,218,161,19,231,31,237,190,191,123,208,215,216,137,177,247,97,22,210,
+58,51,63,45,242,123,62,76,160,111,148,61,3,67,172,110,20,153,159,158,228,
+181,147,71,216,127,95,59,118,99,55,225,186,6,12,33,102,68,125,46,121,205,
+205,215,126,116,184,53,20,82,85,162,118,83,71,208,62,210,102,224,186,66,
+81,92,116,37,139,61,252,160,59,247,205,178,255,131,79,63,235,123,251,205,
+55,148,63,87,126,222,245,39,90,199,244,181,157,113,164,148,72,41,185,60,
+51,175,44,45,46,27,114,39,21,169,102,55,235,171,217,205,68,117,123,179,
+193,202,110,52,72,187,16,159,154,184,120,79,44,22,123,253,232,177,99,214,
+202,242,77,57,49,118,225,253,226,78,62,168,140,158,126,149,206,131,35,60,
+254,64,29,157,137,26,122,59,234,169,186,18,35,26,231,191,232,186,113,238,
+204,217,179,239,61,251,244,137,154,181,181,181,17,241,239,40,1,239,159,
+163,255,99,219,213,79,12,195,240,125,61,126,169,167,38,24,252,254,239,1,
+0,85,142,151,88,77,177,193,143,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_3 = 37812;
+static unsigned char xml_res_file_3[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,176,0,0,1,142,8,6,0,
+0,0,246,62,86,247,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,6,98,75,71,
+68,0,255,0,255,0,255,160,189,167,147,0,0,0,9,112,72,89,115,0,0,11,18,0,
+0,11,18,1,210,221,126,252,0,0,0,7,116,73,77,69,7,219,4,12,17,3,19,185,12,
+132,110,0,0,32,0,73,68,65,84,120,218,236,189,121,116,92,231,117,39,248,
+123,245,94,189,87,11,10,133,141,216,8,144,20,184,73,164,184,104,151,188,
+72,182,100,199,146,99,199,75,220,157,153,116,167,219,238,204,105,247,56,
+75,159,78,79,150,57,86,79,86,111,177,19,39,142,228,142,163,177,207,140,
+61,233,137,198,241,73,172,120,145,188,106,177,73,138,18,41,146,226,38,137,
+59,1,16,75,1,40,212,94,245,182,249,3,188,79,95,61,188,170,122,85,40,20,
+22,222,223,57,117,0,20,106,121,223,247,221,119,127,223,93,190,123,165,143,
+126,244,163,54,24,12,6,131,193,88,99,8,240,20,48,24,12,6,131,9,140,193,
+96,48,24,12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,4,198,96,48,24,
+12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,24,12,6,131,9,
+140,193,96,48,24,12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,4,198,
+96,48,24,12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,24,12,
+6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,49,24,12,6,131,193,
+4,198,96,48,24,12,6,19,24,131,193,96,48,24,76,96,12,6,131,193,96,2,99,48,
+24,12,6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,49,24,12,6,
+131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,192,24,12,6,131,193,
+96,2,99,48,24,12,6,131,9,140,193,96,48,24,12,38,48,6,131,193,96,48,129,
+49,24,12,6,131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,192,24,12,
+6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,76,96,12,6,131,193,
+96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,6,19,24,131,193,96,48,152,
+192,24,12,6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,76,96,12,
+6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,38,48,6,131,193,
+96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,131,9,140,193,96,48,24,
+76,96,12,6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,12,38,48,
+6,131,193,96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,19,24,131,193,
+96,48,24,76,96,12,6,131,193,96,48,129,49,24,12,6,131,193,4,198,96,48,24,
+12,38,48,6,131,193,96,48,152,192,24,12,6,131,193,96,2,99,48,24,12,6,19,
+24,131,193,96,48,24,171,23,10,79,1,99,189,161,84,42,53,244,62,85,85,121,
+242,24,12,38,48,6,99,245,19,214,114,125,14,147,33,131,193,4,198,96,212,
+69,56,166,105,182,228,123,101,89,102,50,100,48,152,192,24,140,165,147,151,
+72,92,149,72,76,124,222,15,1,85,131,105,154,75,254,12,38,67,6,131,9,140,
+193,228,229,249,211,47,153,213,75,38,205,38,68,38,67,6,131,9,140,113,131,
+146,87,37,2,243,34,169,90,164,83,205,5,89,141,28,150,74,136,55,2,25,50,
+217,49,152,192,24,140,10,228,229,245,123,35,86,88,37,69,238,231,245,110,
+165,223,8,33,174,38,50,92,202,103,184,223,39,146,29,147,25,131,9,140,113,
+195,90,95,166,105,226,3,31,248,0,30,126,248,97,204,204,204,96,106,106,10,
+133,66,1,133,66,1,233,116,26,249,124,30,151,46,93,130,162,40,24,27,27,131,
+174,235,200,229,114,48,12,3,243,243,243,176,109,27,150,101,1,0,108,219,
+94,244,144,36,169,110,242,144,101,185,38,201,137,159,83,207,107,87,138,
+12,155,73,136,226,251,105,29,153,200,24,76,96,140,27,18,255,242,47,255,
+130,66,161,128,143,125,236,99,216,182,109,27,82,169,20,2,129,0,76,211,132,
+162,40,176,44,11,146,36,161,84,42,33,16,8,160,88,44,2,0,138,197,34,108,
+219,134,97,24,48,77,19,249,124,30,165,82,9,186,174,163,84,42,33,159,207,
+227,218,181,107,101,207,103,50,25,88,150,133,201,201,73,72,146,132,68,34,
+1,219,182,161,235,58,44,203,130,174,235,139,92,151,94,68,216,76,50,172,
+199,58,108,6,25,86,122,95,53,242,172,244,63,38,50,6,19,24,227,134,134,174,
+235,248,246,183,191,141,92,46,135,247,191,255,253,8,133,66,200,231,243,
+101,175,145,36,9,146,36,33,16,8,64,146,36,200,178,140,112,56,12,69,81,156,
+231,136,108,100,89,118,72,207,178,44,4,131,65,24,134,1,73,146,160,235,58,
+84,85,69,177,88,132,36,73,142,34,183,44,11,166,105,58,68,86,44,22,97,24,
+6,138,197,34,10,133,2,12,195,64,62,159,71,54,155,69,50,153,132,101,89,56,
+123,246,44,76,211,68,161,80,128,101,89,40,20,10,206,223,133,66,193,33,206,
+64,32,0,219,182,157,235,107,212,146,106,53,25,186,173,204,106,215,40,18,
+25,147,24,131,9,140,113,67,33,16,8,224,233,167,159,70,91,91,27,30,122,232,
+33,104,154,230,88,90,164,248,69,119,161,174,235,13,125,15,145,32,41,93,
+250,155,30,161,80,168,140,48,101,89,134,109,219,80,20,5,186,174,59,150,
+97,48,24,116,254,182,44,11,129,64,0,186,174,195,48,12,24,134,81,102,205,
+185,173,66,93,215,49,49,49,225,88,128,165,82,9,185,92,14,146,36,33,149,
+74,65,215,117,76,79,79,195,52,77,100,179,89,199,194,164,177,91,150,229,
+204,197,114,88,134,110,2,20,255,102,18,99,48,129,49,24,21,72,236,201,39,
+159,68,56,28,198,91,223,250,86,168,170,218,212,84,113,34,194,106,217,141,
+141,18,34,17,158,36,73,8,6,131,144,101,185,204,90,180,109,219,33,57,178,
+8,85,85,133,174,235,101,255,47,149,74,176,44,203,33,43,74,100,177,44,11,
+134,97,160,84,42,161,88,44,58,150,158,97,24,200,102,179,208,117,29,169,
+84,10,166,105,98,114,114,18,185,92,14,215,174,93,43,123,29,61,40,142,168,
+40,10,10,133,66,217,88,68,98,119,19,93,53,55,162,251,53,76,98,12,38,48,
+198,13,7,73,146,240,196,19,79,64,211,52,220,117,215,93,203,66,98,203,69,
+136,75,25,51,17,184,72,138,244,144,101,217,33,6,73,146,96,219,54,84,85,
+45,115,151,18,137,208,245,144,101,40,146,160,109,219,40,149,74,142,85,104,
+154,38,138,197,34,44,203,66,38,147,113,44,190,82,169,132,137,137,9,24,134,
+225,60,159,203,229,96,219,54,138,197,162,67,162,137,68,2,197,98,17,170,
+170,58,36,108,24,6,20,133,85,17,163,129,251,224,163,31,253,168,205,211,
+192,88,11,16,179,16,221,15,178,52,126,231,119,126,7,119,222,121,167,227,
+142,99,212,111,209,186,227,134,0,160,40,10,36,73,114,136,70,116,139,26,
+134,1,0,14,41,18,73,139,110,75,202,16,157,159,159,199,225,195,135,241,253,
+239,127,31,138,162,64,150,101,231,51,233,59,216,10,99,176,5,198,88,119,
+16,45,43,119,178,0,41,219,191,248,139,191,192,163,143,62,138,221,187,119,
+67,81,20,71,185,50,252,65,180,192,154,101,29,90,150,133,217,217,89,204,
+207,207,227,169,167,158,194,241,227,199,23,17,93,48,24,172,152,185,201,
+96,84,130,188,127,255,254,63,226,105,96,172,21,144,171,75,60,183,37,42,
+95,219,182,241,252,243,207,99,223,190,125,232,237,237,93,244,26,70,107,
+215,170,88,44,98,114,114,18,99,99,99,120,226,137,39,112,250,244,105,39,
+94,71,100,233,229,254,100,48,124,121,12,120,10,24,107,205,10,115,118,95,
+215,227,60,164,240,200,29,101,89,22,254,228,79,254,4,87,174,92,129,166,
+105,172,16,87,200,146,203,229,114,152,158,158,198,201,147,39,241,231,127,
+254,231,184,116,233,146,147,20,34,38,154,240,38,131,193,4,198,184,177,92,
+7,46,82,18,201,76,81,20,148,74,37,60,250,232,163,24,31,31,135,170,170,236,
+154,106,177,229,149,76,38,49,61,61,141,127,250,167,127,194,99,143,61,230,
+100,59,186,9,75,204,196,228,53,98,48,129,49,110,24,43,76,36,45,247,67,81,
+20,100,50,25,252,225,31,254,33,166,166,166,16,14,135,89,65,182,0,186,174,
+35,145,72,96,122,122,26,95,250,210,151,240,157,239,124,7,165,82,105,145,
+133,69,174,66,209,117,200,235,195,96,2,99,220,144,214,88,37,18,75,36,18,
+248,228,39,63,137,68,34,129,72,36,194,147,181,76,32,151,225,228,228,36,
+206,156,57,131,71,31,125,20,39,78,156,112,226,92,116,78,140,214,69,211,
+52,231,65,68,198,96,48,129,49,110,56,43,172,18,145,169,170,10,69,81,48,
+53,53,133,191,252,203,191,68,50,153,68,56,28,230,201,91,6,242,74,165,82,
+72,36,18,248,233,79,127,138,207,126,246,179,72,36,18,101,107,18,8,4,160,
+170,42,84,85,133,166,105,80,20,197,73,163,15,6,131,236,66,100,52,182,121,
+229,44,68,198,90,182,188,40,43,17,128,103,50,0,85,171,184,118,237,26,46,
+94,188,136,59,238,184,3,177,88,140,207,136,53,1,116,8,121,118,118,22,137,
+68,2,95,253,234,87,241,237,111,127,219,57,15,70,196,21,12,6,157,135,170,
+170,206,239,238,13,135,184,174,12,6,19,24,227,134,35,177,69,46,134,235,
+41,247,129,64,0,99,99,99,152,153,153,193,222,189,123,17,141,70,153,196,
+150,8,170,172,49,62,62,142,207,125,238,115,120,245,213,87,157,195,206,129,
+64,192,113,21,146,229,37,62,200,2,19,15,70,139,150,53,131,225,7,124,144,
+153,177,230,65,7,156,43,237,220,233,255,154,166,225,185,231,158,67,40,20,
+194,199,62,246,49,132,195,225,178,186,126,12,127,176,44,11,217,108,22,115,
+115,115,56,124,248,48,158,120,226,9,228,114,57,199,218,18,99,144,68,88,
+162,245,37,18,23,91,92,12,38,48,198,146,17,14,135,29,215,14,128,69,63,43,
+129,172,24,241,167,174,235,139,90,155,172,22,18,11,6,131,120,230,153,103,
+208,222,222,142,95,249,149,95,65,40,20,98,18,171,3,148,34,159,74,165,240,
+228,147,79,226,251,223,255,190,83,89,159,200,171,18,113,185,201,203,237,
+58,100,235,139,193,4,198,240,68,123,123,59,34,145,72,89,60,194,15,65,137,
+228,228,70,61,239,37,98,163,170,230,169,84,170,229,36,70,137,29,0,240,205,
+111,126,19,154,166,225,131,31,252,224,162,54,44,140,197,160,6,158,51,51,
+51,152,152,152,192,151,191,252,101,156,57,115,198,169,164,79,105,241,162,
+219,208,203,234,18,201,203,189,118,12,6,19,24,91,82,136,199,227,8,6,131,
+14,97,85,35,163,165,196,129,234,121,175,155,56,197,207,200,229,114,208,
+117,29,243,243,243,75,182,220,170,145,24,253,143,148,229,223,255,253,223,
+35,28,14,227,225,135,31,102,18,171,2,203,178,144,207,231,49,55,55,135,51,
+103,206,224,175,255,250,175,49,55,55,231,100,17,82,188,75,180,180,68,11,
+204,93,180,87,172,156,194,228,197,96,2,187,129,209,221,221,141,72,36,178,
+136,172,220,174,189,165,144,79,51,64,215,230,245,189,116,237,61,61,61,101,
+164,150,203,229,48,51,51,179,172,36,246,119,127,247,119,208,52,13,15,61,
+244,208,170,111,195,178,82,228,149,76,38,157,66,188,223,254,246,183,161,
+235,186,67,74,148,6,95,41,211,80,76,151,39,210,98,183,33,131,9,236,6,69,
+123,123,59,226,241,120,25,97,85,35,171,86,88,88,205,112,67,186,255,31,137,
+68,16,143,199,49,48,48,224,16,218,252,252,124,67,174,71,47,119,21,145,152,
+109,219,120,236,177,199,176,97,195,6,236,221,187,215,233,154,204,88,88,
+147,185,185,57,36,147,73,124,249,203,95,198,145,35,71,0,96,81,188,43,24,
+12,150,101,27,18,113,81,70,162,187,94,37,147,23,163,89,224,126,96,107,0,
+253,253,253,142,149,181,84,171,106,165,149,179,31,178,171,244,26,122,158,
+172,179,137,137,137,170,159,35,246,15,163,159,244,160,230,140,84,49,221,
+52,77,252,241,31,255,49,246,237,219,231,20,156,189,145,173,174,98,177,136,
+153,153,25,92,184,112,1,127,245,87,127,133,201,201,73,135,184,42,185,12,
+69,43,76,172,188,193,228,197,96,2,187,1,73,139,98,89,141,88,87,173,138,
+109,213,75,78,141,188,215,235,127,226,188,204,207,207,87,36,51,63,36,86,
+42,149,28,194,250,194,23,190,128,145,145,17,231,127,55,34,121,81,227,201,
+3,7,14,224,137,39,158,64,169,84,42,235,242,92,175,203,144,201,139,193,4,
+118,3,160,187,187,27,61,61,61,21,73,107,169,241,172,213,224,26,171,135,
+228,106,89,98,94,150,217,252,252,252,162,184,89,61,36,166,170,42,62,251,
+217,207,98,243,230,205,208,117,253,134,34,49,211,52,157,198,147,95,255,
+250,215,241,236,179,207,58,135,192,137,184,136,160,84,85,69,40,20,42,35,
+50,209,101,72,164,197,196,197,96,2,91,199,104,111,111,71,79,79,79,69,247,
+96,163,164,181,214,226,56,181,136,173,17,50,75,36,18,78,204,76,36,49,145,
+200,68,87,34,145,88,44,22,195,103,62,243,25,108,220,184,17,249,124,126,
+221,247,170,178,109,27,165,82,9,51,51,51,78,221,200,11,23,46,84,77,145,
+247,178,186,216,101,200,96,2,187,65,32,186,8,253,144,214,114,184,11,91,
+69,114,141,186,22,27,117,43,138,127,139,46,198,122,72,172,163,163,3,159,
+251,220,231,208,215,215,135,92,46,183,110,73,76,172,170,113,228,200,17,
+124,229,43,95,65,58,157,174,152,34,239,69,94,213,82,228,153,188,24,203,
+9,174,133,88,193,149,98,154,38,126,250,163,167,208,217,174,32,28,237,110,
+202,231,26,134,129,174,174,46,12,12,12,32,164,133,0,107,97,247,43,73,146,
+147,72,96,26,38,138,165,162,83,29,66,108,189,238,38,159,74,255,171,244,
+58,247,163,149,74,178,210,163,90,25,161,106,175,243,250,159,251,57,26,99,
+44,22,67,111,111,47,34,145,8,230,230,230,170,22,255,165,218,137,233,116,
+26,175,188,242,10,238,189,247,94,180,183,183,175,203,204,68,170,170,49,
+55,55,135,127,252,199,127,196,55,190,241,13,20,139,197,178,88,151,88,191,
+80,60,160,92,237,112,178,120,190,139,203,68,49,150,19,156,70,239,82,138,
+182,109,227,208,161,67,184,121,199,102,140,94,155,71,87,228,16,250,250,
+7,81,178,162,13,43,137,193,254,65,108,26,222,132,174,206,46,244,245,245,
+33,26,141,66,85,85,4,228,55,21,169,101,91,48,12,3,133,98,1,197,98,17,115,
+115,115,152,152,156,128,174,235,200,164,211,200,94,175,53,183,26,44,170,
+102,194,235,154,189,172,43,247,235,188,206,188,137,207,211,115,162,133,
+27,143,199,113,251,237,183,99,118,118,22,147,147,147,200,100,50,222,187,
+58,89,134,166,105,184,122,245,42,254,236,207,254,12,143,62,250,40,186,186,
+186,144,203,229,214,141,156,27,134,129,153,153,25,76,79,79,227,241,199,
+31,199,169,83,167,32,73,146,103,138,60,197,186,56,69,158,177,218,192,46,
+68,1,23,47,94,196,11,47,188,128,112,56,140,108,54,139,141,27,2,248,225,
+151,55,161,152,75,225,241,103,223,3,195,214,124,127,86,56,28,198,214,155,
+182,98,247,205,187,17,137,70,144,207,230,145,206,165,145,201,100,96,152,
+38,58,58,58,208,221,211,141,225,161,33,244,244,244,56,187,88,221,124,179,
+150,96,62,159,71,34,145,64,98,122,26,99,99,99,72,38,147,40,20,139,78,198,
+92,179,8,107,185,136,111,41,89,137,245,124,142,31,119,162,251,57,211,52,
+145,203,229,48,62,62,142,76,38,83,150,216,33,186,21,139,197,34,246,237,
+219,135,223,251,189,223,67,44,22,91,243,36,102,219,54,242,249,60,102,103,
+103,241,250,235,175,227,139,95,252,34,102,103,103,107,86,213,224,20,121,
+6,19,216,42,198,216,216,24,126,248,195,31,226,238,187,239,198,225,195,135,
+17,12,6,113,219,205,109,120,234,179,10,58,59,99,248,217,249,189,120,242,
+185,56,74,70,245,166,123,1,41,128,61,123,246,160,189,173,29,103,207,158,
+197,197,75,23,97,217,22,84,85,69,36,28,69,36,26,65,36,18,70,40,28,65,56,
+20,6,36,27,125,189,189,184,227,142,59,176,109,219,182,55,251,40,201,11,
+174,172,108,38,131,68,34,225,244,92,26,189,122,117,33,83,44,157,174,171,
+244,209,106,179,206,150,35,46,230,151,204,232,239,66,161,128,96,48,136,
+84,42,133,241,241,113,100,179,217,138,36,246,182,183,189,13,159,248,196,
+39,16,141,70,91,94,168,184,153,150,87,42,149,66,50,153,196,211,79,63,141,
+111,126,243,155,77,77,145,103,226,98,180,26,28,3,187,142,231,159,127,30,
+97,181,136,115,231,71,161,105,26,134,134,134,80,48,163,120,225,88,17,183,
+220,254,65,76,203,31,194,206,77,54,94,191,144,128,13,169,162,213,165,170,
+42,94,61,249,42,94,121,229,21,76,39,166,97,193,114,98,7,145,72,248,122,
+92,64,129,26,84,161,105,42,50,153,12,174,92,185,130,87,142,29,3,32,97,235,
+214,173,8,200,1,167,67,173,162,40,136,197,98,232,136,199,17,143,199,17,
+109,107,131,26,12,194,182,44,200,129,0,242,30,149,212,189,226,94,171,81,
+153,214,19,15,243,122,159,215,235,189,254,87,41,86,166,105,154,83,161,190,
+171,171,11,145,72,4,243,243,243,111,110,70,132,94,98,23,46,92,192,220,220,
+28,246,237,219,135,112,56,188,230,14,58,235,186,142,217,217,89,36,147,73,
+60,254,248,227,120,250,233,167,157,62,106,68,78,98,204,43,28,14,35,20,10,
+57,178,75,46,69,119,138,60,247,241,98,48,129,173,2,140,94,56,138,137,132,
+142,251,111,143,96,251,150,110,204,231,52,200,178,140,7,31,249,183,184,
+255,189,191,13,89,150,49,159,211,176,37,118,20,231,198,131,128,139,196,
+134,135,135,49,58,58,138,177,209,49,216,214,66,98,134,109,219,48,77,211,
+73,212,128,20,128,114,221,69,163,168,111,186,108,10,197,34,82,169,20,174,
+142,94,197,246,109,219,208,221,221,189,160,24,174,39,25,88,150,5,73,146,
+16,210,52,116,196,227,136,70,163,136,132,195,80,130,65,152,134,129,182,
+88,12,201,100,114,213,146,85,163,164,86,139,208,252,36,121,212,34,50,34,
+41,82,202,27,54,108,128,170,170,78,124,76,252,255,249,243,231,145,207,231,
+113,235,173,183,66,211,180,53,113,70,204,178,44,20,10,5,36,18,9,156,63,
+127,30,159,250,212,167,202,170,200,147,85,69,177,46,77,211,16,10,133,60,
+51,13,69,210,98,151,33,99,53,128,147,56,174,227,254,119,62,130,244,216,
+247,240,127,126,50,6,91,10,227,87,255,212,196,195,31,248,56,62,254,241,
+143,99,110,110,14,153,76,6,91,163,63,193,214,91,15,98,122,172,13,71,174,
+221,7,96,225,240,241,192,192,0,0,64,146,36,24,230,66,25,34,89,150,209,217,
+209,137,246,120,59,20,89,129,26,82,17,14,133,161,6,53,200,74,0,74,112,161,
+107,173,108,43,216,208,211,139,72,56,12,203,182,112,242,212,73,108,223,
+177,29,0,96,99,33,102,129,235,10,148,178,230,58,59,59,17,14,133,208,30,
+143,195,212,117,156,56,117,122,201,125,173,154,237,98,108,70,252,171,90,
+226,70,181,215,214,147,224,65,196,69,238,68,195,48,208,217,217,137,80,40,
+132,68,34,129,153,153,153,178,54,44,223,253,238,119,209,219,219,139,95,
+252,197,95,92,245,21,236,197,170,26,135,15,31,198,223,254,237,223,162,88,
+44,150,197,187,168,59,114,165,20,121,174,170,193,96,11,108,13,32,160,132,
+208,185,97,27,134,162,167,49,216,215,134,237,119,255,54,238,125,251,7,144,
+203,229,48,54,54,134,175,125,237,107,24,61,251,20,238,191,171,15,123,55,
+207,224,226,104,14,221,155,238,71,60,30,135,174,235,8,4,2,56,117,234,20,
+6,6,6,176,101,243,22,236,216,185,3,93,221,93,136,197,98,136,182,69,17,10,
+133,96,217,22,44,219,132,97,26,40,149,74,40,20,242,8,6,21,196,218,98,8,
+6,21,104,161,133,86,40,187,119,239,90,176,224,174,91,12,182,109,195,50,
+77,232,165,18,76,122,14,64,88,211,96,67,66,201,208,49,58,58,6,69,81,42,
+158,87,170,150,78,191,28,86,91,181,239,242,235,46,172,215,125,88,205,250,
+170,230,74,36,247,24,157,19,35,247,109,44,22,67,44,22,67,177,88,116,214,
+24,0,142,30,61,138,158,158,30,140,140,140,64,150,229,85,105,137,81,85,141,
+185,185,57,124,253,235,95,199,63,252,195,63,192,48,140,178,170,26,226,217,
+46,77,211,16,14,135,161,105,90,89,122,124,53,151,33,167,200,51,152,192,
+86,17,12,43,136,215,38,135,209,54,240,16,162,253,239,128,105,154,152,154,
+154,194,99,143,61,134,151,94,122,9,167,46,107,208,164,57,220,181,111,19,
+110,219,124,5,175,158,55,81,10,12,1,0,242,249,60,134,135,135,157,82,80,
+34,145,16,121,120,145,74,161,80,192,124,42,137,120,71,39,12,67,71,40,20,
+194,222,189,123,22,44,46,129,188,74,165,18,44,219,134,101,24,48,116,29,
+134,105,194,48,77,68,174,147,95,32,16,64,58,157,134,105,154,235,58,6,86,
+15,153,213,75,100,154,166,57,177,45,241,28,89,71,71,7,52,77,67,58,157,118,
+92,138,135,14,29,194,214,173,91,49,48,48,0,69,81,86,21,137,21,139,69,36,
+18,9,76,78,78,226,51,159,249,140,83,69,222,125,118,139,220,133,110,183,
+33,145,19,187,12,25,76,96,107,12,186,165,97,102,54,137,205,155,134,144,
+78,207,35,52,253,215,248,191,191,117,18,134,185,16,243,58,124,70,197,112,
+79,22,187,111,217,130,93,61,199,113,236,124,16,37,244,46,184,15,13,163,
+140,44,170,17,151,251,121,9,64,177,84,66,87,87,23,246,239,223,239,196,191,
+76,211,68,169,88,92,56,187,163,235,11,15,195,128,97,152,200,230,114,144,
+2,18,122,122,122,160,105,26,36,73,186,30,115,3,12,99,237,157,9,107,148,
+208,154,73,100,100,105,185,137,44,20,10,33,30,143,59,7,206,1,224,185,231,
+158,195,142,29,59,48,52,52,4,73,146,86,124,163,64,85,53,18,137,4,142,31,
+63,142,79,127,250,211,152,152,152,112,8,139,82,228,53,77,115,30,149,14,
+40,139,164,197,228,197,96,2,91,67,72,231,37,36,167,206,224,45,125,79,98,
+207,166,73,236,219,106,225,187,135,36,88,246,2,137,61,123,44,128,93,195,
+121,236,220,177,21,187,186,95,196,137,203,157,40,152,241,134,136,203,249,
+159,161,163,84,52,112,207,61,119,97,243,230,205,11,241,46,34,173,235,86,
+85,169,84,194,228,212,20,206,95,186,132,115,231,206,35,149,206,96,122,122,
+26,115,115,73,132,66,26,182,110,221,138,189,123,247,98,100,228,38,196,98,
+177,235,164,106,194,182,215,102,114,71,43,50,20,189,92,137,212,176,145,
+230,76,156,187,104,52,138,96,48,232,212,72,124,246,217,103,113,231,157,
+119,162,167,167,199,179,178,71,43,231,138,170,106,252,243,63,255,51,190,
+250,213,175,46,170,170,225,174,172,225,238,223,85,43,69,158,93,134,12,38,
+176,53,130,249,172,132,11,99,6,246,244,159,193,205,35,157,184,117,171,138,
+239,29,48,175,39,86,0,63,62,2,220,117,179,137,145,145,173,216,209,254,2,
+142,95,233,135,41,197,43,214,49,172,72,92,215,255,23,8,4,80,210,139,248,
+229,95,254,101,68,163,209,5,242,186,222,151,74,47,233,200,231,115,120,225,
+231,7,112,230,236,107,152,157,157,67,46,159,199,232,232,40,206,157,123,
+3,227,227,227,215,107,253,21,177,109,219,54,108,220,184,17,253,253,253,
+24,28,220,136,142,142,133,230,151,129,64,160,98,229,137,245,76,102,245,
+18,153,72,98,132,64,32,224,172,17,101,239,181,181,181,57,117,19,127,242,
+147,159,224,246,219,111,199,134,13,27,86,132,196,116,93,71,34,145,192,196,
+196,4,30,127,252,113,252,248,199,63,118,210,255,189,42,200,211,195,43,69,
+94,116,25,114,138,60,131,9,108,13,163,179,111,55,166,178,125,216,28,125,
+25,183,108,141,97,168,79,198,143,94,90,32,34,211,4,126,120,216,192,253,
+251,131,216,188,101,11,182,181,61,139,163,151,6,97,74,109,117,17,23,193,
+52,77,220,116,211,8,222,249,142,119,0,210,66,252,75,215,117,152,134,129,
+98,169,136,103,158,249,1,46,94,188,136,66,97,161,66,71,42,53,143,68,98,
+26,83,83,211,184,116,233,34,46,94,188,128,82,169,132,116,58,131,182,182,
+40,84,85,67,87,87,23,186,186,186,208,217,217,137,222,222,94,88,150,133,
+68,34,177,230,215,165,145,84,251,122,207,140,169,170,234,184,10,13,195,
+112,44,50,122,189,109,219,104,111,111,119,54,6,207,63,255,60,238,189,247,
+94,116,117,117,181,140,196,44,203,114,170,181,92,184,112,1,159,250,212,
+167,112,238,220,185,178,56,151,219,101,232,229,46,20,227,93,236,50,100,
+48,129,173,3,236,220,185,19,145,72,4,25,189,7,87,167,21,220,212,126,18,
+183,221,18,71,123,84,198,11,199,23,20,91,201,0,126,112,40,143,119,223,219,
+133,225,225,1,108,9,63,139,227,163,35,40,26,138,111,226,114,220,150,233,
+52,126,227,19,191,129,120,71,28,176,109,88,182,189,80,82,42,151,195,15,
+126,244,35,156,62,125,6,185,92,14,153,76,6,165,82,17,185,92,14,250,245,
+120,216,212,212,20,36,73,66,169,84,114,42,118,88,150,5,211,92,200,58,235,
+233,233,65,123,123,59,198,198,198,48,62,62,190,174,214,105,57,137,140,206,
+242,137,49,49,178,198,128,133,99,13,225,112,24,225,112,24,179,179,179,120,
+238,185,231,28,18,91,238,131,206,84,85,99,118,118,22,223,251,222,247,240,
+229,47,127,25,233,116,186,140,140,220,174,66,119,43,20,49,54,198,228,197,
+96,2,91,7,232,238,238,198,214,173,91,203,178,247,230,75,253,24,159,42,226,
+166,206,115,184,103,79,27,12,75,198,203,103,23,254,87,40,1,63,56,56,139,
+247,190,99,4,27,251,99,216,24,124,22,199,199,182,193,134,234,219,141,56,
+61,61,141,255,248,235,255,17,169,76,10,125,125,125,11,74,242,122,242,198,
+129,67,135,112,232,208,33,20,10,121,20,139,5,71,129,82,45,186,80,40,132,
+238,238,110,36,147,73,168,234,66,10,116,62,159,199,228,228,4,82,169,52,
+116,189,132,98,177,132,201,201,9,188,244,210,75,78,170,56,176,144,57,73,
+110,202,229,124,52,171,38,98,51,172,178,122,137,76,36,49,42,130,75,117,
+43,137,196,2,129,0,218,219,219,145,201,100,112,224,192,1,220,119,223,125,
+206,241,138,229,0,21,226,157,155,155,195,19,79,60,129,239,125,239,123,139,
+82,228,197,152,23,165,199,83,166,161,159,170,26,28,239,98,48,129,173,49,
+80,26,60,41,30,145,116,102,139,67,152,153,153,193,77,93,99,184,255,182,
+48,18,243,10,78,93,92,248,95,182,32,225,135,63,187,138,15,60,114,23,6,122,
+128,1,229,0,94,189,182,3,54,148,170,196,69,174,195,187,239,184,27,239,120,
+240,29,136,132,66,56,250,242,203,72,38,147,232,238,238,198,137,87,95,197,
+79,127,250,44,82,169,249,69,169,204,101,139,40,203,232,232,232,68,42,53,
+239,84,20,15,4,2,142,75,241,245,215,95,199,169,83,39,145,72,36,202,136,
+165,85,104,53,177,53,131,200,220,36,70,37,167,104,60,94,159,17,137,68,144,
+205,102,113,224,192,1,220,115,207,61,232,232,232,104,234,60,139,85,53,174,
+94,189,138,63,253,211,63,197,201,147,39,203,170,106,16,113,185,211,227,
+233,192,50,87,213,96,48,129,173,67,140,140,140,32,22,139,149,145,151,104,
+61,1,192,172,190,13,249,212,21,12,119,205,224,93,119,107,56,63,22,192,249,
+177,133,88,71,58,31,192,115,7,223,192,7,222,255,11,24,232,72,161,75,122,
+17,199,199,182,2,168,172,68,117,93,199,212,212,20,126,243,19,191,9,89,9,
+32,155,201,64,85,20,32,16,192,75,47,31,193,129,131,7,48,55,55,187,80,134,
+170,6,2,129,0,162,209,40,230,231,231,175,19,152,132,64,64,70,62,159,199,
+133,11,231,33,203,10,44,107,117,29,184,93,110,82,107,230,161,103,58,232,
+76,215,71,73,29,34,225,25,134,129,112,56,140,76,38,131,99,199,142,225,238,
+187,239,70,91,91,91,83,44,49,74,145,159,157,157,197,225,195,135,241,249,
+207,127,30,115,115,115,101,214,20,37,106,84,114,25,114,138,60,131,9,108,
+157,33,28,14,99,235,214,173,8,133,66,139,200,203,109,61,233,186,129,107,
+217,109,80,244,243,24,232,200,224,61,247,133,112,252,92,0,163,83,11,36,
+54,155,150,113,248,200,105,188,255,131,31,193,198,182,49,196,236,19,56,
+51,181,29,64,192,211,157,88,40,20,240,91,31,255,45,108,222,182,25,185,116,
+26,217,116,26,182,36,193,150,36,24,166,137,23,15,29,170,217,3,76,116,7,
+90,150,133,182,182,54,228,243,121,103,135,61,57,57,177,200,237,181,154,
+177,28,100,230,151,200,106,89,99,94,36,70,68,102,89,150,83,138,42,20,10,
+33,153,76,226,204,153,51,216,191,127,63,218,218,218,150,100,137,81,227,
+201,153,153,25,60,249,228,147,248,198,55,190,225,156,87,243,74,145,231,
+170,26,12,38,176,27,0,237,237,237,184,233,166,155,28,69,36,18,150,219,2,
+123,147,200,2,56,63,123,19,186,149,51,216,16,47,226,189,111,213,112,240,
+100,0,83,115,11,36,54,49,27,192,169,147,199,240,222,15,252,123,108,140,
+158,134,157,61,135,139,201,173,0,164,69,132,168,6,85,124,248,35,31,134,
+105,232,200,164,82,11,101,162,0,216,146,132,47,124,254,243,232,232,232,
+240,77,94,4,219,182,209,214,214,6,85,213,144,78,47,180,206,232,234,234,
+134,15,35,110,221,147,89,51,14,60,139,37,167,220,69,129,41,54,73,175,157,
+155,155,195,149,43,87,176,127,255,126,68,34,145,134,44,177,82,169,180,208,
+19,46,145,192,231,62,247,57,28,60,120,208,177,184,197,68,12,174,170,193,
+96,2,187,129,208,221,221,141,161,161,161,170,46,67,247,239,244,183,13,25,
+111,36,182,99,48,244,42,122,226,38,30,121,107,24,63,121,25,72,102,22,72,
+236,202,164,132,177,75,199,240,174,247,253,47,216,18,123,9,211,19,163,24,
+77,13,149,125,206,252,252,60,254,219,31,252,55,116,116,199,145,73,165,22,
+44,168,235,228,245,204,245,86,23,181,92,135,148,132,225,181,99,39,171,75,
+108,249,190,150,209,76,50,243,67,100,213,172,49,177,116,148,155,196,0,56,
+235,38,73,18,38,39,39,49,61,61,141,91,110,185,165,174,54,44,228,50,156,
+153,153,193,137,19,39,240,233,79,127,26,163,163,163,85,83,228,221,85,53,
+168,115,50,167,200,51,152,192,214,17,250,251,251,209,215,215,215,16,121,
+57,10,6,10,206,78,111,197,230,232,43,216,208,97,227,145,183,132,241,253,
+67,22,178,215,141,161,215,174,216,200,207,157,192,219,222,253,235,184,165,
+227,89,92,28,77,97,182,184,209,177,146,246,237,217,135,7,222,249,0,242,
+185,44,178,169,20,44,219,118,220,135,223,250,214,183,16,10,133,124,91,93,
+149,96,219,246,186,32,175,229,34,179,70,173,177,122,73,236,234,213,171,
+200,231,243,216,177,99,135,47,18,179,44,11,243,243,243,72,38,147,248,254,
+247,191,143,175,124,229,43,101,110,97,175,20,121,175,244,248,74,241,46,
+118,25,50,152,192,214,40,134,135,135,209,213,213,85,53,222,181,56,246,229,
+157,73,88,40,73,56,51,177,25,219,226,199,209,219,25,192,187,239,141,226,
+95,126,102,162,120,157,231,78,156,3,34,230,171,184,243,129,255,128,125,
+221,63,194,137,115,6,178,102,31,166,166,166,240,7,191,251,7,208,66,42,50,
+169,212,66,161,222,235,214,215,95,124,225,11,104,107,107,171,219,234,186,
+81,177,84,34,107,196,26,243,58,236,76,175,19,227,98,212,48,50,16,8,224,
+252,249,243,48,12,3,219,183,111,47,123,159,123,195,65,41,242,137,68,2,143,
+61,246,24,158,126,250,105,216,182,189,168,119,151,159,170,26,68,90,92,85,
+131,193,4,182,14,80,41,211,208,175,213,229,69,104,186,21,194,153,137,141,
+216,217,125,28,253,221,50,30,184,35,138,167,126,166,195,48,23,206,15,29,
+125,93,193,80,244,52,118,221,253,107,184,99,195,247,241,226,25,21,191,250,
+111,126,7,187,247,239,70,38,149,66,38,157,94,40,79,37,73,40,233,58,142,
+30,61,90,49,113,99,173,182,178,95,235,68,86,205,26,35,50,162,24,152,104,
+141,145,149,70,36,246,218,107,175,33,22,139,97,211,166,77,139,42,216,91,
+150,229,84,145,191,112,225,2,62,251,217,207,226,245,215,95,119,8,201,171,
+16,111,173,170,26,28,239,98,48,129,173,35,242,18,3,233,75,33,47,55,74,86,
+20,175,77,244,225,150,238,19,24,234,147,113,207,173,49,60,245,51,3,150,
+13,24,166,137,151,222,136,96,71,247,25,108,191,253,127,194,107,175,79,224,
+145,95,254,109,216,182,137,76,58,13,195,48,28,215,225,163,159,252,36,218,
+219,219,217,234,90,97,34,171,215,26,171,135,196,142,31,63,142,13,27,54,
+96,104,104,200,233,37,70,141,39,103,102,102,240,211,159,254,20,143,63,254,
+56,146,201,164,67,94,238,134,147,92,85,131,193,184,129,8,172,94,242,170,
+86,77,222,11,186,174,35,91,138,226,245,107,29,216,221,123,26,91,6,21,236,
+217,30,199,247,14,148,96,3,40,20,138,56,122,33,142,144,117,14,191,240,43,
+223,64,79,95,55,50,233,52,10,185,220,130,235,48,16,192,207,127,254,115,
+100,50,153,69,53,244,216,234,106,61,145,213,115,200,153,158,163,117,35,
+185,113,147,24,197,196,136,196,54,109,218,132,190,190,62,152,166,137,68,
+34,129,100,50,137,175,127,253,235,248,206,119,190,3,211,52,23,145,23,89,
+92,228,46,164,7,87,213,96,48,129,221,32,228,85,45,77,190,150,213,85,173,
+182,33,33,171,119,224,74,34,134,155,55,156,193,142,77,10,182,12,197,241,
+195,195,37,188,125,215,44,126,243,23,199,48,58,219,141,173,123,222,3,45,
+20,93,72,220,0,32,201,50,108,73,194,215,190,250,213,178,93,50,91,93,171,
+131,200,234,41,57,69,103,196,188,72,140,42,217,83,86,224,145,35,71,176,
+109,219,54,20,139,69,140,143,143,227,139,95,252,34,78,159,62,237,124,150,
+104,117,137,93,147,221,86,23,187,12,25,76,96,55,8,121,213,34,44,191,46,
+67,175,255,5,131,65,200,178,140,180,222,131,241,89,5,59,122,222,192,173,
+35,50,186,59,100,60,114,251,36,110,185,73,197,214,129,44,230,46,127,27,
+103,207,77,66,139,239,68,80,11,193,150,36,60,254,216,99,101,138,135,173,
+174,213,67,100,245,184,20,197,131,206,149,72,12,88,72,214,144,36,9,135,
+15,31,70,60,30,199,223,252,205,223,32,157,78,59,101,192,232,112,50,85,214,
+32,203,43,20,10,149,149,139,98,151,33,131,9,108,157,18,216,114,146,151,
+219,34,35,165,72,53,232,138,129,155,48,61,171,99,168,237,13,152,197,89,
+108,27,10,34,24,212,16,141,104,216,208,169,160,39,116,30,137,75,223,195,
+229,9,3,221,131,187,240,163,103,158,130,172,132,217,234,106,17,145,53,66,
+98,126,93,138,181,72,76,85,85,199,26,147,101,25,151,47,95,134,162,40,40,
+22,139,14,25,17,113,145,60,185,45,49,247,185,46,118,25,50,110,84,72,31,
+253,232,71,237,245,54,168,225,225,225,178,106,224,245,212,10,75,13,0,0,
+32,0,73,68,65,84,158,247,170,69,94,94,196,69,143,72,36,226,252,62,144,251,
+12,246,109,73,162,61,22,66,52,162,33,168,134,32,201,97,72,176,145,207,231,
+49,157,52,113,101,42,132,174,104,22,143,253,228,65,152,54,239,154,91,137,
+112,56,92,247,123,42,145,159,251,249,98,177,88,86,252,151,98,96,180,65,
+161,131,230,36,79,169,84,10,147,147,147,78,60,141,10,244,146,53,70,110,
+69,58,215,199,86,23,131,225,46,210,183,14,208,223,223,223,114,242,138,68,
+34,136,199,227,136,199,227,14,129,201,197,215,48,220,149,64,44,26,132,97,
+42,144,229,32,100,57,8,203,14,32,147,43,65,150,129,238,120,0,90,160,128,
+225,225,45,248,15,111,125,22,1,176,245,213,74,228,243,249,186,221,181,126,
+100,3,0,52,77,115,158,83,20,197,73,242,32,2,162,131,234,225,112,24,178,
+44,163,179,179,19,253,253,253,142,187,48,18,137,44,170,170,193,228,197,
+96,148,99,93,149,105,232,238,238,94,212,14,165,217,228,229,182,186,34,145,
+136,67,90,4,219,42,97,163,253,15,184,105,80,65,80,85,160,170,65,200,202,
+194,67,50,13,64,181,161,235,128,101,2,111,140,154,216,117,179,132,187,246,
+111,70,190,244,60,254,159,195,239,88,143,251,138,85,79,100,245,88,99,186,
+174,123,90,98,238,231,53,77,3,240,102,38,162,219,125,73,132,20,137,68,96,
+219,182,67,88,201,100,114,193,61,114,221,234,34,235,141,137,139,193,88,
+167,22,88,123,123,59,6,6,6,90,70,94,162,213,229,86,102,109,217,111,97,251,
+96,26,186,165,66,150,23,172,47,72,65,232,6,96,154,58,44,11,208,45,9,175,
+95,181,241,202,27,10,254,243,231,175,32,95,4,222,118,123,59,62,180,239,
+231,0,108,150,204,21,32,177,229,176,196,0,56,241,41,178,196,68,107,138,
+126,82,101,141,254,254,126,116,117,117,85,204,52,100,242,98,48,214,25,129,
+133,195,97,108,218,180,169,233,228,69,9,32,238,24,87,60,30,71,79,79,15,
+34,145,200,162,247,72,249,179,216,30,127,9,61,29,65,216,80,160,40,65,200,
+138,130,128,28,196,236,124,17,166,9,24,166,141,66,17,120,229,117,224,135,
+175,132,112,232,108,4,191,255,87,151,97,216,109,120,247,157,38,238,31,57,
+204,146,185,66,36,86,15,145,185,19,132,252,144,24,0,79,18,163,231,130,193,
+32,6,7,7,209,214,214,182,40,81,67,36,46,38,47,6,99,157,16,216,114,145,151,
+8,183,213,229,5,219,44,162,167,244,15,216,182,73,129,18,12,34,30,11,58,
+177,175,128,100,162,179,13,48,109,27,134,37,225,226,184,133,209,132,4,195,
+92,112,15,253,248,88,20,159,122,226,34,44,185,19,255,250,129,52,110,237,
+59,206,210,185,134,173,177,74,36,70,110,69,93,215,43,146,152,162,40,24,
+28,28,100,226,98,48,214,59,129,141,140,140,56,46,188,102,147,151,151,229,
+229,101,117,17,180,212,183,176,107,56,5,221,12,2,210,130,235,80,10,4,81,
+50,149,235,37,131,36,232,186,132,82,201,198,120,194,194,191,123,111,8,237,
+209,55,223,255,143,47,180,227,111,191,57,138,64,48,142,143,63,60,129,77,
+177,179,44,161,235,140,196,116,93,119,170,104,136,86,25,101,39,234,186,
+14,73,146,160,105,26,134,135,135,203,202,71,49,24,140,117,68,96,195,195,
+195,158,103,189,154,69,94,244,147,92,134,213,206,15,217,217,51,216,214,
+126,24,253,61,65,104,90,16,74,48,8,89,94,112,33,166,179,69,24,38,96,88,
+128,97,74,120,241,12,208,174,101,17,106,223,138,191,251,125,5,33,65,55,
+61,241,221,78,252,127,79,79,64,86,219,241,95,62,112,17,221,218,69,150,210,
+21,36,177,122,93,138,245,62,71,86,153,120,88,153,218,165,116,116,116,96,
+112,112,144,23,130,193,88,111,4,214,222,222,94,150,46,239,86,14,205,36,
+175,74,46,67,135,188,204,2,98,185,255,23,219,134,22,172,174,176,166,32,
+168,4,161,40,65,72,1,9,241,104,0,150,105,95,143,127,89,200,100,37,252,236,
+202,189,72,165,11,104,239,218,129,47,255,111,42,148,235,158,34,203,182,
+241,231,223,236,198,143,15,78,34,28,137,225,127,255,240,105,196,213,49,
+150,212,53,98,141,53,66,98,94,50,75,136,68,34,136,197,98,188,8,12,198,122,
+34,176,106,113,175,90,173,219,253,144,87,173,120,87,25,129,77,63,137,61,
+155,82,8,40,65,228,74,170,147,50,175,155,65,148,12,19,166,181,96,125,21,
+74,192,169,139,54,174,36,251,48,150,236,199,63,62,167,160,144,186,136,205,
+253,50,254,226,183,52,80,3,102,221,176,241,201,255,171,15,7,94,73,160,189,
+61,142,63,248,224,49,180,41,211,44,173,55,16,137,209,79,73,146,208,223,
+223,207,11,192,96,172,23,2,219,185,115,167,111,210,170,167,69,138,72,94,
+68,96,181,144,155,57,138,45,109,71,49,220,23,68,72,83,16,139,202,78,226,
+134,13,27,166,1,152,38,96,26,64,34,105,227,90,34,128,243,179,219,0,0,87,
+231,135,240,221,35,61,152,45,108,192,205,91,34,248,163,95,127,243,88,94,
+190,104,225,119,159,232,195,43,167,166,209,211,221,137,223,127,255,139,
+8,203,73,150,216,117,70,98,213,222,171,235,186,211,162,101,100,100,132,
+23,128,193,88,235,4,54,60,60,220,112,210,134,95,183,161,95,242,74,38,103,
+209,94,120,10,187,110,146,17,144,131,80,213,224,245,67,203,11,177,47,69,
+182,1,9,48,45,27,150,13,140,78,219,184,50,215,11,11,111,198,210,206,78,
+108,194,143,15,23,144,205,101,113,239,110,5,255,229,95,191,73,98,169,172,
+133,255,252,223,123,113,230,141,73,12,14,108,192,127,125,228,231,208,2,
+25,150,218,117,68,98,181,100,87,204,86,220,184,113,35,47,0,131,177,86,9,
+172,82,220,171,81,242,114,195,111,204,11,0,230,231,231,17,72,253,24,123,
+55,205,33,26,86,49,153,124,51,101,222,176,130,72,229,108,152,102,0,166,
+9,228,139,192,92,202,198,228,172,132,75,243,219,22,125,214,171,215,182,
+227,133,147,17,164,242,26,222,119,111,30,255,254,189,111,146,216,76,10,
+248,95,255,186,7,231,46,93,195,200,150,94,252,246,187,159,71,80,226,106,
+245,107,133,196,234,245,10,84,146,83,219,182,17,137,68,60,27,158,50,24,
+76,96,107,0,213,42,109,52,66,94,238,67,202,245,144,87,122,110,20,195,161,
+23,49,50,164,64,85,101,12,245,189,89,46,74,13,42,144,96,195,180,22,18,55,
+44,19,56,115,217,198,229,217,30,152,182,119,38,227,225,203,187,241,243,
+99,41,164,114,5,252,155,119,230,240,129,183,191,121,254,103,42,25,192,127,
+250,98,28,163,163,163,184,121,91,55,254,211,59,159,135,44,149,88,122,215,
+0,137,53,226,218,246,146,109,114,37,246,244,244,240,228,51,24,107,141,192,
+106,185,14,151,178,11,174,199,109,56,63,63,143,249,249,121,116,219,63,198,
+237,219,13,72,129,133,108,195,160,162,92,47,27,165,2,54,32,75,11,21,55,
+12,211,70,42,107,99,122,46,128,171,233,237,85,63,251,165,177,251,112,252,
+98,15,178,249,60,126,227,3,73,188,227,246,55,73,108,52,161,226,227,95,140,
+99,114,114,2,251,118,182,227,99,111,125,30,18,23,255,93,211,36,86,207,123,
+117,93,119,90,173,176,43,145,193,88,67,4,38,186,14,155,29,247,106,132,188,
+228,210,5,236,25,56,143,238,142,32,146,89,13,182,180,96,121,33,16,196,76,
+42,0,195,180,97,90,64,81,151,80,44,2,175,95,182,49,58,215,85,209,250,122,
+19,18,126,252,218,109,56,126,49,130,201,84,55,126,247,95,205,227,246,29,
+146,243,223,115,227,26,126,235,75,109,152,155,157,194,221,187,195,248,213,
+187,95,0,96,177,20,175,81,18,171,55,30,102,24,6,44,203,66,52,26,101,87,
+34,131,177,86,8,76,116,29,86,83,2,75,73,218,168,213,228,144,200,171,84,
+42,98,72,253,41,110,221,26,128,162,40,232,239,146,161,169,11,177,175,96,
+48,140,104,72,130,97,1,166,105,3,166,133,201,25,27,215,230,100,92,205,111,
+247,53,86,203,150,241,211,115,111,197,232,68,14,197,98,22,127,242,209,36,
+118,110,122,147,196,78,92,12,225,191,254,247,8,50,233,89,220,191,95,198,
+47,221,250,2,184,248,239,250,39,49,130,44,203,48,77,19,27,54,108,224,137,
+103,48,129,173,246,11,172,230,58,108,148,188,8,98,59,20,63,228,165,235,
+58,218,205,151,113,223,206,164,211,34,69,9,42,144,21,5,114,80,131,101,3,
+1,201,134,121,221,117,104,218,54,206,143,3,23,103,251,97,89,254,187,0,27,
+86,16,63,56,123,15,206,77,196,145,203,23,240,185,95,79,98,72,208,87,7,207,
+68,240,201,39,84,20,242,25,60,114,175,141,129,200,121,150,228,117,78,98,
+238,120,152,162,40,24,26,26,226,137,103,48,129,173,86,132,195,225,170,174,
+195,70,81,143,235,80,36,47,75,159,199,238,158,163,24,216,160,160,100,168,
+144,3,193,235,173,82,84,232,102,8,150,9,232,166,13,93,183,145,205,3,19,
+9,27,19,179,10,166,10,245,159,225,41,153,33,252,224,204,189,184,50,29,129,
+109,38,241,165,223,152,67,119,252,77,75,235,71,199,218,240,127,124,13,120,
+35,177,25,111,123,247,191,67,46,151,99,105,246,154,199,82,169,226,99,165,
+72,172,81,144,236,155,166,9,211,52,17,137,68,26,234,42,189,220,115,203,
+96,48,129,161,188,218,70,181,93,235,82,92,135,181,200,43,151,203,57,4,218,
+23,120,30,247,238,46,45,244,104,82,20,4,20,178,194,194,152,75,153,48,12,
+192,52,108,88,38,96,89,54,78,158,151,112,62,185,165,113,133,104,68,241,
+163,215,238,195,133,113,9,138,157,192,151,62,145,68,68,123,51,230,149,10,
+188,5,237,59,255,16,123,111,221,139,155,134,57,59,77,84,162,116,118,138,
+44,108,241,81,73,1,183,138,196,154,225,74,164,172,196,86,37,116,248,153,
+219,229,156,87,6,99,77,17,88,119,119,247,138,186,14,115,185,156,243,208,
+117,29,178,126,9,247,223,124,17,161,208,2,105,181,69,22,234,29,202,74,24,
+146,172,160,51,38,57,105,243,166,101,99,106,214,194,120,50,132,148,222,
+183,164,121,72,151,226,120,246,210,187,113,126,92,65,84,73,224,79,63,54,
+143,160,108,99,219,166,118,252,207,239,191,5,249,212,85,152,122,22,31,253,
+181,143,32,157,154,191,33,133,216,173,80,53,77,115,172,20,175,7,21,207,
+165,135,91,241,182,2,75,117,37,26,134,1,73,146,32,203,50,186,187,187,87,
+197,220,174,134,121,101,220,88,144,247,239,223,255,71,171,213,250,178,172,
+5,107,163,210,79,247,239,94,127,187,211,229,137,188,98,177,88,89,175,37,
+55,121,137,214,87,62,159,195,254,238,159,224,190,93,69,152,8,67,146,84,
+132,67,26,20,53,4,221,142,2,166,13,211,180,80,42,217,40,150,108,88,166,
+141,131,39,3,56,149,216,5,211,94,122,27,140,188,17,193,120,50,142,238,208,
+101,108,217,144,195,182,205,29,120,248,129,45,136,134,223,140,171,133,35,
+49,152,166,141,203,163,83,101,109,58,214,51,220,238,179,64,32,224,40,117,
+96,161,142,96,181,135,97,24,176,109,219,233,124,92,42,149,16,8,4,28,133,
+92,73,62,106,193,48,140,154,73,65,36,171,238,239,168,246,183,216,224,146,
+200,197,52,77,180,181,181,97,102,102,102,213,204,237,114,205,43,131,177,
+104,131,181,26,47,138,18,55,188,98,95,141,86,219,240,155,117,232,38,47,
+0,232,213,206,224,193,125,179,144,21,13,65,69,65,80,13,66,150,85,200,74,
+24,249,34,96,97,129,180,116,203,194,92,218,198,108,210,194,149,217,14,148,
+172,104,211,230,36,169,111,198,51,103,238,195,182,153,89,236,216,190,17,
+133,204,40,222,204,62,180,1,216,120,239,187,239,193,207,14,190,2,40,109,
+55,4,121,209,250,16,97,155,166,89,87,223,44,203,178,156,247,234,186,238,
+88,228,197,98,209,177,28,26,237,195,149,207,231,27,138,79,209,225,122,175,
+191,233,119,241,167,162,40,144,36,9,195,195,195,184,122,245,234,170,152,
+219,229,156,87,6,99,213,19,152,159,196,141,70,93,135,213,98,95,94,228,165,
+23,146,184,127,247,241,235,69,122,21,4,131,11,109,223,229,96,4,82,32,132,
+80,208,68,169,8,24,134,4,203,180,17,11,155,120,225,120,0,87,179,59,154,
+62,47,41,107,7,158,127,99,30,87,231,103,241,11,119,247,163,148,155,6,32,
+149,189,230,215,126,229,221,248,218,255,248,33,162,209,245,75,98,164,96,
+131,193,32,76,211,68,48,24,116,172,25,89,150,157,164,27,96,161,4,83,45,
+23,30,253,46,186,185,114,185,28,134,135,135,151,102,57,251,32,49,55,97,
+213,34,49,247,115,134,97,64,150,229,154,241,220,86,205,109,43,230,149,193,
+88,181,4,54,50,50,226,187,252,78,45,197,80,201,250,170,68,94,98,194,6,41,
+160,157,29,71,176,239,166,34,44,132,49,155,9,98,176,87,129,18,12,195,176,
+67,40,21,109,72,182,13,211,178,80,40,45,164,206,191,113,85,194,249,68,63,
+236,101,154,218,182,88,28,19,153,54,60,241,207,23,240,175,222,21,71,123,
+49,137,130,20,184,78,100,18,182,12,14,97,160,55,138,84,246,198,35,175,75,
+151,46,33,151,203,57,221,141,189,32,42,93,183,75,218,182,109,88,150,133,
+112,56,236,100,117,182,194,90,240,34,168,122,94,75,238,185,145,145,17,92,
+184,112,97,69,230,118,53,206,43,131,9,172,229,202,201,221,97,121,169,174,
+67,183,245,229,165,40,196,132,13,186,193,242,249,60,98,193,4,30,222,251,
+198,66,145,222,160,130,112,36,8,89,209,32,203,33,4,2,10,242,69,19,182,101,
+195,48,128,98,9,176,76,27,175,94,84,144,40,109,89,214,121,146,101,25,145,
+206,237,248,251,31,78,226,158,155,243,184,243,230,44,138,185,9,64,146,32,
+1,248,183,31,186,27,127,246,165,239,161,171,107,125,29,118,37,107,70,220,
+144,144,101,32,203,178,99,65,55,101,163,208,214,230,196,107,214,138,43,
+81,150,101,132,195,225,134,210,249,91,53,183,75,153,87,63,137,32,76,138,
+55,22,86,85,180,191,90,197,13,63,150,86,45,235,203,139,192,42,145,23,0,
+188,117,203,75,216,208,1,72,129,5,183,161,166,5,33,7,195,8,40,33,216,215,
+15,45,91,198,66,2,135,28,48,241,250,21,224,194,18,210,230,235,69,71,87,
+31,142,95,217,132,255,241,76,26,249,92,22,165,220,52,10,217,107,8,74,73,
+220,183,111,208,137,57,172,75,193,21,18,85,72,201,74,146,212,148,207,38,
+37,216,44,183,92,179,82,235,171,65,146,36,152,166,217,148,230,151,94,115,
+219,140,196,160,70,230,181,82,218,126,173,140,71,206,122,100,2,91,17,235,
+203,203,234,242,211,110,162,17,235,203,157,42,47,42,155,141,177,203,184,
+99,100,18,166,29,196,233,43,26,36,73,129,172,68,160,155,97,140,38,0,221,
+176,96,232,54,242,215,51,15,117,221,194,43,23,67,72,27,173,61,143,21,10,
+133,96,135,111,197,223,125,187,132,115,151,102,80,202,207,162,152,157,192,
+225,35,199,112,244,200,139,235,90,120,101,89,134,170,170,206,163,89,4,70,
+160,172,185,86,145,88,61,36,87,169,66,135,166,105,77,57,220,76,196,165,
+170,106,83,55,7,238,121,173,68,52,225,112,216,33,45,241,61,129,64,160,236,
+225,149,194,239,38,51,198,250,197,170,113,33,46,135,245,85,137,192,200,
+69,233,142,123,137,74,166,43,60,129,72,72,70,80,13,98,239,118,25,65,53,
+132,64,48,4,57,16,70,91,88,135,105,90,48,204,133,236,195,66,17,56,123,89,
+194,165,244,206,21,155,191,142,158,17,60,125,52,133,151,79,191,134,87,78,
+62,143,23,143,141,67,81,100,108,222,50,142,193,193,193,53,47,168,162,82,
+166,24,13,41,54,209,10,105,6,68,37,40,42,195,149,136,133,213,19,31,35,43,
+108,96,96,160,174,88,152,123,110,169,222,34,145,87,179,44,48,113,94,35,
+145,72,69,15,129,87,22,36,197,216,232,218,40,21,159,226,108,129,64,192,
+121,15,125,15,103,61,50,129,181,212,250,170,55,246,85,139,188,220,86,151,
+248,153,34,113,121,125,110,46,111,225,192,73,25,55,223,36,99,243,70,13,
+178,18,129,44,135,96,89,38,84,25,208,75,54,76,195,130,109,89,208,13,11,
+47,157,139,67,183,194,43,58,143,109,109,237,72,235,187,48,155,154,128,36,
+1,134,97,226,228,137,151,49,56,248,75,235,78,112,69,229,218,76,37,235,70,
+53,69,219,136,21,214,72,86,98,165,255,87,138,133,169,170,218,112,44,76,
+156,223,149,210,5,213,178,32,211,233,52,210,233,116,217,198,130,32,18,22,
+33,147,201,96,231,206,157,76,98,76,96,171,223,250,170,4,55,137,17,121,121,
+185,14,9,23,51,247,32,166,206,99,246,100,14,51,57,25,55,111,85,209,163,
+5,97,88,38,76,211,70,161,4,164,179,18,130,146,141,211,151,101,140,229,119,
+172,138,5,13,6,131,120,235,253,239,65,111,223,41,188,122,242,4,198,39,102,
+113,252,216,43,216,183,255,54,150,246,6,92,93,244,115,37,15,223,182,194,
+10,171,69,102,205,118,33,138,243,74,228,82,141,188,174,92,185,130,177,177,
+177,58,55,116,109,104,107,107,238,113,146,90,46,73,38,201,27,144,192,150,
+195,250,170,244,26,209,125,88,137,188,0,192,178,3,56,150,248,5,108,237,
+185,128,240,212,4,146,121,27,91,6,138,24,236,9,64,178,45,152,166,5,189,
+100,34,93,4,14,95,232,131,97,218,176,109,163,204,221,81,246,121,214,226,
+190,93,94,175,35,69,33,42,12,175,231,42,189,134,176,109,199,46,244,246,
+15,225,216,145,159,225,141,55,94,195,142,157,55,175,104,225,215,86,96,255,
+254,253,101,187,245,64,32,0,219,182,161,40,138,51,255,135,14,29,170,89,
+181,130,148,144,170,170,77,139,129,181,210,10,35,55,96,51,177,111,223,62,
+231,128,50,205,175,162,40,78,138,124,35,243,42,90,183,138,162,148,141,139,
+198,160,170,42,44,203,242,77,224,149,8,115,169,217,164,138,162,148,253,
+116,127,182,120,60,128,201,236,6,34,176,70,14,53,250,77,155,23,127,138,
+164,40,190,191,146,155,197,182,109,216,54,240,218,228,22,156,159,218,136,
+187,70,198,160,155,243,184,54,29,64,95,167,141,158,152,141,80,208,194,203,
+175,201,120,99,162,13,182,61,47,188,207,94,244,187,23,113,217,182,237,16,
+15,61,231,181,211,21,95,71,175,17,255,38,215,25,61,47,150,253,185,235,222,
+119,226,181,211,199,240,194,11,207,225,93,239,250,133,154,164,184,150,224,
+14,232,71,34,17,231,80,47,149,49,162,221,188,101,89,208,52,13,71,143,30,
+93,241,235,110,36,181,190,30,43,140,230,102,41,213,57,196,121,45,149,74,
+136,199,227,78,54,32,145,87,48,24,116,8,172,81,101,237,149,145,40,146,164,
+170,170,208,117,189,33,57,85,85,21,165,82,105,73,110,96,49,30,39,90,143,
+180,89,160,231,196,248,30,199,222,110,32,2,171,84,117,163,25,214,151,155,
+188,220,86,152,23,81,152,166,233,252,164,223,45,203,194,15,142,117,163,
+59,26,193,91,118,78,32,151,181,48,21,178,48,155,1,158,122,185,11,217,124,
+214,33,25,145,176,150,242,156,151,149,86,233,117,94,4,39,254,222,221,59,
+4,53,156,198,248,248,56,84,85,117,148,59,41,33,177,190,221,106,135,168,
+56,200,178,165,235,39,133,75,135,109,105,183,44,73,210,66,182,166,107,158,
+86,51,150,106,133,145,11,109,41,115,43,206,171,88,74,74,140,53,170,170,
+218,180,121,165,152,181,59,137,68,188,150,70,45,176,70,220,192,213,146,
+73,76,211,68,38,147,89,228,94,164,121,200,102,179,80,85,21,241,120,156,
+73,108,189,18,88,35,85,180,27,137,149,137,55,166,187,210,134,27,178,44,
+59,238,38,138,39,16,102,115,17,60,117,100,11,52,89,71,103,36,139,177,100,
+20,150,5,40,138,183,213,37,18,14,61,200,173,37,90,94,110,194,169,84,254,
+136,254,231,126,141,23,33,138,187,89,203,178,16,139,197,28,203,140,118,
+184,138,162,56,207,173,118,144,213,226,94,127,82,174,94,174,42,34,50,81,
+113,213,51,214,102,187,15,91,109,133,209,61,86,203,181,87,105,110,197,191,
+169,40,111,36,18,113,100,136,100,167,94,2,243,51,175,180,134,228,106,108,
+36,65,103,41,217,164,213,226,113,163,163,163,0,80,150,76,34,86,40,33,183,
+117,62,159,71,60,30,103,75,108,189,18,88,79,79,79,77,75,171,89,177,47,63,
+228,69,55,33,185,47,220,132,32,150,198,201,218,93,136,199,109,207,74,249,
+226,239,94,46,69,47,171,202,77,60,94,215,37,186,10,233,111,119,37,112,247,
+115,162,162,89,47,85,234,189,172,48,183,219,136,178,241,104,252,245,40,
+127,77,211,86,197,249,161,122,172,48,175,231,76,211,68,87,87,87,93,149,
+234,197,247,138,127,147,130,54,12,195,137,73,5,131,65,148,74,165,166,206,
+43,125,175,152,101,234,182,250,26,117,85,250,117,35,86,35,47,0,24,31,31,
+175,57,135,138,162,32,26,141,130,177,78,9,44,28,14,47,170,56,95,139,148,
+252,90,95,94,55,84,45,242,170,6,145,216,24,171,203,10,19,119,243,20,168,
+39,215,33,181,245,160,184,205,106,29,79,51,72,173,82,233,41,191,229,165,
+220,115,235,38,50,113,115,64,86,88,35,22,161,23,97,201,178,92,230,62,20,
+215,202,77,100,173,208,75,226,248,233,154,196,86,50,141,140,143,173,176,
+229,193,138,109,201,221,214,87,35,132,229,231,255,213,98,94,140,181,13,
+49,62,33,86,101,48,12,195,137,133,137,86,232,90,148,129,165,222,3,166,105,
+162,167,167,190,234,48,180,177,52,77,211,185,119,104,62,105,126,169,199,
+87,61,27,203,90,155,204,85,167,28,175,187,218,41,110,28,12,6,17,10,133,
+124,109,120,155,93,142,140,177,202,8,44,30,143,151,9,127,181,214,41,141,
+222,36,94,239,109,70,73,31,198,202,90,45,94,235,235,213,33,184,84,42,57,
+202,182,86,123,149,213,52,158,70,73,205,235,94,146,36,201,119,50,7,93,139,
+219,13,233,69,100,148,157,72,207,53,115,94,105,195,225,229,5,169,7,109,
+109,109,104,111,111,111,232,26,68,130,37,43,138,226,198,245,90,96,203,25,
+75,189,209,177,34,46,68,63,201,27,205,136,125,49,121,173,111,18,19,99,21,
+186,174,59,177,48,138,205,132,195,97,24,134,225,40,157,181,26,3,108,36,
+22,230,86,254,126,146,57,104,110,197,121,165,121,35,37,76,253,199,40,22,
+86,175,66,119,67,116,203,185,221,151,68,150,178,44,163,179,179,19,187,119,
+239,246,204,6,164,99,18,150,101,65,215,117,39,115,152,42,223,187,221,160,
+149,224,118,231,186,179,32,41,115,215,15,1,107,154,182,136,116,217,141,
+184,78,8,140,82,231,43,237,28,151,219,237,194,88,63,68,70,74,71,84,126,
+186,174,59,169,216,148,61,71,129,248,213,62,142,102,145,157,219,138,234,
+233,233,241,157,204,225,38,49,218,28,200,178,236,148,171,18,227,140,141,
+204,43,173,145,23,9,139,223,71,215,223,219,219,139,158,158,30,231,123,137,
+192,74,165,18,138,197,162,227,218,36,55,167,120,12,6,88,40,220,93,79,12,
+203,93,11,146,14,198,215,243,25,244,221,205,44,71,198,88,5,4,230,174,188,
+209,10,66,98,235,107,253,194,173,252,196,157,61,37,29,172,101,11,172,17,
+171,203,253,186,122,199,238,38,85,178,194,90,53,175,94,199,35,68,162,164,
+223,197,184,156,97,24,139,220,201,116,109,126,137,135,230,84,124,61,205,
+159,223,100,18,113,62,86,75,57,178,245,138,150,223,209,126,250,21,53,203,
+125,200,228,117,99,88,97,162,92,144,242,160,24,13,253,92,75,227,88,142,
+123,34,16,8,52,212,43,204,189,209,92,238,121,117,39,143,136,137,57,148,
+85,74,150,21,185,10,197,18,87,238,234,44,75,181,186,201,114,167,212,120,
+191,46,64,177,205,15,99,29,17,24,89,95,238,27,111,57,146,55,152,188,110,
+44,43,204,143,60,173,182,36,142,102,140,185,214,92,144,165,66,137,83,141,
+40,113,119,223,177,229,158,215,82,169,84,70,100,133,66,1,166,105,34,159,
+207,151,245,241,115,187,12,201,218,17,45,30,250,233,135,76,220,205,112,
+169,76,150,251,188,167,31,172,39,89,99,2,19,8,108,41,196,196,241,45,70,
+163,10,113,189,91,97,181,222,87,175,11,203,125,61,75,237,26,93,9,84,8,87,
+36,75,49,254,229,231,65,132,71,63,41,94,71,133,118,107,145,151,59,6,41,
+90,94,68,98,193,96,208,23,9,138,201,27,110,55,40,55,216,108,46,90,26,3,
+107,70,246,97,163,55,160,95,193,89,107,38,127,61,55,196,90,26,155,159,113,
+137,227,17,43,39,172,213,93,113,169,84,170,73,50,116,253,94,107,217,204,
+108,68,63,247,169,87,169,166,165,144,152,152,220,69,238,67,183,5,229,94,
+95,247,161,118,250,191,72,94,245,130,202,201,209,153,47,177,18,135,95,11,
+76,211,52,71,255,80,177,223,98,177,216,242,56,216,122,213,15,43,66,96,245,
+102,31,46,133,204,168,157,56,89,124,94,109,16,68,129,245,106,135,176,218,
+22,89,188,54,175,113,121,41,239,90,99,91,45,66,75,215,86,107,189,220,227,
+33,151,52,145,23,197,61,104,23,76,241,145,213,120,115,122,141,153,148,102,
+165,181,164,146,78,244,94,170,60,226,38,19,175,108,68,114,35,54,131,192,
+150,10,178,146,196,113,186,211,232,221,99,161,49,187,73,196,77,252,75,137,
+123,185,191,155,228,144,50,18,253,166,209,139,239,113,143,115,57,211,233,
+171,221,71,245,234,135,181,64,104,45,37,176,122,179,15,235,37,52,58,251,
+83,40,20,32,73,18,34,145,200,162,69,19,21,93,165,118,8,238,5,22,221,28,
+173,38,56,47,18,118,159,109,17,199,228,158,171,74,99,243,234,94,219,106,
+129,117,143,205,235,208,39,141,73,140,111,136,227,161,90,117,244,147,214,
+107,181,86,122,168,53,102,74,249,175,180,150,110,37,154,207,231,161,40,
+138,179,158,212,54,166,146,117,182,210,61,225,220,61,193,168,253,141,23,
+193,185,231,192,235,40,132,72,94,244,187,251,53,126,220,135,110,11,94,140,
+123,81,223,179,122,44,120,85,85,203,44,48,183,21,214,76,18,171,37,83,245,
+234,7,58,114,176,22,122,155,181,140,192,252,156,136,111,148,216,72,128,
+195,225,176,179,120,94,139,230,14,234,146,159,220,173,44,189,174,165,154,
+187,196,107,23,179,212,5,119,55,208,163,49,185,111,34,81,17,184,175,201,
+107,108,244,92,165,254,69,173,16,86,113,108,181,198,85,107,60,52,55,164,
+112,104,183,235,182,194,150,186,51,111,229,152,221,73,18,154,166,149,85,
+18,17,215,82,204,116,115,199,172,42,145,120,123,123,59,82,169,212,138,146,
+88,37,87,175,219,13,76,107,230,69,76,36,175,238,4,14,81,17,215,178,120,
+68,242,34,75,93,212,15,244,189,225,112,24,129,64,192,215,198,136,228,78,
+211,180,178,207,106,54,137,213,35,83,245,232,7,241,186,221,100,182,218,
+136,172,101,4,230,118,31,54,131,204,196,69,17,79,232,187,235,149,185,111,
+24,119,77,55,183,85,69,165,113,104,33,43,157,115,17,175,145,8,97,169,205,
+236,220,38,191,40,148,116,19,120,17,177,101,89,78,170,49,141,207,109,97,
+209,235,52,77,43,171,130,79,215,190,220,194,42,142,77,92,47,247,205,37,
+222,116,52,46,178,220,221,7,66,105,141,76,211,68,91,91,91,153,203,70,211,
+180,178,88,198,74,18,87,61,99,150,101,217,201,186,19,203,96,209,186,72,
+146,228,52,147,164,38,158,244,28,117,54,22,173,50,81,233,146,27,113,37,
+9,172,146,59,81,36,47,90,123,113,158,220,164,71,74,152,82,232,233,119,250,
+60,34,11,191,150,151,216,247,140,44,93,186,95,104,67,84,143,5,38,18,171,
+152,148,18,137,68,202,238,181,122,239,179,70,100,138,228,135,170,149,184,
+93,209,110,253,160,40,10,12,195,112,238,175,213,74,100,45,35,48,183,155,
+160,222,234,27,226,235,194,225,176,51,145,226,185,31,58,145,47,46,28,85,
+208,46,22,139,72,167,211,40,20,10,40,22,139,21,51,190,84,85,133,166,105,
+8,133,66,72,165,82,8,4,2,8,133,66,208,52,109,145,251,197,178,44,36,18,137,
+69,130,144,205,102,33,73,18,134,135,135,125,47,116,53,161,52,77,179,236,
+187,85,85,117,200,151,210,137,243,249,60,138,197,98,89,95,34,241,179,169,
+188,141,168,216,104,7,79,227,91,46,97,245,26,155,120,179,137,196,76,223,
+155,203,229,144,205,102,145,205,102,81,44,22,61,221,66,164,232,137,160,
+138,197,34,34,145,8,98,177,88,25,105,209,121,33,175,26,123,173,36,174,74,
+99,166,174,195,186,174,35,153,76,58,107,233,165,124,3,129,128,19,243,146,
+36,201,233,73,21,8,4,156,218,127,145,72,196,233,71,21,14,135,145,201,100,
+202,234,33,174,150,2,179,162,75,144,200,195,157,253,55,63,63,95,177,221,
+144,72,232,212,76,82,140,13,210,166,108,120,120,120,17,81,184,203,101,137,
+149,240,105,157,196,78,208,100,125,249,185,23,232,94,203,100,50,101,181,
+56,233,243,232,218,178,217,44,66,161,16,122,123,123,125,125,110,171,100,
+170,88,44,34,149,74,57,198,64,37,221,176,26,72,76,105,165,176,86,139,127,
+249,37,50,154,60,183,139,80,172,28,45,18,201,133,11,23,144,207,231,145,
+205,102,125,125,62,185,29,2,129,0,226,241,56,218,218,218,202,172,26,218,
+241,190,254,250,235,176,44,203,17,70,177,103,24,41,13,63,150,152,187,133,
+133,184,99,18,223,71,194,25,8,4,112,245,234,85,36,18,9,232,186,222,80,90,
+46,185,74,34,145,8,44,203,66,62,159,71,50,153,68,36,18,113,4,86,150,229,
+37,91,147,94,29,109,189,206,230,152,166,137,80,40,132,107,215,174,97,114,
+114,18,133,66,161,230,184,220,217,101,161,80,8,157,157,157,142,197,108,
+154,38,58,58,58,28,235,146,122,179,45,55,252,142,153,80,40,20,48,54,54,
+134,116,58,221,144,85,68,235,168,170,42,82,169,20,166,167,167,17,141,70,
+209,219,219,235,200,174,162,40,40,20,10,40,20,10,136,197,98,75,174,95,216,
+76,136,229,153,196,108,191,11,23,46,56,231,188,42,193,221,167,79,236,215,
+39,186,253,68,194,83,85,117,81,75,30,177,202,70,62,159,199,171,175,190,
+234,120,97,200,186,85,20,197,119,65,225,76,38,131,51,103,206,56,174,108,
+241,192,181,40,131,154,166,161,80,40,248,118,115,174,132,76,17,153,133,
+66,33,68,34,145,69,46,208,149,182,198,90,34,201,141,86,132,118,47,162,104,
+117,145,128,185,149,190,44,203,152,152,152,192,165,75,151,150,84,127,204,
+178,44,204,205,205,97,110,110,14,157,157,157,232,237,237,69,48,24,68,54,
+155,69,36,18,169,41,24,84,72,180,218,110,197,45,152,94,194,73,214,87,58,
+157,198,149,43,87,48,55,55,183,228,234,214,150,101,57,10,141,174,85,211,
+52,152,166,137,217,217,89,88,150,133,174,174,46,180,181,181,53,188,227,
+170,213,20,144,20,134,97,24,24,27,27,195,196,196,196,146,206,200,20,10,
+5,92,187,118,13,83,83,83,232,234,234,194,142,29,59,156,58,125,228,158,90,
+42,129,249,221,140,84,27,51,201,196,213,171,87,49,49,49,209,80,154,183,
+251,154,104,222,66,161,16,162,209,40,12,195,192,197,139,23,161,170,42,134,
+135,135,209,213,213,85,70,100,177,88,108,197,227,96,162,187,208,171,238,
+96,46,151,195,252,252,124,83,190,75,116,37,146,139,149,174,65,140,123,17,
+129,205,205,205,45,233,251,12,195,64,50,153,172,57,126,0,53,155,94,174,
+22,153,178,109,27,179,179,179,8,4,2,206,198,112,53,88,99,45,33,176,165,
+166,207,139,5,89,189,18,52,66,161,144,19,51,120,229,149,87,154,126,99,206,
+205,205,33,149,74,97,104,104,200,215,89,54,177,241,95,37,43,198,45,152,
+116,3,81,227,60,18,208,108,54,139,83,167,78,45,171,178,201,100,50,200,100,
+50,80,20,5,177,88,12,129,64,0,201,100,18,233,116,218,233,219,86,143,160,
+250,25,155,105,154,184,124,249,50,70,71,71,171,238,178,27,137,167,76,79,
+79,99,110,110,14,119,221,117,151,99,133,144,117,222,8,137,249,41,198,74,
+138,177,214,122,38,18,9,92,188,120,113,89,138,187,210,166,132,148,78,169,
+84,194,249,243,231,49,55,55,135,45,91,182,192,48,12,4,131,65,164,211,233,
+85,17,7,243,146,37,177,112,110,51,62,159,20,177,152,152,32,18,136,59,182,
+182,18,245,10,43,109,116,87,163,76,89,150,133,217,217,89,100,179,89,116,
+117,117,45,75,86,229,170,35,176,165,164,52,135,195,97,100,179,217,50,242,
+34,127,180,152,14,63,58,58,138,243,231,207,47,171,144,93,190,124,185,174,
+30,67,98,214,145,232,151,23,207,46,137,86,23,41,89,114,53,188,241,198,27,
+184,118,237,90,203,132,193,48,12,204,205,205,33,20,10,161,163,163,3,165,
+82,9,147,147,147,232,238,238,246,221,89,214,157,213,229,30,155,44,203,72,
+165,82,56,125,250,180,227,102,93,174,177,28,60,120,16,247,222,123,47,118,
+238,220,217,48,121,213,235,50,172,180,158,186,174,227,244,233,211,53,119,
+230,205,84,58,209,104,20,237,237,237,152,157,157,69,42,149,194,174,93,187,
+28,75,108,53,244,168,18,61,39,20,131,34,217,106,164,255,87,37,18,171,84,
+72,215,109,125,185,51,243,90,69,224,238,141,174,24,163,92,173,50,85,44,
+22,113,237,218,53,108,216,176,97,69,187,78,183,36,162,93,171,124,84,165,
+231,201,109,232,38,47,218,161,133,66,33,40,138,130,147,39,79,46,43,121,
+137,56,117,234,84,205,146,63,154,166,149,45,164,166,105,136,68,34,206,67,
+116,95,136,55,15,237,172,242,249,60,14,28,56,208,82,242,114,11,235,204,
+204,140,115,227,76,78,78,66,146,36,207,204,198,106,228,229,30,155,36,73,
+152,157,157,197,209,163,71,151,149,188,68,28,58,116,8,71,143,30,117,214,
+161,153,73,28,238,241,186,19,1,196,49,31,62,124,184,37,138,70,68,54,155,
+69,34,145,112,50,202,142,29,59,134,68,34,1,195,48,16,137,68,86,172,172,
+145,123,67,75,127,19,153,168,170,218,148,117,114,31,125,33,249,173,180,
+161,150,101,185,101,149,90,220,4,45,234,8,81,63,172,102,153,2,128,107,215,
+174,193,178,172,154,186,97,205,18,88,163,7,39,233,125,149,200,139,82,62,
+15,28,56,128,169,169,169,150,78,218,169,83,167,124,189,206,125,2,223,189,
+171,34,161,12,133,66,206,239,19,19,19,56,124,248,112,83,221,106,141,64,
+215,117,199,231,173,40,10,38,39,39,23,165,231,139,194,42,186,59,220,99,
+163,241,77,77,77,225,232,209,163,45,31,219,171,175,190,138,23,95,124,113,
+89,228,218,43,139,77,28,243,217,179,103,241,234,171,175,174,216,122,234,
+186,142,68,34,225,156,31,59,123,246,44,18,137,132,115,232,127,181,212,230,
+91,78,215,93,173,18,99,193,96,208,179,141,202,74,185,81,221,7,243,87,179,
+76,41,138,130,169,169,169,138,71,119,214,188,11,177,222,148,93,209,26,179,
+109,123,145,82,20,201,235,224,193,131,117,251,241,85,85,197,224,224,160,
+147,169,69,72,38,147,200,102,179,152,159,159,199,228,228,164,239,107,244,
+43,148,226,153,46,247,174,138,206,172,76,76,76,224,228,210,109,191,98,0,
+0,32,0,73,68,65,84,201,147,13,205,243,198,141,27,209,209,209,129,104,52,
+90,22,24,46,22,139,200,100,50,200,102,179,152,152,152,240,157,141,9,192,
+241,119,183,183,183,67,81,20,36,18,9,244,247,247,47,10,138,139,55,158,219,
+242,162,243,52,141,142,45,26,141,98,112,112,16,170,170,150,173,23,165,216,
+39,147,73,76,77,77,213,92,147,227,199,143,99,96,96,160,169,22,88,37,107,
+147,198,124,245,234,85,140,143,143,47,105,45,69,119,245,220,220,28,74,165,
+18,70,71,71,235,74,52,160,132,164,142,142,14,168,170,138,115,231,206,57,
+191,231,243,249,21,13,194,123,89,67,170,170,54,205,133,72,103,184,188,238,
+195,149,68,48,24,196,134,13,27,60,207,125,186,201,171,217,50,37,234,135,
+100,50,137,82,169,132,177,177,177,186,172,57,183,76,205,206,206,162,175,
+175,175,229,238,196,150,16,88,189,221,151,69,215,161,104,173,208,207,112,
+56,140,151,95,126,185,174,44,165,104,52,138,93,187,118,225,166,155,110,
+242,252,255,134,13,27,156,9,215,117,29,231,206,157,195,107,175,189,182,
+100,87,151,123,103,87,73,48,115,185,28,142,29,59,86,215,103,111,223,190,
+29,189,189,189,216,184,113,163,99,217,121,9,154,40,72,51,51,51,184,120,
+241,34,46,92,184,224,107,167,100,89,22,146,201,36,186,187,187,161,170,42,
+166,166,166,176,113,227,198,69,238,25,183,85,185,148,177,69,163,81,108,
+219,182,13,195,195,195,53,155,38,146,114,26,29,29,197,137,19,39,170,174,
+215,211,79,63,189,228,2,180,238,250,139,213,8,219,175,165,78,242,183,101,
+203,22,12,13,13,45,138,31,18,136,192,247,236,217,131,108,54,139,201,201,
+73,140,141,141,225,234,213,171,190,190,35,149,74,161,171,171,11,0,112,236,
+216,49,236,217,179,7,179,179,179,171,226,92,143,219,242,217,183,111,95,
+89,159,47,154,87,74,73,63,116,232,80,205,154,142,98,18,135,159,142,220,
+148,97,247,224,131,15,58,238,102,58,67,73,93,168,21,69,193,55,190,241,141,
+170,159,211,213,213,133,219,110,187,13,185,92,14,182,109,195,48,12,39,227,
+87,172,18,35,186,74,221,231,185,150,83,166,220,175,1,128,221,187,119,35,
+151,203,97,106,106,10,99,99,99,24,27,27,171,75,166,20,69,193,244,244,52,
+6,6,6,234,78,250,90,213,4,86,239,110,71,116,205,72,146,228,73,94,211,211,
+211,184,124,249,178,239,207,188,229,150,91,112,235,173,183,58,159,87,9,
+134,97,56,109,19,246,237,219,135,155,111,190,25,47,189,244,18,94,127,253,
+245,134,111,74,175,19,254,98,176,154,118,96,47,191,252,114,93,130,185,127,
+255,126,116,118,118,150,53,22,20,199,38,10,14,141,203,178,44,116,119,119,
+163,187,187,27,59,119,238,196,161,67,135,106,90,155,226,238,159,20,104,
+42,149,66,71,71,71,89,182,152,24,132,167,155,177,145,177,237,221,187,23,
+59,119,238,116,214,202,107,108,52,62,82,112,0,48,50,50,130,145,145,17,156,
+58,117,10,167,78,157,170,72,206,141,102,106,185,61,9,213,200,171,30,194,
+142,199,227,216,191,127,63,250,250,250,156,241,26,134,81,118,152,157,214,
+82,84,192,109,109,109,232,236,236,196,45,183,220,130,108,54,139,227,199,
+143,227,181,215,94,243,181,107,222,176,97,131,179,235,94,201,118,247,148,
+52,33,234,8,154,131,120,60,238,16,6,205,43,29,133,112,111,202,154,97,73,
+147,204,6,2,1,103,45,162,209,104,217,119,251,109,104,169,170,42,226,241,
+184,83,139,53,159,207,35,18,137,148,245,46,163,88,155,187,102,33,29,226,
+94,78,153,170,228,37,106,107,107,67,71,71,7,118,236,216,129,108,54,139,
+147,39,79,226,141,55,222,168,75,166,146,201,36,54,108,216,208,50,153,106,
+25,129,213,147,192,65,190,85,170,44,46,214,58,148,101,25,71,142,28,241,
+237,46,188,247,222,123,29,211,86,84,132,110,23,5,41,10,202,210,34,247,195,
+59,223,249,78,12,14,14,226,224,193,131,190,23,69,220,229,187,11,204,210,
+1,75,241,128,228,145,35,71,124,157,221,8,6,131,184,239,190,251,156,241,
+144,80,26,134,81,150,100,225,30,95,48,24,116,206,68,145,226,143,197,98,
+120,232,161,135,48,53,53,133,231,159,127,190,166,53,102,89,22,82,169,20,
+226,241,56,242,249,60,218,218,218,28,119,135,88,135,80,12,54,43,138,130,
+19,39,78,248,30,219,3,15,60,224,156,89,162,181,242,26,27,85,25,16,149,59,
+201,202,109,183,221,134,91,110,185,5,207,60,243,76,83,171,174,187,51,230,
+220,25,108,34,97,31,60,120,208,215,103,110,219,182,13,183,221,118,91,213,
+181,20,107,31,186,45,106,93,215,157,244,230,183,188,229,45,24,26,26,194,
+11,47,188,80,117,45,77,211,68,58,157,134,166,105,24,31,31,119,186,52,183,
+210,10,243,106,138,89,42,149,28,215,150,184,225,243,218,152,137,101,208,
+252,174,157,215,198,213,171,76,21,29,217,161,36,23,145,180,252,118,161,
+166,141,6,149,110,18,61,20,212,205,218,93,141,191,26,121,53,91,166,220,
+250,65,188,143,104,179,27,141,70,113,207,61,247,96,112,112,16,7,14,28,168,
+234,49,19,101,42,157,78,59,235,216,10,153,10,180,138,192,252,32,20,10,45,
+42,208,233,222,225,158,57,115,198,87,28,39,30,143,227,193,7,31,68,103,103,
+167,179,152,166,105,34,151,203,161,80,40,32,159,207,35,159,207,151,85,217,
+160,82,47,244,28,9,222,206,157,59,241,161,15,125,168,97,247,147,88,215,
+79,20,80,69,81,112,249,242,101,95,217,134,193,96,16,247,223,127,191,231,
+120,40,11,72,220,221,121,141,141,14,14,211,205,20,10,133,48,60,60,140,71,
+30,121,196,151,144,209,220,105,154,134,108,54,91,102,73,186,215,137,78,
+241,95,185,114,197,151,117,243,240,195,15,47,170,122,226,53,54,177,189,
+188,123,205,72,73,197,227,113,124,228,35,31,65,79,79,79,83,172,4,247,46,
+217,189,174,180,150,138,162,224,248,241,227,190,82,177,239,184,227,14,220,
+122,235,173,53,215,146,202,158,137,107,75,227,39,229,68,227,222,180,105,
+19,222,247,190,247,161,179,179,179,234,119,83,169,51,85,85,145,76,38,157,
+67,236,43,5,177,1,165,88,63,144,148,61,89,227,244,187,215,6,180,214,70,
+178,210,166,217,93,185,93,156,87,34,90,42,5,229,55,57,193,182,109,231,181,
+98,221,85,209,27,227,229,77,16,189,24,170,170,46,155,76,145,85,232,190,
+143,104,188,162,76,13,15,15,227,61,239,121,15,58,58,58,86,165,76,45,43,
+129,213,83,129,35,20,10,57,7,45,201,100,167,180,114,218,237,90,150,85,211,
+77,34,90,42,161,80,8,182,109,35,155,205,194,48,12,228,243,249,178,162,183,
+150,101,57,245,19,201,55,45,238,86,232,172,5,41,197,247,190,247,189,117,
+147,183,88,45,220,77,94,150,101,225,236,217,179,190,62,235,206,59,239,68,
+91,91,91,213,241,20,10,5,231,111,113,108,226,235,168,144,167,184,51,235,
+234,234,242,77,98,233,116,218,57,91,67,39,241,169,210,5,41,123,114,251,
+212,114,63,136,241,14,178,160,170,173,21,61,196,53,163,255,139,27,15,178,
+148,63,252,225,15,59,62,254,122,33,174,155,91,217,121,185,14,85,85,197,
+220,220,156,175,205,200,254,253,251,49,52,52,180,104,188,98,49,102,113,
+188,182,109,151,141,217,182,109,103,236,164,36,233,247,120,60,142,247,189,
+239,125,53,215,50,155,205,58,9,14,162,103,161,149,25,100,212,61,217,253,
+187,91,241,147,11,140,94,215,140,4,15,119,89,59,175,14,207,116,198,212,
+77,100,126,199,70,99,18,139,81,187,75,64,137,77,51,221,49,176,229,148,169,
+74,186,207,107,19,223,209,209,129,247,188,231,61,53,141,145,149,144,169,
+101,37,176,70,179,125,68,37,65,102,61,41,68,63,147,177,111,223,62,199,87,
+110,24,6,108,219,70,161,80,112,22,133,10,91,138,187,92,218,165,228,243,
+121,231,181,180,144,116,61,189,189,189,184,227,142,59,234,30,139,23,121,
+201,178,140,233,233,105,95,55,196,142,29,59,208,222,222,238,236,190,171,
+141,135,44,75,113,108,162,50,160,113,138,187,45,34,177,7,31,124,176,230,
+181,24,134,129,76,38,227,4,200,221,86,50,141,173,84,42,225,210,165,75,190,
+198,22,139,197,42,142,141,10,144,186,199,37,174,173,72,98,180,83,167,130,
+170,191,244,75,191,180,228,196,13,74,179,166,7,145,27,17,57,141,217,79,
+172,116,247,238,221,232,239,239,47,35,37,81,193,208,90,210,120,137,200,
+169,238,166,59,142,66,178,73,107,73,228,91,107,67,34,214,155,92,9,43,204,
+43,177,203,77,36,162,203,77,146,36,79,215,99,51,174,67,180,64,68,50,21,
+45,93,34,78,63,228,73,10,156,174,157,172,46,250,28,186,63,220,99,17,171,
+212,44,183,76,121,233,7,247,38,94,148,169,96,48,136,119,189,235,93,85,117,
+250,74,200,212,178,18,88,189,25,136,20,251,18,51,247,196,221,238,185,115,
+231,106,126,103,119,119,55,186,186,186,96,89,150,83,169,157,22,136,76,123,
+186,241,221,139,73,202,130,4,32,151,203,57,22,11,9,56,89,66,245,184,47,
+220,59,117,203,178,160,40,138,239,241,108,217,178,197,113,225,185,199,83,
+40,20,156,241,184,119,128,244,60,185,20,221,194,77,10,129,20,196,192,192,
+0,246,239,223,95,243,154,50,153,204,162,94,71,162,27,77,81,20,95,7,203,
+35,145,8,182,108,217,2,219,182,23,141,173,84,42,57,229,193,220,13,31,77,
+211,116,198,77,175,39,37,79,235,69,138,38,30,143,227,237,111,127,251,178,
+184,188,196,164,149,76,38,131,233,233,233,170,239,235,239,239,199,198,141,
+27,157,66,201,162,156,209,152,220,150,128,251,121,170,99,233,229,154,18,
+171,54,116,117,117,225,161,135,30,90,245,86,24,201,143,184,177,18,55,87,
+162,21,230,238,105,215,232,119,121,109,178,69,162,17,239,17,209,90,163,
+123,198,175,11,81,220,112,184,227,94,238,178,86,226,166,136,200,107,57,
+101,74,212,123,162,75,209,237,213,16,101,170,179,179,19,15,60,240,192,170,
+146,169,85,97,129,137,173,47,196,155,81,204,252,41,22,139,190,98,95,35,
+35,35,78,128,95,180,80,200,178,18,23,77,252,78,145,8,220,11,73,194,75,191,
+239,221,187,183,46,55,148,88,105,128,8,58,147,201,248,58,203,179,107,215,
+174,69,55,21,9,31,93,51,149,121,113,239,176,104,188,126,198,38,238,230,
+106,129,44,86,74,122,17,201,139,170,25,248,57,92,62,50,50,226,16,173,123,
+108,34,65,211,216,68,247,142,168,220,197,27,151,82,148,197,241,237,217,
+179,7,241,120,188,41,242,236,142,251,213,67,216,187,119,239,94,164,152,
+197,221,47,141,75,140,5,137,15,241,121,178,200,68,11,162,236,198,14,4,208,
+223,223,143,129,129,1,95,59,230,84,42,181,34,86,88,37,87,158,87,76,134,
+198,75,133,188,27,181,248,196,42,247,226,166,218,109,253,137,107,84,207,
+161,97,82,222,52,6,247,58,250,217,20,181,74,166,196,123,73,236,63,71,155,
+6,183,76,245,246,246,162,175,175,111,213,200,84,160,85,130,234,103,209,
+69,235,203,93,184,215,207,225,189,88,44,230,88,125,238,198,142,238,29,173,
+72,102,238,221,8,185,31,197,54,8,226,123,171,41,5,114,121,186,91,86,136,
+13,250,20,69,241,21,203,27,28,28,116,98,67,110,193,116,95,179,104,133,136,
+215,235,22,80,122,157,152,165,68,10,159,130,176,219,182,109,171,121,109,
+115,115,115,206,57,22,145,188,104,179,49,59,59,91,211,250,234,238,238,246,
+53,54,146,15,247,6,196,107,13,69,226,162,29,164,36,73,216,179,103,79,83,
+172,4,119,140,130,146,15,70,71,71,107,238,148,233,181,238,221,57,237,80,
+201,181,36,42,112,183,130,21,239,37,241,24,129,232,70,20,93,83,91,183,110,
+173,185,25,169,229,98,93,174,250,128,162,21,34,142,213,109,9,145,235,186,
+25,215,33,102,196,82,73,56,113,142,197,121,22,99,111,228,194,244,67,100,
+98,22,162,72,30,110,143,133,152,176,65,155,162,86,202,20,61,47,18,149,187,
+69,149,59,65,10,64,197,179,180,181,100,106,57,172,176,21,181,192,40,13,
+216,235,125,98,202,183,170,170,190,226,41,93,93,93,101,217,63,226,225,65,
+47,37,79,139,73,10,157,136,205,157,169,152,207,231,157,93,27,237,0,119,
+237,218,133,158,158,30,116,117,117,161,179,179,19,29,29,29,232,232,232,
+64,60,30,71,60,30,119,14,140,186,221,3,244,156,31,11,133,14,5,138,150,83,
+53,210,114,187,107,221,59,64,183,43,202,237,231,39,129,245,99,133,145,27,
+145,198,71,235,20,12,6,49,49,49,81,243,253,155,54,109,42,139,53,120,141,
+141,44,61,113,44,149,118,181,94,214,165,232,250,245,107,53,123,201,162,
+184,110,226,239,180,233,242,211,10,134,210,213,197,157,189,59,78,90,233,
+51,220,135,179,105,252,98,178,128,59,193,128,228,173,22,129,209,61,34,38,
+191,208,231,54,90,6,206,79,130,131,155,196,68,93,225,69,220,98,12,182,153,
+103,140,196,186,166,98,140,77,44,20,238,101,141,248,113,33,138,186,135,
+62,223,125,159,122,109,146,90,33,83,238,107,112,39,212,136,164,40,202,148,
+166,105,53,9,204,45,83,203,217,64,85,89,110,2,171,103,215,68,193,75,106,
+112,72,103,166,44,203,242,165,20,251,251,251,29,75,130,22,132,92,103,228,
+90,162,116,213,106,215,64,66,225,181,232,164,184,118,238,220,233,184,192,
+104,177,196,164,134,74,238,1,170,25,88,171,194,135,162,40,104,107,107,115,
+110,48,26,135,72,64,226,120,232,117,134,97,120,42,30,90,7,18,46,178,6,73,
+232,197,243,42,253,253,253,101,85,12,42,237,178,72,168,117,93,135,166,105,
+142,197,234,103,173,162,209,40,138,197,162,179,206,94,99,171,181,9,114,
+203,150,187,125,187,174,235,206,121,194,96,48,136,161,161,161,154,187,90,
+63,50,74,46,30,178,88,107,197,41,232,187,179,217,108,217,97,100,82,152,
+100,73,209,79,47,151,139,187,119,86,165,10,235,94,110,236,193,193,193,138,
+30,12,113,119,93,40,20,16,143,199,157,22,25,203,9,186,126,178,136,168,209,
+164,232,174,18,199,40,86,105,95,142,174,218,116,111,19,201,144,101,35,94,
+19,185,168,253,146,52,117,163,160,207,175,52,167,148,113,77,37,180,90,37,
+83,116,61,164,67,234,145,169,254,254,254,138,247,185,91,166,200,141,184,
+28,50,213,154,254,234,62,136,78,146,36,79,247,161,44,203,53,221,81,192,
+66,170,167,232,11,22,131,178,36,144,100,69,137,150,149,151,27,161,82,208,
+211,157,209,35,238,244,197,115,107,110,11,148,20,30,253,238,167,126,35,
+181,51,241,58,195,225,53,30,247,174,210,107,108,110,247,140,59,101,152,
+254,95,42,149,156,196,145,90,238,24,74,230,16,207,173,248,169,238,65,241,
+51,175,216,78,181,181,18,199,68,243,235,118,143,208,250,211,218,208,142,
+210,143,107,180,146,178,21,227,95,226,186,218,182,93,115,188,131,131,131,
+139,62,143,198,73,202,195,235,16,171,248,32,43,155,146,0,42,185,141,197,
+99,20,100,21,147,55,160,154,21,66,27,144,229,118,29,214,178,42,220,49,49,
+49,19,113,185,18,1,220,247,143,91,225,123,101,12,250,1,109,194,196,68,180,
+74,222,38,209,235,212,42,153,18,117,150,91,134,196,35,28,238,223,53,77,
+171,121,214,176,146,76,53,123,13,151,205,2,171,199,253,80,44,22,23,237,
+184,197,152,131,159,93,79,91,91,155,147,18,74,139,67,19,78,10,177,82,90,
+113,62,159,95,212,102,220,253,123,48,24,68,161,80,88,116,122,223,157,97,
+36,10,186,91,104,73,56,253,16,50,141,71,44,57,227,119,60,149,198,230,182,
+136,169,66,135,166,105,101,21,72,36,73,194,198,141,27,107,166,240,146,21,
+70,201,54,244,254,90,66,74,99,115,147,41,205,89,173,177,137,10,71,172,36,
+78,159,65,164,69,241,80,82,12,228,114,169,103,99,229,174,52,34,90,175,228,
+33,168,101,77,139,45,50,104,254,105,83,68,222,2,191,177,27,49,86,66,100,
+74,215,40,86,125,161,10,8,134,97,212,60,143,73,187,100,90,79,177,188,148,
+187,212,83,171,54,180,100,177,84,10,51,44,71,219,19,177,83,179,72,158,98,
+60,199,15,145,185,99,96,149,172,15,146,33,241,44,88,43,101,138,64,227,35,
+89,210,52,205,57,131,75,99,166,58,148,68,74,181,14,54,87,147,169,53,227,
+66,172,5,47,193,20,77,91,82,28,126,92,82,180,104,193,96,176,204,255,236,
+87,217,147,82,116,43,123,183,233,47,150,70,241,242,115,87,234,57,36,182,
+2,247,83,32,152,58,234,146,18,22,111,4,191,228,85,141,196,68,37,76,228,
+35,22,80,142,197,98,190,54,30,164,56,233,166,245,83,190,73,60,87,67,46,
+227,70,198,230,213,151,141,148,30,141,135,18,131,74,165,82,67,135,154,197,
+107,17,251,85,209,223,126,198,123,229,202,21,36,18,9,103,119,75,74,142,
+148,176,95,183,148,168,64,197,221,189,88,173,194,157,250,44,110,52,170,
+41,155,120,60,238,236,192,101,89,94,214,184,69,165,57,38,57,21,9,197,173,
+248,105,109,155,241,125,181,200,211,45,175,245,110,202,171,125,135,91,63,
+136,30,154,245,40,83,162,62,94,19,4,214,200,174,77,116,29,186,155,220,249,
+21,74,119,199,89,170,22,209,168,178,23,73,73,220,229,84,18,2,55,9,123,41,
+65,63,109,11,20,69,65,62,159,47,35,121,58,235,209,168,155,196,43,198,64,
+99,52,12,195,249,174,64,32,128,238,238,238,154,159,153,74,165,202,148,185,
+223,155,134,190,71,180,250,26,89,43,81,169,145,194,165,49,81,6,150,187,
+182,221,198,141,27,125,87,218,174,38,207,116,221,126,198,76,173,95,86,43,
+200,66,21,61,24,173,232,139,85,207,122,83,156,117,185,190,207,125,127,208,
+119,46,119,109,72,81,174,214,163,76,249,181,90,27,69,160,21,11,227,199,
+175,238,246,59,139,139,232,199,93,64,233,162,126,252,206,126,119,246,181,
+226,98,149,30,141,236,252,220,240,58,188,219,200,231,84,154,127,241,167,
+87,153,30,63,21,7,72,48,137,188,252,42,24,90,43,247,115,75,93,43,113,76,
+116,109,98,82,79,35,55,146,123,61,69,185,94,13,125,165,154,5,114,37,211,
+125,183,146,181,17,111,52,120,197,205,215,139,76,45,183,44,173,120,18,135,
+219,156,118,215,4,107,68,49,123,165,20,55,131,196,200,245,86,233,225,174,
+115,86,105,103,82,15,200,146,160,29,228,82,224,182,28,221,113,62,114,149,
+212,235,63,23,55,24,245,118,199,118,147,243,82,225,149,126,45,142,199,111,
+236,196,221,8,81,188,17,197,245,109,117,75,247,229,86,54,235,73,129,174,
+118,84,210,123,235,77,166,150,19,45,179,192,234,201,104,90,234,77,180,92,
+10,95,28,139,251,65,207,139,129,79,209,111,220,8,137,182,170,167,78,163,
+217,102,162,149,86,143,123,167,218,25,149,165,186,108,232,236,206,82,110,
+38,247,53,136,238,108,34,53,119,28,116,189,96,57,146,35,24,181,33,186,220,
+88,166,214,144,5,214,76,44,135,194,119,167,111,139,86,163,248,16,201,192,
+171,180,207,90,66,163,62,235,122,173,75,17,75,221,108,184,83,175,69,11,
+175,25,242,225,69,172,43,217,193,120,57,20,168,104,241,183,34,6,118,35,
+195,203,154,95,207,50,181,38,9,108,37,148,248,114,250,91,189,206,36,85,
+178,210,214,194,120,220,164,213,168,160,145,245,165,105,218,162,243,41,
+203,69,120,171,69,222,234,25,239,106,223,180,180,183,183,47,57,81,130,81,
+29,162,53,127,35,200,84,103,103,39,98,177,216,178,109,136,86,85,22,226,
+82,149,151,187,249,96,171,224,149,193,212,44,101,44,198,214,150,115,222,
+220,231,156,150,106,17,249,25,219,74,172,85,58,157,110,249,119,190,229,
+45,111,41,107,135,83,169,53,72,181,196,25,47,25,32,215,12,85,5,169,116,
+223,137,213,86,220,53,6,233,112,62,157,113,228,228,141,181,129,102,200,
+148,23,68,153,114,235,114,209,21,40,222,195,228,117,162,126,132,238,190,
+121,84,17,100,57,244,152,178,22,22,203,207,174,144,206,105,52,123,87,191,
+28,232,239,239,175,217,164,142,172,33,58,155,213,138,141,134,184,43,244,
+115,86,205,93,149,154,202,224,248,89,171,229,34,48,177,12,85,43,8,204,175,
+197,210,215,215,231,100,121,122,85,62,17,119,173,181,8,204,235,200,130,
+59,35,84,252,28,119,227,75,241,189,212,182,102,106,106,138,201,171,197,
+214,73,165,245,110,149,76,137,168,118,12,198,235,127,238,18,122,186,174,
+35,26,141,46,234,40,33,118,131,95,83,22,88,51,225,231,76,18,213,45,19,171,
+49,175,86,193,245,211,79,44,155,205,34,28,14,163,84,42,33,26,141,182,228,
+218,68,197,231,167,11,44,93,23,85,43,40,149,74,190,215,138,190,79,60,124,
+73,159,213,72,28,192,139,228,221,86,101,189,25,146,213,20,15,93,171,159,
+241,142,142,142,98,243,230,205,206,123,196,70,129,148,232,67,138,168,146,
+236,210,28,81,117,13,113,140,244,57,226,255,68,133,35,166,51,211,14,153,
+154,51,82,188,171,145,22,37,140,198,188,15,149,14,75,183,90,166,68,130,
+18,221,239,162,28,212,146,41,42,152,237,46,12,110,219,182,243,88,78,125,
+188,106,8,140,250,72,121,41,11,63,85,33,242,249,60,54,108,216,128,116,58,
+189,104,7,218,168,82,108,84,56,43,89,29,116,128,215,239,33,97,34,100,183,
+107,96,169,227,113,95,167,120,35,209,26,92,190,124,185,230,231,80,61,52,
+58,173,111,219,54,36,73,66,44,22,171,106,233,80,141,71,186,113,20,69,113,
+202,206,52,99,167,230,117,56,84,85,85,92,189,122,117,73,100,69,132,45,62,
+47,73,18,218,219,219,171,214,183,164,74,50,212,183,76,44,162,236,183,211,
+48,89,149,20,115,117,175,63,29,176,247,146,11,119,75,33,177,16,52,185,160,
+196,107,240,170,16,207,88,62,157,225,94,179,86,201,148,168,59,189,214,155,
+42,231,211,245,137,250,89,36,48,119,27,35,209,133,72,242,36,86,87,90,19,
+4,230,55,160,46,238,68,104,160,255,127,123,231,26,27,215,117,221,251,255,
+60,206,188,57,195,33,103,248,20,41,62,36,81,18,41,139,166,157,216,78,99,
+41,189,126,196,177,83,39,238,227,54,105,141,94,7,40,226,182,104,191,180,
+104,128,2,253,144,22,104,81,56,184,189,5,90,4,69,252,193,65,80,36,104,211,
+87,90,195,110,83,191,226,87,226,151,100,217,146,40,90,38,41,81,148,72,145,
+195,25,14,135,156,247,156,115,63,200,235,100,207,230,153,153,51,47,62,215,
+15,24,12,57,67,206,156,125,206,62,251,191,215,218,107,175,37,15,176,45,
+45,45,21,7,69,242,191,210,69,165,212,255,141,206,172,109,20,232,32,87,158,
+150,83,166,200,238,130,74,201,85,169,61,148,81,162,81,237,145,215,233,228,
+26,87,226,140,203,76,190,70,178,16,233,153,58,103,119,119,119,69,87,93,
+50,153,212,51,175,120,60,158,186,103,105,229,68,153,82,93,153,169,41,39,
+95,99,177,63,138,125,85,206,238,81,110,176,201,102,179,136,197,98,122,134,
+24,202,65,73,3,0,173,17,152,17,48,121,208,17,179,29,80,34,223,82,2,38,223,
+147,226,164,145,182,31,136,25,226,27,81,4,148,49,63,81,218,234,62,37,67,
+255,47,138,140,216,167,140,44,48,177,102,26,181,69,180,188,228,62,213,240,
+115,215,204,11,99,118,6,39,239,165,18,95,167,139,91,169,136,36,112,107,
+221,134,82,226,52,82,233,41,167,158,221,110,135,199,227,129,199,227,129,
+211,233,212,31,98,33,76,113,32,22,11,199,201,29,214,140,21,214,172,246,
+136,73,95,197,60,134,100,173,152,177,190,104,112,19,93,23,212,214,222,222,
+94,211,179,62,177,130,107,185,73,130,25,81,22,51,107,211,0,77,109,90,95,
+95,55,149,99,142,40,23,114,47,207,110,201,149,83,142,153,153,25,100,179,
+89,189,154,65,54,155,213,51,238,139,15,209,245,34,62,140,68,73,44,5,47,
+206,124,229,204,49,70,65,58,52,48,137,159,93,42,253,25,83,59,229,38,102,
+165,198,186,173,234,83,242,131,254,158,62,67,44,144,105,84,177,90,44,155,
+34,254,157,216,174,102,111,199,216,17,46,68,90,63,17,7,120,90,211,34,255,
+238,192,192,64,197,236,232,209,104,20,221,221,221,80,85,85,31,252,235,113,
+187,81,78,68,26,4,197,220,129,226,141,79,17,56,177,88,12,225,112,24,129,
+64,192,208,10,19,107,26,245,247,247,87,28,80,197,246,172,173,173,193,229,
+114,21,109,2,174,117,144,17,235,147,137,53,215,104,112,59,123,246,108,197,
+207,160,226,161,98,141,38,202,109,104,166,20,75,44,22,211,51,90,39,18,9,
+180,180,180,212,101,97,202,162,108,183,219,139,218,116,238,220,185,134,
+121,22,196,172,251,94,175,183,98,129,63,0,152,157,157,69,103,103,39,172,
+86,171,158,147,143,242,14,106,154,86,209,229,67,109,17,39,133,98,166,124,
+122,207,40,194,147,170,89,71,163,81,125,178,65,41,196,114,185,156,46,130,
+30,143,199,212,185,23,93,244,116,31,84,187,126,38,167,74,19,251,178,108,
+77,55,251,251,204,46,3,84,59,166,81,237,61,51,125,138,38,98,91,217,167,
+140,38,43,98,189,57,250,153,198,102,217,162,203,229,114,216,216,216,40,
+10,56,147,51,33,121,60,30,125,9,168,25,147,162,45,115,33,26,21,183,76,167,
+211,69,201,106,41,97,167,220,137,172,86,171,169,189,17,228,110,115,58,157,
+72,36,18,8,6,131,69,131,98,53,131,62,21,158,20,77,124,77,211,54,149,65,
+143,68,34,88,92,92,132,199,227,209,19,245,90,173,86,125,112,22,203,66,144,
+80,43,138,130,195,135,15,87,20,10,154,81,145,139,210,229,114,21,149,37,
+168,166,61,162,165,34,38,72,38,17,163,148,80,11,11,11,166,34,16,219,219,
+219,245,117,20,26,96,196,114,44,3,3,3,21,171,104,175,172,172,32,24,12,234,
+107,98,116,76,84,163,172,82,219,196,164,203,52,64,81,219,72,152,21,69,65,
+50,153,196,212,212,84,213,125,88,118,175,82,95,16,39,35,100,157,87,106,
+111,46,151,195,229,203,151,49,56,56,168,23,242,164,65,56,149,74,233,33,
+236,165,6,28,113,29,75,180,154,105,160,17,207,133,88,55,108,97,97,1,211,
+211,211,122,159,145,51,150,139,25,32,90,91,91,203,90,12,70,169,143,170,
+29,148,196,191,151,39,44,178,53,77,197,78,155,245,125,229,220,235,141,64,
+44,133,84,202,34,41,229,150,222,138,62,37,122,67,72,180,196,62,69,226,37,
+70,182,82,48,212,213,171,87,139,92,139,229,250,84,51,183,228,236,184,76,
+28,162,200,137,161,161,102,74,89,147,213,66,37,66,54,54,54,244,250,54,114,
+9,246,74,174,66,113,176,42,85,16,46,30,143,227,198,141,27,186,197,71,55,
+91,52,26,69,52,26,221,52,24,136,174,54,191,223,111,202,82,137,70,163,250,
+0,31,139,197,116,33,20,139,81,86,114,185,201,98,44,90,96,98,137,16,85,85,
+241,222,123,239,153,18,195,182,182,54,125,145,151,34,218,200,5,1,0,125,
+125,125,21,63,71,244,241,199,227,113,88,44,22,61,132,184,82,219,168,77,
+84,254,69,46,254,72,238,67,85,85,241,250,235,175,87,61,232,201,161,204,
+52,179,20,251,165,152,252,248,228,201,147,21,63,119,113,113,17,137,68,66,
+95,191,160,207,162,201,149,81,97,78,49,240,194,40,207,163,236,122,167,89,
+127,161,80,64,50,153,196,153,51,103,16,137,68,144,72,36,144,72,36,176,177,
+177,129,100,50,137,100,50,169,187,111,237,118,59,92,46,87,209,222,31,106,
+171,104,209,209,224,36,14,84,178,133,100,6,177,36,141,248,125,114,254,82,
+113,198,223,232,239,171,21,51,235,74,226,150,6,122,148,251,91,185,104,231,
+86,245,41,49,99,144,152,147,84,236,231,98,159,162,61,131,231,207,159,71,
+44,22,171,186,79,237,42,1,43,21,196,81,206,60,151,171,133,146,43,145,58,
+196,216,216,152,41,43,44,30,143,235,55,64,58,157,214,69,204,72,200,228,
+245,45,177,154,179,120,60,226,241,1,192,141,27,55,54,173,21,173,174,174,
+98,117,117,21,14,135,3,201,100,18,177,88,172,104,224,33,17,163,14,122,252,
+248,113,83,174,143,104,52,10,187,221,14,171,213,138,245,245,117,216,108,
+54,56,157,206,162,224,7,177,61,114,187,140,196,88,92,27,161,98,117,239,
+188,243,142,169,224,141,225,225,97,228,114,57,125,205,143,252,229,98,221,
+160,195,135,15,155,26,52,22,23,23,245,182,69,163,209,138,109,51,51,193,
+160,191,81,20,5,83,83,83,166,131,55,170,233,215,98,242,227,124,62,143,246,
+246,118,83,94,130,233,233,233,162,235,106,180,230,39,15,60,226,253,81,174,
+154,3,13,154,244,191,111,189,245,86,197,96,42,135,195,81,228,49,32,151,
+48,89,253,148,42,141,174,37,185,103,235,181,134,104,0,165,251,82,172,63,
+38,86,166,104,228,247,201,231,184,214,207,170,132,28,161,39,151,99,146,
+39,68,212,151,182,163,79,149,202,29,42,90,139,52,150,230,243,121,156,59,
+119,174,98,94,81,185,79,237,41,1,43,245,183,20,250,105,84,22,131,46,104,
+119,119,183,169,0,129,181,181,53,189,48,162,24,102,42,222,48,114,16,134,
+152,124,87,28,12,201,66,177,217,108,122,88,251,133,11,23,48,63,63,95,210,
+28,95,94,94,134,170,170,200,100,50,72,38,147,250,250,16,125,15,181,167,
+171,171,203,84,7,205,100,50,136,197,98,122,69,231,149,149,149,178,237,49,
+106,151,145,5,73,25,28,20,69,193,91,111,189,165,223,8,229,104,105,105,209,
+3,80,104,17,87,14,163,165,215,71,71,71,27,222,54,51,109,178,217,108,80,
+20,5,151,47,95,198,91,111,189,85,115,31,22,247,77,25,245,109,121,243,232,
+167,63,253,233,138,159,153,74,165,244,122,100,233,116,26,241,120,188,104,
+159,150,81,145,84,113,230,44,15,132,226,96,79,231,141,172,206,120,60,110,
+234,122,186,221,238,34,203,87,46,102,41,7,131,136,150,72,181,145,110,78,
+167,83,191,175,72,20,196,192,0,49,122,78,254,62,170,72,94,237,247,137,174,
+49,121,18,91,245,128,105,194,242,35,151,156,88,145,88,204,114,34,95,91,
+121,172,19,139,72,54,179,79,137,86,173,236,50,23,3,187,232,231,119,223,
+125,183,108,100,164,216,167,92,46,215,150,164,37,219,118,23,162,209,66,
+167,56,27,161,193,144,46,234,221,119,223,109,234,115,73,68,200,26,162,84,
+57,180,105,83,126,200,3,161,40,92,228,54,91,93,93,53,117,17,147,201,36,
+18,137,4,220,110,183,190,215,169,212,160,55,62,62,110,170,61,235,235,235,
+250,64,175,170,42,86,87,87,139,74,173,24,181,73,110,151,184,113,213,227,
+241,232,226,245,211,159,254,212,148,120,1,192,208,208,144,30,113,41,71,
+42,137,46,196,108,54,139,209,209,81,83,123,248,140,218,38,6,193,84,186,
+86,178,120,217,237,118,92,185,114,5,111,188,241,70,77,125,210,140,235,135,
+250,37,185,190,242,249,60,218,218,218,112,251,237,183,87,252,252,88,44,
+134,229,229,101,40,138,130,116,58,141,245,245,245,162,129,78,92,39,145,
+127,39,193,162,89,46,253,44,186,79,95,123,237,53,83,226,229,114,185,224,
+118,187,17,14,135,13,61,35,228,158,21,207,5,125,7,77,56,200,210,173,197,
+34,18,175,29,93,87,85,85,245,128,28,241,111,200,10,171,229,251,228,123,
+185,22,17,171,86,236,232,239,169,93,212,22,35,1,148,221,120,226,125,21,
+10,133,154,222,167,228,243,78,63,139,222,142,159,254,244,167,166,196,203,
+229,114,193,229,114,109,137,245,213,84,1,171,37,201,45,69,208,144,155,77,
+12,223,20,205,106,51,190,97,114,243,37,147,73,216,237,118,100,50,25,172,
+172,172,232,174,46,163,1,80,92,204,21,69,76,81,20,124,244,209,71,166,204,
+103,0,186,233,47,187,69,104,208,19,45,21,179,86,24,89,150,145,72,68,183,
+156,200,93,42,86,209,53,122,136,55,176,197,98,129,203,229,210,255,255,39,
+63,249,9,102,103,103,77,125,127,107,107,43,188,94,175,126,35,202,55,155,
+60,249,112,185,92,184,235,174,187,170,106,27,29,91,42,149,210,131,73,74,
+93,43,81,148,233,102,211,52,13,231,206,157,195,155,111,190,89,119,31,22,
+215,159,232,89,92,151,19,173,77,234,191,163,163,163,166,246,249,197,98,
+49,221,138,207,231,243,72,36,18,122,248,178,216,102,35,235,132,162,204,
+196,1,222,98,177,224,242,229,203,248,241,143,127,108,106,160,161,173,28,
+3,3,3,134,117,207,68,203,78,252,30,58,54,113,112,163,13,236,102,69,165,
+84,63,149,69,77,92,199,20,93,137,181,124,159,40,244,228,34,149,69,172,145,
+201,160,19,137,68,81,52,159,104,29,139,150,144,104,41,201,30,26,234,95,
+205,234,83,242,121,167,160,44,113,66,49,59,59,139,151,94,122,201,84,10,
+54,234,83,45,45,45,155,214,190,154,181,45,195,54,62,62,254,205,102,137,
+88,71,71,199,166,197,87,163,103,106,44,157,76,154,217,137,97,235,52,59,
+176,90,173,8,135,195,152,158,158,174,56,43,210,52,13,201,100,82,55,233,
+91,90,90,244,69,70,113,189,134,78,46,69,241,80,244,83,161,80,192,220,220,
+28,62,252,240,67,211,69,230,252,126,63,186,187,187,139,102,32,180,185,143,
+6,91,154,193,82,7,234,235,235,195,236,236,172,169,89,94,46,151,195,218,
+218,154,30,122,75,174,215,76,38,3,77,211,244,142,39,230,37,164,117,12,151,
+203,165,207,208,206,159,63,143,247,222,123,207,116,132,144,203,229,194,
+232,232,104,209,226,58,181,75,81,20,61,66,83,12,111,182,88,44,104,109,109,
+69,54,155,197,242,242,178,169,182,173,174,174,66,211,52,120,189,94,221,
+13,75,238,35,187,221,94,116,173,100,107,108,126,126,30,111,190,249,102,
+217,239,10,4,2,21,203,170,80,112,77,38,147,65,58,157,70,38,147,65,60,30,
+71,38,147,209,103,182,22,139,69,183,6,228,4,168,93,93,93,152,153,153,169,
+184,57,59,159,207,35,30,143,235,233,197,232,251,196,217,59,173,15,138,81,
+120,212,143,172,86,43,50,153,12,22,22,22,240,246,219,111,227,250,245,235,
+166,93,108,157,157,157,56,116,232,16,66,161,16,98,177,152,222,30,81,168,
+232,158,19,215,66,50,153,140,126,221,157,78,167,110,157,93,186,116,169,
+226,32,103,116,94,215,215,215,145,74,165,244,32,128,108,54,91,52,0,82,218,
+171,122,190,47,145,72,32,149,74,33,30,143,35,22,139,97,125,125,29,145,72,
+4,235,235,235,88,88,88,64,127,127,127,145,251,140,132,147,206,187,232,106,
+183,90,173,184,124,249,114,197,123,53,157,78,195,235,245,194,229,114,233,
+247,103,42,149,66,54,155,197,210,210,18,98,177,24,54,54,54,144,74,165,224,
+245,122,245,243,47,138,51,89,217,205,234,83,244,217,226,189,100,183,219,
+245,99,60,115,230,140,30,164,102,182,79,181,183,183,195,233,116,234,98,
+152,78,167,245,207,110,6,150,39,158,120,162,105,9,208,70,70,70,54,249,121,
+141,158,233,36,146,232,80,71,81,85,85,159,145,187,221,110,253,166,181,219,
+237,152,158,158,198,11,47,188,80,181,107,168,189,189,29,126,191,127,147,
+27,130,6,70,218,200,55,63,63,111,122,31,7,17,12,6,209,219,219,171,227,53,
+9,9,0,0,32,0,73,68,65,84,207,238,200,122,163,207,119,185,92,122,39,113,
+187,221,69,46,175,72,36,130,231,158,123,174,166,197,229,214,214,86,248,
+253,254,162,45,9,70,51,159,100,50,137,165,165,37,83,129,26,34,118,187,29,
+163,163,163,240,249,124,186,101,44,186,67,28,14,135,62,216,81,155,60,30,
+143,62,9,177,219,237,248,247,127,255,247,170,191,55,24,12,194,235,245,26,
+150,99,160,53,6,138,128,186,126,253,122,69,171,191,179,179,19,95,248,194,
+23,240,221,239,126,183,230,62,221,222,222,142,238,238,110,4,131,65,4,2,
+129,162,107,72,130,166,170,42,102,103,103,241,218,107,175,85,245,217,46,
+151,11,193,96,80,207,50,110,52,115,165,76,41,228,22,95,92,92,172,186,242,
+237,129,3,7,48,56,56,136,96,48,8,77,211,112,245,234,213,77,131,12,93,79,
+154,104,157,57,115,166,234,235,87,45,20,164,229,112,56,112,230,204,153,
+166,187,159,40,39,233,225,195,135,139,218,77,109,39,119,152,211,233,132,
+213,106,213,247,201,61,247,220,115,166,3,131,220,110,183,110,205,138,227,
+9,141,69,78,167,19,189,189,189,69,247,16,173,183,139,34,186,27,250,84,40,
+20,210,173,101,178,54,105,178,216,44,11,172,169,49,142,149,54,5,202,123,
+195,104,35,44,185,160,40,234,74,204,243,69,179,129,225,225,97,100,50,153,
+170,46,104,54,155,197,194,194,130,169,68,181,213,66,23,80,60,126,249,28,
+136,179,39,185,61,161,80,8,15,63,252,112,213,34,70,179,165,70,36,170,45,
+37,94,183,223,126,187,62,243,23,221,31,162,171,73,246,237,139,110,11,171,
+213,138,135,31,126,24,255,244,79,255,84,85,219,98,177,152,30,26,92,47,46,
+151,11,191,249,155,191,217,144,107,79,110,196,114,145,182,180,229,163,154,
+254,153,78,167,155,214,63,137,193,193,65,12,15,15,195,235,245,110,202,166,
+32,30,191,184,151,140,174,125,179,17,215,217,182,18,57,233,128,209,56,38,
+238,19,171,38,56,193,204,82,138,216,143,196,253,125,20,33,188,211,251,212,
+192,192,0,194,225,112,81,250,168,74,231,116,199,175,129,201,55,132,153,
+19,93,228,219,252,196,213,38,238,89,16,23,57,243,249,60,70,70,70,112,239,
+189,247,98,59,177,219,237,24,28,28,68,127,127,191,62,219,18,103,179,52,
+192,27,165,99,145,35,247,72,196,204,100,171,223,10,220,110,55,38,38,38,
+116,215,170,236,207,151,247,147,200,237,146,163,18,183,179,109,247,223,
+127,127,145,187,175,17,147,51,106,183,81,66,83,171,213,138,193,193,65,156,
+62,125,122,71,164,101,34,43,250,208,161,67,250,245,52,154,101,147,120,137,
+22,24,185,241,154,13,69,154,110,149,128,153,185,46,226,100,148,2,176,154,
+85,112,82,222,139,181,27,250,212,177,99,199,208,213,213,85,115,21,247,122,
+105,234,26,152,207,231,211,197,203,104,45,76,254,89,92,164,22,173,21,57,
+125,19,221,76,154,166,161,163,163,3,93,93,93,184,122,245,234,150,151,81,
+241,249,124,56,118,236,24,130,193,96,81,103,163,77,189,212,62,113,95,27,
+249,184,197,12,238,186,63,247,147,117,171,145,145,17,172,174,174,154,138,
+36,107,22,29,29,29,152,152,152,208,211,121,201,33,229,100,73,137,109,19,
+7,57,26,132,196,245,161,237,104,155,211,233,196,67,15,61,132,35,71,142,
+32,159,207,99,99,99,3,231,207,159,175,235,243,104,207,160,88,134,132,54,
+115,203,55,120,32,16,192,193,131,7,245,53,143,237,192,231,243,225,228,201,
+147,56,112,224,128,238,130,167,117,82,77,211,176,182,182,86,228,238,166,
+89,63,185,188,21,69,193,245,235,215,155,154,81,129,188,42,212,111,170,173,
+28,80,235,4,173,80,40,32,24,12,110,202,156,78,215,213,225,112,20,89,65,
+180,196,49,57,57,89,223,192,43,184,217,105,189,151,214,188,196,126,180,
+147,251,212,232,232,40,90,91,91,13,131,106,104,157,214,40,219,254,174,17,
+48,69,81,16,8,4,116,241,34,171,170,148,128,101,50,25,125,6,40,214,138,146,
+7,122,58,65,52,51,116,187,221,56,126,252,248,150,13,140,148,230,101,108,
+108,76,15,39,46,229,146,160,192,6,90,160,165,65,189,212,14,117,122,189,
+191,191,31,7,14,28,192,194,194,66,77,251,85,234,185,102,227,227,227,24,
+30,30,214,93,129,162,128,209,14,127,186,209,41,17,168,88,78,133,38,35,52,
+168,203,65,14,253,253,253,232,232,232,192,252,252,124,83,39,29,61,61,61,
+120,248,225,135,209,211,211,163,139,111,34,145,192,197,139,23,235,114,69,
+82,134,1,26,0,197,65,71,190,145,41,165,213,208,208,16,28,14,7,34,145,200,
+150,77,180,20,69,193,241,227,199,241,169,79,125,10,126,191,191,40,186,151,
+196,152,178,187,136,147,14,10,108,18,183,46,80,68,111,51,25,24,24,208,83,
+201,109,181,128,137,1,80,180,100,65,233,213,196,52,105,138,162,160,165,
+165,5,209,104,212,116,96,87,37,1,163,117,55,121,146,91,74,196,182,187,79,
+141,140,140,224,196,137,19,250,62,55,217,235,66,30,23,242,170,53,211,162,
+222,82,1,19,45,146,82,214,152,24,117,40,250,128,141,144,163,24,251,251,
+251,209,217,217,137,141,141,141,166,204,76,20,69,193,240,240,48,78,158,
+60,137,182,182,54,253,194,201,174,52,81,92,197,182,203,229,43,232,230,48,
+106,151,162,40,112,187,221,24,25,25,129,207,231,67,54,155,109,234,108,203,
+235,245,226,232,209,163,24,31,31,215,131,80,68,247,5,29,55,85,244,21,219,
+70,215,147,196,138,30,70,34,70,109,243,249,124,56,124,248,48,108,54,27,
+98,177,88,195,111,192,19,39,78,224,244,233,211,122,223,160,99,77,36,18,
+184,116,233,82,221,2,70,17,113,212,78,113,208,145,45,81,154,136,117,118,
+118,226,240,225,195,40,20,10,136,68,34,77,29,100,142,30,61,138,123,238,
+185,7,225,112,184,104,34,40,186,184,173,86,107,81,50,86,81,192,196,253,
+146,46,151,11,215,174,93,107,186,128,81,208,23,5,150,108,133,128,217,108,
+54,248,253,254,162,118,139,217,105,232,89,76,81,70,81,178,115,115,115,53,
+247,91,18,48,85,85,225,245,122,245,239,48,242,102,236,148,62,117,228,200,
+17,76,76,76,232,201,202,229,106,6,91,109,125,1,77,14,226,48,179,31,69,62,
+73,169,84,74,207,120,65,65,30,165,214,208,68,241,35,115,191,187,187,27,
+157,157,157,136,197,98,184,116,233,18,174,93,187,86,151,5,163,40,138,158,
+1,36,28,14,111,154,113,144,104,137,155,147,197,196,180,162,11,84,204,221,
+39,38,50,22,163,46,211,233,180,30,8,66,55,208,161,67,135,48,52,52,212,176,
+54,201,179,222,190,190,62,4,2,1,125,81,159,50,30,104,154,166,39,31,150,
+173,48,185,109,70,129,42,52,224,19,114,219,156,78,39,198,199,199,113,236,
+216,49,92,187,118,13,147,147,147,117,5,109,40,138,130,222,222,94,140,141,
+141,193,231,243,21,165,244,33,33,171,20,66,111,70,232,67,161,80,81,157,
+48,74,120,106,52,25,161,239,182,219,237,186,5,36,182,249,230,205,155,13,
+179,54,130,193,32,70,70,70,208,209,209,81,84,185,64,206,33,40,90,196,148,
+154,76,116,7,111,117,16,133,40,40,162,123,186,217,144,75,85,28,71,228,241,
+134,182,242,80,221,59,154,192,133,195,97,60,242,200,35,248,159,255,249,
+31,83,123,164,140,4,172,173,173,173,104,130,46,6,112,148,99,43,251,84,107,
+107,43,134,135,135,17,14,135,245,104,69,241,33,175,133,211,248,64,153,144,
+154,77,83,195,232,129,91,161,177,70,245,190,140,66,233,197,223,197,168,
+31,49,180,222,40,71,33,205,152,68,55,29,249,148,51,153,12,162,209,40,110,
+222,188,169,87,49,205,102,179,37,205,255,142,142,14,120,189,94,61,124,187,
+187,187,187,104,32,164,77,134,180,121,88,14,48,17,7,120,186,136,98,91,100,
+11,147,214,24,140,178,73,136,25,15,196,14,158,201,100,244,188,139,177,88,
+76,159,25,151,178,60,21,69,209,171,39,123,60,30,120,189,94,116,118,118,
+194,235,245,234,25,242,229,182,201,1,27,114,198,120,49,0,128,218,39,23,
+148,52,219,54,106,151,195,225,192,202,202,10,98,177,24,34,145,136,126,141,
+68,55,151,44,38,30,143,7,161,80,8,30,143,7,7,14,28,40,185,61,130,126,22,
+7,43,218,243,66,80,116,161,88,95,75,204,52,34,110,54,21,173,21,250,108,
+177,189,116,14,204,92,207,92,46,135,197,197,197,162,117,166,82,109,38,161,
+162,45,6,86,171,21,157,157,157,240,249,124,155,146,60,139,247,135,108,29,
+187,92,46,228,243,121,221,210,161,243,70,238,195,114,89,78,40,55,162,232,
+33,161,9,164,44,64,180,111,140,206,173,152,46,201,40,51,188,184,237,68,
+94,131,18,7,251,114,223,39,223,175,98,201,24,121,192,45,55,225,164,189,
+147,98,104,187,184,149,135,246,136,173,173,173,225,194,133,11,122,162,4,
+121,187,129,221,110,135,207,231,211,63,131,170,74,136,225,230,212,95,228,
+125,175,242,94,188,102,245,169,214,214,86,61,81,129,197,98,209,199,65,121,
+124,16,211,226,149,26,251,182,74,188,182,68,192,134,134,134,138,44,144,
+82,133,43,141,126,22,75,68,200,34,38,238,55,160,11,74,23,83,116,69,202,
+150,90,57,196,205,126,244,187,88,158,91,28,204,232,162,149,26,224,141,46,
+98,53,3,189,232,42,16,253,239,213,182,201,168,141,212,22,81,136,68,225,
+162,182,81,251,196,182,149,234,156,165,218,38,182,75,110,155,152,103,173,
+154,182,149,186,78,34,178,53,36,138,151,188,110,73,175,211,77,42,150,223,
+49,154,105,138,235,128,242,160,107,212,110,49,155,68,169,65,191,84,155,
+75,89,67,116,14,68,17,54,202,248,64,174,83,90,207,33,241,162,123,109,110,
+110,110,211,160,93,234,186,137,253,81,20,152,82,107,218,114,161,83,49,219,
+186,92,170,200,72,196,196,36,190,242,58,106,185,239,19,251,182,145,199,
+68,118,249,203,169,149,232,24,228,115,65,107,159,162,136,201,231,128,178,
+181,136,247,20,109,98,174,69,64,203,77,116,107,237,83,102,238,171,82,227,
+131,60,54,200,99,223,86,138,87,211,93,136,70,38,121,53,164,82,169,162,178,
+25,226,51,9,153,152,146,133,76,106,241,127,197,25,91,37,228,20,86,242,5,
+20,247,63,137,207,102,196,139,142,73,20,101,241,51,228,125,99,98,135,22,
+43,232,86,219,38,185,131,82,251,196,180,86,165,218,38,14,134,149,58,167,
+220,54,163,153,158,220,54,177,126,85,53,109,163,107,98,52,16,26,133,134,
+59,28,14,125,63,14,213,7,19,69,77,156,193,147,235,154,174,105,37,241,18,
+215,115,69,215,143,56,48,203,231,82,116,91,137,231,201,168,205,165,206,
+131,152,72,89,254,124,250,78,113,253,145,10,28,138,253,138,218,106,228,
+1,17,251,157,44,24,84,64,81,44,211,35,126,142,236,2,148,75,189,136,85,188,
+141,4,76,190,23,196,190,97,230,251,196,49,65,172,52,44,138,150,24,117,104,
+36,158,114,31,166,243,96,228,18,223,216,216,216,100,5,137,2,32,166,2,147,
+171,32,203,231,87,108,151,124,15,53,170,79,153,25,255,228,241,65,238,223,
+70,99,223,86,139,215,150,8,88,50,153,68,32,16,40,234,120,229,6,185,106,
+6,70,90,51,162,217,9,253,13,205,78,228,226,127,229,102,37,114,245,82,113,
+86,110,148,69,218,104,128,167,191,47,119,17,75,181,135,114,8,210,236,78,
+28,236,197,162,114,213,180,201,232,166,22,103,195,84,106,198,168,109,98,
+214,106,179,157,211,108,219,196,193,137,210,124,81,219,228,1,197,168,109,
+242,172,155,218,34,15,134,244,89,98,82,83,186,25,69,81,147,7,66,177,166,
+150,248,160,191,17,55,216,151,59,247,244,55,242,26,104,53,109,54,26,128,
+196,235,68,199,35,22,48,164,18,62,244,29,100,125,137,22,176,162,40,136,
+68,34,250,53,171,212,103,196,246,208,96,41,246,69,163,137,131,124,127,139,
+86,10,93,55,163,243,39,15,212,226,179,145,11,219,232,251,196,137,167,152,
+55,82,220,124,47,6,102,80,255,206,231,243,37,39,153,178,215,68,156,92,211,
+164,72,28,55,72,0,140,38,66,114,145,75,249,251,75,181,171,17,125,170,154,
+241,65,156,36,81,95,171,118,114,187,235,5,172,218,133,120,241,130,137,129,
+29,226,162,57,221,56,178,160,136,245,109,196,1,171,92,52,163,88,50,91,204,
+22,79,162,38,15,238,226,115,45,23,80,108,143,209,141,46,183,133,206,65,
+53,109,42,53,59,165,255,165,181,137,82,109,51,186,185,27,209,54,177,77,
+233,116,90,111,155,56,16,138,21,93,203,181,69,92,75,17,7,123,121,192,17,
+203,118,208,57,164,243,105,180,96,46,39,179,21,43,230,138,226,101,52,107,
+54,154,152,153,105,179,153,235,89,42,184,129,188,13,162,85,70,81,162,226,
+108,223,110,183,235,223,47,222,155,162,136,137,199,47,238,199,36,177,177,
+90,173,134,125,177,154,227,22,239,171,82,237,145,75,173,136,169,222,204,
+126,151,248,61,242,230,251,114,147,179,114,158,18,35,143,130,40,30,242,
+68,72,188,199,140,172,101,250,126,185,253,242,18,202,86,245,41,121,124,
+16,219,32,79,110,183,91,188,182,68,192,106,201,74,95,105,96,20,93,71,242,
+197,21,103,133,226,76,68,30,164,203,205,66,68,55,131,56,27,151,133,75,188,
+232,213,94,64,163,153,111,41,33,171,167,77,70,51,172,237,108,155,216,38,
+249,89,180,44,105,237,194,204,181,34,225,18,93,84,70,125,80,28,20,43,173,
+45,201,231,198,72,188,196,89,190,56,224,84,211,102,81,32,229,153,57,205,
+200,75,181,157,214,191,108,54,155,238,137,160,191,151,93,85,132,232,2,19,
+239,205,82,214,179,92,90,190,214,254,71,237,20,215,235,42,245,33,177,223,
+153,253,63,35,241,146,39,102,178,120,153,241,38,200,238,126,35,241,48,234,
+71,70,223,79,110,55,163,73,86,185,201,96,35,250,84,45,227,131,124,238,235,
+29,31,118,149,128,209,76,143,22,36,141,220,134,213,186,19,105,253,131,74,
+130,136,131,140,209,77,38,206,224,170,157,33,202,179,241,82,139,212,245,
+136,123,169,78,90,79,155,118,67,219,140,218,88,46,112,193,104,134,45,10,
+150,220,30,51,51,251,74,55,180,232,254,172,52,227,52,106,115,169,126,77,
+109,174,36,168,229,38,56,36,90,180,86,69,235,69,116,220,226,198,121,217,
+90,52,26,184,141,68,140,2,165,100,55,106,169,65,183,26,203,177,154,201,
+111,53,131,164,60,224,26,245,115,241,124,87,187,174,43,223,147,229,132,
+220,200,10,164,44,40,229,214,203,183,170,79,109,215,248,176,171,4,172,158,
+64,142,74,23,148,58,130,56,51,145,47,102,53,150,160,120,1,141,22,113,155,
+113,241,42,13,246,245,182,105,39,183,205,72,92,204,14,120,226,13,102,182,
+150,147,232,66,51,35,96,242,249,169,102,45,176,146,0,149,107,179,211,233,
+44,91,13,33,151,203,193,233,116,234,235,93,116,156,114,169,27,179,98,104,
+198,5,44,15,212,141,242,174,52,211,147,83,170,159,155,181,30,202,89,166,
+70,162,97,244,221,180,6,87,75,95,106,100,159,218,137,227,195,174,16,176,
+120,60,94,85,32,135,209,58,152,209,133,162,129,81,140,134,18,47,170,217,
+193,170,84,103,144,179,133,52,251,226,149,26,236,235,105,211,78,110,155,
+145,203,212,232,231,90,218,83,106,194,100,86,232,140,62,79,118,107,153,
+29,112,171,109,51,213,163,43,215,118,163,212,100,98,254,77,122,79,222,104,
+78,63,151,75,185,102,118,176,220,13,148,186,142,181,46,95,24,157,139,82,
+22,88,169,73,80,61,174,249,90,251,212,78,31,31,118,180,128,85,155,145,163,
+150,139,106,212,201,170,189,233,74,13,130,91,57,211,44,215,81,235,25,72,
+118,90,219,234,29,32,43,181,71,190,225,140,246,169,149,163,210,231,53,179,
+205,149,34,198,72,160,232,127,105,179,111,53,245,235,42,221,147,114,31,
+172,101,16,172,230,124,215,107,93,149,250,190,70,93,199,90,250,109,35,196,
+179,217,247,209,78,27,31,118,164,128,137,39,181,222,117,176,70,223,116,
+205,26,180,154,37,102,181,178,211,218,38,223,24,213,182,173,218,246,236,
+132,27,209,108,155,43,149,46,161,226,135,226,228,77,182,176,202,157,179,
+106,239,179,74,231,206,104,114,208,204,126,182,213,223,87,235,253,184,21,
+247,92,189,247,209,78,30,251,118,148,128,37,147,73,120,60,158,77,130,101,
+86,184,42,253,157,219,237,222,20,85,181,215,216,139,109,218,15,109,171,
+118,240,169,116,46,196,96,13,51,131,146,44,104,141,78,202,187,157,30,10,
+238,179,251,251,62,218,178,42,100,241,120,188,42,119,66,51,93,15,12,179,
+151,168,246,190,218,206,58,115,12,179,43,5,204,204,58,24,139,22,195,52,
+95,204,154,185,38,205,48,123,82,192,128,159,187,46,106,21,170,74,255,87,
+207,26,17,195,108,23,110,183,219,116,223,173,247,222,105,118,77,47,134,
+217,179,2,38,187,17,75,249,232,217,34,99,152,250,38,117,181,132,207,51,
+12,11,88,25,86,86,86,154,54,195,100,152,221,106,125,53,91,204,170,189,7,
+25,134,5,172,4,70,229,16,26,121,147,178,27,145,217,111,214,150,217,255,
+99,247,33,195,2,86,39,145,72,132,221,136,12,211,128,201,22,187,15,25,22,
+176,45,166,17,110,68,182,194,152,253,38,94,245,222,19,102,239,61,134,97,
+1,171,64,181,110,68,182,194,24,182,188,106,187,39,216,125,200,176,128,53,
+152,106,221,136,219,53,72,48,76,179,161,50,67,141,234,251,236,62,100,88,
+192,154,204,86,184,17,25,102,167,91,95,141,242,64,176,251,144,97,1,219,
+98,104,70,40,207,24,27,25,204,193,86,24,179,219,197,171,154,123,161,212,
+189,196,214,23,195,2,214,96,100,55,34,91,97,204,126,65,116,27,54,251,30,
+80,20,5,145,72,132,79,58,195,2,214,72,82,169,84,201,96,14,182,194,152,189,
+106,125,149,18,45,179,37,78,204,222,27,98,233,148,253,152,233,159,97,1,
+219,114,43,204,232,230,100,43,140,217,139,226,101,166,223,214,210,247,229,
+251,137,173,47,134,5,172,73,212,178,176,204,86,24,179,155,197,171,90,17,
+171,167,239,231,114,57,14,222,96,88,192,154,9,37,248,45,23,204,193,86,24,
+179,155,145,197,75,236,239,165,92,135,213,244,121,163,123,71,81,20,222,
+251,197,176,128,53,155,107,215,174,177,21,198,236,105,235,171,148,5,70,
+226,101,182,34,249,86,220,91,12,195,2,86,131,21,86,106,38,217,72,43,140,
+69,140,17,201,102,179,69,143,102,136,151,162,40,240,120,60,69,207,245,138,
+85,37,235,75,188,167,24,134,5,172,201,152,9,169,111,196,140,148,97,193,
+42,39,88,141,18,51,51,226,101,54,234,176,150,190,206,193,27,12,11,216,22,
+146,74,165,54,85,107,102,43,140,105,180,104,17,133,66,161,228,67,254,191,
+90,17,221,133,36,94,114,8,125,46,151,219,36,100,141,176,190,146,201,36,
+135,206,51,44,96,91,201,194,194,66,67,172,48,182,204,24,35,1,146,69,170,
+148,120,25,9,89,181,214,151,40,92,244,16,215,189,140,132,171,81,253,89,
+81,20,44,44,44,112,7,96,88,192,118,163,21,102,118,144,97,246,190,112,149,
+178,178,178,217,108,69,43,172,22,17,147,93,135,244,16,41,39,96,213,76,216,
+216,250,98,152,29,36,96,91,109,133,177,136,237,61,209,146,133,171,156,136,
+25,62,84,21,78,183,23,131,163,167,17,232,158,40,18,49,179,253,73,20,174,
+74,226,37,138,24,91,95,12,179,203,5,44,149,74,213,20,145,88,171,85,198,
+34,182,119,172,45,35,177,34,75,75,124,54,178,190,84,85,69,107,168,27,227,
+247,254,26,30,249,218,255,131,226,63,129,249,217,243,69,150,88,57,43,204,
+140,120,85,107,125,149,235,227,229,34,15,217,250,98,246,19,246,157,118,
+64,215,174,93,195,216,216,88,201,53,130,106,114,198,213,226,166,97,118,
+135,112,137,162,37,255,108,244,108,228,26,180,90,173,232,62,56,130,145,
+219,31,194,208,232,105,168,170,7,139,215,175,224,191,254,249,255,98,168,
+47,128,66,174,0,155,205,102,106,18,36,175,123,25,145,76,38,77,91,95,213,
+120,28,232,117,222,247,197,176,128,237,0,34,145,8,66,161,144,126,163,27,
+137,145,252,154,153,191,41,53,0,241,172,117,239,9,151,145,104,209,179,197,
+106,197,240,232,61,56,54,241,16,122,135,239,68,46,235,64,98,109,3,217,204,
+50,206,254,244,63,225,82,10,200,102,18,176,89,173,250,255,217,108,54,100,
+179,89,56,28,14,67,241,242,120,60,8,4,2,21,197,203,76,212,161,25,15,131,
+156,117,131,195,230,25,22,176,29,194,226,226,34,2,129,64,145,8,201,207,
+102,69,204,12,44,98,187,79,184,42,89,91,70,214,151,226,112,97,228,246,95,
+196,216,167,191,136,80,215,49,164,83,64,60,182,129,66,126,29,154,166,97,
+125,109,5,151,62,124,13,7,58,90,145,207,196,129,79,172,175,114,86,152,25,
+241,202,229,114,37,173,175,106,196,171,148,235,48,151,203,97,113,113,145,
+59,10,195,2,182,147,172,176,238,238,238,186,221,128,102,69,141,69,108,231,
+138,150,25,193,146,197,139,94,83,85,13,94,127,43,78,220,245,75,56,126,231,
+67,240,180,244,32,157,44,32,22,77,64,21,172,56,77,83,49,51,245,14,114,201,
+8,50,41,175,110,125,149,235,47,102,196,139,172,47,35,11,172,17,17,181,28,
+184,193,176,128,237,64,86,86,86,16,8,4,116,23,73,61,86,24,175,135,237,47,
+225,42,20,10,208,0,180,119,30,192,248,47,252,10,142,142,63,0,171,61,128,
+212,70,26,171,43,107,208,52,181,232,59,52,77,69,38,189,129,201,115,175,
+160,167,167,11,200,175,153,22,175,114,107,94,178,120,149,179,180,106,181,
+190,146,201,36,103,156,103,88,192,118,34,11,11,11,24,30,30,174,24,208,193,
+235,97,123,75,184,170,93,223,18,31,86,155,29,189,67,163,184,243,244,87,
+209,119,232,46,168,170,11,169,100,18,185,92,20,208,74,127,255,181,217,15,
+17,91,158,133,59,228,2,160,149,116,27,202,27,149,201,213,93,78,192,100,
+215,97,173,226,101,244,63,115,115,115,220,121,24,22,176,157,8,133,213,211,
+32,81,42,160,163,145,176,136,237,60,225,42,231,34,164,159,21,167,27,67,
+99,19,184,227,212,111,160,163,119,20,217,140,13,137,181,4,10,249,202,37,
+69,114,217,52,46,188,247,2,14,244,246,34,151,188,89,82,188,68,143,64,32,
+16,168,40,94,241,120,188,100,240,70,45,200,129,27,28,54,207,176,128,237,
+112,174,93,187,166,187,104,182,202,149,200,34,182,117,162,85,202,202,42,
+101,117,201,226,229,11,180,227,208,137,123,49,254,153,199,208,18,28,64,
+38,165,97,53,186,94,180,190,85,14,77,83,177,180,48,139,133,107,23,209,17,
+180,195,2,227,160,13,209,242,50,35,94,205,118,29,230,114,57,14,155,103,
+88,192,118,195,65,46,44,44,160,191,191,127,203,92,137,44,98,219,47,92,229,
+196,75,85,85,180,117,30,192,241,59,30,196,137,187,190,4,197,25,66,58,153,
+53,92,223,170,68,161,144,199,197,179,47,34,20,106,67,46,117,179,40,76,222,
+102,179,193,102,179,193,231,243,85,37,94,165,162,14,217,117,200,48,251,
+80,192,214,214,214,202,186,18,89,196,118,143,112,213,179,190,165,105,26,
+122,135,70,113,219,221,95,194,240,241,123,1,75,11,82,201,52,146,27,49,104,
+154,86,245,113,105,154,138,88,228,58,102,166,222,65,184,213,6,124,34,88,
+16,172,48,178,188,236,118,187,41,241,2,140,93,135,245,136,151,145,235,112,
+109,109,141,59,22,195,2,182,91,14,180,156,43,177,22,88,196,118,134,112,
+85,18,47,85,85,97,177,88,49,52,122,55,110,255,236,175,160,231,224,237,200,
+231,157,216,216,88,71,62,23,173,235,248,52,85,197,71,231,223,128,98,43,
+32,157,76,232,66,65,226,229,114,185,96,183,219,97,183,219,209,209,209,81,
+181,120,85,178,164,204,246,83,241,153,93,135,12,179,11,5,12,0,230,230,230,
+244,168,196,70,108,112,102,17,107,174,104,149,178,178,74,89,93,197,251,
+183,84,40,78,23,78,220,241,0,110,187,231,49,4,218,7,145,77,91,176,22,223,
+64,33,191,81,247,113,106,154,138,196,90,4,83,31,190,10,191,207,137,124,
+38,173,187,12,93,46,23,28,14,7,92,46,23,90,90,90,224,118,187,77,139,87,
+60,30,175,104,121,153,181,190,140,158,167,167,167,185,147,49,204,110,20,
+176,84,42,165,167,153,106,196,122,88,53,176,136,53,78,184,202,175,111,105,
+240,6,130,24,255,204,163,24,251,212,47,193,229,233,68,42,149,71,60,186,
+14,85,45,52,236,120,53,77,195,204,165,119,144,75,175,34,171,101,161,40,
+10,108,54,27,156,78,39,108,54,27,20,69,129,219,237,134,219,237,134,223,
+239,175,74,188,204,90,85,229,196,203,232,127,34,145,8,247,65,134,217,173,
+2,6,220,74,51,37,86,184,221,170,245,48,22,177,230,10,151,6,32,220,61,136,
+137,83,191,130,195,99,191,8,88,253,72,39,211,88,141,174,214,180,190,85,
+201,250,74,167,18,152,60,247,50,2,126,47,242,233,12,0,192,233,116,234,46,
+67,151,203,5,191,223,175,91,96,149,196,171,209,65,27,70,27,150,57,93,20,
+195,236,114,1,3,128,153,153,25,140,140,140,20,9,144,89,33,98,17,107,188,
+112,153,13,204,48,122,205,102,87,208,127,228,4,78,222,243,24,6,142,254,
+2,242,57,231,45,49,200,70,155,122,252,215,102,62,196,234,202,53,248,221,
+121,216,108,54,120,60,30,221,2,243,249,124,104,107,107,67,75,75,139,41,
+203,139,66,230,235,17,47,163,215,197,231,169,169,41,30,173,24,102,47,8,
+24,80,28,90,95,205,122,24,139,88,243,132,171,26,241,114,186,189,56,122,
+226,23,112,226,174,47,161,163,119,20,153,180,21,137,248,6,242,185,141,230,
+183,33,147,194,197,179,47,33,212,222,134,236,198,34,220,110,159,30,46,79,
+150,23,89,93,229,172,47,217,109,88,141,120,153,17,45,122,230,144,121,134,
+217,99,2,182,182,182,102,184,30,198,34,214,92,209,42,101,101,149,19,46,
+49,162,208,235,15,226,196,221,15,227,216,196,231,225,15,14,34,157,44,84,
+181,241,184,94,110,109,92,158,198,194,181,139,104,245,170,112,187,221,176,
+219,237,240,122,189,176,219,237,8,6,131,104,105,105,129,221,110,175,104,
+121,213,35,94,229,220,133,226,235,145,72,132,67,230,25,102,175,9,24,240,
+243,245,48,10,175,47,39,72,205,18,49,0,123,86,200,26,25,152,209,209,59,
+128,219,238,121,20,135,70,63,7,135,187,3,169,100,166,166,141,199,245,82,
+40,228,113,225,236,75,8,133,218,128,108,4,78,167,19,94,175,23,46,151,11,
+173,173,173,112,185,92,101,255,63,151,203,213,181,230,85,74,188,228,247,
+21,69,225,117,47,134,217,203,2,6,84,94,15,107,182,136,237,69,107,172,81,
+27,143,97,177,162,103,240,24,110,255,236,175,225,224,225,187,0,139,31,169,
+100,18,169,104,172,225,129,25,102,173,175,232,242,60,174,124,244,14,66,
+173,10,236,14,135,46,96,62,159,79,223,180,44,79,80,8,90,235,50,91,26,165,
+26,241,50,218,239,53,51,51,195,35,20,195,236,101,1,3,128,169,169,41,22,
+177,45,18,46,83,27,143,109,118,28,186,237,110,220,121,234,215,17,234,25,
+69,62,231,64,50,89,255,198,227,122,81,85,21,83,31,188,138,22,159,7,90,62,
+14,187,219,13,167,211,169,239,247,34,183,161,145,251,176,92,98,222,70,139,
+23,245,105,134,97,246,129,128,1,229,131,58,234,17,49,209,69,100,70,196,
+128,221,229,82,108,228,198,99,79,75,43,14,223,118,47,78,220,253,101,4,218,
+134,144,203,88,144,136,223,170,120,188,221,104,154,138,68,124,25,151,47,
+190,129,160,15,176,91,92,240,120,60,240,249,124,240,249,124,37,175,165,
+108,117,137,253,193,236,38,229,106,196,139,131,54,24,102,31,10,216,218,
+218,26,110,220,184,129,158,158,158,134,138,216,94,181,198,26,182,127,75,
+211,208,26,238,193,216,167,31,194,232,29,143,192,225,234,64,58,157,199,
+90,172,177,27,143,235,23,48,13,51,83,239,0,106,26,86,77,131,211,229,214,
+93,135,148,235,144,158,73,164,140,220,133,205,22,175,133,133,5,14,218,96,
+152,253,38,96,0,16,141,70,161,40,10,194,225,48,139,152,9,225,170,127,125,
+235,56,142,223,249,32,70,110,123,80,79,172,155,138,173,110,203,250,86,37,
+235,43,149,92,195,228,251,47,163,171,51,4,228,86,245,192,13,217,93,152,
+207,223,218,23,86,42,80,163,153,226,21,137,68,184,186,50,195,236,87,1,3,
+128,155,55,111,66,81,20,180,182,182,238,8,17,3,118,134,75,177,17,235,91,
+183,54,30,59,48,60,118,39,78,220,245,40,250,15,223,141,92,214,129,141,141,
+141,109,95,223,170,196,220,244,7,216,136,47,162,213,229,134,239,19,241,
+34,241,16,173,174,84,42,5,171,213,106,104,117,53,83,188,226,241,56,71,28,
+50,204,126,23,48,0,152,159,159,7,0,93,196,140,4,104,171,68,108,187,133,
+204,72,184,106,77,172,59,118,247,253,56,126,199,67,8,119,31,71,38,99,67,
+60,182,190,35,214,183,42,158,131,76,10,23,223,127,9,125,125,189,176,169,
+113,88,44,22,88,44,22,216,237,118,228,243,121,36,18,137,79,44,53,13,86,
+171,21,233,116,122,147,112,53,90,188,196,223,227,241,56,103,152,103,24,
+22,176,98,17,179,219,237,250,2,125,37,225,170,86,196,140,6,56,51,66,182,
+21,34,214,200,194,145,222,64,27,78,222,243,69,28,29,255,60,252,193,131,
+72,38,243,88,141,109,108,217,198,227,122,209,52,21,55,111,124,140,232,205,
+25,120,187,189,122,174,67,0,88,95,95,135,203,229,130,166,105,208,52,13,
+249,124,94,47,104,105,182,28,74,173,226,37,238,245,98,241,98,24,22,176,
+77,92,185,114,5,3,3,3,77,17,177,157,104,141,53,66,184,84,85,133,166,1,109,
+157,125,184,253,179,143,225,208,232,47,66,113,133,144,218,72,35,182,18,
+223,242,141,199,245,146,207,103,113,225,204,139,104,13,120,161,230,51,128,
+253,214,70,229,116,58,13,151,203,133,84,42,5,77,211,138,220,136,102,172,
+174,70,137,23,239,245,98,24,22,48,211,34,70,131,84,57,17,43,53,3,111,148,
+75,177,209,66,214,136,192,12,85,85,97,177,218,208,51,112,12,119,124,238,
+55,209,119,232,78,104,170,7,169,100,18,201,100,108,199,5,102,152,181,190,
+98,203,215,49,247,241,25,116,135,93,176,88,44,40,20,10,200,231,243,176,
+219,237,72,165,82,112,58,157,250,181,37,235,171,146,120,153,121,189,210,
+154,23,139,23,195,176,128,85,37,98,94,175,23,249,124,190,230,34,152,141,
+118,41,214,43,100,181,6,102,136,175,169,170,10,135,203,131,131,71,110,199,
+196,169,175,162,163,231,56,178,89,59,214,215,18,40,228,163,187,250,186,
+171,170,138,169,15,95,67,107,107,11,114,217,85,40,159,156,107,138,52,36,
+183,33,85,96,110,132,213,197,226,197,48,44,96,77,17,177,222,222,94,4,2,
+1,20,10,133,134,139,88,61,214,88,53,66,214,168,196,186,22,139,5,46,95,0,
+35,183,221,139,137,83,191,14,159,191,31,233,148,138,213,216,250,174,89,
+223,170,100,125,37,226,203,248,232,194,27,8,5,172,200,103,52,20,10,5,221,
+85,40,11,23,89,95,205,22,47,14,216,96,24,22,176,154,184,126,253,58,0,192,
+239,247,223,138,172,171,67,196,74,89,92,245,88,99,229,132,172,81,235,91,
+170,170,162,189,171,31,199,238,120,16,99,119,62,2,197,21,70,58,153,221,
+149,235,91,229,5,76,195,244,165,183,97,213,210,72,173,167,160,40,118,253,
+117,155,205,6,155,205,6,187,221,174,139,88,181,194,197,226,197,48,44,96,
+219,34,98,185,92,14,193,96,176,72,160,68,225,145,69,168,148,40,85,178,198,
+26,33,100,241,120,124,147,104,85,178,180,228,223,85,85,133,170,105,232,
+25,56,134,209,59,31,198,209,241,251,161,106,190,93,189,190,85,201,250,74,
+109,196,49,121,238,101,180,181,181,34,179,158,46,18,45,249,58,201,107,95,
+141,176,186,100,241,138,68,34,188,207,139,97,88,192,234,103,105,105,9,249,
+124,30,161,80,8,22,139,197,116,84,98,45,249,18,107,117,43,146,197,229,118,
+187,117,81,74,165,82,213,39,214,181,218,48,52,250,25,220,118,247,163,56,
+48,124,39,242,57,7,214,215,119,254,198,227,122,153,155,249,0,153,141,24,
+148,92,18,118,251,207,173,45,81,200,202,149,78,169,199,234,146,197,107,
+97,97,129,51,108,48,12,11,88,227,136,70,163,72,165,82,232,238,238,214,243,
+224,213,42,98,141,178,198,74,185,9,243,249,60,0,192,106,181,194,106,181,
+162,80,40,32,155,205,150,221,120,108,119,184,48,58,113,63,78,220,253,40,
+66,157,71,144,74,106,88,91,77,238,138,141,199,245,146,205,164,112,225,236,
+75,104,15,250,145,77,38,55,89,95,138,162,232,174,67,35,235,171,81,226,5,
+0,211,211,211,251,182,122,55,195,176,128,53,145,84,42,133,153,153,25,12,
+13,13,193,233,116,110,114,35,150,114,33,150,115,41,86,178,198,140,222,175,
+36,92,162,101,69,175,81,54,9,250,127,42,28,233,11,180,97,252,23,190,140,
+227,19,95,128,219,215,133,84,42,143,216,74,98,71,37,214,109,38,154,166,
+98,225,218,20,162,55,103,208,214,130,162,181,46,187,221,14,167,211,105,
+232,74,172,85,184,100,107,75,156,204,112,73,20,134,97,1,107,58,51,51,51,
+232,239,239,215,215,157,140,214,197,26,101,141,137,3,221,198,198,70,213,
+194,69,150,86,62,159,255,121,126,66,155,29,237,93,253,152,184,247,127,99,
+120,244,52,96,109,65,106,35,141,213,232,222,10,204,48,67,62,159,197,133,
+179,47,161,173,173,21,106,250,38,28,159,20,173,36,43,172,210,53,169,215,
+234,226,48,121,134,97,1,219,114,230,230,230,208,209,209,129,64,32,176,73,
+132,42,185,20,171,181,198,200,226,82,20,5,249,124,94,23,167,82,194,37,186,
+7,233,119,90,223,234,29,30,195,237,247,126,5,7,134,239,68,46,163,236,138,
+196,186,205,180,190,162,75,243,184,54,125,6,161,86,165,72,188,200,226,146,
+67,231,27,157,156,151,131,53,24,134,5,108,91,88,90,90,66,42,149,66,87,87,
+151,190,225,153,68,200,76,182,142,74,97,245,162,171,144,196,10,184,229,
+14,44,37,84,178,245,117,43,177,174,27,131,71,38,112,242,51,191,138,142,
+222,81,164,83,22,196,163,235,40,228,19,251,250,250,169,133,2,38,63,248,
+9,218,67,33,168,233,5,216,61,158,34,225,18,43,46,211,186,103,181,86,151,
+44,88,242,36,136,107,121,49,12,11,216,182,145,72,36,144,72,36,208,223,223,
+175,103,107,168,198,165,40,11,91,38,147,249,249,201,182,219,245,76,231,
+70,238,66,90,211,162,32,13,81,196,84,85,133,203,235,199,232,196,253,56,
+121,207,151,225,245,247,33,157,44,220,90,223,42,20,248,194,1,88,139,47,
+227,227,139,111,34,20,176,161,32,88,90,226,122,23,5,112,80,10,169,70,88,
+93,236,50,100,24,22,176,29,133,232,82,20,211,79,201,194,85,202,26,203,100,
+50,69,175,145,96,145,72,137,194,37,255,44,62,231,114,57,4,195,189,56,254,
+169,71,112,252,142,207,195,166,180,33,149,204,32,22,89,221,119,217,131,
+137,118,0,0,19,4,73,68,65,84,235,91,101,173,47,181,128,233,201,159,193,
+138,44,114,233,140,46,84,244,160,226,149,70,235,96,245,100,216,96,151,33,
+195,176,128,237,72,150,150,150,144,72,36,208,221,221,173,215,138,178,217,
+108,21,55,59,147,213,37,174,113,201,235,92,228,54,164,191,149,133,75,211,
+52,244,12,141,225,196,93,95,66,223,161,187,160,170,110,164,146,73,228,19,
+123,111,227,113,35,72,174,175,98,242,220,203,8,183,183,34,155,92,214,221,
+132,46,151,107,147,104,145,245,85,143,112,229,114,57,14,145,103,24,22,176,
+157,13,133,218,247,246,246,234,201,128,109,54,155,110,81,25,9,151,40,84,
+162,96,229,114,185,77,86,22,253,77,38,147,185,229,70,180,90,49,112,236,
+110,140,127,246,87,17,238,57,134,108,70,193,122,98,125,223,6,102,152,65,
+211,84,204,205,124,128,84,98,25,110,139,5,246,79,92,132,98,0,135,153,180,
+81,149,10,79,210,51,167,132,98,24,22,176,93,197,245,235,215,225,247,251,
+17,14,135,97,181,90,117,139,76,142,28,204,231,243,250,30,45,18,44,217,194,
+202,100,50,250,239,244,191,14,151,27,135,79,254,47,140,221,245,37,120,90,
+122,145,73,105,88,141,174,243,250,150,9,50,233,36,46,158,125,17,93,93,29,
+208,178,81,56,28,142,162,194,149,162,8,153,89,251,42,103,117,113,160,6,
+195,176,128,237,74,214,214,214,176,182,182,134,3,7,14,192,227,241,64,85,
+85,216,108,182,162,232,66,10,212,32,33,3,160,255,78,2,38,138,158,203,23,
+196,109,119,60,128,209,59,127,9,118,71,27,82,169,60,86,87,214,120,125,171,
+10,235,107,225,218,37,220,188,126,9,7,58,125,155,146,244,146,27,209,204,
+198,229,114,1,27,108,117,49,12,11,216,158,96,126,126,30,110,183,27,157,
+157,157,208,52,173,40,201,174,24,30,47,138,149,248,187,166,1,45,237,61,
+24,251,244,47,97,104,244,52,84,213,131,84,50,141,245,245,85,94,223,170,
+146,124,62,135,201,115,63,65,111,111,31,144,91,134,205,230,40,187,254,85,
+73,184,100,171,43,153,76,98,110,110,142,215,186,24,134,5,108,239,144,74,
+165,240,209,71,31,161,173,173,13,94,175,23,138,162,232,226,35,6,110,228,
+243,249,159,91,100,86,27,250,71,238,192,161,219,30,64,247,192,29,200,101,
+21,36,214,54,120,125,171,14,235,107,229,230,85,92,189,252,30,250,186,91,
+0,33,93,148,184,231,139,16,171,114,87,18,174,92,46,199,73,120,25,134,5,
+108,111,66,110,195,229,229,101,44,47,47,163,173,173,13,30,143,7,217,108,
+118,147,144,185,60,62,116,15,142,227,208,201,7,209,26,58,140,116,10,136,
+199,54,246,253,198,227,122,81,85,21,151,62,120,21,109,65,63,52,53,5,215,
+39,129,27,36,92,54,155,13,138,162,24,174,133,149,250,157,67,227,25,134,
+5,108,95,81,40,20,244,1,47,24,12,194,110,183,35,155,205,194,237,107,197,
+224,216,231,208,115,232,30,56,221,157,72,39,243,136,69,121,227,113,163,
+172,175,181,213,37,124,60,249,83,244,116,120,80,200,36,127,222,169,63,113,
+33,138,194,37,38,107,46,37,92,188,206,197,48,44,96,251,74,184,228,223,151,
+150,150,16,234,30,192,248,231,190,130,174,131,119,0,86,63,82,201,52,86,
+87,226,28,152,209,80,1,211,112,249,194,27,64,126,29,185,116,22,142,79,44,
+45,151,203,165,7,109,136,143,114,1,26,188,206,197,48,44,96,251,6,185,252,
+9,0,216,236,10,58,251,71,48,122,215,151,17,234,61,1,77,245,96,35,153,68,
+62,199,27,143,155,65,106,35,142,75,31,188,134,190,254,62,20,210,43,250,
+190,47,57,223,161,88,184,146,133,139,97,88,192,24,201,234,42,20,10,232,
+30,156,192,137,207,252,31,192,170,32,178,184,10,155,125,227,147,253,96,
+86,62,73,13,183,190,84,92,249,248,44,214,87,231,17,242,6,55,137,149,108,
+121,201,201,119,217,85,200,48,44,96,140,192,245,233,183,176,112,245,44,
+90,218,6,225,240,118,163,189,235,40,252,193,46,120,91,218,224,112,186,89,
+204,26,72,38,157,196,133,51,47,226,208,240,33,20,50,17,221,109,72,150,22,
+137,21,9,26,69,21,114,112,6,195,176,128,49,18,180,215,40,155,78,98,233,
+218,7,80,213,247,113,243,234,207,208,26,30,129,219,223,131,142,158,163,
+104,105,13,195,227,107,133,221,238,96,33,171,211,250,186,49,55,137,200,
+194,71,8,28,12,233,110,67,122,184,221,238,77,235,94,28,14,207,48,44,96,
+76,9,241,162,96,14,18,178,66,161,128,141,248,50,18,177,155,40,168,42,22,
+66,67,104,105,59,136,182,174,17,116,246,30,134,199,23,132,203,229,131,213,
+102,99,49,171,146,124,62,139,139,103,95,66,127,127,63,44,150,117,56,157,
+30,195,192,141,84,42,133,249,249,249,77,129,54,12,195,176,128,237,107,28,
+14,7,178,217,108,145,120,25,89,100,183,6,220,60,34,11,83,88,186,62,137,
+185,169,159,160,189,103,20,158,150,46,28,24,158,64,48,212,7,175,175,21,
+138,195,197,46,70,147,214,87,228,230,85,92,155,125,31,35,131,29,176,89,
+29,69,235,94,249,124,30,209,104,20,241,120,92,191,78,12,195,176,128,49,
+21,172,176,114,98,71,5,42,179,153,36,174,79,191,5,85,85,113,125,250,77,
+132,15,140,33,24,26,66,103,223,49,4,130,157,112,123,253,236,98,44,131,170,
+170,152,124,255,21,120,156,128,213,90,208,215,183,34,145,8,82,169,84,81,
+253,47,134,97,88,192,152,42,172,48,51,66,70,143,141,181,37,36,206,191,0,
+139,197,134,246,174,195,8,245,28,67,168,251,48,58,122,14,193,219,210,6,
+167,203,7,171,213,202,98,38,88,95,241,232,34,166,39,127,134,131,189,157,
+88,79,196,176,116,243,38,28,14,7,28,14,199,38,225,98,235,139,97,88,192,
+152,42,44,176,66,161,176,73,196,72,224,202,61,150,111,76,226,230,252,69,
+56,221,62,116,246,221,134,64,123,63,122,7,199,17,108,239,133,135,93,140,
+159,8,152,134,143,46,188,129,124,38,134,197,235,43,80,20,123,145,112,209,
+121,103,235,139,97,246,209,216,59,62,62,254,77,62,13,181,11,23,89,95,86,
+171,181,232,217,104,48,181,217,108,176,90,173,134,15,139,197,2,77,205,99,
+45,122,13,55,175,125,136,229,27,147,136,69,174,35,177,118,43,209,175,197,
+102,131,205,102,215,107,141,237,55,146,235,171,120,237,199,223,69,171,223,
+141,66,110,67,223,223,165,40,202,166,115,201,214,23,195,176,5,198,152,128,
+92,137,162,160,149,179,194,140,172,50,178,222,196,71,34,118,3,241,149,121,
+204,92,124,25,221,253,99,104,235,58,130,80,215,97,132,187,135,224,243,135,
+224,112,122,246,141,139,81,211,84,204,126,244,30,214,86,174,193,234,179,
+192,110,183,21,89,94,188,246,197,48,44,96,76,29,34,6,64,95,19,171,100,177,
+145,200,149,19,48,241,245,197,185,15,112,227,202,251,112,186,253,232,234,
+191,13,173,225,65,244,28,60,161,187,24,237,138,115,79,187,24,51,233,36,
+46,156,125,17,61,61,61,72,175,47,150,21,44,182,190,24,134,5,140,105,128,
+53,86,73,200,74,9,90,41,81,203,101,214,113,237,242,155,152,187,252,38,174,
+94,234,67,103,223,24,218,187,14,163,163,231,48,252,173,157,112,186,125,
+176,219,111,109,222,221,43,98,70,21,151,151,174,79,161,205,127,203,69,40,
+175,121,177,245,197,48,44,96,76,131,173,49,35,33,147,197,75,92,71,43,39,
+94,242,107,107,209,107,136,45,95,129,205,238,64,87,255,24,66,61,199,208,
+22,30,68,103,239,225,91,233,171,28,110,88,246,128,139,49,159,207,226,195,
+247,254,7,225,112,8,133,244,50,108,118,165,164,104,177,245,197,48,44,96,
+76,19,133,204,104,141,76,22,55,179,22,25,189,182,120,245,28,174,207,156,
+129,203,19,64,207,192,4,90,195,3,232,238,31,69,48,116,0,110,143,127,215,
+186,24,53,77,197,242,226,21,204,77,159,65,123,203,102,235,75,180,192,24,
+134,97,1,99,154,36,100,36,102,70,131,173,156,209,195,200,197,40,11,152,
+145,160,229,50,235,184,58,245,42,174,76,189,138,43,237,253,232,30,24,71,
+107,104,16,29,61,135,16,8,118,193,229,246,193,106,187,117,201,119,131,152,
+169,133,2,46,157,123,5,30,151,2,181,144,132,162,40,155,92,135,12,195,176,
+128,49,59,68,204,74,137,88,37,1,147,127,143,175,204,33,186,52,11,171,93,
+65,103,239,40,194,189,199,17,238,57,130,112,215,32,188,45,237,112,56,92,
+59,218,197,168,105,42,226,177,155,248,248,226,207,16,240,42,80,115,214,
+77,123,189,120,227,50,195,176,128,49,219,40,102,102,130,62,100,81,51,107,
+145,209,107,75,243,31,98,113,238,28,220,190,118,116,31,60,137,96,120,8,
+157,7,70,16,12,29,128,199,215,10,155,77,217,113,46,198,91,21,151,223,68,
+62,179,138,140,165,160,103,150,231,141,203,12,195,232,99,34,111,100,222,
+230,11,32,12,200,133,66,161,104,67,46,0,125,221,135,126,150,45,16,250,91,
+121,147,180,188,193,215,98,177,32,151,77,98,53,114,5,11,87,207,34,178,112,
+25,137,248,50,82,27,235,80,85,13,86,235,206,217,40,173,105,234,173,141,
+203,255,253,12,130,1,23,10,185,36,111,92,102,24,134,45,176,189,98,149,85,
+10,197,175,100,161,197,35,87,17,189,57,3,187,226,66,87,255,137,91,225,248,
+189,71,209,222,49,176,237,69,56,53,77,195,236,71,239,33,17,187,1,139,71,
+133,162,216,121,227,50,195,48,44,96,187,73,200,204,138,153,145,160,85,18,
+176,159,191,174,98,225,202,25,92,159,121,23,110,95,59,58,251,78,32,220,
+61,130,206,190,227,104,109,235,130,219,235,223,82,23,163,166,169,200,102,
+146,184,248,254,75,232,234,238,66,58,177,192,27,151,25,134,97,1,219,11,
+98,86,46,138,177,212,179,89,65,203,36,99,152,189,248,50,174,78,189,138,
+246,206,195,232,56,112,28,109,157,135,208,209,125,8,254,96,7,156,78,239,
+150,20,225,188,126,117,18,203,55,62,66,176,197,120,205,139,173,47,134,97,
+88,192,118,169,152,53,195,197,40,191,22,189,121,25,203,55,46,193,166,56,
+209,121,96,12,157,7,70,17,238,57,138,246,142,126,248,252,109,77,219,91,
+150,207,101,112,225,236,139,8,133,218,145,79,45,193,102,144,113,158,173,
+47,134,97,88,192,246,136,85,86,73,204,140,4,205,140,69,118,235,117,13,55,
+231,222,199,194,149,51,240,250,195,232,232,29,69,71,223,24,194,93,135,208,
+218,222,13,183,55,208,176,244,85,154,166,98,105,97,22,243,211,239,163,45,
+96,99,235,139,97,24,22,176,253,36,102,205,116,49,166,214,87,48,115,241,
+101,92,153,122,21,193,240,32,122,14,222,142,182,79,50,228,183,4,66,122,
+17,206,90,197,76,45,20,48,121,238,21,120,60,118,228,179,235,122,189,47,
+51,2,205,48,12,11,24,179,7,196,204,76,250,170,122,93,140,171,203,179,88,
+89,252,24,138,195,141,112,239,45,247,98,87,255,40,218,194,253,240,181,4,
+171,118,49,106,154,138,213,232,2,166,47,189,133,80,192,137,108,42,85,118,
+207,23,187,15,25,134,97,1,219,167,86,89,37,43,205,140,69,118,235,145,197,
+205,185,179,88,184,114,6,31,127,24,66,87,255,9,132,123,142,161,179,119,
+4,129,182,46,184,189,1,216,76,164,175,210,84,21,83,231,95,135,150,95,71,
+122,163,80,50,109,20,91,98,12,195,232,227,22,111,100,222,227,23,184,138,
+141,210,70,207,229,54,74,211,231,234,27,165,51,27,88,185,57,141,133,171,
+103,16,89,156,198,90,108,9,153,76,10,26,0,155,77,129,213,106,195,173,61,
+210,90,209,102,105,77,83,177,145,136,225,245,31,127,23,109,1,39,212,124,
+90,223,180,76,159,79,153,56,120,227,50,195,48,108,129,237,99,203,108,43,
+92,140,20,197,56,59,249,2,218,187,143,33,220,115,12,29,189,71,209,22,238,
+131,87,42,194,169,105,26,102,166,222,70,38,25,69,22,5,125,237,139,211,70,
+49,12,195,2,198,24,10,25,137,89,45,46,70,51,37,95,0,32,159,77,225,198,204,
+59,88,152,125,23,94,127,7,58,14,220,170,93,214,213,119,20,254,64,7,92,158,
+22,228,178,105,76,158,251,9,58,194,65,228,82,43,101,51,110,176,245,197,
+48,12,11,24,99,90,204,106,41,194,105,244,94,54,21,195,213,75,175,96,241,
+202,91,184,209,113,8,193,206,35,104,239,62,130,108,54,139,216,242,21,116,
+4,109,69,214,151,124,12,12,195,48,44,96,76,89,49,107,68,17,78,35,1,19,89,
+93,254,24,171,203,31,227,230,149,215,225,13,244,163,35,228,135,77,75,150,
+205,121,200,214,23,195,48,44,96,76,195,172,178,82,86,90,37,1,35,180,66,
+14,235,209,233,138,201,122,89,188,24,134,97,1,99,154,38,102,149,92,141,
+165,44,56,249,153,3,55,24,134,97,1,99,154,34,102,181,68,49,86,202,219,88,
+238,153,173,47,134,97,88,192,152,45,179,202,140,196,204,172,128,177,120,
+49,12,195,2,198,236,24,49,43,39,98,70,194,197,226,197,48,12,11,24,179,229,
+98,102,54,67,190,145,104,177,112,49,12,195,2,198,236,8,171,172,26,65,99,
+225,98,24,134,5,140,217,209,130,198,48,12,211,8,172,124,10,24,134,97,24,
+22,48,134,97,24,134,97,1,99,24,134,97,24,22,48,134,97,24,134,5,140,97,24,
+134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,
+48,134,97,24,134,97,1,99,24,134,97,24,22,48,134,97,24,134,5,140,97,24,134,
+97,88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,48,134,
+97,24,134,97,1,99,24,134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,
+88,192,24,134,97,24,134,5,140,97,24,134,97,1,99,24,134,97,24,22,48,134,
+97,24,134,97,1,99,24,134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,
+234,194,206,167,128,97,246,55,247,220,115,15,190,248,197,47,162,163,163,
+3,27,27,27,120,251,237,183,241,207,255,252,207,200,102,179,250,251,143,
+62,250,40,66,161,16,34,145,8,126,244,163,31,225,103,63,251,89,209,255,151,
+122,255,153,103,158,41,249,189,95,251,218,215,182,237,152,1,192,98,177,
+224,15,255,240,15,49,54,54,182,233,88,202,189,39,67,109,172,167,61,70,159,
+215,232,115,86,239,241,208,119,159,58,117,10,143,61,246,24,90,90,90,112,
+241,226,69,252,245,95,255,117,195,62,155,5,140,97,24,211,76,76,76,224,235,
+95,255,186,254,123,32,16,192,3,15,60,0,191,223,143,191,255,251,191,199,
+209,163,71,139,222,239,234,234,194,147,79,62,137,120,60,142,201,201,201,
+138,239,151,226,141,55,222,216,182,99,6,128,131,7,15,226,171,95,253,42,
+70,70,70,54,125,126,185,247,24,224,241,199,31,135,162,40,248,253,223,255,
+125,100,50,25,182,192,24,134,217,30,30,124,240,65,0,192,127,254,231,127,
+226,217,103,159,197,196,196,4,158,124,242,73,76,76,76,0,0,238,191,255,126,
+0,192,75,47,189,132,31,254,240,135,248,141,223,248,13,220,123,239,189,184,
+239,190,251,48,57,57,89,241,125,121,102,253,232,163,143,226,243,159,255,
+60,126,240,131,31,108,219,49,3,192,55,191,249,77,92,189,122,213,240,243,
+203,189,87,142,251,238,187,15,143,62,250,40,0,224,63,254,227,63,240,226,
+139,47,2,0,190,245,173,111,33,20,10,225,143,255,248,143,17,137,68,16,14,
+135,241,212,83,79,97,121,121,25,223,248,198,55,106,178,182,200,114,121,
+234,169,167,240,228,147,79,98,113,113,17,127,245,87,127,133,206,206,78,
+60,241,196,19,24,26,26,130,213,106,197,252,252,60,190,247,189,239,97,118,
+118,182,232,255,190,253,237,111,227,177,199,30,67,56,28,198,220,220,28,
+158,121,230,25,204,207,207,87,101,29,254,221,223,253,157,126,156,181,30,
+15,49,60,60,140,223,250,173,223,66,119,119,55,102,103,103,241,204,51,207,
+96,113,113,177,226,241,240,26,24,195,236,99,172,86,43,146,201,36,158,127,
+254,121,100,179,89,156,59,119,14,0,16,139,197,0,0,67,67,67,0,128,31,253,
+232,71,72,167,211,248,183,127,251,55,0,192,224,224,160,169,247,69,90,91,
+91,241,240,195,15,227,133,23,94,192,198,198,198,182,29,51,0,156,59,119,
+14,223,250,214,183,12,63,191,220,123,149,44,19,191,223,15,191,223,143,199,
+31,127,28,159,249,204,103,0,0,23,47,94,4,0,28,63,126,188,232,153,94,175,
+135,111,124,227,27,8,4,2,186,37,244,59,191,243,59,56,122,244,40,28,14,7,
+236,118,59,6,6,6,240,219,191,253,219,155,254,239,247,126,239,247,208,221,
+221,13,187,221,142,161,161,161,134,185,38,107,61,158,63,250,163,63,66,127,
+127,63,20,69,193,145,35,71,240,196,19,79,176,5,198,48,76,121,254,242,47,
+255,114,147,133,164,105,154,62,232,183,180,180,0,0,18,137,4,0,96,117,117,
+21,0,224,247,251,77,189,47,242,208,67,15,65,81,20,188,242,202,43,219,122,
+204,0,240,55,127,243,55,37,63,191,220,123,229,120,229,149,87,240,143,255,
+248,143,248,202,87,190,130,211,167,79,227,193,7,31,196,155,111,190,137,
+201,201,73,156,58,117,10,163,163,163,120,245,213,87,49,58,58,10,0,101,93,
+172,178,181,83,202,42,123,249,229,151,241,131,31,252,64,111,243,159,253,
+217,159,233,239,29,60,120,16,223,252,230,55,209,209,209,177,233,115,206,
+159,63,143,111,127,251,219,56,121,242,36,158,124,242,73,244,245,245,153,
+106,163,104,109,25,137,94,173,199,243,246,219,111,227,251,223,255,62,198,
+198,198,240,7,127,240,7,250,36,132,5,140,97,152,138,88,44,22,124,245,171,
+95,197,3,15,60,128,31,254,240,135,155,2,30,234,197,229,114,225,212,169,
+83,152,154,154,210,45,37,179,3,119,41,235,160,217,199,92,45,207,62,251,
+44,210,233,52,158,127,254,121,156,62,125,26,61,61,61,69,66,117,236,216,
+49,88,44,22,28,59,118,204,148,128,153,225,191,255,251,191,145,203,229,16,
+141,70,245,215,70,70,70,48,62,62,174,11,165,221,190,121,152,255,135,127,
+248,7,164,82,41,188,251,238,187,120,242,201,39,161,40,74,67,206,65,173,
+199,243,175,255,250,175,200,102,179,120,255,253,247,1,192,244,241,176,128,
+49,204,62,199,235,245,226,119,127,247,119,113,252,248,113,252,203,191,252,
+11,158,123,238,57,253,189,245,245,117,180,182,182,34,16,8,96,117,117,85,
+183,98,214,214,214,76,189,79,76,76,76,192,237,118,227,195,15,63,220,246,
+99,110,22,228,22,85,85,181,232,57,30,143,99,97,97,1,221,221,221,248,236,
+103,63,11,159,207,135,249,249,249,138,199,99,198,173,183,178,178,82,244,
+251,125,247,221,135,199,31,127,28,207,63,255,60,158,126,250,105,252,249,
+159,255,185,225,255,45,45,45,1,0,242,249,124,67,207,65,173,199,67,231,130,
+206,153,89,120,13,140,97,246,185,120,253,201,159,252,9,142,31,63,142,167,
+159,126,26,207,62,251,108,209,251,20,204,240,216,99,143,193,229,114,233,
+65,10,51,51,51,166,222,39,110,187,237,54,0,216,180,120,95,106,224,22,31,
+141,62,230,102,241,197,47,126,17,14,135,3,95,248,194,23,0,160,40,40,130,
+214,187,190,244,165,47,53,204,250,50,18,160,95,254,229,95,6,0,188,254,250,
+235,134,174,58,66,211,180,166,156,131,90,143,167,86,216,2,99,152,125,204,
+151,191,252,101,244,246,246,2,0,190,254,245,175,23,133,159,127,237,107,
+95,195,75,47,189,132,147,39,79,226,212,169,83,56,117,234,148,254,30,69,
+216,85,122,159,56,120,240,32,0,96,97,97,97,219,143,185,89,60,242,200,35,
+120,228,145,71,244,223,255,235,191,254,75,255,121,114,114,18,247,221,119,
+31,218,219,219,139,4,173,28,102,214,192,100,146,201,36,60,30,15,254,226,
+47,254,2,0,144,74,165,224,118,187,225,247,251,155,110,129,110,199,241,176,
+5,198,48,251,152,59,238,184,163,236,251,31,124,240,1,190,243,157,239,96,
+113,113,17,249,124,30,139,139,139,248,206,119,190,131,75,151,46,153,122,
+159,160,129,187,158,232,195,70,29,115,179,248,254,247,191,143,181,181,53,
+172,175,175,227,123,223,251,30,222,125,247,93,253,189,75,151,46,233,86,
+79,161,80,192,212,212,84,83,142,225,233,167,159,198,194,194,2,242,249,60,
+206,159,63,143,167,158,122,10,0,116,43,116,171,105,246,241,88,158,120,226,
+9,141,111,99,134,97,152,230,242,167,127,250,167,24,30,30,198,228,228,164,
+62,144,51,108,129,49,12,195,236,104,92,46,23,92,46,23,128,91,33,227,76,
+99,224,53,48,134,97,152,38,243,183,127,251,183,200,100,50,120,249,229,151,
+241,250,235,175,243,9,105,16,236,66,100,24,134,97,118,37,236,66,100,24,
+134,97,88,192,24,134,97,24,134,5,140,97,24,134,97,88,192,24,134,97,24,22,
+48,134,97,24,134,217,1,252,127,24,65,196,140,111,100,140,215,0,0,0,0,73,
+69,78,68,174,66,96,130};
+
+static size_t xml_res_size_4 = 870;
+static unsigned char xml_res_file_4[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,2,227,73,68,65,84,56,141,77,147,61,111,
+92,69,24,133,159,121,231,157,153,27,239,122,215,187,142,237,16,36,132,68,
+21,144,48,80,197,13,20,72,81,0,69,136,158,134,130,154,130,34,162,160,224,
+15,240,23,72,19,33,164,208,240,7,44,4,36,66,80,32,1,6,133,15,35,37,33,123,
+237,196,241,174,215,247,99,239,189,51,20,235,130,226,232,156,230,20,231,
+145,142,249,240,250,199,47,140,71,107,87,48,24,99,4,3,198,24,3,198,32,198,
+24,99,12,103,6,103,41,165,152,202,178,110,98,138,95,155,75,219,151,247,
+141,49,207,170,42,33,248,165,124,70,8,30,231,21,103,29,86,21,85,193,90,
+75,93,47,248,109,239,87,170,170,2,99,15,21,120,42,165,68,74,137,174,237,
+104,76,75,74,21,93,215,162,11,197,57,135,115,138,170,50,157,206,120,56,
+201,73,9,68,3,170,186,161,111,95,123,195,190,255,222,187,168,58,172,90,
+172,88,196,10,98,4,35,134,174,237,200,243,156,223,239,254,65,108,91,88,
+110,161,223,235,241,231,223,251,232,104,52,50,139,166,165,139,137,84,69,
+206,173,172,208,20,11,66,150,113,50,159,83,22,37,167,243,57,23,47,94,68,
+173,69,172,165,223,59,199,198,249,13,138,170,70,235,186,142,34,98,235,170,
+166,233,26,202,186,134,148,152,205,231,20,69,73,8,1,31,2,198,24,140,8,195,
+193,42,107,195,33,49,70,234,69,131,62,57,158,114,116,244,132,4,4,239,113,
+78,41,171,10,231,148,222,202,10,214,90,162,46,89,168,181,100,89,70,140,
+145,152,18,117,93,163,205,98,129,15,1,181,150,178,40,88,57,43,133,44,35,
+118,29,33,4,186,46,226,157,98,173,16,99,164,105,26,140,8,117,93,35,214,
+10,89,8,132,224,49,178,204,198,44,33,137,24,98,140,56,103,153,148,15,200,
+211,191,244,135,61,250,195,30,7,249,132,166,109,17,17,193,57,135,247,1,
+107,5,0,49,6,17,193,0,89,22,184,119,248,15,95,221,191,197,221,227,61,156,
+56,30,215,135,140,158,25,178,177,190,134,24,12,85,85,145,82,100,109,56,
+36,203,2,131,193,128,126,191,199,120,60,102,54,157,242,221,209,46,30,199,
+107,91,87,104,219,150,243,110,147,159,30,253,200,43,47,109,163,0,222,59,
+102,179,25,6,104,218,6,49,194,244,248,24,85,101,127,127,159,252,100,194,
+250,112,131,98,86,80,73,133,170,178,151,255,204,115,227,231,17,128,178,
+172,88,44,22,116,49,162,234,40,203,18,107,45,243,249,41,214,90,86,25,241,
+195,253,59,76,235,99,186,174,227,203,191,110,146,159,76,200,243,3,116,146,
+31,52,143,30,31,57,43,130,88,75,81,86,88,107,185,247,224,33,86,44,27,155,
+23,120,85,95,71,189,229,163,111,62,96,53,91,101,212,31,115,253,229,79,248,
+236,198,205,104,46,109,95,190,10,92,101,9,76,130,15,146,101,153,13,193,
+139,247,94,84,173,121,250,194,250,139,215,222,122,115,123,107,107,211,123,
+239,41,138,178,250,252,139,91,191,124,123,251,251,79,77,74,137,179,163,
+122,32,251,159,2,160,128,0,221,96,48,8,59,59,59,239,56,231,22,187,187,187,
+183,79,79,79,239,164,148,234,255,0,199,244,50,234,252,75,165,219,0,0,0,
+0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_5 = 631;
+static unsigned char xml_res_file_5[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
+116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
+97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,9,73,68,65,84,56,203,
+165,83,61,104,147,81,20,61,249,26,196,82,161,66,138,205,15,193,208,210,
+73,23,113,16,148,170,213,130,40,210,8,25,130,224,208,69,42,40,72,113,112,
+112,17,151,82,29,90,20,193,66,39,21,65,36,67,80,208,224,34,162,22,196,44,
+78,182,249,196,218,96,105,145,240,217,74,32,230,222,115,159,67,73,52,86,
+176,210,11,151,247,184,112,206,227,220,115,94,200,57,135,205,148,135,77,
+86,184,113,185,244,122,196,153,25,140,6,210,64,101,227,52,10,43,170,44,
+82,88,80,213,220,163,225,39,229,6,46,212,144,48,250,242,172,59,28,63,2,
+231,0,115,132,57,7,58,130,70,212,164,134,160,26,96,41,88,134,255,165,148,
+87,225,248,227,243,207,103,90,36,144,182,6,50,5,157,65,77,65,35,232,8,207,
+107,67,251,214,118,244,37,250,176,107,231,238,180,136,94,30,188,209,159,
+108,145,64,37,10,254,83,144,132,10,65,37,84,9,10,17,223,158,64,170,59,5,
+132,67,232,142,68,145,220,145,76,151,230,75,47,0,76,134,54,226,66,250,206,
+177,9,21,205,28,220,115,40,201,144,226,91,176,130,55,239,102,158,189,186,
+250,246,248,134,92,200,159,43,140,138,104,174,188,84,70,8,30,182,117,116,
+64,68,247,174,179,241,204,195,76,219,233,251,167,174,252,141,68,235,10,
+37,161,166,16,35,84,116,125,14,84,116,90,68,179,127,130,7,198,14,76,72,
+93,51,93,145,46,84,165,138,74,80,129,10,139,45,75,204,222,27,186,21,235,
+140,15,171,18,39,111,15,58,149,181,87,40,68,60,154,64,42,153,66,120,75,
+24,158,121,88,92,156,3,69,11,77,130,236,221,161,235,209,206,216,133,222,
+88,47,12,14,61,137,158,166,133,52,3,29,241,253,199,42,60,122,248,188,80,
+70,105,206,207,83,153,107,18,136,104,93,85,33,38,48,7,208,17,102,132,26,
+97,142,168,213,106,88,9,86,49,183,236,195,159,245,243,84,27,255,48,229,
+151,91,146,120,226,230,209,201,88,36,122,81,105,152,95,248,4,149,95,57,
+80,229,87,42,139,84,22,72,230,102,167,62,54,163,12,231,92,179,7,198,246,
+79,247,95,219,247,254,247,217,191,186,197,5,169,235,136,138,62,248,159,
+223,248,19,19,249,133,146,234,21,229,237,0,0,0,0,73,69,78,68,174,66,96,
+130};
+
+static size_t xml_res_size_6 = 623;
+static unsigned char xml_res_file_6[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,1,236,73,68,65,84,56,141,149,146,189,107,
+83,81,20,192,127,247,189,155,151,208,135,38,66,93,132,14,105,141,9,216,
+56,148,14,14,85,99,135,116,169,113,115,114,114,112,241,95,40,138,147,56,
+58,9,14,130,155,121,118,144,224,230,32,37,208,226,199,80,211,170,80,148,
+4,210,36,29,106,205,203,39,141,47,239,58,228,195,164,49,4,15,28,238,29,
+206,239,199,61,247,28,1,204,164,82,169,103,252,71,36,18,137,187,74,169,
+60,128,0,162,101,219,206,212,106,117,116,93,67,215,117,52,77,235,164,16,
+127,239,221,20,191,15,40,189,187,240,105,186,185,240,212,188,181,245,92,
+0,81,187,82,201,52,26,141,137,176,106,149,104,126,89,193,31,92,162,125,
+96,213,247,223,24,87,36,128,38,196,100,248,184,72,115,55,142,127,238,42,
+238,207,87,228,54,106,135,5,135,95,18,64,12,22,143,129,27,187,113,2,193,
+107,184,71,22,63,222,86,139,165,50,177,216,3,149,235,8,122,208,63,225,2,
+141,157,56,129,217,24,202,182,40,125,240,115,63,89,189,147,220,84,57,0,
+173,47,24,3,215,51,93,184,98,145,223,52,201,207,60,193,218,162,216,155,
+136,214,27,197,40,188,79,253,115,156,192,220,117,84,197,34,155,246,178,
+55,253,152,83,103,67,67,35,213,134,90,24,128,107,219,43,4,206,47,67,37,
+73,54,237,33,51,245,144,115,179,11,132,195,225,201,130,239,27,107,156,9,
+45,67,245,37,217,180,228,163,190,198,226,210,42,145,72,4,199,113,134,4,
+242,164,160,118,84,192,52,231,217,219,126,143,44,122,248,118,250,17,55,
+87,111,99,24,6,182,109,99,154,230,120,1,192,235,245,23,76,185,135,24,190,
+139,4,231,239,113,227,114,156,118,187,141,109,219,253,93,25,12,1,68,29,
+199,201,184,174,139,16,162,159,61,241,32,44,165,196,231,243,225,241,120,
+46,41,165,118,250,127,208,43,158,4,75,41,71,94,208,89,101,77,67,41,213,
+135,1,148,82,180,90,45,76,211,28,25,241,201,22,124,64,168,43,243,2,70,247,
+244,2,122,183,70,1,14,112,12,180,128,175,64,89,41,229,252,1,240,126,200,
+57,208,143,162,187,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_7 = 733;
+static unsigned char xml_res_file_7[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,2,90,73,68,65,84,120,218,133,147,203,107,
+19,81,20,198,191,123,51,153,87,50,83,103,226,216,214,216,4,107,109,170,
+85,90,93,104,241,133,32,82,234,162,84,169,143,141,130,184,42,110,68,240,
+47,17,116,227,78,220,149,22,23,197,82,16,55,74,33,11,219,110,90,161,141,
+15,106,98,218,6,218,36,51,177,147,199,92,175,208,224,56,89,244,7,103,49,
+103,190,243,205,57,31,12,24,99,255,149,40,138,10,0,18,236,115,66,252,157,
+28,236,11,8,32,73,210,64,92,16,106,132,144,5,46,240,192,25,34,68,215,21,
+229,68,131,210,18,128,21,248,160,8,80,46,151,63,187,170,58,120,3,184,214,
+46,203,199,250,121,181,1,231,153,32,244,58,142,243,5,1,40,90,97,84,150,
+99,189,19,169,167,86,66,74,55,58,72,186,107,132,60,210,52,173,29,77,246,
+49,192,248,245,237,1,120,229,97,167,102,154,165,170,97,238,216,161,219,
+119,70,229,163,0,200,190,6,170,170,90,107,175,27,71,62,77,187,120,112,119,
+12,150,38,34,179,40,33,247,106,61,9,32,140,0,193,164,173,123,145,3,243,
+203,68,244,54,164,16,123,60,50,196,238,15,95,96,59,122,148,229,65,27,19,
+154,49,5,32,226,159,161,224,240,196,161,235,250,205,104,52,122,181,187,
+77,235,90,54,162,68,36,97,152,244,32,170,5,23,202,241,62,164,173,24,189,
+18,137,156,76,38,147,99,241,120,124,28,123,8,205,45,184,201,59,0,36,99,
+154,111,6,93,23,68,16,240,112,107,19,98,95,55,26,153,44,136,227,224,123,
+111,188,235,199,226,226,164,63,11,234,59,101,247,28,160,62,177,237,240,
+124,40,132,139,178,140,181,181,12,230,211,75,232,207,172,130,212,235,184,
+85,175,75,135,129,208,95,237,191,13,124,164,1,59,15,108,182,87,171,135,
+60,198,80,183,109,228,43,14,118,68,17,89,254,156,210,180,173,28,80,69,147,
+160,1,207,97,112,142,225,231,41,110,48,185,187,11,27,64,138,127,57,197,
+79,42,82,138,169,202,239,156,162,40,157,0,214,91,12,246,194,188,156,113,
+107,147,51,177,216,89,183,80,64,152,16,68,25,67,141,215,203,100,18,70,246,
+215,44,15,250,180,223,128,250,134,73,34,145,80,231,42,229,23,125,133,237,
+247,223,248,208,10,175,143,0,86,117,29,169,141,194,219,37,86,159,6,208,
+201,165,173,39,88,150,117,169,88,44,206,240,128,138,92,48,44,128,62,239,
+96,108,164,64,104,229,107,201,158,253,0,239,25,28,120,134,97,40,61,61,61,
+103,0,44,160,249,219,54,55,96,156,192,73,20,0,243,247,131,218,63,48,56,
+26,248,105,235,157,94,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_8 = 735;
+static unsigned char xml_res_file_8[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,2,92,73,68,65,84,56,141,165,147,63,76,
+20,65,20,135,191,55,179,59,203,113,28,255,14,229,160,210,4,133,194,196,
+66,99,33,149,177,179,16,11,49,96,76,44,104,12,137,182,134,196,216,88,152,
+104,99,40,12,13,137,86,16,176,16,45,168,176,51,209,70,141,141,145,16,11,
+69,114,192,158,24,239,184,187,221,187,189,177,224,220,59,196,206,73,126,
+153,204,228,229,155,247,126,243,158,88,107,249,159,229,252,125,33,23,150,
+61,218,75,19,162,212,120,127,119,178,183,6,29,217,95,149,79,22,230,17,111,
+209,62,61,159,219,23,223,156,129,140,189,28,233,233,48,51,23,79,101,50,
+131,253,109,248,249,16,1,186,219,91,88,205,150,88,122,239,231,114,133,104,
+196,62,57,247,250,0,64,174,45,15,15,100,90,95,93,62,211,103,28,173,248,
+145,15,120,48,62,132,8,76,45,172,210,222,150,160,90,179,60,123,151,11,215,
+252,240,138,157,57,187,4,160,0,228,250,74,58,221,153,88,26,30,234,49,126,
+49,34,91,168,146,78,185,36,61,77,171,209,244,117,182,144,205,71,248,197,
+26,195,199,186,76,79,123,98,70,110,173,121,13,15,28,25,61,218,155,74,231,
+138,22,164,6,34,124,217,46,179,240,118,19,173,97,101,53,79,75,34,1,34,32,
+194,145,195,201,140,191,94,152,0,30,59,0,174,241,198,209,14,155,197,189,
+114,162,168,70,49,136,184,243,226,43,136,144,106,107,69,91,64,0,177,160,
+28,92,199,187,26,3,42,226,28,255,184,89,161,51,225,224,185,154,160,28,176,
+249,240,116,108,110,239,237,15,120,73,23,4,130,8,126,150,35,42,202,237,
+142,61,64,187,59,161,117,216,42,9,235,5,240,43,6,117,227,77,12,216,46,195,
+247,93,88,223,21,182,202,138,80,92,112,220,174,38,15,76,110,175,62,133,
+21,193,138,128,173,197,0,43,26,171,76,236,1,162,64,248,220,148,129,153,
+67,27,208,110,93,6,84,83,143,105,7,28,183,46,83,223,189,249,6,32,84,179,
+56,238,70,28,32,10,162,168,1,136,162,189,151,29,179,7,83,202,199,120,139,
+49,192,78,15,4,104,51,137,54,1,218,133,106,136,157,62,217,40,225,209,9,
+8,75,127,142,1,162,47,217,169,84,238,96,43,223,219,26,198,170,231,170,22,
+245,100,156,18,253,41,197,161,164,144,45,88,190,149,19,248,161,218,0,38,
+237,221,244,210,63,103,1,64,238,231,211,84,131,81,172,140,41,97,80,9,59,
+213,154,205,33,50,71,231,206,172,189,57,16,236,139,143,103,65,196,0,45,
+77,242,234,191,164,128,8,168,0,33,80,174,171,100,173,173,254,6,207,154,
+227,149,127,20,234,56,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_9 = 506;
+static unsigned char xml_res_file_9[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,1,119,73,68,65,84,56,141,165,81,187,75,
+194,97,20,61,247,97,246,112,105,169,161,130,12,9,154,140,134,40,136,22,
+7,135,30,67,81,52,132,99,65,53,72,16,244,7,52,68,67,208,208,224,16,45,77,
+9,22,180,72,139,75,209,11,162,90,130,104,19,132,198,160,84,76,187,13,254,
+4,43,205,192,3,119,57,223,249,238,61,231,94,50,51,212,3,174,235,119,173,
+6,52,31,235,228,185,216,209,159,154,74,17,104,54,42,110,183,123,197,204,
+54,0,120,12,60,152,59,152,184,249,119,131,150,208,73,4,132,133,31,244,37,
+212,166,223,247,38,83,53,35,164,179,217,37,101,10,171,240,155,10,67,133,
+63,84,120,72,77,206,219,150,163,158,154,13,236,112,166,240,186,63,190,163,
+194,125,162,124,172,194,163,42,156,82,225,238,124,206,179,94,51,66,37,180,
+47,198,215,64,180,5,195,195,75,36,232,47,241,90,46,234,88,62,189,4,172,
+149,129,177,228,110,240,185,252,77,92,124,69,197,89,61,85,35,168,48,171,
+72,47,171,174,252,116,224,18,153,114,246,241,88,181,129,8,197,139,34,10,
+121,195,137,32,17,136,8,228,13,39,130,42,20,82,97,136,80,188,234,14,186,
+86,47,154,154,57,119,7,88,175,67,149,98,248,138,106,122,74,23,26,250,147,
+219,195,153,138,14,146,219,195,153,70,177,128,138,56,78,216,167,194,62,
+151,50,92,34,241,70,182,64,249,231,95,14,202,49,176,126,230,55,182,65,0,
+160,79,186,190,221,28,185,175,164,251,247,25,171,225,219,25,137,136,1,136,
+195,139,83,4,224,19,64,193,169,60,128,130,57,147,191,0,30,99,118,114,243,
+123,34,116,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_10 = 479;
+static unsigned char xml_res_file_10[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
+0,181,250,55,234,0,0,0,2,115,66,73,84,8,8,85,236,70,4,0,0,0,9,112,72,89,
+115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
+102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
+111,114,103,155,238,60,26,0,0,1,94,73,68,65,84,24,25,5,193,203,78,19,97,
+24,0,208,51,51,63,96,105,184,36,160,40,94,208,136,17,55,38,38,174,141,107,
+35,175,224,202,231,208,55,49,113,111,112,99,220,186,50,172,76,52,152,32,
+90,188,209,10,88,154,90,11,197,82,102,62,207,201,2,112,148,185,245,125,
+249,207,50,179,141,171,13,155,245,0,132,176,177,184,254,242,87,191,27,157,
+232,196,65,116,163,27,123,253,245,181,141,197,16,132,23,171,95,6,191,99,
+55,118,226,87,28,68,39,118,163,21,251,209,142,198,96,237,97,200,194,155,
+230,149,139,25,66,50,33,51,82,33,55,180,211,188,127,57,113,116,238,16,33,
+147,12,81,42,81,9,221,5,18,221,148,155,6,156,34,33,100,250,154,137,156,
+83,45,31,213,229,146,73,147,146,194,140,109,13,144,147,251,171,231,155,
+58,90,154,126,58,171,80,51,20,72,48,107,90,219,148,99,35,149,210,123,201,
+184,154,64,162,140,102,86,179,34,92,176,167,146,91,112,198,150,190,90,69,
+162,200,150,20,90,238,56,84,169,148,58,42,35,115,78,114,18,39,167,95,199,
+230,173,232,43,16,198,204,26,55,244,67,81,146,99,116,67,93,203,37,147,50,
+185,16,122,122,230,165,19,114,182,158,54,170,129,69,159,180,13,12,252,115,
+104,202,140,118,181,249,132,44,240,248,238,249,231,75,55,239,21,61,251,
+74,133,5,195,242,237,214,231,71,207,222,145,5,224,193,196,181,213,185,219,
+217,245,202,112,251,248,195,246,171,215,67,224,63,88,118,169,59,145,118,
+103,111,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_11 = 504;
+static unsigned char xml_res_file_11[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
+0,181,250,55,234,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,2,98,75,71,
+68,0,255,135,143,204,191,0,0,0,9,112,72,89,115,0,0,1,187,0,0,1,187,1,58,
+236,227,226,0,0,0,7,116,73,77,69,7,217,12,13,17,43,19,33,85,167,107,0,0,
+1,124,73,68,65,84,40,207,69,209,191,75,212,97,0,199,241,215,243,245,81,
+243,200,52,46,50,46,60,202,34,8,162,33,10,90,131,150,32,27,26,26,91,90,
+250,3,154,218,27,131,230,150,134,214,48,16,33,90,218,194,201,168,28,36,
+61,33,242,199,229,143,227,148,211,187,190,158,247,125,26,52,122,143,239,
+207,123,251,4,199,236,5,87,127,94,222,185,204,104,237,66,205,194,201,228,
+63,243,149,217,247,235,173,102,106,164,70,218,78,205,212,76,191,91,179,
+83,243,149,227,249,221,228,82,123,51,213,211,74,90,79,219,169,145,234,105,
+45,109,164,173,84,107,79,221,39,240,105,181,122,62,32,137,6,5,93,5,50,185,
+149,213,59,227,145,253,179,123,72,130,40,71,79,15,133,164,57,70,164,25,
+55,12,74,162,113,135,136,199,121,203,106,36,227,208,180,92,215,91,81,73,
+73,212,103,196,178,26,71,121,166,163,45,232,96,77,114,232,134,220,144,45,
+3,136,183,70,146,125,117,65,199,166,150,126,133,175,162,1,67,18,178,238,
+206,84,168,234,248,227,138,215,94,40,156,82,53,161,171,165,87,144,181,159,
+53,13,235,151,161,238,161,146,174,134,21,93,101,49,35,91,124,25,139,97,
+21,85,227,38,220,150,244,27,117,206,9,219,246,123,100,60,200,167,141,42,
+155,241,84,144,73,146,93,187,206,136,7,244,113,45,175,220,157,11,11,30,
+41,105,59,80,200,140,200,253,42,150,158,127,153,13,240,228,230,247,143,
+229,211,175,194,174,13,61,125,198,228,189,207,63,22,31,191,153,35,252,123,
+244,222,224,197,201,242,245,112,169,144,47,119,190,45,207,124,200,143,252,
+95,244,150,165,237,114,41,24,7,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_12 = 412;
+static unsigned char xml_res_file_12[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
+77,69,7,222,11,17,20,2,54,157,54,42,163,0,0,1,41,73,68,65,84,56,203,165,
+147,175,78,195,80,20,198,127,167,235,11,44,4,11,65,160,113,72,82,1,9,19,
+237,168,32,65,19,22,38,120,0,120,2,4,2,7,193,48,131,36,172,183,19,21,51,
+35,40,28,201,4,15,128,66,177,45,65,48,104,15,130,54,225,79,71,59,56,238,
+158,123,127,223,119,238,253,114,133,18,229,186,238,156,72,229,24,88,17,
+225,122,56,28,108,245,122,189,55,0,187,36,124,7,84,129,219,241,248,101,
+59,131,1,172,34,129,212,185,170,202,189,101,177,30,69,209,40,219,115,28,
+199,182,75,220,96,237,67,136,126,16,4,131,172,233,251,254,76,28,39,23,101,
+4,244,123,163,86,219,156,141,227,215,46,200,130,20,209,158,183,209,5,86,
+129,71,160,159,78,179,168,202,60,200,229,175,2,245,122,125,87,85,78,129,
+188,115,79,34,186,100,77,118,246,155,159,96,5,110,128,103,96,4,210,134,
+100,217,24,243,32,249,206,254,190,170,30,166,203,4,164,17,134,237,243,220,
+148,254,3,255,16,152,22,6,168,76,130,69,116,39,12,131,86,81,74,149,52,170,
+3,224,11,108,140,105,149,249,39,226,121,126,3,244,44,123,109,85,221,235,
+116,204,9,37,203,2,61,250,43,12,96,169,202,85,154,111,115,90,24,224,29,
+53,46,134,245,219,91,107,252,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_13 = 887;
+static unsigned char xml_res_file_13[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,42,116,69,88,116,67,114,101,97,116,105,111,110,32,
+84,105,109,101,0,83,111,32,52,32,74,97,110,32,50,48,48,52,32,49,57,58,48,
+56,58,52,48,32,43,48,49,48,48,20,91,120,127,0,0,0,7,116,73,77,69,7,211,
+8,8,11,55,55,137,85,77,213,0,0,0,9,112,72,89,115,0,0,11,18,0,0,11,18,1,
+210,221,126,252,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,208,
+73,68,65,84,120,218,165,82,93,72,83,97,24,126,247,191,213,102,233,164,185,
+230,223,252,171,212,57,149,36,77,215,208,11,149,137,212,205,48,40,47,194,
+64,251,161,40,47,70,42,182,98,4,74,224,15,145,20,171,139,44,188,41,176,
+46,52,9,116,253,49,92,153,44,153,185,90,51,167,204,220,116,110,59,115,231,
+108,167,179,211,153,160,72,66,66,189,240,94,124,188,207,251,124,207,243,
+242,0,252,103,209,118,2,244,245,77,30,68,81,164,193,239,71,30,51,153,145,
+126,12,3,163,78,87,219,184,49,103,236,68,160,84,158,106,81,169,178,154,
+73,146,214,148,155,155,42,114,187,221,7,36,18,37,91,46,175,114,154,205,
+195,30,250,223,150,117,186,49,53,73,162,39,80,52,2,34,17,31,2,1,20,138,
+139,115,248,106,245,49,45,130,32,189,81,204,54,130,222,222,78,186,203,133,
+21,145,36,121,84,44,102,156,169,175,87,72,227,226,120,192,231,179,240,137,
+137,249,46,202,2,204,205,57,1,69,209,167,81,60,243,79,130,140,12,245,76,
+48,184,38,209,235,159,44,217,236,63,82,166,123,134,129,203,98,67,74,114,
+58,171,166,166,250,74,36,66,130,199,19,11,56,30,174,166,224,15,214,9,58,
+58,134,216,92,174,176,39,28,198,87,100,178,88,233,155,215,195,204,67,202,
+114,105,221,89,41,88,169,31,191,121,1,60,99,67,96,50,141,64,98,162,12,140,
+198,41,192,176,144,103,211,2,130,132,20,249,249,194,166,186,186,156,86,
+58,157,193,156,182,217,32,43,83,10,4,9,128,6,195,16,70,80,160,31,86,129,
+253,251,12,48,24,68,208,104,156,76,114,56,2,151,55,9,124,190,192,244,224,
+224,135,69,159,47,12,76,38,45,234,15,166,86,1,62,186,66,176,232,197,33,
+16,37,193,1,112,34,132,113,56,236,46,147,169,123,193,225,208,99,155,55,
+136,143,223,61,91,91,91,196,137,250,163,188,1,16,196,218,215,85,216,77,
+195,194,148,84,2,252,56,29,36,60,18,88,12,186,187,188,92,214,182,245,102,
+235,10,48,44,236,179,217,92,212,50,65,237,210,32,61,53,147,19,154,24,141,
+44,255,18,192,26,99,15,236,139,17,128,231,149,30,132,162,132,253,43,173,
+138,91,91,9,214,131,148,150,86,61,106,54,127,57,82,80,144,158,128,83,82,
+243,242,242,232,179,159,199,105,203,239,159,129,255,211,75,88,120,55,20,
+225,239,226,146,199,75,73,70,242,252,120,161,182,36,153,115,227,173,211,
+176,53,202,52,141,102,192,171,84,230,199,56,157,62,200,206,78,1,30,143,
+160,154,77,53,135,82,136,44,9,30,157,190,39,38,23,47,65,163,106,47,12,24,
+80,194,225,189,205,188,59,219,190,145,3,210,110,95,186,102,181,62,111,64,
+144,213,135,149,149,138,59,118,251,66,196,98,177,105,229,242,28,173,197,
+98,53,25,12,134,235,164,166,48,0,247,71,52,208,160,22,118,188,16,159,7,
+104,106,223,22,223,210,210,54,65,85,85,203,108,69,69,75,127,244,93,82,114,
+181,176,172,236,36,111,99,78,158,75,186,112,179,179,251,231,197,102,205,
+246,229,127,169,223,158,105,64,153,156,76,148,88,0,0,0,0,73,69,78,68,174,
+66,96,130};
+
+static size_t xml_res_size_14 = 681;
+static unsigned char xml_res_file_14[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,45,116,69,88,116,67,114,101,97,116,105,111,110,32,
+84,105,109,101,0,106,101,117,46,32,53,32,100,233,99,46,32,50,48,48,50,32,
+49,50,58,50,49,58,49,48,32,43,48,49,48,48,96,59,210,134,0,0,0,7,116,73,
+77,69,7,211,1,21,20,0,6,240,149,228,165,0,0,0,9,112,72,89,115,0,0,10,240,
+0,0,10,240,1,66,172,52,152,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,
+0,0,1,255,73,68,65,84,120,218,99,96,24,242,128,17,155,96,122,122,58,223,
+155,55,111,130,25,25,25,109,222,191,127,191,254,243,231,207,59,79,157,58,
+245,27,167,1,81,81,81,214,108,108,108,29,2,2,2,31,229,229,229,53,126,253,
+250,165,200,194,194,194,196,197,197,197,240,247,239,95,134,243,231,207,
+95,187,121,243,102,222,145,35,71,246,162,27,192,12,34,100,101,101,247,24,
+24,24,24,70,68,68,168,9,11,11,11,241,242,242,50,254,248,241,131,225,213,
+171,87,12,207,159,63,103,224,228,228,20,5,226,88,62,62,62,109,30,30,158,
+51,175,95,191,254,0,51,128,5,68,0,157,201,164,170,170,202,112,231,206,29,
+16,27,108,235,237,219,183,25,174,94,189,202,32,36,36,196,160,174,174,206,
+208,211,211,3,114,109,104,83,83,139,223,187,247,239,102,125,255,250,185,
+110,214,236,57,31,192,46,144,150,150,62,245,237,219,183,192,15,31,62,112,
+177,179,179,51,0,93,194,96,98,100,204,240,244,197,23,134,223,63,191,51,
+188,126,243,146,65,78,86,150,225,234,181,59,12,134,166,78,44,170,86,254,
+230,103,142,238,82,191,112,238,204,74,176,1,79,129,64,80,80,112,251,253,
+251,247,3,77,77,77,121,190,126,254,200,112,227,241,79,134,216,248,8,6,94,
+117,123,134,125,107,231,48,8,8,240,51,252,21,210,98,80,208,84,102,248,198,
+204,204,112,251,234,117,233,83,135,119,119,48,193,252,178,103,207,158,203,
+192,128,180,219,179,123,247,189,139,87,110,49,72,154,88,49,220,255,204,
+192,240,151,159,151,129,133,157,243,242,150,205,155,183,63,124,241,154,
+225,248,99,6,134,171,143,24,24,62,191,0,250,23,22,136,48,112,239,222,189,
+119,192,64,220,242,247,207,207,96,102,21,47,190,87,95,153,25,94,222,189,
+207,112,97,215,162,238,223,127,255,23,252,255,240,68,237,245,227,103,58,
+79,78,175,249,116,249,236,209,132,167,207,158,63,196,154,14,146,147,19,
+53,255,50,241,237,230,147,80,147,126,118,253,208,161,39,143,239,123,158,
+56,121,234,27,72,206,217,201,65,13,24,208,175,206,157,191,248,129,1,31,
+176,179,179,225,180,177,182,84,197,149,216,134,17,0,0,4,223,217,134,133,
+215,167,132,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_15 = 367;
+static unsigned char xml_res_file_15[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
+0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
+89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
+102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
+111,114,103,155,238,60,26,0,0,0,99,80,76,84,69,255,255,255,0,0,0,0,0,0,
+0,0,0,0,0,0,27,27,27,30,30,30,30,30,30,44,44,44,49,49,49,49,49,49,66,66,
+66,72,72,72,74,74,75,109,109,109,108,108,109,50,50,51,89,89,89,216,216,
+218,238,238,239,215,215,217,167,167,168,168,168,169,193,193,194,194,194,
+194,195,195,196,198,198,198,199,199,199,218,218,219,219,219,221,241,241,
+242,254,254,254,255,255,255,78,245,20,106,0,0,0,21,116,82,78,83,0,21,29,
+47,48,67,68,69,72,74,75,80,80,85,96,97,131,144,251,251,252,107,174,169,
+164,0,0,0,93,73,68,65,84,120,218,141,203,235,14,64,32,0,64,225,46,148,46,
+238,228,22,122,255,167,84,141,98,179,113,126,126,219,1,136,208,43,130,128,
+77,110,49,233,64,172,49,225,32,215,122,80,170,247,85,52,133,160,52,102,
+142,83,139,29,76,113,106,60,140,58,212,37,14,22,19,218,255,64,241,9,136,
+241,250,1,182,226,6,248,21,16,99,252,44,131,7,217,234,22,224,97,207,36,
+126,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_16 = 745;
+static unsigned char xml_res_file_16[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,42,116,69,88,116,67,114,101,97,116,105,111,110,32,
+84,105,109,101,0,68,111,32,56,32,74,97,110,32,50,48,48,52,32,49,49,58,49,
+55,58,51,52,32,43,48,49,48,48,72,183,249,154,0,0,0,7,116,73,77,69,7,212,
+1,8,10,18,7,86,168,149,96,0,0,0,9,112,72,89,115,0,0,11,18,0,0,11,18,1,210,
+221,126,252,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,66,73,68,
+65,84,120,218,165,147,205,107,19,65,24,198,159,221,236,154,96,77,91,83,
+99,241,3,171,98,123,80,80,16,138,7,207,162,160,169,7,69,61,25,168,160,82,
+240,175,17,212,139,168,127,65,161,20,189,9,138,84,16,122,236,197,88,108,
+155,102,19,211,108,55,201,126,207,236,108,124,103,55,77,209,210,83,7,94,
+134,153,225,249,189,207,251,206,12,112,192,161,252,191,209,123,120,177,
+128,200,155,67,161,88,194,240,232,36,56,7,140,90,5,245,141,5,196,225,107,
+229,59,182,247,5,244,202,151,238,224,244,196,123,220,190,63,134,177,2,208,
+172,1,166,9,56,14,176,190,14,124,249,220,130,185,85,86,150,241,113,15,32,
+17,95,189,54,143,242,83,13,245,85,160,177,6,116,73,104,123,20,46,65,60,
+244,2,134,104,105,137,235,27,198,93,101,5,159,164,78,77,196,143,78,21,80,
+60,241,14,15,30,107,168,174,0,150,1,68,130,14,232,48,142,211,12,52,43,140,
+65,191,114,89,111,229,14,127,232,156,193,209,1,0,142,242,28,55,102,142,
+193,160,172,102,3,240,67,128,81,237,156,17,136,0,156,96,66,164,80,30,65,
+59,123,174,216,136,241,108,23,112,36,63,131,241,147,72,172,239,88,246,2,
+32,32,72,184,3,139,250,144,8,185,124,14,92,205,148,164,84,75,0,35,249,41,
+152,127,128,118,151,144,25,178,30,167,130,144,165,0,57,75,72,36,33,17,162,
+144,67,232,250,20,45,250,128,128,41,176,232,118,28,202,172,168,105,221,
+210,46,235,59,8,164,11,89,78,234,36,244,66,154,122,202,174,3,163,90,161,
+171,154,78,172,75,128,236,158,172,91,190,1,202,150,128,36,64,134,96,240,
+236,0,174,207,43,3,128,104,152,139,234,239,213,105,5,60,189,217,30,1,68,
+156,90,78,178,74,251,82,204,209,105,185,112,219,30,60,55,94,28,52,49,19,
+226,21,251,246,213,74,178,186,94,26,62,69,224,83,4,105,102,234,3,167,6,
+111,111,217,104,212,172,109,85,197,155,1,64,249,137,86,214,104,62,177,127,
+44,11,196,210,110,144,10,67,2,176,48,89,59,166,141,90,181,141,122,213,18,
+217,110,52,123,211,134,185,231,41,139,243,184,103,12,15,189,29,157,156,
+24,201,13,101,33,66,106,24,53,208,161,154,29,203,199,230,102,167,157,235,
+178,217,235,62,230,247,253,76,107,199,49,222,2,94,136,67,90,73,213,244,
+11,81,220,131,231,176,95,142,23,47,100,51,120,121,203,69,243,160,63,248,
+159,241,23,68,229,79,41,23,72,123,24,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_17 = 62919;
+static unsigned char xml_res_file_17[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,242,0,0,1,242,8,2,0,
+0,0,94,125,4,71,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
+0,0,0,7,116,73,77,69,7,215,11,11,18,54,5,133,234,34,195,0,0,0,7,116,69,
+88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,116,68,
+101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,69,88,
+116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,69,
+88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,9,0,
+0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,0,0,
+11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,143,
+0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,0,0,
+7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,69,
+88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,116,
+84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,236,189,
+91,179,28,87,118,38,246,173,181,119,102,85,157,11,110,36,155,183,238,233,
+110,221,103,44,133,61,242,120,28,19,225,23,191,56,66,225,23,255,68,191,
+251,15,216,14,63,104,28,142,145,195,118,140,20,30,89,82,116,75,77,138,100,
+243,2,224,224,156,83,183,204,220,123,173,245,249,33,179,10,135,32,64,118,
+163,65,128,40,212,199,98,161,42,79,86,214,206,202,111,175,92,123,93,5,192,
+173,91,183,150,203,165,170,70,196,98,177,232,186,110,54,155,13,195,128,
+35,142,216,225,236,236,44,165,148,115,110,219,118,54,155,181,109,155,115,
+78,41,1,80,213,166,105,198,237,77,211,52,77,51,110,127,234,254,170,250,
+91,109,23,145,111,255,222,166,105,198,237,77,211,168,234,124,62,7,32,247,
+238,221,251,135,127,248,135,119,222,121,7,128,153,229,156,1,148,82,218,
+182,125,149,191,226,17,175,9,34,226,169,219,85,245,251,59,62,201,145,217,
+207,130,140,59,153,153,153,205,231,243,213,106,117,126,126,62,110,124,234,
+7,158,181,93,68,126,235,33,31,241,195,195,179,174,172,126,17,242,0,0,1,
+0,73,68,65,84,239,158,166,36,199,125,198,231,111,167,215,19,135,37,249,
+157,199,225,14,227,219,223,228,248,55,247,31,143,159,155,166,1,176,92,46,
+239,221,187,55,254,161,214,218,52,205,179,104,122,164,239,97,227,89,215,
+119,148,154,178,195,126,123,223,247,242,52,60,177,255,248,17,17,113,247,
+253,246,155,18,125,228,229,55,143,95,74,249,230,193,1,212,90,111,30,231,
+137,155,131,140,159,28,201,125,243,28,94,212,77,228,136,3,195,77,17,139,
+223,65,217,120,214,113,110,110,255,78,101,227,89,200,183,110,221,26,245,
+233,136,88,175,215,183,110,221,26,191,227,168,132,188,153,248,78,37,100,
+47,119,191,253,131,251,183,79,108,127,130,166,227,113,110,238,243,196,241,
+159,122,28,146,223,220,225,230,241,69,85,31,62,124,184,88,44,198,37,36,
+128,241,54,241,124,179,228,136,67,197,77,229,225,38,167,247,172,250,13,
+229,218,94,217,120,214,241,247,223,178,223,254,205,141,223,137,105,174,
+68,68,68,228,156,151,203,229,233,233,233,145,211,71,124,39,158,74,208,253,
+130,239,137,37,96,68,140,251,223,137,160,211,47,0,0,1,0,73,68,65,84,84,
+119,121,3,163,202,240,45,199,249,150,237,227,193,199,227,143,199,17,85,
+29,134,33,231,236,238,227,174,55,37,252,17,71,188,142,56,174,11,143,56,
+64,28,105,125,196,1,226,72,235,35,14,16,71,90,31,113,128,56,210,250,136,
+3,196,145,214,71,28,32,142,180,62,226,0,161,251,192,191,103,121,35,143,
+56,226,181,195,81,90,31,113,128,56,210,250,136,3,196,145,214,71,28,32,142,
+180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,1,226,
+72,235,35,14,16,71,90,31,113,128,56,210,250,136,3,196,145,214,71,28,32,
+142,180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,1,
+226,72,235,35,14,16,71,90,31,113,128,56,210,250,136,3,196,145,214,71,28,
+32,142,180,62,226,0,113,164,245,17,7,136,35,173,143,56,64,28,105,125,196,
+1,34,63,209,179,3,47,171,93,198,243,85,177,255,38,66,42,160,227,67,1,1,
+72,152,225,235,205,112,94,63,188,228,203,113,96,200,223,189,203,15,27,102,
+166,154,4,4,195,153,84,89,197,5,10,0,0,1,0,73,68,65,84,69,229,181,231,244,
+17,191,35,94,49,173,127,119,81,212,106,43,162,16,1,25,225,160,64,15,167,
+67,200,81,84,63,31,94,25,173,95,212,5,19,217,157,130,64,147,50,140,116,
+17,125,229,51,246,119,196,145,208,191,11,94,255,37,99,128,213,89,29,16,
+64,3,82,60,106,248,171,30,214,17,175,18,63,32,145,246,172,214,102,223,137,
+0,68,85,0,2,134,76,205,208,3,20,117,207,253,251,188,129,248,161,72,235,
+231,47,211,154,32,57,73,146,0,214,133,143,150,221,122,160,189,208,177,253,
+16,112,44,99,251,91,225,7,36,173,159,15,230,78,8,168,125,141,7,23,215,87,
+203,205,201,249,45,109,110,45,94,251,51,59,226,249,241,202,46,190,97,16,
+136,64,20,2,170,16,8,128,24,104,77,147,85,196,9,98,210,38,156,224,208,183,
+179,150,68,64,84,181,212,32,208,54,250,85,77,172,112,143,171,194,79,150,
+237,229,218,239,4,183,45,231,183,227,164,33,109,131,60,171,152,71,96,46,
+64,141,200,192,141,91,249,235,114,79,127,93,198,249,3,193,43,163,53,65,
+0,2,225,155,131,154,49,0,0,1,0,73,68,65,84,120,205,68,32,0,208,184,171,
+16,0,194,1,145,177,133,53,161,41,65,210,184,79,0,157,97,59,12,109,59,191,
+184,46,180,193,35,174,170,94,110,236,209,166,12,102,80,249,249,217,201,
+162,73,146,26,64,20,224,200,10,85,32,94,209,25,31,241,242,240,202,104,173,
+80,0,4,64,8,0,25,27,85,67,37,70,14,10,67,118,75,63,21,104,211,18,216,14,
+62,4,66,210,213,214,150,155,162,41,54,67,120,45,22,188,142,118,229,249,
+218,155,245,214,251,232,255,244,157,230,124,158,179,100,144,50,46,39,21,
+144,163,134,250,70,224,213,217,173,161,4,72,4,25,116,64,4,42,34,202,24,
+9,40,162,148,52,234,38,213,169,89,250,129,23,215,155,245,16,204,243,77,
+137,205,32,169,201,213,45,34,149,224,58,242,6,121,77,169,101,187,42,245,
+211,139,213,59,247,22,103,72,97,131,100,112,52,0,34,166,217,115,196,65,
+227,85,210,122,255,10,16,66,32,163,50,221,64,18,33,85,16,132,25,186,193,
+187,126,72,237,188,27,202,197,178,116,6,157,163,247,212,57,82,202,67,117,
+55,100,172,77,165,0,0,1,0,73,68,65,84,12,142,43,227,245,192,171,129,253,
+182,74,221,254,243,87,250,135,255,226,71,139,38,193,145,50,68,24,20,85,
+193,81,94,191,1,120,101,180,142,32,68,68,116,212,64,136,233,209,33,51,80,
+29,125,101,113,20,139,245,118,88,111,183,169,165,5,183,53,185,164,140,182,
+139,216,84,147,240,77,33,2,131,241,186,212,235,62,86,67,25,250,130,210,
+255,211,23,221,191,233,254,224,110,66,14,66,144,4,129,152,140,219,71,28,
+58,94,165,243,124,92,221,79,106,70,192,204,61,98,99,217,157,93,177,109,
+177,26,82,41,219,193,183,29,179,131,34,125,213,16,201,176,237,80,55,93,
+159,155,184,28,92,233,213,252,186,231,170,151,174,175,94,6,169,229,163,
+207,31,60,90,149,247,155,60,175,181,153,5,131,14,79,154,142,74,200,155,
+128,87,183,100,148,105,201,24,64,177,232,135,210,151,82,205,86,182,40,238,
+219,190,110,139,135,100,228,89,245,84,208,134,52,30,177,41,165,88,81,181,
+113,231,57,228,114,61,100,184,153,173,250,88,117,232,134,138,210,39,235,
+239,95,92,47,55,93,127,58,106,78,186,33,0,0,1,0,73,68,65,84,211,90,22,11,
+179,136,74,211,148,51,218,87,117,202,71,188,52,252,214,180,38,249,77,27,
+42,201,190,150,156,82,78,89,166,13,46,16,136,148,232,147,170,80,25,146,
+164,193,206,199,109,45,134,240,110,136,222,100,59,96,213,75,177,57,52,109,
+203,166,186,75,106,44,183,219,222,232,17,148,229,166,204,130,53,228,122,
+136,206,19,114,219,87,12,3,103,196,103,93,56,181,248,172,148,24,106,245,
+66,27,132,117,214,47,110,255,251,191,249,155,15,254,252,39,127,246,225,
+219,155,190,244,204,103,39,39,45,106,49,3,160,170,34,178,143,53,63,226,
+192,240,60,210,250,9,102,143,126,221,54,39,157,86,100,225,30,100,136,136,
+138,36,109,20,10,209,16,6,160,130,32,42,177,29,172,47,117,168,28,92,186,
+138,190,122,9,65,196,224,168,6,4,107,112,91,157,34,78,217,12,182,13,86,
+202,245,182,246,46,200,232,135,82,134,50,51,246,133,78,154,75,49,55,51,
+115,243,168,100,117,139,229,166,255,234,114,245,147,59,167,185,89,144,110,
+181,180,8,50,137,200,83,39,231,17,7,131,23,240,35,168,205,0,0,1,0,73,68,
+65,84,166,132,164,73,79,38,35,64,202,168,60,171,38,36,2,78,12,14,11,6,164,
+90,12,165,12,134,161,90,113,22,202,96,220,84,175,1,209,212,87,25,42,168,
+44,198,117,231,46,48,98,217,213,24,88,67,150,157,245,46,146,181,31,106,
+41,101,86,177,41,18,16,139,48,119,51,119,175,17,149,81,194,249,240,114,
+243,79,159,95,188,127,251,236,253,183,103,16,150,161,54,72,76,138,157,211,
+238,24,60,116,168,120,97,74,72,132,137,170,138,138,106,82,37,48,58,63,6,
+27,181,103,108,74,29,44,42,209,215,218,13,37,235,105,49,41,206,10,244,206,
+109,241,26,164,70,95,218,161,210,17,189,197,106,235,46,172,129,229,214,
+152,114,37,86,61,6,135,102,12,5,181,96,78,108,6,134,48,8,15,210,35,34,192,
+0,130,148,71,155,250,203,47,151,63,121,103,125,231,238,157,69,66,53,179,
+102,1,137,113,181,186,63,145,35,185,15,15,207,169,132,224,134,192,219,189,
+205,128,80,18,0,2,14,88,192,131,203,149,83,100,112,223,86,27,130,21,24,
+42,187,18,139,54,15,142,226,81,22,191,234,168,0,0,1,0,73,68,65,84,201,206,
+184,46,40,30,20,108,7,246,133,14,110,107,44,59,51,73,149,178,236,34,37,
+24,177,238,80,136,228,40,21,86,80,5,131,9,1,130,1,32,4,156,28,241,13,218,
+109,173,255,124,89,62,190,88,255,254,79,202,124,46,97,213,124,46,240,81,
+177,30,153,189,63,169,35,173,15,9,207,175,132,60,25,42,153,114,0,78,56,
+97,129,98,44,213,170,249,245,198,40,106,196,224,110,208,80,45,144,10,154,
+69,177,24,60,74,200,182,98,213,179,175,12,196,166,183,190,152,65,182,230,
+203,206,76,97,144,101,23,141,84,131,110,122,51,74,211,230,90,35,106,80,
+89,34,70,87,14,40,66,81,36,97,22,48,161,22,153,127,181,217,124,124,177,
+126,180,90,223,210,20,230,121,126,150,193,81,78,31,215,139,7,140,23,166,
+132,56,80,28,125,241,161,122,117,214,96,181,48,143,117,0,2,11,22,163,129,
+20,22,139,82,163,74,55,84,47,134,33,116,91,98,185,245,174,120,64,215,93,
+233,106,53,200,214,98,217,91,36,152,232,170,196,156,230,144,237,96,14,109,
+197,195,34,156,201,163,20,39,8,252,0,0,1,0,73,68,65,84,132,67,84,40,0,53,
+148,145,148,89,130,98,136,60,191,30,186,207,47,215,23,87,87,239,181,115,
+56,116,86,230,109,26,241,196,61,231,133,252,154,71,252,64,240,156,210,250,
+9,197,20,64,9,116,197,55,221,208,13,213,66,28,26,144,160,120,74,128,88,
+248,16,52,51,35,74,241,190,12,181,209,82,163,184,20,79,219,130,237,224,
+221,16,1,172,135,232,75,53,209,173,199,182,152,103,9,197,182,134,74,4,196,
+156,46,204,193,32,73,144,112,250,24,199,36,147,163,82,16,170,84,247,64,
+51,235,93,174,54,253,106,179,237,123,38,104,170,214,102,81,213,136,175,
+197,241,29,53,144,3,67,142,136,241,26,239,9,58,82,182,250,32,34,42,42,162,
+143,227,55,136,148,116,12,122,30,181,231,98,50,148,90,204,122,133,7,205,
+105,154,3,106,33,230,116,231,166,118,22,172,33,37,116,112,237,42,187,34,
+197,26,143,249,106,179,237,139,71,74,125,197,229,166,244,37,52,231,7,165,
+4,97,30,213,163,34,213,193,44,12,212,203,26,0,198,200,145,109,233,0,136,
+104,25,44,148,42,145,129,192,42,255,0,0,1,0,73,68,65,84,133,10,130,116,
+130,72,128,204,180,26,22,91,156,220,95,251,71,95,246,63,61,155,189,115,
+107,6,43,181,2,64,206,25,187,133,193,222,223,249,90,227,88,87,228,38,50,
+118,63,196,19,63,135,168,10,4,162,128,76,191,24,65,194,232,17,8,194,33,
+78,169,22,197,188,122,56,212,156,22,172,14,15,90,208,140,230,209,85,90,
+176,6,134,136,193,165,171,236,170,151,234,197,135,117,87,250,26,174,232,
+13,155,190,244,53,196,88,107,4,97,227,17,156,230,240,96,16,49,218,86,0,
+10,49,133,154,18,2,114,114,85,142,133,111,176,139,45,9,77,78,138,74,245,
+120,120,189,185,220,204,110,159,206,165,86,205,170,170,238,238,238,251,
+19,63,170,218,7,134,60,154,5,110,110,26,223,234,84,168,64,98,10,31,5,131,
+36,170,199,200,90,39,156,98,129,106,97,206,42,98,33,213,89,28,230,172,206,
+98,97,30,171,2,115,148,224,224,236,13,157,69,87,188,84,47,130,109,239,125,
+13,23,233,13,235,226,125,13,81,12,46,36,45,96,1,115,169,1,15,4,17,24,69,
+53,192,221,11,232,97,30,202,0,0,1,0,73,68,65,84,0,132,8,66,32,66,0,49,50,
+26,66,145,72,179,26,84,213,161,198,39,15,174,62,251,209,236,157,187,183,
+169,67,110,210,19,180,62,36,66,31,69,245,136,103,74,235,125,120,114,4,34,
+224,17,30,140,96,141,157,178,17,59,187,135,143,132,86,51,22,147,193,88,
+157,197,57,212,48,143,229,32,22,28,140,131,115,240,29,173,205,67,82,103,
+58,56,12,24,92,10,83,5,72,169,54,26,161,97,33,35,185,157,18,68,136,79,9,
+7,16,8,101,55,66,21,136,144,227,178,113,20,221,0,32,69,154,234,150,84,135,
+144,79,47,183,31,95,116,191,247,227,104,146,213,90,85,213,204,114,206,227,
+194,241,48,60,142,7,112,10,47,16,249,169,102,13,0,132,16,8,142,230,103,
+140,10,70,68,4,178,51,42,195,118,182,60,11,122,160,84,169,46,131,73,111,
+44,142,222,56,24,171,177,171,169,250,40,170,57,56,59,143,193,88,156,2,173,
+145,140,82,41,149,8,209,16,56,232,212,32,28,116,96,122,16,65,248,158,211,
+24,165,245,52,236,70,100,90,40,238,255,70,5,8,157,27,55,164,206,103,148,
+0,0,1,0,73,68,65,84,10,86,73,15,123,249,228,106,120,176,234,111,207,102,
+238,110,102,177,195,222,134,253,242,126,242,35,190,127,228,189,63,101,255,
+28,17,34,82,35,77,180,38,61,88,131,30,12,210,33,30,98,84,35,140,176,96,
+241,48,231,0,86,227,96,209,91,12,142,222,162,183,168,30,189,177,26,7,103,
+239,81,130,197,163,4,107,144,238,230,52,103,141,176,49,71,6,99,92,83,154,
+178,102,192,192,196,239,0,108,90,49,142,42,182,236,211,1,118,21,65,56,234,
+33,251,212,91,151,134,162,238,17,146,171,44,62,189,174,159,62,188,250,23,
+183,239,213,154,71,105,29,17,55,79,252,240,240,38,123,79,31,211,122,20,
+93,251,139,93,107,140,75,49,7,109,148,217,100,80,138,51,98,47,167,81,44,
+250,226,213,172,0,213,162,55,239,61,6,71,231,49,88,84,247,90,83,245,168,
+230,53,188,6,60,34,24,193,160,59,131,140,136,8,78,92,13,192,41,74,48,4,
+33,12,48,72,39,131,244,144,41,229,17,147,74,61,98,92,74,142,107,199,29,
+179,5,2,72,147,82,178,106,148,20,237,217,253,4,2,177,7,0,0,1,0,73,68,65,
+84,213,213,167,95,93,116,63,62,61,109,155,148,146,153,141,122,136,170,142,
+103,125,72,26,54,14,119,174,254,134,248,154,221,250,166,244,114,247,81,
+0,6,16,83,198,33,2,168,230,163,74,224,68,117,20,139,82,189,84,171,162,197,
+163,152,23,231,232,21,31,204,171,7,61,220,99,252,47,200,32,131,193,201,
+140,129,241,246,47,128,42,148,99,138,248,104,143,38,119,59,143,159,34,19,
+101,47,172,177,191,106,148,253,53,36,199,63,77,218,183,38,213,240,160,40,
+243,108,185,180,139,171,229,80,202,200,102,119,143,105,70,77,119,167,151,
+250,171,31,241,61,35,19,116,88,66,54,146,212,8,152,139,136,74,142,240,168,
+193,74,24,197,40,213,105,17,219,234,54,89,42,164,82,139,115,160,84,73,163,
+221,163,24,74,160,186,88,104,132,48,98,3,186,160,138,154,72,64,64,10,67,
+35,250,36,30,28,181,106,66,16,148,64,98,110,144,70,205,55,17,128,66,84,
+16,22,225,147,17,4,248,186,40,218,88,76,170,182,136,138,96,162,168,52,221,
+178,157,207,187,52,47,101,219,74,244,30,31,243,27,129,193,0,0,1,0,73,68,
+65,84,95,197,255,123,209,252,187,211,110,38,66,99,63,36,93,220,5,230,90,
+134,121,46,21,72,41,61,81,237,251,245,165,251,235,59,242,23,130,201,138,
+55,62,143,202,244,168,218,142,70,189,32,34,24,132,147,30,28,109,32,30,59,
+3,28,195,28,102,211,70,143,240,8,119,120,200,184,179,71,0,47,161,44,239,
+222,220,247,216,2,232,72,70,56,52,144,92,196,37,117,230,23,171,174,235,
+114,157,89,164,68,175,244,194,148,136,192,46,247,225,251,31,234,17,47,3,
+10,140,230,178,233,222,63,133,43,97,52,75,239,28,43,65,115,86,143,106,97,
+38,213,96,21,181,178,86,212,74,51,152,137,79,202,198,72,110,142,214,192,
+136,239,159,40,147,116,222,167,40,78,138,148,107,91,66,13,41,52,155,180,
+85,102,215,131,124,242,96,181,90,13,67,239,172,14,43,81,251,136,18,112,
+40,143,156,62,36,236,238,185,59,29,218,201,241,49,202,227,26,163,227,48,
+202,232,205,246,112,135,79,14,23,140,94,64,115,184,79,31,220,169,224,28,
+103,200,75,40,160,36,79,252,59,146,26,168,146,7,186,108,67,165,0,0,1,0,
+73,68,65,84,138,35,133,54,38,185,234,252,186,234,71,247,87,15,174,203,186,
+119,15,192,141,181,119,27,156,230,147,31,253,72,238,3,129,42,84,144,70,
+219,239,40,170,141,168,59,67,135,79,62,145,201,51,98,1,138,18,26,163,139,
+36,70,165,69,40,83,247,22,66,33,10,36,72,26,115,190,190,247,51,248,186,
+217,121,167,65,81,180,245,80,104,18,205,78,101,158,245,152,125,113,61,124,
+118,85,30,117,24,92,220,195,173,120,45,230,97,129,155,180,62,146,251,117,
+135,98,23,71,177,151,214,70,26,195,246,234,71,140,14,17,113,138,67,38,109,
+229,6,171,41,132,144,144,253,3,178,171,26,249,253,215,153,254,250,23,236,
+203,141,144,34,4,147,170,142,169,58,169,245,52,91,14,241,203,135,219,47,
+54,182,54,20,15,171,230,230,238,48,215,35,167,15,9,99,116,222,180,100,28,
+213,134,192,228,190,30,163,62,2,211,99,148,211,35,195,3,177,139,10,113,
+76,11,203,177,226,233,254,177,163,248,247,13,217,207,162,175,125,189,2,
+10,230,36,73,193,8,164,148,154,121,69,250,229,197,250,215,174,169,237,35,
+0,0,1,0,73,68,65,84,171,225,186,68,111,81,205,221,72,151,136,39,219,157,
+29,241,90,99,188,156,99,228,244,13,3,200,104,18,217,91,69,48,186,239,198,
+144,162,209,138,61,174,39,39,93,154,8,222,208,78,39,179,243,75,209,84,229,
+105,111,70,3,182,0,73,36,9,192,80,81,205,25,146,190,92,118,143,186,178,
+169,94,60,220,199,124,98,5,211,55,135,251,134,219,200,94,107,100,151,112,
+56,168,100,8,85,35,82,4,33,85,37,16,49,218,50,198,84,193,8,120,24,147,67,
+40,42,138,36,136,128,50,20,20,21,165,168,48,9,199,176,103,130,194,112,209,
+233,30,32,28,125,39,187,199,211,49,126,225,24,85,56,205,142,175,57,203,
+159,4,159,248,195,46,112,132,210,213,156,106,156,136,54,205,60,203,176,
+246,2,206,79,31,213,197,127,250,232,225,127,126,39,126,239,15,223,174,69,
+243,201,105,110,98,216,124,53,59,191,131,93,52,223,247,17,37,242,172,120,
+232,103,77,253,227,164,250,93,112,80,30,227,39,240,216,72,178,83,84,68,
+20,130,213,118,120,120,189,89,245,102,100,41,67,25,122,200,47,24,156,174,
+0,0,1,0,73,68,65,84,20,53,112,84,66,14,3,7,76,235,177,116,229,40,122,19,
+36,65,51,52,67,245,114,181,253,248,254,242,98,99,198,84,250,190,219,110,
+71,90,191,4,102,31,101,240,203,193,65,211,122,12,137,18,129,42,82,150,148,
+145,26,81,92,247,254,233,229,240,96,75,151,236,94,251,126,27,144,125,148,
+200,247,52,154,99,248,235,203,196,193,210,90,31,107,30,123,81,221,32,53,
+89,146,177,253,170,147,47,55,49,132,8,233,181,214,27,145,79,55,241,170,
+79,226,136,231,196,193,210,122,39,173,199,190,6,73,52,35,101,164,70,21,
+152,159,94,90,251,233,101,127,181,238,233,22,110,165,142,89,96,190,143,
+203,157,14,241,125,50,251,56,115,190,63,28,44,173,101,122,236,219,137,41,
+52,67,83,82,73,243,243,181,55,159,220,95,126,117,113,105,181,128,81,170,
+221,20,213,227,17,190,111,78,127,127,7,63,226,96,105,253,216,134,184,119,
+121,138,64,84,128,212,206,134,208,135,215,235,171,235,85,173,149,12,51,
+191,185,94,60,114,238,117,199,247,79,107,78,225,34,143,95,236,187,122,61,
+13,5,195,168,71,0,0,1,0,73,68,65,84,34,224,88,35,146,49,49,147,124,142,
+149,220,0,49,97,136,11,76,53,36,9,114,203,102,62,155,205,74,215,35,47,62,
+185,230,223,124,229,247,121,119,91,181,229,48,12,131,187,3,24,181,17,124,
+87,70,122,181,222,124,8,24,65,2,134,168,140,10,172,61,12,240,199,179,42,
+64,199,208,59,98,51,116,4,140,232,134,24,39,155,83,150,130,165,196,32,18,
+34,165,86,24,132,34,46,181,214,90,171,187,31,231,216,115,224,160,123,205,
+238,242,193,128,201,18,1,17,147,70,218,57,235,16,208,71,203,205,87,23,87,
+239,126,120,86,251,46,231,118,159,183,43,34,227,243,183,36,165,55,185,221,
+125,1,193,208,177,140,14,34,165,177,203,66,184,135,16,105,188,81,180,179,
+4,206,84,4,204,66,162,10,102,0,18,57,31,122,17,105,91,5,64,69,104,168,38,
+42,26,52,47,225,23,58,84,28,172,18,178,183,132,128,130,49,160,92,68,68,
+107,90,232,252,20,154,92,243,103,15,151,191,250,252,129,67,135,126,99,102,
+55,87,141,191,193,122,78,129,4,10,220,225,161,164,144,136,80,194,32,177,
+195,0,0,1,0,73,68,65,84,88,148,206,135,33,105,210,156,135,144,18,18,34,
+128,186,11,32,140,209,51,74,32,32,54,139,220,50,143,226,61,167,76,137,138,
+82,81,246,95,115,52,203,60,7,14,86,90,11,101,47,173,167,252,45,81,104,234,
+181,205,173,120,191,1,230,95,174,174,126,245,96,213,83,195,199,156,93,115,
+247,39,170,78,62,19,65,200,110,206,140,166,113,16,238,80,245,8,104,19,34,
+1,60,234,188,27,134,118,190,240,82,135,190,220,186,61,171,86,221,237,92,
+102,99,229,149,119,103,51,0,110,4,37,101,201,148,210,111,20,244,38,237,
+7,192,67,169,168,246,210,112,176,180,78,72,99,62,3,48,50,91,169,9,4,117,
+14,120,206,138,52,191,94,205,126,189,142,135,91,187,123,130,169,208,211,
+55,108,124,207,132,7,114,130,10,36,239,86,10,210,91,204,114,42,152,151,
+138,148,176,236,240,233,87,203,229,182,111,231,139,194,121,223,151,91,67,
+169,86,204,203,121,151,35,44,34,250,119,91,183,232,183,195,105,59,251,224,
+110,106,32,45,79,144,149,250,88,255,249,254,156,68,135,138,131,165,181,
+231,135,221,132,0,0,1,0,73,68,65,84,80,64,217,101,164,239,2,66,148,104,
+114,116,54,203,202,104,216,156,223,31,240,143,95,92,189,247,99,213,89,173,
+181,222,204,75,255,22,197,26,0,116,138,186,173,152,34,114,183,5,171,109,
+180,196,163,171,186,233,107,228,102,51,216,131,235,82,66,23,41,175,35,117,
+37,173,123,29,6,41,5,39,78,179,112,247,139,242,80,36,15,155,225,206,252,
+180,54,231,119,21,39,166,139,252,181,123,197,88,242,225,240,170,62,124,
+127,56,88,90,43,198,68,119,0,83,85,51,8,69,181,213,228,235,210,102,116,
+85,209,158,95,148,238,111,63,250,252,79,110,191,181,152,159,142,198,135,
+177,250,181,251,212,180,96,172,173,250,20,36,1,48,16,203,206,58,215,42,
+186,220,250,229,245,86,20,235,109,223,21,99,242,18,216,122,131,148,67,230,
+219,176,222,93,61,122,227,80,232,25,181,138,155,172,183,165,157,231,213,
+58,190,72,219,53,23,167,236,111,105,253,163,159,222,189,235,125,211,52,
+41,61,78,47,58,42,33,191,57,14,150,214,59,51,226,142,215,66,64,64,105,154,
+100,97,169,129,147,72,63,6,194,246,0,0,1,0,73,68,65,84,179,141,245,159,
+124,121,113,181,62,121,255,174,237,87,141,35,82,74,223,202,36,6,216,21,
+187,90,119,171,42,61,243,213,166,92,92,175,79,78,78,6,107,12,201,153,42,
+163,11,154,199,198,251,136,174,239,251,148,116,24,202,48,88,78,109,53,15,
+143,25,23,50,59,43,142,71,155,237,218,46,172,187,56,207,117,189,72,255,
+213,162,159,207,231,139,197,98,63,175,142,180,254,205,241,253,211,122,159,
+115,243,155,197,91,191,40,152,148,27,89,5,187,84,8,77,195,106,149,206,63,
+188,40,5,105,141,116,61,183,126,217,188,245,191,220,191,253,193,7,229,60,
+174,251,154,135,91,31,212,176,219,221,195,118,241,222,3,91,220,69,8,35,
+134,218,204,102,8,130,142,156,135,40,31,247,243,171,235,1,218,92,94,203,
+114,61,180,243,220,151,68,61,223,186,117,165,12,30,161,121,240,88,117,67,
+13,166,134,197,164,239,177,17,150,33,74,177,173,22,51,115,15,77,73,151,
+87,181,186,164,60,112,97,233,189,109,141,229,63,230,255,221,235,239,189,
+149,255,135,255,178,185,67,204,80,165,26,218,131,16,8,241,0,0,1,0,73,68,
+65,84,197,88,106,208,199,250,91,68,45,190,104,147,10,16,7,108,211,122,30,
+28,176,180,126,58,52,37,17,21,85,74,146,148,67,82,103,113,189,25,46,150,
+246,206,226,36,149,1,253,86,102,57,232,168,37,165,5,88,147,164,212,182,
+16,117,114,61,88,206,122,181,229,23,23,155,213,122,211,204,78,150,93,217,
+20,43,98,219,190,14,213,154,185,108,6,27,44,92,185,173,92,118,86,156,218,
+104,181,218,245,117,144,50,148,90,74,237,80,205,44,220,23,179,121,82,90,
+13,17,56,170,155,185,133,52,101,219,215,191,251,248,242,237,147,252,103,
+239,157,254,139,219,205,188,109,166,182,128,176,36,72,80,10,180,73,99,81,
+148,32,245,216,244,250,6,222,56,90,231,220,16,34,106,76,73,115,27,218,174,
+203,112,127,217,127,190,156,253,254,59,137,54,68,191,210,246,220,204,188,
+219,234,217,237,12,2,66,77,1,60,216,198,131,85,97,151,47,215,229,193,202,
+54,93,93,128,27,211,109,228,28,121,227,209,87,151,176,117,111,93,141,42,
+92,23,94,110,234,224,144,70,194,189,239,237,44,188,20,228,83,76,131,0,0,
+1,0,73,68,65,84,43,197,78,199,222,168,30,119,23,76,26,102,174,194,133,75,
+184,49,204,179,24,230,87,155,205,127,248,197,131,235,109,253,227,183,23,
+255,250,167,39,39,86,129,34,154,167,40,114,72,86,101,208,93,112,212,79,
+190,142,55,142,214,33,99,119,95,149,148,147,204,189,158,108,141,23,189,
+124,182,201,29,218,91,94,80,182,224,105,141,64,233,25,128,164,26,188,222,
+246,93,52,159,95,118,95,173,74,52,249,98,89,152,219,77,77,67,77,155,202,
+77,101,82,89,23,233,171,248,224,235,206,183,53,10,176,42,124,180,241,222,
+32,77,82,178,235,121,46,28,10,75,225,41,96,134,112,246,213,82,146,176,154,
+19,79,67,132,85,16,222,184,75,203,211,119,62,238,134,7,191,184,252,213,
+103,15,222,121,251,79,126,54,111,91,219,134,102,5,105,131,136,34,53,34,
+74,143,212,28,85,144,175,225,141,163,53,67,68,5,162,162,73,211,156,179,
+115,19,221,74,254,116,179,184,234,211,219,98,234,5,160,107,147,36,5,99,
+107,205,245,166,255,252,114,189,246,252,96,27,215,131,8,155,203,33,75,228,
+212,196,143,60,0,0,1,0,73,68,65,84,101,175,153,126,189,25,150,93,213,153,
+174,251,50,148,170,218,174,59,246,198,2,172,43,175,58,244,78,181,144,136,
+174,103,73,28,6,150,194,65,194,44,220,163,212,72,10,186,55,137,61,60,33,
+146,134,183,44,125,201,179,133,69,122,184,169,23,143,214,255,242,147,82,
+222,209,15,79,79,79,180,105,5,225,125,148,161,57,201,99,57,171,163,172,
+126,2,111,28,173,141,108,69,84,53,52,33,101,153,159,82,179,181,205,39,189,
+126,177,242,31,75,93,204,189,175,222,166,38,231,89,95,236,178,203,143,214,
+246,235,203,161,19,174,171,246,145,103,200,198,102,83,228,170,39,204,47,
+86,229,106,221,235,92,54,125,29,170,105,78,219,222,139,133,171,244,22,203,
+226,53,152,144,162,122,215,27,26,27,6,43,197,34,217,88,99,187,134,37,149,
+48,107,18,139,164,36,145,133,166,80,247,190,91,158,220,186,43,39,119,46,
+203,240,191,253,167,79,63,121,43,255,203,31,191,245,95,188,203,247,238,
+180,109,51,183,97,104,72,32,24,78,182,71,53,228,38,222,56,90,143,246,16,
+77,41,66,161,9,192,242,194,46,0,0,1,0,73,68,65,84,121,33,210,202,108,246,
+40,228,225,118,217,47,188,141,88,119,67,154,137,204,228,226,122,121,191,
+156,175,7,94,148,228,77,222,56,135,234,174,165,239,251,71,214,94,109,76,
+154,116,185,245,203,206,37,124,221,91,95,141,82,187,161,186,83,50,45,216,
+151,26,196,88,64,222,190,241,240,112,79,84,210,107,100,11,23,79,225,73,
+104,176,59,109,108,55,221,201,249,157,26,172,249,228,111,191,188,254,245,
+37,254,191,135,110,63,139,127,247,231,127,240,86,3,151,4,15,36,65,56,61,
+36,31,245,144,199,120,243,104,45,162,73,25,73,68,9,161,102,209,44,205,188,
+164,166,179,245,88,181,108,219,15,141,228,84,236,226,170,123,16,139,10,
+41,50,11,105,123,235,183,219,222,106,108,150,203,71,190,88,174,59,157,97,
+213,215,245,96,130,186,234,75,87,106,72,30,6,11,70,10,146,52,51,2,201,85,
+144,118,61,122,166,188,198,49,164,176,10,5,240,96,101,104,113,113,83,82,
+212,243,176,174,213,232,245,242,242,170,105,91,164,179,135,148,207,126,
+189,254,121,255,197,239,253,252,231,119,126,129,222,151,185,0,0,1,0,73,
+68,65,84,148,156,202,41,204,48,158,89,110,226,77,197,15,142,214,36,68,36,
+169,6,233,50,85,105,87,213,23,117,225,36,233,80,171,0,210,180,100,100,149,
+156,83,78,114,186,216,254,34,22,31,250,219,255,182,214,183,155,235,213,
+112,231,23,195,252,62,223,211,102,181,92,109,61,146,153,44,183,220,14,77,
+221,74,87,78,62,222,186,199,172,44,109,48,29,98,86,214,86,61,5,117,53,20,
+64,136,84,107,128,160,206,0,20,131,72,228,182,237,75,1,36,183,237,48,246,
+135,84,77,67,29,255,21,164,18,34,210,64,165,239,109,213,52,77,158,247,143,
+86,109,158,49,4,206,126,176,240,246,127,252,236,238,221,143,183,119,195,
+127,126,75,235,86,155,219,11,70,136,12,238,179,199,147,229,141,199,15,142,
+214,47,13,178,239,200,40,42,170,109,66,80,86,158,239,15,226,154,187,36,
+91,181,138,65,60,202,224,149,168,97,155,190,174,135,40,110,221,80,215,125,
+120,140,125,250,188,24,171,211,2,65,190,136,245,27,1,137,8,119,169,226,
+2,64,84,198,112,89,0,139,219,255,243,223,124,116,94,146,133,20,118,0,0,
+1,0,73,68,65,84,239,253,197,159,126,56,247,237,173,194,246,108,30,67,47,
+205,145,205,143,241,102,210,122,108,129,39,99,7,3,85,77,170,51,21,67,126,
+88,210,71,61,174,152,152,155,141,70,39,61,132,155,142,67,120,31,120,180,
+45,171,193,7,151,237,80,87,125,10,142,101,191,199,126,170,140,152,154,71,
+254,150,99,121,220,18,7,35,163,9,128,238,163,123,222,233,116,29,43,210,
+18,192,160,179,191,250,244,210,184,142,249,230,191,255,227,179,51,91,187,
+228,14,249,228,88,179,225,6,222,60,90,115,140,238,155,154,59,234,254,198,
+205,232,60,63,176,54,213,188,212,156,67,92,104,232,129,217,117,199,193,
+209,49,30,117,182,28,188,15,233,138,109,45,113,215,63,50,40,14,112,106,
+91,243,219,5,145,126,147,134,187,76,55,120,128,140,208,112,213,60,181,233,
+214,205,122,21,231,239,255,135,47,87,248,63,127,249,223,252,201,191,126,
+139,195,245,229,195,243,119,127,70,247,233,128,71,102,191,137,180,126,6,
+204,180,75,249,178,206,212,230,125,202,77,4,89,35,170,136,94,245,210,59,
+58,242,106,192,243,196,239,74,0,0,1,0,73,68,65,84,170,96,32,186,138,226,
+8,202,142,124,99,227,236,231,226,211,205,218,220,55,227,188,37,113,170,
+216,57,85,247,76,73,20,42,67,127,114,251,253,71,93,253,235,79,62,255,191,
+126,121,113,246,126,185,155,181,97,87,35,239,91,92,31,153,253,230,209,90,
+128,49,234,106,108,150,190,75,169,218,70,102,213,92,144,250,48,70,86,122,
+132,121,36,241,171,173,15,129,66,189,238,185,53,152,104,239,169,152,239,
+202,195,78,197,55,229,185,92,35,187,142,124,216,199,27,238,168,173,35,205,
+133,83,105,207,16,136,114,158,155,238,234,98,214,182,181,158,253,79,127,
+245,203,217,191,249,209,95,252,103,239,246,171,107,54,183,85,149,228,216,
+146,239,13,103,246,155,71,107,96,10,233,35,1,50,36,34,60,100,72,51,120,
+52,93,201,94,125,72,146,164,128,37,34,75,89,110,107,13,24,210,106,240,193,
+65,69,169,152,164,232,24,141,72,232,88,242,143,160,252,150,246,99,17,236,
+230,24,176,43,162,191,111,211,52,150,27,15,170,96,204,249,157,235,25,134,
+78,221,57,191,251,151,255,252,224,252,124,216,162,45,140,0,0,1,0,73,68,
+65,84,120,235,108,243,111,223,138,70,61,34,246,25,107,111,56,179,223,76,
+90,3,187,38,51,36,130,161,33,21,173,250,80,124,232,221,96,202,148,7,201,
+61,164,65,89,246,213,40,33,232,139,215,16,36,186,35,37,217,105,13,220,55,
+100,18,192,158,103,44,242,181,72,221,145,218,99,19,86,153,54,48,8,161,16,
+125,180,231,167,233,225,163,251,126,114,7,120,235,175,62,173,63,149,143,
+254,252,191,251,3,221,229,61,140,9,243,223,145,218,115,232,248,193,209,
+90,85,194,25,228,120,91,31,115,199,249,98,12,103,192,227,102,210,16,81,
+64,29,112,199,224,222,242,171,80,181,148,215,108,154,170,169,138,68,128,
+188,84,134,164,234,52,175,78,9,40,130,73,179,69,217,31,104,252,103,247,
+13,55,245,227,239,30,52,121,99,137,57,238,63,29,48,190,94,7,123,42,229,
+189,105,251,240,184,221,44,174,174,47,242,189,197,151,215,95,253,229,63,
+218,95,252,183,255,245,159,181,215,210,45,111,181,185,57,189,109,204,149,
+152,129,64,239,222,190,129,246,236,31,28,173,95,21,44,118,173,239,24,92,
+24,213,48,0,0,1,0,73,68,65,84,20,40,69,72,16,158,199,226,245,227,76,147,
+169,87,239,43,244,234,169,176,6,21,169,105,156,234,38,95,94,109,254,143,
+191,254,252,214,31,217,143,78,155,211,89,214,106,46,149,77,243,38,231,171,
+31,105,61,193,92,67,36,40,46,176,209,88,23,163,210,140,152,218,76,98,207,
+236,87,56,78,133,134,59,82,202,243,69,79,129,44,30,118,87,255,235,255,243,
+183,239,200,237,63,255,195,31,159,47,178,15,69,178,106,74,46,145,147,238,
+60,246,79,182,64,56,108,186,31,105,61,193,153,130,66,74,140,37,115,118,
+93,115,114,13,114,223,92,88,56,181,217,121,101,144,234,100,68,86,109,26,
+26,209,158,197,226,206,223,223,191,254,203,191,219,156,220,186,251,246,
+217,201,157,228,51,53,157,154,198,63,169,5,237,43,233,28,105,253,70,64,
+145,199,198,210,19,21,118,134,9,113,217,247,46,27,45,131,120,97,122,254,
+243,32,27,32,106,66,10,80,93,152,155,211,59,215,117,243,127,255,243,230,
+253,119,47,127,118,231,244,244,173,102,22,193,48,104,170,30,237,75,232,
+205,253,195,195,49,145,245,239,217,0,0,1,0,73,68,65,84,154,113,66,22,209,
+49,155,106,124,63,117,156,150,160,4,133,84,78,133,162,36,4,241,234,244,
+16,117,228,166,45,97,230,21,102,40,85,84,45,165,127,238,102,255,241,163,
+135,191,250,226,81,177,112,43,86,6,2,197,248,68,45,250,87,53,236,151,140,
+35,173,39,36,50,145,137,161,164,146,10,170,64,117,215,225,113,172,35,140,
+157,93,230,213,241,67,66,115,211,212,168,65,91,52,154,221,232,21,26,62,
+127,231,23,95,92,125,252,197,197,96,94,250,190,239,183,0,252,113,39,193,
+199,3,126,19,214,145,71,90,79,16,82,25,2,10,67,16,187,234,122,124,92,0,
+126,106,75,9,124,179,107,222,75,4,131,170,10,119,21,156,206,218,153,138,
+48,32,196,233,189,135,171,254,226,122,109,230,165,12,101,24,72,248,55,122,
+134,188,9,156,198,43,164,245,227,133,203,88,209,122,108,158,254,234,126,
+241,170,168,42,166,226,73,93,213,69,92,224,0,53,168,99,44,83,140,5,127,
+19,144,95,157,114,93,231,253,245,102,45,233,220,98,118,109,81,79,230,53,
+102,179,244,94,182,207,217,234,129,232,82,61,0,0,1,0,73,68,65,84,95,127,
+177,254,104,157,102,139,91,177,188,242,205,166,201,139,190,239,199,114,
+221,17,225,187,112,168,131,199,81,90,191,166,120,60,175,40,0,16,78,209,
+102,221,215,95,63,184,188,218,246,38,24,74,63,12,253,215,62,115,163,4,235,
+75,28,234,43,192,145,214,175,25,166,126,14,147,63,114,106,218,77,1,76,84,
+231,143,214,245,239,62,250,252,215,151,171,42,178,29,54,125,183,220,51,
+248,77,208,61,246,56,210,250,53,131,80,118,97,130,147,29,146,2,138,32,160,
+121,126,53,240,111,63,249,234,87,15,151,91,106,241,26,182,125,162,141,234,
+27,210,28,231,72,235,215,12,143,237,50,50,9,109,170,80,208,136,16,218,161,
+249,167,7,203,95,124,121,121,93,88,107,36,114,172,151,249,166,53,124,58,
+210,250,53,131,66,228,166,239,112,84,45,68,154,20,142,176,60,251,106,107,
+255,240,249,197,23,87,219,190,56,157,99,117,227,177,38,201,155,195,236,
+35,173,95,51,200,62,206,111,52,56,238,44,145,77,114,243,1,179,217,198,240,
+79,159,95,124,118,255,122,189,169,62,196,200,233,133,123,179,72,0,0,1,0,
+73,68,65,84,223,162,203,194,65,224,72,235,215,12,123,43,58,190,238,194,
+87,37,188,34,103,64,30,92,173,46,174,214,93,95,235,240,184,115,200,111,
+220,234,233,16,240,202,250,50,142,11,243,41,199,68,198,186,120,143,93,98,
+223,196,247,62,206,215,4,21,201,4,14,82,12,98,137,204,76,153,249,162,228,
+179,91,11,121,240,203,69,43,87,60,255,247,191,186,94,55,139,174,251,188,
+95,173,89,204,251,26,189,183,152,37,38,53,205,146,43,138,161,24,204,225,
+113,35,40,177,71,116,240,30,81,1,7,60,16,241,109,49,139,223,114,201,94,
+225,117,60,134,58,29,10,52,131,38,146,129,100,86,86,235,237,245,114,109,
+183,201,40,37,6,9,137,96,19,125,150,198,131,89,114,158,66,160,120,35,118,
+92,0,100,20,16,66,81,168,76,121,244,2,40,211,235,100,31,60,210,250,80,144,
+230,244,170,210,10,164,86,94,94,174,190,186,255,232,143,79,230,105,230,
+5,174,112,194,42,156,34,1,82,48,143,241,210,223,136,87,148,192,232,64,149,
+169,153,241,212,155,15,0,95,179,118,7,71,90,31,8,104,164,197,107,0,0,1,
+0,73,68,65,84,68,50,169,170,13,4,8,185,94,109,191,248,234,225,246,189,119,
+23,243,176,26,158,57,54,9,19,81,77,76,170,49,210,116,167,167,239,83,132,
+19,1,81,64,16,49,217,18,1,4,119,225,48,79,130,252,33,74,241,35,173,15,4,
+73,50,3,73,51,233,16,237,135,250,229,131,7,87,235,211,156,178,229,198,60,
+242,220,208,54,18,46,160,54,13,242,201,216,97,120,4,167,194,13,18,206,148,
+19,0,163,16,146,19,72,152,200,252,181,170,94,121,164,245,161,96,172,155,
+170,176,106,80,113,250,131,71,15,191,122,120,114,110,203,129,171,116,178,
+208,249,172,198,109,157,183,0,164,201,205,217,91,16,17,85,136,34,37,136,
+98,44,33,43,170,16,64,84,3,162,99,150,116,202,120,246,178,241,40,173,143,
+248,254,32,1,161,40,171,23,104,80,227,226,234,209,23,247,243,207,212,60,
+221,181,186,168,125,83,120,75,102,13,192,104,114,83,238,65,20,154,161,13,
+82,11,109,68,179,136,134,44,48,155,67,68,107,133,36,93,204,1,69,41,209,
+156,62,253,107,127,144,58,247,145,214,7,131,117,42,58,84,0,0,1,0,73,68,
+65,84,144,49,1,211,43,64,34,54,219,245,163,171,71,114,119,131,161,163,206,
+201,28,179,115,143,134,116,105,178,151,11,17,133,182,72,51,73,115,209,150,
+169,133,164,62,102,243,249,28,162,125,173,162,105,54,156,64,116,40,67,115,
+239,247,159,250,173,73,155,151,124,158,191,9,126,112,180,126,92,210,124,
+42,111,254,166,68,190,255,134,24,124,75,40,36,3,77,214,4,161,104,5,212,
+226,210,135,135,148,12,214,243,213,199,171,56,251,172,253,0,203,79,151,
+91,182,39,51,73,80,73,222,43,34,55,9,139,52,115,191,18,81,161,10,149,158,
+70,13,4,64,203,144,33,67,180,113,64,18,182,13,144,178,135,250,125,119,66,
+115,106,230,162,141,83,161,57,165,166,208,115,211,138,54,129,172,105,166,
+205,2,104,98,172,73,65,217,249,40,20,59,155,74,165,237,47,236,205,166,123,
+133,14,96,234,235,115,195,223,52,85,129,251,6,248,173,137,198,63,56,90,
+31,241,237,72,41,5,133,19,37,8,6,25,12,71,200,216,123,93,2,8,194,195,171,
+89,169,94,122,31,90,79,230,76,222,122,48,198,55,139,72,0,0,1,0,73,68,65,
+84,71,130,163,213,102,6,17,104,66,82,145,132,49,147,19,18,164,32,3,26,1,
+145,20,8,136,134,135,172,190,12,39,52,33,207,69,27,163,64,50,115,227,81,
+145,91,213,198,145,68,231,169,153,67,178,59,243,233,41,39,59,139,66,146,
+72,18,73,16,81,205,34,34,163,81,124,82,96,198,178,136,62,154,21,71,159,
+29,119,111,118,133,89,158,78,95,62,163,50,196,145,214,175,25,178,230,0,
+130,186,187,158,1,58,194,17,170,161,17,34,33,18,128,185,71,173,125,31,221,
+149,111,225,108,173,106,164,147,176,20,202,176,86,230,167,35,173,37,37,
+104,134,170,64,40,66,38,166,12,81,4,137,204,220,0,202,136,28,93,10,66,146,
+196,12,210,8,5,146,212,178,120,73,185,21,109,18,19,116,166,205,28,72,112,
+82,207,0,33,4,146,32,153,146,68,147,136,34,223,166,200,56,145,198,192,173,
+209,28,51,114,88,198,45,72,211,118,25,59,4,131,99,121,175,167,233,241,79,
+101,246,145,214,175,25,166,156,74,193,152,22,35,8,34,0,79,68,10,34,168,
+17,234,14,55,218,224,67,69,208,108,226,0,0,1,0,73,68,65,84,23,221,133,111,
+106,141,166,41,226,105,17,166,84,134,101,141,115,138,104,202,212,36,41,
+67,117,180,123,64,90,228,12,40,3,34,9,222,64,20,30,88,156,75,4,36,33,10,
+36,167,16,74,18,105,50,43,216,32,26,101,2,6,120,1,114,114,178,175,132,8,
+148,146,33,25,218,136,38,136,186,81,100,252,108,18,201,220,145,85,114,3,
+64,68,41,163,128,87,142,138,203,88,140,156,66,145,155,169,165,55,149,144,
+111,50,251,72,235,215,13,83,201,62,202,20,192,23,2,167,132,18,26,65,11,
+177,154,162,194,69,56,160,118,28,150,209,211,41,214,48,218,5,169,20,167,
+43,98,13,21,104,198,78,90,143,81,220,154,230,154,50,161,26,132,36,77,45,
+68,233,129,20,238,132,36,141,25,37,91,8,36,169,103,0,137,141,104,227,76,
+80,87,4,144,205,217,12,192,36,170,157,58,230,239,83,68,233,43,136,136,102,
+72,130,102,32,17,10,72,30,155,48,76,85,45,148,162,16,33,199,138,221,130,
+201,198,206,41,255,127,231,70,218,19,250,9,102,31,105,253,186,129,143,255,
+39,9,58,223,155,64,71,0,0,1,0,73,68,65,84,232,164,169,23,218,16,53,180,
+110,89,59,184,11,59,241,206,235,198,6,26,97,30,222,247,33,18,98,17,10,108,
+71,37,132,41,81,51,38,49,41,72,45,114,22,168,4,128,132,220,142,210,218,
+147,122,16,146,152,103,144,38,40,144,132,148,169,13,216,138,54,193,4,173,
+160,65,114,120,0,99,44,248,40,167,3,41,192,128,164,140,30,162,227,118,68,
+3,73,68,162,8,124,10,128,163,40,84,49,190,0,40,45,0,64,101,170,61,180,179,
+31,200,100,129,185,201,108,236,228,247,145,214,175,25,84,132,28,175,240,
+184,88,52,120,13,43,82,123,150,173,23,143,97,227,117,139,112,160,71,244,
+94,123,171,82,25,153,110,197,60,137,74,49,202,92,250,105,201,168,74,205,
+152,42,255,136,136,34,101,136,210,9,201,200,13,160,240,208,148,25,1,201,
+169,153,65,91,132,64,115,202,185,202,66,154,86,180,17,100,209,89,226,28,
+200,8,2,21,162,144,76,182,228,140,104,193,6,154,18,20,146,192,12,58,212,
+33,13,36,9,5,76,251,222,126,196,244,154,34,194,93,236,202,84,253,80,56,
+105,44,23,244,0,0,1,0,73,68,65,84,170,38,56,42,33,7,4,21,37,24,83,229,249,
+64,120,184,133,155,122,9,43,168,70,235,195,122,80,40,5,172,30,238,94,77,
+194,205,220,37,92,92,74,136,32,135,136,8,21,76,8,221,27,248,192,96,202,
+148,68,39,36,209,219,113,201,136,205,87,8,66,50,154,153,164,86,40,144,44,
+185,9,57,145,220,106,106,137,12,157,177,89,64,50,131,72,78,73,148,28,104,
+137,66,153,65,26,68,74,49,131,36,168,67,9,5,149,68,162,104,74,45,246,150,
+19,238,130,8,9,48,70,211,224,227,66,181,99,193,184,113,176,175,76,9,145,
+0,2,136,177,179,197,84,206,238,181,10,48,120,42,158,25,58,252,140,110,4,
+124,70,141,14,73,207,216,191,14,170,73,85,57,153,184,36,165,164,41,111,
+236,81,110,90,43,14,139,147,148,81,221,54,67,3,174,86,29,86,171,211,235,
+79,197,109,85,238,160,220,255,87,183,30,166,212,74,104,29,108,209,232,108,
+150,34,106,169,72,141,120,104,111,67,74,169,145,164,52,4,129,72,16,25,87,
+160,62,54,194,17,64,89,85,32,89,196,97,16,51,13,135,176,0,0,1,0,73,68,65,
+84,133,38,247,70,180,133,54,208,28,166,218,156,194,83,104,35,169,21,157,
+51,90,209,38,73,178,205,26,146,69,91,201,115,77,115,164,185,104,11,205,
+145,206,32,58,185,54,49,35,102,163,134,29,54,74,247,68,109,132,141,104,
+35,4,68,201,205,78,71,79,208,44,227,11,17,141,13,68,32,9,76,162,105,50,
+158,236,112,148,214,47,24,250,12,7,129,63,203,163,244,204,233,145,40,74,
+81,142,165,181,73,8,9,167,143,109,119,73,247,96,208,58,43,27,192,97,247,
+53,174,157,93,132,1,37,167,205,105,187,57,159,13,152,106,189,62,142,227,
+223,247,187,193,36,248,118,33,124,163,205,97,146,56,50,253,125,87,72,51,
+88,65,29,223,142,54,9,9,82,148,94,40,73,166,174,77,74,142,114,95,9,133,
+56,210,40,100,21,84,38,72,56,217,64,20,26,36,133,194,52,202,99,133,52,128,
+78,227,224,110,129,8,221,213,68,226,215,30,223,37,21,143,180,126,209,120,
+6,77,159,69,247,103,74,253,212,76,169,138,99,116,29,25,65,50,96,42,16,24,
+97,53,224,209,175,172,123,68,52,140,78,93,0,0,1,0,73,68,65,84,90,187,253,
+44,202,163,98,155,48,71,244,167,121,125,111,190,186,55,235,167,33,17,140,
+152,74,116,83,249,216,209,49,189,218,179,120,63,46,0,147,58,59,218,40,162,
+64,116,74,149,25,39,130,6,168,176,4,81,168,83,39,215,13,213,32,9,4,36,49,
+92,130,12,72,16,225,148,132,72,144,132,100,136,224,120,107,80,131,40,50,
+39,105,61,101,54,16,163,147,40,181,227,10,121,215,211,132,251,1,124,11,
+142,180,126,193,96,60,163,32,152,62,189,34,239,179,46,144,99,178,223,98,
+87,55,97,244,41,38,15,21,87,43,172,157,176,96,184,68,119,17,81,154,229,
+125,239,54,49,24,204,32,221,189,89,255,86,91,110,229,178,215,65,227,134,
+168,158,158,177,91,131,113,250,119,34,241,126,121,118,179,79,19,28,140,
+93,209,29,157,20,93,161,140,116,191,57,13,48,6,106,67,36,97,202,174,25,
+63,22,144,68,100,72,2,27,73,156,118,166,83,18,85,33,2,205,136,81,242,7,
+52,131,10,205,50,149,96,22,97,112,170,252,35,207,254,229,128,35,173,95,
+56,158,245,99,63,235,136,153,35,91,0,0,1,0,73,68,65,84,182,153,158,241,
+9,199,40,101,41,50,22,2,9,70,144,161,117,72,161,28,54,49,172,52,186,216,
+94,162,187,80,31,100,213,113,48,12,129,40,119,218,250,254,44,238,54,200,
+240,41,160,102,228,236,238,6,190,255,202,27,74,8,119,29,248,118,35,221,
+103,205,128,83,156,222,142,81,178,223,97,220,103,170,0,30,130,32,67,232,
+16,8,28,163,75,156,99,49,67,31,183,19,190,251,112,26,117,41,80,5,36,13,
+84,64,160,2,42,98,252,38,142,137,57,130,0,68,24,187,74,86,66,249,182,194,
+221,71,90,191,96,232,51,120,237,207,82,54,158,165,90,211,71,241,60,90,43,
+64,135,25,195,164,191,20,21,110,87,209,93,51,58,172,31,234,250,145,178,
+248,48,176,6,188,158,74,247,97,187,253,201,169,221,158,209,131,170,73,244,
+107,25,44,187,114,158,123,37,100,106,88,38,163,70,36,55,251,136,60,150,
+214,59,25,169,50,229,89,143,65,29,18,50,117,217,30,237,113,24,75,76,77,
+238,147,241,104,123,205,225,166,126,60,30,150,34,132,144,66,137,105,4,163,
+179,28,138,221,226,125,89,202,0,0,1,0,73,68,65,84,157,101,124,15,129,144,
+177,151,220,56,210,250,101,34,226,233,45,236,66,158,30,192,41,241,44,93,
+124,140,244,240,233,54,237,230,117,48,171,216,60,164,192,214,203,216,94,
+215,232,185,185,224,250,82,80,157,85,196,27,221,222,75,215,63,57,221,252,
+248,214,112,186,24,6,198,185,54,42,20,9,25,251,70,78,153,138,178,111,190,
+119,83,116,223,144,208,187,77,187,45,194,93,249,0,170,80,65,25,75,9,48,
+77,161,29,28,3,239,166,42,224,162,143,3,57,70,239,201,116,186,188,177,237,
+198,151,137,78,19,97,172,87,165,156,94,43,57,106,53,2,161,240,230,172,248,
+54,28,105,253,130,97,181,62,117,187,52,79,255,169,35,158,222,35,61,105,
+144,206,48,208,25,22,86,108,232,162,22,239,175,3,136,110,137,237,181,197,
+128,237,154,221,134,226,212,42,176,150,221,89,179,190,55,223,222,61,177,
+89,91,182,5,59,37,68,30,179,235,107,174,139,29,175,167,222,214,55,45,33,
+188,201,250,41,202,148,178,99,151,8,101,76,94,184,161,233,238,10,78,237,
+166,195,99,171,202,190,121,30,34,47,17,0,0,1,0,73,68,65,84,37,111,40,237,
+187,63,98,156,54,178,155,45,20,25,95,67,118,3,27,11,111,188,182,150,144,
+39,170,74,60,126,245,67,11,185,118,11,8,37,137,106,18,81,58,188,192,171,
+251,48,93,84,55,88,21,27,50,34,171,20,93,148,237,246,157,15,63,220,118,
+253,182,235,223,126,231,71,67,41,219,237,54,230,103,97,131,134,53,74,33,
+135,90,3,218,180,115,139,107,235,74,110,22,41,180,187,94,159,165,124,75,
+210,229,253,165,245,23,89,11,182,247,177,189,0,13,157,163,135,166,179,202,
+175,110,53,151,255,234,246,195,63,186,189,253,224,150,100,228,92,78,222,
+102,49,237,179,130,146,128,164,132,134,36,151,36,2,5,196,161,59,183,135,
+80,69,84,96,143,109,36,0,110,208,62,5,4,208,8,113,145,4,25,215,180,84,54,
+143,117,107,241,209,183,77,81,97,30,13,56,178,111,155,58,201,218,81,183,
+222,121,51,232,163,132,14,177,201,123,56,166,162,169,142,250,92,218,89,
+109,118,147,98,92,39,136,132,63,94,61,134,64,119,11,89,0,63,64,90,191,46,
+24,3,225,119,18,110,36,222,133,127,0,0,1,0,73,68,65,84,167,161,146,25,81,
+202,0,171,138,80,175,44,189,71,213,164,213,151,232,250,254,145,150,97,224,
+80,106,203,112,71,223,55,26,66,247,97,203,176,166,201,94,74,177,208,56,
+137,245,35,12,3,154,198,195,176,186,28,196,201,98,215,247,117,123,161,25,
+169,118,81,75,2,221,43,194,6,150,147,211,203,15,78,182,239,223,242,187,
+103,222,100,11,70,8,53,51,41,84,68,85,116,31,230,188,139,232,255,129,201,
+137,23,137,35,173,159,19,170,10,142,190,83,76,86,6,6,25,39,9,86,182,177,
+93,137,56,106,239,235,107,175,67,228,68,18,181,14,177,172,165,160,122,95,
+47,131,180,82,165,191,211,36,169,203,43,218,208,158,157,73,173,232,11,206,
+206,219,205,70,106,73,141,144,125,108,47,5,91,247,13,250,71,205,102,0,68,
+141,240,32,66,88,36,21,145,248,227,179,203,159,156,219,207,111,151,123,
+179,42,116,0,16,164,6,89,144,85,178,72,26,35,136,166,136,38,217,61,79,202,
+195,120,82,175,176,121,200,139,197,145,214,207,137,125,32,153,200,206,223,
+49,42,75,214,161,172,49,245,156,107,255,0,0,1,0,73,68,65,84,92,103,22,233,
+87,118,125,1,175,205,124,206,97,3,81,177,75,53,139,128,149,7,65,160,214,
+186,58,211,54,243,250,17,106,207,187,119,197,3,93,143,225,124,123,121,77,
+80,84,9,131,117,197,182,240,45,134,173,171,90,87,97,34,110,153,221,217,
+162,220,58,183,156,202,159,156,119,63,58,177,119,154,50,19,47,4,1,85,168,
+74,82,166,49,181,107,103,252,30,213,227,199,50,123,172,116,115,88,56,210,
+250,57,49,117,167,125,108,172,154,86,2,195,122,21,219,181,244,171,228,27,
+108,175,116,115,161,17,51,204,135,171,7,179,249,60,130,73,164,209,236,91,
+2,128,57,250,19,102,197,118,137,50,184,95,147,130,106,222,63,130,21,145,
+68,38,80,16,64,17,148,172,114,110,109,7,119,205,233,246,140,39,209,189,
+119,167,188,127,207,179,172,126,58,203,39,50,52,165,134,66,18,82,147,155,
+148,178,160,193,144,5,89,168,99,176,169,236,130,224,4,55,90,246,241,25,
+197,109,94,87,28,105,253,220,216,133,148,237,84,212,145,231,94,171,208,
+165,118,182,185,192,250,33,215,87,86,135,199,152,114,156,0,0,1,0,73,68,
+65,84,235,43,96,88,241,252,188,108,59,228,220,204,23,214,15,72,9,16,148,
+109,161,39,26,173,116,219,11,73,89,52,217,181,99,142,156,103,86,9,151,70,
+155,232,122,212,114,54,159,27,150,174,235,247,111,207,63,56,151,133,109,
+223,63,175,239,221,161,245,235,243,124,39,121,132,131,0,154,220,52,179,
+54,177,65,109,18,154,36,73,37,41,199,101,216,168,135,60,78,127,198,13,47,
+12,15,68,227,62,210,250,57,177,243,63,239,61,110,147,77,88,52,53,41,17,
+145,162,156,180,218,222,57,237,183,92,175,86,50,75,231,139,102,88,93,1,
+150,60,213,178,149,118,150,114,182,178,197,208,205,207,79,211,76,151,235,
+117,154,47,78,22,231,203,126,171,171,117,158,205,88,6,165,221,94,52,144,
+117,78,221,219,103,231,239,159,73,223,94,190,255,214,252,157,219,136,237,
+131,59,11,185,219,206,215,93,64,11,196,1,72,3,153,75,158,69,147,106,11,
+107,115,106,146,182,89,154,196,156,144,114,104,130,166,105,193,123,16,28,
+126,10,142,180,126,78,144,220,57,230,228,6,71,196,61,18,144,85,99,128,142,
+182,0,0,1,0,73,68,65,84,207,22,179,15,78,79,222,57,159,245,219,205,195,
+135,15,7,235,110,157,223,170,101,8,98,62,95,184,213,217,98,222,52,237,114,
+213,59,227,108,49,155,183,105,88,175,78,79,79,238,189,245,22,136,123,185,
+89,44,90,175,155,38,245,239,220,201,77,116,51,200,135,239,230,247,87,155,
+235,229,245,173,179,213,98,230,215,29,230,129,134,69,12,62,31,52,121,202,
+64,11,105,168,185,38,181,12,228,164,57,105,74,146,18,53,65,21,73,169,73,
+38,147,153,8,14,101,153,120,19,71,90,63,39,122,82,4,73,36,129,66,144,74,
+204,152,26,57,109,203,208,104,204,127,114,58,255,211,15,236,167,247,88,
+236,206,195,119,239,230,116,169,210,252,225,91,115,145,54,28,87,215,143,
+206,78,231,183,238,156,255,205,223,255,253,221,59,63,253,209,219,111,103,
+193,240,179,123,179,156,155,148,182,63,202,239,233,127,44,221,101,142,238,
+188,157,207,117,30,86,40,155,100,143,162,137,243,123,32,188,27,48,63,129,
+10,182,165,204,206,193,168,10,36,160,13,204,195,230,196,34,39,205,154,179,
+53,89,154,233,158,56,56,0,0,1,0,73,68,65,84,148,178,34,43,179,32,77,137,
+132,33,206,160,79,5,59,228,57,205,32,250,117,239,141,76,110,110,64,71,13,
+126,239,205,153,252,41,191,237,253,193,119,142,75,236,98,172,190,22,115,
+248,12,28,105,253,226,32,0,97,78,204,78,117,126,235,186,92,223,223,212,
+247,238,181,183,78,22,137,92,220,126,63,231,217,157,243,109,147,23,34,233,
+234,234,222,124,209,156,158,44,78,110,157,157,156,44,238,156,159,211,189,
+223,108,218,156,26,77,219,205,90,30,254,227,144,77,77,22,57,55,76,70,241,
+73,188,142,201,216,211,53,158,212,101,32,183,154,18,218,36,109,142,38,177,
+73,200,194,52,242,88,31,251,55,198,216,141,137,133,95,51,238,1,135,163,
+90,31,105,253,188,208,199,110,13,236,110,232,227,61,189,153,157,156,69,
+197,195,237,229,175,174,203,143,238,202,221,183,210,187,39,92,90,81,205,
+25,156,55,210,52,57,74,155,179,102,241,183,111,159,39,213,6,225,180,140,
+104,68,179,70,86,230,102,134,166,1,52,43,82,132,139,9,93,24,141,38,236,
+2,137,146,200,216,152,93,32,243,151,156,56,182,0,0,1,0,73,68,65,84,217,
+72,107,52,9,109,138,89,102,155,209,164,241,25,141,34,43,210,110,14,220,
+176,92,127,87,136,231,235,137,35,173,159,19,55,10,109,237,2,112,68,168,
+72,139,51,69,27,115,241,249,187,159,85,251,197,163,242,118,59,252,193,89,
+214,64,2,178,68,22,159,101,46,102,170,42,2,182,74,122,101,13,97,52,202,
+38,33,41,178,82,8,97,0,174,226,73,217,36,38,149,212,72,242,41,72,78,128,
+36,163,12,22,17,153,55,204,9,109,150,54,161,77,50,203,108,27,52,9,243,6,
+57,97,150,209,38,100,101,82,170,138,42,199,216,167,253,41,224,177,41,228,
+16,112,164,245,115,34,137,124,45,100,103,180,98,11,242,201,29,239,42,218,
+5,222,250,112,216,200,199,221,23,31,174,252,253,179,249,188,141,121,59,
+179,102,180,184,97,214,166,156,50,68,102,16,51,107,154,156,146,196,172,
+205,57,137,128,116,52,51,105,26,72,154,165,104,1,23,9,166,220,54,24,12,
+99,96,178,48,9,84,37,9,68,56,75,209,36,153,101,157,53,104,19,102,89,102,
+19,161,53,39,105,178,52,153,105,213,221,61,108,0,0,1,0,73,68,65,84,18,216,
+20,17,81,157,134,252,255,179,247,110,189,146,93,201,153,88,92,214,90,251,
+150,153,231,86,117,234,194,170,102,147,221,205,150,90,210,204,104,132,145,
+228,177,7,214,211,0,126,240,95,240,147,49,128,13,248,213,126,240,192,111,
+254,17,254,13,6,252,230,7,3,6,12,120,124,209,88,178,173,177,36,118,183,
+250,82,100,177,88,172,203,185,230,109,239,189,214,138,8,63,172,204,172,
+83,69,182,102,154,125,78,145,162,24,56,172,74,102,229,217,185,115,229,183,
+99,199,138,248,226,139,210,202,253,205,169,48,2,124,11,235,47,109,184,197,
+194,43,18,49,2,0,102,95,195,144,66,96,223,30,173,107,62,93,216,19,91,63,
+181,230,158,92,26,48,16,9,104,214,172,96,64,132,200,8,72,100,204,142,29,
+169,154,152,129,153,0,76,66,5,217,27,160,103,101,5,195,12,32,8,90,5,221,
+197,59,76,198,4,140,128,136,181,51,239,160,14,80,121,168,28,84,12,193,131,
+99,11,132,204,232,139,202,13,66,201,94,23,78,209,150,70,250,13,44,51,126,
+11,235,47,105,180,237,142,218,158,29,242,11,0,0,1,0,73,68,65,84,16,45,183,
+236,33,33,118,158,2,137,57,6,220,83,184,255,140,46,254,166,215,135,7,169,
+233,166,232,136,157,121,207,236,99,8,13,145,51,181,148,82,8,158,152,136,
+123,3,37,38,10,85,53,15,234,189,26,123,202,78,13,5,212,144,153,26,46,239,
+83,48,10,76,200,132,136,208,48,121,71,117,160,202,65,96,245,44,37,81,29,
+24,153,193,49,108,154,170,94,145,254,183,76,173,215,152,168,223,16,251,
+22,214,95,210,190,224,190,189,173,204,56,207,1,99,175,17,208,65,53,187,
+200,249,227,229,101,222,67,36,231,124,112,30,216,17,11,176,15,132,222,84,
+213,128,157,39,71,172,98,96,161,10,190,86,31,42,205,193,48,212,108,206,
+80,152,12,216,121,117,18,97,155,3,97,196,130,108,68,168,28,123,135,193,
+83,112,230,201,28,161,35,101,4,38,220,132,224,4,175,237,17,113,155,186,
+190,106,223,148,84,200,141,195,186,204,185,44,63,182,185,103,151,27,237,
+18,12,8,144,16,73,169,40,16,18,185,40,153,76,11,159,188,8,100,150,91,124,
+82,0,216,188,190,104,254,148,102,87,79,121,201,0,0,1,0,73,68,65,84,140,
+104,95,76,219,191,105,75,160,175,202,230,0,12,27,103,71,57,9,54,231,190,
+1,21,47,145,32,101,152,124,36,225,127,58,27,255,228,118,243,195,3,178,97,
+1,205,94,187,63,245,26,247,188,190,156,175,219,198,87,85,5,0,3,51,17,17,
+209,122,189,110,14,30,100,253,176,194,23,19,186,149,146,147,176,108,88,
+43,153,64,125,153,34,4,15,206,161,102,243,222,170,192,57,103,199,217,59,
+104,2,4,71,129,209,33,58,114,76,200,150,11,219,159,12,137,17,129,55,169,
+95,76,240,186,127,222,242,67,126,69,139,241,175,105,27,5,136,237,196,164,
+237,193,127,237,139,134,119,190,3,1,182,29,191,240,111,59,208,141,195,186,
+168,79,109,233,7,248,170,127,130,216,12,76,139,58,14,138,65,222,180,11,
+144,17,152,25,144,129,97,145,142,0,2,208,141,138,133,25,40,24,193,166,249,
+237,235,109,104,37,165,134,116,158,220,139,149,188,219,242,65,211,128,71,
+99,11,85,237,61,78,141,17,177,192,218,123,79,68,204,236,156,243,99,157,
+86,33,0,215,68,76,152,13,3,65,200,244,106,14,49,0,0,1,0,73,68,65,84,0,142,
+208,52,120,112,142,4,36,56,10,142,8,48,4,243,12,193,179,119,228,192,8,173,
+44,59,109,43,160,72,155,140,30,252,29,88,183,223,212,222,14,172,183,3,5,
+118,173,116,128,69,26,176,244,78,148,54,9,5,208,205,53,142,6,69,224,22,
+181,200,100,88,17,158,40,154,176,219,198,210,146,90,251,154,141,46,217,
+22,58,138,178,58,1,146,17,131,233,179,52,249,197,185,124,255,160,122,112,
+80,179,137,18,132,110,226,124,216,243,107,68,172,235,26,0,134,97,96,102,
+34,170,170,202,165,61,28,39,142,171,9,112,118,148,1,3,130,79,134,204,137,
+52,56,118,76,66,226,29,134,64,25,169,107,136,153,60,147,35,32,83,4,45,100,
+84,130,13,172,169,12,5,32,216,122,151,111,78,36,253,121,187,121,88,195,
+118,123,114,165,141,25,192,12,121,131,79,220,213,50,12,8,77,10,111,121,
+163,22,81,30,169,217,22,189,219,14,162,87,121,214,175,25,174,203,121,149,
+27,46,17,16,131,178,145,157,216,228,209,124,241,108,12,191,83,117,83,91,
+2,98,232,90,117,93,96,216,143,46,75,142,0,0,1,0,73,68,65,84,193,154,175,
+88,21,15,108,221,177,133,137,145,120,76,6,14,141,89,153,48,17,120,135,142,
+49,19,122,7,193,91,70,171,61,51,145,99,36,52,220,210,61,8,141,128,16,182,
+82,209,184,237,105,252,134,163,250,109,104,240,237,26,163,0,182,196,55,
+53,43,202,247,219,242,92,225,185,111,187,153,161,8,30,130,109,188,120,97,
+233,191,118,89,192,78,4,224,107,102,84,52,253,55,56,98,219,168,56,131,184,
+233,139,113,252,120,193,167,41,204,234,166,117,232,131,143,190,118,56,22,
+88,35,98,137,64,152,25,17,167,114,36,243,25,198,106,162,164,12,25,145,0,
+0,205,19,70,68,239,128,201,50,152,99,171,156,37,211,128,76,104,140,128,
+168,8,10,168,165,82,195,182,77,69,226,86,149,236,239,129,221,60,172,175,
+180,217,154,129,217,102,243,136,42,104,134,170,101,90,188,201,70,72,139,
+149,204,202,62,19,138,4,29,169,177,169,232,118,234,43,0,108,71,186,126,
+45,39,184,238,18,194,80,180,24,205,28,2,176,131,117,14,191,188,180,159,
+159,235,241,253,102,175,70,199,100,76,85,252,222,143,28,0,0,1,0,73,68,65,
+84,93,35,98,211,52,187,168,186,32,123,98,251,125,51,193,16,90,113,192,154,
+144,17,72,21,3,131,3,112,12,76,144,13,152,53,56,37,51,135,74,136,27,181,
+37,84,64,101,68,226,50,241,249,106,195,173,109,133,65,254,54,157,141,191,
+235,118,227,176,190,218,64,190,73,137,152,170,42,27,128,26,110,198,65,100,
+205,57,139,168,154,100,22,85,17,19,51,181,34,221,166,162,170,214,20,247,
+188,147,225,223,48,65,255,86,25,148,183,111,87,2,164,178,83,46,30,211,90,
+151,6,242,143,47,134,159,188,24,127,247,238,225,195,218,49,2,50,214,174,
+46,222,186,228,64,10,178,17,177,145,189,38,76,204,85,53,34,154,122,114,
+6,34,226,42,66,54,116,140,68,192,6,76,16,156,145,129,99,68,68,164,146,109,
+42,170,233,175,105,205,88,153,152,180,45,188,124,99,169,214,0,240,54,96,
+189,147,125,51,131,43,143,201,212,76,177,168,142,167,36,41,102,17,17,145,
+196,89,53,137,38,131,108,152,204,146,152,168,22,169,197,18,175,108,194,
+70,0,48,228,175,23,170,223,176,45,233,19,116,76,195,198,0,0,1,0,73,68,65,
+84,177,2,25,137,78,215,242,116,30,215,22,208,7,52,241,4,37,228,40,80,102,
+102,239,253,38,19,226,106,231,130,177,247,102,4,72,204,102,156,153,61,33,
+48,58,135,132,0,12,142,208,49,154,130,227,146,233,0,45,43,254,26,106,95,
+73,198,236,202,137,223,194,250,223,205,182,254,88,212,196,72,12,21,80,17,
+124,113,185,34,144,115,249,193,148,41,231,121,26,198,97,100,164,214,7,31,
+147,158,157,195,24,67,168,150,26,23,231,231,135,183,142,23,171,190,95,172,
+167,251,135,203,126,88,175,251,220,180,192,140,6,6,132,174,161,106,106,
+174,85,242,32,103,194,45,184,134,17,106,75,164,18,193,143,16,2,94,160,49,
+154,7,240,8,172,69,182,5,109,211,149,125,99,38,69,223,218,100,147,164,37,
+4,170,0,170,121,238,163,25,52,123,191,124,118,242,236,50,93,28,249,195,
+73,205,117,101,121,116,206,1,0,51,183,109,91,14,210,182,237,208,28,183,
+127,246,33,230,207,210,254,253,189,161,199,220,157,73,104,235,23,48,10,
+59,50,80,48,13,129,16,204,32,187,128,136,27,53,152,47,78,204,0,0,1,0,73,
+68,65,84,41,2,120,21,96,24,148,40,4,96,155,131,250,187,134,230,175,152,
+111,189,203,153,239,24,11,133,60,41,155,168,67,76,18,228,104,113,212,113,
+212,148,58,138,16,151,105,136,131,65,28,198,52,95,72,202,226,67,150,209,
+46,231,25,71,237,7,88,15,106,43,24,70,24,70,148,41,33,72,76,128,174,154,
+30,88,90,37,240,161,106,197,41,120,45,157,214,162,25,16,128,43,230,160,
+194,133,141,188,169,167,149,124,55,124,177,132,210,91,178,118,2,125,92,
+155,251,201,227,103,255,228,59,239,231,177,71,27,235,110,127,151,253,32,
+34,216,246,219,152,18,49,35,145,2,108,242,63,219,246,195,237,225,202,70,
+240,27,221,188,245,101,237,26,131,144,13,152,139,96,16,153,17,168,154,170,
+154,138,152,36,75,131,141,107,235,87,218,175,52,69,79,35,47,22,113,185,
+202,57,203,24,109,185,146,24,7,0,100,244,171,149,201,28,99,242,67,132,241,
+148,98,242,49,226,56,5,83,89,174,192,135,202,238,37,243,81,176,218,59,26,
+188,135,106,4,81,100,167,154,21,157,86,193,24,193,60,0,198,55,175,123,0,
+0,1,0,73,68,65,84,41,186,173,8,98,201,169,200,175,18,228,189,105,99,163,
+80,53,49,241,82,154,191,248,232,228,159,255,254,119,142,124,110,109,196,
+201,65,193,43,17,109,211,251,0,0,14,29,122,15,206,73,25,22,3,64,72,68,4,
+68,102,134,160,102,4,69,255,250,53,157,211,111,13,224,122,189,181,237,50,
+163,166,104,6,42,168,98,34,150,35,228,1,211,10,135,5,244,115,88,45,44,246,
+163,70,29,6,28,7,146,236,115,22,235,37,174,226,56,10,1,165,52,14,151,57,
+11,100,29,87,152,82,214,148,211,170,117,204,176,94,131,247,16,32,39,48,
+65,231,50,100,165,238,136,38,9,124,109,106,74,94,204,25,86,188,169,101,
+110,89,106,6,8,134,191,82,36,253,230,13,125,22,163,118,50,228,254,241,234,
+236,175,63,91,62,236,234,163,64,57,231,18,91,151,253,226,166,53,18,145,
+152,208,57,99,7,155,66,244,6,247,176,171,107,109,14,187,77,11,125,139,235,
+43,118,109,176,70,36,2,80,176,130,30,212,12,146,77,50,165,100,105,212,113,
+5,195,2,134,57,14,151,52,46,104,236,123,85,47,86,20,0,0,1,0,73,68,65,84,
+37,73,89,114,202,113,4,81,70,245,14,36,170,164,228,205,250,97,48,53,82,
+27,98,212,44,96,10,235,65,130,71,85,212,212,159,60,139,81,128,194,224,65,
+250,158,166,75,136,17,235,9,34,129,171,1,88,144,29,131,145,51,135,198,14,
+145,16,129,20,176,52,103,127,21,230,92,215,47,86,147,163,253,229,42,44,
+252,254,255,249,139,147,119,167,71,147,119,170,89,149,16,49,231,92,246,
+142,37,14,129,178,217,100,6,230,87,50,59,8,80,38,125,33,108,103,80,108,
+255,251,54,8,121,221,174,51,19,178,157,212,176,29,63,149,163,164,132,227,
+2,226,104,195,82,251,133,13,11,27,151,16,215,148,199,60,130,106,206,253,
+186,95,47,200,172,169,252,180,118,53,87,142,90,31,252,217,217,57,2,176,
+115,243,249,188,244,120,127,244,217,121,101,214,180,181,154,206,151,39,
+144,12,66,221,63,235,157,137,165,49,167,68,245,148,67,224,122,66,136,140,
+70,232,204,121,13,141,133,10,56,108,246,75,95,97,162,219,77,64,151,30,5,
+8,199,106,246,255,124,250,252,238,132,13,14,254,195,23,230,176,32,0,0,1,
+0,73,68,65,84,38,21,111,93,28,54,0,20,175,156,85,28,226,134,158,7,229,228,
+223,60,100,41,211,26,194,102,46,248,183,182,181,235,141,173,97,91,125,17,
+147,164,57,106,78,56,92,66,28,117,189,146,126,33,195,74,227,0,18,81,179,
+75,67,240,174,169,177,51,14,14,15,246,102,77,29,76,165,171,154,166,109,
+158,63,107,156,115,117,85,157,157,157,150,204,215,241,116,138,104,7,251,
+123,49,199,199,159,126,22,129,192,215,207,78,206,42,114,67,92,14,115,76,
+171,75,9,193,117,51,82,177,60,146,107,213,87,96,201,112,98,104,101,114,
+148,126,117,223,125,130,192,85,173,195,130,29,136,134,19,155,254,171,95,
+46,129,235,63,122,48,152,217,110,203,184,139,179,179,8,155,21,225,165,45,
+71,169,80,10,224,213,172,140,87,121,232,47,158,104,255,247,214,174,15,214,
+175,86,181,208,56,84,69,84,50,196,181,197,81,227,90,99,47,105,84,73,166,
+106,96,19,206,179,174,174,67,3,214,118,117,184,117,184,223,181,181,74,182,
+36,211,201,100,130,99,8,190,107,187,211,22,153,217,57,126,112,124,247,78,
+157,179,0,0,1,0,73,68,65,84,55,167,120,235,232,112,136,195,173,206,169,
+11,202,225,195,191,137,171,149,206,5,98,236,85,7,29,41,73,34,112,38,234,
+155,67,208,108,76,230,28,176,3,32,5,34,251,202,18,182,49,67,91,215,105,
+253,178,170,170,245,136,48,185,245,232,197,229,157,83,25,199,17,0,174,122,
+107,40,76,24,209,205,24,185,109,126,11,97,183,53,176,157,167,222,18,190,
+190,77,134,188,102,215,6,107,73,81,212,164,84,189,53,99,238,121,156,219,
+184,150,254,66,198,81,199,104,121,148,97,89,217,248,157,187,7,239,61,184,
+251,241,163,143,186,174,107,219,246,234,110,73,145,146,165,249,114,217,
+78,166,136,56,164,28,218,137,170,26,145,119,131,119,148,242,218,49,126,
+255,187,239,148,72,244,189,195,122,185,30,94,156,156,126,248,179,71,31,
+61,59,141,60,213,116,4,121,104,242,114,181,122,94,77,143,72,142,72,19,42,
+68,101,101,55,217,219,63,207,35,1,17,48,91,225,0,137,65,50,20,128,238,186,
+150,226,11,205,233,121,38,198,238,88,37,123,234,33,46,121,186,255,151,47,
+199,255,229,241,78,135,212,200,0,0,1,0,73,68,65,84,226,223,251,126,59,147,
+181,172,70,154,188,63,178,143,195,229,254,148,108,236,23,119,127,64,143,
+126,60,185,92,128,155,141,112,70,178,10,116,55,218,103,91,130,135,32,26,
+2,33,48,2,137,125,241,20,132,175,37,191,224,215,176,95,205,183,198,205,
+172,25,220,176,138,182,244,35,128,235,220,50,110,59,47,54,172,59,149,242,
+35,146,114,138,146,147,35,108,166,221,196,119,135,7,123,147,201,228,187,
+223,253,110,169,168,165,148,114,206,219,234,186,94,205,6,64,209,219,221,
+82,219,84,117,23,125,22,115,206,29,31,223,154,76,167,221,100,246,222,162,
+95,139,251,244,98,120,244,217,217,242,244,5,28,220,22,66,4,142,201,60,250,
+110,239,88,208,45,22,115,108,42,216,16,71,17,55,179,38,222,82,202,239,202,
+52,162,82,125,36,48,253,241,211,203,239,28,31,30,55,53,105,30,151,23,220,
+206,28,49,36,5,112,136,14,145,182,172,142,146,238,248,124,12,253,13,231,
+226,125,57,187,54,88,19,161,106,25,158,167,160,2,146,77,162,229,145,76,
+81,18,91,110,235,176,223,77,246,187,218,200,51,23,0,0,1,0,73,68,65,84,112,
+48,107,171,170,50,209,130,212,146,225,218,145,215,10,166,85,117,151,22,
+40,104,246,222,155,89,41,200,169,106,161,4,137,136,115,110,127,230,219,
+186,122,8,148,209,63,122,122,130,113,249,36,205,23,235,19,61,51,202,153,
+218,156,144,114,86,55,217,247,85,107,170,136,91,137,197,237,196,30,176,
+95,53,201,232,218,172,16,111,75,218,2,11,97,213,216,204,254,175,143,87,
+247,142,251,135,251,221,61,159,105,113,230,24,185,109,87,73,43,172,144,
+2,146,7,216,12,181,45,2,218,88,50,213,87,120,140,223,38,173,63,111,215,
+153,9,65,128,45,166,147,73,180,52,90,26,9,196,147,133,64,7,147,234,248,
+96,54,109,171,202,97,202,57,165,164,170,170,42,34,101,83,72,68,197,97,35,
+110,130,200,18,105,236,156,180,170,122,191,25,44,84,60,189,170,102,201,
+8,200,32,142,180,170,43,190,51,173,244,225,15,31,28,61,158,167,159,60,122,
+178,190,56,115,239,124,64,68,121,24,83,142,213,237,123,148,21,200,16,208,
+152,54,195,94,141,223,74,26,193,54,45,189,88,152,125,14,162,69,106,215,
+0,0,1,0,73,68,65,84,76,204,224,167,23,240,231,159,44,191,127,107,58,187,
+67,129,71,140,75,171,235,8,190,2,34,172,145,156,1,148,214,32,3,84,221,176,
+113,175,214,96,202,220,217,111,19,33,87,237,250,188,53,128,110,74,30,2,
+154,33,71,200,163,229,1,115,174,24,219,202,31,77,155,195,105,83,5,167,57,
+197,152,170,170,42,240,221,197,21,197,115,87,85,117,213,103,151,199,59,
+88,135,16,0,96,87,191,72,41,213,77,75,160,227,26,52,71,111,105,191,102,
+127,255,200,240,248,183,177,145,249,217,95,61,122,202,151,79,201,57,169,
+197,198,106,117,162,213,222,29,227,108,30,0,169,248,104,44,163,136,111,
+88,225,153,10,161,174,192,146,28,178,2,168,9,68,222,255,240,89,255,231,
+31,93,188,211,29,236,31,4,200,41,165,209,234,61,147,128,88,35,134,13,96,
+105,67,99,162,157,174,199,21,182,233,183,129,200,27,118,141,85,70,3,19,
+83,5,21,208,12,154,64,18,74,2,75,93,237,15,167,237,225,164,238,2,19,65,
+34,18,102,48,187,90,49,46,17,69,161,104,138,200,134,23,97,86,89,13,234,
+173,0,0,1,0,73,68,65,84,194,238,2,110,51,43,61,127,5,211,165,138,129,46,
+4,70,71,160,201,59,231,40,139,0,16,251,9,210,31,254,232,253,187,183,111,
+61,190,28,127,118,242,177,117,67,211,54,121,204,184,174,193,87,86,6,194,
+58,67,96,52,67,53,117,55,235,238,202,8,216,50,63,148,136,16,138,183,54,
+104,186,231,171,249,255,253,241,197,15,142,234,7,179,169,87,177,97,112,
+205,190,41,3,6,68,183,33,246,16,150,68,78,73,96,111,136,175,59,157,18,195,
+111,189,245,85,187,62,88,111,134,15,43,168,162,10,170,160,101,212,220,4,
+127,48,237,110,29,76,167,77,96,20,21,40,189,122,50,142,187,77,161,115,174,
+132,206,222,251,170,170,68,4,182,155,197,156,51,108,163,17,0,40,93,36,227,
+56,238,2,149,4,236,202,60,113,231,171,170,162,148,35,244,98,232,198,254,
+123,247,143,223,127,239,253,159,62,61,189,248,215,127,249,217,234,132,251,
+35,170,103,218,79,64,18,32,20,225,12,68,71,6,168,160,111,163,255,109,195,
+131,6,36,32,3,98,83,169,28,165,232,127,254,114,245,23,143,211,229,194,221,
+0,0,1,0,73,68,65,84,47,254,193,253,110,234,209,198,129,115,82,101,0,111,
+192,86,34,23,196,162,91,179,195,52,192,235,109,116,223,218,21,187,70,111,
+189,19,76,40,164,34,69,83,48,237,186,102,54,157,236,77,39,21,105,28,7,201,
+130,174,114,206,181,211,0,0,34,82,66,231,178,23,4,128,16,66,129,53,51,3,
+192,142,180,89,220,115,161,219,15,195,176,251,93,110,166,154,211,122,1,
+146,163,11,181,177,121,37,84,184,213,85,79,159,191,112,100,239,63,188,251,
+163,211,121,126,114,182,30,23,171,190,111,111,29,24,2,248,0,154,80,115,
+233,139,39,181,155,166,158,227,38,103,177,233,116,220,245,240,178,102,117,
+225,108,190,120,244,98,126,178,60,126,119,47,144,137,164,104,80,155,209,
+86,125,9,138,210,222,54,185,133,159,131,242,183,208,126,205,174,47,193,
+199,6,170,106,34,162,38,128,202,206,2,98,237,48,206,38,173,10,40,134,170,
+10,10,125,213,212,228,56,246,99,8,193,57,87,246,136,37,174,40,207,148,172,
+200,206,31,151,40,101,189,94,3,192,213,230,168,130,114,51,3,168,106,135,
+205,236,86,237,0,0,1,0,73,68,65,84,57,231,16,194,56,142,166,89,68,150,227,
+185,235,66,91,133,137,226,159,188,123,235,253,91,123,127,117,161,127,246,
+248,68,198,207,98,172,17,164,174,38,38,24,83,118,206,55,237,36,98,95,218,
+19,204,172,80,178,9,153,144,242,53,177,72,18,210,54,175,42,102,34,0,224,
+60,56,191,94,174,64,115,123,176,247,211,231,159,252,98,254,189,135,183,
+154,61,24,14,19,44,195,47,24,30,2,63,8,225,241,4,90,136,67,148,165,15,15,
+147,156,165,97,8,32,1,45,139,33,3,58,234,99,70,49,239,177,196,105,195,48,
+138,64,55,107,135,245,58,1,120,135,57,27,24,212,222,73,150,156,173,174,
+252,40,105,219,72,188,157,186,1,8,0,250,149,177,102,190,216,126,53,223,
+186,244,182,225,166,73,2,117,163,28,3,0,55,228,162,182,171,132,128,216,
+54,77,8,129,213,118,156,75,53,51,145,16,66,201,102,148,48,186,72,100,148,
+56,228,243,176,222,144,215,0,138,183,46,191,136,155,166,175,205,190,179,
+192,186,236,68,85,21,192,93,92,246,154,200,98,222,159,117,254,168,93,84,
+227,9,90,123,0,0,1,0,73,68,65,84,171,31,63,121,126,49,159,135,253,154,136,
+250,213,194,50,87,237,140,153,22,171,75,232,252,231,165,249,223,66,45,163,
+106,218,81,214,198,188,212,250,95,255,248,163,99,127,239,159,253,240,222,
+24,151,80,49,177,51,226,210,175,85,40,45,104,160,64,138,148,84,84,77,181,
+36,42,81,145,41,103,5,82,83,37,210,140,42,6,137,44,17,146,34,57,82,49,53,
+100,70,69,212,12,153,182,132,120,68,176,77,19,100,169,119,124,35,252,254,
+53,243,173,119,61,78,176,137,5,169,110,26,239,189,197,140,0,196,228,156,
+115,204,134,86,249,170,248,102,0,216,33,181,100,166,11,172,95,29,23,177,
+184,115,0,40,168,77,41,241,86,0,169,188,50,132,80,96,29,99,44,119,0,149,
+0,216,142,125,30,23,11,7,50,155,117,23,2,239,238,251,225,204,96,232,51,
+206,173,102,224,90,181,6,82,197,76,234,182,19,176,192,112,219,236,126,243,
+55,247,134,67,116,106,190,234,171,163,127,245,55,79,15,42,251,253,15,222,
+241,253,121,213,77,60,56,4,18,85,177,140,172,37,25,228,24,209,121,154,72,
+251,169,0,0,1,0,73,68,65,84,73,34,138,72,96,196,0,228,28,147,50,1,154,41,
+129,103,52,131,12,224,25,3,152,120,172,8,179,130,50,120,34,69,4,134,77,
+123,66,33,127,81,185,108,190,65,251,206,107,172,50,110,229,221,74,253,172,
+16,222,185,248,93,82,48,64,114,206,85,80,249,42,24,130,35,231,189,15,33,
+92,237,225,131,109,5,241,243,176,46,160,47,176,46,177,120,201,9,22,183,
+93,178,34,229,58,41,62,126,24,116,74,245,116,202,67,21,150,103,207,209,
+134,251,83,255,7,239,223,165,26,63,57,153,159,94,138,15,13,82,142,253,5,
+132,122,182,183,215,39,43,55,227,93,11,235,219,41,59,247,253,88,87,77,82,
+210,201,157,147,197,229,159,63,185,252,233,243,179,127,112,144,96,52,175,
+132,128,150,115,182,232,73,208,204,68,89,122,6,139,42,89,212,57,7,6,146,
+34,179,51,196,108,42,42,82,218,37,76,1,76,192,82,78,206,179,154,168,101,
+213,34,142,154,69,181,8,165,110,168,218,91,69,33,132,111,72,67,250,245,
+193,186,12,254,131,34,36,68,134,108,196,70,236,216,49,51,80,229,227,153,
+153,0,0,1,0,73,68,65,84,241,174,204,78,189,247,134,224,144,75,2,164,128,
+56,132,240,134,183,126,35,182,46,62,184,92,6,0,176,171,50,150,203,0,0,68,
+100,23,201,0,192,172,171,78,231,61,82,152,182,117,160,56,142,195,237,186,
+250,221,247,238,135,198,246,43,250,217,233,120,145,22,99,95,131,111,209,
+145,200,136,234,183,90,106,8,27,9,19,0,176,155,22,215,137,9,14,38,77,127,
+185,128,186,133,131,7,191,156,255,242,207,126,246,233,15,255,253,239,242,
+72,173,121,135,78,77,77,165,220,2,85,4,134,158,189,151,81,82,6,70,82,201,
+113,212,16,210,128,148,146,164,4,137,135,156,114,140,102,195,48,166,40,
+17,192,101,83,201,217,140,34,33,100,53,52,9,190,218,244,126,152,2,22,5,
+184,27,254,168,111,209,174,211,91,111,93,246,198,91,27,21,229,123,100,102,
+242,206,17,17,17,106,97,94,162,99,231,189,47,64,116,206,237,96,93,30,148,
+96,186,0,116,151,162,46,176,46,177,120,129,245,110,187,201,204,57,103,239,
+125,217,74,18,81,87,209,98,144,40,84,181,147,217,225,173,52,172,22,244,
+232,213,0,0,1,0,73,68,65,84,66,134,62,193,143,238,202,189,195,119,247,63,
+93,252,233,163,211,229,229,243,112,251,33,49,174,206,206,124,119,108,96,
+37,134,42,159,231,237,124,203,86,53,46,16,196,5,56,130,118,111,217,79,254,
+223,71,39,255,209,31,126,64,6,106,12,88,248,5,49,136,72,78,177,31,210,128,
+1,194,101,159,215,99,154,96,157,83,26,251,126,2,213,194,100,28,37,70,24,
+25,115,198,113,180,145,33,69,178,44,26,28,24,231,60,42,7,231,48,91,52,83,
+84,46,209,22,34,18,20,6,108,185,150,191,210,118,207,107,178,235,140,173,
+113,35,163,120,101,111,77,148,83,54,51,34,166,45,157,152,153,217,179,39,
+95,130,144,141,126,192,54,182,254,85,91,198,2,226,146,222,134,43,222,186,
+60,46,224,222,69,50,204,92,163,116,109,139,202,4,234,155,174,170,2,69,169,
+150,121,214,94,220,187,115,12,117,243,228,114,117,254,124,180,52,80,105,
+137,55,3,43,93,97,155,221,246,102,238,208,77,163,187,110,98,26,2,69,128,
+49,162,131,102,255,227,147,243,31,127,114,57,185,59,75,6,36,54,148,99,73,
+109,0,0,1,0,73,68,65,84,198,17,99,70,72,99,92,172,47,232,101,207,97,112,
+207,79,225,114,13,123,251,32,25,211,0,135,41,140,154,250,117,26,71,216,
+139,40,66,195,160,211,72,41,17,37,89,103,143,168,57,107,215,184,224,57,
+103,48,21,109,18,66,137,19,55,234,215,69,254,253,198,201,49,111,197,174,
+189,141,0,183,180,135,205,248,134,97,28,114,78,30,137,16,9,169,132,209,
+190,242,100,84,156,235,14,214,37,86,198,43,182,57,46,34,108,211,216,37,
+198,160,43,86,0,189,115,225,37,140,97,102,200,105,111,111,175,243,221,122,
+181,88,246,243,138,61,85,220,45,82,53,127,110,28,111,77,171,135,199,7,143,
+23,231,47,215,43,245,147,182,157,38,123,37,13,179,75,50,191,141,124,48,
+185,126,56,235,42,132,0,49,230,186,157,94,188,176,159,124,244,252,247,14,
+154,136,153,82,26,199,81,123,51,77,125,111,139,139,203,159,95,130,175,221,
+39,207,211,217,2,246,23,43,80,201,17,238,164,196,57,175,214,48,142,176,
+24,178,170,12,3,76,251,148,82,134,17,150,67,36,180,156,83,215,96,85,89,
+43,128,122,34,0,0,1,0,73,68,65,84,206,89,37,187,35,32,2,199,224,24,188,
+3,231,208,49,34,66,253,117,147,52,252,82,118,125,124,107,85,41,37,105,34,
+36,71,236,145,60,113,190,148,44,160,251,30,52,245,174,57,242,126,143,44,
+78,152,18,250,130,203,93,228,176,235,125,130,45,148,175,54,99,239,8,125,
+184,149,205,5,128,166,105,118,14,123,23,154,79,38,19,51,139,145,2,166,154,
+82,85,115,56,56,20,17,140,241,248,112,34,225,214,121,175,199,173,255,227,
+119,186,73,90,255,213,139,225,175,47,94,172,173,166,246,52,129,131,106,
+90,87,179,42,185,60,72,38,166,166,178,180,186,174,37,250,98,75,139,209,
+79,115,216,179,24,49,175,37,15,50,123,255,127,248,5,77,235,167,255,201,
+31,86,123,103,252,217,167,125,85,233,39,231,206,252,253,71,207,158,254,
+100,65,206,225,203,23,212,247,112,144,143,134,184,94,174,151,135,107,92,
+47,67,28,21,76,222,209,163,216,47,87,171,245,221,227,118,185,156,15,3,28,
+231,64,152,64,241,104,175,162,133,141,189,5,223,172,105,200,217,28,193,
+119,223,57,148,249,165,230,42,31,138,0,0,1,0,73,68,65,84,173,229,7,223,
+169,32,14,61,78,0,19,97,100,50,6,65,67,214,64,16,6,91,18,123,102,64,38,
+69,177,194,152,197,18,146,111,25,208,91,119,246,149,55,53,92,119,222,122,
+131,192,162,173,72,128,152,21,178,2,16,51,111,179,234,68,184,13,74,118,
+205,78,59,131,45,166,175,250,108,252,213,203,180,211,214,216,118,138,216,
+46,74,217,253,226,46,207,93,85,21,241,241,8,125,69,245,253,67,93,246,249,
+69,94,253,60,194,8,10,25,0,13,146,140,16,17,176,140,195,18,141,55,238,188,
+118,57,121,66,32,66,164,172,41,38,125,58,182,31,126,214,67,172,123,154,
+174,87,231,207,230,235,149,210,211,75,120,121,169,38,139,203,75,72,9,198,
+124,30,115,26,19,12,178,150,12,41,66,140,48,200,139,56,128,36,200,176,92,
+173,204,49,216,217,32,57,153,192,114,189,32,128,245,18,8,251,65,32,37,96,
+132,136,189,87,13,10,179,85,32,53,28,134,170,198,42,16,161,56,132,218,1,
+177,129,102,64,222,80,121,55,137,79,43,93,148,95,207,156,224,53,118,158,
+111,148,88,54,213,95,28,141,0,0,1,0,73,68,65,84,187,70,98,32,54,116,163,
+114,204,128,200,62,56,34,48,52,118,140,204,142,139,107,222,4,33,229,203,
+125,3,214,240,183,2,122,251,190,175,94,182,67,54,108,189,123,185,114,74,
+153,221,123,159,115,6,109,155,116,206,128,213,190,130,205,78,205,127,184,
+90,205,83,244,90,39,112,106,104,89,132,196,177,35,148,49,15,1,253,117,45,
+209,23,154,119,174,176,149,16,137,156,71,203,146,114,159,210,159,62,90,
+236,201,188,59,236,46,23,126,56,201,151,17,78,227,240,228,20,6,133,229,
+18,114,6,34,190,88,171,1,0,195,197,170,12,138,196,68,118,182,130,56,2,19,
+184,85,88,44,250,166,118,107,197,20,1,1,6,3,71,52,246,10,6,249,37,228,12,
+142,160,7,171,137,91,202,234,141,13,102,156,15,14,235,9,56,208,222,35,112,
+167,68,162,146,48,212,64,108,192,96,168,182,101,36,126,45,49,13,215,234,
+173,109,83,138,221,100,66,216,200,1,187,33,243,58,153,2,59,199,133,179,
+79,206,237,148,156,11,236,118,152,254,124,72,253,107,217,213,186,99,137,
+73,138,147,46,116,144,16,185,69,0,0,1,0,73,68,65,84,214,66,124,93,246,86,
+55,41,104,228,184,56,238,240,251,119,167,239,156,230,79,62,91,112,118,88,
+55,137,131,0,131,149,237,129,128,70,184,97,88,227,166,47,8,17,145,157,71,
+19,149,164,57,125,116,62,254,114,134,151,199,247,95,198,189,229,201,83,
+117,112,17,249,116,109,2,238,229,197,24,2,213,117,183,28,123,118,174,10,
+126,209,47,57,132,174,155,248,154,114,86,116,198,174,90,1,47,228,50,70,
+135,73,114,86,176,188,204,196,196,166,132,128,203,103,201,57,168,2,69,131,
+150,161,117,16,115,172,29,236,121,72,206,69,96,77,125,32,64,54,173,37,167,
+88,213,19,66,134,242,83,180,178,144,8,233,235,153,55,185,62,190,53,162,
+2,17,26,22,142,60,57,32,103,228,5,234,213,104,73,128,107,78,102,72,200,
+222,27,190,22,99,192,21,16,127,9,52,191,97,111,120,107,216,18,89,205,44,
+165,20,197,194,30,113,92,141,151,47,91,214,239,28,77,191,127,180,126,244,
+242,114,57,212,22,2,85,141,185,10,12,85,213,200,152,233,166,55,141,168,
+6,101,228,2,17,50,33,209,184,228,175,0,0,1,0,73,68,65,84,4,144,164,34,40,
+250,241,233,252,199,47,81,242,173,152,112,241,210,94,166,177,167,201,193,
+237,239,46,226,139,110,50,235,38,51,184,184,244,85,152,76,59,60,63,109,
+187,233,100,50,245,161,90,173,122,66,223,180,147,97,136,205,193,16,152,
+115,30,212,98,78,125,223,175,162,168,99,143,196,139,139,71,33,248,172,188,
+88,246,21,217,126,11,253,122,60,156,213,231,2,35,225,98,68,16,232,60,176,
+39,67,54,97,167,108,101,190,18,50,34,3,50,253,125,128,245,166,231,31,119,
+83,165,184,32,59,81,181,26,117,72,162,165,185,138,144,189,83,20,124,221,
+96,27,76,127,233,19,216,81,180,119,153,193,205,137,149,148,226,214,109,
+239,49,33,52,26,171,249,197,75,136,195,157,186,254,225,81,56,185,237,254,
+252,83,89,166,85,26,2,54,149,81,16,17,64,244,222,235,77,79,92,18,217,242,
+14,202,172,23,6,231,81,181,34,248,228,60,253,31,31,197,31,76,126,239,254,
+7,97,254,147,191,168,181,61,186,247,65,59,187,239,186,23,77,219,181,147,
+174,91,44,66,8,237,164,235,46,172,129,144,31,0,0,1,0,73,68,65,84,47,155,
+80,215,77,67,236,220,197,188,174,155,110,178,183,90,175,157,243,78,109,
+24,215,204,38,22,47,47,46,84,181,105,38,76,238,252,227,202,57,206,18,95,
+60,251,132,109,136,102,167,151,54,31,71,143,176,178,180,183,148,10,225,
+160,5,10,44,224,60,147,139,153,25,2,50,35,150,25,234,101,106,213,215,51,
+14,185,214,216,122,195,184,124,21,91,3,177,81,53,196,245,24,69,213,172,
+36,255,153,69,229,141,36,221,27,206,27,182,78,247,202,241,127,141,32,251,
+234,139,119,105,111,68,244,222,55,13,244,9,212,77,186,163,123,50,44,26,
+192,31,28,84,252,253,91,47,180,249,120,217,247,105,176,74,201,177,137,89,
+22,246,111,131,132,205,128,70,100,101,80,142,1,32,129,243,193,59,165,135,
+191,76,231,183,111,253,225,31,125,247,143,15,31,254,35,197,64,147,227,39,
+31,63,159,230,218,121,231,234,208,96,67,204,88,213,213,164,10,228,216,121,
+231,131,175,176,106,59,223,116,58,228,122,178,231,20,19,144,15,212,120,
+84,174,17,121,50,153,129,81,93,181,196,152,242,56,134,189,47,18,149,0,0,
+1,0,73,68,65,84,67,182,161,162,241,197,167,191,24,86,48,243,218,159,219,
+249,42,118,30,134,17,144,53,139,118,53,7,31,189,55,64,23,10,61,10,54,45,
+213,95,207,98,251,181,126,109,184,251,235,85,185,209,144,146,88,202,162,
+102,134,128,132,68,36,10,87,1,125,53,170,254,188,74,222,46,168,248,242,
+231,181,61,56,51,59,142,169,207,70,109,61,59,132,224,98,191,188,51,9,211,
+182,254,179,245,244,226,211,231,39,243,210,88,233,115,210,44,6,249,198,
+233,63,132,104,136,70,36,128,170,106,186,233,225,61,63,191,156,28,29,61,
+62,31,247,46,229,63,152,62,188,245,195,22,213,62,126,49,159,204,84,192,
+27,40,123,66,95,3,18,59,103,84,239,185,218,135,208,118,109,221,205,38,211,
+41,57,30,179,204,246,247,91,87,163,35,231,192,5,70,246,128,220,182,147,
+24,37,65,93,213,97,226,41,87,211,174,70,214,213,34,105,26,150,73,22,57,
+198,49,166,228,193,1,84,46,51,98,236,252,126,39,6,232,156,48,43,161,1,1,
+168,34,226,55,28,214,163,70,81,200,72,74,8,206,99,174,164,44,122,35,0,0,
+1,0,73,68,65,84,208,41,42,81,90,156,11,62,73,225,8,248,54,46,166,57,85,
+18,192,117,37,84,40,93,186,59,150,41,124,17,124,191,52,160,119,124,169,
+93,143,66,85,85,195,96,147,202,231,156,200,235,168,30,172,221,223,207,188,
+88,252,103,31,156,252,167,31,126,10,237,239,85,30,229,252,19,119,248,189,
+184,210,35,188,60,145,9,188,186,96,95,93,184,215,133,246,104,136,0,164,
+194,133,42,202,172,133,214,50,193,241,226,151,123,141,255,233,120,248,223,
+255,127,139,127,241,219,205,33,175,92,189,63,185,149,144,99,219,182,204,
+124,126,126,222,52,77,211,52,47,94,188,232,186,166,109,219,182,109,125,
+77,77,211,116,93,215,86,142,136,154,166,81,27,219,182,109,154,230,249,243,
+231,0,112,120,120,40,34,103,103,103,85,85,17,145,172,247,153,185,174,239,
+127,240,123,135,57,103,93,189,248,232,209,47,46,86,243,167,23,39,23,166,
+39,113,30,235,170,205,169,154,116,93,166,153,234,68,86,179,182,106,155,
+6,145,83,22,213,145,200,17,32,2,131,41,170,18,2,33,69,51,42,229,51,196,
+226,84,134,64,94,0,0,1,0,73,68,65,84,216,137,0,233,26,59,70,223,150,78,
+200,107,93,27,219,180,124,17,15,232,99,94,143,25,38,65,17,199,24,181,106,
+174,82,197,222,166,142,105,193,122,73,146,120,239,69,36,132,16,66,0,179,
+119,143,15,159,142,102,105,68,230,44,25,28,197,95,193,184,190,198,144,114,
+119,28,123,227,201,192,222,218,4,176,90,141,47,107,189,136,254,168,13,183,
+166,174,158,222,170,170,170,235,58,239,253,222,222,94,129,242,108,54,243,
+222,183,109,91,215,245,114,185,172,170,170,192,157,136,38,147,73,249,167,
+170,170,74,223,254,193,193,65,97,215,20,58,100,241,26,165,41,41,231,28,
+14,219,81,44,143,235,97,190,31,244,226,252,124,249,232,211,85,32,155,133,
+48,109,157,238,7,71,62,176,7,43,92,98,175,144,1,105,27,62,126,225,167,249,
+10,236,26,97,77,187,15,102,128,134,100,68,64,196,206,171,132,121,159,46,
+214,233,59,7,157,145,140,99,116,65,191,42,6,228,206,115,171,110,54,241,
+57,231,156,115,5,252,251,239,250,199,159,232,147,179,222,185,89,150,72,
+30,251,183,32,110,182,158,220,94,1,0,0,1,0,73,68,65,84,85,70,64,123,165,
+126,106,8,142,140,92,51,42,130,172,94,14,240,120,73,119,107,190,183,23,
+128,154,182,109,39,147,73,85,85,227,56,22,101,172,131,131,131,170,170,170,
+170,10,33,44,151,203,114,161,94,94,94,50,115,193,119,249,167,182,109,205,
+108,54,155,153,89,219,182,37,239,217,52,77,225,35,20,186,88,221,132,4,158,
+76,226,250,114,184,252,236,163,85,127,218,47,216,250,79,94,194,180,81,51,
+10,190,38,228,49,106,83,211,116,210,34,174,16,118,233,145,18,119,219,87,
+168,183,92,236,26,183,140,69,210,115,167,131,129,69,18,12,136,205,133,197,
+16,79,215,121,132,170,97,17,209,128,87,199,127,109,106,40,191,121,106,239,
+223,241,60,161,4,217,219,50,100,85,85,57,103,201,246,143,190,51,249,171,
+243,211,79,159,173,160,62,84,137,85,237,199,204,238,138,30,7,220,128,23,
+218,221,56,237,141,39,37,70,115,224,106,104,121,77,227,95,159,14,119,92,
+250,103,199,179,104,161,105,154,2,107,85,45,110,184,170,170,182,109,11,
+117,172,56,242,242,184,16,19,10,13,157,104,35,3,220,0,0,1,0,73,68,65,84,
+153,11,233,160,140,242,40,206,187,108,163,203,155,18,145,136,168,243,23,
+235,232,153,9,36,46,239,175,6,131,113,142,58,158,12,63,93,230,68,65,154,
+137,33,171,135,164,200,161,17,231,202,212,9,218,6,3,96,104,96,95,161,136,
+39,192,181,234,132,108,139,227,6,134,106,200,64,12,204,72,30,152,122,29,
+206,123,189,24,116,82,121,118,250,70,69,250,237,95,220,229,230,123,181,
+179,38,143,246,254,62,253,214,17,254,233,207,115,70,15,57,121,226,17,3,
+109,198,161,110,78,113,155,59,188,190,48,164,92,204,87,87,0,17,0,42,246,
+203,140,4,142,154,42,137,253,197,179,197,29,78,127,242,15,187,9,85,206,
+185,226,107,203,53,89,136,98,37,80,46,196,221,130,99,17,41,216,45,179,76,
+17,177,105,26,216,142,160,46,127,94,77,67,109,90,253,49,172,215,145,152,
+28,147,229,59,253,32,54,174,45,199,231,63,127,17,243,194,175,82,55,239,
+137,169,243,226,4,234,188,158,56,111,72,155,121,154,176,221,244,223,176,
+232,202,191,213,174,213,91,3,64,225,240,2,26,161,109,66,50,167,92,0,0,1,
+0,73,68,65,84,4,28,217,152,213,183,23,99,255,217,249,234,176,157,237,183,
+149,228,4,175,231,206,118,200,126,59,62,219,174,168,148,20,199,166,149,
+220,202,235,31,221,173,102,181,59,37,246,144,88,18,144,7,45,233,44,124,
+13,122,215,136,234,87,178,8,69,26,103,179,29,245,161,129,156,65,83,37,171,
+36,240,120,205,63,190,224,211,228,239,54,84,215,117,65,243,174,107,174,
+174,235,221,172,176,18,129,148,36,125,193,113,161,70,238,52,177,118,215,
+115,89,129,157,242,27,150,70,105,87,231,20,21,204,64,77,116,88,247,26,99,
+234,251,249,252,7,121,125,50,234,201,89,223,7,31,161,131,70,108,200,82,
+103,7,96,72,198,84,194,39,43,119,226,111,136,183,198,13,75,0,96,211,162,
+75,64,4,70,128,132,204,84,117,171,117,255,233,203,139,119,15,235,195,105,
+51,244,125,91,215,87,131,144,183,108,87,211,228,197,219,73,11,205,226,228,
+7,247,246,246,167,205,153,56,135,64,41,146,159,32,234,166,150,254,202,85,
+95,247,169,152,237,102,130,26,66,161,197,36,5,240,141,139,49,164,57,184,
+122,216,101,105,0,0,1,0,73,68,65,84,105,118,7,143,214,167,127,253,116,126,
+240,160,171,235,186,192,180,124,4,219,202,99,151,227,237,210,74,59,169,
+183,157,120,208,78,193,16,183,44,72,34,170,235,186,92,30,69,82,203,163,
+143,119,143,201,243,144,163,228,172,105,128,44,253,114,61,230,127,154,215,
+47,242,229,47,101,253,209,124,117,86,19,76,219,16,147,23,167,136,70,2,68,
+155,41,99,6,240,5,18,243,111,215,174,183,141,160,152,65,1,248,174,52,131,
+76,190,26,5,206,231,203,126,140,128,56,142,195,245,189,239,151,180,93,225,
+102,67,79,169,145,23,227,157,253,166,107,43,92,146,67,192,156,201,115,217,
+0,191,209,144,126,157,167,241,186,136,205,142,180,190,234,35,212,77,112,
+88,217,200,225,160,231,253,211,113,254,211,39,167,127,116,39,20,76,239,
+208,92,220,109,241,187,175,157,229,182,183,8,0,10,19,125,199,89,223,93,
+15,176,245,217,187,187,22,197,60,107,235,102,218,13,121,204,146,37,14,100,
+184,94,174,147,113,94,191,88,62,247,243,79,87,227,106,61,140,57,165,144,
+146,151,42,146,110,221,147,149,171,230,251,148,0,0,1,0,73,68,65,84,30,231,
+175,94,59,141,1,241,191,254,151,255,146,136,83,86,64,18,53,81,3,192,108,
+168,101,238,109,233,4,50,80,51,53,19,248,226,231,19,128,154,170,9,152,98,
+25,252,0,12,224,70,170,47,206,207,246,38,205,40,26,185,190,117,231,238,
+20,215,239,84,195,0,12,166,196,133,161,202,8,188,41,81,222,240,205,203,
+118,51,135,136,118,80,96,230,4,28,76,169,95,123,230,127,243,233,252,37,
+221,134,253,219,213,226,83,101,103,166,0,186,33,217,97,9,59,93,212,181,
+130,24,8,130,18,152,195,141,112,239,160,8,232,0,89,209,25,57,224,96,228,
+5,156,198,184,217,81,169,18,160,103,71,0,154,243,200,145,130,67,83,18,109,
+136,41,39,137,107,135,146,73,173,63,71,135,43,245,41,14,173,45,82,191,250,
+203,83,154,175,47,126,248,195,247,14,105,238,198,243,233,222,193,42,113,
+26,115,219,120,179,87,157,22,229,99,238,246,130,155,111,122,235,206,223,
+40,17,148,32,27,0,66,8,68,20,85,66,211,32,177,99,143,192,77,211,57,31,154,
+174,59,205,167,7,183,238,86,11,42,153,248,0,0,1,0,73,68,65,84,213,209,217,
+233,170,107,171,28,47,235,0,147,174,81,27,200,121,102,6,83,38,116,149,71,
+231,50,24,83,85,148,59,17,29,178,39,246,128,12,128,64,190,120,58,32,6,114,
+27,238,20,18,162,223,57,65,164,205,147,0,104,232,118,165,107,68,66,220,
+238,77,203,209,182,207,111,37,15,54,31,246,230,103,158,3,76,166,211,126,
+232,137,57,14,250,228,233,243,239,181,179,165,41,151,78,128,43,121,110,
+250,138,250,50,94,145,82,136,67,8,123,157,219,239,224,201,34,91,78,72,76,
+132,155,190,25,51,83,221,233,238,18,109,64,99,134,6,40,136,90,88,211,50,
+160,82,233,157,218,141,76,36,181,82,86,69,176,82,155,195,141,90,67,241,
+13,98,57,91,202,186,153,185,147,148,0,37,66,26,16,61,196,53,228,104,100,
+58,174,84,248,231,143,94,60,121,254,193,221,187,1,128,215,253,136,206,213,
+77,13,91,162,249,111,238,21,118,241,247,46,235,87,178,251,223,189,123,15,
+213,175,49,172,222,255,33,173,221,229,227,207,146,204,37,143,202,88,246,
+41,72,104,80,86,232,171,103,138,76,12,11,13,0,0,1,0,73,68,65,84,188,133,
+225,208,208,182,221,217,203,165,15,97,236,233,241,243,211,203,135,179,89,
+91,79,180,140,49,54,81,37,17,68,36,114,111,191,169,98,23,100,51,51,178,
+171,217,223,222,231,251,51,253,155,249,160,209,216,7,216,200,19,131,22,
+10,169,106,97,207,19,133,77,240,128,38,5,233,102,6,165,105,74,183,183,29,
+52,211,114,175,207,16,138,122,27,106,6,5,51,82,17,75,17,145,200,52,143,
+131,141,163,48,171,100,203,217,52,80,154,203,56,96,242,208,175,44,143,138,
+32,203,185,56,254,217,243,79,62,252,197,211,135,221,195,123,147,202,22,
+171,80,99,59,155,229,126,196,109,199,208,111,104,180,27,53,182,21,174,40,
+23,204,123,124,111,61,218,186,221,79,26,243,229,116,92,126,10,195,207,99,
+28,188,243,89,81,129,202,149,170,34,136,76,95,245,32,250,27,135,181,152,
+137,106,85,215,64,172,28,86,3,127,122,25,15,186,73,45,74,100,34,70,89,192,
+210,174,165,229,43,65,54,17,49,3,186,64,8,71,157,123,48,227,61,90,44,146,
+186,182,6,52,221,168,104,0,32,40,69,47,107,137,0,0,1,0,73,68,65,84,2,130,
+153,129,22,77,47,220,140,125,80,208,141,247,101,175,42,88,68,243,202,85,
+96,74,136,150,86,134,0,170,42,17,204,16,65,37,75,138,172,21,128,217,106,
+161,195,90,152,77,68,69,52,84,56,158,194,56,64,40,176,142,134,0,203,133,
+58,158,175,23,63,254,197,39,63,56,222,223,255,222,93,39,134,195,58,55,117,
+138,169,217,246,228,95,215,178,236,162,181,114,204,134,27,168,148,90,63,
+75,15,117,82,141,23,159,210,73,236,151,63,115,9,66,182,36,202,140,197,75,
+49,1,185,183,17,5,252,45,118,227,111,79,232,250,126,49,157,76,23,235,193,
+184,178,122,246,179,167,23,135,123,221,145,67,115,219,76,183,169,170,168,
+145,25,226,13,95,232,111,144,4,119,255,27,28,43,7,176,60,245,240,96,66,
+199,33,199,62,1,77,8,198,146,184,6,220,76,230,40,121,56,19,69,132,146,201,
+44,106,245,102,106,96,25,67,206,128,160,142,9,84,82,28,77,133,153,185,191,
+36,4,211,140,105,4,19,64,131,156,32,142,20,59,180,100,139,115,24,150,230,
+200,212,44,169,250,64,145,20,229,233,0,0,1,0,73,68,65,84,233,12,198,1,66,
+128,126,109,146,140,16,150,75,117,76,42,31,126,248,243,119,102,237,123,
+119,143,246,143,26,146,104,42,224,194,213,156,210,111,152,176,217,101,168,
+118,187,106,68,4,168,131,79,80,135,208,117,236,31,190,243,254,63,73,109,
+124,250,211,211,14,134,152,112,76,226,24,17,145,204,0,136,208,127,181,162,
+103,55,79,188,36,50,0,118,46,137,154,171,4,241,227,211,243,195,103,203,
+223,106,107,118,14,0,183,69,129,13,223,248,237,219,102,7,105,128,46,104,
+146,150,237,225,204,61,152,242,105,180,104,72,101,127,178,29,163,106,91,
+93,28,212,180,85,144,80,4,53,205,166,98,38,22,166,152,71,52,37,35,16,129,
+113,141,154,201,57,92,60,3,4,212,132,105,68,205,8,74,57,82,28,113,89,131,
+69,91,156,194,184,64,79,32,6,81,213,5,211,5,140,163,86,149,141,3,136,0,
+19,172,86,232,93,78,242,243,159,92,76,89,255,225,123,119,239,53,15,91,74,
+49,142,90,213,111,96,241,55,95,144,171,215,134,153,97,112,132,224,64,218,
+154,67,152,205,238,253,78,33,8,243,72,0,0,1,0,73,68,65,84,12,241,229,217,
+51,215,255,196,48,39,17,49,115,192,128,8,86,120,125,95,165,68,229,205,199,
+214,102,93,215,173,214,189,2,134,102,50,172,150,194,237,39,167,203,213,
+29,5,192,16,130,115,140,155,18,132,1,190,61,174,200,155,5,32,5,98,7,153,
+90,167,247,247,170,7,7,205,207,230,121,149,181,9,176,25,134,168,162,98,
+162,90,148,188,77,6,218,204,70,204,32,217,114,180,156,76,196,77,214,58,
+12,96,226,28,131,164,188,94,154,36,23,124,188,248,140,208,64,178,166,129,
+52,33,136,229,168,113,36,108,193,70,88,158,64,156,83,96,21,131,81,141,189,
+97,130,24,181,174,45,142,168,134,142,97,232,73,92,0,238,227,240,201,227,
+39,143,62,122,252,143,31,206,234,142,199,113,76,152,91,79,240,27,251,233,
+171,182,187,60,54,199,36,200,38,12,195,94,75,46,7,145,187,149,251,157,131,
+247,95,182,31,61,83,89,26,244,6,70,68,132,132,165,195,224,43,181,27,135,
+117,86,221,159,117,79,78,79,32,180,117,211,173,214,125,59,59,88,142,151,
+171,213,154,136,170,186,242,227,109,66,98,0,0,1,0,73,68,65,84,158,1,29,
+0,177,138,42,241,219,205,135,92,249,242,128,137,129,176,114,116,208,133,
+195,73,93,185,117,26,164,173,182,21,225,50,233,38,139,150,142,136,188,34,
+48,82,69,73,152,162,197,81,227,104,146,33,157,167,190,7,19,242,12,57,230,
+213,2,36,167,224,100,57,23,0,208,4,113,16,75,6,98,41,106,28,204,205,208,
+6,88,159,65,154,163,48,137,193,160,64,222,216,32,37,195,108,49,34,0,152,
+199,52,32,250,227,163,91,75,113,76,180,90,173,36,69,71,173,153,197,172,
+0,116,45,152,46,51,33,118,225,199,142,177,163,136,125,140,83,78,45,123,
+4,232,137,170,233,189,195,7,63,194,23,255,115,26,18,218,8,168,165,95,191,
+44,230,87,94,101,220,164,251,174,140,100,197,223,252,70,182,179,214,227,
+98,185,106,103,7,89,36,175,47,90,15,49,134,149,59,248,31,95,156,253,211,
+206,29,58,73,235,197,138,167,221,193,113,227,128,199,133,86,126,183,25,
+255,205,27,8,254,22,123,227,176,53,90,100,47,97,218,113,255,110,187,248,
+126,61,63,242,242,203,56,61,27,86,155,212,186,249,0,0,1,0,73,68,65,84,160,
+202,6,36,153,211,232,198,1,227,200,166,75,57,201,47,95,214,183,110,73,223,
+143,243,249,65,215,14,139,197,216,247,174,30,116,24,242,56,100,21,54,173,
+69,200,148,16,150,227,37,164,196,93,43,113,132,152,92,93,107,74,150,146,
+250,33,205,47,184,107,125,179,215,159,158,248,182,58,220,159,156,157,188,
+172,246,154,102,90,201,184,62,190,183,127,123,127,175,34,124,112,239,206,
+221,227,227,187,7,211,167,79,159,238,239,239,255,206,111,223,93,140,241,
+201,34,220,174,101,18,214,125,95,8,78,27,209,149,47,189,122,87,69,61,119,
+191,94,240,61,9,157,105,7,0,134,234,39,154,146,30,221,254,209,243,247,254,
+243,213,179,255,110,182,250,233,196,110,251,97,162,77,15,33,231,220,128,
+91,2,32,2,25,208,230,207,146,147,254,53,191,166,95,57,151,241,85,27,212,
+134,180,81,202,2,229,255,110,220,91,171,161,26,40,224,246,135,20,201,128,
+30,159,143,119,39,139,251,21,220,155,86,21,41,196,213,8,4,144,233,154,2,
+196,95,215,204,180,80,43,13,192,51,207,38,205,164,25,182,72,125,0,0,1,0,
+73,68,65,84,30,240,124,77,48,128,233,184,90,85,100,208,175,135,139,83,7,
+10,146,2,205,243,250,148,230,201,134,129,150,243,156,170,188,90,234,48,
+172,214,2,67,15,166,230,29,128,197,161,183,156,152,8,96,32,102,89,94,34,
+24,169,13,23,75,80,5,85,170,2,64,158,85,84,7,183,202,205,254,108,114,124,
+235,232,222,225,244,254,157,227,166,174,243,56,28,238,77,247,39,173,229,
+116,235,112,255,112,127,191,237,42,102,158,76,38,133,78,157,82,90,175,215,
+5,205,165,244,120,117,245,110,98,25,119,120,42,93,207,147,189,3,88,29,243,
+56,147,132,204,217,202,38,132,164,108,64,62,191,204,215,126,62,95,104,55,
+15,107,32,45,213,12,220,222,24,200,144,224,84,247,126,121,150,31,52,253,
+97,19,142,26,211,180,204,230,170,38,188,177,7,127,107,140,17,4,35,132,178,
+117,12,193,29,31,76,143,186,12,171,19,71,2,146,198,211,231,190,245,214,
+47,224,244,49,214,94,115,204,151,79,97,49,31,23,173,229,164,195,122,112,
+148,198,1,114,226,217,161,228,1,36,107,134,36,217,250,53,112,242,53,164,
+0,0,1,0,73,68,65,84,164,148,9,33,45,235,189,189,245,217,89,179,55,219,159,
+77,47,227,178,109,171,42,132,211,139,211,217,108,250,193,123,247,110,31,
+29,198,126,221,181,245,254,108,58,14,253,241,228,176,109,234,113,232,39,
+93,83,215,161,95,47,187,182,105,28,141,227,56,153,76,234,186,142,49,166,
+148,16,177,140,151,46,226,177,87,145,125,237,152,198,207,169,34,2,192,222,
+209,61,94,127,79,230,63,206,241,194,65,218,144,238,41,217,174,175,224,106,
+107,193,219,114,86,55,191,101,44,189,122,136,219,166,244,205,48,68,233,
+142,63,235,95,252,252,100,124,247,32,31,118,25,77,4,124,198,138,182,99,
+190,222,38,166,1,0,202,57,18,137,129,35,188,53,107,110,53,23,184,124,62,
+244,3,202,8,79,63,138,123,21,198,5,124,246,40,239,117,150,98,155,70,208,
+129,87,3,128,162,68,75,25,114,68,4,93,154,35,204,41,194,122,101,160,85,
+83,133,218,169,228,7,247,239,221,191,119,239,211,79,171,135,239,188,243,
+206,189,123,207,159,125,118,120,176,63,157,116,127,249,225,191,57,58,60,
+252,222,251,187,211,98,71,0,0,1,0,73,68,65,84,239,30,238,239,167,56,48,
+98,240,110,24,130,203,208,6,66,1,38,5,72,98,105,200,160,131,196,36,71,71,
+71,34,178,90,173,10,113,175,104,201,238,96,189,163,64,93,251,10,93,253,
+58,112,167,85,52,153,118,179,239,245,213,119,116,181,66,47,200,94,21,152,
+34,2,191,14,98,123,37,4,117,243,118,243,121,107,48,43,83,27,1,8,96,195,
+204,69,96,172,206,215,248,145,229,39,11,187,119,136,29,129,168,244,73,26,
+191,209,74,125,219,200,46,1,61,1,32,33,216,172,118,71,149,214,227,169,203,
+152,251,203,60,158,211,165,96,156,67,255,18,224,2,84,83,68,52,29,114,100,
+6,64,203,227,26,16,208,179,158,157,181,183,111,249,138,150,49,79,218,250,
+189,239,62,156,118,221,106,185,248,253,239,189,127,231,206,157,143,143,
+166,119,239,28,31,223,190,253,105,199,179,217,172,235,218,219,179,224,152,
+171,42,104,30,36,141,101,234,106,69,160,1,32,152,36,77,148,209,177,85,108,
+181,19,79,93,168,11,127,122,231,56,69,164,239,251,194,121,218,121,235,107,
+15,228,174,198,235,71,202,245,155,0,0,1,0,73,68,65,84,187,103,136,40,2,
+133,246,97,174,191,147,253,35,10,61,177,207,153,145,50,226,102,219,182,
+169,197,190,221,154,250,205,231,173,53,163,41,154,162,10,136,149,185,209,
+32,226,53,71,213,147,24,62,94,208,195,53,60,152,178,99,151,12,130,8,110,
+135,67,191,221,8,91,77,25,25,136,217,146,214,164,135,149,30,80,127,62,198,
+180,124,25,116,41,103,167,152,22,222,134,52,159,35,115,142,216,52,181,200,
+48,109,218,174,107,198,145,218,182,238,186,246,204,61,253,206,195,227,233,
+180,235,215,203,105,215,190,255,222,187,77,83,157,159,157,222,222,155,116,
+129,110,239,79,106,7,121,92,57,18,77,235,113,157,167,109,197,196,170,106,
+42,77,21,54,59,54,227,76,104,158,192,145,49,34,179,171,170,80,213,196,212,
+112,93,22,103,167,137,188,233,106,121,29,211,55,129,236,98,111,28,118,128,
+84,215,119,66,253,64,124,69,85,143,24,52,146,199,215,195,15,216,214,105,
+223,150,147,186,121,88,75,4,85,200,2,34,38,102,57,107,202,154,165,179,49,
+33,92,140,244,87,159,46,38,208,195,131,177,191,88,137,0,0,1,0,73,68,65,
+84,230,206,173,169,15,155,94,244,155,62,171,47,48,51,83,69,38,118,94,192,
+2,233,126,141,183,91,250,248,23,79,228,236,89,29,242,112,246,212,99,62,
+190,125,120,113,153,171,182,249,224,131,251,123,179,233,114,49,63,60,152,
+29,238,239,13,235,213,222,222,116,111,54,125,252,241,147,163,163,195,182,
+169,99,28,156,195,189,217,132,9,43,152,54,222,171,196,189,217,4,9,68,198,
+217,108,194,76,128,208,47,251,182,109,153,157,11,161,169,27,64,140,49,138,
+40,88,170,67,149,125,114,206,53,174,242,70,1,188,9,184,202,141,227,88,58,
+9,74,236,177,163,224,193,149,2,225,13,193,186,92,72,187,1,222,102,38,44,
+208,28,84,245,237,193,121,100,3,117,96,193,177,102,195,43,29,109,240,150,
+155,118,111,62,182,214,12,82,48,45,150,213,178,88,78,154,165,211,5,105,
+125,178,180,213,217,165,159,167,137,29,84,21,78,157,239,170,234,106,29,
+248,45,154,21,18,19,51,43,130,3,107,3,237,181,174,169,104,21,240,254,237,
+195,203,116,118,208,134,31,253,246,111,189,56,189,152,237,11,207,49,0,0,
+0,1,0,73,68,65,84,31,254,240,222,116,111,54,59,125,249,98,111,218,237,117,
+237,249,25,206,38,237,222,180,109,221,123,204,68,4,162,78,37,89,26,148,
+160,173,157,67,23,227,216,180,245,24,199,148,83,59,105,75,129,103,50,221,
+171,155,58,167,60,166,132,49,19,179,1,135,186,174,81,166,237,212,43,57,
+230,38,212,17,163,35,22,145,233,116,58,159,207,75,59,99,140,177,140,99,
+253,194,21,187,57,135,13,87,174,31,0,0,4,8,83,36,54,52,48,198,82,109,204,
+105,199,32,183,87,191,117,19,231,242,5,230,128,3,58,231,8,28,130,104,86,
+49,5,66,246,168,171,146,28,32,68,3,102,68,3,2,180,49,141,168,74,10,100,
+168,86,146,239,136,134,38,106,34,144,50,138,176,42,170,144,168,168,44,70,
+185,184,56,191,117,116,107,88,45,46,78,79,247,102,83,25,6,141,227,2,87,
+118,190,186,43,156,52,127,248,100,145,96,21,102,183,254,241,164,94,196,
+121,219,182,197,253,20,213,201,34,9,89,218,164,111,206,20,188,247,8,102,
+34,162,97,38,195,240,199,239,29,253,193,127,241,31,255,196,167,71,15,0,
+0,1,0,73,68,65,84,139,127,249,223,62,252,131,223,221,159,116,103,47,14,
+247,219,230,189,7,239,196,126,29,135,222,28,230,60,222,61,154,17,145,104,
+158,204,102,64,180,74,153,49,49,50,24,144,25,243,38,139,172,170,89,115,
+213,214,73,132,157,111,187,73,206,25,140,102,147,189,245,122,157,36,119,
+211,110,66,52,142,99,201,61,143,227,72,228,145,201,85,190,174,235,170,174,
+181,199,210,152,200,204,179,217,172,104,33,92,237,213,45,245,162,171,248,
+222,41,12,95,151,225,182,91,236,170,237,65,175,217,75,55,115,71,223,151,
+139,179,32,99,219,180,189,102,66,54,44,77,244,130,160,8,132,224,9,111,246,
+75,220,153,131,43,217,238,146,174,40,33,208,38,223,108,166,86,18,172,38,
+6,162,90,198,141,88,153,73,81,86,82,85,85,64,20,114,182,156,52,103,17,17,
+145,242,87,35,113,72,115,92,41,173,230,85,188,164,245,104,171,101,92,175,
+123,20,27,101,88,103,96,54,200,63,253,155,159,237,233,120,220,54,223,189,
+29,224,245,13,74,233,60,189,233,133,216,133,242,87,85,212,152,249,191,249,
+175,52,203,244,152,0,0,1,0,73,68,65,84,254,75,48,29,215,171,39,31,127,148,
+251,53,104,94,206,207,68,147,231,166,124,254,29,122,174,118,39,236,184,
+111,59,88,151,94,247,82,195,219,141,94,216,141,25,41,20,126,51,43,176,54,
+51,231,92,233,68,44,114,8,176,237,21,247,222,167,148,118,13,139,187,215,
+95,125,223,155,94,171,207,175,221,166,45,96,43,166,10,176,165,155,127,69,
+202,33,174,132,242,8,64,8,165,101,7,193,204,212,128,13,84,193,212,64,1,
+196,64,205,164,84,69,55,144,54,19,83,81,73,34,89,216,196,36,99,142,144,
+162,166,44,57,231,156,36,139,173,207,112,126,17,123,103,67,239,135,129,
+197,211,114,137,171,85,66,14,224,243,178,247,77,211,76,234,231,39,243,79,
+62,123,62,10,142,227,184,27,123,94,220,143,123,43,44,199,171,37,140,171,
+84,227,7,135,251,167,39,39,57,199,253,182,214,138,151,203,121,213,248,230,
+112,218,247,105,183,181,133,43,236,228,226,210,118,80,222,33,184,192,183,
+124,174,2,77,51,107,154,166,188,190,220,160,138,224,119,169,173,120,239,
+187,174,43,66,31,37,145,235,30,163,32,0,0,1,0,73,68,65,84,87,215,117,233,
+48,79,41,149,215,148,35,132,16,202,123,189,113,69,189,133,69,43,11,6,72,
+200,30,40,24,133,210,237,130,168,8,102,240,198,100,2,219,230,195,110,220,
+28,152,109,238,17,27,21,147,66,235,217,189,189,194,6,194,165,167,75,193,
+4,84,76,197,178,106,86,221,108,1,179,67,165,148,48,69,24,71,72,201,74,101,
+56,103,89,95,58,25,36,137,197,145,82,26,71,201,125,15,227,208,212,13,231,
+52,12,203,213,242,252,226,28,47,206,95,62,73,227,255,250,191,253,239,71,
+127,242,187,206,185,221,24,141,157,31,122,11,107,177,179,157,211,101,102,
+92,245,148,6,150,232,80,5,149,200,216,81,85,7,17,44,41,136,2,160,157,63,
+222,33,172,60,184,234,134,175,122,235,146,108,238,186,174,116,125,119,93,
+71,68,101,86,170,247,190,60,40,79,22,111,77,68,59,117,132,24,227,174,172,
+88,68,66,68,164,92,18,215,30,120,252,91,109,35,16,196,1,92,99,92,129,56,
+64,70,148,194,41,191,146,16,217,118,3,189,21,115,133,111,9,0,140,96,136,
+76,72,160,170,127,69,253,56,0,0,1,0,73,68,65,84,194,192,6,160,102,10,134,
+102,37,67,135,42,152,5,68,32,101,200,25,82,134,148,44,38,203,217,44,105,
+206,54,142,22,163,165,164,41,105,76,38,89,179,4,31,250,245,218,212,52,203,
+122,189,146,156,208,64,231,103,172,180,239,200,91,26,208,222,249,193,187,
+119,102,123,39,207,159,174,215,239,55,77,147,115,222,113,27,74,98,228,166,
+145,189,11,73,203,45,2,182,224,14,4,135,179,105,91,7,147,180,26,160,174,
+234,170,170,1,169,105,154,148,82,241,190,112,69,253,44,231,188,27,83,182,
+155,55,89,188,245,110,192,123,1,98,225,54,150,112,185,56,230,113,28,139,
+76,194,56,142,136,216,182,45,34,150,164,7,108,131,144,2,241,221,69,178,
+11,184,203,159,59,13,252,27,93,171,215,141,0,1,185,6,87,3,215,70,132,200,
+8,76,101,152,41,226,102,42,56,22,87,253,150,114,92,110,119,13,97,25,102,
+180,205,220,176,153,169,136,10,138,144,40,138,150,124,51,164,132,89,48,
+37,204,9,83,198,24,41,70,76,41,231,40,57,75,140,154,162,230,12,41,99,78,
+32,178,184,18,196,40,166,0,0,1,0,73,68,65,84,88,213,117,221,47,231,132,
+16,152,18,65,215,181,33,248,179,147,245,126,87,223,217,63,194,192,60,235,
+126,240,91,31,28,77,103,207,30,61,46,73,171,221,125,246,173,21,101,174,
+18,131,174,22,135,79,22,151,206,123,96,82,64,68,110,154,110,210,77,145,
+136,144,11,172,119,24,42,142,118,24,134,130,173,114,159,217,193,186,40,
+123,148,39,119,81,214,100,50,41,47,40,142,185,232,48,21,236,2,64,209,143,
+44,254,24,17,119,255,122,21,214,37,200,46,94,96,167,119,124,211,107,245,
+186,33,16,252,255,236,189,91,143,36,217,145,38,246,153,217,57,238,30,17,
+121,169,107,223,200,38,135,32,135,115,217,25,44,102,23,90,96,5,233,97,245,
+34,9,18,244,176,18,180,144,94,36,253,0,1,250,55,2,244,11,164,7,65,47,130,
+0,105,31,6,35,9,194,46,116,91,206,130,51,75,205,206,146,28,146,221,93,93,
+183,204,140,139,187,159,115,204,76,15,199,195,51,42,171,179,155,85,172,
+202,44,178,105,8,36,50,34,61,35,78,184,127,110,199,174,159,81,104,16,58,
+151,214,25,250,126,58,169,0,0,1,0,73,68,65,84,68,66,19,135,100,13,196,236,
+181,245,132,236,155,144,64,94,181,181,239,231,38,0,128,155,145,25,169,146,
+230,73,61,171,162,20,104,65,202,21,220,200,137,114,166,148,40,37,206,89,
+75,70,81,42,153,181,4,83,130,18,138,64,79,162,173,90,82,74,139,174,187,
+115,114,220,175,100,181,92,46,186,118,123,127,245,224,232,248,40,68,136,
+183,119,143,143,90,227,254,249,251,39,177,166,205,198,113,172,20,22,51,
+81,203,219,62,17,179,61,58,219,214,21,34,119,63,120,223,84,83,202,139,163,
+99,137,109,206,57,134,13,49,119,93,147,82,154,203,56,105,79,72,80,225,123,
+104,91,31,194,186,186,152,149,199,177,106,235,67,35,164,106,244,106,132,
+48,243,114,185,172,246,216,76,103,51,171,228,10,235,121,194,42,246,81,163,
+219,113,25,1,112,132,52,206,141,147,129,132,136,43,15,61,94,32,138,48,191,
+169,66,236,234,141,29,176,122,96,223,20,173,25,90,51,130,197,85,93,75,45,
+147,39,205,208,66,154,235,131,117,100,77,164,153,1,129,26,12,149,206,9,
+36,96,99,255,214,119,233,189,96,250,0,0,1,0,73,68,65,84,190,177,232,186,
+37,165,229,162,189,127,239,222,118,179,94,44,186,38,198,243,101,251,222,
+241,73,89,95,128,237,206,170,185,184,120,106,253,240,253,111,125,103,135,
+9,214,115,36,225,134,93,198,153,144,96,138,195,180,77,191,222,142,57,83,
+8,157,68,25,211,162,91,53,77,3,214,122,7,210,1,207,70,213,172,95,232,50,
+30,218,214,85,191,186,123,141,240,84,119,144,247,51,38,231,16,71,37,203,
+171,104,174,138,249,144,126,105,30,172,90,217,109,14,253,197,155,140,250,
+79,244,77,36,149,70,162,158,75,0,251,180,185,95,22,62,3,55,70,98,22,204,
+52,196,198,204,156,132,137,196,203,113,52,221,158,109,189,209,82,114,206,
+37,103,43,138,146,41,103,42,101,76,90,237,4,205,154,179,230,226,106,4,146,
+205,250,89,211,52,93,19,3,55,77,136,93,211,8,177,153,173,58,0,184,251,7,
+223,173,225,176,85,55,213,79,222,93,198,33,109,188,33,145,246,226,162,15,
+161,109,78,142,31,111,199,24,237,48,16,81,13,18,222,79,34,125,123,238,227,
+97,230,162,154,16,21,28,77,105,149,62,33,0,0,1,0,73,68,65,84,1,183,109,
+75,20,129,221,110,103,197,239,220,59,206,57,199,216,214,104,198,28,130,
+168,218,122,183,219,85,252,29,26,33,216,223,45,244,146,212,3,170,26,174,
+182,71,125,177,46,166,154,215,68,116,124,124,60,47,111,230,212,235,186,
+174,130,184,90,32,243,119,153,117,246,219,75,199,204,98,198,74,30,26,237,
+228,131,109,190,91,232,19,105,57,235,42,240,14,14,118,34,5,156,32,226,20,
+156,163,238,9,169,103,95,146,0,216,245,195,229,217,8,4,230,125,4,154,129,
+240,149,52,182,87,21,225,101,4,96,202,126,130,43,69,53,213,145,61,44,158,
+8,6,40,49,164,9,139,166,26,115,116,122,20,99,136,34,66,142,192,210,132,
+64,128,170,90,233,241,98,26,108,111,189,123,69,15,128,154,48,175,154,108,
+238,224,183,3,193,219,119,25,95,150,121,187,152,33,82,151,81,117,103,173,
+117,158,111,54,0,135,138,118,134,245,225,239,47,99,26,251,16,202,97,2,252,
+240,175,135,118,17,237,195,234,135,175,207,63,111,35,47,59,173,118,2,217,
+188,200,75,123,250,214,100,130,245,124,133,96,254,235,0,0,1,0,73,68,65,
+84,79,207,251,160,15,189,169,186,21,183,2,83,114,37,55,130,29,47,27,83,
+85,21,51,35,154,24,117,69,100,28,162,136,84,40,147,131,137,220,93,201,146,
+79,52,233,21,157,135,198,223,97,233,66,189,234,62,183,24,237,129,174,170,
+51,209,250,77,90,141,51,146,248,69,78,209,26,98,171,171,58,116,25,253,128,
+7,126,158,223,94,33,62,91,11,120,81,91,99,95,127,55,79,108,154,191,230,
+225,89,186,2,241,95,230,246,190,217,19,117,185,13,113,189,195,137,137,232,
+102,211,47,87,229,11,180,117,189,24,49,36,38,103,136,144,155,144,50,5,38,
+85,62,90,52,102,86,84,109,95,24,93,251,50,73,153,153,220,28,106,110,234,
+68,110,166,165,204,27,250,124,121,100,63,197,153,246,115,54,174,104,184,
+89,141,85,100,207,41,143,151,43,120,222,42,214,105,79,40,138,125,222,184,
+6,161,103,218,187,82,74,85,219,243,230,83,243,44,85,245,214,91,116,86,195,
+135,190,239,33,112,231,8,6,14,246,180,43,176,198,245,72,189,162,164,111,
+18,208,85,120,162,235,199,116,223,219,222,174,36,40,103,0,0,1,0,73,68,65,
+84,69,187,85,185,212,214,135,193,218,24,227,157,227,35,85,45,90,84,213,
+14,146,225,1,234,238,102,98,106,106,251,122,72,245,150,133,153,21,230,76,
+230,12,170,140,176,172,78,179,165,49,95,108,34,170,241,93,236,219,58,106,
+208,99,206,198,93,81,222,95,184,195,190,217,109,247,16,16,47,219,217,135,
+127,165,3,115,118,78,158,87,88,215,23,103,55,17,251,0,197,97,174,244,10,
+76,103,87,15,251,8,253,33,166,241,18,82,175,3,238,109,153,34,135,16,222,
+107,235,91,86,213,56,212,214,51,134,0,136,200,162,37,85,46,133,84,217,140,
+139,178,22,82,165,113,40,123,175,182,158,253,122,54,193,44,68,196,12,98,
+33,16,9,187,67,152,197,105,54,145,15,99,195,85,225,213,75,88,21,97,213,
+127,53,38,80,145,113,168,219,102,108,221,164,182,62,252,32,222,207,153,
+174,177,185,217,24,152,227,30,87,96,93,15,59,204,56,206,111,251,242,47,
+135,95,240,10,172,191,114,145,47,63,189,97,112,59,166,89,192,243,11,183,
+101,232,207,18,46,23,178,215,169,245,58,49,185,147,49,133,50,228,0,0,1,
+0,73,68,65,84,51,121,29,242,202,238,230,6,55,169,173,160,102,14,173,28,
+162,76,204,2,77,121,239,226,26,132,73,4,4,98,110,89,174,192,122,142,160,
+213,44,67,206,185,86,62,84,107,181,102,209,102,147,157,15,102,161,207,22,
+200,91,61,107,135,174,237,225,106,233,32,163,62,103,200,113,48,99,137,246,
+113,183,10,238,26,194,171,255,82,65,127,229,131,174,220,165,116,208,19,
+116,120,59,93,249,175,195,42,148,235,190,194,219,62,69,95,32,149,60,101,
+250,29,230,118,187,36,124,87,71,2,204,107,11,194,4,119,175,93,90,112,49,
+54,22,119,142,173,22,205,37,171,3,78,68,206,196,196,4,3,49,195,76,64,228,
+78,65,64,0,91,35,92,227,116,21,214,243,101,155,97,61,177,75,239,3,183,117,
+160,201,97,20,246,149,180,215,155,146,47,4,86,93,201,225,58,177,199,253,
+97,184,102,254,57,247,248,124,225,250,175,67,222,151,88,32,238,94,74,185,
+98,160,127,37,202,223,182,204,150,226,190,158,218,111,125,186,110,168,102,
+238,108,15,84,95,94,68,114,54,243,90,112,8,183,98,78,203,174,43,85,0,0,
+1,0,73,68,65,84,6,114,98,43,25,238,12,143,194,118,176,116,21,0,38,130,142,
+3,230,107,22,46,153,241,235,97,179,234,173,80,198,222,169,154,75,216,42,
+92,14,107,217,234,238,81,144,218,166,13,96,135,81,173,126,116,66,206,37,
+196,74,37,228,53,139,229,181,15,24,64,134,41,136,65,225,74,7,210,23,202,
+21,37,61,203,21,45,59,127,145,106,68,189,124,216,252,226,97,136,253,151,
+140,78,126,229,97,68,36,104,182,101,189,248,197,255,24,242,6,223,249,135,
+136,247,145,251,109,187,32,148,0,106,32,53,153,70,10,99,98,185,164,179,
+185,114,163,190,234,109,112,221,77,168,164,13,50,210,35,29,63,167,6,192,
+18,230,45,67,205,234,180,13,34,38,170,108,201,78,244,234,155,136,79,4,104,
+251,88,181,131,20,224,47,103,255,186,54,129,119,184,245,215,157,119,222,
+46,103,231,239,240,50,92,33,9,255,18,148,208,62,2,80,179,15,117,203,174,
+172,23,117,7,167,125,238,250,48,33,92,212,37,155,139,194,92,8,44,161,230,
+70,153,11,176,39,127,172,227,61,38,4,139,153,3,196,129,193,239,227,250,
+0,0,1,0,73,68,65,84,224,100,90,224,224,16,110,221,73,255,21,69,26,136,102,
+179,141,110,126,158,30,255,101,92,124,16,48,52,237,119,35,22,168,157,176,
+4,7,148,157,165,0,126,192,195,253,86,252,16,134,192,211,148,138,182,189,
+157,125,83,181,31,215,201,181,176,158,163,22,213,239,57,140,172,29,26,18,
+243,139,135,170,235,186,109,244,112,223,172,65,143,106,91,51,115,53,169,
+231,84,249,188,221,207,200,110,194,66,88,152,184,210,150,2,0,131,98,36,
+42,0,38,186,159,249,134,134,3,145,169,153,139,18,136,120,63,137,234,203,
+228,22,183,242,95,90,114,16,11,156,108,124,60,156,255,139,178,251,108,197,
+9,93,134,124,27,38,133,151,222,69,16,92,216,145,8,153,246,13,41,135,209,
+195,55,184,154,0,66,113,228,228,170,48,118,10,228,201,167,139,114,107,242,
+101,218,26,123,157,61,43,236,25,145,47,71,54,14,255,113,126,101,86,249,
+135,127,154,180,239,129,229,83,173,142,217,102,61,60,120,214,214,34,123,
+234,107,62,248,56,6,16,48,81,163,211,68,111,234,102,181,29,141,128,189,
+2,163,206,96,210,63,0,0,1,0,73,68,65,84,175,226,246,123,213,139,125,91,
+55,64,134,2,34,220,8,107,71,207,165,108,56,109,199,199,141,248,167,163,
+28,217,234,195,16,63,166,208,49,224,22,75,177,248,98,95,209,155,95,182,
+1,58,122,217,144,39,130,144,71,71,1,235,173,18,166,126,85,139,238,12,187,
+89,121,207,124,20,135,253,225,21,235,243,239,56,56,125,117,82,224,149,119,
+163,131,234,142,10,220,249,158,185,146,28,230,203,242,29,152,1,181,40,0,
+149,38,29,4,48,216,193,142,253,32,38,135,59,187,163,34,28,14,115,135,205,
+213,100,46,252,78,206,158,255,229,69,59,16,161,116,40,104,173,103,234,49,
+174,121,125,150,236,47,50,31,187,126,139,67,223,28,127,155,249,148,92,192,
+203,183,191,30,32,111,188,156,145,15,129,132,208,186,143,78,122,187,62,
+227,87,104,107,28,40,236,249,247,195,134,80,236,193,122,5,229,151,31,240,
+98,253,221,12,220,217,200,198,85,248,126,193,61,80,55,128,10,107,174,88,
+133,26,140,65,138,88,255,234,128,194,12,83,240,193,80,24,66,52,53,179,49,
+216,0,83,253,229,65,13,107,113,170,0,0,1,0,73,68,65,84,253,229,91,246,109,
+105,107,102,192,90,36,241,109,63,182,79,23,209,161,37,106,54,122,108,249,
+76,215,107,215,11,235,159,209,226,91,180,248,8,161,123,83,46,227,181,146,
+119,72,79,172,60,33,108,153,8,222,184,179,185,242,141,140,37,186,78,190,
+218,182,158,207,200,21,240,29,130,242,229,179,54,203,97,175,242,33,72,103,
+83,239,48,237,114,104,208,31,254,11,170,98,102,56,212,225,25,105,55,110,
+115,25,65,84,44,215,104,137,154,230,148,107,24,39,132,16,178,54,109,23,
+67,75,8,194,45,81,67,0,253,210,170,250,214,19,10,215,9,3,34,0,179,217,48,
+14,143,217,172,45,12,31,200,155,80,70,25,63,163,241,194,118,143,117,249,
+72,238,124,47,158,124,35,251,157,217,255,158,223,228,48,61,244,171,74,58,
+211,244,164,228,39,226,91,208,10,202,106,40,166,205,187,9,107,188,84,91,
+67,47,85,222,205,175,19,81,213,202,135,160,60,76,190,28,30,57,195,250,48,
+87,252,133,153,136,195,247,33,34,181,92,52,41,202,110,216,158,173,159,239,
+134,173,187,13,56,107,155,199,97,216,43,0,0,1,0,73,68,65,84,38,132,168,
+90,250,97,208,82,66,140,109,211,132,158,23,139,163,229,226,56,134,69,215,
+30,47,22,194,16,187,57,86,248,183,37,106,187,32,45,22,34,173,59,237,138,
+14,109,9,69,119,86,58,46,57,218,142,203,38,231,77,159,119,5,137,237,34,
+30,253,61,188,168,92,174,43,70,120,77,41,155,146,215,170,27,182,1,190,128,
+139,169,155,223,170,101,93,227,214,135,207,103,149,124,5,82,179,41,92,147,
+103,135,209,189,67,117,126,229,23,92,191,217,29,134,117,231,195,204,76,
+157,69,172,248,96,202,141,116,100,128,27,133,146,209,12,148,30,175,127,
+190,238,31,27,141,187,180,29,203,216,180,237,144,203,243,205,121,29,105,
+48,12,61,49,26,139,207,183,185,223,109,239,134,123,54,16,140,239,156,220,
+143,235,69,27,187,247,239,126,96,184,151,61,231,49,159,116,39,4,152,90,
+20,113,67,178,20,67,48,55,38,98,48,17,180,36,9,241,58,0,220,150,17,2,89,
+110,198,45,31,255,46,63,248,219,237,191,250,239,155,241,51,156,126,199,
+55,127,89,244,25,19,131,67,224,54,154,114,101,87,218,0,0,1,0,73,68,65,84,
+132,244,216,158,172,237,233,15,207,78,126,112,122,255,91,190,248,120,12,
+31,202,242,27,10,74,96,9,92,96,230,202,160,134,194,158,105,29,32,130,101,
+120,29,45,9,160,198,145,20,100,100,90,140,84,218,154,22,16,43,72,23,176,
+148,47,254,41,149,33,216,41,16,20,27,65,106,145,91,187,87,242,99,144,64,
+162,79,195,23,107,194,186,48,181,115,120,202,231,79,224,235,45,241,106,
+166,19,93,246,217,184,92,22,110,208,225,227,242,159,190,218,101,156,145,
+61,107,223,43,136,159,255,122,5,202,135,63,127,121,169,106,37,80,48,97,
+55,176,192,29,195,184,222,0,67,218,108,250,179,126,220,34,104,42,105,44,
+217,133,70,77,89,147,66,0,235,115,15,120,182,80,74,49,148,100,99,78,154,
+198,82,84,77,137,92,46,182,231,82,218,24,154,101,183,90,116,18,209,24,171,
+163,29,203,40,20,25,12,135,169,113,168,131,231,8,213,146,127,151,132,129,
+38,52,20,90,131,184,1,80,88,95,134,51,242,13,136,156,162,113,114,49,15,
+238,2,39,227,243,79,139,59,154,193,219,77,115,26,226,63,95,0,0,1,0,73,68,
+65,84,55,135,238,110,3,33,68,231,232,196,216,39,57,138,17,28,34,168,67,
+141,224,6,48,17,46,251,89,40,98,15,30,134,151,241,220,251,103,156,123,170,
+89,115,51,88,113,203,102,9,150,93,223,213,0,223,203,66,7,101,165,248,34,
+88,95,57,242,229,223,15,229,186,125,144,129,98,26,152,136,100,44,206,66,
+70,229,209,243,79,55,72,89,135,139,205,179,81,119,28,49,164,161,79,99,242,
+148,172,79,57,73,96,119,235,199,29,224,209,66,206,89,75,241,160,37,89,78,
+170,40,154,221,13,136,217,146,50,36,112,179,25,159,180,178,104,195,226,
+195,7,223,64,67,146,58,212,155,86,1,131,154,171,209,45,143,97,251,34,97,
+160,145,136,230,40,81,231,206,228,138,178,46,233,81,75,35,28,32,49,106,
+16,6,196,132,152,17,218,123,104,168,71,218,109,178,60,67,57,199,226,20,
+70,96,166,15,255,14,169,3,2,105,1,113,96,38,205,243,58,16,217,140,64,34,
+117,236,19,136,133,43,153,51,12,186,182,241,73,217,126,142,180,89,56,96,
+230,166,110,5,150,204,6,232,232,86,110,247,33,191,237,0,0,1,0,73,68,65,
+84,55,254,255,101,145,144,67,224,94,241,225,94,118,233,230,167,47,191,207,
+43,45,200,129,156,83,104,91,2,105,73,222,54,9,253,167,103,191,72,97,40,
+86,182,195,166,120,98,231,62,245,187,97,39,37,12,184,200,41,135,192,14,
+239,135,29,224,81,67,41,121,232,199,34,163,169,155,130,26,53,144,187,183,
+206,78,67,78,154,7,189,24,63,103,107,86,237,137,197,212,198,238,180,188,
+119,220,156,0,204,129,64,96,136,154,171,189,16,37,127,39,68,29,66,8,71,
+20,142,157,59,34,192,118,158,77,160,53,87,237,20,17,122,216,8,140,228,29,
+249,18,193,27,237,109,92,27,111,177,91,102,117,98,110,219,123,106,4,233,
+164,61,70,92,9,181,144,0,192,65,130,192,76,106,192,20,165,51,117,15,100,
+228,5,154,8,35,242,25,165,39,92,158,194,182,164,137,39,37,61,194,6,216,
+224,62,184,21,226,27,226,37,251,66,249,106,151,241,101,112,95,81,180,115,
+117,219,149,23,95,111,65,4,208,212,110,6,22,50,248,214,54,103,227,83,243,
+100,174,187,178,43,158,9,188,29,215,155,170,250,71,68,0,0,1,0,73,68,65,
+84,126,205,66,23,249,89,206,41,132,0,242,97,216,17,81,211,132,82,138,22,
+112,242,146,213,138,171,140,86,172,36,77,188,38,100,130,16,75,19,197,210,
+110,183,189,240,79,179,21,255,214,234,251,247,241,96,217,29,5,105,59,89,
+82,165,104,122,189,239,240,86,69,11,36,130,151,220,220,229,230,14,114,132,
+103,113,11,78,110,106,230,6,114,27,9,35,104,32,107,243,197,50,158,36,132,
+5,81,235,89,97,45,59,135,216,228,39,63,82,103,110,86,180,184,195,221,41,
+100,73,113,69,77,7,115,4,144,11,19,213,113,147,208,164,121,64,116,77,59,
+43,61,251,142,203,5,141,79,163,93,48,37,232,192,218,195,6,183,17,150,224,
+25,94,28,5,120,87,97,93,229,101,112,191,17,249,146,183,138,113,90,85,19,
+99,194,120,182,123,182,179,13,44,171,105,175,125,210,4,179,245,240,252,
+188,127,70,236,207,134,167,37,231,234,50,246,67,207,140,216,68,45,153,188,
+177,152,74,42,102,174,97,116,181,146,139,143,35,17,24,34,8,193,131,58,74,
+81,236,202,56,164,126,187,125,104,239,159,2,114,248,69,0,0,1,0,73,68,65,
+84,44,238,174,154,211,135,119,191,113,36,119,132,47,93,169,119,71,140,138,
+123,20,110,101,241,64,218,251,186,235,200,54,129,29,70,78,14,100,152,17,
+18,242,8,244,40,49,245,199,177,51,96,65,212,32,39,215,198,77,96,29,149,
+127,73,206,136,75,47,167,54,158,152,44,17,22,210,44,76,27,105,23,224,6,
+89,97,14,118,45,67,26,118,188,64,25,119,150,119,130,193,117,135,178,33,
+29,136,13,121,99,58,88,217,194,118,100,137,172,192,141,111,251,172,189,
+178,245,248,114,228,228,202,139,151,101,183,95,250,221,190,4,214,34,1,147,
+123,138,205,176,254,252,249,163,157,110,68,189,152,246,121,55,150,209,57,
+175,135,103,23,253,99,146,178,203,187,156,179,184,0,54,140,61,17,162,133,
+82,138,107,52,201,57,101,119,80,80,56,180,168,20,23,90,148,92,74,210,161,
+36,50,102,112,227,156,169,252,162,63,219,158,61,235,206,143,87,114,119,
+76,233,163,123,223,94,240,73,160,134,223,49,251,154,130,167,154,94,90,220,
+227,238,94,177,6,14,137,162,94,235,189,220,61,67,13,62,192,142,199,187,
+99,0,0,1,0,73,68,65,84,118,206,210,186,33,155,107,52,8,251,41,168,179,194,
+133,155,102,85,224,140,210,145,29,99,92,25,181,144,142,98,155,84,186,110,
+73,20,243,88,28,30,162,184,38,27,182,240,35,164,158,203,200,200,108,217,
+74,175,154,157,64,227,115,211,100,214,195,6,246,194,174,48,252,218,204,
+101,188,98,79,31,190,254,133,199,255,170,145,209,74,219,44,178,221,109,
+158,95,60,27,74,31,69,138,234,88,210,152,7,227,52,228,237,144,215,100,197,
+200,149,50,193,28,150,125,36,192,181,20,45,174,218,103,73,227,88,138,178,
+184,155,151,148,21,73,232,180,148,98,89,37,132,200,129,157,119,105,61,244,
+131,138,34,25,134,179,78,207,91,90,46,229,216,91,110,121,185,56,110,127,
+165,47,242,166,133,168,78,78,3,55,43,138,171,226,1,70,161,97,5,79,177,48,
+24,60,187,186,219,8,166,96,132,221,144,157,10,199,134,149,227,49,43,147,
+70,148,200,6,183,150,104,128,110,9,13,164,69,105,153,65,121,9,136,143,153,
+136,152,35,67,91,218,73,41,174,35,89,22,50,184,66,83,46,197,224,148,200,
+134,14,63,0,0,1,0,73,68,65,84,183,102,217,109,36,79,84,185,71,205,221,110,
+185,100,236,149,35,33,215,61,189,242,250,175,96,174,172,115,10,65,22,46,
+120,220,255,236,179,205,15,251,242,184,164,60,80,63,230,93,95,46,182,249,
+124,204,187,161,12,42,92,84,182,233,57,128,156,1,128,185,54,71,130,40,24,
+149,77,127,78,32,138,180,30,207,136,8,66,79,182,35,228,89,224,16,99,252,
+124,183,105,168,105,67,55,158,111,218,216,52,116,180,203,27,98,30,120,243,
+207,158,63,250,193,243,63,35,103,2,253,163,127,243,191,106,41,174,208,53,
+188,24,158,111,187,211,83,56,20,112,47,87,66,239,55,36,186,96,25,71,52,
+34,239,197,213,31,218,226,79,121,247,89,244,163,100,59,119,6,137,115,32,
+7,153,178,2,74,153,215,121,216,17,55,141,180,122,81,84,158,147,52,78,82,
+116,116,18,146,86,101,77,113,69,97,201,161,3,71,117,241,210,19,11,231,194,
+36,224,5,128,48,166,81,159,187,102,241,34,92,160,61,134,77,40,61,195,44,
+127,46,181,127,96,79,132,67,32,22,50,19,176,192,64,36,224,72,6,142,13,133,
+0,0,1,0,73,68,65,84,94,231,43,222,16,218,223,177,45,22,192,193,208,200,
+148,134,33,245,169,140,106,58,166,113,204,227,152,134,148,134,49,15,169,
+140,73,179,234,181,117,189,47,230,213,234,238,225,0,212,178,146,24,151,
+66,89,145,85,138,149,146,98,211,70,23,150,40,77,144,8,2,185,187,169,187,
+255,223,127,241,103,39,237,157,111,221,255,157,111,223,255,30,98,132,193,
+212,164,101,179,23,48,253,150,170,153,191,80,104,98,150,11,8,157,135,133,
+147,64,21,181,178,107,95,224,133,233,57,216,169,54,243,57,178,59,185,25,
+52,129,152,208,128,130,107,3,25,97,9,58,88,233,136,131,67,12,29,51,107,
+202,6,110,114,231,142,52,14,180,186,227,90,28,197,89,73,71,148,141,151,
+209,201,93,117,159,94,161,26,24,187,153,147,240,229,242,78,194,26,76,132,
+2,219,141,155,205,238,98,72,187,236,41,151,49,231,113,204,227,152,199,84,
+198,92,82,209,82,76,175,163,75,102,225,105,8,143,59,42,147,177,195,225,
+134,2,82,87,101,112,65,40,60,230,50,132,20,162,164,24,154,174,93,180,77,
+23,185,41,63,13,252,0,0,1,0,73,68,65,84,37,176,169,187,249,15,255,230,127,
+91,240,157,245,246,108,117,124,119,25,79,213,156,43,92,94,196,244,205,193,
+154,64,181,2,64,26,180,39,232,238,216,174,245,146,247,121,149,185,139,98,
+122,202,206,238,0,169,185,187,21,39,118,16,8,193,220,193,224,6,210,64,22,
+144,14,210,58,139,112,164,210,56,200,115,118,167,18,26,119,215,49,5,122,
+159,172,0,234,236,176,236,105,7,205,32,152,101,76,205,71,4,146,169,17,240,
+38,78,196,151,201,187,7,107,99,38,6,193,144,250,113,189,25,206,251,180,
+45,158,235,67,45,171,21,181,98,40,70,10,250,165,186,48,252,64,133,177,128,
+38,3,208,13,158,77,205,75,86,238,81,98,136,201,134,78,23,77,232,132,66,
+101,72,206,188,189,232,159,141,159,232,234,244,254,119,238,255,254,131,
+197,195,101,92,96,72,88,92,6,176,230,184,231,77,32,155,170,182,118,8,163,
+187,143,229,3,187,88,232,184,163,24,156,80,163,33,192,148,108,38,34,152,
+215,250,92,114,157,184,240,200,29,32,87,128,65,1,28,33,45,184,129,68,144,
+136,68,202,188,220,47,77,0,0,1,0,73,68,65,84,1,32,201,234,32,146,64,14,
+201,5,187,236,90,28,238,66,112,243,60,186,41,152,124,202,89,49,168,54,101,
+147,95,54,40,221,154,188,123,176,166,40,28,0,152,231,177,108,135,180,25,
+173,47,164,102,69,173,168,151,98,89,189,168,107,173,230,187,238,252,217,
+129,125,66,160,253,246,232,44,209,109,142,219,213,192,172,187,57,193,75,
+73,197,211,88,134,38,180,49,180,129,3,179,44,98,246,206,159,12,63,251,103,
+63,253,63,214,219,139,239,220,253,222,223,250,230,31,153,21,190,173,184,
+44,77,227,45,65,64,123,31,171,247,189,89,217,102,77,20,201,201,39,170,48,
+66,189,197,252,242,158,174,196,45,160,105,226,167,232,224,128,147,184,49,
+105,4,11,56,128,152,56,56,51,156,96,206,96,98,33,162,104,110,189,185,42,
+64,94,59,237,85,1,135,8,243,98,202,52,212,20,100,221,19,111,219,18,121,
+247,96,141,169,200,166,88,202,218,39,237,179,141,133,61,149,148,117,76,
+101,204,58,102,77,197,115,165,148,15,215,148,228,185,91,221,136,15,235,
+83,38,195,29,230,123,157,86,45,135,154,57,64,0,0,1,0,73,68,65,84,20,51,
+11,49,171,103,213,148,108,76,165,137,177,109,66,35,18,74,178,110,37,99,
+56,255,201,243,127,126,190,126,252,228,243,95,124,244,224,189,211,120,175,
+114,245,206,221,15,243,103,188,109,49,128,96,4,131,139,183,119,124,249,
+144,154,85,53,170,157,64,243,224,251,250,253,64,198,54,187,114,19,228,39,
+35,197,0,144,215,233,41,6,103,24,215,19,98,152,106,65,8,130,137,134,29,
+52,130,234,140,138,16,65,2,67,37,37,99,82,39,158,108,235,26,45,155,238,
+162,27,56,25,215,202,59,8,235,201,92,40,154,178,142,217,198,226,169,56,
+204,117,122,152,154,171,187,125,213,240,74,154,127,0,179,23,10,114,113,
+35,119,3,129,136,65,83,129,172,177,194,188,56,145,169,185,214,109,65,88,
+186,124,12,41,189,157,21,47,227,238,124,243,228,252,239,254,254,223,195,
+81,19,184,157,187,137,111,210,79,50,64,170,143,0,120,56,66,119,135,154,
+37,209,161,195,88,119,167,9,152,46,251,175,238,21,172,147,229,235,196,238,
+238,52,57,31,128,98,127,78,172,242,80,19,1,110,78,76,152,157,40,157,0,0,
+1,0,73,68,65,84,74,44,164,3,169,85,75,3,12,24,83,237,6,33,0,110,52,105,
+232,91,183,170,171,188,123,176,174,151,204,49,217,208,94,212,85,173,86,
+155,97,234,49,223,23,229,48,174,61,145,87,161,86,61,70,56,113,83,149,86,
+189,132,68,112,87,98,7,85,103,136,172,30,104,176,226,76,124,76,31,13,195,
+249,90,207,227,194,34,243,243,167,159,61,62,123,212,164,123,239,221,121,
+143,246,100,78,111,255,164,28,126,15,236,207,17,140,5,161,35,137,47,124,
+215,57,24,66,128,195,121,194,180,3,213,38,175,0,36,134,83,109,2,157,60,
+131,250,198,77,12,213,241,160,125,75,243,164,136,173,192,106,95,251,28,
+170,19,16,51,185,131,234,240,239,203,66,211,27,139,228,93,35,239,28,172,
+11,107,104,4,99,89,80,144,16,118,154,32,230,105,72,121,40,121,48,29,129,
+66,112,114,246,122,45,174,57,127,246,197,175,83,178,17,216,151,240,216,
+84,237,206,204,148,95,40,106,50,87,83,5,240,72,126,194,133,98,56,166,132,
+245,168,182,92,255,183,63,252,175,239,158,222,255,183,30,252,23,221,189,
+92,98,0,0,1,0,73,68,65,84,15,79,62,248,91,223,249,67,215,146,198,139,118,
+181,4,22,250,246,187,20,162,94,12,178,34,70,235,57,132,216,47,255,129,45,
+254,34,210,255,90,188,3,136,40,194,9,200,142,236,94,220,149,247,195,109,
+0,0,58,51,166,84,24,51,14,79,160,3,80,221,1,251,219,0,92,45,121,83,114,
+89,144,48,152,12,74,80,18,2,171,154,171,117,32,67,101,4,96,128,125,98,5,
+121,83,82,183,160,90,36,236,76,36,32,254,202,113,97,239,28,172,39,97,230,
+90,47,108,102,80,175,123,110,245,128,110,118,159,99,134,121,206,165,8,145,
+195,85,125,189,62,75,227,248,87,219,255,167,127,240,189,15,239,125,112,
+111,121,10,180,64,44,86,146,242,50,190,101,229,61,105,202,90,245,15,9,145,
+67,195,97,246,95,167,242,250,175,185,188,115,176,182,106,61,18,11,71,144,
+168,122,241,137,232,172,206,65,157,123,43,112,25,163,125,139,66,172,150,
+179,186,66,2,179,16,219,208,111,54,235,245,95,61,255,167,57,245,223,126,
+255,123,241,254,114,25,27,32,48,155,248,219,159,59,232,124,249,37,148,204,
+43,0,0,1,0,73,68,65,84,173,9,18,26,139,45,73,11,197,193,8,68,34,218,3,255,
+93,49,119,111,84,222,57,88,59,20,136,32,136,180,76,209,20,213,194,222,115,
+188,249,13,95,167,82,70,243,92,19,58,204,96,1,200,212,242,163,221,95,70,
+105,127,246,232,39,141,221,189,127,124,111,177,108,56,114,115,19,141,146,
+188,183,154,13,4,176,128,27,71,164,75,123,122,138,89,223,94,95,218,237,
+203,59,7,107,2,85,166,43,65,19,67,71,36,102,174,174,94,121,178,39,104,223,
+28,178,213,10,1,196,48,211,172,110,133,137,92,132,215,249,241,231,23,63,
+255,197,227,159,30,241,7,193,229,228,180,141,0,7,18,122,219,30,100,156,
+252,51,83,18,56,137,33,102,13,32,163,41,112,93,235,50,166,56,219,91,94,
+204,59,42,55,94,169,243,85,50,69,156,12,128,196,216,133,208,0,168,147,15,
+246,45,211,135,14,247,91,23,51,39,22,34,81,181,52,230,148,82,206,165,20,
+45,82,46,198,179,199,231,159,60,189,248,100,151,158,23,29,76,85,243,13,
+172,138,247,11,51,243,154,53,109,20,241,32,156,121,219,135,168,140,0,0,
+1,0,73,68,65,84,16,227,251,154,162,250,157,212,214,230,46,70,0,53,177,139,
+161,161,204,230,70,52,213,120,92,102,206,112,19,190,145,27,249,52,8,150,
+1,39,18,119,43,69,57,180,23,235,237,47,62,255,233,17,238,157,118,237,7,
+239,159,138,220,139,177,123,251,11,170,176,38,7,152,33,0,170,109,237,169,
+78,25,135,31,120,148,95,87,121,231,96,141,57,63,0,136,84,22,96,184,219,
+30,209,55,237,1,153,185,43,234,112,216,24,5,30,188,148,209,181,24,159,175,
+215,63,235,127,218,244,139,59,205,226,155,31,188,223,134,165,240,234,173,
+47,104,254,254,123,208,74,104,72,26,47,184,52,59,246,170,251,235,232,45,
+2,120,7,141,144,144,74,136,146,3,12,248,214,241,195,143,154,227,179,103,
+79,242,49,15,190,45,92,40,8,135,198,17,204,24,78,124,253,46,91,153,249,
+94,126,92,39,70,95,252,232,66,20,38,39,24,195,24,230,6,51,113,216,24,187,
+35,156,217,191,252,233,230,135,255,223,163,31,159,39,123,190,222,236,118,
+79,83,74,149,214,103,38,115,195,175,222,84,113,32,26,44,83,227,140,119,
+0,0,1,0,73,68,65,84,22,180,200,33,2,64,76,16,254,230,167,247,190,175,126,
+33,102,193,90,245,176,165,178,11,201,8,49,191,245,221,99,58,177,0,59,200,
+193,14,194,151,157,231,155,145,119,14,214,224,74,4,12,2,132,99,219,44,163,
+52,154,203,62,182,7,224,157,216,93,213,220,221,85,117,28,135,245,230,226,
+252,252,124,179,94,247,125,63,207,93,192,47,221,255,246,74,34,82,169,98,
+104,170,33,39,112,183,90,28,221,51,15,230,251,52,54,49,129,39,230,154,175,
+165,188,123,176,150,6,123,88,71,233,142,23,247,151,237,113,30,243,129,179,
+248,78,248,66,4,33,4,51,31,134,221,217,217,179,103,207,158,156,95,156,247,
+125,95,135,53,190,220,156,255,230,62,185,218,206,236,112,171,62,198,226,
+100,117,242,13,231,165,66,212,21,228,66,66,8,238,112,220,50,13,205,109,
+201,187,7,235,90,232,65,112,128,209,158,172,30,30,47,238,150,49,217,1,235,
+248,97,33,218,109,9,33,48,7,102,74,121,92,175,207,207,206,158,111,55,155,
+113,28,43,172,47,215,89,15,126,115,139,117,40,28,112,33,210,251,74,219,
+0,0,1,0,73,68,65,84,240,84,218,20,86,178,248,208,249,196,16,12,133,200,
+132,34,121,116,144,253,22,214,239,138,84,31,158,178,155,177,181,167,139,
+247,79,87,247,189,216,21,141,55,193,228,246,26,247,221,3,192,102,158,243,
+184,235,215,155,205,249,102,187,233,251,97,28,199,74,83,248,150,96,61,215,
+16,16,2,200,192,0,58,229,7,161,125,8,238,204,149,96,76,129,208,184,147,
+243,111,141,144,119,68,12,128,17,20,48,242,112,188,124,112,247,248,97,195,
+193,246,81,235,89,91,223,174,133,173,217,181,184,170,230,156,250,97,183,
+217,174,215,235,139,245,197,122,24,134,148,210,21,59,228,141,106,235,125,
+177,56,24,48,37,56,117,22,30,196,238,62,98,235,100,4,99,23,242,56,117,28,
+124,45,229,221,251,222,14,192,9,90,75,31,86,221,189,59,199,247,187,216,
+205,21,148,192,12,233,219,196,181,67,0,118,119,115,213,146,198,113,216,
+237,182,235,245,186,239,251,170,176,223,82,36,4,176,90,55,139,74,21,136,
+58,93,234,129,116,247,56,116,32,7,140,32,228,1,68,111,61,227,249,174,202,
+187,249,100,189,177,0,0,0,1,0,73,68,65,84,189,29,176,234,22,182,113,185,
+232,86,205,139,99,196,246,53,197,183,41,194,129,89,152,185,78,243,48,215,
+156,243,56,142,41,165,156,115,133,117,69,246,27,230,147,190,228,208,37,
+135,57,64,1,161,61,70,92,48,135,58,103,164,118,183,253,86,91,191,130,92,
+119,157,252,26,121,213,247,207,81,55,125,34,59,134,202,152,198,64,229,123,
+15,254,228,111,159,254,135,69,115,214,93,224,49,16,108,32,182,174,141,141,
+211,238,186,247,185,46,14,125,157,92,23,231,54,115,171,109,97,211,184,156,
+169,136,40,251,179,97,220,185,182,174,139,126,59,12,187,173,21,45,131,247,
+125,63,135,174,231,225,13,111,176,213,128,124,137,232,104,0,196,14,139,
+88,155,123,154,7,229,248,79,158,43,187,39,230,213,56,234,40,79,227,66,41,
+29,189,169,207,253,245,146,215,204,50,190,189,56,4,129,130,132,125,251,
+29,1,212,132,246,244,232,180,184,153,37,82,134,71,223,143,229,128,125,9,
+223,247,91,145,169,140,208,29,6,55,55,53,85,80,81,213,82,74,201,37,215,
+161,232,179,158,190,177,128,77,29,57,123,244,0,0,1,0,73,68,65,84,232,78,
+98,119,132,62,194,193,76,76,53,61,242,53,149,87,214,34,87,152,127,223,248,
+38,75,160,121,138,82,245,13,23,205,226,253,251,31,52,109,103,64,210,172,
+84,16,188,182,25,145,222,196,46,75,56,164,117,113,119,55,55,50,134,194,
+138,91,81,85,45,185,228,148,198,52,166,148,74,41,135,73,153,27,146,213,
+251,113,117,31,210,213,41,221,34,181,191,235,107,106,133,188,254,215,254,
+21,141,141,235,132,64,194,124,208,176,72,45,186,15,238,126,120,188,188,
+31,164,45,166,74,133,196,65,238,118,109,107,215,91,145,137,57,22,110,102,
+106,100,4,35,87,55,117,83,83,211,172,37,231,156,82,154,145,253,166,173,
+234,47,149,238,161,44,30,42,119,185,24,19,9,139,59,209,187,72,60,127,19,
+242,206,221,205,151,163,110,29,196,4,32,32,220,93,221,127,111,241,205,206,
+142,117,112,205,10,178,186,193,10,197,47,123,175,55,33,19,15,193,94,91,
+87,85,109,102,98,129,11,163,16,180,102,143,200,221,213,181,2,250,166,49,
+13,120,120,128,238,129,201,178,216,62,13,235,52,79,140,36,168,189,0,0,1,
+0,73,68,65,84,134,254,186,201,235,187,140,111,233,178,77,29,208,14,131,
+75,16,56,96,188,10,171,111,29,127,255,174,188,31,114,187,159,59,236,68,
+44,114,131,218,104,207,243,93,113,237,10,47,94,201,29,38,90,12,2,224,135,
+134,245,205,173,13,72,114,42,203,135,220,28,25,152,136,9,100,230,248,186,
+194,250,149,97,113,229,106,189,113,151,104,86,138,251,174,37,70,214,70,
+218,63,254,198,223,57,127,242,217,102,247,217,40,107,99,46,19,187,222,77,
+24,33,87,62,195,221,205,221,179,107,49,203,102,234,82,147,250,149,68,233,
+197,36,255,141,185,140,22,208,45,239,251,226,196,36,50,115,113,87,253,245,
+31,215,247,186,242,198,2,124,111,86,28,7,84,137,6,128,127,247,163,63,248,
+248,222,239,220,95,61,88,181,171,24,34,17,153,169,218,77,37,135,15,93,70,
+56,220,85,205,138,153,154,155,185,249,37,209,198,109,73,0,117,71,161,89,
+176,4,48,3,110,118,61,221,196,111,186,92,171,173,175,3,110,79,99,74,189,
+106,10,129,130,136,27,180,56,156,151,171,86,85,1,18,137,4,113,38,59,25,
+186,0,0,1,0,73,68,65,84,3,17,7,138,197,54,238,30,165,37,112,54,139,220,
+0,80,119,113,75,41,3,212,180,45,8,150,65,84,73,176,138,27,42,13,223,56,
+230,24,99,232,26,0,141,29,127,120,247,247,30,124,254,211,245,58,75,60,91,
+52,94,96,197,56,65,171,102,220,147,163,78,214,240,155,42,249,53,175,163,
+81,213,212,80,24,57,112,238,56,243,96,103,73,135,229,98,249,233,47,158,
+124,235,254,71,39,139,123,37,33,196,163,58,160,214,221,235,60,95,0,243,
+47,111,80,174,100,230,137,168,27,243,6,127,50,222,249,227,163,167,255,59,
+206,59,15,15,120,69,40,35,74,3,24,92,225,74,32,114,33,4,130,40,250,55,187,
+164,27,150,137,87,98,10,4,95,253,235,43,27,33,102,166,170,185,100,119,152,
+137,169,107,49,119,26,242,90,213,8,28,66,195,44,238,196,44,49,68,211,157,
+155,199,38,17,56,103,109,98,27,66,236,135,225,206,234,40,116,2,175,237,
+75,228,236,78,36,151,133,30,245,15,102,166,204,146,146,54,77,251,224,206,
+251,31,127,248,59,27,121,252,120,200,163,57,51,66,34,51,2,236,0,0,1,0,73,
+68,65,84,224,228,101,254,15,194,158,212,240,77,42,205,61,75,209,196,26,
+227,170,170,69,173,112,41,148,139,187,49,65,220,221,221,84,243,229,191,
+221,108,220,154,162,72,137,76,13,92,80,233,240,80,115,236,47,47,224,166,
+187,247,111,94,94,125,118,12,224,102,170,197,221,205,139,154,151,98,230,
+0,138,22,5,145,88,98,18,51,103,230,16,98,78,27,51,111,82,3,162,156,74,140,
+77,8,177,239,123,146,156,82,38,226,174,235,152,131,22,101,150,150,59,66,
+241,41,220,74,18,48,13,41,103,37,111,62,188,247,209,218,127,127,237,79,
+135,207,183,62,58,97,84,207,92,198,73,79,239,111,224,55,189,243,210,76,
+202,232,128,153,149,82,82,78,110,209,52,143,3,24,109,19,23,68,44,194,128,
+222,164,61,253,130,8,73,104,65,157,123,132,99,202,198,24,8,236,115,49,194,
+196,102,234,149,130,240,55,88,94,25,214,204,4,130,187,169,43,64,10,87,82,
+115,72,112,175,45,35,80,55,20,85,20,136,74,206,91,51,143,30,1,164,148,163,
+53,65,67,63,246,187,39,23,41,101,102,238,186,151,177,5,17,0,0,1,0,73,68,
+65,84,78,36,168,170,176,180,93,215,184,16,81,215,45,68,66,41,214,112,27,
+41,142,54,176,82,108,227,221,163,251,119,87,15,79,154,251,234,101,208,77,
+111,59,102,222,71,30,38,114,212,55,221,196,231,251,40,31,204,221,204,107,
+70,209,44,186,113,201,136,113,217,117,71,34,177,109,155,24,105,78,152,227,
+166,252,144,189,20,80,128,47,85,27,120,170,37,169,238,12,38,154,166,37,
+97,242,105,111,52,218,127,59,242,234,176,38,130,89,209,12,43,78,108,176,
+2,83,183,172,86,74,54,119,34,184,123,41,217,221,197,68,45,169,89,177,0,
+247,164,41,115,16,72,95,250,78,142,71,31,44,251,128,45,220,199,113,0,208,
+52,77,227,209,129,69,183,12,33,152,161,107,187,16,226,174,239,79,228,14,
+101,219,13,59,50,238,154,213,138,142,109,44,227,216,139,136,79,213,154,
+78,168,89,117,55,248,155,171,91,157,54,128,125,228,113,22,5,160,106,109,
+187,90,116,75,34,138,77,136,77,136,49,134,16,110,152,70,21,0,160,240,200,
+180,2,58,247,228,40,96,7,5,130,56,64,84,103,93,128,97,83,84,0,0,1,0,73,
+68,65,84,123,45,0,188,105,198,183,27,151,215,9,240,169,149,156,147,81,98,
+144,193,82,41,106,174,158,74,41,14,23,38,135,155,41,8,1,50,104,111,170,
+153,130,187,165,50,6,136,152,244,121,135,86,70,12,78,166,36,14,79,52,56,
+220,168,217,38,53,181,198,90,34,86,181,166,105,69,194,110,187,59,93,156,
+232,182,92,12,231,187,97,23,57,182,210,246,36,12,98,102,82,154,90,210,43,
+97,185,191,249,158,235,90,7,178,15,220,177,176,144,164,216,184,9,22,113,
+209,182,157,27,68,68,132,43,172,69,228,134,145,93,108,36,238,98,56,101,
+89,57,93,56,21,16,64,17,224,61,166,103,52,191,125,70,181,219,150,87,134,
+181,48,215,224,90,241,12,114,117,29,75,46,69,21,165,104,169,51,50,64,110,
+86,8,40,46,155,97,107,86,130,6,119,29,211,16,2,139,240,110,216,101,230,
+52,142,128,55,22,136,144,117,36,130,123,147,169,20,47,125,14,0,74,214,168,
+13,179,108,119,187,158,159,13,227,184,235,251,161,236,170,186,33,53,1,234,
+158,127,160,129,168,218,148,111,74,89,239,167,69,145,26,0,0,1,0,73,68,65,
+84,153,111,43,168,137,153,68,36,132,176,88,229,150,68,6,156,52,203,197,
+162,3,33,132,16,247,114,8,235,155,49,66,28,22,34,100,113,7,205,17,177,56,
+212,201,137,132,188,54,134,211,11,199,254,166,35,251,149,97,29,16,68,152,
+152,92,221,93,139,149,162,57,107,41,158,115,201,238,90,25,163,139,102,192,
+68,120,200,73,77,163,137,153,142,105,8,202,34,180,27,118,46,139,113,28,
+220,53,20,54,215,113,28,0,139,77,108,218,182,218,220,102,94,138,53,214,
+136,132,109,218,153,241,118,220,141,99,114,184,67,77,139,153,10,189,212,
+173,251,86,216,49,170,166,174,217,31,98,102,22,94,174,130,115,164,29,173,
+154,101,215,117,194,18,66,140,113,210,211,243,148,2,191,169,177,50,196,
+128,131,155,21,66,7,162,23,89,130,166,67,46,207,204,13,37,178,110,77,174,
+133,245,117,151,65,32,94,88,21,133,234,92,203,92,44,185,107,182,93,101,
+240,47,86,28,106,80,181,98,89,139,209,148,189,128,58,204,74,177,98,16,79,
+73,135,177,87,183,232,65,77,119,195,206,92,27,107,109,19,12,254,148,0,0,
+1,0,73,68,65,84,219,11,79,129,190,32,177,145,134,140,148,117,123,166,185,
+164,84,198,98,73,61,143,185,31,52,15,217,251,212,251,68,187,68,230,117,
+158,192,68,38,254,133,242,170,238,82,14,25,14,118,9,188,160,192,165,41,
+97,153,59,241,1,79,185,57,122,47,126,243,158,62,88,208,114,37,171,101,104,
+23,77,211,181,129,160,129,209,198,224,106,68,20,99,4,80,48,56,156,193,12,
+169,195,48,200,8,68,234,153,192,4,153,6,194,236,99,177,118,153,170,252,
+165,214,25,16,119,91,44,143,126,239,236,254,31,150,167,255,239,131,113,
+89,210,113,127,148,227,168,227,216,155,141,49,64,4,102,32,66,12,77,210,
+132,3,10,29,76,147,95,80,125,134,95,119,121,157,154,10,34,34,166,153,98,
+233,242,180,191,116,1,28,216,39,226,84,189,142,22,40,230,106,110,42,101,
+24,6,115,43,38,106,218,143,59,115,43,158,74,233,137,184,14,116,169,42,16,
+238,165,148,208,54,165,228,92,146,122,49,148,164,99,210,49,123,154,131,
+176,135,106,250,13,234,107,218,211,36,213,208,24,17,36,112,48,57,233,190,
+57,206,164,0,0,1,0,73,68,65,84,222,35,94,46,112,218,228,101,228,46,118,
+139,102,177,106,22,171,166,105,98,140,196,82,221,52,87,103,102,102,98,14,
+0,120,178,7,246,51,222,28,149,90,7,128,187,57,216,109,143,107,174,106,254,
+106,23,242,151,16,254,176,0,44,177,61,166,102,133,172,224,228,174,66,173,
+144,86,134,213,58,164,68,157,200,188,218,32,251,247,174,215,242,205,153,
+110,183,45,175,3,107,102,98,102,232,212,41,114,48,116,136,94,40,141,152,
+16,87,159,153,153,22,45,197,146,90,49,55,227,113,204,163,185,101,99,117,
+29,82,111,166,197,194,144,119,68,164,166,165,20,0,53,126,151,115,58,58,
+58,46,211,232,58,5,172,88,153,96,125,41,151,249,237,55,56,106,138,137,247,
+205,222,238,228,36,20,154,192,76,205,242,8,214,134,178,32,22,23,208,130,
+168,35,143,88,29,173,218,174,107,154,40,149,118,105,111,8,176,201,180,192,
+249,172,212,86,155,54,78,139,223,39,124,224,6,119,124,193,176,245,9,232,
+95,182,82,230,216,222,247,246,14,242,103,96,117,119,162,46,74,195,48,38,
+37,24,179,193,95,115,203,162,0,0,1,0,73,68,65,84,137,33,70,249,146,118,
+229,210,51,241,219,103,96,121,19,242,234,145,16,128,153,133,133,140,252,
+69,26,229,171,39,164,90,163,51,51,45,213,118,141,233,81,60,25,178,65,205,
+73,173,152,39,133,194,52,217,0,130,106,73,154,221,13,68,170,37,229,148,
+182,131,185,57,204,201,137,96,208,226,170,40,147,181,177,103,190,221,235,
+238,55,22,224,99,236,121,237,200,225,206,2,38,65,148,216,68,90,133,72,220,
+100,141,33,135,211,132,85,95,154,181,114,73,62,12,214,87,123,67,221,132,
+2,131,107,82,125,58,131,245,125,25,80,160,200,116,238,46,253,58,131,187,
+185,94,118,8,205,229,231,151,255,255,146,40,64,80,115,132,7,144,251,201,
+254,134,56,145,7,211,222,60,1,197,81,136,156,165,150,209,78,83,74,246,66,
+111,197,37,185,61,121,157,44,35,179,136,200,172,173,47,199,183,209,164,
+178,231,16,239,84,238,182,31,151,67,4,102,114,34,56,169,25,113,213,18,106,
+80,39,3,76,125,226,0,54,152,161,24,25,200,11,151,194,169,207,19,115,59,
+184,142,29,68,69,57,239,87,29,101,205,93,0,0,1,0,73,68,65,84,85,71,184,
+209,28,120,120,67,90,135,193,251,187,197,235,160,44,22,98,166,174,229,208,
+72,187,162,133,251,113,163,171,227,28,79,118,190,192,249,248,100,167,177,
+247,205,42,173,136,164,148,194,44,77,211,70,139,77,108,130,4,128,162,52,
+194,161,182,208,90,134,217,148,242,97,6,17,204,216,12,210,216,229,89,124,
+225,252,95,83,94,66,81,130,107,33,110,62,66,252,96,52,91,132,204,222,21,
+27,12,217,41,193,141,1,174,129,29,3,75,51,85,3,212,179,246,130,71,249,107,
+47,175,171,173,101,242,123,46,113,253,98,226,122,31,1,128,154,214,210,142,
+253,212,57,171,32,169,195,164,220,235,68,58,115,76,115,63,105,98,251,157,
+110,9,176,59,153,145,146,234,196,152,106,123,211,148,224,243,61,180,87,
+106,251,192,195,155,139,60,152,163,198,126,225,245,190,97,6,11,129,156,
+91,4,246,32,89,218,145,86,125,105,215,61,13,231,229,152,148,54,120,190,
+40,75,119,74,99,2,81,215,118,200,188,232,186,24,27,6,183,77,119,180,92,
+5,137,90,202,73,251,33,79,252,8,211,233,136,48,107,165,0,0,1,0,73,68,65,
+84,37,1,227,176,167,183,26,190,95,153,173,100,97,179,16,195,226,99,142,
+223,216,21,138,164,37,131,152,137,163,187,155,141,12,8,145,19,138,85,26,
+145,125,60,132,106,101,206,111,14,201,234,235,217,214,211,20,123,247,169,
+221,16,123,109,253,210,177,206,12,115,16,131,108,218,199,39,67,21,168,227,
+161,12,234,251,251,195,204,216,216,201,217,137,246,126,148,153,185,25,99,
+223,115,234,110,53,189,48,213,105,216,37,107,200,116,77,222,232,165,49,
+159,217,209,188,222,122,68,32,42,57,8,73,38,103,207,131,15,59,219,33,51,
+141,18,143,158,153,90,68,51,240,194,157,134,113,36,208,130,22,253,102,92,
+148,69,144,96,234,81,226,106,177,98,150,156,210,239,126,195,74,41,90,140,
+72,218,102,17,99,75,96,7,90,13,123,234,245,105,55,228,125,215,217,23,139,
+59,80,156,3,154,247,73,30,238,6,167,148,199,109,26,81,130,128,24,238,28,
+152,218,38,194,41,167,178,138,149,132,18,152,118,9,191,52,115,126,253,229,
+53,96,189,167,225,170,121,171,47,6,243,164,96,0,136,8,237,93,141,102,55,
+0,0,1,0,73,68,65,84,39,13,155,215,122,137,122,63,72,5,61,169,129,156,185,
+206,66,113,38,113,114,131,18,152,166,193,26,190,15,225,193,43,53,134,79,
+94,251,52,20,115,70,53,237,189,187,55,135,108,55,39,217,175,218,1,114,175,
+3,218,188,131,55,230,146,21,163,90,82,99,24,138,111,242,153,22,13,214,148,
+48,146,243,88,18,177,144,105,14,69,196,11,120,204,35,37,222,233,5,12,195,
+48,104,218,148,162,166,20,67,187,92,28,47,22,71,49,180,32,62,214,59,181,
+124,74,36,132,16,130,8,139,48,211,181,70,72,206,46,106,136,144,149,99,217,
+15,234,134,221,217,238,209,58,55,13,130,128,25,93,139,229,34,48,113,201,
+220,29,167,137,27,171,150,149,145,19,195,29,55,59,101,242,109,201,107,216,
+214,34,96,6,65,13,166,196,78,80,120,217,91,14,245,32,154,130,36,160,202,
+179,225,86,91,74,42,74,171,189,16,204,138,169,195,193,83,218,66,1,203,172,
+106,90,80,32,96,103,119,99,112,195,177,212,120,106,213,46,211,199,92,102,
+28,14,11,138,152,24,95,74,9,242,106,223,87,216,96,67,18,58,0,0,1,0,73,68,
+65,84,1,181,90,226,201,112,120,65,41,90,228,73,46,161,241,174,11,43,206,
+240,157,54,178,22,10,190,219,168,90,200,205,214,86,166,52,142,57,134,246,
+8,199,158,243,80,98,144,6,206,130,232,25,110,164,238,143,198,103,34,162,
+174,92,100,49,110,117,171,166,182,92,46,153,41,165,124,247,206,61,87,64,
+233,244,228,142,27,185,251,176,75,119,78,239,152,18,35,220,61,125,72,46,
+154,177,106,143,98,55,142,208,157,9,75,187,57,254,214,99,249,62,158,252,
+160,29,150,127,126,126,126,116,212,246,155,113,236,113,239,36,116,161,45,
+163,69,89,124,252,237,231,228,190,108,227,113,39,139,104,93,200,129,76,
+8,121,132,59,86,71,205,102,61,30,29,133,190,31,143,86,203,82,74,63,60,15,
+177,145,216,57,181,44,129,163,24,56,23,109,124,71,16,32,58,234,212,15,175,
+225,76,35,7,57,145,131,235,32,69,34,33,240,43,151,193,215,18,182,189,219,
+76,147,157,73,95,209,33,241,90,189,128,147,119,248,27,180,105,189,186,168,
+170,27,200,18,148,188,88,73,99,224,70,72,8,199,170,54,171,74,92,0,0,1,0,
+73,68,65,84,22,66,147,108,168,81,204,24,90,229,49,245,125,19,219,24,26,
+161,16,165,109,98,71,16,115,11,69,216,88,179,18,200,81,180,152,155,83,242,
+92,82,26,51,216,173,184,43,178,37,83,184,89,74,219,140,181,102,135,113,
+159,206,93,185,100,61,62,62,213,254,124,237,187,140,163,143,239,125,155,
+238,199,114,247,244,231,127,77,79,254,234,252,175,71,28,31,143,48,88,193,
+168,101,217,166,237,122,184,56,219,148,192,121,244,134,211,71,239,29,181,
+236,48,123,120,175,105,27,4,100,130,235,206,213,185,31,161,198,253,160,
+0,86,139,59,196,1,20,140,2,44,80,97,38,14,206,132,64,36,132,232,8,64,4,
+34,121,96,15,182,223,57,247,245,52,70,230,128,221,12,127,218,171,195,218,
+65,96,38,217,23,253,59,110,157,230,241,86,196,201,221,139,103,87,211,146,
+70,48,131,153,168,96,107,230,34,177,137,157,59,165,84,130,196,173,46,211,
+48,204,176,110,66,211,196,78,72,204,124,213,158,48,113,26,51,129,146,45,
+76,13,14,147,156,203,56,142,73,6,148,162,150,93,41,105,101,110,94,33,191,
+251,0,0,1,0,73,68,65,84,192,198,134,190,36,179,226,9,107,45,158,134,178,
+41,39,23,235,231,79,118,159,62,223,166,31,223,255,56,166,159,253,98,183,
+190,192,123,27,89,242,42,125,122,246,172,228,45,65,127,254,20,66,67,215,
+128,128,191,252,41,245,59,68,194,136,21,233,46,143,195,119,233,36,136,173,
+194,186,107,163,244,222,53,205,166,79,171,197,50,15,38,140,16,90,115,128,
+152,68,88,4,78,33,132,16,67,81,169,29,55,64,96,136,187,176,51,85,170,180,
+201,84,37,175,188,206,238,168,67,190,223,190,188,94,150,145,153,133,89,
+166,66,4,236,13,180,175,147,48,75,13,144,153,103,120,54,7,224,228,40,67,
+50,131,136,132,220,184,163,20,19,9,91,107,93,45,90,148,28,224,20,56,196,
+208,16,200,212,238,31,127,72,68,121,204,4,90,232,178,26,111,26,7,45,101,
+44,163,20,43,217,44,155,231,98,149,214,143,70,46,148,75,177,2,20,210,98,
+73,11,138,110,226,197,216,60,95,111,159,94,156,61,221,110,62,217,88,250,
+248,123,127,255,143,190,253,247,225,187,127,252,143,255,167,159,125,250,
+18,141,76,92,0,0,1,0,73,68,65,84,151,167,167,177,137,94,114,255,124,147,
+134,33,13,30,220,216,75,150,39,58,108,54,67,143,109,216,236,182,195,123,
+43,124,248,225,74,160,93,192,184,73,223,254,230,41,91,33,168,178,153,153,
+8,154,54,178,171,23,13,170,45,186,236,36,68,236,78,100,78,132,169,114,208,
+136,150,251,224,60,209,222,35,185,177,237,253,245,34,33,82,31,53,203,93,
+147,202,95,55,125,61,141,173,113,7,213,12,119,205,25,122,81,114,119,114,
+22,27,171,107,65,206,217,119,128,4,23,34,118,53,6,7,9,4,82,85,117,99,162,
+156,10,129,150,121,73,78,76,156,232,40,151,156,198,84,100,208,98,150,145,
+121,48,117,83,79,106,35,76,139,186,162,8,172,120,73,217,27,127,212,127,
+226,244,204,227,249,64,233,137,63,223,50,125,116,244,205,163,240,119,79,
+27,253,79,254,211,63,142,141,61,250,252,167,127,246,103,255,243,143,126,
+244,195,229,178,123,239,155,167,127,243,243,255,179,107,163,102,156,253,
+248,73,73,88,45,209,157,231,243,11,252,228,111,240,189,148,35,59,116,24,
+55,24,88,27,33,205,186,123,69,40,0,0,1,0,73,68,65,84,250,189,134,75,177,
+166,161,227,24,216,105,28,7,225,180,52,163,70,132,16,132,153,64,12,98,131,
+56,152,137,184,62,175,224,62,120,122,19,242,122,60,27,44,21,214,96,223,
+119,200,190,225,117,189,243,178,47,9,242,125,140,126,138,0,79,227,217,189,
+182,163,215,67,204,180,168,82,144,64,4,87,99,226,96,194,96,51,125,186,253,
+148,136,75,202,4,238,117,233,230,4,218,218,17,220,198,49,105,24,181,152,
+23,168,12,166,110,230,219,65,71,12,90,212,13,137,71,87,207,169,36,233,31,
+109,63,231,242,217,250,252,233,32,71,207,134,179,126,24,158,239,134,39,
+195,197,54,250,157,59,199,93,19,238,28,135,127,247,223,254,207,255,227,
+255,104,69,160,39,79,158,254,47,127,250,223,180,77,179,221,156,127,242,
+243,31,43,173,61,134,159,62,234,199,17,190,69,254,89,14,108,101,52,50,236,
+100,219,53,82,242,216,199,70,181,28,175,228,161,133,54,74,78,218,68,209,
+197,145,245,30,2,26,67,140,20,2,49,56,48,179,179,187,131,124,10,141,123,
+189,229,111,238,234,188,150,17,2,44,163,204,36,0,0,1,0,73,68,65,84,34,18,
+38,166,203,104,231,215,206,8,185,44,245,66,205,155,238,203,189,189,38,242,
+166,112,96,189,223,205,204,76,148,140,0,43,202,100,112,103,34,83,77,72,
+76,156,181,16,200,115,214,162,166,158,188,103,161,52,38,106,172,106,107,
+147,108,197,205,124,155,70,139,187,146,139,153,169,92,104,177,156,210,72,
+199,35,24,253,110,253,236,188,167,180,213,109,217,245,165,236,202,230,162,
+111,194,221,213,105,222,210,110,237,240,110,167,45,156,131,127,240,239,
+255,59,255,165,187,245,187,205,159,255,224,255,210,188,46,229,252,7,63,
+248,39,33,216,131,15,86,79,47,206,74,25,9,116,114,180,248,23,159,142,49,
+40,17,198,224,37,151,147,163,242,209,206,87,29,52,99,181,8,239,97,65,169,
+143,17,93,199,109,43,77,148,16,37,6,97,225,69,99,32,34,49,192,136,140,170,
+13,114,83,64,121,61,88,207,244,93,95,59,37,61,11,239,203,72,171,201,56,
+39,51,200,0,128,224,230,54,197,218,225,174,96,22,38,118,171,121,85,83,192,
+28,106,202,45,57,1,162,238,80,228,108,185,20,229,198,160,139,140,0,0,1,
+0,73,68,65,84,226,54,234,56,38,14,164,217,52,215,194,25,87,179,132,94,210,
+152,83,214,162,206,91,205,101,28,83,198,209,103,107,94,140,143,135,179,
+117,79,118,145,207,211,179,179,117,254,124,183,121,180,188,247,224,241,
+167,143,68,120,185,90,46,22,171,167,143,207,215,235,241,222,221,7,101,188,
+19,131,60,188,243,221,63,252,254,157,135,15,142,220,55,228,247,31,62,188,
+115,182,251,209,63,255,243,31,12,138,174,59,234,238,60,248,217,207,127,
+66,132,166,141,203,205,114,216,249,89,79,163,107,27,74,234,55,71,203,116,
+190,235,238,119,212,52,88,44,176,232,168,105,184,137,28,35,137,112,115,
+170,32,80,197,180,25,145,19,217,205,25,33,149,137,25,7,5,214,95,145,121,
+38,148,156,69,121,65,139,77,62,47,4,10,108,193,41,131,188,186,6,181,215,
+121,42,107,42,83,234,188,146,67,79,159,226,182,231,211,157,55,166,185,166,
+228,21,183,170,55,21,159,190,46,160,122,221,251,155,29,94,161,125,133,21,
+46,239,116,62,200,9,178,48,80,188,206,114,15,64,29,63,7,144,176,141,110,
+152,210,118,177,227,0,0,1,0,73,68,65,84,232,151,82,46,32,146,38,36,45,14,
+151,54,108,198,45,17,16,233,249,248,180,190,185,22,29,206,250,154,232,29,
+182,3,17,145,96,232,7,69,255,36,97,164,118,76,27,223,228,229,243,247,46,
+206,194,207,243,231,114,49,126,252,205,111,194,253,217,147,205,251,239,
+191,39,6,31,119,219,179,71,218,102,98,186,56,255,236,228,206,201,243,139,
+93,42,229,223,248,7,255,104,76,99,19,255,117,198,63,57,62,93,118,45,45,
+150,242,233,255,240,223,117,139,240,241,199,31,253,232,95,253,41,193,223,
+91,61,248,201,179,243,211,147,163,245,69,190,203,139,167,143,54,32,52,65,
+254,224,119,127,55,63,217,105,191,254,238,183,63,238,114,32,183,167,118,
+118,122,122,79,7,0,229,254,253,133,64,242,208,47,151,139,113,64,136,20,
+59,150,64,96,55,152,195,96,76,48,22,97,230,26,219,246,234,99,242,158,18,
+226,160,214,203,15,139,52,174,145,95,77,91,127,217,123,255,102,20,23,220,
+154,188,116,237,166,98,164,169,152,12,110,110,174,151,21,230,185,104,206,
+40,25,37,91,78,197,115,30,3,224,30,99,0,0,1,0,73,68,65,84,242,56,228,193,
+182,244,188,125,110,170,102,138,236,37,231,179,179,179,174,109,143,223,
+91,85,160,68,106,212,74,177,146,99,41,217,2,186,63,248,189,127,237,248,
+100,185,219,157,47,22,241,63,248,247,254,179,110,17,137,60,182,84,74,214,
+146,63,253,228,231,101,12,68,247,210,120,188,221,100,106,134,174,13,63,
+254,249,179,200,222,50,62,121,114,17,5,86,202,253,247,154,33,103,45,20,
+67,144,134,66,96,53,49,142,78,38,174,13,149,224,36,65,72,106,61,186,216,
+27,197,203,107,166,99,152,107,43,193,101,29,198,92,27,50,31,117,48,72,241,
+183,114,189,92,167,26,14,149,146,215,80,83,53,214,167,93,194,205,13,230,
+53,131,11,55,131,43,213,135,41,178,234,88,210,78,7,90,243,121,56,215,82,
+74,46,101,93,210,56,174,47,214,77,140,15,210,61,16,192,164,91,119,50,39,
+180,88,168,234,243,39,187,251,247,239,217,216,166,93,209,17,223,248,240,
+79,98,148,205,102,253,71,127,208,196,32,41,141,63,187,251,227,16,184,137,
+98,90,62,249,228,23,163,124,238,18,126,250,48,19,240,115,0,0,1,0,73,68,
+65,84,233,102,213,133,187,39,139,205,103,235,54,18,193,194,241,221,243,
+94,76,105,185,108,209,48,139,51,135,194,49,6,17,103,37,138,64,112,143,32,
+102,122,227,211,64,94,179,59,134,137,167,22,212,185,218,121,250,75,61,196,
+247,140,116,191,197,245,87,200,181,27,222,149,34,246,169,53,226,178,158,
+124,95,233,56,85,36,16,49,19,11,113,160,200,36,10,207,148,71,12,71,126,
+172,67,41,169,228,156,215,105,59,14,195,118,189,11,18,114,42,68,0,211,120,
+47,145,16,11,135,210,184,219,192,182,230,221,185,109,98,19,47,118,59,242,
+101,41,153,184,57,58,250,246,209,241,81,140,252,240,254,247,99,144,182,
+13,155,237,250,238,221,79,182,244,40,70,249,241,191,250,81,19,141,186,240,
+244,249,103,139,78,98,148,159,61,73,112,10,161,59,113,26,144,88,176,92,
+54,190,144,86,37,186,152,4,15,129,76,216,136,138,187,27,189,81,58,183,215,
+138,91,19,49,201,33,172,49,103,211,235,19,0,184,228,14,253,173,124,169,
+92,3,236,151,123,6,246,181,190,83,181,13,8,4,38,222,35,84,40,149,105,0,
+0,1,0,73,68,65,84,156,132,196,89,148,50,17,140,74,162,97,160,221,131,216,
+161,56,12,108,156,251,156,118,89,147,27,74,158,154,157,93,7,3,64,66,158,
+200,204,154,19,166,148,83,46,199,167,199,23,155,77,32,201,90,186,110,17,
+98,115,158,118,196,104,218,8,103,98,233,186,59,223,253,222,61,107,126,175,
+105,195,209,234,35,230,12,74,20,254,58,68,111,219,240,249,163,31,19,241,
+241,113,64,162,117,222,74,192,29,134,109,251,214,87,93,199,5,236,44,196,
+178,175,75,180,112,235,176,222,107,235,151,139,247,232,160,207,226,183,
+128,254,229,228,90,84,239,163,44,135,251,222,84,25,121,208,106,183,175,
+122,87,203,68,181,172,200,1,85,148,17,219,29,46,136,44,23,117,117,128,114,
+206,41,103,45,102,230,129,201,220,138,150,45,247,185,36,53,213,98,165,20,
+240,240,222,251,239,171,219,217,231,79,135,52,182,28,192,52,172,183,34,
+247,82,30,29,246,224,225,189,97,155,33,46,129,255,127,246,222,173,71,146,
+44,57,19,251,62,179,227,30,145,153,117,237,219,204,244,220,185,32,185,188,
+45,118,121,250,55,245,184,0,0,1,0,73,68,65,84,131,102,87,132,180,171,93,
+72,88,64,47,186,64,239,11,61,8,208,191,210,211,190,73,250,11,18,32,74,11,
+104,169,5,40,80,20,41,145,28,206,176,167,187,186,170,171,43,111,17,225,
+126,204,244,96,231,28,247,136,140,200,170,204,202,174,30,205,164,117,118,
+86,164,135,135,135,95,236,216,249,236,179,203,249,224,131,247,125,147,168,
+253,247,190,245,27,253,146,134,205,227,199,223,34,115,183,72,34,75,17,125,
+248,240,145,8,79,207,94,142,24,46,135,110,253,226,242,164,91,30,141,146,
+37,67,149,52,33,148,16,185,99,74,237,182,216,58,240,53,42,115,91,67,50,
+213,80,215,186,187,215,36,90,221,11,174,245,187,89,171,36,102,169,228,45,
+157,13,64,201,94,119,56,40,38,116,23,136,56,37,155,108,70,89,13,114,97,
+204,155,113,45,84,209,20,77,139,33,52,51,64,220,97,230,227,152,55,235,97,
+61,172,187,190,223,12,155,62,227,140,151,144,88,166,199,158,47,94,116,139,
+110,204,163,138,102,207,20,62,125,132,205,144,157,54,140,27,65,7,227,151,
+176,247,63,122,31,162,228,183,35,140,0,0,1,0,73,68,65,84,128,124,244,222,
+15,33,158,58,213,95,59,33,121,124,114,50,142,155,23,95,60,211,52,138,230,
+47,190,120,230,250,32,11,135,44,171,13,58,181,78,173,79,248,185,192,214,
+33,219,76,72,245,111,38,40,88,147,174,239,229,118,82,236,244,86,193,138,
+3,50,105,52,74,145,145,187,187,119,209,42,85,160,74,17,80,204,101,52,25,
+40,112,24,69,85,133,137,84,81,192,220,45,79,75,38,148,234,220,200,107,223,
+44,191,248,217,57,212,77,204,152,207,94,253,117,191,76,221,162,135,36,135,
+15,121,72,210,109,242,230,228,225,113,182,113,209,109,30,61,56,254,226,
+203,87,15,31,60,60,59,93,175,134,213,135,223,248,192,104,162,118,114,252,
+109,17,121,248,224,65,246,177,239,158,62,120,216,129,27,225,95,73,178,164,
+89,82,118,140,57,123,206,230,118,229,218,223,90,82,91,50,176,225,224,235,
+35,225,57,155,16,20,93,226,104,225,203,149,93,100,207,46,38,67,98,118,228,
+209,163,145,33,1,101,244,99,220,127,160,86,251,216,110,234,181,117,77,95,
+117,59,196,187,58,254,161,227,28,185,213,172,243,0,0,1,0,73,68,65,84,226,
+197,243,161,145,63,49,250,241,187,253,195,89,137,76,97,251,225,200,3,71,
+25,198,197,102,28,93,135,147,126,88,8,57,44,95,156,125,241,114,161,199,
+93,94,142,163,89,50,95,142,118,106,253,70,215,50,2,72,41,13,235,65,161,
+71,221,241,112,49,18,114,201,53,65,90,116,121,128,100,142,25,190,202,159,
+254,205,39,32,142,142,143,62,247,103,221,162,187,248,252,252,248,228,248,
+114,184,252,217,39,63,125,244,248,209,179,79,63,167,114,177,236,47,95,109,
+82,167,151,195,37,30,216,114,185,56,93,189,208,142,143,30,156,208,224,72,
+191,246,195,127,100,195,229,203,87,23,227,40,227,192,179,124,161,253,250,
+40,109,86,60,63,82,53,82,152,133,202,218,169,203,178,33,85,254,223,65,47,
+161,202,107,218,74,132,220,170,17,176,55,234,122,171,217,68,133,214,247,
+242,117,200,28,239,177,164,24,57,162,18,212,188,188,205,215,89,173,125,
+199,117,192,113,113,126,225,240,156,71,135,167,78,13,118,113,121,177,94,
+175,199,180,22,87,27,92,148,195,114,1,99,234,210,152,71,21,186,38,116,70,
+180,0,0,1,0,73,68,65,84,17,116,73,36,133,10,135,141,163,121,30,55,43,203,
+6,138,39,29,114,206,40,121,99,173,210,137,229,114,222,66,110,174,214,140,
+108,158,232,70,23,105,33,142,130,173,167,179,187,151,119,47,164,144,6,24,
+8,42,33,158,109,204,50,186,88,96,25,58,89,202,140,15,107,205,78,224,193,
+35,32,90,138,159,242,104,155,245,102,28,37,123,206,99,118,115,151,140,13,
+135,243,65,84,250,101,63,94,230,126,217,155,27,192,113,237,161,214,158,
+41,10,67,94,44,114,206,184,92,197,25,230,172,131,229,76,97,74,73,152,0,
+97,180,149,168,99,144,183,85,239,155,99,107,50,192,80,180,85,96,141,17,
+179,182,55,223,11,10,239,229,29,72,132,200,156,112,1,149,166,158,45,143,
+58,228,60,58,140,80,9,189,161,189,73,79,217,74,186,20,110,188,75,157,3,
+73,85,32,81,201,5,71,30,179,229,188,246,141,109,92,148,195,106,244,1,253,
+162,7,1,149,113,157,33,174,157,208,41,137,14,243,145,171,141,15,227,40,
+73,37,109,216,143,164,116,169,235,58,39,181,228,103,79,73,206,183,39,15,
+66,18,204,0,0,1,0,73,68,65,84,28,110,97,173,11,10,87,145,148,146,4,161,
+4,80,72,171,33,245,224,179,239,181,250,29,74,244,51,137,251,78,1,59,64,
+125,28,134,44,163,137,185,128,86,107,245,34,168,119,160,213,222,68,179,
+120,211,106,148,118,222,132,103,207,163,69,111,81,24,242,144,59,73,200,
+244,209,205,124,244,188,194,218,70,19,17,127,121,54,30,141,20,164,94,21,
+162,157,56,13,134,245,200,49,143,201,115,226,64,90,215,245,93,215,171,2,
+222,87,4,34,45,41,233,230,41,66,69,110,199,132,56,0,65,233,11,26,109,110,
+88,112,126,53,211,247,138,253,142,197,65,41,214,26,226,84,66,61,211,70,
+29,178,140,14,19,80,32,2,201,68,201,147,127,131,99,122,115,230,205,72,186,
+193,179,185,80,3,229,24,180,83,169,29,31,0,207,121,28,6,104,210,241,124,
+116,203,84,118,163,166,196,212,73,172,5,52,80,178,103,154,40,178,118,92,
+44,251,190,91,144,37,217,107,222,213,225,109,160,236,109,212,122,170,241,
+158,7,26,11,26,218,223,46,228,94,190,122,105,113,3,119,34,26,91,103,228,
+44,84,198,152,225,0,0,1,0,73,68,65,84,217,196,42,1,91,137,147,235,158,80,
+123,207,43,3,225,238,136,184,114,116,201,84,106,210,36,42,32,172,45,187,
+36,116,161,197,234,43,14,53,192,50,0,27,205,134,97,4,29,166,2,235,145,61,
+139,139,19,41,117,125,223,169,166,60,82,85,235,40,154,85,165,220,86,147,
+110,111,173,1,48,186,107,5,8,57,220,48,228,94,222,141,76,38,37,152,16,186,
+163,208,32,53,87,170,133,23,94,255,92,74,183,138,210,117,165,194,92,159,
+53,113,245,104,202,53,26,133,81,184,29,125,134,29,4,23,41,37,85,136,139,
+48,86,175,113,152,91,54,152,251,232,46,128,136,118,41,41,40,150,93,85,80,
+118,3,194,91,19,220,122,190,191,113,116,199,176,233,250,24,12,122,178,120,
+180,148,165,111,242,81,234,135,97,200,57,183,16,111,224,111,17,241,104,
+109,75,146,81,244,23,136,229,23,214,160,139,239,255,49,238,255,185,169,
+148,16,202,148,221,93,16,243,168,150,197,72,79,34,29,85,160,148,78,186,
+197,223,60,254,51,71,62,217,60,220,164,245,234,232,242,136,15,79,236,233,
+208,89,160,31,64,40,0,0,1,0,73,68,65,84,4,109,74,23,226,160,79,28,53,127,
+106,150,163,86,179,79,198,60,228,178,14,182,155,231,97,28,34,232,40,212,
+196,36,80,90,180,75,16,161,138,75,30,177,94,143,102,66,118,235,193,55,78,
+116,139,81,210,218,199,129,29,210,163,203,13,50,70,237,108,216,140,93,247,
+196,125,101,177,228,13,44,40,7,55,113,83,23,186,16,82,91,119,185,139,187,
+188,46,141,245,214,65,203,128,83,177,176,149,76,56,132,111,135,137,238,
+229,45,133,51,147,189,245,32,188,142,128,216,254,53,206,162,149,157,222,
+58,153,59,62,159,155,171,181,215,60,118,144,20,213,36,162,165,25,223,149,
+252,134,123,8,242,206,164,122,54,149,234,8,83,220,58,47,79,148,25,240,181,
+54,177,22,78,250,92,172,48,13,119,189,4,194,45,214,60,71,131,89,66,73,169,
+11,181,158,57,36,179,155,118,143,173,223,149,180,39,32,194,218,206,192,
+41,22,237,48,11,247,199,210,107,239,107,85,107,105,58,29,221,203,8,67,91,
+10,249,174,190,229,166,31,96,93,157,193,61,194,67,189,106,114,167,68,37,
+58,107,151,84,159,133,70,0,0,1,0,73,68,65,84,246,123,121,183,66,72,81,233,
+168,38,16,143,31,52,174,149,78,250,108,234,255,122,68,89,115,177,72,149,
+232,12,246,115,160,214,181,236,5,0,8,73,169,83,73,94,27,73,214,144,231,
+189,124,61,194,146,11,15,9,107,29,177,116,248,132,95,103,93,82,191,22,145,
+154,157,37,209,41,92,126,62,64,200,156,232,33,2,91,75,41,217,40,166,224,
+94,175,191,22,41,118,184,172,77,29,216,90,26,182,14,59,253,245,47,13,35,
+144,150,211,84,195,71,119,175,214,183,89,141,96,46,66,137,60,190,221,2,
+221,123,121,231,210,162,115,59,140,71,227,130,227,247,215,219,8,180,197,
+90,56,5,234,125,182,28,195,221,200,141,173,181,136,56,70,200,70,197,8,118,
+120,120,164,15,101,52,43,141,171,133,136,102,170,90,131,251,165,237,131,
+151,54,254,4,248,115,88,227,120,136,111,190,169,220,21,63,125,72,118,250,
+14,77,253,86,44,59,220,20,163,114,72,204,157,178,239,211,98,169,227,240,
+226,232,103,207,151,207,211,250,228,209,229,19,104,94,117,3,54,143,189,
+228,84,79,15,205,128,95,201,49,203,0,0,1,0,73,68,65,84,49,90,246,236,147,
+155,158,103,6,205,89,150,219,129,136,139,186,170,203,102,252,44,245,50,
+230,229,232,39,235,204,213,122,5,73,24,196,198,149,231,181,219,0,228,104,
+67,105,164,177,174,94,209,120,30,160,70,63,174,147,219,128,172,249,49,167,
+236,153,125,166,250,30,143,188,51,169,73,202,222,30,73,108,117,148,229,
+19,156,19,137,245,53,78,172,68,79,40,9,115,223,108,198,213,106,192,56,148,
+94,88,119,39,183,81,235,121,196,190,250,40,210,48,117,155,99,238,65,201,
+59,21,70,10,135,19,16,137,36,85,0,238,146,157,230,52,135,129,6,184,112,
+155,182,10,169,22,241,171,62,77,197,145,48,69,214,212,122,109,103,103,155,
+245,102,132,126,237,225,152,109,137,64,163,76,43,142,204,32,211,189,82,
+191,83,41,228,116,161,174,149,165,83,129,100,147,209,56,58,179,71,133,1,
+33,97,141,216,74,200,106,161,245,87,47,98,75,113,17,186,144,195,134,151,
+23,190,25,28,233,142,169,153,155,243,214,219,70,56,212,90,85,39,236,51,
+167,68,190,118,199,251,151,70,88,202,57,28,61,164,213,166,0,0,1,0,73,68,
+65,84,244,136,200,148,2,15,205,46,230,52,103,110,212,181,132,49,98,20,3,
+204,50,76,190,250,231,165,88,192,33,204,170,2,95,172,87,221,102,163,144,
+59,237,18,242,54,149,231,33,213,90,235,212,216,41,254,185,183,213,239,90,
+10,51,93,173,117,201,128,107,214,218,162,88,186,42,125,41,251,152,162,234,
+111,82,49,115,7,34,16,98,20,1,146,192,151,155,53,86,43,218,112,199,234,
+114,23,32,164,66,235,58,218,239,107,26,191,14,169,57,67,36,40,181,166,131,
+51,108,77,115,214,254,163,219,244,70,235,205,253,14,76,145,10,129,1,28,
+84,133,88,108,214,221,197,185,159,159,127,253,225,152,144,41,103,175,210,
+118,211,61,153,189,184,215,236,119,38,147,169,157,135,199,163,248,220,89,
+151,1,65,13,8,183,95,51,121,7,79,75,162,233,53,70,33,224,58,14,178,90,249,
+229,106,184,219,111,185,13,8,49,147,64,72,14,75,138,227,238,145,14,79,144,
+191,116,55,52,174,50,90,6,153,109,229,91,219,44,223,250,0,245,88,237,200,
+44,229,172,81,151,95,165,220,148,90,190,105,245,34,48,164,0,0,1,0,73,68,
+65,84,63,236,187,58,206,14,101,91,233,39,184,165,178,158,13,205,64,19,247,
+68,244,162,28,95,242,75,246,207,245,232,201,201,234,88,86,150,109,204,75,
+179,139,181,195,200,44,226,81,24,235,128,27,188,80,215,245,249,84,70,203,
+189,44,118,108,238,44,235,107,70,31,226,253,150,81,216,146,154,128,50,210,
+40,34,23,227,101,39,125,202,189,108,84,187,81,59,57,91,63,94,255,44,117,
+143,254,159,164,203,62,61,80,244,98,74,103,172,233,184,161,147,46,112,168,
+19,6,137,234,250,215,68,20,222,2,132,180,74,139,26,57,154,147,32,211,30,
+247,242,78,100,119,186,172,214,65,53,137,2,146,157,217,90,93,162,231,171,
+236,30,176,253,196,184,245,102,179,53,172,15,252,118,254,101,68,246,219,
+167,219,82,225,227,230,36,143,139,108,116,100,231,224,200,14,135,133,19,
+32,168,57,116,0,174,47,89,11,185,157,203,184,213,193,33,218,167,54,60,125,
+21,138,220,203,187,17,214,100,248,26,204,5,73,149,142,226,46,155,204,141,
+193,197,197,65,120,110,201,150,161,234,77,101,125,50,78,94,202,215,119,
+166,0,0,1,0,73,68,65,84,60,201,64,46,225,69,177,37,157,148,13,55,62,73,
+106,209,212,104,9,82,243,11,215,23,79,109,97,148,76,29,52,101,193,130,232,
+136,36,18,75,115,43,91,31,26,188,190,213,194,45,87,35,152,171,181,136,104,
+82,110,239,81,236,247,189,106,191,51,153,77,158,113,255,171,18,38,227,104,
+60,207,114,153,233,42,137,54,74,164,53,108,213,201,56,203,146,203,83,251,
+128,166,60,142,169,197,1,43,162,184,29,219,213,64,102,225,128,157,97,176,
+207,207,30,44,242,6,186,98,26,161,6,233,4,172,13,239,34,237,47,58,227,236,
+113,9,174,202,237,58,166,150,223,209,181,76,40,170,169,94,236,12,25,191,
+174,196,249,94,238,84,170,66,206,152,14,17,138,119,25,227,136,243,1,151,
+38,78,233,19,115,167,151,174,42,102,21,10,212,81,49,211,221,89,25,238,93,
+186,54,132,0,90,215,104,100,233,2,1,93,93,46,12,144,46,75,55,186,120,151,
+152,148,26,108,14,8,103,153,71,10,191,243,26,189,122,91,222,26,177,72,187,
+106,27,215,245,244,121,171,193,124,47,183,20,54,123,197,210,142,200,0,0,
+1,0,73,68,65,84,77,111,16,33,86,67,1,86,89,138,181,118,38,66,68,74,95,151,
+250,105,119,52,172,93,179,73,90,185,117,237,169,16,59,122,75,54,186,85,
+9,162,23,212,81,141,126,53,198,163,81,114,218,12,189,172,29,98,14,5,204,
+117,80,147,240,29,81,117,249,77,190,243,182,32,100,250,7,132,232,86,223,
+237,201,185,184,71,33,239,86,26,62,174,19,61,153,36,13,122,233,44,216,218,
+161,14,58,178,80,91,146,168,239,243,245,231,6,187,24,109,115,115,167,185,
+75,233,62,108,110,138,27,6,8,75,63,6,210,171,169,22,33,85,212,33,146,109,
+49,12,10,25,221,13,24,20,185,103,31,76,8,1,10,218,124,116,253,151,220,129,
+181,38,16,129,90,110,109,187,151,175,67,102,200,51,84,91,53,137,48,152,
+16,111,237,150,45,55,192,49,247,191,170,189,7,208,172,226,100,165,189,101,
+111,23,130,239,54,208,100,94,93,133,74,176,144,212,14,20,129,107,30,35,
+135,127,67,205,206,161,83,7,220,205,163,139,200,27,106,214,205,213,218,
+157,164,187,155,153,170,2,240,141,30,219,227,148,26,51,176,58,0,0,1,0,73,
+68,65,84,250,243,139,51,23,166,212,173,134,149,25,132,105,180,44,34,230,
+16,179,182,248,230,14,145,114,229,240,62,71,115,49,58,127,14,195,58,95,
+117,63,236,155,238,175,226,163,15,177,114,47,196,51,204,56,48,217,70,62,
+191,224,73,94,156,29,231,103,249,204,197,47,93,94,154,127,96,221,203,205,
+48,12,48,232,66,140,158,71,243,13,105,231,217,72,62,120,240,224,244,244,
+149,168,44,150,139,23,95,188,120,252,228,177,108,86,201,83,114,237,101,
+49,186,39,73,150,165,215,254,243,243,211,15,63,252,112,179,190,236,209,
+61,92,60,112,213,148,150,171,213,234,164,27,104,46,22,32,218,130,45,19,
+33,116,48,186,1,153,73,164,139,86,146,6,31,198,49,137,36,81,38,129,118,
+153,186,54,27,70,140,150,187,142,125,47,137,2,66,224,164,49,58,158,65,80,
+208,174,238,224,130,183,91,141,160,190,168,161,216,50,244,127,238,116,240,
+151,66,56,1,135,169,64,134,74,21,136,57,5,162,209,131,207,9,115,31,224,
+131,219,104,240,76,32,99,112,142,164,33,173,135,113,124,113,250,229,106,
+238,98,211,120,0,0,1,0,73,68,65,84,189,50,183,135,250,112,141,83,46,150,
+235,188,122,181,94,139,203,131,229,9,201,245,197,186,235,210,163,254,241,
+131,199,15,70,123,37,9,208,188,30,179,90,18,217,104,47,144,62,120,139,40,
+125,49,139,31,151,178,8,18,0,52,119,212,221,167,92,89,16,16,196,34,172,
+81,16,150,125,28,13,112,85,119,113,157,138,81,14,114,231,111,5,66,188,208,
+68,37,55,149,100,153,97,42,97,255,54,7,191,151,27,10,57,235,65,86,124,49,
+65,175,93,98,114,168,120,89,161,214,179,231,49,99,45,190,129,13,217,152,
+157,150,125,147,57,0,118,57,124,217,117,105,204,227,226,113,186,92,173,
+198,142,175,134,79,121,182,234,31,158,176,39,20,207,135,231,169,79,92,208,
+151,139,207,199,207,143,95,190,92,173,86,239,61,125,239,104,121,188,25,
+244,248,248,36,121,62,234,143,50,58,210,21,200,209,212,202,17,173,211,116,
+210,221,162,208,110,102,38,169,120,98,2,87,68,109,140,68,159,204,149,185,
+154,49,103,119,55,109,252,53,162,81,94,9,71,238,232,218,205,107,25,171,
+42,207,161,85,232,47,157,111,0,0,1,0,73,68,65,84,73,226,147,105,153,198,
+162,214,135,193,198,189,220,181,72,229,38,10,197,23,11,196,81,68,69,50,
+1,119,203,121,216,12,155,188,94,13,212,77,30,135,97,51,172,179,140,89,198,
+141,175,71,12,16,27,237,146,233,232,243,47,63,207,103,249,116,56,253,0,
+239,95,242,82,77,135,151,231,195,48,28,159,28,105,210,71,203,71,155,97,
+195,5,251,190,31,54,107,75,89,143,116,196,184,218,172,57,234,106,220,156,
+174,206,159,62,253,48,231,14,6,56,197,37,161,180,72,218,58,229,10,245,221,
+205,12,102,98,6,119,113,75,84,37,147,80,69,33,101,45,28,184,179,212,66,
+136,71,243,28,7,233,108,107,177,182,3,223,102,53,130,249,89,53,107,157,
+146,10,37,79,145,86,162,213,24,221,203,87,47,132,178,249,99,213,84,171,
+18,74,77,34,73,156,182,25,215,151,43,185,24,206,46,198,177,119,174,242,
+106,101,103,131,175,7,31,214,190,26,124,116,250,249,217,217,135,125,151,
+147,140,158,145,211,133,111,86,58,94,94,124,241,189,15,191,255,179,79,63,
+25,23,221,98,217,247,125,247,79,253,247,129,0,0,1,0,73,68,65,84,201,167,
+159,92,174,46,30,61,126,212,9,251,197,226,60,175,109,116,101,119,212,73,
+159,22,217,112,49,156,119,232,144,50,205,213,105,80,208,98,58,241,230,121,
+98,202,113,49,115,203,102,217,45,67,85,128,36,236,85,146,38,175,43,54,91,
+124,212,28,48,168,36,175,1,157,136,233,204,135,204,45,173,245,214,13,109,
+32,68,202,58,58,196,61,8,121,247,82,3,209,17,100,20,23,161,42,115,231,178,
+96,50,193,185,173,243,165,173,135,243,205,171,115,27,87,106,231,118,122,
+97,167,3,215,163,15,27,219,12,158,157,188,196,229,203,203,151,235,188,202,
+28,121,140,207,206,62,91,158,44,82,159,254,250,147,191,124,239,253,247,
+158,190,255,240,199,63,249,113,122,192,31,254,250,119,158,190,247,244,39,
+63,253,9,79,22,39,143,143,158,191,120,70,215,71,15,158,60,187,120,246,240,
+228,145,48,73,30,178,118,180,44,230,201,153,33,22,220,162,209,69,118,89,
+129,25,248,54,51,179,236,174,112,115,24,217,67,40,69,173,13,52,143,112,
+76,137,206,136,239,144,147,0,222,30,91,135,150,12,134,30,214,0,0,1,0,73,
+68,65,84,55,108,13,148,105,240,94,173,223,185,68,150,69,177,43,17,108,166,
+128,11,79,38,160,242,212,55,190,222,108,86,23,195,217,10,216,240,226,194,
+78,87,118,154,185,49,177,193,115,118,0,250,222,211,163,151,175,158,93,228,
+115,237,244,91,31,125,227,242,197,240,7,255,254,239,255,230,239,252,230,
+191,254,239,254,245,175,255,254,15,191,245,241,183,206,254,248,249,15,127,
+231,227,31,253,227,31,125,239,251,223,251,227,255,245,143,63,250,232,233,
+147,71,79,254,205,255,246,191,31,31,61,120,112,244,232,223,253,201,159,
+126,153,215,125,191,88,226,33,188,239,156,131,203,224,210,153,140,38,98,
+166,158,220,109,210,234,26,155,142,6,79,193,133,103,27,37,99,52,71,30,57,
+46,85,75,7,211,186,50,78,180,140,21,130,30,209,199,186,110,118,83,184,59,
+224,173,49,5,250,129,169,225,211,158,49,116,47,239,76,166,68,134,4,237,
+197,77,153,152,49,102,27,55,182,30,185,56,207,167,151,118,182,178,115,151,
+17,238,25,112,8,192,213,248,50,243,252,215,255,254,247,255,225,31,254,195,
+63,205,42,134,69,0,0,1,0,73,68,65,84,248,209,239,253,201,159,254,219,63,
+250,103,127,244,123,127,240,123,255,244,95,254,209,163,71,15,143,31,28,
+255,238,191,253,157,111,127,247,219,143,30,63,250,232,27,31,246,31,241,
+233,209,226,131,247,63,176,238,226,135,63,248,213,15,223,251,230,226,161,
+228,209,31,156,60,252,191,255,151,191,112,138,97,48,12,230,67,182,33,231,
+77,150,218,200,184,214,46,176,113,184,225,76,130,238,102,238,217,92,178,
+81,212,199,222,65,81,168,68,248,6,172,43,59,109,145,110,219,40,36,77,107,
+78,190,217,186,140,173,26,183,105,114,24,236,163,252,72,198,231,110,23,
+232,137,172,150,147,219,40,200,40,67,112,178,235,230,230,6,47,243,77,97,
+169,91,69,157,31,16,222,144,252,63,116,21,63,135,45,74,238,68,70,191,136,
+48,52,12,230,57,51,231,62,91,178,252,226,225,240,228,167,221,49,186,254,
+120,253,87,63,93,111,30,174,198,135,167,71,95,92,158,158,189,26,95,29,247,
+203,81,120,186,250,242,247,126,244,187,255,238,79,255,228,71,255,228,223,
+251,175,254,219,255,244,127,248,31,255,197,4,51,168,0,0,1,0,73,68,65,84,
+251,143,191,243,241,127,241,95,254,103,20,60,253,237,7,31,124,248,222,197,
+226,229,195,111,165,205,240,106,24,78,127,227,119,127,232,238,235,225,203,
+191,123,118,250,244,195,227,213,250,213,167,151,195,111,253,232,239,91,
+246,51,251,252,95,252,231,255,68,152,220,221,23,171,179,47,207,124,227,
+50,12,103,103,175,198,13,187,254,113,242,135,103,249,172,79,61,244,72,122,
+65,7,138,208,85,70,205,88,19,234,2,106,162,9,77,105,9,57,129,107,135,26,
+59,66,68,133,73,69,85,84,204,71,0,165,227,129,128,178,149,75,120,55,214,
+26,128,136,146,117,245,49,224,205,44,245,68,149,236,68,40,119,211,195,238,
+25,149,215,73,203,112,2,32,16,23,119,117,146,71,143,78,86,158,22,93,250,
+224,195,247,215,31,61,254,105,127,249,234,226,203,85,119,154,30,141,143,
+60,165,133,175,242,230,63,250,231,63,250,157,223,253,173,63,252,103,191,
+249,159,252,203,255,248,225,183,143,63,254,222,127,115,242,224,152,9,47,
+95,190,248,214,119,191,209,245,233,207,254,226,255,252,248,155,31,143,24,
+82,252,61,0,0,0,1,0,73,68,65,84,220,220,114,202,217,214,235,21,201,17,235,
+113,92,103,100,101,114,3,93,28,174,98,110,248,195,127,252,251,235,203,245,
+234,116,245,233,223,62,251,219,191,252,217,234,226,98,195,213,162,91,38,
+73,137,73,161,52,122,118,163,65,29,90,157,177,45,62,98,234,81,127,213,204,
+181,157,230,182,181,125,56,93,111,155,223,92,84,123,149,142,133,102,106,
+33,216,215,43,227,68,183,114,246,211,222,243,146,57,124,103,128,230,23,
+21,24,213,102,168,113,3,5,2,192,233,71,15,22,139,85,127,178,60,122,192,
+147,243,229,250,179,225,167,103,56,127,240,100,249,234,242,147,127,245,
+95,255,171,223,250,7,191,241,63,255,241,255,244,31,252,243,63,250,246,247,
+63,134,90,191,196,243,211,79,211,34,141,178,58,59,59,125,181,250,114,35,
+231,20,92,142,167,175,86,159,15,195,224,142,148,52,231,188,94,175,73,174,
+125,145,7,235,251,94,165,131,83,145,186,212,39,237,224,60,121,252,232,193,
+123,71,98,122,252,240,72,251,238,226,139,193,55,246,249,217,207,62,214,
+143,21,162,174,204,116,184,209,172,192,185,208,191,0,0,1,0,73,68,65,84,
+55,136,73,73,14,41,90,83,82,78,156,238,98,110,241,71,161,190,45,174,241,
+186,53,45,18,174,204,215,87,185,142,55,145,46,245,34,137,84,32,51,210,210,
+175,63,70,121,4,83,18,67,203,18,159,127,178,157,200,189,86,95,47,54,43,
+180,5,74,190,181,171,15,182,58,94,30,61,57,121,210,177,27,79,94,45,190,
+231,223,120,252,241,223,251,237,239,126,227,123,255,244,63,252,23,127,244,
+189,31,124,231,209,175,28,127,251,123,223,250,155,159,252,245,226,184,95,
+202,98,133,83,219,216,184,26,204,199,53,87,207,62,251,201,102,88,247,139,
+254,211,47,47,134,97,0,209,119,189,187,111,54,27,17,89,98,57,172,188,31,
+22,93,234,224,146,164,91,216,178,211,30,224,249,120,222,105,119,220,31,
+245,79,229,7,191,245,109,91,201,167,63,253,226,197,159,255,213,38,191,39,
+25,221,216,41,21,112,36,119,100,167,68,79,156,208,136,89,238,202,148,83,
+69,163,211,140,12,181,22,45,138,218,120,139,249,221,152,172,245,91,154,
+237,174,59,78,186,32,180,38,104,109,229,203,92,149,102,40,165,20,210,0,
+0,1,0,73,68,65,84,131,203,192,107,78,38,171,11,129,18,180,44,83,235,157,
+165,110,255,162,42,182,215,180,209,186,129,160,51,99,92,246,139,163,116,
+220,47,211,71,191,246,254,71,223,248,246,15,190,251,221,239,254,240,155,
+223,252,206,247,12,246,23,159,252,229,226,189,163,23,171,151,107,221,100,
+183,231,95,188,88,15,167,239,189,255,116,115,121,241,179,103,159,128,150,
+122,93,231,243,47,190,60,63,62,90,14,195,64,178,239,67,173,7,85,89,218,
+210,214,169,207,139,46,245,116,233,164,91,219,81,167,61,129,167,79,62,218,
+108,46,135,203,75,129,28,45,30,60,124,252,196,187,199,103,227,211,225,167,
+107,33,146,171,154,148,234,75,247,236,99,146,174,146,12,69,115,90,114,85,
+189,188,25,32,49,135,110,97,143,93,16,130,59,181,214,128,180,5,29,94,115,
+12,182,95,211,166,0,36,211,183,79,41,136,55,7,33,135,6,212,47,168,86,95,
+5,125,161,33,186,132,56,199,203,113,148,241,201,247,159,188,255,224,155,
+31,60,126,100,114,250,217,249,39,32,29,249,241,201,163,207,159,61,59,58,
+89,94,159,166,54,177,0,0,1,0,73,68,65,84,140,167,63,249,244,39,103,235,
+103,95,172,159,174,215,151,159,61,255,52,37,57,121,120,178,25,86,167,23,
+167,163,62,25,134,129,64,103,157,185,111,54,107,17,89,218,82,243,178,199,
+162,179,158,97,173,125,221,165,30,206,238,114,233,110,189,38,119,57,31,
+94,66,60,61,88,124,243,7,239,63,31,87,28,45,15,67,246,193,217,9,1,186,89,
+134,238,248,242,108,20,73,217,208,202,120,106,250,96,83,232,102,182,219,
+206,119,135,173,217,171,116,164,2,227,236,108,174,193,214,172,213,69,83,
+157,209,206,69,177,80,237,205,137,188,129,28,170,232,248,69,101,211,69,
+164,185,89,0,0,47,245,215,201,177,246,188,177,161,219,88,119,121,214,125,
+225,195,217,112,118,246,171,191,242,143,62,255,252,217,144,7,91,188,247,
+197,249,179,191,254,217,23,57,143,223,249,238,119,54,47,228,229,249,179,
+205,184,97,159,207,55,103,47,62,251,204,44,59,93,55,221,56,14,36,59,118,
+112,108,242,70,93,233,148,108,150,115,198,0,23,101,202,24,147,117,112,250,
+115,85,225,227,71,15,143,22,203,156,28,175,77,23,0,0,1,0,73,68,65,84,243,
+229,230,116,209,89,127,44,239,253,234,227,205,203,33,191,176,241,98,99,
+88,128,16,176,186,134,37,240,56,77,220,85,179,247,22,4,95,99,127,247,51,
+33,183,48,216,2,217,102,66,94,35,220,253,179,90,229,233,197,189,220,64,
+68,5,142,230,89,181,27,56,218,176,96,90,118,139,110,209,95,140,171,188,
+126,14,57,90,46,249,231,255,239,255,241,225,135,31,104,30,254,244,255,250,
+55,79,158,60,126,255,163,147,31,255,248,111,254,236,207,63,27,196,82,82,
+73,188,216,156,95,92,158,45,150,253,114,185,92,173,47,87,195,229,56,142,
+34,26,37,182,46,64,34,147,228,205,48,154,144,112,167,193,40,52,24,156,239,
+63,60,90,93,158,95,156,159,195,93,92,4,234,200,154,244,233,119,30,157,117,
+23,103,151,151,182,54,143,52,91,34,2,49,5,64,85,12,91,117,26,59,0,117,175,
+236,24,236,20,11,60,163,18,210,193,36,139,28,172,40,190,202,251,198,199,
+215,171,211,7,71,253,39,207,47,178,174,151,203,147,87,231,35,184,236,250,
+39,54,158,69,211,44,167,192,29,16,63,32,31,98,0,0,1,0,73,68,65,84,167,144,
+234,62,70,186,10,80,194,70,18,249,88,34,132,10,204,93,89,226,164,70,232,
+45,90,77,255,114,73,46,153,236,59,206,122,55,46,133,60,27,47,196,55,73,
+186,60,164,47,242,133,144,11,61,58,127,126,6,192,143,249,124,245,242,211,
+243,231,153,57,39,156,173,159,115,44,169,108,76,216,140,155,241,98,20,17,
+243,181,170,168,184,231,172,222,29,233,82,145,176,226,162,235,8,208,61,
+81,147,196,226,161,32,241,252,226,199,157,118,224,49,54,88,232,49,197,101,
+28,147,242,197,243,191,61,57,122,248,254,247,143,47,22,155,213,23,103,98,
+250,40,63,237,177,132,140,173,169,184,215,31,136,155,25,133,226,82,2,147,
+94,176,86,206,69,131,85,8,200,86,190,235,29,130,144,174,235,123,235,83,
+234,6,12,13,5,205,34,154,149,126,106,53,115,108,229,203,149,116,221,222,
+4,204,54,94,59,82,239,5,135,61,153,130,230,220,205,108,244,81,44,210,240,
+105,180,98,38,225,110,158,115,206,57,155,217,116,195,129,154,15,56,127,
+52,5,16,212,36,77,84,192,217,62,84,30,114,131,126,88,91,0,0,1,0,73,68,65,
+84,139,60,204,178,79,205,104,34,226,238,20,116,203,142,71,148,145,78,163,
+204,24,1,238,76,215,59,224,116,122,113,141,66,164,150,203,225,251,50,78,
+223,92,22,186,92,244,71,93,234,215,227,42,226,246,113,77,36,65,169,68,30,
+107,88,87,8,43,13,105,33,116,47,175,41,116,39,69,32,14,137,188,22,129,56,
+204,222,186,93,224,47,182,28,2,127,81,66,226,14,55,115,32,195,128,17,192,
+80,21,52,64,109,182,28,19,53,149,44,150,175,164,49,71,91,143,242,164,74,
+161,120,123,193,88,42,175,60,187,246,98,182,3,28,230,102,150,205,70,3,187,
+46,185,27,196,151,15,250,108,98,167,48,207,59,77,154,216,212,101,30,164,
+153,231,99,84,139,215,120,135,157,140,235,52,203,230,104,7,189,165,93,76,
+218,37,233,0,186,57,202,130,55,168,3,93,138,202,66,8,65,209,105,47,183,
+0,94,111,132,11,220,33,78,113,8,92,28,98,20,242,48,42,186,151,144,67,203,
+152,123,85,132,194,151,149,132,140,76,171,51,32,65,32,214,71,132,183,246,
+54,128,75,173,170,218,82,214,43,103,66,184,0,0,1,0,73,68,65,84,102,128,
+234,99,149,61,234,46,164,214,6,55,94,19,152,50,193,4,205,150,149,99,127,
+180,148,172,155,181,231,97,52,102,153,236,61,174,210,100,7,109,243,92,87,
+103,170,157,162,30,17,21,52,223,218,90,19,160,171,32,209,4,82,60,72,35,
+73,37,157,204,164,206,212,87,133,112,135,209,34,255,74,224,70,35,161,110,
+160,70,125,51,168,213,61,118,191,110,206,185,23,216,117,106,237,5,110,128,
+172,187,249,182,234,144,100,172,216,230,147,90,87,247,173,60,178,80,86,
+138,146,90,94,64,132,74,138,80,133,42,162,82,22,91,148,178,79,176,8,81,
+100,235,217,157,52,186,229,172,163,233,200,133,112,225,48,51,140,194,110,
+110,161,235,196,222,224,204,236,205,153,76,151,80,124,198,242,103,186,198,
+59,188,145,120,134,48,37,77,66,49,80,203,28,225,165,71,38,234,224,70,109,
+173,236,251,173,117,132,97,4,226,148,90,228,70,167,220,241,226,34,191,112,
+114,16,132,52,139,204,70,49,0,240,108,192,196,191,78,68,26,236,144,90,203,
+4,26,119,49,9,183,182,108,253,174,64,34,49,193,28,46,0,0,1,0,73,68,65,84,
+86,170,166,155,25,232,198,188,193,74,21,178,236,212,232,163,85,80,62,157,
+16,39,220,81,125,175,173,235,157,126,199,133,176,245,92,155,171,245,27,
+102,240,29,190,173,72,210,69,74,64,22,168,168,51,79,216,58,188,14,111,142,
+96,100,24,90,85,107,171,74,111,2,113,184,81,196,163,229,137,24,132,112,
+185,207,117,186,86,14,5,97,69,82,81,208,178,254,185,21,101,149,84,59,128,
+52,237,224,220,32,238,170,245,92,89,231,63,13,97,110,189,85,76,24,162,43,
+100,61,164,8,96,174,73,93,108,99,235,14,186,92,46,123,235,252,178,181,108,
+154,225,162,45,167,113,98,126,139,149,222,178,213,192,78,190,245,173,145,
+244,149,251,7,133,38,237,146,38,176,117,193,178,10,127,38,26,100,238,62,
+114,190,165,18,240,109,250,41,233,59,113,33,247,125,207,110,37,20,169,165,
+82,53,224,97,238,112,73,201,221,217,192,103,251,15,214,102,253,48,127,141,
+137,10,101,170,207,102,190,229,10,19,178,77,100,213,189,202,96,81,149,44,
+54,228,81,48,106,39,169,215,113,61,139,158,113,235,150,105,108,82,0,0,1,
+0,73,68,65,84,159,173,141,147,174,86,99,61,17,54,91,47,82,74,201,204,68,
+36,165,4,32,94,95,119,155,14,13,3,199,106,92,63,125,242,241,243,243,87,
+23,23,159,47,78,210,229,106,189,232,31,94,174,94,186,103,120,46,75,22,210,
+72,23,241,156,135,152,152,74,179,228,168,229,68,26,120,233,98,32,96,81,
+84,79,80,169,242,218,182,107,191,228,114,40,195,216,205,170,94,41,34,145,
+162,217,195,93,123,23,7,146,218,217,154,2,109,16,182,211,158,160,136,42,
+53,64,180,148,162,111,157,236,20,73,113,196,162,212,62,5,29,50,11,74,113,
+138,10,198,209,20,221,9,58,69,63,250,58,47,70,246,210,157,45,99,234,144,
+49,117,76,17,194,4,224,194,214,127,15,238,116,208,156,181,56,166,24,239,
+89,242,95,185,136,29,38,228,109,140,119,44,196,35,165,185,91,57,142,136,
+68,19,8,3,5,116,136,4,109,23,5,109,226,14,41,236,135,121,237,204,41,2,119,
+138,211,45,42,235,239,93,198,219,10,15,173,54,116,240,118,22,59,141,25,
+226,14,158,174,186,157,0,106,105,95,169,38,197,48,198,51,0,0,1,0,73,68,
+65,84,175,116,118,249,248,182,157,110,84,92,243,2,183,168,233,45,250,163,
+58,136,241,183,95,57,203,55,213,129,187,3,33,132,80,84,146,138,10,181,26,
+98,10,197,67,221,93,195,50,59,69,220,149,106,48,0,206,8,39,42,4,238,46,
+38,78,135,35,86,200,20,87,48,178,91,238,41,190,219,8,101,255,243,189,142,
+239,170,100,32,27,228,224,44,40,19,238,31,163,137,94,49,148,2,33,68,16,
+125,206,3,80,151,45,44,150,52,154,58,237,64,150,9,130,82,170,210,215,182,
+215,168,93,64,42,58,218,161,170,175,147,61,225,152,91,222,63,135,82,147,
+166,164,73,169,141,177,22,132,207,23,115,70,185,41,109,225,30,119,23,208,
+170,215,136,184,178,186,188,9,183,7,253,45,79,236,151,91,110,121,223,90,
+41,72,181,199,100,168,108,104,167,176,232,168,40,203,242,165,117,173,71,
+17,72,60,247,210,55,50,52,62,246,105,92,74,211,254,230,89,73,197,228,81,
+106,44,94,113,60,118,20,160,249,179,215,200,196,91,191,173,56,68,180,67,
+234,180,83,73,82,200,124,151,50,136,69,34,138,124,15,102,0,0,1,0,73,68,
+65,84,188,226,134,186,56,32,96,177,48,72,84,217,211,29,110,226,98,112,70,
+223,124,119,129,185,11,224,226,247,214,250,54,114,200,78,93,99,173,189,
+218,107,160,98,12,167,66,73,42,85,169,66,85,106,221,146,72,182,45,241,160,
+9,74,249,83,117,122,43,88,237,226,61,74,44,231,91,98,249,34,90,21,93,218,
+220,128,73,159,155,205,222,245,29,247,75,33,248,246,150,24,220,76,28,0,
+21,41,112,136,138,11,149,132,138,186,187,89,22,198,24,140,85,46,221,221,
+80,24,107,19,136,193,194,108,139,40,189,128,19,167,59,10,56,185,243,21,
+41,127,201,229,186,229,49,42,57,130,10,173,9,168,84,181,46,94,163,106,137,
+179,75,241,217,66,89,39,75,92,172,248,236,53,171,181,102,97,6,39,130,132,
+104,169,74,172,214,90,74,67,178,201,81,107,152,232,181,214,250,174,194,
+49,176,56,9,170,168,50,86,255,21,23,36,116,229,70,69,76,221,0,32,163,132,
+84,91,194,130,66,97,32,220,37,57,140,102,229,138,45,86,20,244,67,65,180,
+123,185,94,110,145,119,62,85,165,84,96,147,116,120,52,0,0,1,0,73,68,65,
+84,13,66,69,11,39,21,58,29,30,20,40,147,114,75,213,233,210,250,160,193,
+15,206,160,72,85,107,236,168,53,107,244,188,81,188,87,213,185,254,1,28,
+62,249,144,253,46,227,109,44,119,69,99,82,200,249,232,34,207,98,173,213,
+28,10,119,45,17,1,117,51,39,220,96,177,20,4,75,51,112,133,90,176,165,86,
+75,210,45,156,135,251,56,227,109,196,14,128,13,57,252,124,91,89,247,204,
+88,163,44,71,87,250,208,84,71,176,242,36,219,46,224,220,208,55,245,109,
+56,185,58,125,213,228,146,179,6,122,190,163,208,51,185,137,62,166,174,235,
+162,247,116,152,237,113,28,83,186,13,61,226,189,103,140,134,124,114,244,
+232,244,226,116,157,47,150,203,71,231,171,115,114,164,121,37,77,157,116,
+145,96,29,29,238,34,89,65,128,78,129,171,187,13,235,33,34,47,132,74,92,
+190,2,238,171,60,214,155,133,249,173,177,124,199,11,176,254,130,201,53,
+234,187,87,10,197,86,242,249,171,86,147,34,93,181,205,66,38,162,100,50,
+113,90,137,75,162,70,187,101,184,121,48,5,229,167,166,141,42,170,112,108,
+0,0,1,0,73,68,65,84,176,19,168,50,41,146,122,162,11,12,112,207,139,83,248,
+66,141,68,175,210,41,132,110,48,215,222,201,12,184,187,138,104,12,43,128,
+145,78,65,22,0,16,77,104,218,85,236,169,101,188,181,84,52,79,41,129,83,
+19,82,169,46,150,69,213,181,166,45,1,128,65,221,131,202,131,19,106,8,66,
+48,5,8,169,217,226,40,197,64,166,212,250,29,115,206,231,237,151,183,190,
+151,45,169,180,24,106,130,84,195,194,5,108,104,73,105,18,165,110,113,127,
+115,18,112,178,226,51,7,112,110,167,81,221,62,103,161,238,208,94,204,78,
+165,228,8,225,205,160,199,36,147,203,248,150,202,29,254,114,193,214,162,
+98,52,136,82,33,29,52,166,66,167,51,178,216,45,80,135,187,185,128,66,19,
+146,102,230,112,75,217,220,204,51,157,209,96,28,14,39,75,121,204,252,210,
+25,145,155,123,208,125,151,66,114,94,241,221,144,68,117,16,85,41,225,50,
+74,177,202,129,176,171,53,166,200,108,207,186,93,10,63,88,179,94,167,97,
+208,166,131,57,165,59,223,220,8,145,155,40,104,225,173,223,50,207,169,252,
+248,89,174,0,0,1,0,73,68,65,84,136,131,20,149,148,52,73,86,208,85,147,195,
+133,174,52,99,5,199,66,24,149,238,52,154,68,214,19,98,225,4,120,210,206,
+220,44,230,166,234,42,154,215,168,194,149,65,123,87,209,164,123,9,41,214,
+26,152,131,144,45,198,99,246,19,225,147,185,18,55,117,87,138,136,170,108,
+237,95,152,144,3,106,45,87,212,154,51,137,179,123,195,171,216,229,173,235,
+28,116,27,227,29,51,70,39,41,73,167,84,194,147,116,53,227,35,186,241,0,
+136,201,141,177,204,36,153,195,207,4,153,33,238,230,210,187,91,182,177,
+185,14,217,65,90,157,179,218,175,123,249,74,164,66,132,178,10,77,243,5,
+5,90,130,44,149,156,46,252,180,164,192,220,66,73,146,170,109,102,98,210,
+242,163,138,202,91,151,24,77,33,4,165,64,28,65,161,242,98,163,212,232,14,
+182,244,250,38,10,57,129,144,183,189,31,30,56,169,90,107,10,168,73,212,
+44,185,120,22,83,175,106,45,164,49,114,64,90,241,23,64,120,142,134,0,230,
+198,58,41,145,145,222,110,244,92,33,95,124,219,189,130,127,37,82,64,72,
+249,7,6,186,60,0,0,1,0,73,68,65,84,3,213,98,162,49,208,205,238,86,54,186,
+128,144,160,252,116,6,66,90,85,129,64,231,249,66,59,200,187,98,231,57,52,
+151,102,196,27,10,194,214,204,252,154,7,191,203,91,191,45,8,65,197,214,
+16,208,84,52,49,150,100,55,184,231,112,0,140,70,161,195,220,205,149,28,
+25,43,182,151,176,34,202,210,57,38,98,146,141,217,213,221,232,227,108,244,
+121,107,242,122,7,3,242,94,102,210,166,107,52,39,142,36,169,51,245,85,166,
+166,190,193,123,84,84,221,144,116,89,138,105,194,30,237,103,75,173,113,
+64,173,177,173,214,205,223,124,99,16,242,86,122,188,247,190,20,234,186,
+12,59,161,138,184,138,154,27,16,61,44,34,143,201,233,193,120,120,144,211,
+209,135,138,37,162,30,23,234,20,208,37,214,22,169,129,130,249,127,112,187,
+231,179,239,82,200,105,33,140,89,56,134,21,49,171,48,104,54,109,169,154,
+251,144,240,28,58,204,93,63,98,210,206,25,223,13,108,171,108,236,219,90,
+86,239,250,85,175,181,100,37,223,186,33,108,146,57,231,91,36,138,100,140,
+76,0,68,76,142,119,167,185,56,0,0,1,0,73,68,65,84,211,241,74,207,47,198,
+51,42,124,0,93,148,157,11,162,208,136,164,208,36,155,129,6,50,138,40,72,
+133,56,125,116,115,48,178,88,149,146,145,12,230,116,177,117,92,85,155,34,
+35,29,119,196,24,127,85,203,93,204,247,232,99,37,3,235,240,71,220,222,105,
+24,112,246,191,29,92,32,113,255,176,57,148,254,125,211,104,232,77,211,200,
+111,23,109,109,183,162,177,108,118,32,188,229,30,197,232,165,140,170,220,
+63,135,176,43,182,153,2,36,64,224,2,48,117,29,80,136,63,173,54,59,194,146,
+197,82,179,2,104,17,40,251,156,24,44,33,69,90,72,6,200,38,69,21,104,148,
+76,117,8,156,222,130,42,241,92,155,181,143,98,245,67,200,123,79,229,249,
+91,72,59,78,131,71,84,137,124,112,115,136,67,221,45,188,17,247,84,172,117,
+101,178,233,52,184,186,186,11,61,151,128,147,1,78,135,151,165,77,235,67,
+157,224,8,43,228,158,128,201,180,95,163,183,247,94,227,124,227,161,4,206,
+67,19,223,161,81,112,83,190,241,166,203,141,30,58,190,31,84,83,204,238,
+193,196,143,242,108,141,102,99,0,0,1,0,73,68,65,84,192,117,9,164,142,180,
+25,19,130,8,47,6,182,86,161,136,104,208,26,168,106,59,209,115,104,42,213,
+208,195,100,87,80,193,7,24,206,24,209,90,136,86,123,188,245,172,234,235,
+27,41,233,68,240,189,165,114,147,82,83,207,69,40,213,155,117,85,210,50,
+106,36,134,238,86,242,169,205,17,13,94,133,46,153,66,55,113,35,162,153,
+177,208,133,166,198,81,220,108,214,9,96,230,44,58,128,82,67,81,21,187,57,
+149,202,121,13,234,60,30,124,0,180,28,204,253,217,191,255,161,81,112,83,
+107,122,112,52,29,144,67,199,63,56,219,108,199,55,218,182,67,79,155,162,
+237,38,79,208,26,84,73,85,173,69,153,102,254,159,84,222,186,230,54,149,
+52,166,66,107,212,172,235,178,133,16,180,212,145,192,38,62,143,183,176,
+197,216,17,113,144,25,9,120,131,112,76,187,212,166,217,183,213,111,134,
+210,49,200,107,73,34,90,86,149,23,120,169,189,85,55,7,225,110,144,100,81,
+99,23,100,8,72,152,211,224,230,116,186,192,133,209,146,202,141,110,16,223,
+101,66,154,69,174,43,177,98,134,107,242,159,246,0,0,1,0,73,68,65,84,69,
+34,124,51,105,122,49,239,222,66,172,59,10,127,248,170,111,104,173,111,118,
+211,110,110,173,15,108,63,60,219,236,217,23,113,215,246,30,159,226,220,
+9,158,19,193,132,112,198,132,84,176,65,42,129,48,225,218,92,198,226,86,
+109,209,38,179,143,212,201,220,5,213,90,215,89,97,134,183,155,102,207,70,
+227,27,74,170,147,251,29,68,25,107,93,150,168,36,213,164,150,90,137,187,
+66,29,177,76,147,196,212,0,128,140,229,174,89,231,41,115,143,117,156,108,
+103,187,148,194,233,34,69,177,99,124,187,128,147,230,150,112,60,220,43,
+111,89,186,45,22,135,52,218,52,160,161,152,182,255,65,83,112,192,186,31,
+28,4,55,181,190,55,219,253,224,241,229,144,194,23,26,186,252,229,219,155,
+247,31,169,221,150,170,107,1,141,233,193,55,111,243,214,83,148,81,164,48,
+36,2,84,184,82,24,107,105,41,215,132,86,86,36,186,136,212,150,2,213,48,
+111,145,122,187,17,25,190,225,13,219,106,168,240,54,154,93,33,110,156,135,
+168,168,136,10,44,50,246,156,46,145,97,90,236,128,33,212,183,139,146,66,
+0,0,1,0,73,68,65,84,27,181,50,6,100,9,217,184,149,124,61,22,155,29,124,
+54,246,89,106,120,109,198,181,13,173,81,194,147,94,23,32,105,111,135,177,
+246,57,106,41,126,246,33,244,176,255,158,252,188,185,140,215,63,186,242,
+45,211,108,119,205,236,36,179,140,144,201,219,150,25,216,104,92,94,68,19,
+81,183,235,204,138,131,181,142,166,17,124,85,227,139,7,73,194,107,17,21,
+154,93,158,41,113,44,106,81,85,253,70,6,96,79,190,245,173,149,187,129,251,
+88,43,90,168,68,86,17,163,213,76,171,208,55,2,102,128,187,27,44,138,35,
+178,9,145,37,52,189,70,100,2,121,155,75,45,221,157,158,74,123,66,30,173,
+66,103,164,95,168,172,193,38,200,141,9,133,80,230,234,62,237,31,73,224,
+251,100,191,21,252,249,115,25,15,233,123,188,141,106,80,102,189,17,247,
+30,159,173,127,250,86,240,156,72,156,212,55,77,136,2,21,156,84,197,149,
+200,187,71,131,31,21,186,20,3,127,67,108,189,227,124,162,157,219,117,114,
+199,188,181,151,121,162,246,64,113,74,113,65,84,220,20,6,87,122,1,16,165,
+249,33,150,0,0,1,0,73,68,65,84,165,16,23,128,231,0,49,209,172,141,161,250,
+14,122,6,64,167,163,172,43,188,227,50,70,100,115,71,121,171,238,231,171,
+94,166,3,149,41,218,182,225,135,146,237,129,67,46,227,65,151,235,134,106,
+125,99,208,114,208,101,60,120,158,65,134,160,253,198,140,33,186,34,34,218,
+76,198,100,173,73,193,126,171,236,123,113,195,44,122,194,182,5,109,75,187,
+108,198,17,128,230,31,78,170,141,26,239,188,161,165,6,26,182,142,179,122,
+109,147,144,107,100,244,145,20,133,0,80,234,66,143,6,110,108,68,230,104,
+128,65,32,10,16,174,240,12,247,140,141,59,220,25,100,128,0,209,151,62,59,
+156,209,94,66,50,148,146,205,205,225,146,203,109,41,247,156,21,205,120,
+222,90,97,164,62,118,139,37,178,131,75,44,139,50,160,204,16,77,201,155,
+183,76,100,151,221,17,3,0,158,61,199,247,98,219,21,39,108,246,144,234,54,
+224,166,78,227,93,85,253,232,129,175,29,71,82,76,232,148,92,42,51,92,232,
+114,145,55,170,73,165,103,225,176,71,138,137,250,232,204,102,2,118,218,
+193,124,28,191,55,225,105,0,0,1,0,73,68,65,84,178,146,125,191,200,18,76,
+161,144,10,106,89,163,23,164,166,18,238,134,148,237,49,0,82,71,208,69,189,
+120,143,116,186,113,36,21,44,61,70,196,5,38,52,184,193,199,204,148,146,
+106,82,37,165,44,141,43,116,169,125,204,196,93,72,70,11,130,215,232,249,
+93,90,235,93,182,177,205,95,117,109,121,210,219,234,71,97,21,60,224,182,
+215,54,203,112,64,139,98,59,80,108,54,29,78,79,115,158,110,134,174,167,
+127,102,208,49,172,63,208,160,198,20,151,228,214,17,166,232,206,92,171,
+183,190,97,231,226,234,172,222,172,207,182,229,59,64,20,70,23,217,119,47,
+162,81,198,98,132,67,28,22,45,154,165,19,141,22,204,136,129,24,203,138,
+195,146,106,169,14,16,137,20,120,161,136,32,31,224,167,209,182,115,123,
+35,102,111,3,152,3,140,248,171,62,136,74,121,52,175,189,253,246,233,207,
+173,88,228,235,53,246,206,106,25,201,29,202,40,80,72,185,89,113,5,147,39,
+7,79,18,24,64,196,99,61,96,115,55,192,51,25,5,231,116,49,207,52,49,88,228,
+138,236,37,248,88,172,123,86,93,155,0,0,1,0,73,68,65,84,227,174,86,70,30,
+236,164,212,211,71,243,94,237,101,11,66,108,231,157,240,144,245,245,124,
+117,110,7,192,3,106,125,40,170,247,85,11,153,162,182,155,32,10,165,74,55,
+38,237,204,138,37,17,165,38,21,144,78,131,68,207,84,165,56,141,37,25,201,
+75,6,223,85,126,186,209,121,19,133,215,42,26,103,25,81,152,185,146,241,
+17,15,219,80,218,208,109,251,138,197,97,109,38,106,166,206,45,164,116,157,
+153,216,83,70,112,91,251,77,84,205,46,35,87,68,68,2,254,78,181,136,82,48,
+52,160,165,73,190,195,163,187,21,43,104,160,155,91,69,233,70,183,200,98,
+5,208,208,120,123,193,54,141,55,197,141,217,146,81,7,92,170,131,43,65,2,
+47,13,41,102,1,226,242,169,201,183,154,255,211,212,122,39,103,112,66,48,
+229,226,119,247,223,149,155,198,93,238,76,182,230,236,146,37,60,58,51,124,
+244,156,13,16,118,74,23,73,20,17,11,156,65,41,58,71,17,2,238,34,251,249,
+105,84,134,100,222,12,4,53,63,187,117,14,41,234,78,214,102,162,68,224,140,
+210,19,6,45,77,163,172,160,0,0,1,0,73,68,65,84,44,221,236,123,89,217,28,
+152,84,249,141,65,246,157,245,9,145,130,246,155,86,197,5,9,33,238,110,200,
+20,228,186,2,142,211,189,104,29,89,2,228,129,179,157,172,9,79,101,190,51,
+210,220,167,210,243,185,114,121,177,166,238,13,92,84,194,142,148,56,16,
+106,118,85,125,172,197,106,78,212,30,0,143,48,205,92,189,27,201,37,19,141,
+16,195,32,92,221,232,6,141,221,95,7,93,177,235,58,24,124,149,66,53,27,225,
+14,72,73,114,31,109,220,184,100,228,204,40,4,229,6,210,67,122,129,66,18,
+85,85,33,78,3,92,53,150,49,118,30,224,167,201,84,136,237,194,144,84,231,
+18,42,96,240,214,202,210,48,132,160,48,1,20,87,150,238,122,18,13,246,68,
+44,146,172,101,138,199,212,150,78,197,117,69,139,214,236,34,131,43,114,
+119,13,21,118,176,53,25,214,186,149,16,57,224,2,152,18,180,88,25,187,210,
+209,4,173,204,72,94,255,179,58,154,171,181,46,187,78,16,1,245,179,104,172,
+213,204,100,51,10,214,167,255,138,234,123,35,242,230,118,153,32,243,140,
+216,154,83,235,4,54,0,0,1,0,73,68,65,84,146,79,50,4,237,0,68,27,42,179,
+224,236,156,49,199,33,230,228,235,18,138,48,130,187,129,98,29,158,97,163,
+249,74,224,20,167,153,143,128,111,204,123,233,58,241,133,104,159,132,234,
+52,16,170,164,194,220,252,0,19,178,215,90,87,179,214,218,16,180,164,39,
+41,238,34,234,96,41,56,68,32,149,206,155,113,212,190,101,173,27,204,198,
+54,238,219,35,119,87,70,176,123,59,139,72,93,5,189,98,225,208,57,135,36,
+184,59,204,204,220,115,32,108,135,187,171,195,196,3,91,11,61,7,182,158,
+172,232,182,213,206,17,142,193,54,240,46,188,53,102,73,125,53,172,8,157,
+249,137,51,101,164,110,57,138,245,13,153,133,123,188,190,2,160,202,246,
+103,57,122,121,49,238,189,31,119,126,131,223,80,84,83,174,109,21,40,226,
+140,48,174,112,72,177,60,236,152,243,102,179,30,144,173,135,47,196,7,227,
+17,152,9,33,19,84,18,8,120,46,174,210,62,126,154,141,165,174,120,3,104,
+125,112,68,98,48,212,46,238,101,225,142,2,66,208,28,80,155,131,235,144,
+230,105,78,127,179,82,140,182,210,1,0,0,1,0,73,68,65,84,134,175,179,214,
+243,63,56,51,65,111,195,144,148,177,24,186,93,150,63,15,199,35,160,85,240,
+216,18,33,62,6,50,40,100,95,168,53,205,5,145,196,231,32,164,177,114,184,
+10,126,183,52,102,26,158,140,30,59,216,178,167,152,48,241,108,120,212,56,
+241,206,33,102,160,98,10,220,52,245,85,157,169,251,76,231,15,245,229,56,
+196,43,127,213,18,29,107,225,10,119,154,10,157,84,192,232,93,98,79,170,
+249,198,198,33,143,78,51,186,141,99,38,20,78,23,83,11,18,142,217,188,91,
+180,116,142,29,126,122,246,123,70,131,160,145,35,243,63,27,128,216,138,
+237,150,247,235,39,209,48,245,36,60,248,199,94,73,203,229,114,189,94,47,
+22,11,0,36,115,206,173,217,228,141,132,57,131,4,163,237,135,136,119,201,
+123,51,27,36,187,195,99,224,138,211,37,84,100,99,206,8,21,144,128,11,18,
+8,119,223,96,168,23,27,8,140,10,115,151,209,170,75,87,164,36,228,136,133,
+111,224,147,218,7,56,161,22,213,103,36,87,85,239,208,55,168,48,165,168,
+52,1,32,123,13,223,112,75,138,147,109,69,0,0,1,0,73,68,65,84,255,231,169,
+40,62,123,20,193,108,4,249,56,163,170,220,39,70,101,58,25,56,68,109,151,
+64,140,47,105,69,86,243,237,5,202,76,10,209,134,221,77,141,126,206,3,224,
+170,132,107,116,13,81,145,174,211,141,94,14,23,195,119,159,254,202,223,
+251,193,175,51,167,159,61,251,187,191,123,246,183,207,63,127,182,126,120,
+170,34,73,212,97,182,114,174,185,88,46,150,233,232,124,56,61,57,57,233,
+83,111,217,8,46,250,5,201,205,102,128,229,234,70,9,85,201,84,185,145,161,
+152,215,64,224,162,160,146,146,87,57,220,77,64,220,125,244,28,49,242,227,
+241,81,47,125,39,11,17,201,150,221,93,69,85,147,33,207,20,126,50,99,83,
+13,251,62,146,227,46,27,1,95,221,82,99,75,168,36,73,161,176,75,126,186,
+111,125,42,52,92,41,97,25,205,1,150,53,97,157,174,91,211,184,207,180,216,
+246,110,55,114,210,44,76,106,111,174,211,6,78,239,239,238,87,143,84,212,
+122,139,231,142,65,199,45,189,157,125,108,27,37,149,127,172,5,255,231,8,
+126,54,163,238,34,251,217,228,219,220,25,105,79,0,0,1,0,73,68,65,84,124,
+38,28,238,210,116,80,124,102,43,171,247,85,74,5,37,74,198,181,239,150,79,
+31,63,117,29,79,30,29,189,200,157,153,173,207,178,35,83,97,25,217,60,117,
+186,120,184,164,169,103,210,21,96,30,93,132,73,58,148,22,145,165,190,128,
+112,184,121,179,223,37,172,66,55,175,121,109,58,237,88,27,231,50,240,122,
+105,20,181,173,166,51,174,123,190,241,122,217,109,4,124,179,91,182,43,243,
+179,169,244,14,132,209,18,132,14,4,109,1,143,126,170,165,113,117,253,33,
+224,174,146,28,14,143,54,215,209,94,82,194,172,237,69,31,94,242,188,119,
+183,11,231,52,222,164,52,226,221,124,231,166,132,133,81,1,118,222,41,169,
+128,87,176,207,212,31,194,183,38,10,155,86,185,217,26,85,86,243,191,119,
+135,13,174,238,238,240,41,87,164,210,180,117,170,190,33,152,113,38,52,143,
+154,34,2,85,152,160,239,123,139,213,114,13,73,245,225,131,71,253,81,122,
+146,31,167,103,233,139,47,95,156,93,158,34,49,45,101,140,12,29,104,90,113,
+181,26,82,242,174,239,146,202,152,173,235,180,221,160,139,183,0,0,1,0,73,
+68,65,84,95,44,220,55,213,41,12,61,46,115,151,34,209,41,84,90,109,148,0,
+0,80,42,64,24,221,0,11,151,54,169,106,146,78,83,52,109,138,125,189,222,
+173,233,70,112,203,111,188,110,120,223,229,106,4,115,97,83,108,136,187,
+131,145,111,29,124,130,56,92,168,197,199,130,135,187,88,60,203,90,214,229,
+211,143,35,150,68,154,77,195,53,161,20,177,14,199,158,237,5,166,205,172,
+174,183,163,213,221,57,87,166,173,84,167,6,45,204,107,152,190,17,136,8,
+36,104,211,55,98,219,200,110,239,25,99,130,180,134,124,38,60,179,109,185,
+227,117,69,155,134,246,72,103,15,229,166,205,199,32,90,86,48,1,92,168,130,
+36,240,4,61,90,140,163,195,177,94,173,117,236,68,176,232,23,154,248,241,
+163,239,119,195,209,194,95,162,183,172,195,249,112,58,140,3,29,174,41,231,
+145,29,122,38,152,14,54,250,104,218,0,182,132,221,37,69,130,37,82,84,34,
+15,66,215,210,220,172,78,113,110,238,25,112,38,161,80,85,186,174,75,162,
+74,217,194,230,97,205,234,168,168,250,252,38,46,99,235,78,150,251,3,0,0,
+1,0,73,68,65,84,184,231,181,109,251,45,53,251,74,148,49,40,62,53,150,122,
+92,208,65,99,137,143,152,215,137,40,252,174,26,112,105,84,92,49,213,160,
+195,0,111,236,250,164,151,12,245,224,129,237,91,167,51,71,192,190,79,153,
+10,111,93,206,106,218,169,170,105,3,31,21,19,215,225,212,212,183,18,218,
+117,86,153,194,70,0,220,105,147,125,158,127,106,114,114,183,232,168,8,39,
+181,179,111,255,234,77,159,14,5,110,161,217,101,1,76,37,194,130,38,115,
+247,245,229,154,162,93,74,29,85,40,31,61,252,86,143,163,167,15,63,176,52,
+156,174,95,249,75,158,111,206,72,101,215,51,11,61,33,117,166,24,7,100,29,
+97,195,162,23,146,168,173,19,168,97,111,33,150,80,152,16,145,200,177,118,
+1,74,236,55,172,117,116,216,85,164,196,46,244,176,218,153,2,188,188,37,
+221,215,89,171,112,218,175,141,50,222,94,143,247,220,193,250,93,205,233,
+45,71,119,175,116,174,120,121,192,17,158,152,16,72,185,28,151,192,214,37,
+134,2,159,212,162,170,91,101,50,226,139,154,149,223,221,78,206,21,113,23,
+207,1,219,0,0,1,0,73,68,65,84,230,192,85,37,141,221,27,8,169,193,220,102,
+221,203,222,87,190,215,203,5,54,53,157,29,159,40,137,183,109,83,53,207,
+177,198,248,124,207,9,230,160,158,203,204,29,152,172,132,215,188,174,72,
+254,185,97,156,129,222,57,50,144,163,243,108,85,107,207,112,81,161,115,
+28,199,141,13,236,169,29,157,190,206,155,142,221,227,227,199,232,124,209,
+45,18,116,61,174,36,241,239,62,251,41,136,110,1,31,54,210,137,11,83,175,
+54,112,200,148,48,199,73,144,138,2,147,52,45,246,38,46,91,42,130,136,146,
+219,232,219,47,72,42,93,210,46,105,23,73,7,51,220,198,122,75,170,82,115,
+139,189,190,94,182,176,53,222,6,132,92,137,252,144,20,74,155,247,195,24,
+70,135,16,167,183,76,142,233,199,1,186,86,62,219,75,223,246,72,217,138,
+165,139,175,56,116,128,248,254,237,140,8,207,22,64,0,208,134,1,182,238,
+33,220,197,247,237,30,216,122,15,230,174,216,122,23,117,219,180,106,194,
+22,197,110,45,186,185,181,187,55,31,115,155,15,129,75,213,241,237,95,135,
+114,78,14,137,32,196,2,24,69,0,0,1,0,73,68,65,84,205,74,237,233,116,149,
+232,185,108,170,20,19,56,108,180,204,156,215,204,24,206,87,47,83,167,93,
+159,132,60,210,163,229,147,111,130,78,225,197,217,74,146,24,108,51,174,
+7,179,110,145,232,154,7,23,170,11,161,2,163,103,184,162,172,44,218,101,
+214,117,96,64,58,40,21,69,176,52,199,73,73,186,62,245,93,234,251,212,79,
+247,194,39,87,162,157,247,150,123,241,90,91,253,85,244,9,153,159,74,33,
+166,42,233,16,40,169,224,165,171,131,142,64,88,113,186,131,94,64,119,40,
+78,109,25,113,69,247,220,247,111,231,220,52,206,244,158,142,221,93,99,71,
+105,234,62,29,12,8,158,101,91,239,166,89,18,115,221,45,86,248,202,65,202,
+156,49,127,103,62,108,204,102,149,222,179,237,82,102,131,41,134,89,253,
+190,235,239,251,238,77,101,148,12,70,87,253,82,138,36,2,122,64,89,129,33,
+231,60,130,20,27,108,147,210,66,132,102,57,175,77,85,22,203,133,170,152,
+229,223,254,141,127,224,244,211,139,87,159,189,248,236,124,117,6,199,56,
+216,152,135,116,116,132,88,86,46,66,40,229,230,55,0,0,1,0,73,68,65,84,152,
+22,41,154,16,100,130,22,41,50,52,41,221,25,40,165,205,170,168,104,210,164,
+154,146,118,170,9,181,141,76,185,187,211,5,108,93,205,27,94,117,82,213,
+185,157,46,115,196,109,116,93,28,94,210,202,1,129,136,117,54,114,240,243,
+208,190,18,188,166,130,137,0,108,53,27,152,108,233,167,240,49,166,158,162,
+7,17,252,163,15,185,186,79,219,223,234,98,219,234,89,94,100,100,52,135,
+173,1,218,120,167,133,88,234,192,247,153,75,90,142,214,94,99,122,193,230,
+207,57,180,85,223,108,99,229,60,119,96,103,40,127,43,33,171,125,15,224,
+106,87,134,153,151,29,136,246,117,179,213,24,108,126,153,179,144,253,52,
+119,207,159,222,144,87,36,85,20,72,200,128,100,106,22,88,231,146,59,25,
+86,121,133,97,185,88,140,134,97,51,144,190,217,92,4,61,161,170,93,215,187,
+229,174,147,148,250,205,233,229,241,241,241,251,203,143,30,124,248,72,147,
+118,125,119,122,246,234,211,207,62,179,225,60,38,91,163,35,105,234,53,117,
+73,84,53,247,85,43,196,152,168,74,73,164,140,227,186,225,238,125,91,0,0,
+1,0,73,68,65,84,75,170,41,45,251,229,178,63,234,180,83,10,179,229,154,89,
+89,174,169,130,216,168,233,158,223,157,162,6,50,145,214,225,22,206,169,
+188,187,236,111,125,85,2,69,1,179,252,161,250,213,100,203,72,172,198,60,
+194,28,86,11,97,42,108,169,71,218,255,21,211,148,21,254,94,85,42,238,16,
+65,245,227,172,65,242,201,53,44,119,205,38,4,192,54,28,32,82,195,61,219,
+55,125,58,129,185,203,56,223,113,231,143,3,219,15,241,235,179,148,44,84,
+59,93,175,108,66,219,211,254,156,95,231,236,244,212,11,26,140,168,185,75,
+160,42,78,101,130,64,180,112,142,155,22,236,84,206,241,104,134,240,226,
+114,214,116,84,202,77,250,174,79,93,234,151,189,168,168,170,167,77,206,
+227,48,14,235,97,61,140,195,152,199,213,56,58,134,78,70,81,77,169,239,2,
+231,66,224,48,183,71,15,31,39,77,125,215,47,210,162,75,125,105,146,237,
+204,165,253,254,21,112,113,107,222,122,207,109,191,11,169,204,181,120,1,
+203,245,141,176,146,46,147,202,205,102,97,9,76,92,230,35,111,56,74,175,
+191,221,69,28,162,0,0,1,0,73,68,65,84,18,175,156,200,142,146,181,227,214,
+63,167,158,69,219,214,113,22,212,217,54,168,53,161,116,78,79,207,249,212,
+29,157,140,228,0,236,71,58,123,182,31,226,215,167,175,154,190,49,196,246,
+238,47,53,186,21,120,173,12,6,7,52,82,166,133,142,104,38,78,201,6,9,253,
+22,165,184,75,96,39,153,29,195,61,231,236,14,51,143,192,243,178,95,172,
+47,215,146,36,117,106,217,135,205,160,170,79,158,60,133,152,89,206,150,
+135,60,140,121,24,242,152,45,187,219,229,197,121,215,117,139,197,209,98,
+177,232,186,69,241,178,220,31,63,124,40,148,164,169,52,106,116,184,181,
+100,244,109,180,186,51,61,223,136,183,222,9,149,223,25,111,61,177,32,181,
+111,147,207,93,168,106,36,183,63,132,88,58,61,118,136,10,153,186,96,193,
+161,116,229,217,243,222,50,135,51,252,177,61,185,211,235,234,172,109,83,
+76,245,51,245,140,143,134,21,175,230,127,226,167,15,143,153,242,117,51,
+24,210,120,244,118,192,157,237,135,248,245,173,227,115,126,1,147,6,180,
+247,189,157,39,38,53,40,223,88,147,49,211,158,95,136,0,0,1,0,73,68,65,84,
+128,74,254,10,8,55,117,168,171,32,82,70,8,184,69,130,67,118,119,119,51,
+115,247,28,175,68,36,109,52,91,78,93,2,250,156,45,175,198,174,239,142,143,
+143,243,0,74,234,180,95,244,39,162,37,219,220,233,175,94,190,72,93,90,244,
+139,190,95,164,148,200,82,54,146,180,52,164,132,211,220,205,204,178,205,
+241,131,3,82,82,196,11,227,119,27,222,90,85,239,134,9,169,40,167,157,98,
+225,173,169,238,30,60,128,249,148,139,87,8,157,217,3,138,215,34,90,192,
+74,213,254,173,212,152,189,82,199,248,92,31,88,8,181,171,234,146,183,192,
+64,123,217,172,236,20,94,129,7,102,157,27,228,73,251,185,125,132,109,27,
+62,59,153,214,78,109,239,246,157,39,52,105,255,44,7,119,251,219,107,118,
+80,220,175,250,121,111,94,66,61,171,24,125,69,69,188,29,41,212,197,77,9,
+53,77,84,135,148,213,78,132,144,148,146,187,229,76,43,205,1,138,142,219,
+104,102,230,226,2,129,123,222,100,58,115,151,243,8,209,178,40,57,161,113,
+11,8,127,242,224,189,112,12,133,20,47,169,27,206,50,129,0,0,1,0,73,68,65,
+84,170,32,80,150,0,130,149,246,93,230,110,230,158,52,97,235,254,85,107,
+125,59,222,250,14,243,173,119,164,168,181,36,103,180,84,32,73,171,101,162,
+108,9,162,37,41,174,114,59,197,172,184,151,48,91,161,177,121,160,150,85,
+169,205,242,97,166,52,219,124,227,228,219,153,181,84,105,184,79,175,155,
+23,176,99,77,225,62,85,208,212,67,77,247,126,102,197,131,176,46,104,0,187,
+60,250,132,26,182,183,31,226,215,75,27,154,29,52,2,20,16,130,122,184,250,
+2,17,78,98,155,20,107,80,171,108,102,225,82,232,209,128,200,132,208,0,33,
+51,181,142,133,214,188,104,209,60,66,183,94,111,226,207,97,51,80,104,230,
+121,204,155,245,70,60,153,5,191,228,48,135,22,44,184,92,44,220,221,179,
+229,209,114,116,122,142,118,4,57,149,219,27,44,23,235,195,42,86,181,222,
+221,162,197,68,157,115,110,204,91,183,103,252,250,221,111,34,113,26,125,
+234,204,221,114,206,52,203,217,188,164,129,148,165,25,195,137,46,191,230,
+243,57,154,57,44,54,230,80,211,162,234,236,20,99,217,24,7,26,59,99,184,
+0,0,1,0,73,68,65,84,206,148,116,246,66,36,205,173,241,181,234,18,95,176,
+125,132,105,126,225,214,17,218,47,217,207,163,239,204,76,109,251,33,126,
+125,118,18,59,232,189,229,162,108,125,53,84,154,133,168,86,22,128,83,4,
+240,54,233,180,238,19,89,224,226,34,21,91,71,187,14,138,184,152,129,244,
+104,82,74,34,50,163,60,59,136,60,230,203,139,85,1,27,238,151,23,171,133,
+246,20,186,169,152,120,82,113,137,242,213,188,241,90,115,237,36,60,90,192,
+56,49,198,205,139,111,133,211,124,166,166,149,200,221,193,12,196,77,121,
+235,107,223,189,3,17,77,226,102,32,35,117,213,172,102,130,160,77,112,226,
+102,148,66,82,109,205,248,109,74,62,220,252,168,241,217,53,200,29,191,216,
+62,199,58,61,196,248,152,15,227,242,81,84,254,177,29,112,194,19,83,14,198,
+150,173,45,213,105,19,144,157,251,110,216,209,185,29,8,178,181,253,16,191,
+62,231,86,118,183,79,74,63,115,25,68,124,118,87,189,90,110,105,147,98,252,
+23,121,193,0,205,119,152,144,248,223,103,55,181,129,73,146,125,223,131,
+8,3,99,191,171,230,0,0,1,0,73,68,65,84,229,206,212,39,56,198,113,236,168,
+112,152,103,102,112,40,235,215,145,24,21,100,237,45,169,165,143,0,13,204,
+138,50,25,70,26,91,36,73,180,162,184,201,69,8,192,177,253,224,223,20,33,
+167,148,82,76,46,93,215,161,174,203,248,134,31,190,42,59,208,156,44,196,
+77,81,40,37,107,49,78,241,32,174,200,48,12,94,148,71,189,86,22,0,216,96,
+141,153,39,26,15,132,96,222,172,68,85,163,22,216,34,37,76,85,101,176,77,
+157,148,183,176,237,84,143,48,247,180,201,157,142,163,51,112,82,177,245,
+220,181,11,187,134,217,129,39,162,173,162,152,216,60,225,217,201,82,99,
+174,147,245,128,211,183,184,35,162,152,251,248,117,178,37,214,206,6,139,
+187,195,136,82,179,49,251,46,120,150,162,34,2,23,15,168,224,112,29,46,165,
+19,64,199,145,200,76,157,168,40,140,52,74,128,224,186,80,86,220,138,1,155,
+48,220,209,14,55,212,84,192,117,30,72,138,139,186,8,68,33,116,33,57,248,
+58,18,40,68,68,114,105,76,73,130,186,42,94,172,83,74,1,152,176,16,142,241,
+83,119,6,208,82,0,0,1,0,73,68,65,84,41,45,135,59,68,230,137,170,190,117,
+115,15,203,110,148,241,206,57,236,29,158,124,78,158,163,78,150,87,165,189,
+133,250,252,164,4,165,27,194,106,38,85,106,82,111,177,112,49,221,54,186,
+51,114,37,57,215,178,253,231,121,232,157,168,137,156,140,126,3,55,229,68,
+182,249,242,67,219,235,73,99,58,218,204,187,156,222,110,179,132,28,226,
+215,125,119,127,160,82,29,179,175,175,64,169,13,131,216,193,204,93,28,112,
+21,53,137,54,34,109,201,34,33,35,122,82,224,236,76,173,217,106,13,67,83,
+227,55,128,218,85,47,62,0,115,135,25,162,147,134,51,78,164,230,163,181,
+87,108,103,140,25,89,51,121,134,21,77,207,108,247,149,23,215,202,46,193,
+87,238,243,29,228,94,215,211,136,88,81,85,229,157,35,95,85,229,128,116,
+87,37,121,55,3,176,115,80,25,57,233,21,79,4,90,207,19,216,192,28,154,93,
+3,202,14,168,117,160,213,105,40,53,23,176,117,215,217,229,203,177,119,251,
+44,204,216,142,22,230,119,7,116,85,171,47,19,210,168,135,113,148,50,130,
+25,254,174,175,127,4,51,142,0,0,1,0,73,68,65,84,109,26,215,62,63,84,53,
+3,197,5,22,184,185,193,161,41,9,0,87,241,164,145,197,111,194,44,70,101,
+228,101,89,85,235,152,0,116,122,154,53,223,159,113,158,13,48,196,237,9,
+223,66,60,92,121,70,14,153,215,246,8,210,148,184,166,86,76,168,185,89,235,
+250,26,104,166,186,113,124,109,96,92,135,174,119,251,91,127,21,214,122,
+254,122,103,234,108,186,142,102,149,103,106,29,220,105,72,135,110,238,13,
+121,117,142,90,159,128,166,83,158,97,85,135,216,254,139,239,7,136,253,13,
+36,228,64,195,223,6,82,167,63,227,197,52,12,182,248,242,67,175,177,127,
+127,76,4,121,27,0,77,155,118,128,52,234,69,206,82,103,39,130,144,147,253,
+118,0,220,50,234,156,26,65,196,65,93,37,153,0,34,162,170,177,66,23,164,
+164,68,187,204,173,117,209,63,153,112,54,89,128,74,160,241,166,134,21,28,
+78,8,110,235,86,86,235,204,157,189,155,130,3,117,132,20,13,110,234,200,
+217,79,69,100,215,73,218,65,210,119,174,214,135,14,219,116,122,47,10,10,
+157,102,44,173,235,238,238,173,14,168,33,0,0,1,0,73,68,65,84,11,89,20,119,
+200,202,127,85,181,217,198,69,177,128,62,205,123,165,209,106,181,0,62,5,
+195,175,156,225,129,233,45,244,198,183,212,11,64,93,215,122,66,67,245,13,
+236,223,14,94,177,178,211,110,152,189,213,88,29,219,63,66,118,96,38,16,
+236,134,180,17,208,24,250,217,104,105,136,191,120,143,112,97,2,129,130,
+148,75,71,61,208,157,145,73,94,65,130,23,139,41,205,44,71,207,147,185,246,
+34,20,61,172,184,4,132,110,245,125,219,206,208,244,15,183,116,123,114,79,
+119,62,83,81,9,43,114,217,199,148,92,145,61,171,17,124,165,50,255,58,84,
+251,221,46,201,103,176,187,18,76,197,156,71,74,150,187,155,152,155,155,
+68,100,7,142,100,209,234,172,176,30,17,60,240,82,237,210,30,47,102,48,244,
+218,19,187,178,125,190,122,193,76,179,233,123,249,114,0,7,120,244,89,224,
+102,174,202,77,227,26,44,1,16,141,43,219,137,239,240,235,115,130,177,30,
+213,56,179,225,156,6,130,85,63,99,87,173,53,149,206,10,162,181,85,13,9,
+113,138,69,235,102,107,238,6,201,210,233,80,172,205,0,0,1,0,73,68,65,84,
+88,162,61,169,9,219,136,207,93,201,10,79,104,180,202,13,202,12,182,180,
+207,53,163,92,117,189,29,120,166,215,117,170,153,140,244,117,143,106,38,
+119,186,46,227,62,241,173,41,119,250,10,110,159,100,211,114,204,158,220,
+28,159,168,232,4,78,232,238,165,123,142,80,204,114,206,22,70,217,29,22,
+127,79,23,178,13,198,15,181,120,60,16,157,47,53,151,104,46,227,164,126,
+251,249,114,199,222,237,152,200,179,18,39,41,71,172,78,229,142,210,11,183,
+162,157,59,190,238,246,24,155,180,28,91,219,1,128,82,154,142,53,250,79,
+194,6,168,155,59,140,2,77,166,201,84,76,97,116,151,214,179,35,62,18,202,
+167,174,59,207,174,252,78,241,126,209,225,9,20,151,191,218,146,184,165,
+106,166,25,223,55,197,214,21,164,205,209,200,107,101,203,90,79,55,230,238,
+44,247,92,95,231,7,223,139,61,230,59,180,115,40,198,27,82,224,134,71,179,
+62,6,216,72,218,101,19,210,224,197,61,177,156,9,102,76,120,221,203,147,
+158,155,209,93,57,68,132,80,106,213,105,81,231,45,3,130,131,24,134,45,179,
+0,0,1,0,73,68,65,84,124,249,149,237,245,8,117,133,17,15,5,159,30,181,55,
+45,119,250,52,204,252,42,191,94,191,162,156,9,130,197,172,48,202,39,85,
+64,16,100,213,92,215,27,72,15,190,88,220,149,226,117,93,80,8,73,115,65,
+101,66,226,246,133,54,170,107,83,168,185,90,207,155,221,181,17,234,147,
+90,239,194,144,105,182,155,225,62,78,255,55,136,49,87,224,25,107,210,62,
+112,45,184,78,139,197,98,179,217,244,125,31,179,124,232,211,29,70,212,111,
+113,168,29,115,30,82,18,23,89,112,92,219,62,142,163,195,69,209,102,101,
+21,209,78,204,38,235,62,151,56,206,85,171,179,26,199,230,95,146,237,37,
+198,33,151,115,42,126,83,177,39,25,155,173,71,211,108,75,73,164,109,219,
+235,121,150,110,79,219,24,158,144,22,53,228,252,161,149,212,9,96,98,178,
+43,158,178,66,197,135,6,84,68,114,104,237,152,112,64,226,56,172,35,0,192,
+218,214,208,40,211,48,119,154,169,64,136,46,22,126,163,184,148,192,89,25,
+147,94,50,201,231,120,215,1,64,235,253,105,200,24,0,104,28,1,66,204,236,
+155,190,130,0,0,1,0,73,68,65,84,69,92,156,140,238,212,52,90,29,41,136,186,
+94,176,206,96,5,133,8,40,18,171,220,151,238,73,94,82,131,106,183,36,250,
+86,190,245,85,109,249,234,170,99,238,88,14,157,231,213,224,255,252,197,
+142,180,253,27,182,105,191,91,148,171,154,156,98,225,234,223,117,218,108,
+231,51,51,32,109,26,5,102,141,22,118,206,243,208,228,121,32,180,192,137,
+122,118,76,125,10,194,131,155,131,162,185,5,60,32,251,246,23,17,192,235,
+138,116,181,141,175,139,132,219,232,102,40,13,91,234,65,106,147,49,78,58,
+60,187,17,51,176,92,255,102,195,202,205,72,52,213,157,24,142,233,114,11,
+220,185,238,58,218,239,215,152,235,253,188,245,207,161,28,58,201,54,9,238,
+168,117,3,48,59,106,205,234,131,122,248,150,181,237,134,74,48,66,19,75,
+17,255,147,179,70,186,19,127,13,78,117,122,229,81,99,154,76,247,136,243,
+64,103,218,67,203,68,238,206,233,97,179,9,6,12,107,147,211,14,176,190,242,
+189,216,191,127,146,4,56,213,233,13,135,80,156,10,113,135,149,161,228,237,
+174,54,176,52,219,19,29,52,0,0,1,0,73,68,65,84,131,191,172,23,208,54,52,
+143,176,118,218,107,13,129,155,107,40,147,102,111,129,147,249,52,176,125,
+31,80,7,74,85,233,215,171,235,255,239,173,245,222,61,221,219,170,187,147,
+211,185,163,214,145,70,220,8,68,10,39,235,93,106,68,234,220,23,82,227,32,
+209,15,176,216,30,134,1,156,30,199,110,161,114,149,67,101,16,118,0,212,
+215,34,139,153,135,81,116,103,63,143,126,72,14,241,238,202,4,26,74,9,56,
+99,13,103,56,232,132,187,120,201,25,240,105,50,105,23,89,20,116,235,153,
+92,49,214,145,5,200,194,145,20,237,174,198,26,5,123,79,134,123,26,53,219,
+99,212,167,89,2,187,26,127,141,36,85,253,170,201,144,119,44,215,131,141,
+185,63,234,149,55,68,244,224,155,229,9,213,127,225,149,40,156,255,55,221,
+110,22,8,192,74,121,28,242,37,14,37,140,251,1,181,86,76,148,95,217,173,
+184,148,94,29,215,57,227,113,80,185,107,20,102,119,127,45,142,161,85,11,
+90,134,115,73,27,177,150,128,62,113,42,115,116,129,201,102,203,21,100,77,
+180,130,190,166,217,213,158,107,73,226,0,0,1,0,73,68,65,84,42,83,230,166,
+189,233,248,150,197,7,155,251,59,169,243,108,40,189,30,120,237,54,84,248,
+5,147,249,16,141,215,129,58,184,29,239,4,192,60,81,96,213,180,135,98,115,
+123,115,64,1,47,75,31,77,166,188,188,58,216,117,233,192,230,67,237,220,
+189,250,81,45,197,170,206,192,205,238,98,135,203,59,112,156,214,200,97,
+107,127,45,189,58,10,139,18,222,25,65,196,34,51,149,116,153,91,235,73,167,
+230,42,70,223,114,219,154,181,150,56,219,109,176,81,135,253,46,104,153,
+14,113,229,62,205,29,23,206,255,184,78,246,151,17,248,59,9,205,220,72,14,
+141,186,217,20,189,245,226,208,7,219,187,59,154,173,162,91,38,189,129,107,
+104,13,110,22,236,18,59,160,102,240,109,65,156,185,143,181,115,158,7,159,
+198,254,237,237,225,151,51,169,225,28,41,3,109,151,71,63,36,193,159,92,
+221,95,41,16,115,100,119,23,70,106,37,233,165,185,156,179,52,27,159,29,
+185,205,78,147,89,6,8,90,115,25,231,234,93,214,117,109,160,122,215,198,
+215,247,166,215,237,101,179,212,115,15,125,105,137,71,63,0,0,1,0,73,68,
+65,84,122,108,120,173,195,120,199,93,157,190,62,185,170,172,135,134,193,
+78,155,250,57,230,46,102,38,126,181,201,191,186,78,226,230,238,86,107,242,
+80,143,83,192,74,85,232,131,195,239,192,115,224,129,48,208,44,167,163,232,
+100,40,57,121,128,71,63,124,111,246,238,175,82,51,175,97,165,120,197,99,
+17,35,196,32,134,183,225,93,238,220,85,215,144,179,40,230,14,8,169,73,178,
+205,182,183,157,230,250,57,183,197,7,175,129,123,254,124,141,198,166,29,
+133,8,95,234,174,22,148,185,67,121,243,177,119,197,157,217,146,166,196,
+59,251,28,82,199,224,197,65,198,154,245,20,159,239,63,131,38,229,207,218,
+24,96,247,156,125,28,128,137,54,105,198,196,42,207,49,17,103,0,136,169,
+43,206,246,99,180,214,137,100,246,46,128,168,55,58,124,63,234,235,118,62,
+3,81,32,72,69,161,112,184,229,22,139,137,244,254,105,22,138,4,221,153,81,
+197,255,215,222,21,54,185,170,194,208,132,90,231,253,255,159,187,219,202,
+251,16,18,66,32,78,109,119,247,86,154,51,115,119,188,104,21,245,16,195,
+195,170,69,165,0,0,1,0,73,68,65,84,73,0,0,26,174,94,125,96,106,65,25,1,
+210,101,236,108,228,202,97,68,229,193,0,123,57,136,18,114,167,111,1,207,
+158,69,98,80,174,39,5,255,45,47,237,77,91,143,51,224,233,226,122,117,1,
+177,8,187,189,148,234,69,242,89,244,139,81,198,11,160,78,80,217,159,197,
+109,222,94,51,118,15,71,67,17,145,217,40,252,193,125,8,26,255,95,190,42,
+216,222,69,123,99,122,63,168,115,55,23,225,139,55,183,131,160,118,214,45,
+219,93,125,216,186,13,38,84,152,192,39,249,65,120,186,184,64,155,106,216,
+81,96,36,33,86,185,237,80,95,48,91,66,218,6,240,194,52,110,23,211,121,105,
+110,120,168,100,102,11,227,138,252,150,40,46,66,90,81,38,123,141,128,197,
+42,27,238,162,60,13,91,12,13,155,149,127,146,107,59,198,198,226,98,243,
+51,129,33,231,248,38,59,252,226,200,243,115,193,123,100,125,57,182,249,
+5,189,43,111,252,19,46,225,46,41,141,1,231,29,69,168,40,195,206,233,90,
+213,77,26,86,104,92,236,220,151,39,32,98,2,90,240,4,183,13,18,226,42,73,
+159,15,0,0,1,0,73,68,65,84,70,171,59,39,228,25,106,179,98,54,64,101,35,
+244,252,173,245,170,255,52,173,117,119,18,64,83,189,246,34,145,191,29,168,
+109,181,186,171,67,252,94,180,53,10,59,253,8,180,85,134,206,120,75,97,71,
+235,84,20,179,172,244,66,204,37,204,152,149,2,71,180,118,187,146,30,221,
+199,197,155,83,158,48,103,4,220,114,78,9,183,4,137,86,73,196,148,100,216,
+15,43,156,220,123,84,215,169,244,77,14,221,89,8,1,128,170,130,148,3,149,
+149,86,2,137,106,31,181,206,182,133,31,112,66,160,125,55,159,73,238,163,
+119,205,223,105,148,237,225,1,208,105,128,138,238,68,115,25,194,92,229,
+23,240,233,235,215,242,152,211,178,165,13,51,230,148,112,203,101,9,129,
+156,32,167,50,41,21,53,185,50,64,28,80,245,37,12,127,107,114,129,177,225,
+36,41,49,173,149,169,46,15,71,239,0,155,124,32,125,140,151,157,144,176,
+214,251,144,238,160,233,190,152,46,121,175,180,112,23,51,171,255,53,222,
+56,123,219,18,193,180,93,210,6,7,243,197,189,114,254,232,99,78,36,61,87,
+223,60,177,46,27,0,0,1,0,73,68,65,84,154,186,136,80,84,141,92,150,34,75,
+66,95,232,60,14,215,55,233,173,117,150,206,68,235,91,243,51,173,155,93,
+133,155,199,190,175,109,140,231,78,8,138,123,144,199,66,99,210,250,93,253,
+227,230,239,33,103,172,2,139,90,25,50,230,196,115,93,54,221,75,159,214,
+174,176,225,233,226,158,125,71,4,154,115,154,132,103,10,49,34,98,201,20,
+207,82,85,18,187,83,101,21,104,54,215,12,63,203,114,49,219,181,26,168,56,
+173,127,214,108,140,120,125,88,9,89,215,149,210,125,100,84,213,220,98,200,
+79,221,154,215,213,246,203,229,186,77,5,110,55,157,135,93,107,183,92,237,
+112,102,218,144,224,191,57,127,206,223,67,163,119,223,54,177,148,141,213,
+220,16,242,5,96,1,26,208,85,86,124,191,235,229,63,0,234,68,128,155,94,121,
+10,11,229,1,0,146,214,215,123,110,75,244,189,140,26,98,110,73,182,7,231,
+141,11,113,37,95,160,156,239,25,197,249,52,25,124,179,194,77,141,82,195,
+58,119,142,111,123,114,160,219,76,9,82,86,21,66,233,211,101,66,248,50,167,
+117,119,172,116,55,206,0,0,1,0,73,68,65,84,113,148,33,106,50,96,161,54,
+74,101,95,21,65,59,99,94,171,51,176,227,125,185,42,110,246,63,135,162,91,
+215,14,193,212,166,250,13,225,5,116,123,153,220,108,88,249,220,25,29,147,
+52,33,89,167,46,38,183,113,81,200,47,18,59,204,211,237,243,10,79,216,243,
+90,252,11,208,20,45,27,28,249,111,25,138,67,15,92,213,3,237,158,231,208,
+132,99,34,202,248,123,56,106,44,134,2,162,102,182,17,88,16,56,172,175,148,
+66,168,81,70,4,142,1,33,199,129,148,48,76,102,87,132,228,234,83,215,9,153,
+122,239,214,186,205,165,80,78,215,154,104,22,2,173,233,110,126,104,203,
+14,60,176,6,139,164,219,219,74,7,254,41,134,65,123,173,183,24,90,51,113,
+69,35,44,234,74,233,74,170,200,102,57,154,134,101,138,10,199,189,216,106,
+38,219,104,8,104,237,185,33,183,26,61,132,138,143,66,40,48,180,182,244,
+22,151,93,53,18,125,169,167,124,235,136,50,254,13,60,123,225,125,30,141,
+158,104,180,169,94,20,71,22,37,68,17,167,191,155,132,123,132,107,141,53,
+47,36,149,141,219,146,0,0,1,0,73,68,65,84,3,242,64,64,248,38,164,230,137,
+75,16,53,107,171,247,82,93,97,0,232,104,61,240,173,209,41,111,93,146,215,
+172,107,208,250,173,33,244,213,27,230,0,217,228,248,78,22,35,142,88,166,
+228,20,57,156,130,43,25,96,163,41,39,132,156,204,66,214,30,58,223,26,60,
+107,45,127,26,107,157,61,186,59,190,181,82,66,244,57,221,9,63,247,241,235,
+243,91,7,246,241,180,215,103,123,110,50,221,0,150,16,38,71,158,203,162,
+215,25,235,95,40,43,170,139,32,210,156,24,10,161,33,43,73,68,9,204,218,
+84,99,245,212,59,69,219,41,135,97,249,160,24,180,142,120,12,203,186,174,
+223,223,223,52,185,53,109,220,239,247,55,204,183,254,88,60,24,137,224,197,
+178,232,200,162,235,65,213,197,105,71,253,123,133,255,74,88,156,26,69,245,
+133,170,81,111,55,110,53,83,64,85,230,206,97,41,85,158,1,64,18,22,77,188,
+69,234,137,40,237,5,165,2,89,90,21,55,25,19,196,53,209,92,15,131,117,25,
+163,215,56,19,118,116,241,157,242,161,67,47,229,154,100,251,57,27,94,175,
+88,91,184,0,0,1,0,73,68,65,84,155,60,90,126,20,86,224,123,229,92,129,55,
+132,247,225,221,120,210,38,130,137,98,18,140,224,59,228,73,95,184,67,238,
+39,182,159,67,205,224,11,78,159,26,71,95,159,54,180,195,183,191,211,85,
+245,174,53,44,31,10,56,143,151,63,122,63,45,38,156,39,36,240,8,116,66,178,
+102,149,49,115,59,246,46,183,121,231,208,57,54,175,24,233,31,112,66,94,
+249,125,224,77,112,84,23,151,95,13,157,233,161,145,54,78,139,241,179,77,
+180,232,31,114,26,116,78,72,24,233,15,135,225,113,159,73,209,151,244,182,
+124,199,99,209,138,199,19,229,135,16,249,214,147,99,255,61,246,121,84,189,
+197,213,142,74,223,137,236,185,62,188,250,95,43,33,151,203,133,132,234,
+156,243,178,44,183,219,77,86,65,15,76,143,158,70,238,240,133,150,247,189,
+61,30,154,237,157,43,154,195,60,103,248,193,211,26,212,149,200,34,119,47,
+48,13,82,63,79,8,4,197,3,39,199,96,237,152,125,111,41,48,55,230,240,63,
+147,241,164,231,184,171,192,135,99,49,233,234,65,235,15,199,28,4,72,17,
+142,133,92,163,113,0,0,0,166,73,68,65,84,9,204,135,212,251,214,16,93,198,
+192,201,145,214,117,189,223,239,57,103,74,185,166,244,220,48,225,129,23,
+129,14,254,230,234,231,88,189,46,16,56,4,171,91,7,2,19,32,153,79,67,132,
+99,2,19,32,45,203,130,188,70,4,204,162,239,4,62,28,99,37,36,16,56,53,172,
+110,29,214,58,48,1,102,94,66,55,240,177,88,174,215,235,215,215,215,186,
+174,192,163,145,99,12,65,224,247,240,83,212,218,63,207,88,9,9,4,78,141,
+65,78,72,36,166,6,206,142,241,48,130,64,224,212,136,124,235,192,132,136,
+177,140,129,9,49,206,9,9,138,7,78,141,136,50,6,38,68,136,30,129,9,17,195,
+5,2,19,226,127,88,68,206,162,106,244,2,253,0,0,0,0,73,69,78,68,174,66,96,
+130};
+
+static size_t xml_res_size_18 = 3129;
+static unsigned char xml_res_file_18[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,48,0,0,0,48,8,6,0,0,
+0,87,2,249,135,0,0,0,43,116,69,88,116,67,114,101,97,116,105,111,110,32,
+84,105,109,101,0,77,105,32,50,54,32,70,101,98,32,50,48,48,51,32,49,48,58,
+50,54,58,52,48,32,43,48,49,48,48,88,111,71,250,0,0,0,7,116,73,77,69,7,211,
+5,23,15,10,37,231,231,95,135,0,0,0,9,112,72,89,115,0,0,10,240,0,0,10,240,
+1,66,172,52,152,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,11,145,
+73,68,65,84,120,218,213,89,125,112,147,245,29,255,62,79,158,39,73,147,52,
+37,109,82,94,26,74,74,193,181,200,77,207,109,84,167,195,190,48,1,231,54,
+198,89,149,137,226,38,222,244,116,120,211,169,12,217,89,206,63,230,157,
+8,167,224,172,156,183,185,157,231,166,48,78,145,237,116,108,96,97,224,168,
+12,20,43,47,165,45,101,80,104,108,218,52,77,210,36,79,158,151,125,191,207,
+147,39,121,146,190,80,182,160,238,123,247,187,231,151,228,121,249,124,190,
+239,223,39,0,255,231,194,76,228,164,150,22,193,153,72,132,111,192,237,181,
+162,40,205,149,36,121,134,44,75,110,89,150,205,184,0,247,17,69,145,123,
+36,9,218,101,89,60,98,54,187,118,53,54,78,238,248,194,9,28,63,174,212,133,
+66,202,67,209,232,208,98,158,103,172,118,187,137,177,88,56,48,155,89,48,
+153,76,120,134,2,146,196,64,50,41,67,44,38,192,240,176,0,67,67,81,8,133,
+34,50,195,240,199,25,134,217,194,113,230,223,53,54,122,67,159,43,129,99,
+199,148,170,112,24,94,72,36,34,11,220,110,142,241,120,44,96,177,48,192,
+178,8,89,209,22,42,30,193,103,246,137,4,64,52,170,237,233,187,96,48,10,
+61,61,23,240,24,242,23,21,89,214,44,91,54,247,183,248,56,229,178,19,64,
+173,223,238,247,15,111,153,60,217,228,44,43,179,0,207,131,10,156,192,234,
+160,141,123,2,43,138,128,22,0,180,132,246,189,78,130,100,112,48,10,167,
+78,157,84,68,49,186,141,227,108,63,90,185,242,235,209,203,70,0,193,175,
+8,4,162,175,204,154,101,229,138,139,77,192,48,26,144,92,208,58,72,2,78,
+154,55,2,215,151,126,158,102,33,9,173,122,28,2,129,129,61,12,227,185,249,
+209,71,231,196,243,69,128,211,55,39,78,40,215,244,246,70,154,171,170,108,
+8,158,85,193,27,193,234,174,242,202,43,91,225,192,129,35,208,221,221,141,
+90,143,192,228,201,110,88,184,112,33,44,89,210,136,119,97,211,46,150,17,
+25,63,43,80,85,245,21,56,122,244,147,186,104,116,240,121,252,242,39,121,
+183,192,7,31,40,251,92,174,196,13,149,149,22,245,179,174,121,163,219,208,
+154,63,255,86,60,38,80,235,2,30,181,69,26,190,243,206,21,176,98,197,3,57,
+150,80,82,215,139,192,113,50,6,185,8,173,173,173,178,197,82,212,176,106,
+213,215,222,207,7,1,86,3,47,126,75,16,134,174,247,122,45,170,230,115,93,
+133,200,144,171,144,159,79,155,54,25,86,173,122,16,94,122,233,69,88,179,
+102,173,154,145,68,49,6,219,183,191,62,234,3,48,189,170,22,96,48,126,45,
+22,22,202,202,202,216,112,56,184,58,95,22,80,9,96,154,92,82,84,196,97,138,
+204,0,214,221,128,62,15,15,103,252,124,203,150,77,176,120,241,34,168,172,
+156,5,117,117,13,48,111,94,13,158,155,132,112,184,63,125,93,102,49,42,120,
+90,195,195,50,56,157,12,148,150,150,130,32,196,234,159,121,166,101,106,
+222,8,96,97,170,113,56,248,116,208,234,224,201,10,148,26,41,88,51,153,37,
+227,231,88,212,224,244,233,78,60,38,145,208,21,57,224,9,184,148,38,64,238,
+100,181,82,42,102,193,110,47,224,227,113,161,38,111,4,146,73,177,140,227,
+152,148,201,51,224,35,145,220,108,146,57,246,247,247,195,211,79,63,6,237,
+237,31,35,113,25,238,189,247,103,99,104,95,78,19,224,48,101,144,146,172,
+214,2,138,163,217,249,32,192,165,64,51,4,74,23,2,61,52,148,201,243,70,240,
+36,187,119,191,7,79,61,245,40,186,69,20,188,222,114,120,228,145,167,209,
+149,230,27,220,79,73,93,163,1,39,18,122,12,232,132,20,69,228,243,70,0,251,
+151,190,120,92,154,17,137,112,234,131,73,243,198,88,200,37,17,8,244,81,
+220,96,0,115,240,250,235,127,67,183,224,115,206,103,232,158,89,218,47,44,
+100,213,150,67,20,101,140,1,1,247,202,96,222,92,8,111,122,44,26,77,168,
+90,15,133,178,51,144,113,233,36,24,134,69,240,38,92,188,10,62,155,160,162,
+166,85,2,175,89,64,59,98,75,130,247,23,213,243,6,6,6,240,58,241,211,60,
+90,0,118,247,247,15,223,93,90,234,204,114,149,145,89,69,91,183,220,114,
+59,102,162,91,211,185,94,243,119,72,107,59,23,188,199,99,82,91,146,190,
+62,1,21,52,136,22,142,244,37,147,197,7,243,102,1,147,41,185,35,24,140,68,
+168,208,232,154,28,111,189,240,66,19,212,212,120,224,218,107,93,240,241,
+199,7,211,254,174,17,144,13,75,1,151,139,5,106,75,2,129,36,196,227,10,86,
+252,19,104,57,235,175,155,155,191,151,151,118,66,37,176,116,105,101,144,
+231,11,94,237,238,254,12,82,22,25,119,81,101,149,164,56,186,94,194,160,
+245,108,240,244,185,180,148,85,93,39,20,18,161,183,87,128,142,142,14,56,
+127,190,231,211,222,222,179,207,230,3,60,73,186,149,216,185,115,176,164,
+175,239,236,225,43,174,240,150,123,60,147,178,50,144,177,168,141,12,236,
+12,120,10,80,74,169,118,59,192,164,73,44,250,185,130,110,147,84,93,167,
+163,227,20,246,66,71,135,107,106,230,173,41,47,247,113,44,203,249,240,25,
+110,140,64,158,56,99,42,31,194,186,114,30,221,239,148,44,199,15,117,117,
+249,78,62,246,24,35,79,152,0,201,219,111,247,93,223,223,223,243,215,234,
+234,153,54,151,171,48,29,204,36,58,96,155,205,216,157,42,233,54,193,100,
+162,52,169,160,123,104,249,63,18,17,17,120,2,43,116,2,103,2,10,90,19,90,
+195,173,88,173,44,67,233,148,227,180,165,245,92,10,182,42,18,186,88,2,83,
+115,2,45,22,86,48,83,157,49,155,109,59,108,54,71,243,210,165,211,142,79,
+136,0,201,27,111,156,107,8,6,207,111,45,43,155,226,242,249,166,103,17,160,
+86,163,168,72,253,148,14,90,2,175,181,214,138,234,227,177,152,132,41,86,
+66,224,81,4,37,224,53,86,140,3,43,130,55,227,181,102,181,152,233,98,140,
+55,82,8,181,43,212,111,209,231,112,56,14,126,127,0,93,238,51,137,231,205,
+111,152,205,133,79,220,117,151,239,220,69,9,144,188,250,234,201,202,80,
+40,176,109,214,172,138,171,189,222,169,105,215,113,58,181,35,78,107,169,
+166,143,70,74,57,165,65,210,118,88,173,17,231,206,245,64,69,69,5,46,47,
+76,159,110,65,119,226,128,38,80,90,186,85,141,237,9,237,233,24,143,107,
+4,140,196,232,183,174,174,211,56,221,245,12,216,237,158,21,247,221,87,181,
+243,162,4,72,94,126,249,240,131,118,187,117,243,220,185,213,233,116,89,
+92,204,32,72,5,14,31,110,67,144,231,82,126,47,210,66,147,163,23,139,242,
+5,172,176,109,117,117,245,55,249,124,110,190,162,194,138,109,3,140,152,
+45,114,135,35,2,73,224,71,27,140,116,215,165,218,113,244,104,155,96,179,
+21,221,249,192,3,87,111,203,202,66,163,9,203,218,254,226,247,127,38,145,
+118,201,61,72,211,20,164,244,48,191,223,175,36,147,137,187,49,255,87,203,
+178,109,150,44,23,150,9,66,81,73,97,97,235,204,101,203,150,15,148,151,151,
+112,56,213,169,193,76,227,168,177,8,26,215,130,5,63,132,218,218,31,64,67,
+195,247,85,50,185,146,105,71,36,180,190,19,174,186,234,74,115,48,216,247,
+155,23,95,60,52,71,63,135,27,139,0,154,234,244,134,13,251,255,222,221,253,
+239,155,202,203,189,106,231,137,29,128,202,57,138,45,42,203,90,246,55,53,
+221,220,101,188,230,240,97,101,17,186,209,242,234,234,66,134,52,111,172,
+208,198,69,154,166,123,81,27,158,72,132,213,150,100,180,130,169,139,102,
+45,5,73,20,194,204,153,222,194,206,206,158,77,248,117,195,184,22,80,217,
+113,5,235,218,219,79,73,216,250,170,213,53,18,145,176,162,202,106,75,204,
+178,140,35,247,124,12,226,181,83,167,90,85,240,153,7,103,0,209,158,102,
+11,26,142,104,207,48,2,238,35,120,47,105,204,170,111,236,106,227,113,17,
+170,171,125,120,223,100,221,186,117,239,206,187,40,129,85,171,174,57,128,
+249,122,3,142,129,10,105,0,27,62,245,102,86,108,236,113,95,101,60,183,173,
+77,153,17,139,13,93,231,118,243,106,219,144,91,51,72,235,4,222,72,200,100,
+162,4,16,75,167,211,145,43,211,142,103,90,114,134,210,49,62,63,242,221,
+139,18,32,249,228,19,229,23,177,88,232,247,251,246,237,85,168,125,166,20,
+233,114,185,240,102,177,122,227,121,216,193,94,95,80,192,176,148,38,115,
+193,147,187,16,248,220,174,150,231,89,117,166,230,121,211,168,174,67,57,
+198,72,128,22,197,98,105,233,36,154,97,174,155,16,129,215,94,171,151,214,
+174,61,241,99,188,245,227,123,246,180,68,15,29,250,8,28,14,7,90,99,248,
+59,203,151,191,111,210,207,19,4,201,71,128,244,224,211,23,101,23,2,63,90,
+87,75,111,247,70,35,144,233,106,101,131,21,168,32,17,59,170,244,86,10,236,
+105,19,34,160,201,19,242,147,79,46,94,111,183,59,175,60,123,246,194,230,
+131,7,91,7,208,156,101,83,167,250,111,76,235,138,145,77,90,93,200,104,145,
+114,250,88,224,53,11,104,4,70,115,33,77,251,153,161,72,175,57,164,36,34,
+134,46,173,92,2,1,77,154,154,22,159,121,246,217,91,127,90,92,60,195,203,
+113,252,205,138,98,182,234,191,225,92,28,16,4,49,157,207,105,182,208,95,
+53,230,166,81,125,175,19,224,121,126,132,239,19,88,125,174,48,186,81,65,
+1,139,173,73,132,26,202,94,53,209,92,10,1,93,214,173,171,69,221,194,187,
+198,239,4,129,249,8,251,24,5,235,4,19,8,140,61,83,24,227,99,254,252,155,
+96,202,148,50,168,172,172,54,144,83,82,19,157,113,40,210,220,137,250,44,
+147,137,193,30,43,72,141,226,177,255,154,192,104,50,99,70,199,135,109,109,
+147,206,12,13,9,62,155,205,60,238,96,164,255,214,208,176,4,234,235,151,
+100,145,210,136,100,79,116,250,190,164,132,71,237,139,216,31,157,71,69,
+177,239,93,178,11,141,39,85,85,95,21,173,86,203,115,29,29,254,9,13,69,180,
+106,107,203,224,198,27,167,224,114,27,180,111,28,136,52,240,148,194,233,
+149,140,211,201,193,201,147,23,176,157,137,92,176,217,98,187,242,74,128,
+100,120,88,120,25,221,232,31,29,29,189,233,87,241,227,205,214,162,72,175,
+37,147,160,117,183,74,42,56,179,9,208,103,179,25,128,222,26,250,253,2,28,
+58,116,68,193,216,249,213,250,245,247,39,232,153,19,250,135,230,82,100,
+251,246,115,158,112,56,180,203,237,118,94,85,89,233,29,225,247,163,199,
+131,146,5,56,245,175,143,90,16,105,254,160,110,118,112,80,130,93,187,62,
+196,193,168,125,223,156,57,245,245,15,63,60,91,188,44,4,72,222,121,167,
+171,164,183,55,244,7,171,149,95,48,123,182,143,41,42,178,143,120,215,154,
+1,14,57,115,180,6,158,142,21,21,102,204,106,50,244,247,75,176,127,255,191,
+160,179,243,84,187,205,54,169,118,227,198,219,46,232,207,186,44,4,72,90,
+90,20,83,103,231,167,43,163,209,200,218,162,34,135,119,218,180,41,224,241,
+148,164,95,30,27,255,59,208,122,38,41,101,1,49,93,192,124,62,51,180,183,
+135,97,207,158,189,74,40,20,252,167,197,226,186,237,249,231,27,179,134,
+154,203,70,64,151,109,219,122,108,129,64,224,30,81,76,220,131,213,251,26,
+236,40,77,84,201,177,159,194,2,102,82,93,134,97,180,134,173,164,164,68,
+157,47,136,0,205,211,62,95,1,236,222,125,2,176,112,238,117,56,92,11,80,
+243,201,220,251,95,118,2,70,105,110,254,208,27,143,39,191,137,243,238,213,
+152,89,166,227,240,227,68,176,124,50,73,111,183,135,106,23,45,250,118,129,
+201,196,171,214,160,172,67,99,232,214,173,45,152,247,7,126,190,121,243,
+93,207,141,118,207,188,213,129,137,200,253,247,127,131,204,255,102,106,
+101,201,234,213,127,58,16,12,134,174,163,70,145,102,15,155,141,71,224,113,
+26,37,37,212,254,91,99,221,51,175,105,244,127,17,244,154,56,185,143,162,
+86,63,122,195,193,161,235,28,69,247,226,255,188,97,67,99,231,151,158,0,
+130,47,51,99,194,199,54,25,104,166,56,118,236,60,253,187,25,54,155,11,30,
+31,239,186,47,5,129,166,166,247,220,201,100,108,166,13,147,190,195,193,
+65,87,151,31,131,119,175,104,179,185,87,110,218,116,199,201,241,174,253,
+92,99,96,44,137,68,6,23,162,239,115,148,98,91,91,143,160,230,59,67,14,71,
+241,125,27,55,54,110,189,216,181,95,10,2,162,40,223,65,47,10,118,236,216,
+41,48,12,247,38,207,187,126,137,41,179,123,34,215,126,225,4,30,122,232,
+45,143,32,4,10,144,196,106,134,97,255,216,220,124,207,153,47,26,211,231,
+42,255,1,197,242,58,57,228,221,196,12,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_19 = 3445;
+static unsigned char xml_res_file_19[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,
+0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,
+112,114,111,102,105,108,101,0,0,120,218,157,83,103,84,83,233,22,61,247,
+222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,
+33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,
+128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,251,
+225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,
+207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,
+225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,
+60,43,34,192,7,190,0,1,120,211,11,8,0,192,77,155,192,48,28,135,255,15,234,
+66,153,92,1,128,132,1,192,116,145,56,75,8,128,20,0,64,122,142,66,166,0,
+64,70,1,128,157,152,38,83,0,160,4,0,96,203,99,98,227,0,80,45,0,96,39,127,
+230,211,0,128,157,248,153,123,1,0,91,148,33,21,1,160,145,0,32,19,101,136,
+68,0,104,59,0,172,207,86,138,69,0,88,48,0,20,102,75,196,57,0,216,45,0,48,
+73,87,102,72,0,176,183,0,192,206,16,11,178,0,8,12,0,48,81,136,133,41,0,
+4,123,0,96,200,35,35,120,0,132,153,0,20,70,242,87,60,241,43,174,16,231,
+42,0,0,120,153,178,60,185,36,57,69,129,91,8,45,113,7,87,87,46,30,40,206,
+73,23,43,20,54,97,2,97,154,64,46,194,121,153,25,50,129,52,15,224,243,204,
+0,0,160,145,21,17,224,131,243,253,120,206,14,174,206,206,54,142,182,14,
+95,45,234,191,6,255,34,98,98,227,254,229,207,171,112,64,0,0,225,116,126,
+209,254,44,47,179,26,128,59,6,128,109,254,162,37,238,4,104,94,11,160,117,
+247,139,102,178,15,64,181,0,160,233,218,87,243,112,248,126,60,60,69,161,
+144,185,217,217,229,228,228,216,74,196,66,91,97,202,87,125,254,103,194,
+95,192,87,253,108,249,126,60,252,247,245,224,190,226,36,129,50,93,129,71,
+4,248,224,194,204,244,76,165,28,207,146,9,132,98,220,230,143,71,252,183,
+11,255,252,29,211,34,196,73,98,185,88,42,20,227,81,18,113,142,68,154,140,
+243,50,165,34,137,66,146,41,197,37,210,255,100,226,223,44,251,3,62,223,
+53,0,176,106,62,1,123,145,45,168,93,99,3,246,75,39,16,88,116,192,226,247,
+0,0,242,187,111,193,212,40,8,3,128,104,131,225,207,119,255,239,63,253,71,
+160,37,0,128,102,73,146,113,0,0,94,68,36,46,84,202,179,63,199,8,0,0,68,
+160,129,42,176,65,27,244,193,24,44,192,6,28,193,5,220,193,11,252,96,54,
+132,66,36,196,194,66,16,66,10,100,128,28,114,96,41,172,130,66,40,134,205,
+176,29,42,96,47,212,64,29,52,192,81,104,134,147,112,14,46,194,85,184,14,
+61,112,15,250,97,8,158,193,40,188,129,9,4,65,200,8,19,97,33,218,136,1,98,
+138,88,35,142,8,23,153,133,248,33,193,72,4,18,139,36,32,201,136,20,81,34,
+75,145,53,72,49,82,138,84,32,85,72,29,242,61,114,2,57,135,92,70,186,145,
+59,200,0,50,130,252,134,188,71,49,148,129,178,81,61,212,12,181,67,185,168,
+55,26,132,70,162,11,208,100,116,49,154,143,22,160,155,208,114,180,26,61,
+140,54,161,231,208,171,104,15,218,143,62,67,199,48,192,232,24,7,51,196,
+108,48,46,198,195,66,177,56,44,9,147,99,203,177,34,172,12,171,198,26,176,
+86,172,3,187,137,245,99,207,177,119,4,18,129,69,192,9,54,4,119,66,32,97,
+30,65,72,88,76,88,78,216,72,168,32,28,36,52,17,218,9,55,9,3,132,81,194,
+39,34,147,168,75,180,38,186,17,249,196,24,98,50,49,135,88,72,44,35,214,
+18,143,19,47,16,123,136,67,196,55,36,18,137,67,50,39,185,144,2,73,177,164,
+84,210,18,210,70,210,110,82,35,233,44,169,155,52,72,26,35,147,201,218,100,
+107,178,7,57,148,44,32,43,200,133,228,157,228,195,228,51,228,27,228,33,
+242,91,10,157,98,64,113,164,248,83,226,40,82,202,106,74,25,229,16,229,52,
+229,6,101,152,50,65,85,163,154,82,221,168,161,84,17,53,143,90,66,173,161,
+182,82,175,81,135,168,19,52,117,154,57,205,131,22,73,75,165,173,162,149,
+211,26,104,23,104,247,105,175,232,116,186,17,221,149,30,78,151,208,87,210,
+203,233,71,232,151,232,3,244,119,12,13,134,21,131,199,136,103,40,25,155,
+24,7,24,103,25,119,24,175,152,76,166,25,211,139,25,199,84,48,55,49,235,
+152,231,153,15,153,111,85,88,42,182,42,124,21,145,202,10,149,74,149,38,
+149,27,42,47,84,169,170,166,170,222,170,11,85,243,85,203,84,143,169,94,
+83,125,174,70,85,51,83,227,169,9,212,150,171,85,170,157,80,235,83,27,83,
+103,169,59,168,135,170,103,168,111,84,63,164,126,89,253,137,6,89,195,76,
+195,79,67,164,81,160,177,95,227,188,198,32,11,99,25,179,120,44,33,107,13,
+171,134,117,129,53,196,38,177,205,217,124,118,42,187,152,253,29,187,139,
+61,170,169,161,57,67,51,74,51,87,179,82,243,148,102,63,7,227,152,113,248,
+156,116,78,9,231,40,167,151,243,126,138,222,20,239,41,226,41,27,166,52,
+76,185,49,101,92,107,170,150,151,150,88,171,72,171,81,171,71,235,189,54,
+174,237,167,157,166,189,69,187,89,251,129,14,65,199,74,39,92,39,71,103,
+143,206,5,157,231,83,217,83,221,167,10,167,22,77,61,58,245,174,46,170,107,
+165,27,161,187,68,119,191,110,167,238,152,158,190,94,128,158,76,111,167,
+222,121,189,231,250,28,125,47,253,84,253,109,250,167,245,71,12,88,6,179,
+12,36,6,219,12,206,24,60,197,53,113,111,60,29,47,199,219,241,81,67,93,195,
+64,67,165,97,149,97,151,225,132,145,185,209,60,163,213,70,141,70,15,140,
+105,198,92,227,36,227,109,198,109,198,163,38,6,38,33,38,75,77,234,77,238,
+154,82,77,185,166,41,166,59,76,59,76,199,205,204,205,162,205,214,153,53,
+155,61,49,215,50,231,155,231,155,215,155,223,183,96,90,120,90,44,182,168,
+182,184,101,73,178,228,90,166,89,238,182,188,110,133,90,57,89,165,88,85,
+90,93,179,70,173,157,173,37,214,187,173,187,167,17,167,185,78,147,78,171,
+158,214,103,195,176,241,182,201,182,169,183,25,176,229,216,6,219,174,182,
+109,182,125,97,103,98,23,103,183,197,174,195,238,147,189,147,125,186,125,
+141,253,61,7,13,135,217,14,171,29,90,29,126,115,180,114,20,58,86,58,222,
+154,206,156,238,63,125,197,244,150,233,47,103,88,207,16,207,216,51,227,
+182,19,203,41,196,105,157,83,155,211,71,103,23,103,185,115,131,243,136,
+139,137,75,130,203,46,151,62,46,155,27,198,221,200,189,228,74,116,245,113,
+93,225,122,210,245,157,155,179,155,194,237,168,219,175,238,54,238,105,238,
+135,220,159,204,52,159,41,158,89,51,115,208,195,200,67,224,81,229,209,63,
+11,159,149,48,107,223,172,126,79,67,79,129,103,181,231,35,47,99,47,145,
+87,173,215,176,183,165,119,170,247,97,239,23,62,246,62,114,159,227,62,227,
+60,55,222,50,222,89,95,204,55,192,183,200,183,203,79,195,111,158,95,133,
+223,67,127,35,255,100,255,122,255,209,0,167,128,37,1,103,3,137,129,65,129,
+91,2,251,248,122,124,33,191,142,63,58,219,101,246,178,217,237,65,140,160,
+185,65,21,65,143,130,173,130,229,193,173,33,104,200,236,144,173,33,247,
+231,152,206,145,206,105,14,133,80,126,232,214,208,7,97,230,97,139,195,126,
+12,39,133,135,133,87,134,63,142,112,136,88,26,209,49,151,53,119,209,220,
+67,115,223,68,250,68,150,68,222,155,103,49,79,57,175,45,74,53,42,62,170,
+46,106,60,218,55,186,52,186,63,198,46,102,89,204,213,88,157,88,73,108,75,
+28,57,46,42,174,54,110,108,190,223,252,237,243,135,226,157,226,11,227,123,
+23,152,47,200,93,112,121,161,206,194,244,133,167,22,169,46,18,44,58,150,
+64,76,136,78,56,148,240,65,16,42,168,22,140,37,242,19,119,37,142,10,121,
+194,29,194,103,34,47,209,54,209,136,216,67,92,42,30,78,242,72,42,77,122,
+146,236,145,188,53,121,36,197,51,165,44,229,185,132,39,169,144,188,76,13,
+76,221,155,58,158,22,154,118,32,109,50,61,58,189,49,131,146,145,144,113,
+66,170,33,77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,
+110,139,183,47,30,149,7,201,107,179,144,172,5,89,45,10,182,66,166,232,84,
+90,40,215,42,7,178,103,101,87,102,191,205,137,202,57,150,171,158,43,205,
+237,204,179,202,219,144,55,156,239,159,255,237,18,194,18,225,146,182,165,
+134,75,87,45,29,88,230,189,172,106,57,178,60,113,121,219,10,227,21,5,43,
+134,86,6,172,60,184,138,182,42,109,213,79,171,237,87,151,174,126,189,38,
+122,77,107,129,94,193,202,130,193,181,1,107,235,11,85,10,229,133,125,235,
+220,215,237,93,79,88,47,89,223,181,97,250,134,157,27,62,21,137,138,174,
+20,219,23,151,21,127,216,40,220,120,229,27,135,111,202,191,153,220,148,
+180,169,171,196,185,100,207,102,210,102,233,230,222,45,158,91,14,150,170,
+151,230,151,14,110,13,217,218,180,13,223,86,180,237,245,246,69,219,47,151,
+205,40,219,187,131,182,67,185,163,191,60,184,188,101,167,201,206,205,59,
+63,84,164,84,244,84,250,84,54,238,210,221,181,97,215,248,110,209,238,27,
+123,188,246,52,236,213,219,91,188,247,253,62,201,190,219,85,1,85,77,213,
+102,213,101,251,73,251,179,247,63,174,137,170,233,248,150,251,109,93,173,
+78,109,113,237,199,3,210,3,253,7,35,14,182,215,185,212,213,29,210,61,84,
+82,143,214,43,235,71,14,199,31,190,254,157,239,119,45,13,54,13,85,141,156,
+198,226,35,112,68,121,228,233,247,9,223,247,30,13,58,218,118,140,123,172,
+225,7,211,31,118,29,103,29,47,106,66,154,242,154,70,155,83,154,251,91,98,
+91,186,79,204,62,209,214,234,222,122,252,71,219,31,15,156,52,60,89,121,
+74,243,84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126,
+46,249,220,96,219,162,182,123,231,99,206,223,106,15,111,239,186,16,116,
+225,210,69,255,139,231,59,188,59,206,92,242,184,116,242,178,219,229,19,
+87,184,87,154,175,58,95,109,234,116,234,60,254,147,211,79,199,187,156,187,
+154,174,185,92,107,185,238,122,189,181,123,102,247,233,27,158,55,206,221,
+244,189,121,241,22,255,214,213,158,57,61,221,189,243,122,111,247,197,247,
+245,223,22,221,126,114,39,253,206,203,187,217,119,39,238,173,188,79,188,
+95,244,64,237,65,217,67,221,135,213,63,91,254,220,216,239,220,127,106,192,
+119,160,243,209,220,71,247,6,133,131,207,254,145,245,143,15,67,5,143,153,
+143,203,134,13,134,235,158,56,62,57,57,226,63,114,253,233,252,167,67,207,
+100,207,38,158,23,254,162,254,203,174,23,22,47,126,248,213,235,215,206,
+209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235,25,175,
+219,198,194,198,30,190,201,120,51,49,94,244,86,251,237,193,119,220,119,
+29,239,163,223,15,79,228,124,32,127,40,255,104,249,177,245,83,208,167,251,
+147,25,147,147,255,4,3,152,243,252,99,51,45,219,0,0,0,4,103,65,77,65,0,
+0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,
+0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,
+197,70,0,0,2,144,73,68,65,84,120,218,116,146,63,76,19,113,20,199,191,191,
+251,253,174,45,237,21,140,136,7,209,88,45,109,37,168,16,168,32,24,18,163,
+113,34,2,46,186,200,96,28,228,143,194,64,52,58,24,211,213,8,44,134,21,74,
+28,144,65,76,140,72,100,112,41,18,7,107,140,53,1,226,159,8,22,218,2,133,
+59,175,119,148,210,235,185,104,130,165,253,36,47,239,13,47,159,228,189,
+124,97,24,6,242,149,205,102,107,247,214,122,215,75,69,113,232,224,254,226,
+130,92,59,28,242,80,104,183,247,93,188,112,241,169,154,80,138,51,186,222,
+109,182,88,158,229,218,251,79,208,123,187,135,7,0,183,219,61,224,243,249,
+6,26,26,234,65,57,10,202,113,96,148,182,86,184,220,87,178,5,236,223,48,
+240,184,255,220,251,217,217,59,157,55,59,164,145,225,225,246,81,191,31,
+95,62,135,192,40,133,197,108,129,221,110,199,241,202,202,194,108,1,49,12,
+3,221,29,157,55,2,239,102,238,54,55,55,87,180,180,180,96,116,100,4,209,
+104,12,162,40,226,99,48,8,16,130,99,78,231,253,231,47,38,30,101,11,104,
+44,18,113,76,191,153,174,137,173,173,29,242,184,92,71,39,95,77,98,38,16,
+64,169,40,130,55,153,32,73,18,78,158,170,186,62,54,62,54,148,235,7,196,
+48,12,156,109,108,188,52,55,63,223,103,24,198,121,179,201,12,11,207,195,
+106,181,130,82,186,157,214,117,179,211,85,254,228,245,212,84,111,222,39,
+106,74,194,85,83,93,237,36,0,100,73,130,156,80,96,21,4,36,183,183,253,28,
+165,161,229,112,184,231,86,87,215,131,92,2,234,243,249,176,176,176,16,82,
+19,106,66,211,212,113,249,183,92,8,144,72,42,149,226,226,241,245,250,140,
+174,63,244,184,221,222,185,185,249,203,193,15,193,111,173,109,173,161,61,
+39,236,198,237,44,231,190,254,248,158,169,171,245,54,197,227,241,128,96,
+23,126,38,181,173,152,77,16,206,36,147,201,168,166,105,135,23,195,191,244,
+188,130,221,52,212,213,93,19,108,130,63,190,17,103,210,166,4,85,211,64,
+121,214,22,137,70,95,230,12,82,54,171,171,107,177,229,200,10,99,140,135,
+96,183,67,20,69,16,131,196,114,6,41,27,143,179,220,163,106,234,61,74,41,
+148,132,2,193,38,192,225,56,130,72,36,90,156,55,202,89,76,148,28,40,169,
+82,85,21,177,216,170,36,203,242,167,165,197,37,72,146,116,117,143,160,172,
+172,204,198,113,156,155,227,56,207,223,238,224,40,45,72,239,236,164,25,
+99,216,87,84,100,166,148,150,40,138,2,89,146,78,19,66,92,132,16,19,0,176,
+193,193,126,178,185,177,121,194,48,140,38,0,5,132,16,2,128,15,175,172,188,
+101,140,22,241,140,103,140,103,76,73,36,82,218,150,22,79,235,122,152,82,
+106,201,100,50,28,0,252,25,0,39,105,40,55,164,45,1,11,0,0,0,0,73,69,78,
+68,174,66,96,130};
+
+static size_t xml_res_size_20 = 683;
+static unsigned char xml_res_file_20[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
+116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
+97,103,101,82,101,97,100,121,113,201,101,60,0,0,2,61,73,68,65,84,56,203,
+165,147,65,75,212,97,16,198,127,187,173,26,100,7,77,73,119,75,173,204,77,
+75,205,131,105,20,21,68,16,148,26,120,48,194,67,167,190,64,116,200,75,116,
+171,47,208,41,42,234,228,53,18,66,2,211,74,45,53,119,205,32,114,181,210,
+77,55,83,86,36,212,255,255,157,121,223,14,70,40,69,96,62,48,151,225,97,
+96,230,55,79,192,57,199,102,20,220,136,249,226,163,166,167,205,247,206,
+101,254,215,128,150,135,141,245,190,111,78,26,207,188,91,219,15,92,233,
+184,244,123,7,171,22,171,22,21,219,103,213,182,17,12,94,16,35,103,197,72,
+116,91,102,54,145,220,8,115,11,115,36,38,199,99,207,174,189,168,1,8,1,180,
+86,93,198,225,112,206,97,157,99,108,246,227,209,247,201,209,46,177,66,180,
+248,0,91,51,179,16,181,168,83,242,114,242,88,94,94,57,124,236,70,237,203,
+87,55,7,142,7,157,115,88,28,214,217,95,165,236,201,219,75,109,73,45,233,
+133,52,25,161,12,140,8,198,26,140,26,140,10,198,8,198,55,25,0,33,43,150,
+7,111,238,162,162,4,237,22,246,231,151,113,48,114,136,156,237,59,8,185,
+12,198,147,19,164,230,103,152,78,205,16,222,25,65,69,72,76,140,143,12,220,
+138,215,1,4,214,98,108,185,223,144,45,70,175,151,135,43,218,142,68,235,
+136,37,134,233,137,245,168,58,219,212,213,214,219,81,119,181,70,53,100,
+63,13,222,142,151,254,149,130,11,130,13,56,226,99,49,150,188,37,162,69,
+229,248,63,12,94,218,3,192,95,242,241,230,188,117,116,2,173,237,205,78,
+140,32,70,112,226,40,200,45,100,49,189,72,89,56,202,190,162,82,38,166,198,
+25,30,141,147,72,36,56,24,173,64,196,50,52,56,52,146,104,255,92,13,16,50,
+190,225,68,249,41,212,41,106,5,177,202,92,214,60,241,15,113,138,119,149,
+16,46,136,80,88,16,193,158,182,168,85,44,22,111,197,171,218,125,62,252,
+122,234,201,116,93,208,248,235,47,44,42,44,46,45,146,250,254,141,231,189,
+221,204,167,231,17,39,136,21,196,41,98,21,17,69,140,26,128,64,195,157,51,
+78,140,96,124,65,252,85,68,98,164,79,60,109,243,211,254,234,35,249,26,205,
+207,207,167,178,186,146,228,151,36,67,253,111,99,51,157,179,53,127,80,248,
+151,138,26,35,245,42,218,165,98,39,83,157,179,209,13,103,97,242,241,215,
+126,53,218,173,70,43,215,81,216,108,156,127,2,159,164,108,180,35,52,212,
+126,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_21 = 7960;
+static unsigned char xml_res_file_21[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,231,0,0,0,66,8,2,0,
+0,0,226,201,137,234,0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,
+14,27,0,0,0,7,116,73,77,69,7,215,12,11,20,30,26,227,18,33,62,0,0,0,7,116,
+69,88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,116,
+68,101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,69,
+88,116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,
+69,88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,
+9,0,0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,
+0,0,11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,
+143,0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,
+0,0,7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,
+69,88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,
+116,84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,237,
+157,121,152,84,213,153,240,223,115,183,170,174,174,234,125,165,155,94,216,
+26,4,141,178,69,1,65,68,136,235,243,57,99,226,36,113,137,130,18,253,198,
+201,98,68,103,38,51,25,51,209,228,51,15,102,198,103,76,196,72,43,201,151,
+196,76,28,157,204,8,134,97,105,32,17,228,51,17,13,32,216,208,43,13,52,205,
+214,91,85,221,123,207,246,206,31,167,234,82,116,179,152,177,27,191,150,
+243,123,138,122,186,111,157,58,247,189,183,233,223,125,251,61,231,158,34,
+136,8,26,141,70,163,25,33,24,31,119,0,26,141,70,163,249,19,208,214,214,
+104,52,154,145,132,182,182,70,163,209,140,36,180,181,53,26,141,102,36,161,
+173,173,209,104,52,35,9,109,109,141,70,163,25,73,104,107,107,52,26,205,
+5,69,202,143,244,118,109,109,141,70,163,185,160,248,236,35,105,155,232,
+187,108,52,26,141,102,4,161,115,109,141,70,163,25,73,104,107,107,52,26,
+205,72,66,91,91,163,209,104,70,18,218,218,26,141,70,51,146,176,62,238,0,
+52,26,141,230,227,167,163,179,241,189,61,130,246,24,52,0,0,1,0,73,68,65,
+84,155,247,181,190,211,209,185,47,233,245,15,120,181,174,118,218,232,242,
+186,9,181,211,46,191,228,154,143,35,186,211,208,115,72,52,26,205,197,75,
+210,235,223,184,245,23,219,222,93,141,38,175,29,59,161,162,162,182,164,
+164,34,28,206,54,136,1,64,0,81,130,112,189,196,209,163,135,14,29,108,61,
+124,168,189,239,68,239,229,151,92,115,203,181,75,11,243,71,157,177,67,4,
+32,31,45,164,99,61,172,56,207,62,71,3,109,109,141,70,115,49,162,124,189,
+113,219,47,71,213,84,94,49,115,118,97,126,89,52,20,117,172,176,109,90,6,
+33,166,73,36,112,33,56,151,148,73,74,25,167,76,80,206,186,123,143,237,219,
+187,235,131,157,127,156,49,229,51,131,221,141,8,148,35,0,134,236,97,44,
+62,107,107,107,52,154,139,142,198,214,119,86,189,250,120,172,36,251,242,
+25,87,141,42,174,201,143,20,70,156,108,2,6,33,70,144,41,35,8,137,76,128,
+207,209,99,24,103,152,164,140,249,148,120,46,137,187,61,123,119,190,215,
+246,126,243,237,55,125,99,214,212,91,84,123,33,145,139,155,129,100,85,0,
+0,1,0,73,68,65,84,148,78,181,181,53,26,141,102,200,120,125,227,243,107,
+223,124,233,170,69,243,199,214,78,30,149,83,21,113,98,6,177,8,152,6,24,
+0,6,1,66,128,32,72,0,148,192,4,250,28,93,142,46,7,151,98,130,99,220,23,
+110,50,30,118,125,126,236,216,225,119,182,188,53,165,250,234,123,110,123,
+156,11,20,242,148,75,17,33,236,12,151,184,181,181,53,26,205,69,196,170,
+87,31,223,213,246,219,57,55,47,24,91,114,73,105,172,210,0,219,36,182,1,
+54,1,211,23,241,163,201,230,227,201,3,9,218,211,227,118,10,41,133,20,76,
+114,46,185,99,100,59,102,40,47,82,92,146,91,28,141,152,62,244,122,30,198,
+251,67,241,100,223,238,183,222,37,241,172,175,220,179,34,43,28,13,246,162,
+173,173,209,104,52,67,192,170,87,31,223,213,182,121,246,77,215,78,170,184,
+34,63,171,196,4,199,36,33,3,236,62,255,232,193,254,63,30,137,239,55,32,
+43,219,41,9,91,121,142,21,117,204,108,219,140,0,64,191,215,197,37,239,243,
+186,142,38,218,186,250,218,178,157,252,203,71,79,119,56,52,158,242,0,0,
+1,0,73,68,65,84,34,174,47,123,251,187,99,62,247,254,248,187,119,204,120,
+246,99,15,252,60,216,145,182,182,70,163,209,124,84,54,108,251,197,27,219,
+158,159,121,227,172,43,170,175,138,57,5,38,9,91,36,132,210,232,232,127,
+183,163,119,103,196,46,207,11,143,201,118,138,108,18,178,12,155,128,97,
+18,155,16,2,0,18,133,122,112,164,30,79,190,186,235,137,121,53,159,15,219,
+81,106,118,113,187,163,191,59,230,115,250,254,155,127,172,137,77,191,227,
+214,111,169,125,13,171,181,245,93,54,23,152,182,250,27,8,33,203,54,127,
+220,113,104,52,23,21,141,173,239,188,182,254,153,75,23,125,106,194,168,
+9,17,39,66,136,65,192,16,82,190,215,245,235,131,125,141,101,209,153,149,
+57,87,22,134,171,99,86,97,204,46,204,177,139,242,156,178,28,187,48,102,
+21,198,172,194,92,187,56,207,41,205,177,139,115,236,98,198,93,199,204,202,
+15,151,27,96,18,150,35,250,71,219,217,189,0,56,102,250,184,93,237,13,155,
+182,191,124,1,142,101,200,172,173,108,116,6,33,109,94,70,8,185,161,190,
+109,168,97,224,118,108,0,0,1,0,73,68,65,84,118,116,62,54,47,35,167,113,
+1,119,253,167,133,129,131,248,56,226,212,104,46,10,86,189,250,248,152,43,
+199,84,151,84,228,71,114,0,16,0,132,100,239,116,190,150,160,94,85,238,220,
+130,112,77,182,149,27,181,243,149,178,115,236,162,152,85,16,179,139,98,
+118,97,204,46,140,217,69,49,171,48,215,41,206,181,139,187,147,135,75,178,
+171,8,81,179,77,12,2,150,72,148,2,24,166,99,142,189,106,220,250,109,47,
+158,232,233,28,238,99,25,250,92,123,249,83,245,109,103,113,209,112,27,170,
+173,254,6,66,230,47,63,125,227,218,251,106,201,35,13,82,74,41,229,133,241,
+227,57,195,64,41,1,0,133,16,42,164,224,11,21,222,176,6,166,209,92,156,188,
+190,241,121,145,157,40,173,41,174,204,47,68,144,8,18,17,223,62,252,90,220,
+247,106,242,231,102,91,249,17,43,39,219,202,203,182,242,162,86,94,150,25,
+179,72,200,32,166,154,76,162,30,6,49,45,226,132,205,104,103,255,190,138,
+156,58,0,32,106,51,24,4,12,66,8,162,140,228,101,197,170,178,126,179,249,
+5,0,199,178,157,240,0,0,1,0,73,68,65,84,16,31,237,115,15,206,205,16,91,
+251,250,235,175,135,181,247,61,219,144,242,145,16,66,74,4,128,1,122,26,
+22,73,109,94,86,123,223,90,0,128,71,54,169,221,113,206,57,231,77,43,22,
+2,74,206,185,218,146,222,121,235,202,207,124,200,60,188,173,254,134,63,
+37,99,63,79,24,106,118,144,20,156,51,198,40,165,234,57,8,76,139,91,163,
+25,90,146,94,255,198,109,47,87,92,81,62,182,164,88,128,144,192,17,196,190,
+147,219,143,247,159,168,201,159,157,109,229,103,153,177,176,25,139,152,
+57,89,102,204,36,54,0,28,77,54,109,239,252,191,107,90,159,92,245,254,125,
+43,119,222,243,111,141,223,124,163,121,249,158,227,155,122,253,163,237,
+189,187,138,35,213,0,128,136,234,31,16,0,32,82,74,9,178,184,174,232,221,
+253,107,143,159,60,44,229,48,254,34,15,241,58,36,83,30,125,116,242,218,
+181,79,63,181,114,233,156,123,70,75,9,0,68,8,0,64,137,82,37,153,105,43,
+25,134,65,8,81,207,67,177,231,182,250,167,150,3,192,245,43,91,223,88,92,
+173,244,167,164,95,209,61,20,0,0,1,0,73,68,65,84,89,126,215,175,19,0,140,
+49,181,35,195,48,76,211,52,12,68,0,144,152,25,82,192,217,66,250,16,45,207,
+27,70,187,64,0,16,156,82,63,237,104,66,136,105,154,166,105,90,150,5,233,
+51,243,145,79,136,70,163,1,0,216,182,227,117,167,204,40,44,140,102,103,
+153,2,169,9,220,151,137,61,157,59,106,242,103,198,156,98,199,200,10,153,
+217,89,102,118,200,140,16,48,152,116,183,30,174,63,146,104,44,141,76,44,
+137,76,40,10,141,225,200,133,100,135,227,251,214,182,252,11,19,44,98,231,
+68,236,28,42,93,4,68,80,78,147,136,146,9,206,145,27,54,201,171,201,125,
+99,243,11,159,191,229,91,195,119,68,67,156,107,163,156,251,224,138,133,
+176,254,129,191,92,217,76,41,245,125,159,50,9,0,40,153,130,115,206,88,195,
+163,161,144,109,219,150,101,25,134,65,150,109,82,239,29,148,211,14,30,184,
+219,188,236,108,35,121,109,27,255,109,45,0,60,242,232,226,106,149,180,114,
+206,213,30,83,97,80,170,246,158,206,184,149,127,17,229,25,56,115,194,123,
+166,182,3,91,158,122,201,50,243,0,0,1,0,73,68,65,84,63,12,198,17,0,36,167,
+212,247,125,175,225,111,243,243,243,243,242,242,98,177,88,36,18,113,28,
+231,177,211,14,46,24,44,24,48,98,112,182,237,26,141,102,32,111,237,88,157,
+91,29,45,204,9,113,116,5,80,14,244,253,206,29,82,154,163,115,47,115,140,
+176,99,134,67,70,150,99,100,41,101,191,222,242,109,46,216,162,170,101,51,
+203,238,152,148,63,127,98,225,252,73,133,243,39,21,206,191,166,234,222,
+91,39,252,205,167,74,63,83,157,123,169,4,33,81,32,10,137,82,162,64,144,
+8,200,133,240,124,95,162,44,24,159,247,251,157,171,93,127,224,250,83,67,
+200,208,215,181,43,190,244,200,87,0,54,60,244,163,6,207,243,60,207,165,
+12,0,144,165,74,1,126,211,202,255,21,189,225,153,204,55,44,191,150,124,
+102,101,171,148,85,181,147,1,214,254,106,67,186,42,222,182,225,87,107,1,
+96,249,154,77,233,106,244,166,53,203,1,30,185,113,222,25,6,241,218,62,88,
+11,0,143,220,56,87,74,41,165,218,87,224,107,165,236,244,53,131,165,202,
+53,8,0,160,114,225,192,89,112,5,9,0,0,1,0,73,68,65,84,173,103,173,84,72,
+28,96,225,51,183,252,16,97,72,9,0,130,81,234,251,254,150,255,122,110,192,
+217,123,250,58,107,89,170,8,223,176,140,164,106,45,233,19,53,127,217,38,
+148,178,225,145,65,219,211,117,251,11,84,184,215,104,70,10,39,186,15,31,
+233,109,14,23,59,57,217,132,163,199,209,167,194,221,215,245,65,65,164,202,
+50,28,139,56,54,9,219,70,200,36,22,0,108,233,88,145,231,84,206,26,117,175,
+99,69,37,50,1,92,162,16,200,213,195,52,172,113,5,211,39,21,207,145,168,
+238,93,87,211,1,101,202,224,82,248,156,122,190,79,44,140,142,138,236,110,
+220,50,124,7,53,212,185,54,160,148,115,150,60,179,0,224,135,207,252,164,
+217,247,125,143,10,0,16,66,213,112,91,86,125,245,171,27,31,124,237,216,
+177,99,221,221,221,241,120,220,117,221,166,21,11,97,221,253,207,54,8,113,
+245,245,15,3,172,219,219,164,10,226,45,235,94,89,7,0,0,203,215,52,40,207,
+182,236,223,9,176,104,124,213,192,250,184,148,178,173,105,39,0,44,154,80,
+131,136,170,142,204,142,32,49,225,0,0,1,0,73,68,65,84,24,243,125,95,233,
+85,169,57,48,218,41,213,162,196,180,136,3,171,14,214,49,166,254,12,58,127,
+203,182,230,221,231,11,3,213,213,66,85,253,185,188,239,103,251,246,53,55,
+55,183,183,183,119,117,117,245,244,172,254,42,192,211,79,189,208,194,185,
+104,88,179,28,96,209,243,77,60,205,134,135,65,10,46,26,214,60,13,176,112,
+69,83,112,41,90,255,48,96,106,16,33,179,112,175,75,228,26,13,188,187,119,
+115,184,216,137,101,25,104,80,138,30,197,196,145,158,227,253,126,111,105,
+116,172,69,108,203,80,15,7,128,28,73,52,118,37,90,46,45,190,153,73,159,
+75,159,75,202,37,229,72,133,100,2,153,144,60,173,111,38,36,83,95,75,20,
+2,153,64,33,144,75,224,140,179,164,231,73,144,225,34,167,185,125,199,240,
+29,212,80,231,218,136,136,88,113,199,242,239,207,131,45,143,189,244,91,
+223,167,92,0,0,114,74,41,101,91,94,120,120,51,192,115,127,94,92,92,156,
+159,159,31,141,70,179,178,178,198,61,176,30,0,118,238,111,102,172,114,220,
+117,0,63,88,189,145,82,74,42,158,29,80,0,0,1,0,73,68,65,84,105,211,158,
+117,240,181,181,107,191,6,240,244,234,141,140,49,198,154,246,174,131,235,
+110,157,55,138,5,168,138,135,148,65,233,63,85,68,206,124,85,189,96,154,
+230,225,95,252,69,81,81,81,65,65,65,78,78,78,36,50,241,129,245,0,235,31,
+24,231,56,145,72,36,22,139,229,230,230,222,250,98,147,26,24,108,173,191,
+41,85,189,33,132,144,218,251,215,1,172,91,122,198,150,65,255,3,206,194,
+217,195,48,82,139,211,16,130,136,51,150,45,155,46,59,126,249,165,177,213,
+213,213,165,165,165,121,121,55,63,3,0,40,24,99,76,8,0,88,183,167,137,166,
+185,234,59,137,239,204,74,109,95,191,183,41,184,126,204,82,219,51,208,73,
+183,70,163,56,216,185,47,84,104,101,103,1,67,143,97,146,98,226,224,201,
+35,76,240,226,104,181,65,44,131,152,6,177,12,48,1,160,165,247,15,69,89,
+99,9,16,38,125,38,82,226,102,146,114,76,233,59,229,113,73,57,50,46,153,
+144,140,35,227,41,137,51,1,130,113,22,119,61,137,60,84,100,29,238,218,215,
+155,224,195,116,80,67,159,245,124,211,103,0,0,1,0,73,68,65,84,107,35,162,
+148,21,183,63,184,20,96,229,243,255,122,128,115,4,0,228,148,49,198,206,
+62,29,6,25,245,253,210,217,183,44,0,216,221,216,228,251,126,195,234,103,
+224,175,22,124,250,202,235,254,10,96,215,190,102,74,105,195,154,127,6,152,
+84,85,150,81,241,80,78,228,156,143,174,157,2,0,235,62,104,13,230,108,4,
+174,36,132,88,41,204,115,7,47,121,106,58,135,56,223,248,239,169,150,169,
+121,50,169,196,182,102,236,20,0,88,215,120,174,48,76,3,0,76,211,52,13,195,
+248,253,247,235,38,78,92,240,205,55,79,239,93,112,234,251,222,140,123,159,
+89,0,240,204,245,17,197,99,27,125,197,204,197,106,123,182,226,177,6,63,
+141,10,73,161,115,109,141,6,0,78,116,31,54,34,196,118,4,67,207,71,183,215,
+141,31,235,63,22,117,10,8,24,6,24,6,88,6,24,132,24,0,112,36,222,92,144,
+85,237,139,36,21,73,38,93,42,61,38,92,46,61,150,241,72,231,224,62,151,62,
+199,32,37,247,153,164,42,215,102,140,121,148,90,57,228,80,215,62,202,135,
+235,23,112,157,89,151,70,0,0,1,0,73,68,65,84,232,235,218,41,89,92,121,247,
+19,115,96,235,183,126,190,93,74,0,144,82,48,198,218,90,62,0,128,251,126,
+214,212,218,218,218,209,209,113,232,208,161,206,206,206,206,206,206,195,
+135,15,255,244,179,69,201,100,178,176,124,60,192,198,189,141,201,228,134,
+53,207,194,131,215,76,247,220,105,215,252,111,216,248,218,250,253,238,254,
+198,93,0,15,94,51,205,117,93,215,117,61,207,11,138,197,66,8,89,53,126,33,
+0,252,96,205,111,211,53,16,53,101,69,77,207,176,44,203,113,156,49,139,255,
+51,227,189,251,159,91,8,112,221,15,119,118,119,31,57,114,164,189,189,189,
+165,165,229,165,219,74,84,135,229,95,124,37,145,72,248,190,207,57,231,188,
+121,197,66,128,235,126,116,198,150,3,235,36,53,19,23,1,192,211,111,156,
+61,12,219,82,51,89,44,203,60,242,202,143,235,1,0,22,255,100,111,99,99,99,
+75,75,75,91,219,47,191,12,0,146,121,174,155,76,22,222,246,147,131,135,182,
+47,191,70,157,214,127,185,165,160,160,224,155,13,158,239,151,220,254,179,
+206,206,223,63,157,218,165,159,159,127,0,0,1,0,73,68,65,84,254,108,176,
+221,15,6,93,213,181,68,231,218,26,77,99,235,59,118,33,160,65,125,116,41,
+122,189,201,4,21,62,33,150,65,212,95,210,196,32,41,7,182,244,188,139,40,
+169,116,169,76,82,225,82,225,82,225,81,225,50,225,81,233,81,225,49,233,
+83,233,51,233,81,233,51,244,153,12,30,148,75,42,36,167,156,49,206,92,223,
+23,200,205,136,209,211,59,92,183,219,12,223,29,237,149,159,91,186,4,96,
+85,125,253,126,0,64,68,33,68,121,229,120,0,88,185,105,91,102,205,247,180,
+1,195,25,243,238,7,88,177,126,203,150,245,43,224,254,171,167,122,158,239,
+79,155,183,20,54,253,122,227,150,134,255,220,12,243,106,74,253,76,148,178,
+133,16,114,244,252,219,22,2,192,63,45,127,169,45,112,104,224,74,53,95,197,
+113,156,96,226,10,0,32,130,154,199,29,4,19,100,238,65,141,56,149,183,170,
+25,214,233,45,131,91,42,69,74,41,177,122,193,103,23,1,192,15,206,30,134,
+105,16,0,32,150,105,30,217,186,230,183,0,75,126,218,248,200,140,212,136,
+40,231,92,2,0,114,240,208,222,237,0,0,1,0,73,68,65,84,234,251,190,239,123,
+158,231,21,255,89,125,115,115,75,75,75,203,47,238,7,128,231,254,107,75,
+74,205,165,159,251,233,129,3,237,237,237,109,191,92,122,218,246,116,96,
+153,131,147,195,246,35,214,104,70,0,2,5,69,159,74,159,162,219,151,240,125,
+225,49,193,1,72,250,51,103,82,179,108,125,78,61,145,240,121,220,23,73,95,
+38,125,145,240,101,210,23,174,47,146,84,184,84,186,190,112,153,116,169,
+240,88,74,232,30,21,94,202,233,210,227,146,49,206,152,96,62,165,2,133,153,
+69,186,71,150,181,83,51,210,174,188,235,59,179,97,235,214,173,0,169,105,
+115,98,250,213,247,2,64,253,221,227,191,247,150,210,31,231,156,243,182,
+151,239,174,121,114,171,26,99,156,57,239,62,128,189,207,61,247,2,44,185,
+122,154,178,249,212,185,247,193,150,215,159,125,125,11,204,89,52,163,216,
+207,76,42,131,186,54,226,232,123,31,253,58,0,108,120,104,114,209,63,252,
+46,51,146,131,63,187,61,250,119,111,42,89,167,75,213,193,108,104,41,211,
+46,30,96,106,37,190,84,253,3,0,240,212,102,189,113,134,0,0,1,0,73,68,65,
+84,107,3,90,6,119,15,1,0,98,213,226,71,191,113,158,48,8,0,24,196,52,71,
+215,78,2,128,250,45,255,15,0,84,15,219,190,119,231,11,0,160,12,190,237,
+187,227,190,187,53,40,106,179,178,154,57,0,128,66,110,123,178,250,201,183,
+130,33,71,49,170,118,46,4,29,232,153,36,26,205,64,36,114,138,190,143,158,
+143,158,235,11,159,187,76,112,181,124,54,0,74,76,141,57,17,176,61,158,116,
+69,191,203,251,93,30,247,68,194,79,61,146,84,36,79,61,75,151,74,87,121,
+156,74,151,74,143,74,151,75,230,83,95,229,218,92,112,137,28,97,228,220,
+101,19,64,8,49,140,202,219,191,188,228,239,183,214,171,239,17,17,113,250,
+215,235,239,121,105,201,42,120,241,238,241,47,158,214,126,201,82,41,37,
+33,132,84,214,206,129,149,111,190,9,75,150,206,68,229,31,50,237,234,197,
+176,242,197,55,97,246,63,206,44,229,156,33,18,66,16,81,41,88,233,18,0,96,
+238,255,105,124,110,119,221,131,235,225,135,127,86,249,195,211,163,249,
+218,178,204,239,82,181,11,56,53,159,47,181,46,184,80,0,0,1,0,73,68,65,84,
+112,92,80,214,16,66,168,74,52,128,148,120,202,138,103,108,41,132,8,46,9,
+112,205,83,251,87,236,28,255,192,249,195,128,89,11,239,135,231,94,168,191,
+251,146,250,244,150,57,115,230,192,155,111,166,6,51,17,94,252,210,164,211,
+206,210,156,39,239,156,137,135,182,192,143,63,95,243,227,211,182,127,247,
+142,79,7,81,5,95,124,152,31,147,70,243,137,71,72,238,73,73,16,36,2,227,
+17,46,153,129,44,99,226,48,170,207,122,44,12,87,157,116,143,196,66,249,
+132,24,4,136,210,110,176,218,159,64,46,144,114,201,212,12,19,85,66,241,
+101,42,19,23,200,61,234,51,206,40,231,92,128,64,24,86,107,15,219,10,176,
+132,24,134,97,92,117,215,119,231,166,190,85,170,133,25,15,239,220,185,246,
+219,179,79,107,188,228,167,141,143,205,4,37,190,170,185,55,205,5,128,37,
+243,63,77,8,166,110,44,156,54,231,30,0,128,241,21,165,42,177,13,166,184,
+97,250,222,66,69,205,226,213,253,253,111,252,229,233,145,60,244,31,39,226,
+79,204,201,156,18,151,246,47,0,160,28,6,72,81,56,152,0,0,1,0,73,68,65,84,
+187,85,47,94,115,174,48,82,255,25,4,226,85,127,221,252,243,197,65,139,123,
+234,119,175,88,60,62,253,29,206,248,198,218,199,103,101,116,48,251,137,
+13,47,124,182,28,229,204,71,55,171,115,154,98,206,147,155,95,252,92,5,166,
+207,85,234,252,232,92,91,163,81,8,228,62,250,73,244,60,244,4,50,32,208,
+114,124,15,130,148,32,212,253,50,42,221,158,88,56,235,80,95,83,146,247,
+37,89,111,130,247,184,188,207,229,125,30,239,247,68,194,227,253,30,143,
+123,60,225,241,184,207,19,174,218,40,18,42,31,87,115,1,251,19,46,229,106,
+152,139,11,228,50,137,249,185,229,195,116,68,67,185,190,182,42,206,6,69,
+103,37,74,37,235,192,179,193,28,56,117,247,182,146,187,154,80,161,80,253,
+168,183,168,119,5,23,69,85,217,80,1,171,74,113,40,20,202,202,202,10,135,
+195,161,80,200,52,77,68,84,181,114,207,243,24,99,136,104,154,166,227,56,
+170,162,173,114,225,64,103,170,243,32,90,21,152,105,154,161,80,40,28,14,
+7,111,81,241,168,105,118,106,8,116,64,203,80,238,46,29,120,0,0,1,0,73,68,
+65,84,40,228,56,142,101,89,166,105,170,8,213,156,191,179,133,65,8,225,156,
+171,222,60,207,11,22,33,9,206,128,105,154,144,94,185,37,56,112,117,203,
+123,80,225,9,142,66,237,49,120,54,12,67,85,240,85,84,182,109,7,81,105,52,
+23,33,223,121,246,139,39,170,246,228,215,201,236,66,46,17,146,45,101,73,
+207,107,60,212,246,224,156,39,198,228,79,206,54,115,35,86,94,182,149,227,
+24,17,151,245,255,221,166,155,166,85,205,205,13,23,168,170,55,81,55,160,
+4,185,182,100,28,41,23,148,161,79,133,199,164,71,101,50,152,199,221,184,
+191,139,113,206,56,43,46,11,69,115,140,190,223,152,79,62,186,189,56,247,
+92,31,181,254,63,102,232,43,36,169,145,217,116,197,192,48,12,85,205,0,0,
+229,59,165,161,96,181,13,227,116,212,75,74,247,170,195,32,167,206,116,250,
+224,119,5,230,10,246,174,172,23,168,223,178,172,193,109,44,203,82,151,135,
+212,233,200,32,16,168,218,46,165,84,141,7,180,12,46,57,170,231,160,116,
+115,182,48,84,85,39,248,91,97,192,159,11,193,123,36,100,80,203,0,0,1,0,
+73,68,65,84,85,168,153,227,153,129,181,131,11,109,198,93,237,68,53,11,46,
+108,58,215,214,104,0,160,48,191,188,43,185,219,117,133,129,148,0,17,196,
+143,132,67,0,164,229,248,251,85,185,19,184,193,56,82,46,153,101,136,44,
+59,118,253,184,251,215,236,95,241,233,154,107,108,211,1,0,0,130,32,79,125,
+36,130,100,2,25,151,148,73,79,205,30,81,119,72,10,228,125,253,73,198,24,
+19,156,113,102,152,54,235,131,242,146,73,195,119,80,67,108,237,1,66,132,
+116,26,168,156,194,57,15,92,28,228,128,131,157,27,136,27,210,30,12,68,15,
+0,74,130,36,152,254,156,150,166,234,65,229,224,170,13,164,253,21,36,236,
+65,108,106,239,166,105,6,46,206,124,123,176,150,147,178,246,128,158,7,183,
+84,189,5,49,168,228,250,108,97,40,107,103,94,138,2,113,103,30,139,148,50,
+56,69,65,216,234,12,100,158,237,96,167,153,9,117,166,247,53,154,139,153,
+9,181,211,118,237,94,239,37,164,45,153,73,12,233,120,232,145,156,72,100,
+107,203,218,57,99,110,226,146,50,233,83,226,89,210,118,12,24,69,43,0,0,
+1,0,73,68,65,84,140,200,194,49,119,181,156,220,189,118,207,191,215,149,
+93,82,18,43,181,76,27,0,148,184,5,138,35,61,157,157,61,135,227,126,252,
+178,154,137,153,245,110,137,226,100,119,156,9,198,56,103,156,135,34,64,
+15,202,242,146,9,195,119,80,67,105,237,76,231,42,227,4,90,9,140,25,100,
+175,131,87,182,11,188,60,56,81,205,124,53,176,182,105,154,106,38,95,176,
+47,72,47,233,103,219,169,63,76,130,177,74,149,35,171,30,130,231,32,0,149,
+11,3,128,42,101,4,221,102,90,50,72,96,7,183,204,188,108,100,158,129,51,
+134,145,121,29,82,233,127,230,57,9,186,194,140,187,240,85,155,1,169,52,
+156,110,231,1,234,215,226,214,104,0,160,174,118,154,108,48,121,157,231,
+199,137,19,21,104,123,34,105,22,229,197,246,180,117,188,221,222,48,187,
+230,122,75,218,148,216,166,176,8,152,182,17,250,242,244,167,166,150,47,
+248,215,221,255,180,163,125,117,94,36,31,1,16,37,229,172,55,217,43,17,167,
+148,94,217,114,116,43,147,62,162,148,40,36,8,129,194,167,180,187,55,193,
+57,149,200,220,129,0,0,1,0,73,68,65,84,103,92,68,178,9,71,38,142,134,198,
+76,187,98,248,14,106,232,115,109,149,101,7,102,81,186,81,117,3,211,52,51,
+111,49,87,95,100,206,121,24,80,238,8,102,212,65,134,181,131,141,65,182,
+59,32,91,87,123,87,189,101,102,217,153,23,21,21,12,166,167,163,100,186,
+56,200,160,51,107,56,106,191,170,231,115,180,12,66,61,71,24,144,206,139,
+85,12,131,199,84,7,168,25,78,207,169,51,79,218,25,165,156,89,225,249,232,
+63,80,141,102,68,51,186,188,174,32,92,217,221,183,215,59,105,24,81,6,97,
+143,247,56,142,99,198,178,179,214,125,240,202,148,242,153,38,177,9,152,
+233,89,219,104,25,161,25,21,139,102,84,44,58,154,56,184,171,107,91,87,188,
+3,17,75,179,71,151,68,71,95,86,54,11,0,174,171,47,140,123,113,199,177,16,
+133,90,64,170,227,96,55,99,140,113,193,57,207,202,9,9,202,229,209,232,164,
+241,243,134,239,160,134,190,174,29,84,21,50,43,173,144,182,73,80,168,85,
+96,6,144,145,168,102,190,170,222,126,198,76,83,93,33,50,243,92,165,42,151,
+164,248,7,0,0,1,0,73,68,65,84,53,144,40,132,200,212,162,106,166,36,155,
+89,211,8,170,22,144,54,105,112,69,25,112,92,31,178,229,185,195,200,36,56,
+246,76,155,147,116,229,122,240,177,159,113,95,65,87,144,177,84,119,80,183,
+209,233,182,230,34,103,214,21,55,191,190,183,133,198,18,86,2,173,44,79,
+64,24,165,85,85,90,176,171,185,163,126,251,83,15,93,253,143,170,25,130,
+20,200,29,51,236,24,97,147,216,37,217,149,11,198,220,158,217,143,26,153,
+156,92,122,101,79,242,80,129,21,85,21,146,190,62,175,175,207,229,92,48,
+206,17,100,36,7,68,151,57,117,202,205,89,225,232,240,13,43,13,113,133,36,
+40,113,100,230,200,65,226,172,228,149,185,61,83,217,153,242,26,252,135,
+127,240,60,192,218,198,233,55,206,100,198,160,94,29,208,185,145,158,178,
+162,218,7,222,31,208,103,102,110,27,244,121,222,150,103,60,21,3,194,200,
+60,144,115,156,204,76,101,15,232,249,220,63,133,204,194,189,86,182,70,179,
+96,246,23,55,110,123,57,153,76,120,199,140,172,106,134,217,73,222,23,54,
+136,57,110,116,201,7,102,88,96,0,0,1,0,73,68,65,84,190,3,123,94,216,246,
+189,59,103,124,37,63,44,37,114,110,82,42,195,182,17,178,12,219,36,150,1,
+166,65,76,0,20,40,16,164,144,156,35,29,157,55,110,199,177,15,114,162,142,
+68,225,122,180,163,163,151,49,193,5,231,92,22,148,153,96,8,108,142,76,189,
+245,198,97,61,162,97,169,144,4,138,12,54,194,217,117,115,54,107,127,200,
+221,13,110,156,25,67,112,157,200,180,246,224,93,12,40,38,156,163,230,126,
+222,150,231,13,227,28,167,66,49,192,230,231,104,124,70,251,103,30,160,182,
+182,70,19,9,199,22,204,250,194,27,141,207,99,164,207,59,201,236,194,36,
+239,53,12,176,156,144,57,110,116,241,238,246,63,124,111,221,215,239,156,
+241,208,164,178,169,142,12,91,134,99,27,142,73,108,131,88,4,78,253,250,
+8,100,18,37,71,26,13,199,250,18,9,38,163,92,136,142,3,125,158,175,156,45,
+16,100,97,105,196,60,152,91,93,50,115,76,213,212,97,61,162,225,154,249,
+151,169,146,143,146,90,14,232,121,64,63,231,48,102,16,67,144,231,102,182,
+63,135,178,207,214,109,17,91,194,185,0,0,1,0,73,68,65,84,32,238,243,182,
+60,111,24,67,66,230,174,207,125,128,26,205,69,206,130,217,95,220,246,238,
+106,63,30,227,102,143,204,62,130,121,73,222,29,54,136,233,132,140,201,227,
+74,219,14,117,255,243,166,111,141,47,153,124,101,205,181,87,84,94,21,13,
+229,154,196,38,0,132,152,36,181,142,169,68,64,129,172,237,100,211,161,222,
+182,222,132,75,185,223,222,26,79,198,25,23,66,112,41,132,28,83,87,148,67,
+202,18,205,222,103,151,252,189,218,233,48,77,214,134,161,189,203,70,163,
+209,104,254,255,228,189,61,155,159,255,247,191,46,186,182,194,51,142,139,
+146,246,68,135,68,129,6,49,213,74,173,137,36,235,58,145,232,233,243,128,
+64,101,94,77,97,118,73,101,94,173,122,35,2,156,136,119,29,79,28,237,56,
+217,154,164,9,199,54,139,243,178,105,63,248,46,231,66,10,129,40,173,138,
+138,210,9,227,199,246,108,61,49,183,238,142,5,115,238,87,82,45,210,214,
+214,104,52,154,143,194,175,214,60,189,181,105,77,217,188,58,87,116,137,
+156,246,190,35,148,138,56,34,39,64,212,218,35,74,170,160,98,0,0,1,0,73,
+68,65,84,82,66,127,130,186,30,239,75,80,0,0,76,255,67,136,100,89,142,109,
+198,162,142,31,151,199,187,124,193,165,148,4,164,69,32,171,188,172,124,
+242,164,73,221,239,28,46,150,85,247,127,225,71,0,128,136,195,167,108,208,
+214,214,104,52,23,15,171,94,125,124,111,207,206,242,43,39,123,236,132,199,
+79,122,188,199,23,61,76,244,115,233,74,228,106,25,41,114,170,192,72,2,107,
+3,96,127,31,239,62,198,152,15,40,77,130,33,2,33,130,161,81,101,149,151,
+94,114,89,215,219,31,100,37,34,75,191,240,163,112,40,6,218,218,26,141,70,
+51,132,172,122,245,219,123,143,239,172,153,61,139,27,73,143,247,120,172,
+199,231,189,76,36,4,184,2,93,33,125,129,20,81,32,164,102,187,121,9,225,
+185,152,232,67,41,76,144,22,160,13,210,38,104,3,56,227,106,234,234,198,
+78,57,176,109,187,221,111,124,249,11,207,133,67,169,217,126,133,57,195,
+181,150,170,66,91,91,163,209,92,68,32,194,170,87,31,223,117,224,237,186,
+185,55,58,121,17,151,245,36,188,147,30,237,243,89,130,242,161,196,119,32,
+0,0,1,0,73,68,65,84,164,68,202,132,47,56,19,146,83,202,169,47,164,68,41,
+8,34,65,105,160,52,81,154,128,102,44,187,224,178,137,211,115,179,10,246,
+108,248,117,145,93,114,215,109,223,15,135,162,106,121,214,225,86,54,104,
+107,107,52,154,139,7,181,156,54,32,188,183,119,211,79,94,251,118,197,148,
+171,70,95,58,75,154,60,158,60,222,151,60,225,179,4,101,46,227,30,227,148,
+11,150,249,185,176,82,2,74,34,5,137,70,242,107,43,234,170,71,77,232,216,
+189,189,233,15,27,230,207,188,243,186,57,247,65,186,219,130,225,87,54,104,
+107,107,52,154,139,135,212,231,120,35,0,64,194,237,123,229,55,63,120,103,
+207,198,177,151,47,26,243,169,235,192,130,120,242,100,220,237,73,184,61,
+241,100,47,227,148,115,198,37,23,66,18,48,34,225,156,226,252,81,133,185,
+229,217,78,180,171,117,231,7,111,255,71,121,94,245,45,11,191,54,170,164,
+78,125,4,130,182,182,70,163,209,12,25,106,45,54,46,80,240,212,170,253,140,
+10,198,24,245,233,177,227,7,127,183,227,229,214,174,29,37,213,151,21,87,
+6,250,152,252,0,0,1,0,73,68,65,84,78,41,169,156,156,87,92,131,200,37,202,
+212,224,36,49,12,98,38,250,142,31,59,184,251,232,193,247,15,53,109,31,149,
+87,55,117,226,205,227,107,167,153,182,101,90,182,105,89,134,105,26,166,
+81,82,16,185,48,135,163,173,173,209,104,62,177,8,41,5,23,92,8,198,120,234,
+67,212,25,103,148,81,159,49,159,82,143,170,102,148,37,91,187,118,116,158,
+104,60,222,119,224,68,223,129,104,110,121,52,183,92,229,228,212,139,159,
+60,186,63,150,85,84,152,83,85,83,118,69,109,233,84,199,78,217,217,9,57,
+166,237,88,33,203,178,109,211,178,170,171,138,47,204,65,105,107,107,52,
+154,79,44,233,21,61,165,122,112,206,133,144,140,114,33,4,87,31,54,206,184,
+20,82,112,129,136,82,32,162,64,9,125,201,99,113,247,4,0,32,128,99,69,138,
+115,171,137,145,94,191,194,0,211,180,136,105,88,150,109,88,166,97,154,150,
+101,17,211,48,12,147,24,70,89,81,246,5,56,40,109,109,141,70,243,9,71,73,
+14,83,165,18,80,107,64,4,43,215,33,74,68,53,80,169,190,135,96,233,222,114,
+86,0,0,0,147,73,68,65,84,173,209,192,142,8,144,90,150,36,152,202,77,64,
+173,239,154,31,27,198,169,217,103,68,91,91,163,209,124,146,201,84,118,166,
+133,225,212,215,167,125,166,250,169,54,233,49,70,76,175,244,147,209,85,
+170,77,110,246,25,214,106,30,110,46,196,136,167,70,163,209,124,188,12,78,
+79,109,43,88,97,237,127,178,212,90,111,66,124,44,202,6,157,107,107,52,26,
+205,200,66,127,72,149,70,163,209,140,36,180,181,53,26,141,102,36,161,173,
+173,209,104,52,35,9,109,109,141,70,163,25,73,104,107,107,52,26,205,72,66,
+91,91,163,209,104,70,18,255,13,1,101,50,84,72,18,31,168,0,0,0,0,73,69,78,
+68,174,66,96,130};
+
+static size_t xml_res_size_22 = 6936;
+static unsigned char xml_res_file_22[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,231,0,0,0,32,8,2,0,
+0,0,167,245,39,187,0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,
+14,27,0,0,0,7,116,73,77,69,7,215,12,23,13,52,14,159,155,73,179,0,0,0,7,
+116,69,88,116,65,117,116,104,111,114,0,169,174,204,72,0,0,0,12,116,69,88,
+116,68,101,115,99,114,105,112,116,105,111,110,0,19,9,33,35,0,0,0,10,116,
+69,88,116,67,111,112,121,114,105,103,104,116,0,172,15,204,58,0,0,0,14,116,
+69,88,116,67,114,101,97,116,105,111,110,32,116,105,109,101,0,53,247,15,
+9,0,0,0,9,116,69,88,116,83,111,102,116,119,97,114,101,0,93,112,255,58,0,
+0,0,11,116,69,88,116,68,105,115,99,108,97,105,109,101,114,0,183,192,180,
+143,0,0,0,8,116,69,88,116,87,97,114,110,105,110,103,0,192,27,230,135,0,
+0,0,7,116,69,88,116,83,111,117,114,99,101,0,245,255,131,235,0,0,0,8,116,
+69,88,116,67,111,109,109,101,110,116,0,246,204,150,191,0,0,0,6,116,69,88,
+116,84,105,116,108,101,0,168,238,210,39,0,0,1,0,73,68,65,84,120,156,237,
+93,123,124,21,197,189,255,238,158,115,242,32,82,155,180,66,66,30,36,33,
+16,121,92,219,91,222,228,113,2,36,8,218,22,107,109,209,42,84,129,4,176,
+168,128,68,4,181,247,86,77,193,26,240,82,104,65,66,124,191,181,181,173,
+34,49,239,96,80,111,107,63,189,165,40,132,156,60,64,111,171,244,154,180,
+66,146,179,51,187,59,247,143,217,157,204,57,39,9,129,2,38,113,191,159,253,
+228,67,118,231,241,251,205,176,223,249,205,119,102,54,10,99,12,14,28,56,
+112,224,96,144,64,253,188,13,112,224,192,129,3,7,103,1,135,181,29,56,112,
+224,96,48,193,253,121,27,112,49,208,209,209,65,136,6,152,253,206,225,138,
+138,186,36,44,204,115,1,109,114,224,192,129,131,115,130,242,69,208,181,
+23,47,94,252,198,27,111,2,97,0,128,190,253,85,0,19,32,143,61,182,119,225,
+194,107,46,134,113,14,28,56,112,112,54,248,66,196,218,237,237,127,107,107,
+187,20,88,4,116,1,12,80,1,165,151,180,97,192,39,192,139,126,127,251,69,
+53,209,129,3,7,14,250,135,162,26,130,0,0,0,1,0,73,68,65,84,47,4,107,123,
+60,110,32,42,44,44,54,42,202,96,140,157,62,77,116,189,55,181,36,2,160,64,
+164,170,58,138,191,3,7,14,6,34,190,16,220,196,24,128,206,5,11,146,125,190,
+130,35,71,242,191,246,181,175,0,29,128,209,211,165,3,198,153,84,20,7,159,
+55,90,75,23,40,138,82,88,251,121,219,225,192,193,231,128,47,4,107,3,0,88,
+68,132,59,38,38,50,54,54,202,227,113,245,196,203,42,224,2,220,128,11,80,
+220,238,1,49,11,225,236,212,3,65,213,22,42,138,178,160,180,245,243,48,234,
+236,208,163,165,220,175,158,239,22,214,246,246,188,55,48,27,231,197,224,
+179,66,109,161,18,132,127,185,83,120,145,206,136,228,160,87,124,113,88,
+27,166,201,0,104,154,209,203,235,173,1,167,129,83,64,39,96,158,60,249,217,
+39,159,180,247,113,181,181,181,107,154,255,162,25,95,252,80,105,43,147,
+209,253,168,231,187,3,6,57,87,175,7,202,94,169,106,229,191,114,59,91,142,
+150,193,190,219,109,125,203,209,50,96,253,213,57,0,152,9,192,100,96,166,
+141,30,125,100,152,18,235,31,0,0,1,0,73,68,65,84,172,59,129,72,118,150,
+6,158,231,184,189,108,121,138,114,101,73,75,239,54,247,31,44,4,253,206,
+234,76,70,134,50,6,68,68,121,161,161,170,106,159,162,135,10,120,128,138,
+176,176,223,71,69,241,61,36,90,81,81,225,195,15,223,219,91,6,198,112,250,
+52,54,110,252,241,154,53,119,92,8,131,131,48,127,254,252,178,178,229,59,
+171,111,126,40,7,252,213,85,76,6,192,52,77,195,48,228,148,34,226,187,8,
+86,245,23,201,151,207,7,202,142,182,50,54,218,166,158,218,125,197,0,128,
+178,35,205,166,153,104,147,81,237,190,98,96,222,184,36,195,48,18,111,121,
+67,191,5,96,204,48,12,198,24,147,253,82,85,213,118,143,113,102,52,77,107,
+149,66,85,85,69,81,248,207,115,176,52,148,22,251,87,206,252,189,45,251,
+151,142,102,166,105,226,248,99,87,141,41,40,47,47,88,81,50,251,245,91,146,
+130,227,240,126,149,150,243,48,99,15,219,3,82,208,179,115,112,237,92,157,
+114,48,112,49,68,88,91,243,251,59,186,186,104,47,79,187,52,173,31,179,10,
+237,186,235,186,118,50,138,254,51,0,0,1,0,73,68,65,84,236,176,126,209,245,
+14,195,232,232,45,169,174,99,225,66,156,56,209,107,130,243,139,73,119,221,
+53,177,172,108,235,67,123,11,50,111,78,52,77,0,138,97,0,96,166,245,98,139,
+55,243,95,164,173,11,130,228,185,215,205,71,89,241,190,234,45,89,94,206,
+68,39,124,135,144,183,123,247,191,173,92,185,117,95,205,150,172,108,78,
+190,199,27,15,1,121,215,206,73,52,77,211,226,44,57,192,84,109,152,166,169,
+242,88,156,153,124,220,226,41,185,227,46,151,11,231,202,110,231,204,146,
+204,30,63,140,248,37,175,150,189,31,53,127,123,197,17,31,165,113,156,169,
+133,229,252,223,253,55,70,252,4,192,243,154,166,121,86,174,157,47,234,119,
+48,160,48,68,20,146,93,143,62,58,62,45,109,86,90,90,70,79,215,91,149,111,
+1,95,57,83,25,234,176,97,136,137,113,199,196,124,57,38,38,122,196,136,176,
+184,56,244,118,37,38,98,248,112,40,138,235,98,248,6,48,51,123,213,238,60,
+84,172,252,209,222,38,66,136,166,105,132,114,214,162,28,186,174,83,90,125,
+87,120,184,199,227,113,43,69,185,193,0,0,1,0,73,68,65,84,187,221,170,170,
+42,133,53,60,111,107,233,130,64,173,53,116,238,92,91,216,203,100,186,255,
+121,45,121,55,160,16,126,111,65,105,107,114,234,36,0,135,124,173,166,174,
+235,186,174,55,149,191,82,129,9,201,139,231,173,1,14,29,107,178,124,104,
+170,248,85,5,48,97,116,28,165,148,54,149,94,29,30,25,185,161,154,16,77,
+211,52,77,163,180,102,67,100,100,56,119,112,67,173,160,114,195,48,12,195,
+32,132,16,210,84,250,237,168,200,200,200,176,176,48,183,219,125,87,105,
+176,233,193,18,180,101,106,109,161,146,178,188,12,64,241,28,85,117,187,
+221,110,119,97,21,165,148,54,149,44,112,91,45,121,102,165,193,228,50,141,
+174,235,148,82,26,63,102,46,128,195,199,124,154,86,189,33,106,216,176,13,
+213,148,54,237,189,202,237,118,187,92,119,213,112,203,197,122,69,160,18,
+46,76,84,231,239,61,14,112,205,199,48,106,55,68,68,132,139,206,181,123,
+54,176,83,100,191,122,115,138,234,186,126,174,58,146,131,1,132,33,194,218,
+39,58,58,226,219,218,106,219,218,222,234,233,202,36,18,246,103,198,0,0,
+1,0,73,68,65,84,20,80,248,196,58,44,204,213,91,160,97,24,0,174,0,142,0,
+62,96,65,31,213,81,10,211,196,197,140,87,226,127,184,254,118,160,114,245,
+47,171,253,126,191,223,223,69,40,0,70,9,165,148,16,162,249,246,46,188,100,
+193,118,57,67,241,28,229,202,189,45,166,153,148,50,17,40,123,169,210,86,
+197,91,43,95,42,3,80,188,175,198,214,74,107,246,21,3,235,175,242,134,74,
+168,201,99,38,5,72,210,189,231,245,254,172,165,100,30,80,60,123,125,181,
+165,47,215,20,206,46,6,214,87,191,177,116,52,243,46,184,19,40,127,165,188,
+153,82,170,105,90,227,145,74,172,206,157,78,70,141,153,139,202,35,62,77,
+211,252,126,191,191,241,131,74,96,245,156,105,132,16,74,117,202,0,24,196,
+239,215,52,77,107,122,252,59,95,254,230,207,133,107,91,115,93,43,95,1,0,
+147,25,134,65,41,165,205,79,124,55,230,107,183,87,73,222,231,231,151,1,
+166,105,171,222,45,37,87,42,179,139,3,218,103,54,111,159,16,246,50,40,169,
+186,43,50,125,85,69,64,98,225,87,111,18,179,97,67,93,144,233,0,0,1,0,73,
+68,65,84,24,186,174,19,66,124,149,175,86,1,24,23,63,66,211,136,1,96,199,
+85,195,135,143,191,181,18,0,96,154,134,97,84,173,183,72,213,130,164,132,
+75,165,154,134,97,24,134,222,92,250,237,168,249,1,61,187,117,110,183,110,
+94,83,168,4,150,133,226,217,74,225,190,30,156,210,52,77,211,8,33,148,82,
+49,59,9,78,229,96,144,96,136,176,182,226,114,13,7,18,85,53,238,210,75,227,
+162,163,227,194,195,227,0,113,13,3,0,197,239,215,219,219,253,39,79,118,
+80,106,244,126,202,198,3,196,2,49,64,196,69,52,255,12,96,96,166,153,185,
+108,251,92,224,23,219,159,108,210,52,205,79,12,0,134,65,9,33,148,54,63,
+113,199,29,85,171,126,253,247,191,255,189,189,189,253,244,233,211,93,93,
+93,190,221,121,40,207,223,89,109,24,89,243,215,1,229,71,124,60,44,109,46,
+127,185,28,0,80,188,175,154,203,11,205,141,135,128,121,99,147,12,51,4,204,
+123,213,122,160,236,104,11,159,104,183,84,244,145,55,241,150,55,42,215,
+1,91,231,22,86,27,134,81,93,56,167,24,179,3,60,32,0,0,1,0,73,68,65,84,243,
+30,245,109,201,54,77,211,52,71,143,203,3,42,143,54,81,74,9,169,45,219,137,
+156,148,88,74,99,51,191,53,27,59,246,215,104,26,33,164,217,247,62,224,77,
+137,211,8,33,132,16,195,0,96,82,66,52,173,233,233,245,119,214,0,179,31,
+121,175,173,173,237,212,169,83,157,157,157,254,59,39,150,3,48,13,74,41,
+165,205,79,223,185,182,6,200,217,250,135,79,63,253,244,179,207,62,235,236,
+236,212,26,119,231,1,204,228,209,125,115,201,138,130,242,117,149,60,216,
+228,240,61,58,15,229,249,59,171,179,54,19,223,174,60,0,107,246,159,62,221,
+222,222,126,242,228,189,83,170,246,237,0,102,63,242,71,94,93,71,71,199,
+155,107,193,75,226,212,28,186,242,201,219,71,215,117,253,192,125,83,214,
+214,0,40,200,153,74,8,209,173,69,135,85,175,126,242,73,91,91,219,169,83,
+247,207,162,85,133,185,91,1,172,173,176,60,37,190,221,121,64,121,193,206,
+106,195,200,218,108,255,206,120,119,181,60,126,251,234,170,213,175,181,
+181,181,181,183,183,115,223,27,118,229,89,169,141,70,96,109,156,0,0,1,0,
+73,68,65,84,150,61,155,139,1,204,219,211,36,252,162,149,235,96,94,105,59,
+117,199,27,167,78,181,181,181,157,60,121,239,228,174,174,174,174,46,191,
+223,207,137,155,123,225,16,247,32,197,80,97,109,192,4,104,82,18,222,125,
+23,62,31,150,44,145,159,50,0,136,218,191,191,53,45,109,207,248,241,123,
+255,252,231,79,129,40,192,37,93,110,155,199,25,160,1,56,155,143,150,92,
+120,48,198,24,139,191,177,248,103,94,212,109,120,252,128,166,113,62,96,
+58,33,132,208,186,146,117,181,192,174,107,47,187,236,178,232,232,232,75,
+46,185,36,50,50,50,109,101,5,128,67,141,77,148,38,164,229,2,219,94,175,
+226,20,241,65,57,214,148,149,173,1,182,190,206,103,205,190,35,229,200,189,
+198,59,138,10,112,122,178,232,118,158,77,210,166,217,124,164,28,107,223,
+124,179,215,188,25,15,150,173,1,182,229,21,22,22,230,109,67,238,47,183,
+223,20,103,149,56,202,187,48,23,120,223,215,76,8,109,109,250,0,72,79,24,
+73,41,141,77,188,220,186,75,90,106,94,171,67,246,252,233,35,56,167,24,6,
+32,76,88,152,0,0,1,0,73,68,65,84,3,96,152,134,97,156,120,235,245,58,96,
+197,139,207,93,31,207,73,83,215,117,61,49,45,23,128,73,41,165,122,107,237,
+239,106,129,130,23,158,254,126,172,222,13,147,9,5,169,122,231,202,10,96,
+91,46,87,24,56,210,86,148,219,237,67,13,6,192,180,180,24,123,68,172,57,
+234,211,236,248,116,230,79,62,187,127,6,161,18,186,131,110,0,40,95,145,
+230,137,138,138,138,142,142,30,249,157,95,2,64,193,11,155,166,51,198,152,
+201,0,228,191,208,186,97,10,33,150,180,85,189,239,17,0,119,236,127,96,38,
+229,164,77,227,22,111,255,133,213,67,86,225,12,96,166,174,235,122,237,238,
+219,171,128,157,223,138,137,137,137,142,142,30,62,124,248,176,97,195,248,
+44,224,80,99,19,173,222,177,178,2,88,83,246,219,197,82,231,205,122,176,
+227,129,89,194,41,30,98,251,249,148,37,36,220,118,136,123,144,98,136,176,
+182,5,151,11,35,70,32,38,6,81,81,242,109,29,0,40,33,255,104,107,251,184,
+189,253,99,93,255,12,232,0,254,9,180,217,215,255,1,23,111,27,223,217,130,
+139,203,66,4,0,0,1,0,73,68,65,84,129,49,198,76,51,254,251,171,10,128,189,
+143,190,120,66,215,25,0,166,19,74,41,53,122,29,96,24,37,154,54,50,227,91,
+115,129,195,13,62,77,211,170,95,223,142,219,230,78,159,145,123,27,240,151,
+99,77,132,144,234,125,255,5,140,79,138,229,12,34,17,183,174,235,166,153,
+56,247,186,121,192,95,124,173,166,174,87,191,254,8,110,207,155,53,51,239,
+118,224,112,104,94,66,8,153,241,159,175,173,6,182,111,223,142,213,175,189,
+116,125,44,231,41,66,8,137,77,188,28,168,122,181,246,184,174,183,28,171,
+67,190,119,170,78,41,37,83,114,10,80,187,239,192,113,66,154,125,7,128,177,
+241,35,41,229,58,3,39,29,67,215,141,19,190,3,64,118,74,188,21,75,82,74,
+8,33,84,55,0,24,186,174,235,180,165,161,14,200,78,137,231,209,41,79,70,
+168,206,0,198,137,81,55,250,108,31,254,92,167,130,221,254,253,250,162,76,
+224,209,69,113,113,113,95,253,234,87,163,55,213,216,94,16,77,211,186,135,
+133,94,40,175,224,133,214,230,187,167,89,180,14,64,18,79,8,33,190,59,26,
+157,28,0,0,1,0,73,68,65,84,198,195,0,86,207,153,38,56,84,211,180,216,164,
+203,1,28,62,214,196,239,81,6,48,93,167,148,246,105,185,175,225,48,128,219,
+230,78,151,139,18,228,108,53,16,165,194,114,17,101,243,134,10,90,199,118,
+48,136,48,68,246,144,88,96,12,132,0,150,68,45,112,41,16,141,131,192,239,
+197,254,191,211,128,18,30,17,53,44,82,164,233,232,248,39,95,171,191,120,
+214,158,13,172,183,107,198,146,7,51,247,220,251,227,103,223,125,12,0,76,
+211,160,148,254,181,249,40,128,229,207,248,238,201,112,241,5,52,190,81,
+129,199,130,157,157,157,95,137,27,11,236,62,210,208,217,217,176,111,39,
+86,253,106,138,191,11,57,183,98,199,175,43,26,175,203,108,248,11,176,42,
+103,114,87,87,151,216,124,194,75,240,120,60,138,162,36,165,78,2,182,53,
+52,153,70,227,27,219,113,219,111,167,105,126,115,246,173,248,121,104,94,
+69,81,24,99,196,106,248,195,199,124,254,41,137,138,184,63,53,103,21,118,
+238,58,214,162,31,172,42,65,102,209,40,93,167,138,162,170,113,201,217,216,
+227,107,53,223,241,147,212,36,0,0,1,0,73,68,65,84,173,45,5,150,102,77,225,
+27,25,85,213,52,236,61,34,204,4,128,177,9,35,8,33,134,97,88,187,49,52,157,
+1,48,117,74,41,23,131,199,37,198,113,141,130,49,102,24,134,98,81,49,209,
+52,237,163,99,135,1,172,250,213,223,254,35,67,17,45,35,130,229,206,206,
+15,137,9,64,215,186,186,56,37,51,54,98,225,238,195,215,126,252,155,252,
+220,123,235,1,236,186,246,178,93,88,249,210,71,247,101,40,170,170,186,221,
+110,190,77,197,118,13,192,188,221,141,175,253,96,164,21,213,234,186,206,
+77,178,89,155,49,195,208,173,117,69,67,227,149,17,191,223,47,237,192,211,
+56,197,18,77,211,128,110,211,155,125,239,3,40,120,161,117,227,116,38,250,
+5,246,214,189,15,159,211,45,187,187,20,4,239,231,235,142,181,169,206,91,
+201,226,104,190,205,198,229,114,137,141,55,231,251,191,170,131,11,142,161,
+21,107,247,130,221,128,15,212,135,78,31,186,248,149,139,174,107,150,126,
+207,231,251,31,251,250,211,53,215,44,110,111,199,192,18,70,122,64,194,247,
+10,150,1,79,148,150,54,2,10,26,172,13,0,0,1,0,73,68,65,84,224,12,21,151,
+48,22,192,222,154,183,69,52,42,130,47,43,124,158,234,205,7,118,87,212,213,
+85,236,70,126,214,55,252,126,77,155,236,45,64,205,111,170,234,170,127,87,
+11,111,242,72,77,6,231,71,107,205,42,123,193,58,224,145,253,181,181,251,
+183,227,71,115,166,81,74,200,212,156,21,189,228,173,251,241,119,119,193,
+91,80,224,69,237,157,133,79,55,219,209,31,33,132,196,38,123,129,146,234,
+23,78,28,67,230,130,140,56,75,8,30,153,48,22,40,173,125,249,120,3,144,145,
+60,202,162,54,93,215,133,195,12,12,64,105,205,187,34,92,229,241,51,3,192,
+76,33,82,236,173,121,151,219,108,79,22,12,6,48,211,208,117,61,54,49,29,
+192,174,55,15,4,70,163,182,172,76,56,193,25,6,165,132,16,161,14,25,177,
+215,148,54,52,52,54,54,250,158,89,14,96,119,197,91,33,19,145,160,229,195,
+96,116,111,207,86,20,33,124,199,38,140,19,165,9,103,154,155,62,0,144,158,
+48,82,231,226,57,179,196,175,17,241,227,0,236,169,168,23,150,11,173,131,
+16,50,50,97,28,192,223,186,48,0,0,1,0,73,68,65,84,128,93,229,7,196,35,46,
+91,235,186,110,24,58,31,48,96,111,68,145,245,16,39,190,30,236,248,66,176,
+246,37,64,76,224,21,14,68,68,125,41,38,230,50,251,26,17,17,113,9,223,9,
+109,127,208,117,192,181,140,21,184,206,88,252,64,6,14,30,60,8,0,140,153,
+166,105,76,201,186,5,64,233,146,177,155,223,225,172,173,235,186,174,183,
+62,191,36,185,232,32,151,47,167,121,151,3,71,118,237,42,193,178,172,201,
+156,41,190,145,189,28,117,175,237,124,173,14,153,243,166,94,22,32,122,10,
+230,98,140,49,150,189,96,45,112,184,248,145,159,99,213,220,153,156,182,
+38,103,231,135,230,165,244,173,7,23,237,65,246,230,162,141,27,139,182,100,
+163,110,195,198,231,78,8,110,50,226,102,206,207,6,74,54,110,58,128,203,
+71,199,195,102,147,201,153,183,0,13,111,190,121,16,25,87,206,24,5,177,255,
+154,71,171,96,12,211,114,150,2,40,93,178,229,160,45,4,183,62,191,36,115,
+67,157,221,38,234,172,185,249,0,74,111,218,242,142,41,228,139,227,117,175,
+215,217,237,198,102,77,106,36,126,0,0,1,0,73,68,65,84,204,41,0,176,103,
+81,210,3,22,87,82,74,165,246,137,75,28,7,160,225,248,71,246,246,240,247,
+182,93,177,237,15,156,114,21,69,65,66,106,54,16,200,126,103,56,244,40,238,
+43,0,160,168,46,151,216,34,205,166,123,243,1,236,185,190,232,29,174,122,
+153,230,219,69,153,27,234,128,130,57,51,248,29,131,15,72,58,165,116,114,
+214,82,0,165,55,165,111,57,40,89,126,252,249,37,169,69,7,13,115,90,14,47,
+234,166,103,91,187,59,238,224,3,9,15,28,84,148,164,148,241,0,26,78,252,
+213,218,39,46,79,164,92,46,151,216,63,126,126,255,139,58,184,56,24,112,
+220,116,113,96,2,102,160,138,98,154,134,162,0,208,129,147,64,251,192,148,
+185,21,69,81,213,132,239,175,88,38,126,103,140,153,230,148,181,165,55,3,
+192,99,75,198,142,29,59,118,236,216,180,180,180,180,180,156,141,7,192,96,
+81,76,66,74,38,234,235,235,177,204,59,205,222,237,48,57,107,41,234,235,
+235,145,49,111,218,72,190,209,216,142,34,133,232,201,107,76,73,207,67,101,
+101,21,86,231,206,100,42,95,136,4,0,0,1,0,73,68,65,84,166,105,82,139,77,
+130,242,30,127,254,135,55,150,32,179,232,254,235,70,49,22,191,232,167,155,
+179,113,96,99,214,230,183,13,91,72,141,29,157,206,139,244,142,73,178,100,
+10,195,48,204,81,201,214,24,148,158,20,111,199,164,134,33,199,176,211,110,
+184,63,3,192,227,75,39,77,154,52,105,194,132,9,233,115,238,57,96,27,167,
+170,170,170,206,90,178,57,27,64,233,146,116,238,123,106,106,170,205,234,
+124,168,155,181,233,133,2,0,40,185,49,53,53,117,204,152,49,99,198,140,17,
+237,99,53,14,234,239,203,157,112,197,21,87,124,253,235,143,188,7,224,137,
+101,19,39,78,76,79,79,79,75,75,75,203,217,116,0,217,155,151,204,228,5,10,
+178,238,145,178,229,173,147,246,89,72,197,229,114,113,93,69,81,20,96,198,
+221,207,230,3,40,185,33,37,37,37,37,53,53,53,245,7,37,0,188,15,253,112,
+166,189,229,218,100,214,22,65,195,152,178,246,177,155,97,59,63,113,226,
+196,241,227,199,167,167,207,185,167,158,247,236,180,13,207,44,7,80,127,
+79,206,184,113,227,184,239,41,214,7,214,46,0,0,1,0,73,68,65,84,55,148,0,
+138,170,170,201,227,102,3,181,119,205,74,74,75,75,155,48,97,235,123,106,
+55,184,66,210,61,44,57,24,108,24,90,172,173,40,8,11,3,0,215,89,159,127,
+97,12,170,10,224,16,48,30,72,3,246,247,145,216,227,129,170,226,226,79,52,
+45,113,115,230,226,159,102,91,191,114,213,24,83,215,29,58,84,246,147,140,
+128,196,203,158,106,216,48,205,58,82,152,148,125,117,54,128,101,179,167,
+119,51,227,228,204,155,1,96,108,252,72,75,19,176,183,181,49,251,48,30,199,
+232,220,235,114,1,220,54,127,22,0,139,109,131,242,126,244,114,126,222,189,
+245,88,250,100,201,247,70,113,182,74,184,254,167,91,178,129,210,37,203,
+94,254,200,228,199,210,103,204,206,7,0,239,55,179,146,44,202,96,140,177,
+184,233,243,50,0,32,51,53,81,220,12,112,88,81,70,125,119,207,33,62,44,113,
+220,252,216,177,218,34,175,253,28,64,252,162,39,142,61,179,172,59,65,102,
+81,125,253,22,47,160,40,176,35,220,141,199,142,213,62,152,217,67,251,40,
+138,146,120,253,147,82,110,5,83,192,129,223,15,0,0,1,0,73,68,65,84,239,
+44,191,95,110,202,236,45,245,79,46,138,135,221,110,86,91,245,17,107,11,
+13,218,165,2,112,185,195,194,60,30,15,231,74,85,85,213,89,155,90,235,31,
+242,6,148,223,242,212,245,9,65,4,106,113,255,148,117,127,250,211,190,251,
+102,6,148,191,244,169,163,188,103,149,153,27,27,27,101,207,129,229,207,
+124,120,239,76,69,81,70,47,126,249,183,63,234,190,45,31,154,149,209,163,
+253,14,6,56,134,200,223,178,89,255,208,67,255,125,247,221,213,201,201,158,
+178,50,140,24,129,187,239,198,158,61,125,164,95,8,124,105,237,218,167,183,
+109,19,119,110,188,241,246,143,63,222,241,220,115,253,170,142,82,44,92,
+8,175,183,104,219,182,77,255,162,229,103,4,15,141,133,26,203,137,149,147,
+181,224,89,241,53,18,254,169,194,160,137,48,95,194,226,116,44,54,90,200,
+33,33,108,174,228,81,97,120,120,120,100,100,100,68,68,68,120,120,56,47,
+144,107,202,126,191,191,179,179,83,216,16,148,151,215,232,118,187,249,50,
+38,99,76,68,238,138,162,184,92,46,126,106,81,85,85,251,52,86,69,246,159,
+0,0,1,0,73,68,65,84,35,225,133,240,37,62,145,133,123,199,179,240,117,63,
+121,219,6,79,28,30,30,206,75,227,46,232,246,130,155,98,127,168,196,243,
+199,135,83,110,40,201,41,126,247,217,27,18,77,251,212,34,159,64,240,100,
+114,251,192,14,252,133,95,98,61,150,211,28,119,208,94,41,85,221,110,119,
+88,88,24,183,129,59,107,24,134,16,151,121,219,186,92,46,143,199,195,201,
+90,184,64,41,101,246,201,123,110,42,103,127,72,167,204,25,251,240,217,155,
+102,109,52,139,42,75,174,29,101,55,8,135,162,40,98,231,34,183,141,91,46,
+119,7,183,141,55,142,232,56,46,118,3,240,120,60,17,17,17,17,246,73,75,30,
+113,59,220,61,232,48,68,246,144,240,191,79,227,57,113,2,51,102,64,85,209,
+217,217,119,250,208,175,73,141,30,61,188,178,50,58,35,163,231,244,193,213,
+49,156,58,133,196,196,168,51,39,61,79,16,210,164,8,154,56,185,192,102,147,
+32,58,80,3,161,216,95,177,16,175,168,136,169,101,78,15,205,37,151,230,178,
+1,137,194,130,242,202,243,110,85,250,242,134,28,223,137,210,221,201,228,
+78,0,0,1,0,73,68,65,84,96,15,48,156,205,5,171,138,210,120,26,211,52,93,
+46,23,147,190,52,210,29,170,219,1,175,34,125,226,67,85,127,191,249,134,
+18,192,123,117,102,130,208,160,67,173,146,221,20,35,144,24,255,130,158,
+138,214,14,173,58,180,131,0,240,189,225,156,25,133,162,34,184,213,37,205,
+5,131,119,16,190,243,228,198,3,64,182,162,170,170,106,187,204,107,23,85,
+200,194,180,105,154,110,183,155,207,0,68,127,201,182,137,44,242,40,43,76,
+114,40,123,48,98,168,176,182,97,156,6,62,50,77,207,63,254,209,159,244,159,
+1,195,164,141,10,0,238,187,239,158,117,235,238,164,189,125,128,42,4,97,
+97,136,138,26,118,182,118,158,27,100,70,16,209,52,236,183,78,215,117,241,
+238,9,70,147,57,87,166,75,206,140,130,137,4,217,241,160,79,68,115,65,11,
+86,130,67,57,65,40,210,210,22,2,3,70,145,145,199,197,194,30,177,37,49,136,
+68,56,133,9,214,230,113,43,183,144,143,16,178,92,195,19,240,42,32,81,231,
+255,190,120,115,214,198,3,193,173,182,226,214,69,163,44,210,54,165,92,33,
+6,187,0,0,1,0,73,68,65,84,143,2,2,193,223,216,18,62,114,51,100,138,15,226,
+101,153,10,229,40,53,168,131,120,51,242,88,91,20,40,179,182,42,173,4,218,
+46,191,243,96,226,162,71,237,186,178,23,100,37,185,92,134,97,184,236,159,
+162,119,228,126,17,85,139,54,81,165,169,131,24,141,196,77,225,20,15,222,
+185,109,14,113,15,58,12,17,214,78,140,138,250,48,58,218,219,239,237,214,
+167,128,233,195,135,203,119,34,35,135,69,70,94,36,22,62,43,200,156,43,166,
+180,114,132,40,98,82,244,244,57,183,160,104,151,191,243,130,103,67,89,155,
+79,237,165,213,51,139,191,56,183,134,133,133,1,224,34,64,80,94,161,177,
+168,129,226,169,32,116,193,56,162,106,62,2,9,193,151,243,136,204,218,188,
+124,93,215,249,83,33,110,40,82,100,13,64,81,131,187,221,251,179,183,159,
+90,20,47,4,104,206,218,130,82,101,206,149,139,226,94,200,202,190,248,41,
+32,70,166,160,66,20,123,210,192,141,228,148,45,134,1,94,172,120,42,254,
+230,134,170,170,124,208,53,205,238,90,86,188,120,98,211,140,238,175,57,
+138,75,16,197,107,0,0,1,0,73,68,65,84,182,229,157,34,154,75,9,156,114,201,
+83,10,94,157,60,26,137,1,67,12,216,206,126,237,193,139,33,162,107,251,253,
+254,142,206,78,210,239,244,30,32,42,34,34,114,216,64,164,233,32,240,23,
+140,159,66,230,194,40,236,152,90,168,177,98,94,47,232,91,196,119,176,35,
+101,65,49,156,254,120,50,193,89,226,166,208,166,249,236,94,126,42,159,119,
+15,205,43,130,119,81,81,168,130,33,4,4,249,243,170,50,139,9,193,93,176,
+54,179,181,120,193,68,114,144,43,166,14,130,61,5,37,241,42,184,230,11,155,
+109,101,167,196,136,18,90,166,25,242,117,83,25,124,58,194,181,99,209,17,
+114,7,113,214,230,213,241,44,65,79,197,136,24,186,8,44,122,92,108,63,23,
+70,242,50,197,151,8,101,199,69,70,81,136,220,227,242,80,196,73,159,119,
+177,124,38,203,193,32,194,16,137,181,249,26,203,231,109,197,5,132,80,129,
+5,211,241,251,156,65,100,6,20,204,37,51,166,8,81,197,83,158,61,136,97,17,
+40,52,43,129,211,112,17,26,7,113,37,147,142,26,246,17,187,201,228,40,170,
+68,221,39,0,0,1,0,73,68,65,84,22,18,101,219,24,99,242,125,113,211,12,252,
+211,7,50,228,160,88,64,156,211,17,113,40,164,209,72,118,77,110,31,185,156,
+96,173,57,208,11,151,4,209,164,65,29,164,74,194,125,232,83,185,233,228,
+147,138,188,82,78,217,34,163,8,207,131,134,210,160,30,148,123,86,174,69,
+238,35,4,46,120,244,209,89,14,6,50,134,8,107,15,97,40,146,196,33,199,200,
+34,88,19,52,42,238,203,148,45,152,52,232,29,70,160,2,16,26,20,203,99,131,
+176,193,227,241,200,140,166,132,196,212,125,59,34,254,33,87,7,91,141,133,
+29,59,247,49,2,201,144,199,9,97,137,88,155,229,148,45,15,12,30,27,242,98,
+96,80,9,65,220,215,163,11,66,229,23,70,134,118,144,26,184,18,27,250,84,
+212,37,244,101,121,124,18,148,205,127,42,138,226,241,120,68,116,175,6,174,
+160,202,109,27,100,179,220,137,65,195,164,108,155,131,193,5,135,181,7,1,
+20,91,193,148,223,177,160,240,48,8,189,177,118,63,171,11,77,220,163,13,
+161,149,6,101,233,187,162,208,210,92,189,111,180,15,42,92,28,31,178,179,
+0,0,0,195,73,68,65,84,38,214,160,112,82,8,41,66,67,87,237,237,122,66,178,
+151,23,9,67,219,167,55,226,150,199,24,185,149,66,27,39,168,13,67,159,202,
+201,68,172,205,197,25,46,7,201,203,21,34,208,22,154,140,204,218,61,90,46,
+151,31,218,128,194,17,135,181,7,35,28,214,30,28,16,47,170,124,7,103,250,
+166,68,80,80,220,91,201,232,233,149,62,103,27,250,102,246,243,133,30,67,
+111,69,146,89,96,171,25,176,229,17,177,211,89,14,228,101,71,206,88,5,2,
+9,55,232,126,31,5,246,241,84,140,43,124,218,36,207,21,20,91,38,18,218,78,
+144,114,213,183,229,103,236,5,135,178,7,41,134,200,106,164,3,7,242,49,34,
+177,26,201,31,169,246,102,115,190,135,100,192,198,152,194,5,249,240,148,
+34,41,233,142,30,237,0,192,255,3,111,169,68,2,248,173,80,128,0,0,0,0,73,
+69,78,68,174,66,96,130};
+
+static size_t xml_res_size_23 = 966;
+static unsigned char xml_res_file_23[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,3,67,73,68,65,84,56,141,125,144,89,76,
+83,9,20,134,207,237,134,74,233,2,212,130,92,41,180,40,38,90,129,161,184,
+129,243,224,60,96,92,98,12,169,15,196,68,77,141,154,248,224,66,98,141,91,
+226,190,51,58,9,51,100,234,196,73,68,84,98,92,169,130,88,22,41,216,10,5,
+181,10,33,69,105,65,171,183,84,58,222,46,116,189,199,23,33,74,154,249,147,
+239,233,156,252,57,231,35,234,27,91,229,169,41,98,99,174,34,75,234,15,4,
+156,244,87,207,146,186,91,117,9,1,58,112,56,145,159,88,66,102,146,156,188,
+252,60,79,48,20,180,250,124,190,186,210,210,82,61,252,16,246,177,227,199,
+253,150,151,111,61,195,31,62,45,151,101,146,82,22,139,85,114,243,70,237,
+26,175,207,155,22,137,70,188,49,6,51,40,138,146,171,55,168,243,120,92,110,
+249,243,206,206,210,14,163,241,69,126,65,129,11,0,0,220,95,254,163,95,189,
+181,217,187,95,246,127,236,183,57,112,108,204,195,60,109,110,43,67,68,152,
+160,230,90,205,112,52,18,193,49,183,27,223,13,14,198,14,28,56,104,217,188,
+121,11,15,17,129,184,247,168,185,39,71,62,187,128,97,88,48,98,183,217,36,
+169,41,2,6,8,199,226,162,194,197,0,0,42,149,138,123,69,119,197,156,51,39,
+103,129,94,175,7,187,221,49,206,229,114,4,197,197,197,97,131,193,240,55,
+107,192,102,255,173,187,167,111,100,212,53,138,111,172,175,146,27,159,52,
+6,103,74,36,69,245,250,6,13,0,128,84,42,61,197,99,17,115,116,58,221,53,
+139,165,71,161,213,238,19,90,173,86,131,94,255,136,151,157,45,47,36,16,
+17,206,254,174,219,22,141,70,54,100,146,179,114,37,169,34,126,118,150,76,
+20,8,248,60,231,206,158,214,252,81,89,121,155,114,187,77,74,165,114,57,
+34,50,0,0,26,141,134,151,144,48,173,138,162,168,125,4,34,78,26,221,127,
+248,12,59,57,89,252,207,210,37,170,117,66,176,138,100,242,133,204,23,175,
+192,95,166,86,47,236,237,237,181,67,188,252,40,107,130,51,71,202,111,184,
+26,102,34,221,158,139,39,181,171,163,205,45,207,230,199,219,67,68,96,77,
+45,188,176,147,32,55,169,238,149,136,132,98,8,5,66,80,176,76,205,150,166,
+165,153,91,90,219,139,227,29,240,83,193,161,77,4,111,69,33,81,39,16,165,
+146,193,48,3,15,205,73,175,103,136,231,69,132,66,81,98,6,73,54,181,61,51,
+174,250,223,130,236,116,184,160,144,73,150,114,184,124,248,234,101,156,
+20,53,250,107,71,167,249,212,208,144,35,202,231,207,152,158,158,158,113,
+199,216,241,124,99,92,7,213,21,176,146,170,79,138,197,186,149,56,218,148,
+139,167,119,102,236,158,116,114,177,234,92,167,201,18,117,126,118,97,255,
+192,187,112,187,209,188,107,98,6,136,8,58,45,164,124,188,203,25,30,55,42,
+208,211,170,196,154,163,89,134,169,178,42,47,233,170,77,93,189,49,202,229,
+198,254,129,247,145,118,163,233,196,164,196,194,185,240,87,146,80,50,155,
+97,9,129,166,195,159,29,159,198,203,167,254,186,103,215,214,29,93,93,150,
+235,142,225,15,200,225,114,217,180,215,191,230,190,190,105,61,91,66,31,
+229,44,203,23,253,203,23,231,112,60,158,32,222,111,163,183,87,92,118,154,
+226,25,95,84,244,203,221,7,143,155,242,146,166,39,10,251,6,250,22,120,125,
+129,189,4,34,66,195,159,115,215,166,8,18,206,143,56,253,45,101,218,161,
+10,0,224,125,135,3,0,4,0,196,0,32,10,0,97,0,8,85,85,95,173,149,201,72,197,
+120,48,52,248,13,139,240,202,68,196,151,235,84,0,0,0,0,73,69,78,68,174,
+66,96,130};
+
+static size_t xml_res_size_24 = 547;
+static unsigned char xml_res_file_24[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,1,160,73,68,65,84,56,141,173,147,207,106,
+19,81,20,135,191,59,115,71,221,69,176,79,226,162,175,224,194,80,27,19,167,
+141,13,85,116,81,40,244,105,4,161,32,248,183,38,36,116,32,80,124,136,46,
+92,116,227,19,212,213,56,100,32,196,153,204,157,115,92,52,153,100,16,193,
+160,63,56,187,251,29,190,123,14,199,168,42,255,18,11,112,121,249,117,2,
+52,54,100,211,237,237,251,119,45,64,150,101,141,173,173,123,88,107,255,
+138,116,206,17,199,63,26,149,65,158,231,92,95,127,223,80,224,38,11,131,
+156,102,243,1,198,24,138,162,192,57,71,81,20,136,8,34,130,170,34,34,148,
+101,73,89,150,56,231,184,186,250,182,106,144,231,25,198,24,94,189,62,173,
+117,63,60,216,199,243,60,6,163,136,199,143,154,140,162,49,0,173,157,135,
+228,121,86,55,0,56,57,62,2,64,68,42,19,231,28,123,157,22,34,66,55,108,87,
+38,75,166,154,1,80,51,240,125,159,23,207,122,168,42,253,225,57,157,214,
+14,253,225,57,0,97,123,183,98,236,242,241,186,193,50,69,81,160,170,60,221,
+235,32,34,28,236,63,169,230,177,100,44,128,181,254,111,6,39,199,71,88,107,
+81,85,222,127,234,19,182,119,57,27,140,0,232,134,237,138,185,81,236,15,
+245,79,41,203,82,179,44,211,233,116,170,147,201,68,147,36,209,56,142,117,
+193,212,191,112,250,230,237,106,191,214,231,229,243,67,60,207,227,221,199,
+207,244,186,33,31,206,6,0,244,186,97,197,160,170,68,209,88,69,68,157,115,
+181,90,207,124,62,215,217,108,166,105,154,106,146,36,26,69,227,149,65,16,
+248,233,197,197,151,141,110,33,8,252,20,192,252,151,107,4,48,198,220,2,
+238,172,213,109,32,0,12,32,64,1,228,64,182,168,159,170,234,126,1,210,87,
+39,71,27,86,23,36,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_25 = 731;
+static unsigned char xml_res_file_25[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
+72,89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,2,88,73,68,65,84,56,141,141,146,95,72,
+83,81,28,199,191,247,114,181,57,39,194,89,82,178,72,31,210,151,132,65,15,
+34,87,81,130,66,193,127,79,25,216,68,26,230,20,169,185,45,98,133,65,25,
+56,42,122,112,17,200,16,124,14,7,66,212,67,17,152,14,34,189,72,152,65,160,
+50,2,197,10,239,126,108,115,133,103,211,157,94,54,89,102,230,15,206,203,
+225,124,62,191,223,249,158,35,17,17,142,82,237,237,237,77,161,80,232,45,
+17,237,228,238,43,71,129,7,6,6,60,189,189,189,15,42,43,43,131,140,49,123,
+174,228,191,130,91,213,213,222,211,173,173,215,205,102,115,65,91,91,91,
+151,16,34,205,24,235,201,74,14,21,12,169,170,199,81,86,118,255,219,220,
+156,180,96,50,253,56,223,216,120,194,237,118,119,43,138,178,203,24,115,
+16,209,206,63,5,67,170,234,185,106,177,140,20,11,145,95,0,224,251,230,102,
+201,226,194,194,86,83,75,75,145,211,233,180,151,150,150,26,25,99,93,210,
+65,33,230,194,201,237,109,124,173,169,193,69,159,15,171,203,203,152,157,
+153,73,92,238,236,52,73,146,132,64,32,16,148,143,2,55,120,189,88,157,152,
+192,153,138,10,64,211,140,31,231,231,99,138,162,160,182,182,182,225,143,
+9,238,169,170,187,203,98,241,229,194,23,70,70,240,197,239,71,121,71,7,222,
+249,124,56,62,57,137,21,73,74,153,252,254,173,247,154,246,12,68,4,34,130,
+221,110,119,245,215,215,79,127,168,171,227,159,85,85,188,116,187,69,108,
+125,93,124,242,251,69,108,109,77,76,57,28,34,196,152,152,45,44,20,83,138,
+194,47,201,242,109,34,194,30,28,14,135,19,186,174,167,28,170,58,29,28,28,
+220,229,156,139,197,209,81,17,219,216,248,11,190,34,203,158,108,227,61,
+88,100,74,215,245,228,221,254,254,112,60,26,21,156,243,67,97,34,130,98,
+48,24,78,50,198,142,101,115,48,155,205,121,55,134,135,79,61,246,122,195,
+103,211,233,114,75,48,40,11,206,17,225,60,25,76,167,239,60,213,245,39,251,
+131,151,156,78,231,195,104,52,186,35,114,42,18,137,36,175,89,173,111,94,
+24,141,252,160,206,123,87,200,188,130,228,114,185,30,237,151,16,81,178,
+167,170,234,181,77,150,111,2,144,14,19,148,0,176,246,245,245,5,114,37,75,
+75,75,17,155,205,214,13,32,31,128,1,64,17,128,226,204,50,1,200,203,126,
+229,24,128,162,177,177,177,231,241,120,220,210,220,220,124,46,145,72,164,
+198,199,199,95,105,154,150,0,80,151,57,19,7,240,19,192,47,0,156,136,82,
+191,1,15,132,144,175,125,174,182,28,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_26 = 354;
+static unsigned char xml_res_file_26[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,4,0,0,
+0,181,250,55,234,0,0,0,4,103,65,77,65,0,0,175,200,55,5,138,233,0,0,0,25,
+116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,
+97,103,101,82,101,97,100,121,113,201,101,60,0,0,0,244,73,68,65,84,40,207,
+125,209,49,75,2,113,28,198,241,255,36,220,212,218,212,203,232,117,248,6,
+122,25,66,65,105,135,98,41,92,40,166,57,152,56,4,162,32,210,96,17,81,112,
+80,81,232,224,18,34,14,218,165,253,35,212,228,16,212,65,191,13,162,104,
+119,39,207,240,123,134,207,240,192,79,32,230,41,123,23,109,61,203,242,202,
+179,186,17,60,81,231,49,176,1,232,140,120,231,230,196,17,60,48,226,151,
+42,197,176,3,184,99,72,151,30,101,178,97,91,80,194,228,27,201,15,47,164,
+53,27,112,205,128,54,6,6,18,157,68,196,2,10,244,249,160,73,11,73,155,123,
+206,98,255,64,14,147,14,6,159,196,135,209,138,54,9,17,140,173,129,43,106,
+92,142,171,244,137,206,180,109,4,66,85,188,202,10,200,144,146,201,221,243,
+102,29,157,80,198,102,100,234,45,185,131,136,184,11,152,4,166,234,150,5,
+92,40,243,123,42,27,220,114,116,108,1,139,248,247,242,52,56,48,61,46,7,
+224,115,29,126,237,87,60,203,207,254,1,68,64,48,239,127,84,49,47,0,0,0,
+0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_27 = 191;
+static unsigned char xml_res_file_27[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,
+120,0,0,0,7,116,73,77,69,7,223,3,7,12,8,41,118,186,173,51,0,0,0,94,73,68,
+65,84,56,203,237,208,177,13,64,96,0,68,225,143,74,161,16,19,104,85,214,
+144,88,192,92,22,48,140,90,162,212,41,173,160,80,104,244,226,87,72,196,
+235,223,93,238,248,52,241,19,57,199,132,38,52,32,66,135,29,237,171,33,49,
+122,108,168,67,142,202,80,97,197,28,114,228,136,5,197,93,57,197,112,54,
+151,33,219,147,115,123,233,231,146,3,135,47,13,108,178,51,92,195,0,0,0,
+0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_28 = 233;
+static unsigned char xml_res_file_28[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,24,0,0,0,24,8,6,0,0,
+0,224,119,61,248,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,
+0,0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,
+73,77,69,7,223,3,17,10,21,16,167,44,61,214,0,0,0,118,73,68,65,84,72,199,
+99,96,24,5,3,4,4,25,24,24,22,209,202,240,80,6,6,134,87,12,12,12,255,169,
+109,176,40,3,3,195,42,168,193,255,169,109,1,178,171,169,106,1,54,87,83,
+205,2,92,174,166,216,2,66,174,166,200,2,98,92,77,150,5,164,184,26,197,2,
+38,34,45,96,101,96,96,224,164,71,14,165,89,16,209,45,146,233,146,76,233,
+150,209,232,82,84,208,173,176,163,75,113,141,12,164,24,24,24,54,143,214,
+187,68,1,0,21,56,108,102,233,219,163,48,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_29 = 705;
+static unsigned char xml_res_file_29[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,22,0,0,0,22,8,3,0,0,
+0,243,106,156,9,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
+89,115,0,0,3,118,0,0,3,118,1,125,213,130,204,0,0,0,25,116,69,88,116,83,
+111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
+46,111,114,103,155,238,60,26,0,0,1,53,80,76,84,69,255,255,255,53,53,53,
+141,141,132,68,68,68,145,145,136,70,70,70,85,85,85,91,91,91,157,158,156,
+98,98,98,166,168,164,169,172,168,70,70,69,90,90,89,110,110,110,113,113,
+113,155,157,153,173,175,171,175,177,174,46,52,54,59,59,59,67,67,66,67,67,
+67,72,72,71,74,75,74,77,77,76,81,82,81,82,82,81,85,85,84,86,87,85,89,89,
+88,90,91,89,91,92,90,93,94,93,96,97,95,97,98,96,101,102,100,102,103,101,
+104,104,104,104,105,103,105,105,105,105,106,104,106,107,106,108,108,108,
+110,112,108,111,112,110,113,113,113,115,117,113,116,116,114,120,122,118,
+121,121,121,125,127,123,129,131,127,131,132,128,135,135,135,136,136,136,
+144,145,142,147,147,147,148,148,148,154,154,154,160,160,160,167,168,165,
+169,170,167,170,171,168,171,171,171,176,176,175,177,178,175,184,186,183,
+190,190,190,192,193,190,197,197,197,199,200,198,206,206,204,206,207,206,
+209,209,209,219,219,219,220,220,220,221,221,221,222,222,222,224,224,224,
+225,225,225,225,226,224,226,226,226,228,228,228,229,229,229,229,230,229,
+231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,236,236,
+237,237,237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,
+245,245,245,246,246,246,246,247,246,247,247,247,248,248,248,143,16,126,
+209,0,0,0,19,116,82,78,83,0,29,29,30,30,182,188,190,190,192,193,196,251,
+251,252,252,252,252,253,24,34,112,59,0,0,0,223,73,68,65,84,24,25,5,193,
+189,46,4,81,24,0,208,115,55,31,59,161,32,17,65,187,34,91,240,6,10,133,78,
+240,192,18,133,66,162,22,141,66,161,103,227,39,155,221,25,115,191,235,28,
+0,0,64,49,233,186,211,18,101,50,41,90,102,171,207,253,48,42,186,155,221,
+2,0,249,121,183,20,186,237,1,0,216,221,92,10,39,233,21,0,115,117,254,36,
+140,233,12,0,61,35,33,155,53,0,208,8,181,121,3,28,3,73,168,205,41,96,5,
+52,194,95,90,2,0,149,144,13,184,7,184,172,132,76,47,179,45,110,1,126,255,
+8,181,249,88,156,28,148,31,0,73,168,77,120,203,163,7,224,130,36,180,52,
+237,102,59,235,107,224,155,74,200,102,182,63,172,124,1,72,66,54,123,107,
+60,2,156,55,194,170,233,225,10,224,235,135,208,175,186,6,11,64,25,122,138,
+178,57,61,220,152,70,76,194,152,227,56,190,15,67,5,0,0,0,0,0,252,3,117,
+159,97,32,249,119,37,12,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_30 = 959;
+static unsigned char xml_res_file_30[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,22,0,0,0,22,8,6,0,0,
+0,196,180,108,59,0,0,3,134,73,68,65,84,120,218,181,149,107,76,147,87,24,
+199,155,104,116,198,104,162,115,102,153,82,47,195,180,165,64,21,105,49,
+105,65,93,177,5,106,189,176,49,41,5,235,4,177,197,82,241,26,209,76,52,128,
+20,140,10,82,72,172,184,240,1,185,234,170,91,50,205,166,117,134,169,100,
+49,85,252,224,7,46,133,2,149,251,53,161,96,0,255,246,156,164,196,119,138,
+6,204,222,228,151,156,247,57,231,249,229,60,239,115,222,28,22,235,255,124,
+46,92,200,240,42,45,47,121,104,185,253,235,68,89,249,117,84,84,150,225,
+246,111,22,220,253,243,14,254,126,104,197,147,154,199,176,217,158,82,200,
+152,196,200,28,89,83,89,85,142,155,150,170,113,146,159,151,103,100,51,196,
+215,126,41,178,58,95,57,49,50,50,130,209,209,209,105,227,26,113,193,209,
+210,140,138,27,229,255,48,196,87,175,93,25,31,28,28,196,192,192,192,140,
+25,26,26,162,59,103,136,211,51,206,160,191,191,159,98,52,26,167,133,39,
+143,144,155,119,17,12,241,137,147,199,209,219,219,75,113,185,92,211,194,
+147,71,56,155,158,198,20,31,57,118,8,61,61,61,159,205,207,105,167,152,98,
+67,138,30,221,221,221,148,79,149,238,89,247,33,72,229,12,177,46,73,139,
+174,174,46,202,240,240,240,71,241,172,251,16,71,143,30,102,138,247,37,38,
+160,163,163,99,198,180,183,183,163,179,179,19,57,231,179,153,226,61,63,
+105,232,228,84,248,7,138,166,68,32,12,130,52,92,129,127,109,53,88,33,94,
+130,133,252,89,119,89,28,214,2,42,86,199,198,192,233,116,82,116,58,29,106,
+107,107,39,223,9,228,140,126,140,134,166,122,112,66,87,34,161,40,18,27,
+211,56,88,28,48,231,17,21,255,184,43,10,109,109,109,20,177,88,12,169,84,
+10,179,217,140,150,150,150,201,56,161,181,181,149,242,110,172,201,209,132,
+0,133,47,226,114,35,16,91,25,2,105,33,23,95,6,206,125,73,197,59,35,119,
+82,9,33,66,17,49,73,126,126,62,141,145,146,55,201,228,80,105,52,208,38,
+39,67,159,114,136,114,224,96,10,148,241,114,40,79,75,176,215,178,5,138,
+18,62,22,175,159,221,246,5,143,181,130,138,149,202,173,112,56,28,148,24,
+181,10,90,221,126,216,158,217,104,67,72,140,252,178,77,14,59,184,161,108,
+176,131,151,192,92,82,130,51,231,77,216,188,75,14,81,60,23,137,55,21,136,
+186,19,0,182,116,17,230,251,178,252,39,155,23,22,38,71,115,115,51,229,214,
+45,11,109,24,17,122,98,164,228,77,42,17,162,47,202,16,119,37,28,223,72,
+22,34,238,112,2,188,195,151,34,201,178,13,209,247,69,88,245,253,34,196,
+39,107,152,167,66,42,253,14,118,187,157,66,154,229,25,123,248,65,21,3,182,
+228,43,40,47,7,34,230,119,9,66,11,120,248,58,100,30,18,111,40,17,251,96,
+3,2,79,122,65,163,223,141,204,204,12,166,88,38,219,50,214,216,216,136,169,
+232,235,235,131,221,209,8,239,224,229,144,23,241,160,250,43,8,81,22,17,
+52,15,130,161,172,20,32,220,253,157,185,124,127,100,103,27,199,254,35,150,
+253,97,181,90,209,208,208,128,250,250,250,247,168,171,171,163,149,92,190,
+90,4,191,48,30,118,84,8,176,247,169,4,241,207,67,192,85,44,67,94,97,1,56,
+124,129,123,199,153,247,24,98,161,80,232,165,86,171,173,6,131,97,92,171,
+213,66,175,215,35,53,53,21,89,89,89,48,153,76,40,46,46,70,117,117,53,142,
+156,205,65,142,169,0,235,182,243,161,121,34,198,90,253,50,228,154,47,225,
+245,27,224,91,46,127,194,157,195,158,209,21,118,32,53,253,245,189,154,23,
+40,117,55,56,40,218,31,134,115,73,152,0,48,234,22,175,94,195,25,156,241,
+221,184,81,182,245,28,199,111,221,24,87,32,4,207,13,119,173,8,62,110,214,
+248,8,198,150,175,244,78,123,119,237,91,162,105,120,83,149,55,114,163,0,
+0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_31 = 660;
+static unsigned char xml_res_file_31[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,2,91,73,68,65,84,120,218,157,210,221,75,211,81,24,7,
+240,243,31,216,69,86,4,213,50,82,39,249,182,108,195,156,47,108,211,77,242,
+101,230,12,45,92,37,155,13,249,81,102,51,196,185,57,171,197,18,234,106,
+168,161,204,18,179,200,124,105,97,9,9,81,87,21,132,93,140,110,6,186,233,
+222,218,230,16,199,100,119,223,60,7,230,133,44,164,126,240,225,119,158,
+223,243,112,158,231,28,126,100,113,241,189,122,242,197,68,100,116,108,4,
+147,83,19,152,157,123,131,15,139,11,248,252,229,19,190,125,255,138,229,
+229,31,236,77,99,250,157,230,105,157,253,217,104,120,122,118,186,137,12,
+63,181,133,188,94,47,18,137,196,63,241,250,188,152,155,159,137,18,147,185,
+15,155,155,155,255,197,58,248,16,164,167,247,46,162,209,40,99,29,180,236,
+43,89,75,221,183,12,128,116,233,59,177,177,177,193,108,111,111,239,43,89,
+75,153,250,251,64,184,155,29,8,135,195,204,223,186,38,243,123,209,233,73,
+187,78,139,80,40,196,196,227,241,148,146,249,189,238,232,187,64,174,93,
+191,138,96,48,200,24,141,70,248,124,190,221,56,175,72,152,82,169,68,198,
+54,48,154,118,142,112,249,74,11,252,126,63,83,82,114,30,58,157,14,46,151,
+139,197,177,88,44,37,58,213,49,241,65,232,244,90,16,85,83,35,235,74,201,
+21,114,198,60,96,102,113,113,89,5,26,46,53,163,189,131,3,215,121,155,137,
+68,34,56,85,117,24,109,115,50,28,21,167,129,212,213,215,98,109,109,141,
+161,155,141,141,141,178,238,52,222,218,218,194,235,183,243,224,75,51,49,
+52,62,133,199,195,227,200,144,166,227,198,66,53,42,135,248,224,149,167,
+131,40,170,21,240,120,60,204,210,210,71,4,2,254,221,152,118,206,145,157,
+134,234,73,25,50,101,60,100,87,242,208,54,45,71,205,203,92,100,201,142,
+195,250,200,10,34,145,74,176,186,186,202,208,95,58,185,118,187,221,236,
+188,89,210,19,104,176,23,161,106,132,143,22,123,5,84,239,10,113,68,148,
+198,46,185,85,221,10,34,46,21,99,101,101,37,165,64,32,128,145,231,175,112,
+182,46,23,23,103,10,161,253,89,142,140,170,67,232,191,247,128,229,106,106,
+107,64,68,34,145,223,233,116,178,155,223,107,125,125,29,92,175,5,191,220,
+65,20,55,231,227,100,253,1,208,39,251,76,1,155,80,169,84,254,38,2,129,64,
+162,86,171,195,42,149,10,26,141,6,221,221,221,176,88,44,176,217,108,112,
+56,28,184,165,239,1,63,175,8,252,252,115,59,132,200,41,16,162,250,66,29,
+12,6,67,132,227,184,198,63,63,34,251,59,19,238,234,169,0,0,0,0,73,69,78,
+68,174,66,96,130};
+
+static size_t xml_res_size_32 = 586;
+static unsigned char xml_res_file_32[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
+0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
+89,115,0,0,1,187,0,0,1,187,1,58,236,227,226,0,0,0,25,116,69,88,116,83,111,
+102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
+111,114,103,155,238,60,26,0,0,0,249,80,76,84,69,52,52,52,108,108,108,172,
+174,170,184,185,182,55,55,55,80,80,80,151,153,148,94,94,94,158,159,155,
+99,99,99,164,165,162,175,176,173,46,52,54,59,59,58,60,61,60,66,67,66,71,
+72,71,72,73,72,76,77,76,78,79,77,82,83,82,84,84,84,84,85,83,87,88,87,90,
+91,89,93,94,92,96,97,95,98,99,97,100,100,100,102,104,101,104,104,104,104,
+105,103,108,110,106,109,110,108,114,116,112,115,116,114,117,117,117,120,
+122,118,125,125,125,126,127,124,126,128,124,128,129,128,131,133,129,133,
+133,133,136,138,133,136,138,134,148,148,148,155,156,152,156,156,155,164,
+164,164,164,166,162,174,174,174,174,175,172,183,184,181,188,188,187,193,
+194,191,201,202,200,207,207,205,212,212,212,215,215,215,219,219,219,222,
+222,222,223,223,223,224,224,224,225,225,225,226,226,226,228,228,228,228,
+229,228,229,229,229,230,230,230,231,231,230,232,232,232,234,234,234,235,
+235,235,237,237,237,238,238,238,239,239,239,240,240,240,241,241,241,243,
+243,243,245,245,245,246,246,246,248,248,248,252,37,241,89,0,0,0,12,116,
+82,78,83,66,83,85,94,230,233,234,235,235,236,236,238,8,155,192,110,0,0,
+0,171,73,68,65,84,24,25,5,193,187,74,3,65,20,0,208,179,59,23,227,11,209,
+194,70,49,74,48,127,96,17,176,17,253,110,237,4,27,219,52,86,86,86,41,52,
+16,54,201,206,29,207,137,50,153,151,190,235,187,174,181,108,185,220,69,
+89,156,3,224,226,35,102,39,123,0,28,207,162,166,111,128,91,106,212,102,
+14,176,165,70,54,95,224,6,100,212,230,30,12,32,163,54,203,105,241,14,60,
+102,100,250,25,166,71,47,192,38,35,155,242,183,186,126,133,5,99,212,234,
+224,234,114,124,134,53,25,217,220,157,239,188,1,15,25,153,78,7,221,19,176,
+174,209,154,61,237,23,144,177,169,61,0,218,58,198,207,179,201,225,164,148,
+62,107,221,14,171,241,31,92,154,77,35,153,199,126,105,0,0,0,0,73,69,78,
+68,174,66,96,130};
+
+static size_t xml_res_size_33 = 338;
+static unsigned char xml_res_file_33[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
+0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
+112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
+7,223,1,2,15,12,16,2,139,253,52,0,0,0,223,73,68,65,84,40,207,157,209,59,
+74,131,81,20,4,224,47,15,5,55,96,109,235,2,236,127,59,69,212,70,36,190,
+64,196,206,77,204,54,108,84,136,79,208,16,181,176,253,55,225,38,92,130,
+196,104,115,19,98,72,163,211,28,184,51,115,206,153,115,249,35,26,144,100,
+17,235,184,73,50,152,20,36,105,227,0,111,73,62,154,229,125,27,87,232,38,
+105,77,137,175,11,183,5,237,194,93,96,21,123,152,79,210,65,19,79,216,192,
+45,46,199,43,149,110,243,120,196,38,238,10,215,193,43,118,146,124,254,50,
+20,83,11,221,50,73,49,30,37,249,26,105,154,51,142,208,152,117,152,17,38,
+3,206,149,142,187,165,190,151,73,203,85,85,245,235,186,30,142,13,73,22,
+208,47,151,56,199,9,122,88,194,62,86,170,170,234,213,117,61,24,173,116,
+136,53,220,227,44,201,119,146,33,78,241,80,184,131,201,12,207,56,158,14,
+88,62,241,176,112,47,254,131,31,64,171,69,137,215,114,159,30,0,0,0,0,73,
+69,78,68,174,66,96,130};
+
+static size_t xml_res_size_34 = 244;
+static unsigned char xml_res_file_34[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
+0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
+112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
+7,223,1,2,15,9,26,159,41,224,111,0,0,0,129,73,68,65,84,40,207,157,209,75,
+10,194,48,20,5,208,99,127,226,6,186,61,39,186,39,135,78,90,69,113,34,66,
+151,87,39,79,72,67,4,237,133,76,238,239,189,36,172,68,143,61,154,130,214,
+132,214,167,228,17,51,46,168,51,243,53,180,67,26,168,49,134,240,64,139,
+45,94,193,13,89,17,232,240,12,195,24,211,230,224,186,111,119,73,39,125,
+130,139,230,42,11,108,226,228,92,17,45,238,133,149,110,161,45,176,195,20,
+134,83,180,86,56,7,55,133,103,253,179,254,253,113,63,227,13,67,98,32,78,
+10,176,145,24,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_35 = 247;
+static unsigned char xml_res_file_35[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,12,0,0,0,12,8,6,0,0,
+0,86,117,92,231,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,
+112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,77,69,
+7,223,1,2,15,14,52,12,190,123,103,0,0,0,132,73,68,65,84,40,207,165,209,
+57,14,194,48,16,5,208,236,40,23,200,245,104,224,78,148,52,4,4,162,65,72,
+57,222,163,96,34,25,43,20,129,47,185,249,219,140,237,162,248,5,24,176,69,
+179,160,53,161,13,41,185,247,198,25,117,102,190,132,182,75,3,53,198,16,
+238,104,177,193,51,184,83,90,52,135,58,60,194,48,198,52,193,117,223,238,
+146,78,154,131,31,205,85,150,41,227,228,220,98,123,139,219,194,74,87,180,
+185,185,199,20,134,3,74,84,56,6,55,161,255,235,89,215,125,220,26,188,0,
+172,66,241,124,65,212,118,25,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_36 = 422;
+static unsigned char xml_res_file_36[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
+77,69,7,223,2,2,7,30,8,32,160,62,217,0,0,1,51,73,68,65,84,56,203,157,147,
+61,78,195,64,16,133,191,217,13,52,62,0,105,16,18,13,9,134,42,185,64,20,
+37,84,201,37,64,129,3,112,14,140,128,116,228,22,145,112,160,241,1,112,105,
+131,34,209,164,202,5,220,36,246,46,141,65,22,114,200,207,87,173,102,119,
+158,244,118,230,9,127,136,235,245,51,101,204,165,21,233,0,7,121,121,14,
+188,25,173,159,221,40,138,139,239,229,231,16,185,238,190,202,178,59,224,
+6,208,148,147,1,195,196,113,110,155,97,184,252,21,200,155,199,64,135,205,
+152,24,173,251,110,20,45,20,128,202,178,199,178,102,199,243,112,60,175,
+76,224,66,167,169,7,160,62,106,181,115,224,138,45,177,34,215,145,235,158,
+42,96,0,40,182,71,139,49,3,101,69,218,236,136,88,219,86,98,237,33,187,115,
+164,138,163,220,133,138,21,153,137,181,245,178,203,229,100,178,174,127,
+86,17,107,125,160,84,96,225,251,235,4,94,148,81,106,148,111,24,91,236,1,
+64,170,140,25,41,55,142,35,43,242,180,202,194,63,54,238,79,166,211,79,1,
+120,111,52,246,156,36,25,3,221,13,255,206,159,87,171,189,86,16,164,10,160,
+25,134,75,163,117,15,24,174,178,83,8,211,67,226,56,253,86,16,164,148,141,
+176,16,231,46,112,156,151,191,128,215,178,56,127,3,147,219,116,171,47,3,
+146,196,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_37 = 345;
+static unsigned char xml_res_file_37[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
+77,69,7,223,2,2,7,30,49,127,165,182,209,0,0,0,230,73,68,65,84,56,203,205,
+210,61,74,4,65,16,5,224,111,151,13,196,68,17,19,83,131,17,196,9,52,222,
+19,136,176,161,70,29,171,32,122,134,61,194,226,79,62,145,153,226,85,58,
+16,39,48,53,80,76,53,211,164,103,25,134,102,86,35,125,80,201,235,122,85,
+245,170,139,127,141,24,138,189,24,138,221,190,156,65,143,120,3,143,248,
+194,118,89,213,47,185,188,97,79,241,43,172,96,21,151,191,154,32,134,98,
+130,251,14,61,41,171,250,97,97,129,24,138,101,68,108,226,58,209,167,120,
+198,78,89,213,31,139,44,76,147,24,94,83,72,220,180,119,7,105,227,231,61,
+123,185,232,254,202,176,37,30,96,134,81,235,125,45,69,131,17,102,41,119,
+78,52,56,193,184,211,241,44,51,197,24,199,184,153,47,49,134,98,29,79,157,
+110,112,155,114,14,59,252,59,182,202,170,126,107,44,28,100,196,112,148,
+17,55,214,246,219,22,238,210,209,44,253,240,202,63,51,119,242,71,248,6,
+220,208,46,161,188,94,194,94,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_38 = 663;
+static unsigned char xml_res_file_38[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
+77,69,7,223,2,2,7,29,59,180,93,12,12,0,0,2,36,73,68,65,84,56,203,205,146,
+79,72,211,113,24,198,63,239,119,191,217,166,219,98,142,58,88,122,144,176,
+67,148,165,118,144,2,47,46,58,4,117,168,29,84,36,33,33,144,66,208,202,168,
+131,80,161,65,226,69,9,162,63,8,14,101,23,79,117,178,14,29,35,178,146,144,
+150,20,9,22,173,152,172,196,173,246,219,247,237,160,131,10,3,161,75,207,
+233,129,247,125,158,247,121,95,94,248,71,200,70,154,46,12,14,110,246,59,
+78,45,64,214,117,95,92,239,235,203,20,107,206,70,12,252,94,239,144,42,187,
+1,124,142,247,37,208,185,110,130,155,99,137,109,167,219,79,124,24,141,79,
+244,139,225,199,231,100,114,192,95,190,229,216,74,62,55,44,198,212,162,
+106,176,250,12,180,189,191,183,247,241,111,6,35,99,99,17,113,156,5,81,115,
+30,163,199,213,146,19,195,3,85,6,210,169,212,184,107,11,89,65,76,160,172,
+44,184,119,87,221,213,244,199,119,239,99,177,88,65,0,70,199,39,15,89,143,
+166,141,213,27,64,211,31,27,76,47,47,127,187,239,96,118,84,87,85,237,41,
+245,149,134,29,199,179,164,200,172,199,205,245,56,0,34,122,198,88,61,242,
+139,232,233,90,186,122,160,57,16,8,54,111,13,71,94,133,130,193,79,54,91,
+114,208,186,96,124,249,41,235,245,119,27,128,212,155,215,71,129,183,171,
+90,237,238,106,109,217,223,213,218,210,32,66,207,154,97,50,28,8,90,235,
+234,100,52,218,144,137,70,27,50,42,26,7,141,57,163,241,120,43,200,120,113,
+116,65,245,94,145,123,28,231,142,155,119,135,128,154,212,82,154,112,40,
+212,145,72,36,238,2,136,114,24,225,150,193,235,125,40,104,20,97,17,192,
+49,102,95,209,192,205,231,235,0,20,93,80,107,59,188,30,207,98,164,162,114,
+38,82,81,57,3,100,85,205,35,1,24,137,79,92,22,244,50,176,9,248,162,202,
+53,17,17,208,75,64,4,200,41,122,101,231,246,234,41,143,145,82,128,130,213,
+149,104,83,227,156,3,96,84,11,24,206,169,234,73,144,58,17,134,65,87,47,
+2,79,80,38,4,41,137,54,53,206,253,245,149,111,39,18,229,223,243,110,18,
+116,26,76,61,168,130,204,130,30,40,168,173,57,219,214,246,117,189,47,53,
+69,18,130,140,10,125,190,92,174,19,152,1,121,46,216,83,34,92,76,207,207,
+47,243,223,226,39,100,210,215,54,36,112,82,73,0,0,0,0,73,69,78,68,174,66,
+96,130};
+
+static size_t xml_res_size_39 = 12410;
+static unsigned char xml_res_file_39[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,11,144,0,0,0,7,8,6,0,
+0,0,196,4,67,7,0,0,8,60,73,68,65,84,120,156,237,157,209,139,93,87,21,135,
+191,117,25,134,48,72,169,50,20,21,25,34,212,34,33,168,51,167,17,20,218,
+6,20,95,244,161,62,168,40,62,156,74,137,10,245,173,255,130,250,15,52,148,
+148,130,135,182,144,135,34,182,138,21,164,15,17,250,36,156,49,132,32,161,
+250,112,9,162,18,68,67,8,121,8,195,93,62,220,155,102,102,50,119,239,123,
+102,159,57,251,236,189,215,247,122,46,217,235,174,189,206,90,191,223,222,
+185,9,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,
+97,24,134,97,24,134,97,24,134,97,24,134,97,24,69,32,177,3,40,149,170,209,
+51,170,250,130,136,252,75,209,215,118,235,201,221,216,49,149,64,213,232,
+26,202,15,85,116,91,144,223,180,181,92,137,29,83,174,84,141,174,3,47,130,
+126,14,184,220,214,147,63,199,142,41,23,170,70,39,192,55,84,249,166,136,
+254,9,228,157,182,150,189,216,113,165,202,78,51,251,152,32,23,20,62,37,
+240,171,182,150,191,198,142,9,210,233,87,57,214,99,213,232,105,133,159,
+10,252,15,120,189,173,229,63,57,173,55,38,250,208,67,54,111,142,166,106,
+116,19,120,81,149,143,139,240,106,91,203,212,241,217,243,160,223,6,254,
+2,242,86,234,239,240,73,80,53,179,47,43,124,95,224,111,32,175,183,181,220,
+127,248,76,63,13,252,24,5,132,75,109,45,255,28,38,166,116,250,175,171,30,
+83,153,119,251,233,242,126,245,180,222,154,194,243,168,62,39,194,239,65,
+254,216,214,50,123,248,124,121,125,166,78,95,239,151,107,222,12,189,159,
+99,161,203,252,116,233,101,95,125,150,130,75,207,249,250,245,80,231,67,
+85,163,235,99,237,15,190,122,116,229,119,140,126,46,134,62,117,233,57,87,
+60,41,233,137,163,232,107,255,125,243,198,147,223,44,253,92,151,254,238,
+211,115,174,252,150,226,231,124,122,195,227,55,124,249,61,159,187,159,243,
+235,225,227,231,247,208,58,217,214,163,71,15,7,229,119,197,245,179,158,
+55,33,249,237,155,253,235,237,190,48,249,217,73,173,211,5,223,254,135,228,
+183,20,66,252,198,161,63,167,72,255,22,226,55,186,173,147,245,249,204,249,
+227,248,141,24,241,140,145,16,191,97,116,59,63,206,89,207,133,208,71,127,
+74,93,207,133,48,182,251,128,212,200,237,251,196,166,212,251,140,33,72,
+241,190,50,85,108,94,199,99,153,191,94,139,29,88,137,84,141,110,170,242,
+46,34,79,2,8,124,22,24,197,65,78,1,252,8,225,85,65,38,192,133,170,209,47,
+182,181,124,24,59,168,44,81,125,89,69,126,46,243,223,169,252,160,106,102,
+231,218,122,114,51,118,88,57,160,240,85,224,93,96,29,228,39,192,119,128,
+119,226,70,149,46,130,252,18,120,105,113,112,243,124,213,232,87,70,114,
+225,155,68,191,202,173,30,171,70,55,20,126,141,178,179,248,153,221,54,240,
+189,92,214,27,19,189,233,33,155,55,75,208,139,32,223,69,64,225,235,85,163,
+207,180,181,220,59,252,169,170,209,167,128,63,128,156,2,102,192,58,240,
+218,208,209,142,153,170,153,109,129,252,78,224,9,5,68,245,113,224,23,15,
+158,43,92,22,120,22,1,85,206,3,207,13,17,87,90,253,215,89,143,73,204,187,
+131,172,246,126,245,182,154,234,183,68,228,178,138,172,41,92,0,253,26,240,
+1,248,235,51,117,250,120,191,252,243,102,216,253,28,13,29,230,167,75,47,
+187,234,179,20,124,122,206,213,175,7,61,31,82,125,153,177,246,7,71,61,250,
+242,59,74,63,55,176,62,245,234,57,71,60,105,233,137,71,233,107,255,93,243,
+198,149,223,156,253,92,199,254,238,212,115,206,121,94,140,159,91,174,55,
+86,208,115,75,243,91,138,159,243,215,99,80,126,247,47,148,101,61,250,244,
+70,72,126,87,37,231,121,19,158,223,126,217,191,30,35,185,119,244,237,127,
+72,126,75,32,196,111,28,166,88,255,22,224,55,86,37,231,243,153,16,191,17,
+37,158,17,114,92,191,97,124,196,234,231,199,153,234,185,16,250,234,79,169,
+235,185,48,198,115,31,144,34,185,125,159,248,20,122,159,49,12,9,222,87,
+38,138,205,235,40,184,252,245,36,106,100,133,162,176,137,232,22,170,168,
+42,10,59,177,99,42,5,133,109,85,157,232,60,247,167,20,206,198,142,41,91,
+68,206,61,168,113,84,55,65,182,98,135,148,13,202,89,84,215,65,81,213,53,
+84,183,99,135,148,54,186,163,170,128,162,232,150,194,102,236,136,32,161,
+126,149,89,61,42,108,136,234,153,197,247,1,120,58,167,245,198,68,111,122,
+200,230,205,145,168,202,211,139,156,128,234,25,133,141,35,63,7,103,85,245,
+212,162,215,76,116,126,73,98,28,64,182,80,221,252,40,159,34,231,14,60,133,
+157,69,254,16,25,80,215,39,212,127,93,245,152,204,188,219,199,170,239,87,
+95,136,176,189,216,99,230,123,46,251,114,228,174,207,212,233,227,253,242,
+205,155,161,247,115,52,116,154,159,203,245,178,187,62,203,192,171,231,28,
+253,122,208,243,161,49,247,7,71,61,250,245,242,8,253,220,192,250,212,171,
+231,92,241,36,164,39,142,166,159,253,119,205,27,87,126,115,246,115,93,250,
+187,79,207,57,231,121,33,126,206,173,55,220,122,206,149,223,82,252,156,
+175,30,67,242,123,104,161,44,235,209,167,55,194,242,187,114,16,217,206,
+155,208,252,246,205,129,245,198,130,119,255,143,159,223,18,8,241,27,135,
+41,214,191,5,249,141,149,23,201,246,124,38,200,111,196,136,103,132,28,215,
+111,24,115,58,157,31,103,170,231,194,232,169,63,37,175,231,142,207,184,
+238,3,210,35,183,239,19,155,98,239,51,6,32,197,251,202,100,177,121,29,5,
+151,191,182,191,64,30,135,41,240,91,129,61,65,238,2,151,34,199,83,14,202,
+155,34,114,75,68,102,34,114,77,224,253,216,33,101,204,37,17,238,8,204,16,
+185,2,122,53,118,64,185,32,194,123,130,220,16,145,25,200,77,68,222,142,
+29,83,202,168,114,73,224,174,192,30,243,222,60,141,29,19,144,76,191,202,
+173,30,5,110,35,242,134,136,236,9,220,3,46,230,180,222,200,152,210,143,
+30,178,121,115,4,34,92,20,225,158,136,236,137,200,27,192,237,35,63,7,239,
+139,200,181,69,175,185,133,242,230,192,161,38,128,94,69,228,202,60,71,220,
+225,209,90,125,69,68,238,139,200,125,224,149,161,162,74,169,255,58,235,
+49,145,121,183,159,85,223,175,222,80,121,27,145,155,34,50,19,228,6,240,
+222,190,135,190,250,76,157,62,222,175,41,142,121,51,248,126,142,135,149,
+231,167,83,47,59,235,179,12,124,122,206,211,175,167,12,119,62,52,230,254,
+176,180,30,125,249,29,169,159,27,84,159,174,160,231,150,231,55,33,61,113,
+20,61,238,255,210,121,227,202,111,214,126,174,75,127,247,235,57,215,60,
+47,194,207,185,245,134,71,207,57,242,91,140,159,243,212,99,80,126,15,146,
+107,61,78,113,233,141,160,252,174,70,230,243,102,74,64,126,251,15,246,225,
+122,39,186,78,7,124,251,31,148,223,2,8,244,27,7,41,215,191,29,219,111,172,
+78,190,231,51,33,126,35,82,60,99,228,88,126,195,88,208,237,252,56,87,61,
+23,64,63,253,41,117,61,23,194,184,238,3,18,36,183,239,19,153,130,239,51,
+78,158,4,239,43,19,198,230,117,28,166,44,241,215,18,45,164,194,169,154,
+217,58,200,151,64,255,219,214,147,191,199,142,167,36,170,70,63,3,186,5,
+92,111,235,201,157,216,241,228,76,213,232,105,224,147,192,53,251,111,83,
+250,165,106,244,113,224,44,232,135,109,61,185,21,59,158,212,169,154,217,
+147,32,159,0,189,218,214,147,251,177,227,121,64,42,253,42,183,122,220,105,
+116,2,186,35,200,61,133,27,187,245,201,94,184,12,189,222,152,232,75,15,
+217,188,121,148,121,93,241,121,208,13,144,93,87,93,85,205,236,177,197,47,
+254,111,182,181,252,99,184,40,211,161,106,116,3,248,2,232,191,219,122,50,
+221,255,108,167,153,77,100,241,47,38,40,122,125,183,158,12,246,14,167,210,
+127,125,245,152,202,188,123,64,151,247,171,47,170,70,159,0,158,2,174,183,
+181,220,62,244,108,105,125,166,78,95,239,151,107,222,196,216,207,177,208,
+101,126,186,244,178,171,62,75,193,167,231,92,253,218,206,135,230,184,234,
+209,159,223,241,249,185,161,245,169,79,207,185,226,73,69,79,44,163,143,
+253,247,205,27,87,126,115,246,115,93,250,187,75,207,249,243,155,191,159,
+91,65,15,59,245,156,43,191,165,248,57,87,61,134,230,247,208,103,79,147,
+97,61,250,244,70,72,126,87,143,33,223,121,19,146,223,147,137,117,190,94,
+91,203,7,39,189,214,170,248,246,63,36,191,37,16,226,55,14,83,170,127,11,
+241,27,29,214,200,246,124,38,196,111,196,136,103,108,132,248,13,99,78,151,
+243,227,92,245,92,8,125,245,167,212,245,220,113,25,219,125,64,138,228,246,
+125,98,82,242,125,198,16,164,118,95,153,50,54,175,227,96,254,218,48,12,
+195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,
+48,12,195,48,12,195,48,12,163,112,254,15,18,248,19,251,210,181,219,40,0,
+0,0,0,73,69,78,68,174,66,96,130,105,109,97,103,101,115,47,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,48,48,55,55,55,0,51,49,48,51,48,48,51,
+0,48,50,53,49,49,52,48,0,48,48,48,48,48,48,48,48,48,48,48,0,49,50,52,54,
+52,49,49,54,54,49,49,0,48,49,52,55,54,50,0,32,53,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,115,116,97,114,32,32,0,112,114,101,
+108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,112,114,101,108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,109,97,103,101,115,47,115,112,114,105,
+116,101,115,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,48,48,54,54,54,0,
+51,49,48,51,48,48,51,0,48,50,53,49,49,52,48,0,48,48,48,48,48,48,48,52,49,
+54,53,0,49,50,52,54,52,49,49,54,54,49,49,0,48,49,55,49,54,55,0,32,48,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,115,116,97,114,
+32,32,0,112,114,101,108,111,97,100,101,114,115,46,110,101,116,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,112,114,101,108,111,97,100,101,114,115,46,110,
+101,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,80,78,71,13,10,26,
+10,0,0,0,13,73,72,68,82,0,0,11,144,0,0,0,7,8,6,0,0,0,196,4,67,7,0,0,8,60,
+73,68,65,84,120,156,237,157,209,139,93,87,21,135,191,117,25,134,48,72,169,
+50,20,21,25,34,212,34,33,168,51,167,17,20,218,6,20,95,244,161,62,168,40,
+62,156,74,137,10,245,173,255,130,250,15,52,148,148,130,135,182,144,135,
+34,182,138,21,164,15,17,250,36,156,49,132,32,161,250,112,9,162,18,68,67,
+8,121,8,195,93,62,220,155,102,102,50,119,239,123,102,159,57,251,236,189,
+215,247,122,46,217,235,174,189,206,90,191,223,222,185,9,24,134,97,24,134,
+97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,24,134,97,
+24,134,97,24,134,97,24,69,32,177,3,40,149,170,209,51,170,250,130,136,252,
+75,209,215,118,235,201,221,216,49,149,64,213,232,26,202,15,85,116,91,144,
+223,180,181,92,137,29,83,174,84,141,174,3,47,130,126,14,184,220,214,147,
+63,199,142,41,23,170,70,39,192,55,84,249,166,136,254,9,228,157,182,150,
+189,216,113,165,202,78,51,251,152,32,23,20,62,37,240,171,182,150,191,198,
+142,9,210,233,87,57,214,99,213,232,105,133,159,10,252,15,120,189,173,229,
+63,57,173,55,38,250,208,67,54,111,142,166,106,116,19,120,81,149,143,139,
+240,106,91,203,212,241,217,243,160,223,6,254,2,242,86,234,239,240,73,80,
+53,179,47,43,124,95,224,111,32,175,183,181,220,127,248,76,63,13,252,24,
+5,132,75,109,45,255,28,38,166,116,250,175,171,30,83,153,119,251,233,242,
+126,245,180,222,154,194,243,168,62,39,194,239,65,254,216,214,50,123,248,
+124,121,125,166,78,95,239,151,107,222,12,189,159,99,161,203,252,116,233,
+101,95,125,150,130,75,207,249,250,245,80,231,67,85,163,235,99,237,15,190,
+122,116,229,119,140,126,46,134,62,117,233,57,87,60,41,233,137,163,232,107,
+255,125,243,198,147,223,44,253,92,151,254,238,211,115,174,252,150,226,231,
+124,122,195,227,55,124,249,61,159,187,159,243,235,225,227,231,247,208,58,
+217,214,163,71,15,7,229,119,197,245,179,158,55,33,249,237,155,253,235,237,
+190,48,249,217,73,173,211,5,223,254,135,228,183,20,66,252,198,161,63,167,
+72,255,22,226,55,186,173,147,245,249,204,249,227,248,141,24,241,140,145,
+16,191,97,116,59,63,206,89,207,133,208,71,127,74,93,207,133,48,182,251,
+128,212,200,237,251,196,166,212,251,140,33,72,241,190,50,85,108,94,199,
+99,153,191,94,139,29,88,137,84,141,110,170,242,46,34,79,2,8,124,22,24,197,
+65,78,1,252,8,225,85,65,38,192,133,170,209,47,182,181,124,24,59,168,44,
+81,125,89,69,126,46,243,223,169,252,160,106,102,231,218,122,114,51,118,
+88,57,160,240,85,224,93,96,29,228,39,192,119,128,119,226,70,149,46,130,
+252,18,120,105,113,112,243,124,213,232,87,70,114,225,155,68,191,202,173,
+30,171,70,55,20,126,141,178,179,248,153,221,54,240,189,92,214,27,19,189,
+233,33,155,55,75,208,139,32,223,69,64,225,235,85,163,207,180,181,220,59,
+252,169,170,209,167,128,63,128,156,2,102,192,58,240,218,208,209,142,153,
+170,153,109,129,252,78,224,9,5,68,245,113,224,23,15,158,43,92,22,120,22,
+1,85,206,3,207,13,17,87,90,253,215,89,143,73,204,187,131,172,246,126,245,
+182,154,234,183,68,228,178,138,172,41,92,0,253,26,240,1,248,235,51,117,
+250,120,191,252,243,102,216,253,28,13,29,230,167,75,47,187,234,179,20,124,
+122,206,213,175,7,61,31,82,125,153,177,246,7,71,61,250,242,59,74,63,55,
+176,62,245,234,57,71,60,105,233,137,71,233,107,255,93,243,198,149,223,156,
+253,92,199,254,238,212,115,206,121,94,140,159,91,174,55,86,208,115,75,243,
+91,138,159,243,215,99,80,126,247,47,148,101,61,250,244,70,72,126,87,37,
+231,121,19,158,223,126,217,191,30,35,185,119,244,237,127,72,126,75,32,196,
+111,28,166,88,255,22,224,55,86,37,231,243,153,16,191,17,37,158,17,114,92,
+191,97,124,196,234,231,199,153,234,185,16,250,234,79,169,235,185,48,198,
+115,31,144,34,185,125,159,248,20,122,159,49,12,9,222,87,38,138,205,235,
+40,184,252,245,36,106,100,133,162,176,137,232,22,170,168,42,10,59,177,99,
+42,5,133,109,85,157,232,60,247,167,20,206,198,142,41,91,68,206,61,168,113,
+84,55,65,182,98,135,148,13,202,89,84,215,65,81,213,53,84,183,99,135,148,
+54,186,163,170,128,162,232,150,194,102,236,136,32,161,126,149,89,61,42,
+108,136,234,153,197,247,1,120,58,167,245,198,68,111,122,200,230,205,145,
+168,202,211,139,156,128,234,25,133,141,35,63,7,103,85,245,212,162,215,76,
+116,126,73,98,28,64,182,80,221,252,40,159,34,231,14,60,133,157,69,254,16,
+25,80,215,39,212,127,93,245,152,204,188,219,199,170,239,87,95,136,176,189,
+216,99,230,123,46,251,114,228,174,207,212,233,227,253,242,205,155,161,247,
+115,52,116,154,159,203,245,178,187,62,203,192,171,231,28,253,122,208,243,
+161,49,247,7,71,61,250,245,242,8,253,220,192,250,212,171,231,92,241,36,
+164,39,142,166,159,253,119,205,27,87,126,115,246,115,93,250,187,79,207,
+57,231,121,33,126,206,173,55,220,122,206,149,223,82,252,156,175,30,67,242,
+123,104,161,44,235,209,167,55,194,242,187,114,16,217,206,155,208,252,246,
+205,129,245,198,130,119,255,143,159,223,18,8,241,27,135,41,214,191,5,249,
+141,149,23,201,246,124,38,200,111,196,136,103,132,28,215,111,24,115,58,
+157,31,103,170,231,194,232,169,63,37,175,231,142,207,184,238,3,210,35,183,
+239,19,155,98,239,51,6,32,197,251,202,100,177,121,29,5,151,191,182,191,
+64,30,135,41,240,91,129,61,65,238,2,151,34,199,83,14,202,155,34,114,75,
+68,102,34,114,77,224,253,216,33,101,204,37,17,238,8,204,16,185,2,122,53,
+118,64,185,32,194,123,130,220,16,145,25,200,77,68,222,142,29,83,202,168,
+114,73,224,174,192,30,243,222,60,141,29,19,144,76,191,202,173,30,5,110,
+35,242,134,136,236,9,220,3,46,230,180,222,200,152,210,143,30,178,121,115,
+4,34,92,20,225,158,136,236,137,200,27,192,237,35,63,7,239,139,200,181,69,
+175,185,133,242,230,192,161,38,128,94,69,228,202,60,71,220,225,209,90,125,
+69,68,238,139,200,125,224,149,161,162,74,169,255,58,235,49,145,121,183,
+159,85,223,175,222,80,121,27,145,155,34,50,19,228,6,240,222,190,135,190,
+250,76,157,62,222,175,41,142,121,51,248,126,142,135,149,231,167,83,47,59,
+235,179,12,124,122,206,211,175,167,12,119,62,52,230,254,176,180,30,125,
+249,29,169,159,27,84,159,174,160,231,150,231,55,33,61,113,20,61,238,255,
+210,121,227,202,111,214,126,174,75,127,247,235,57,215,60,47,194,207,185,
+245,134,71,207,57,242,91,140,159,243,212,99,80,126,15,146,107,61,78,113,
+233,141,160,252,174,70,230,243,102,74,64,126,251,15,246,225,122,39,186,
+78,7,124,251,31,148,223,2,8,244,27,7,41,215,191,29,219,111,172,78,190,231,
+51,33,126,35,82,60,99,228,88,126,195,88,208,237,252,56,87,61,23,64,63,253,
+41,117,61,23,194,184,238,3,18,36,183,239,19,153,130,239,51,78,158,4,239,
+43,19,198,230,117,28,166,44,241,215,18,45,164,194,169,154,217,58,200,151,
+64,255,219,214,147,191,199,142,167,36,170,70,63,3,186,5,92,111,235,201,
+157,216,241,228,76,213,232,105,224,147,192,53,251,111,83,250,165,106,244,
+113,224,44,232,135,109,61,185,21,59,158,212,169,154,217,147,32,159,0,189,
+218,214,147,251,177,227,121,64,42,253,42,183,122,220,105,116,2,186,35,200,
+61,133,27,187,245,201,94,184,12,189,222,152,232,75,15,217,188,121,148,121,
+93,241,121,208,13,144,93,87,93,85,205,236,177,197,47,254,111,182,181,252,
+99,184,40,211,161,106,116,3,248,2,232,191,219,122,50,221,255,108,167,153,
+77,100,241,47,38,40,122,125,183,158,12,246,14,167,210,127,125,245,152,202,
+188,123,64,151,247,171,47,170,70,159,0,158,2,174,183,181,220,62,244,108,
+105,125,166,78,95,239,151,107,222,196,216,207,177,208,101,126,186,244,178,
+171,62,75,193,167,231,92,253,218,206,135,230,184,234,209,159,223,241,249,
+185,161,245,169,79,207,185,226,73,69,79,44,163,143,253,247,205,27,87,126,
+115,246,115,93,250,187,75,207,249,243,155,191,159,91,65,15,59,245,156,43,
+191,165,248,57,87,61,134,230,247,208,103,79,147,97,61,250,244,70,72,126,
+87,143,33,223,121,19,146,223,147,137,117,190,94,91,203,7,39,189,214,170,
+248,246,63,36,191,37,16,226,55,14,83,170,127,11,241,27,29,214,200,246,124,
+38,196,111,196,136,103,108,132,248,13,99,78,151,243,227,92,245,92,8,125,
+245,167,212,245,220,113,25,219,125,64,138,228,246,125,98,82,242,125,198,
+16,164,118,95,153,50,54,175,227,96,254,218,48,12,195,48,12,195,48,12,195,
+48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,12,195,48,
+12,163,112,254,15,18,248,19,251,210,181,219,40,0,0,0,0,73,69,78,68,174,
+66,96,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+49,48,50,52,48};
+
+static size_t xml_res_size_40 = 282;
+static unsigned char xml_res_file_40[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,10,0,0,0,10,8,6,0,0,
+0,141,50,207,189,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,
+0,0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,
+73,77,69,7,223,2,17,17,29,24,76,61,90,205,0,0,0,167,73,68,65,84,24,211,
+197,138,161,10,194,80,24,70,207,239,253,125,9,131,96,145,173,234,35,152,
+55,131,220,102,49,56,48,249,44,38,177,216,12,114,195,170,86,131,81,196,
+116,95,192,52,176,8,150,221,49,147,162,93,240,164,239,227,28,248,53,242,
+121,172,181,38,132,176,4,122,170,58,116,206,93,95,174,241,26,89,150,53,
+171,170,218,2,83,160,95,150,229,49,73,146,206,87,104,173,53,69,81,172,235,
+186,30,1,103,96,37,34,109,85,221,165,105,218,122,135,33,132,57,48,6,78,
+170,58,200,243,124,6,44,128,174,49,102,3,96,0,226,56,190,139,136,168,234,
+196,57,119,3,240,222,239,163,40,122,0,7,239,253,133,255,241,4,202,134,51,
+140,251,44,179,206,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_41 = 295;
+static unsigned char xml_res_file_41[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,10,0,0,0,10,8,6,0,0,
+0,141,50,207,189,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,
+0,0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,
+73,77,69,7,223,2,17,17,29,42,132,234,11,77,0,0,0,180,73,68,65,84,24,211,
+197,144,177,105,195,80,20,69,207,139,164,5,210,121,135,223,120,131,52,118,
+173,71,80,229,116,1,25,167,119,231,5,92,25,239,16,72,33,130,4,42,141,7,
+72,161,5,210,24,84,184,18,158,224,125,189,52,86,54,8,185,229,61,23,14,92,
+248,183,8,128,170,6,17,121,75,146,100,87,85,213,109,98,121,158,111,129,
+107,211,52,239,15,247,114,233,238,27,51,59,21,69,241,8,136,170,30,68,100,
+47,34,175,0,41,64,154,166,71,51,155,3,47,102,118,86,213,47,96,13,124,199,
+24,87,191,106,128,178,44,179,97,24,62,220,253,25,192,221,251,24,227,83,
+219,182,23,128,100,26,118,93,55,134,16,62,199,113,156,1,100,89,182,168,
+235,186,255,187,123,126,0,114,38,63,247,77,98,169,51,0,0,0,0,73,69,78,68,
+174,66,96,130};
+
+static size_t xml_res_size_42 = 313;
+static unsigned char xml_res_file_42[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,1,0,73,68,65,84,120,94,237,145,177,106,2,65,16,134,
+255,221,179,203,99,24,72,159,74,75,65,176,78,175,144,194,206,70,188,67,
+8,164,179,11,154,119,8,36,77,26,83,5,2,1,11,145,179,18,177,83,240,17,76,
+149,20,231,5,214,153,149,27,134,197,7,176,240,131,225,134,127,191,127,154,
+67,192,133,135,73,140,199,169,147,41,208,25,59,10,171,203,136,74,195,102,
+245,26,60,33,146,147,163,143,88,41,27,235,203,204,235,108,3,236,179,68,
+218,180,83,38,135,200,149,35,6,253,111,94,134,119,213,27,192,1,227,249,
+26,68,130,167,250,8,10,241,42,228,25,242,210,163,103,208,251,114,181,219,
+178,120,147,197,22,120,110,24,156,224,148,91,194,255,30,187,191,12,66,158,
+35,68,191,105,151,187,22,54,74,86,203,13,126,126,51,30,10,115,160,243,17,
+35,128,51,122,19,143,59,220,133,167,251,25,163,253,238,174,6,115,154,212,
+241,238,11,186,236,223,83,239,240,238,59,26,31,220,191,201,255,246,123,
+65,144,7,229,224,72,243,197,161,69,195,223,2,157,177,115,86,28,0,140,64,
+161,88,155,245,166,61,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_43 = 4576;
+static unsigned char xml_res_file_43[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,33,45,45,
+32,119,120,114,99,32,47,99,32,47,118,32,47,111,32,114,101,115,111,117,114,
+99,101,115,46,99,112,112,32,114,101,115,111,117,114,99,101,115,46,120,114,
+99,32,45,45,62,10,60,114,101,115,111,117,114,99,101,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,102,111,108,100,95,97,105,114,112,108,97,
+110,101,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,
+115,95,111,117,116,98,111,120,46,112,110,103,60,47,111,98,106,101,99,116,
+62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
+66,105,116,109,97,112,34,32,110,97,109,101,61,34,114,101,97,100,95,111,
+110,108,121,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,
+101,115,95,108,111,99,107,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
+105,116,109,97,112,34,32,110,97,109,101,61,34,109,101,109,111,114,121,95,
+118,105,101,119,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,109,101,109,111,114,121,95,118,105,101,119,46,112,110,
+103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
+99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,65,98,111,117,116,34,62,114,101,115,111,117,114,99,101,115,46,
+99,112,112,36,114,101,115,95,97,98,111,117,116,95,105,109,103,46,112,110,
+103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
+99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,98,117,105,108,100,34,62,114,101,115,111,117,114,99,101,115,46,
+99,112,112,36,114,101,115,95,114,101,98,117,105,108,100,46,112,110,103,
+60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
+108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
+61,34,119,111,114,100,95,119,114,97,112,34,62,114,101,115,111,117,114,99,
+101,115,46,99,112,112,36,114,101,115,95,119,114,97,112,95,97,114,114,111,
+119,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
+101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
+32,110,97,109,101,61,34,100,101,98,117,103,95,119,105,110,100,111,119,34,
+62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,116,
+114,97,99,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,100,101,98,117,103,103,101,114,95,116,
+97,98,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,
+115,95,100,101,98,117,103,95,119,105,110,100,111,119,115,46,112,110,103,
+60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
+108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
+61,34,115,118,110,95,105,110,102,111,34,62,114,101,115,111,117,114,99,101,
+115,46,99,112,112,36,114,101,115,95,104,101,108,112,95,97,98,111,117,116,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,115,118,110,95,114,101,102,114,101,115,104,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,114,101,108,
+111,97,100,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,115,118,110,95,114,101,112,111,34,62,114,
+101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,115,118,
+110,95,114,101,112,111,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
+32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
+116,109,97,112,34,32,110,97,109,101,61,34,115,118,110,95,99,104,101,99,
+107,111,117,116,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,115,118,110,95,99,104,101,99,107,111,117,116,46,112,110,
+103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
+99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,115,118,110,95,115,101,116,116,105,110,103,115,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,99,111,110,102,
+105,103,117,114,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
+32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
+109,97,112,34,32,110,97,109,101,61,34,108,111,99,97,108,115,95,118,105,
+101,119,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,
+115,95,108,111,99,97,108,115,95,118,105,101,119,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,119,
+97,116,99,104,101,115,34,62,114,101,115,111,117,114,99,101,115,46,99,112,
+112,36,114,101,115,95,119,97,116,99,104,101,115,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,102,
+114,97,109,101,115,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,119,105,110,100,111,119,95,100,117,112,108,105,99,97,
+116,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
+106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
+34,32,110,97,109,101,61,34,98,114,101,97,107,112,111,105,110,116,34,62,
+114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,98,114,
+101,97,107,112,111,105,110,116,46,112,110,103,60,47,111,98,106,101,99,116,
+62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
+66,105,116,109,97,112,34,32,110,97,109,101,61,34,110,101,119,95,112,108,
+117,103,105,110,95,119,105,122,95,98,109,112,34,62,114,101,115,111,117,
+114,99,101,115,46,99,112,112,36,114,101,115,95,112,117,122,122,108,101,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,113,117,101,115,116,105,111,110,95,97,110,100,95,97,110,
+115,119,101,114,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,113,117,101,115,116,105,111,110,95,97,110,100,95,97,110,
+115,119,101,114,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,
+60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
+109,97,112,34,32,110,97,109,101,61,34,99,115,99,111,112,101,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,107,115,116,
+97,114,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,116,104,114,101,97,100,115,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,116,104,114,
+101,97,100,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,110,101,119,95,99,108,97,115,115,95,116,
+105,116,108,101,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,110,101,119,95,99,108,97,115,115,46,112,110,103,60,47,
+111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
+115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
+119,120,95,112,114,111,106,101,99,116,95,104,101,97,100,101,114,34,62,114,
+101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,119,120,
+112,114,111,106,101,99,116,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
+105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,108,111,117,114,105,
+115,101,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,
+115,95,112,97,99,107,97,103,101,95,117,116,105,108,105,116,105,101,115,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,116,101,120,116,95,118,105,101,119,34,62,114,101,115,111,
+117,114,99,101,115,46,99,112,112,36,114,101,115,95,118,105,101,119,95,116,
+101,120,116,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,101,114,97,115,101,114,34,62,114,101,115,
+111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,101,114,97,115,101,
+114,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
+101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
+32,110,97,109,101,61,34,99,117,114,115,111,114,34,62,114,101,115,111,117,
+114,99,101,115,46,99,112,112,36,114,101,115,95,99,117,114,115,111,114,46,
+112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
+116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,110,101,120,116,45,49,54,34,62,114,101,115,111,117,114,
+99,101,115,46,99,112,112,36,114,101,115,95,113,117,105,99,107,102,105,110,
+100,98,97,114,95,110,101,120,116,45,49,54,46,112,110,103,60,47,111,98,106,
+101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
+34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,97,114,114,
+111,119,45,114,105,103,104,116,45,50,52,34,62,114,101,115,111,117,114,99,
+101,115,46,99,112,112,36,114,101,115,95,97,114,114,111,119,45,108,101,102,
+116,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+33,45,45,10,32,32,32,32,32,32,32,32,84,111,111,108,98,97,114,32,98,105,
+116,109,97,112,115,32,40,50,52,120,50,52,41,10,32,32,32,32,45,45,62,10,
+32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
+116,109,97,112,34,32,110,97,109,101,61,34,99,111,100,101,95,102,111,114,
+109,97,116,50,52,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,50,52,95,102,111,114,109,97,116,116,101,114,46,112,110,
+103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
+99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,99,111,100,101,95,102,111,114,109,97,116,95,111,112,116,105,111,
+110,115,50,52,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,
+114,101,115,95,50,52,95,102,111,114,109,97,116,116,101,114,95,115,101,116,
+116,105,110,103,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
+32,60,33,45,45,10,32,32,32,32,32,32,32,32,84,111,111,108,98,97,114,32,98,
+105,116,109,97,112,115,32,40,49,54,120,49,54,41,10,32,32,32,32,45,45,62,
+10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
+105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,100,101,95,102,111,
+114,109,97,116,95,111,112,116,105,111,110,115,49,54,34,62,114,101,115,111,
+117,114,99,101,115,46,99,112,112,36,114,101,115,95,49,54,95,102,111,114,
+109,97,116,116,101,114,95,115,101,116,116,105,110,103,115,46,112,110,103,
+60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
+108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
+61,34,99,111,100,101,95,102,111,114,109,97,116,49,54,34,62,114,101,115,
+111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,49,54,95,102,111,
+114,109,97,116,116,101,114,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,32,32,60,33,45,45,32,78,111,116,101,98,111,111,107,32,105,99,111,110,
+115,32,45,45,62,10,32,32,60,33,45,45,32,108,105,103,104,116,32,116,104,
+101,109,101,32,98,117,116,116,111,110,115,32,45,45,62,10,32,32,60,111,98,
+106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
+34,32,110,97,109,101,61,34,116,97,98,95,120,95,99,108,111,115,101,34,62,
+114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,
+111,116,101,98,111,111,107,95,102,105,108,101,99,108,111,115,101,45,100,
+97,114,107,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,116,97,98,95,120,95,99,108,111,115,101,95,
+112,114,101,115,115,101,100,34,62,114,101,115,111,117,114,99,101,115,46,
+99,112,112,36,114,101,115,95,110,111,116,101,98,111,111,107,95,102,105,
+108,101,99,108,111,115,101,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
+105,116,109,97,112,34,32,110,97,109,101,61,34,116,97,98,95,120,95,99,108,
+111,115,101,95,104,111,118,101,114,34,62,114,101,115,111,117,114,99,101,
+115,46,99,112,112,36,114,101,115,95,110,111,116,101,98,111,111,107,95,102,
+105,108,101,99,108,111,115,101,45,100,97,114,107,46,112,110,103,60,47,111,
+98,106,101,99,116,62,10,32,32,60,33,45,45,32,100,97,114,107,32,116,104,
+101,109,101,32,98,117,116,116,111,110,115,32,45,45,62,10,32,32,60,111,98,
+106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
+34,32,110,97,109,101,61,34,116,97,98,95,120,95,99,108,111,115,101,95,100,
+97,114,107,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,
+101,115,95,110,111,116,101,98,111,111,107,95,102,105,108,101,99,108,111,
+115,101,45,119,104,105,116,101,46,112,110,103,60,47,111,98,106,101,99,116,
+62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
+66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,97,98,95,120,95,99,
+108,111,115,101,95,100,97,114,107,95,112,114,101,115,115,101,100,34,62,
+114,101,115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,110,
+111,116,101,98,111,111,107,95,102,105,108,101,99,108,111,115,101,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,116,97,98,95,120,95,99,108,111,115,101,95,100,97,114,107,95,104,
+111,118,101,114,34,62,114,101,115,111,117,114,99,101,115,46,99,112,112,
+36,114,101,115,95,110,111,116,101,98,111,111,107,95,102,105,108,101,99,
+108,111,115,101,45,119,104,105,116,101,46,112,110,103,60,47,111,98,106,
+101,99,116,62,10,32,32,60,33,45,45,32,100,97,114,107,32,116,104,101,109,
+101,32,98,117,116,116,111,110,115,32,45,45,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,98,117,105,108,100,45,101,114,114,111,114,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,46,46,95,105,99,111,110,115,
+95,98,117,105,108,100,45,101,114,114,111,114,46,112,110,103,60,47,111,98,
+106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
+61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,117,105,
+108,100,45,119,97,114,110,105,110,103,34,62,114,101,115,111,117,114,99,
+101,115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,98,117,105,108,
+100,45,119,97,114,110,105,110,103,46,112,110,103,60,47,111,98,106,101,99,
+116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
+120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,98,117,105,108,100,
+45,98,117,105,108,100,105,110,103,34,62,114,101,115,111,117,114,99,101,
+115,46,99,112,112,36,46,46,95,105,99,111,110,115,95,99,111,103,115,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,98,117,105,108,100,45,97,110,105,109,97,116,105,111,110,45,115,
+112,114,105,116,101,34,62,114,101,115,111,117,114,99,101,115,46,99,112,
+112,36,46,46,95,105,99,111,110,115,95,98,117,105,108,100,45,97,110,105,
+109,97,116,105,111,110,45,115,112,114,105,116,101,46,112,110,103,60,47,
+111,98,106,101,99,116,62,10,32,32,60,33,45,45,32,99,111,100,101,32,99,111,
+109,112,108,101,116,105,111,110,32,98,111,120,32,117,112,47,100,111,119,
+110,32,98,105,116,109,97,112,115,32,45,45,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,99,99,45,98,111,120,45,117,112,34,62,114,101,115,111,117,
+114,99,101,115,46,99,112,112,36,114,101,115,95,117,112,45,49,48,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,99,99,45,98,111,120,45,100,111,119,110,34,62,114,101,115,111,
+117,114,99,101,115,46,99,112,112,36,114,101,115,95,100,111,119,110,45,49,
+48,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
+101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
+32,110,97,109,101,61,34,99,111,100,101,45,116,97,103,115,34,62,114,101,
+115,111,117,114,99,101,115,46,99,112,112,36,114,101,115,95,104,116,109,
+108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,
+111,117,114,99,101,62,10};
+
+void InitXmlResource()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandler);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_outbox.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_lock.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_memory_view.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_about_img.png"), xml_res_file_3, xml_res_size_3, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_rebuild.png"), xml_res_file_4, xml_res_size_4, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_wrap_arrow.png"), xml_res_file_5, xml_res_size_5, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_trace.png"), xml_res_file_6, xml_res_size_6, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_debug_windows.png"), xml_res_file_7, xml_res_size_7, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_help_about.png"), xml_res_file_8, xml_res_size_8, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_reload.png"), xml_res_file_9, xml_res_size_9, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_svn_repo.png"), xml_res_file_10, xml_res_size_10, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_svn_checkout.png"), xml_res_file_11, xml_res_size_11, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_configure.png"), xml_res_file_12, xml_res_size_12, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_locals_view.png"), xml_res_file_13, xml_res_size_13, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_watches.png"), xml_res_file_14, xml_res_size_14, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_window_duplicate.png"), xml_res_file_15, xml_res_size_15, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_breakpoint.png"), xml_res_file_16, xml_res_size_16, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_puzzle.png"), xml_res_file_17, xml_res_size_17, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_question_and_answer.png"), xml_res_file_18, xml_res_size_18, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_kstars.png"), xml_res_file_19, xml_res_size_19, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_threads.png"), xml_res_file_20, xml_res_size_20, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_new_class.png"), xml_res_file_21, xml_res_size_21, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_wxproject.png"), xml_res_file_22, xml_res_size_22, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_package_utilities.png"), xml_res_file_23, xml_res_size_23, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_view_text.png"), xml_res_file_24, xml_res_size_24, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_eraser.png"), xml_res_file_25, xml_res_size_25, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_cursor.png"), xml_res_file_26, xml_res_size_26, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_quickfindbar_next-16.png"), xml_res_file_27, xml_res_size_27, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_arrow-left-24.png"), xml_res_file_28, xml_res_size_28, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_24_formatter.png"), xml_res_file_29, xml_res_size_29, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_24_formatter_settings.png"), xml_res_file_30, xml_res_size_30, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_16_formatter_settings.png"), xml_res_file_31, xml_res_size_31, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_16_formatter.png"), xml_res_file_32, xml_res_size_32, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose-dark.png"), xml_res_file_33, xml_res_size_33, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose.png"), xml_res_file_34, xml_res_size_34, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_notebook_fileclose-white.png"), xml_res_file_35, xml_res_size_35, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-error.png"), xml_res_file_36, xml_res_size_36, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-warning.png"), xml_res_file_37, xml_res_size_37, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_cogs.png"), xml_res_file_38, xml_res_size_38, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$.._icons_build-animation-sprite.png"), xml_res_file_39, xml_res_size_39, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_up-10.png"), xml_res_file_40, xml_res_size_40, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_down-10.png"), xml_res_file_41, xml_res_size_41, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$res_html.png"), xml_res_file_42, xml_res_size_42, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/resources.cpp$._resources.xrc"), xml_res_file_43, xml_res_size_43, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/resources.cpp$._resources.xrc"));
+}
diff --git a/LiteEditor/resources.xrc b/LiteEditor/resources.xrc
index 9e4efd62..a02347f6 100644
--- a/LiteEditor/resources.xrc
+++ b/LiteEditor/resources.xrc
@@ -1,45 +1,48 @@
+<!-- wxrc /c /v /o resources.cpp resources.xrc -->
<resource>
- <object class="wxBitmap" name="fold_airplane">res/outbox.png</object>
- <object class="wxBitmap" name="read_only">res/lock.png</object>
- <object class="wxBitmap" name="memory_view">res/memory_view.png</object>
- <object class="wxBitmap" name="About">res/about_img.png</object>
+ <object class="wxBitmap" name="fold_airplane">res/outbox.png</object>
+ <object class="wxBitmap" name="read_only">res/lock.png</object>
+ <object class="wxBitmap" name="memory_view">res/memory_view.png</object>
+ <object class="wxBitmap" name="About">res/about_img.png</object>
<object class="wxBitmap" name="build">res/rebuild.png</object>
- <object class="wxBitmap" name="word_wrap">res/wrap_arrow.png</object>
- <object class="wxBitmap" name="debug_window">res/trace.png</object>
- <object class="wxBitmap" name="debugger_tab">res/debug_windows.png</object>
- <object class="wxBitmap" name="svn_info">res/help_about.png</object>
- <object class="wxBitmap" name="svn_refresh">res/reload.png</object>
- <object class="wxBitmap" name="svn_repo">res/svn_repo.png</object>
- <object class="wxBitmap" name="svn_checkout">res/svn_checkout.png</object>
- <object class="wxBitmap" name="svn_settings">res/configure.png</object>
- <object class="wxBitmap" name="locals_view">res/locals_view.png</object>
- <object class="wxBitmap" name="watches">res/watches.png</object>
- <object class="wxBitmap" name="frames">res/window_duplicate.png</object>
- <object class="wxBitmap" name="breakpoint">res/breakpoint.png</object>
- <object class="wxBitmap" name="new_plugin_wiz_bmp">res/puzzle.png</object>
- <object class="wxBitmap" name="question_and_answer">res/question_and_answer.png</object>
- <object class="wxBitmap" name="cscope">res/kstars.png</object>
- <object class="wxBitmap" name="threads">res/threads.png</object>
- <object class="wxBitmap" name="new_class_title">res/new_class.png</object>
- <object class="wxBitmap" name="wx_project_header">res/wxproject.png</object>
- <object class="wxBitmap" name="colourise">res/package_utilities.png</object>
- <object class="wxBitmap" name="text_view">res/view_text.png</object>
- <object class="wxBitmap" name="eraser">res/eraser.png</object>
- <object class="wxBitmap" name="cursor">res/cursor.png</object>
-
- <!--
- Toolbar bitmaps (24x24)
- -->
- <object class="wxBitmap" name="code_format24">res/24/formatter.png</object>
- <object class="wxBitmap" name="code_format_options24">res/24/formatter_settings.png</object>
+ <object class="wxBitmap" name="word_wrap">res/wrap_arrow.png</object>
+ <object class="wxBitmap" name="debug_window">res/trace.png</object>
+ <object class="wxBitmap" name="debugger_tab">res/debug_windows.png</object>
+ <object class="wxBitmap" name="svn_info">res/help_about.png</object>
+ <object class="wxBitmap" name="svn_refresh">res/reload.png</object>
+ <object class="wxBitmap" name="svn_repo">res/svn_repo.png</object>
+ <object class="wxBitmap" name="svn_checkout">res/svn_checkout.png</object>
+ <object class="wxBitmap" name="svn_settings">res/configure.png</object>
+ <object class="wxBitmap" name="locals_view">res/locals_view.png</object>
+ <object class="wxBitmap" name="watches">res/watches.png</object>
+ <object class="wxBitmap" name="frames">res/window_duplicate.png</object>
+ <object class="wxBitmap" name="breakpoint">res/breakpoint.png</object>
+ <object class="wxBitmap" name="new_plugin_wiz_bmp">res/puzzle.png</object>
+ <object class="wxBitmap" name="question_and_answer">res/question_and_answer.png</object>
+ <object class="wxBitmap" name="cscope">res/kstars.png</object>
+ <object class="wxBitmap" name="threads">res/threads.png</object>
+ <object class="wxBitmap" name="new_class_title">res/new_class.png</object>
+ <object class="wxBitmap" name="wx_project_header">res/wxproject.png</object>
+ <object class="wxBitmap" name="colourise">res/package_utilities.png</object>
+ <object class="wxBitmap" name="text_view">res/view_text.png</object>
+ <object class="wxBitmap" name="eraser">res/eraser.png</object>
+ <object class="wxBitmap" name="cursor">res/cursor.png</object>
+ <object class="wxBitmap" name="next-16">res/quickfindbar/next-16.png</object>
+ <object class="wxBitmap" name="arrow-right-24">res/arrow-left-24.png</object>
+
+ <!--
+ Toolbar bitmaps (24x24)
+ -->
+ <object class="wxBitmap" name="code_format24">res/24/formatter.png</object>
+ <object class="wxBitmap" name="code_format_options24">res/24/formatter_settings.png</object>
- <!--
- Toolbar bitmaps (16x16)
- -->
- <object class="wxBitmap" name="code_format_options16">res/16/formatter_settings.png</object>
- <object class="wxBitmap" name="code_format16">res/16/formatter.png</object>
+ <!--
+ Toolbar bitmaps (16x16)
+ -->
+ <object class="wxBitmap" name="code_format_options16">res/16/formatter_settings.png</object>
+ <object class="wxBitmap" name="code_format16">res/16/formatter.png</object>
- <!-- Notebook icons -->
+ <!-- Notebook icons -->
<!-- light theme buttons -->
<object class="wxBitmap" name="tab_x_close">res/notebook/fileclose-dark.png</object>
@@ -56,5 +59,9 @@
<object class="wxBitmap" name="build-warning">../icons/build-warning.png</object>
<object class="wxBitmap" name="build-building">../icons/cogs.png</object>
<object class="wxBitmap" name="build-animation-sprite">../icons/build-animation-sprite.png</object>
-
+
+ <!-- code completion box up/down bitmaps -->
+ <object class="wxBitmap" name="cc-box-up">res/up-10.png</object>
+ <object class="wxBitmap" name="cc-box-down">res/down-10.png</object>
+ <object class="wxBitmap" name="code-tags">res/html.png</object>
</resource>
diff --git a/LiteEditor/setters_getters_dlg.cpp b/LiteEditor/setters_getters_dlg.cpp
index d86967c6..44151a8d 100644
--- a/LiteEditor/setters_getters_dlg.cpp
+++ b/LiteEditor/setters_getters_dlg.cpp
@@ -43,7 +43,8 @@ SettersGettersDlg::SettersGettersDlg(wxWindow* parent)
clConfig::Get().ReadItem(&m_settings);
m_checkStartWithUppercase->SetValue( m_settings.GetFlags() & SettersGetterData::FunctionStartWithUpperCase );
m_checkBoxForamtFileWhenDone->SetValue( m_settings.GetFlags() & SettersGetterData::FormatFileWhenDone );
- WindowAttrManager::Load(this, "SettersGettersDlg", NULL);
+ SetName("SettersGettersDlg");
+ WindowAttrManager::Load(this);
}
bool SettersGettersDlg::Init(const std::vector<TagEntryPtr> &tags, const wxFileName &file, int lineno)
@@ -505,7 +506,7 @@ SettersGettersDlg::~SettersGettersDlg()
m_settings.SetFlags( flags );
clConfig::Get().WriteItem(&m_settings);
- WindowAttrManager::Save(this, "SettersGettersDlg", NULL);
+
}
wxString SettersGettersDlg::GetGenCode()
diff --git a/LiteEditor/singleinstancethreadjob.cpp b/LiteEditor/singleinstancethreadjob.cpp
index 2f85e68a..0e3067a3 100644
--- a/LiteEditor/singleinstancethreadjob.cpp
+++ b/LiteEditor/singleinstancethreadjob.cpp
@@ -1,99 +1,75 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : singleinstancethreadjob.cpp
-//
+// copyright : (C) 2008 by Eran Ifrah
+// file name : singleinstancethreadjob.cpp
+//
// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
-#include <wx/tokenzr.h>
#include "globals.h"
#include "singleinstancethreadjob.h"
-#include "dirsaver.h"
#include <wx/filename.h>
-#include <wx/dir.h>
+#include "file_logger.h"
+#include "json_node.h"
+#include "event_notifier.h"
-const wxEventType wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES = wxNewEventType();
-const wxEventType wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP = wxNewEventType();
+wxDEFINE_EVENT(wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES, clCommandEvent);
+wxDEFINE_EVENT(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP, clCommandEvent);
-SingleInstanceThreadJob::SingleInstanceThreadJob(wxEvtHandler *parent, const wxString &path)
- : Job(parent)
- , m_path(path)
+clSingleInstanceThread::clSingleInstanceThread()
+ : wxThread(wxTHREAD_JOINABLE)
{
}
-SingleInstanceThreadJob::~SingleInstanceThreadJob()
-{
-}
-
-void SingleInstanceThreadJob::Process(wxThread* thread)
-{
- if ( wxFileName::DirExists(m_path) == false ) {
- return;
- }
-
- Mkdir(m_path + wxT("/ipc"));
- wxString cmd_file(m_path + wxT("/ipc/command.msg"));
- wxString cmd_file_inuse(m_path + wxT("/ipc/command.msg_inuse"));
-
- // loop until the thread is requested to exit
- while ( thread->TestDestroy() == false ) {
-
- // client will place a file named: message.msg
-
- if ( wxFileName::FileExists(cmd_file) ) {
- // a command file was found, rename it to a temporary name
- if ( wxRenameFile(cmd_file, cmd_file_inuse) ) {
+clSingleInstanceThread::~clSingleInstanceThread() { Stop(); }
- wxString content;
- ReadFileWithConversion(cmd_file_inuse, content);
- if ( content.IsEmpty() == false ) {
- ProcessFile(content);
- } else {
- // file was found but it is empty
- // just make this app active
- wxCommandEvent e(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP);
- wxPostEvent(m_parent, e);
- }
-
- // remove it
- wxRemoveFile(cmd_file_inuse);
- }
- }
- wxThread::Sleep(100);
- }
-}
-
-void SingleInstanceThreadJob::ProcessFile(const wxString& fileContent)
+void* clSingleInstanceThread::Entry()
{
- // each line in the file content contains a file name to be opened, pass it to the main thread
- wxCommandEvent e(wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES);
-
- wxArrayString *arr = new wxArrayString();
- wxArrayString a = wxStringTokenize(fileContent, wxT("\n"));
+ try {
+ m_serverSocket.CreateServer("127.0.0.1", SINGLE_INSTANCE_PORT);
+ CL_DEBUG("clSingleInstanceThread: created socket server on port: %d", SINGLE_INSTANCE_PORT);
+
+ while(!TestDestroy()) {
+ // wait for a new connection
+ clSocketBase::Ptr_t client = m_serverSocket.WaitForNewConnection(1);
+ if(!client) continue;
- for (size_t i=0; i<a.GetCount(); i++) {
- // since we are sending an event between threads, use c_str() to avoid ref-counting
- arr->Add(a.Item(i).c_str());
- }
+ wxString message;
+ if(client->ReadMessage(message, 3) == clSocketBase::kTimeout) continue;
+ CL_DEBUG("clSingleInstanceThread: received new message: %s", message);
+
+ JSONRoot root(message);
+ wxArrayString args = root.toElement().namedObject("args").toArrayString();
- e.SetClientData(arr);
- wxPostEvent(m_parent, e);
+ if(args.IsEmpty()) {
+ // just raise codelite
+ clCommandEvent event(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP);
+ EventNotifier::Get()->AddPendingEvent(event);
+ } else {
+ clCommandEvent event(wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES);
+ event.SetStrings(args);
+ EventNotifier::Get()->AddPendingEvent(event);
+ }
+ }
+ } catch(clSocketException& e) {
+ CL_ERROR("Failed to create single instance socket: %s", e.what());
+ }
+ return NULL;
}
diff --git a/LiteEditor/singleinstancethreadjob.h b/LiteEditor/singleinstancethreadjob.h
index 4fa60c7d..724c0fe5 100644
--- a/LiteEditor/singleinstancethreadjob.h
+++ b/LiteEditor/singleinstancethreadjob.h
@@ -1,25 +1,25 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2008 by Eran Ifrah
-// file name : singleinstancethreadjob.h
-//
+// copyright : (C) 2008 by Eran Ifrah
+// file name : singleinstancethreadjob.h
+//
// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -27,22 +27,63 @@
#define __singleinstancethreadjob__
#include <wx/event.h>
-#include "job.h"
+#include "cl_command_event.h"
+#include <wx/thread.h>
+#include "SocketAPI/clSocketServer.h"
-extern const wxEventType wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES;
-extern const wxEventType wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP;
+wxDECLARE_EVENT(wxEVT_CMD_SINGLE_INSTANCE_THREAD_OPEN_FILES, clCommandEvent);
+wxDECLARE_EVENT(wxEVT_CMD_SINGLE_INSTANCE_THREAD_RAISE_APP, clCommandEvent);
+
+#ifdef __WXMSW__
+#ifdef NDEBUG
+#define SINGLE_INSTANCE_PORT 13617
+#else
+#define SINGLE_INSTANCE_PORT 16617
+#endif
+#else
+#include <unistd.h>
+#ifdef NDEBUG
+#define SINGLE_INSTANCE_PORT ((getuid() % 57) + 13617)
+#else
+#define SINGLE_INSTANCE_PORT ((getuid() % 57) + 16617)
+#endif
+#endif
+
+class clSingleInstanceThread : public wxThread
+{
+ clSocketServer m_serverSocket;
-class SingleInstanceThreadJob : public Job {
- wxString m_path;
-
-protected:
- void ProcessFile(const wxString &fileContent);
-
-public:
- SingleInstanceThreadJob(wxEvtHandler *parent, const wxString &path);
- virtual ~SingleInstanceThreadJob();
-
public:
- virtual void Process(wxThread *thread);
+ /**
+ * @brief the thread main loop
+ */
+ virtual void* Entry();
+
+ /**
+ * @brief start the single instance thread
+ */
+ void Start()
+ {
+ Create();
+ Run();
+ }
+
+ /**
+ * @brief stop the thread
+ */
+ void Stop()
+ {
+ // Notify the thread to exit and
+ // wait for it
+ if(IsAlive()) {
+ Delete(NULL, wxTHREAD_WAIT_BLOCK);
+
+ } else {
+ Wait(wxTHREAD_WAIT_BLOCK);
+ }
+ }
+
+ clSingleInstanceThread();
+ virtual ~clSingleInstanceThread();
};
#endif // __singleinstancethreadjob__
diff --git a/LiteEditor/stalefilesmodel.cpp b/LiteEditor/stalefilesmodel.cpp
index 9e3b4d46..371d44f7 100644
--- a/LiteEditor/stalefilesmodel.cpp
+++ b/LiteEditor/stalefilesmodel.cpp
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : stalefilesmodel.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// Do not modify this file by hand!
@@ -61,7 +36,7 @@ StaleFilesModel::StaleFilesModel()
StaleFilesModel::~StaleFilesModel()
{
for(size_t i=0; i<m_data.size(); ++i) {
- delete m_data.at(i);
+ wxDELETE(m_data.at(i));
}
m_data.clear();
}
@@ -101,6 +76,10 @@ wxString StaleFilesModel::GetColumnType(unsigned int col) const
wxDataViewItem StaleFilesModel::GetParent(const wxDataViewItem& item) const
{
+ if ( IsEmpty() ) {
+ return wxDataViewItem(NULL);
+ }
+
StaleFilesModel_Item* node = reinterpret_cast<StaleFilesModel_Item*>(item.m_pItem);
if ( node ) {
return wxDataViewItem(node->GetParent());
@@ -228,7 +207,7 @@ void StaleFilesModel::DeleteItem(const wxDataViewItem& item)
if ( parent && parent->GetChildren().empty() )
DoChangeItemType(parentItem, false);
- delete node;
+ wxDELETE(node);
}
if ( IsEmpty() )
@@ -253,6 +232,7 @@ void StaleFilesModel::Clear()
for(; iter != roots.end(); ++iter) {
DeleteItem( wxDataViewItem(*iter) );
}
+ m_data.clear();
Cleared();
}
diff --git a/LiteEditor/stalefilesmodel.h b/LiteEditor/stalefilesmodel.h
index 8ea87a5b..f3e8c45a 100644
--- a/LiteEditor/stalefilesmodel.h
+++ b/LiteEditor/stalefilesmodel.h
@@ -1,28 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : stalefilesmodel.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// Do not modify this file by hand!
@@ -217,9 +192,9 @@ public:
protected:
// Helpers
- wxDataViewItem DoAppendItem(const wxDataViewItem& parent, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData = NULL);
- wxDataViewItem DoInsertItem(const wxDataViewItem& insertBeforeMe, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData);
- void DoChangeItemType(const wxDataViewItem& item, bool changeToContainer);
+ virtual wxDataViewItem DoAppendItem(const wxDataViewItem& parent, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData = NULL);
+ virtual wxDataViewItem DoInsertItem(const wxDataViewItem& insertBeforeMe, const wxVector<wxVariant>& data, bool isContainer, wxClientData *clientData);
+ virtual void DoChangeItemType(const wxDataViewItem& item, bool changeToContainer);
public:
/**
diff --git a/LiteEditor/symbols_dialog.cpp b/LiteEditor/symbols_dialog.cpp
index e536dbd1..7d8c5de9 100644
--- a/LiteEditor/symbols_dialog.cpp
+++ b/LiteEditor/symbols_dialog.cpp
@@ -47,11 +47,12 @@ SymbolsDialog::SymbolsDialog(wxWindow* parent)
m_results->Connect(
wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(SymbolsDialog::OnItemDeselected), NULL, this);
- Centre();
- WindowAttrManager::Load(this, wxT("SymbolsDialog"), NULL);
+ CentreOnParent();
+ SetName("SymbolsDialog");
+ WindowAttrManager::Load(this);
}
-SymbolsDialog::~SymbolsDialog() { WindowAttrManager::Save(this, wxT("SymbolsDialog"), NULL); }
+SymbolsDialog::~SymbolsDialog() { }
void SymbolsDialog::AddSymbol(const TagEntryPtr& tag, bool sel)
{
diff --git a/LiteEditor/symbols_dialog_base.cpp b/LiteEditor/symbols_dialog_base.cpp
index cda01be9..4b98a6db 100644
--- a/LiteEditor/symbols_dialog_base.cpp
+++ b/LiteEditor/symbols_dialog_base.cpp
@@ -62,10 +62,10 @@ SymbolsDialogBase::SymbolsDialogBase( wxWindow* parent, wxWindowID id, const wxS
m_okButton = new wxButton( this, wxID_ANY, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
m_okButton->SetDefault();
- btnSizer->Add( m_okButton, 0, wxALIGN_RIGHT|wxALL, 5 );
+ btnSizer->Add( m_okButton, 0, wxALL, 5 );
m_cancel = new wxButton( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
- btnSizer->Add( m_cancel, 0, wxALIGN_RIGHT|wxALL, 5 );
+ btnSizer->Add( m_cancel, 0, wxALL, 5 );
mainSizer->Add( btnSizer, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
diff --git a/LiteEditor/syntaxhighlightbasedlg.cpp b/LiteEditor/syntaxhighlightbasedlg.cpp
index 155dcc1c..91d6a51d 100644
--- a/LiteEditor/syntaxhighlightbasedlg.cpp
+++ b/LiteEditor/syntaxhighlightbasedlg.cpp
@@ -73,11 +73,64 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
m_auibar->Realize();
m_notebook76 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook76->SetName(wxT("m_notebook76"));
bSizer1->Add(m_notebook76, 1, wxALL|wxEXPAND, 5);
+ m_panelGlobalColours = new wxPanel(m_notebook76, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
+ m_panelGlobalColours->SetToolTip(_("Set global colours and fonts"));
+ m_notebook76->AddPage(m_panelGlobalColours, _("General"), true);
+
+ wxBoxSizer* boxSizer82 = new wxBoxSizer(wxVERTICAL);
+ m_panelGlobalColours->SetSizer(boxSizer82);
+
+ wxFlexGridSizer* fgSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
+ fgSizer4->SetFlexibleDirection( wxBOTH );
+ fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+ fgSizer4->AddGrowableCol(1);
+
+ boxSizer82->Add(fgSizer4, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText159 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global font:"), wxDefaultPosition, wxSize(-1,-1), 0);
+
+ fgSizer4->Add(m_staticText159, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_fontPickerGlobal = new wxFontPickerCtrl(m_panelGlobalColours, wxID_ANY, wxNullFont, wxDefaultPosition, wxSize(-1,-1), wxFNTP_DEFAULT_STYLE);
+ m_fontPickerGlobal->SetToolTip(_("Set a global font for all the supported languages"));
+
+ fgSizer4->Add(m_fontPickerGlobal, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText155 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global theme:"), wxDefaultPosition, wxSize(-1,-1), 0);
+
+ fgSizer4->Add(m_staticText155, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+
+ wxArrayString m_choiceGlobalThemeArr;
+ m_choiceGlobalTheme = new wxChoice(m_panelGlobalColours, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), m_choiceGlobalThemeArr, 0);
+ m_choiceGlobalTheme->SetToolTip(_("Set a global theme for all the supported languages.\nIf the theme is not available for a given language, CodeLite will use the next available theme from\nthe same family"));
+
+ fgSizer4->Add(m_choiceGlobalTheme, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText91 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global foreground Colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
+
+ fgSizer4->Add(m_staticText91, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_colourPickerOutputPanesFgColour = new wxColourPickerCtrl(m_panelGlobalColours, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_USE_TEXTCTRL|wxCLRP_DEFAULT_STYLE);
+ m_colourPickerOutputPanesFgColour->SetToolTip(_("This is where you can set the foreground colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"));
+
+ fgSizer4->Add(m_colourPickerOutputPanesFgColour, 0, wxALL|wxEXPAND, 5);
+
+ m_staticText911 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global background Colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
+
+ fgSizer4->Add(m_staticText911, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+
+ m_colourPickerOutputPanesBgColour = new wxColourPickerCtrl(m_panelGlobalColours, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_USE_TEXTCTRL|wxCLRP_DEFAULT_STYLE);
+ m_colourPickerOutputPanesBgColour->SetToolTip(_("This is where you can set the background colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"));
+
+ fgSizer4->Add(m_colourPickerOutputPanesBgColour, 0, wxALL|wxEXPAND, 5);
+
m_panelSyntaxHighlight = new wxPanel(m_notebook76, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
- m_notebook76->AddPage(m_panelSyntaxHighlight, _("Syntax Highlight"), false);
+ m_panelSyntaxHighlight->SetToolTip(_("Customize your colours and font per language"));
+ m_notebook76->AddPage(m_panelSyntaxHighlight, _("Customize"), false);
wxBoxSizer* boxSizer21 = new wxBoxSizer(wxHORIZONTAL);
m_panelSyntaxHighlight->SetSizer(boxSizer21);
@@ -95,6 +148,7 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
m_panel25->SetSizer(bSizer3);
m_notebook2 = new wxNotebook(m_panel25, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook2->SetName(wxT("m_notebook2"));
bSizer3->Add(m_notebook2, 1, wxEXPAND, 5);
@@ -155,7 +209,7 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
fgSizer2->Add(m_fileSpec, 0, wxALL|wxEXPAND, 5);
m_panelCustomize = new wxPanel(m_notebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
- m_notebook2->AddPage(m_panelCustomize, _("Customize"), false);
+ m_notebook2->AddPage(m_panelCustomize, _("Styles"), false);
wxBoxSizer* bSizer51 = new wxBoxSizer(wxVERTICAL);
m_panelCustomize->SetSizer(bSizer51);
@@ -293,44 +347,13 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
fgSizer3->Add(m_colourPickerSelTextFgColour, 0, wxALL|wxEXPAND, 5);
- m_panelGlobalColours = new wxPanel(m_notebook76, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
- m_notebook76->AddPage(m_panelGlobalColours, _("Global Colours"), false);
-
- wxBoxSizer* boxSizer82 = new wxBoxSizer(wxVERTICAL);
- m_panelGlobalColours->SetSizer(boxSizer82);
-
- wxFlexGridSizer* fgSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
- fgSizer4->SetFlexibleDirection( wxBOTH );
- fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- fgSizer4->AddGrowableCol(1);
-
- boxSizer82->Add(fgSizer4, 0, wxALL|wxEXPAND, 5);
-
- m_staticText91 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global foreground Colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer4->Add(m_staticText91, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- m_colourPickerOutputPanesFgColour = new wxColourPickerCtrl(m_panelGlobalColours, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_USE_TEXTCTRL|wxCLRP_DEFAULT_STYLE);
- m_colourPickerOutputPanesFgColour->SetToolTip(_("This is where you can set the foreground colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"));
-
- fgSizer4->Add(m_colourPickerOutputPanesFgColour, 0, wxALL|wxEXPAND, 5);
-
- m_staticText911 = new wxStaticText(m_panelGlobalColours, wxID_ANY, _("Global background Colour:"), wxDefaultPosition, wxSize(-1, -1), 0);
-
- fgSizer4->Add(m_staticText911, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
-
- m_colourPickerOutputPanesBgColour = new wxColourPickerCtrl(m_panelGlobalColours, wxID_ANY, *wxBLACK, wxDefaultPosition, wxSize(-1, -1), wxCLRP_SHOW_LABEL|wxCLRP_USE_TEXTCTRL|wxCLRP_DEFAULT_STYLE);
- m_colourPickerOutputPanesBgColour->SetToolTip(_("This is where you can set the background colour for the Output View panes (where you can see the output from e.g. 'Build' or 'Debug') and terminal (where you see the trace output while debugging)"));
-
- fgSizer4->Add(m_colourPickerOutputPanesBgColour, 0, wxALL|wxEXPAND, 5);
-
wxBoxSizer* boxSizer19 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add(boxSizer19, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
m_stdBtnSizer10 = new wxStdDialogButtonSizer();
- boxSizer19->Add(m_stdBtnSizer10, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer19->Add(m_stdBtnSizer10, 0, wxALL, 5);
m_buttonOk = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
m_buttonOk->SetDefault();
@@ -343,11 +366,36 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
m_stdBtnSizer10->AddButton(m_buttonApply);
m_stdBtnSizer10->Realize();
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook76)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook76);
+ } else {
+ wxPersistenceManager::Get().Restore(m_notebook76);
+ }
+ #endif
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook2)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook2);
+ } else {
+ wxPersistenceManager::Get().Restore(m_notebook2);
+ }
+ #endif
+
+ SetName(wxT("SyntaxHighlightBaseDlg"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
this->Connect(wxID_NEW, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnNewTheme), NULL, this);
this->Connect(wxID_SAVE, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(SyntaxHighlightBaseDlg::OnToolExportAll), NULL, this);
@@ -357,6 +405,10 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
this->Connect(wxID_REVERT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnRestoreDefaults), NULL, this);
this->Connect(ID_TOOL_IMPORT_ECLIPSE_THEME, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(SyntaxHighlightBaseDlg::OnImportEclipseTheme), NULL, this);
this->Connect(m_menuItem153->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnLoadEclipseThemeWebsite), NULL, this);
+ m_fontPickerGlobal->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SyntaxHighlightBaseDlg::OnGlobalFontSelected), NULL, this);
+ m_choiceGlobalTheme->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnGlobalThemeSelected), NULL, this);
+ m_colourPickerOutputPanesFgColour->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
+ m_colourPickerOutputPanesBgColour->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
m_listBox->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnLexerSelected), NULL, this);
m_choiceLexerThemes->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnThemeChanged), NULL, this);
m_globalFontPicker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SyntaxHighlightBaseDlg::OnFontChanged), NULL, this);
@@ -379,8 +431,6 @@ SyntaxHighlightBaseDlg::SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id,
m_staticText84->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SyntaxHighlightBaseDlg::OnTextSelFgUI), NULL, this);
m_colourPickerSelTextFgColour->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SyntaxHighlightBaseDlg::OnTextSelFgUI), NULL, this);
m_colourPickerSelTextFgColour->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnSelTextFgChanged), NULL, this);
- m_colourPickerOutputPanesFgColour->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
- m_colourPickerOutputPanesBgColour->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
m_buttonOk->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonOK), NULL, this);
m_buttonCancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonCancel), NULL, this);
m_buttonApply->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonApply), NULL, this);
@@ -399,6 +449,10 @@ SyntaxHighlightBaseDlg::~SyntaxHighlightBaseDlg()
this->Disconnect(wxID_REVERT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnRestoreDefaults), NULL, this);
this->Disconnect(ID_TOOL_IMPORT_ECLIPSE_THEME, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(SyntaxHighlightBaseDlg::OnImportEclipseTheme), NULL, this);
this->Disconnect(m_menuItem153->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnLoadEclipseThemeWebsite), NULL, this);
+ m_fontPickerGlobal->Disconnect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SyntaxHighlightBaseDlg::OnGlobalFontSelected), NULL, this);
+ m_choiceGlobalTheme->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnGlobalThemeSelected), NULL, this);
+ m_colourPickerOutputPanesFgColour->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
+ m_colourPickerOutputPanesBgColour->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
m_listBox->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnLexerSelected), NULL, this);
m_choiceLexerThemes->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnThemeChanged), NULL, this);
m_globalFontPicker->Disconnect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SyntaxHighlightBaseDlg::OnFontChanged), NULL, this);
@@ -421,8 +475,6 @@ SyntaxHighlightBaseDlg::~SyntaxHighlightBaseDlg()
m_staticText84->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SyntaxHighlightBaseDlg::OnTextSelFgUI), NULL, this);
m_colourPickerSelTextFgColour->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SyntaxHighlightBaseDlg::OnTextSelFgUI), NULL, this);
m_colourPickerSelTextFgColour->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnSelTextFgChanged), NULL, this);
- m_colourPickerOutputPanesFgColour->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
- m_colourPickerOutputPanesBgColour->Disconnect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SyntaxHighlightBaseDlg::OnOutputViewColourChanged), NULL, this);
m_buttonOk->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonOK), NULL, this);
m_buttonCancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonCancel), NULL, this);
m_buttonApply->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SyntaxHighlightBaseDlg::OnButtonApply), NULL, this);
@@ -522,11 +574,19 @@ NewThemeDialogBase::NewThemeDialogBase(wxWindow* parent, wxWindowID id, const wx
m_stdBtnSizer117->AddButton(m_buttonCancel);
m_stdBtnSizer117->Realize();
+ SetName(wxT("NewThemeDialogBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
m_choiceLanguage->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(NewThemeDialogBase::OnLexerSelected), NULL, this);
m_buttonOK->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewThemeDialogBase::OnOkUI), NULL, this);
diff --git a/LiteEditor/syntaxhighlightbasedlg.h b/LiteEditor/syntaxhighlightbasedlg.h
index 0ffdbd3f..cd45477a 100644
--- a/LiteEditor/syntaxhighlightbasedlg.h
+++ b/LiteEditor/syntaxhighlightbasedlg.h
@@ -22,16 +22,22 @@
#include <wx/notebook.h>
#include <wx/panel.h>
#include <wx/imaglist.h>
-#include <wx/listbox.h>
#include <wx/stattext.h>
+#include <wx/fontpicker.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
-#include <wx/fontpicker.h>
#include <wx/clrpicker.h>
+#include <wx/listbox.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/statline.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class SyntaxHighlightBaseDlg : public wxDialog
{
@@ -51,6 +57,15 @@ protected:
wxMenu* m_menu151;
wxMenuItem* m_menuItem153;
wxNotebook* m_notebook76;
+ wxPanel* m_panelGlobalColours;
+ wxStaticText* m_staticText159;
+ wxFontPickerCtrl* m_fontPickerGlobal;
+ wxStaticText* m_staticText155;
+ wxChoice* m_choiceGlobalTheme;
+ wxStaticText* m_staticText91;
+ wxColourPickerCtrl* m_colourPickerOutputPanesFgColour;
+ wxStaticText* m_staticText911;
+ wxColourPickerCtrl* m_colourPickerOutputPanesBgColour;
wxPanel* m_panelSyntaxHighlight;
wxListBox* m_listBox;
wxPanel* m_panel25;
@@ -88,18 +103,11 @@ protected:
wxCheckBox* m_checkBoxCustomSelectionFgColour;
wxStaticText* m_staticText84;
wxColourPickerCtrl* m_colourPickerSelTextFgColour;
- wxPanel* m_panelGlobalColours;
- wxStaticText* m_staticText91;
- wxColourPickerCtrl* m_colourPickerOutputPanesFgColour;
- wxStaticText* m_staticText911;
- wxColourPickerCtrl* m_colourPickerOutputPanesBgColour;
wxStdDialogButtonSizer* m_stdBtnSizer10;
wxButton* m_buttonOk;
wxButton* m_buttonCancel;
wxButton* m_buttonApply;
- virtual void ShowAuiToolMenu(wxAuiToolBarEvent& event);
-
protected:
virtual void OnNewTheme(wxCommandEvent& event) { event.Skip(); }
virtual void OnToolExportAll(wxAuiToolBarEvent& event) { event.Skip(); }
@@ -109,6 +117,9 @@ protected:
virtual void OnRestoreDefaults(wxCommandEvent& event) { event.Skip(); }
virtual void OnImportEclipseTheme(wxAuiToolBarEvent& event) { event.Skip(); }
virtual void OnLoadEclipseThemeWebsite(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnGlobalFontSelected(wxFontPickerEvent& event) { event.Skip(); }
+ virtual void OnGlobalThemeSelected(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnOutputViewColourChanged(wxColourPickerEvent& event) { event.Skip(); }
virtual void OnLexerSelected(wxCommandEvent& event) { event.Skip(); }
virtual void OnThemeChanged(wxCommandEvent& event) { event.Skip(); }
virtual void OnFontChanged(wxFontPickerEvent& event) { event.Skip(); }
@@ -127,13 +138,62 @@ protected:
virtual void OnUseCustomFgTextColour(wxCommandEvent& event) { event.Skip(); }
virtual void OnTextSelFgUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnSelTextFgChanged(wxColourPickerEvent& event) { event.Skip(); }
- virtual void OnOutputViewColourChanged(wxColourPickerEvent& event) { event.Skip(); }
virtual void OnButtonOK(wxCommandEvent& event) { event.Skip(); }
virtual void OnButtonCancel(wxCommandEvent& event) { event.Skip(); }
virtual void OnButtonApply(wxCommandEvent& event) { event.Skip(); }
virtual void OnButtonApplyUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+
+ virtual void ShowAuiToolMenu(wxAuiToolBarEvent& event);
+ wxAuiToolBar* GetAuibar() { return m_auibar; }
+ wxStaticText* GetStaticText159() { return m_staticText159; }
+ wxFontPickerCtrl* GetFontPickerGlobal() { return m_fontPickerGlobal; }
+ wxStaticText* GetStaticText155() { return m_staticText155; }
+ wxChoice* GetChoiceGlobalTheme() { return m_choiceGlobalTheme; }
+ wxStaticText* GetStaticText91() { return m_staticText91; }
+ wxColourPickerCtrl* GetColourPickerOutputPanesFgColour() { return m_colourPickerOutputPanesFgColour; }
+ wxStaticText* GetStaticText911() { return m_staticText911; }
+ wxColourPickerCtrl* GetColourPickerOutputPanesBgColour() { return m_colourPickerOutputPanesBgColour; }
+ wxPanel* GetPanelGlobalColours() { return m_panelGlobalColours; }
+ wxListBox* GetListBox() { return m_listBox; }
+ wxStaticText* GetStaticText70() { return m_staticText70; }
+ wxChoice* GetChoiceLexerThemes() { return m_choiceLexerThemes; }
+ wxStaticText* GetStaticText6() { return m_staticText6; }
+ wxFontPickerCtrl* GetGlobalFontPicker() { return m_globalFontPicker; }
+ wxStaticText* GetStaticText7() { return m_staticText7; }
+ wxColourPickerCtrl* GetGlobalBgColourPicker() { return m_globalBgColourPicker; }
+ wxStaticText* GetStaticText8() { return m_staticText8; }
+ wxTextCtrl* GetFileSpec() { return m_fileSpec; }
+ wxPanel* GetPanelGlobalSettings() { return m_panelGlobalSettings; }
+ wxListBox* GetProperties() { return m_properties; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxFontPickerCtrl* GetFontPicker() { return m_fontPicker; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxColourPickerCtrl* GetColourPicker() { return m_colourPicker; }
+ wxStaticText* GetStaticText4() { return m_staticText4; }
+ wxColourPickerCtrl* GetBgColourPicker() { return m_bgColourPicker; }
+ wxCheckBox* GetEolFilled() { return m_eolFilled; }
+ wxCheckBox* GetStyleWithinPreProcessor() { return m_styleWithinPreProcessor; }
+ wxStaticLine* GetStaticline1() { return m_staticline1; }
+ wxStaticText* GetStaticText1() { return m_staticText1; }
+ wxButton* GetButton5() { return m_button5; }
+ wxButton* GetButton6() { return m_button6; }
+ wxButton* GetButton7() { return m_button7; }
+ wxButton* GetButton8() { return m_button8; }
+ wxButton* GetButton9() { return m_button9; }
+ wxPanel* GetPanelCustomize() { return m_panelCustomize; }
+ wxStaticText* GetStaticText9() { return m_staticText9; }
+ wxColourPickerCtrl* GetColourPickerSelTextBgColour() { return m_colourPickerSelTextBgColour; }
+ wxStaticText* GetStaticText94() { return m_staticText94; }
+ wxCheckBox* GetCheckBoxCustomSelectionFgColour() { return m_checkBoxCustomSelectionFgColour; }
+ wxStaticText* GetStaticText84() { return m_staticText84; }
+ wxColourPickerCtrl* GetColourPickerSelTextFgColour() { return m_colourPickerSelTextFgColour; }
+ wxPanel* GetPanelTextSelection() { return m_panelTextSelection; }
+ wxNotebook* GetNotebook2() { return m_notebook2; }
+ wxPanel* GetPanel25() { return m_panel25; }
+ wxPanel* GetPanelSyntaxHighlight() { return m_panelSyntaxHighlight; }
+ wxNotebook* GetNotebook76() { return m_notebook76; }
SyntaxHighlightBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Colours and Fonts"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~SyntaxHighlightBaseDlg();
};
@@ -157,6 +217,12 @@ protected:
virtual void OnOkUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText127() { return m_staticText127; }
+ wxTextCtrl* GetTextCtrlName() { return m_textCtrlName; }
+ wxStaticText* GetStaticText131() { return m_staticText131; }
+ wxChoice* GetChoiceLanguage() { return m_choiceLanguage; }
+ wxStaticText* GetStaticText135() { return m_staticText135; }
+ wxChoice* GetChoiceBaseTheme() { return m_choiceBaseTheme; }
NewThemeDialogBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New Theme"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~NewThemeDialogBase();
};
diff --git a/LiteEditor/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp b/LiteEditor/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp
index 6daea309..29f53761 100644
--- a/LiteEditor/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp
+++ b/LiteEditor/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp
@@ -1,185 +1,184 @@
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 667;
-static unsigned char xml_res_file_0[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
-0,2,80,73,68,65,84,56,141,141,147,205,75,84,97,20,135,159,123,231,222,188,
-51,183,201,235,136,210,144,102,69,73,98,20,21,36,81,46,178,100,220,21,69,
-144,4,109,218,182,237,31,112,99,27,171,133,8,253,5,65,17,133,32,209,98,
-152,166,196,133,20,72,75,157,194,50,172,73,39,115,174,227,220,113,222,143,
-22,19,126,221,89,116,224,108,14,239,121,206,121,207,239,28,131,93,150,205,
-102,245,238,24,128,148,18,203,178,86,181,214,163,65,16,12,167,82,169,18,
-128,177,251,97,58,157,214,61,61,61,33,64,58,157,166,183,183,151,92,46,167,
-202,229,242,170,148,178,191,175,175,239,163,25,174,36,208,90,135,220,247,
-139,120,158,71,87,87,151,233,121,94,147,105,154,217,76,38,115,60,4,16,82,
-162,148,10,185,239,23,1,112,93,151,246,246,118,98,177,152,171,148,26,183,
-66,0,33,80,74,213,157,193,216,216,40,182,109,211,208,224,224,56,14,142,
-227,28,11,1,164,172,15,24,28,188,29,138,189,123,159,101,7,224,218,163,140,
-247,169,80,225,237,248,60,191,252,42,82,107,60,39,194,137,3,46,253,221,
-9,90,226,54,179,249,50,35,111,22,120,114,167,19,41,196,22,224,198,227,169,
-148,133,241,140,198,22,206,37,27,241,98,22,166,97,176,86,17,124,91,94,231,
-193,235,5,14,55,55,48,95,168,0,160,148,66,72,89,3,92,31,153,188,228,88,
-214,243,203,221,173,113,199,142,176,248,59,96,102,190,12,218,32,177,215,
-38,217,20,101,224,84,146,233,92,129,43,39,247,243,114,250,59,74,41,164,
-20,88,55,31,78,69,77,211,120,122,254,104,115,188,84,145,204,124,93,97,197,
-175,112,166,195,69,106,205,92,222,103,246,71,145,195,173,113,206,30,73,
-192,191,53,83,74,33,132,192,194,228,94,178,41,186,111,67,40,190,44,149,
-180,95,244,141,251,3,7,73,184,181,223,21,74,130,161,137,69,22,150,75,84,
-133,162,45,17,221,4,72,41,177,208,220,245,162,118,244,231,74,64,254,79,
-121,237,130,251,57,238,69,15,109,42,49,52,177,8,128,95,169,226,231,171,
-204,229,139,219,102,32,176,148,166,67,72,205,242,90,5,173,117,174,65,149,
-78,111,151,113,248,106,18,41,119,158,71,36,98,212,58,16,2,203,128,72,121,
-67,162,148,6,216,35,164,68,235,173,4,219,4,219,12,157,12,90,235,154,10,
-218,32,191,94,145,109,17,211,68,67,103,32,169,187,72,245,76,74,129,101,
-104,99,114,169,20,220,50,180,14,12,205,7,100,245,226,171,241,23,255,5,0,
-248,11,4,183,71,114,31,52,5,164,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_1 = 762;
-static unsigned char xml_res_file_1[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,2,193,73,68,65,84,56,141,165,83,203,75,84,97,28,61,
-223,125,204,220,59,51,58,211,216,104,52,152,57,208,44,162,69,77,216,99,
-217,166,69,139,114,209,178,182,254,1,173,133,164,130,82,210,69,164,65,47,
-40,40,33,164,136,30,24,38,99,37,246,90,217,131,76,196,152,124,164,222,25,
-155,123,189,207,239,222,251,125,173,18,76,93,245,91,253,224,119,126,135,
-195,57,28,194,57,199,255,140,180,217,225,253,181,215,145,231,99,195,59,
-94,125,125,207,114,141,217,153,219,143,111,249,27,225,200,191,10,70,186,
-94,228,199,231,127,119,168,13,169,227,76,65,60,100,54,150,42,51,230,175,
-133,153,71,111,223,142,157,253,252,109,236,199,166,10,134,47,14,182,78,
-252,150,239,29,61,221,26,147,101,25,85,141,67,91,212,17,193,100,66,149,
-51,167,9,145,78,228,115,7,90,39,167,63,20,255,254,8,127,151,55,151,135,
-246,125,156,50,250,155,118,31,140,129,203,240,108,128,122,64,232,214,34,
-176,50,40,207,70,224,155,53,181,169,218,250,135,185,198,125,77,235,8,42,
-134,213,61,173,41,138,107,70,177,248,147,67,155,231,168,46,1,70,133,96,
-165,18,133,174,73,152,157,166,96,190,154,98,76,236,88,227,193,104,247,203,
-236,132,25,204,104,86,154,52,102,243,80,227,2,64,128,128,2,142,197,161,
-235,85,148,151,231,80,174,206,193,11,52,152,110,197,57,212,114,236,240,
-153,246,253,227,2,0,112,144,194,10,245,8,13,92,216,182,5,199,226,240,108,
-2,234,2,148,122,240,67,7,12,1,8,225,16,68,1,162,40,168,186,254,43,191,106,
-34,23,4,153,8,12,174,167,195,48,53,132,161,15,73,140,32,12,25,92,106,195,
-163,38,130,192,1,72,0,73,34,80,99,81,168,49,37,190,74,64,194,96,82,149,
-36,88,78,21,224,17,216,142,11,73,140,130,51,14,234,123,112,92,11,150,109,
-130,147,0,68,0,100,49,18,38,147,77,83,171,30,44,126,153,195,208,221,226,
-247,235,67,163,249,84,124,39,226,74,29,100,57,6,206,0,215,179,97,90,85,
-4,92,135,28,183,192,133,21,72,81,127,228,201,224,157,35,171,10,26,246,100,
-209,148,105,104,223,181,61,249,192,22,108,32,36,240,185,9,14,128,75,62,
-18,105,138,136,34,2,82,4,62,139,178,68,34,113,126,93,140,39,47,159,122,
-214,188,53,126,3,92,71,34,77,145,72,123,72,164,61,212,109,99,200,100,69,
-108,169,151,145,170,139,130,250,198,213,7,143,110,126,106,107,107,35,107,
-8,40,165,210,185,254,11,87,156,229,210,37,111,101,177,34,200,22,106,211,
-64,114,171,136,100,90,70,8,187,60,254,249,93,215,211,193,254,251,140,49,
-185,84,42,145,53,93,232,236,236,36,61,61,61,170,97,24,117,34,17,51,123,
-115,133,253,74,114,75,51,36,1,243,11,179,165,169,31,159,198,9,65,89,81,
-148,74,161,80,48,138,197,98,184,97,153,0,160,183,183,151,12,12,12,8,154,
-166,9,65,16,144,154,154,26,214,210,210,194,250,250,250,216,191,216,63,135,
-130,93,217,61,128,193,109,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_2 = 718;
-static unsigned char xml_res_file_2[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
-0,31,243,255,97,0,0,2,149,73,68,65,84,120,94,149,208,95,72,83,111,24,7,
-240,231,57,91,179,153,186,182,53,203,182,131,127,142,77,146,21,254,47,145,
-31,130,180,70,161,32,69,55,209,69,134,77,7,25,68,55,63,84,130,5,145,136,
-73,181,96,211,65,65,136,8,221,104,65,97,81,236,194,132,73,38,141,34,216,
-69,205,168,108,98,110,168,219,145,29,61,167,103,178,99,50,131,232,129,15,
-239,11,95,206,195,251,61,104,181,90,143,248,124,190,110,65,16,30,75,146,
-228,133,127,28,198,239,247,247,154,205,102,155,211,233,236,109,104,104,
-104,6,26,172,154,214,96,197,84,45,157,59,128,166,18,221,135,107,240,1,251,
-199,5,90,173,182,223,225,112,8,115,115,115,106,122,201,53,68,52,1,226,21,
-96,20,157,148,183,214,160,183,12,129,185,33,65,226,182,5,31,169,182,45,
-8,133,66,99,110,183,187,239,185,207,247,217,196,113,69,187,180,218,81,16,
-22,35,27,41,74,17,1,196,24,221,4,0,140,30,132,136,186,29,7,90,236,232,173,
-7,121,168,247,6,77,121,249,7,163,197,178,156,203,113,63,170,171,171,199,
-160,118,82,39,103,181,208,175,35,234,54,240,90,219,192,243,132,140,218,
-97,32,147,178,223,11,152,158,158,227,117,77,77,225,194,226,226,159,249,
-249,249,111,233,231,222,145,51,25,125,148,71,92,228,178,156,33,188,1,29,
-0,92,32,51,122,155,254,99,71,71,135,127,104,104,104,79,34,145,8,106,52,
-154,91,129,64,224,33,164,205,52,14,22,208,209,72,198,25,10,142,145,122,
-98,95,88,88,248,238,114,185,78,27,12,134,79,42,149,170,148,178,110,163,
-209,88,1,219,231,28,177,145,243,201,5,175,201,59,50,66,128,150,76,5,131,
-193,155,84,235,125,44,22,203,165,87,12,103,103,103,27,210,22,188,34,33,
-50,190,209,99,64,130,18,162,217,218,87,175,215,247,114,28,23,160,255,49,
-203,178,236,4,0,40,55,115,186,147,66,130,204,32,160,141,194,62,210,147,
-86,245,255,104,52,250,5,17,69,158,231,117,165,230,253,35,91,178,139,228,
-46,105,79,86,88,75,5,9,57,77,85,17,233,56,203,243,113,190,209,90,94,224,
-116,228,157,106,178,29,61,144,138,51,228,147,177,131,244,146,46,151,72,
-39,129,180,37,75,255,213,85,157,57,113,178,57,110,44,168,68,75,145,116,
-63,21,221,35,93,196,147,236,244,87,52,138,235,93,237,47,174,182,86,138,
-37,220,190,178,173,25,14,135,91,14,69,194,123,21,4,54,205,231,66,206,202,
-42,176,66,24,76,137,48,176,196,36,204,131,231,219,68,119,40,62,175,124,
-58,51,219,44,87,85,62,243,76,214,47,45,102,112,241,229,76,5,191,172,86,
-242,43,106,197,42,225,227,25,74,85,66,80,100,173,199,49,75,228,197,28,105,
-117,45,71,92,143,178,235,59,191,34,226,110,0,224,137,240,11,36,55,85,126,
-116,101,105,104,0,0,0,0,73,69,78,68,174,66,96,130};
-
-static size_t xml_res_size_3 = 529;
-static unsigned char xml_res_file_3[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,100,111,
-99,117,109,101,110,116,45,114,101,118,101,114,116,34,62,115,121,110,116,
-97,120,104,105,103,104,108,105,103,104,116,98,97,115,101,100,108,103,95,
-108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,
-99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,
-115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,110,100,97,
-114,100,95,100,111,99,117,109,101,110,116,45,114,101,118,101,114,116,46,
-112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
-116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,101,99,108,105,112,115,101,34,62,115,121,110,116,97,120,
-104,105,103,104,108,105,103,104,116,98,97,115,101,100,108,103,95,108,105,
-116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,
-112,36,114,101,115,95,101,99,108,105,112,115,101,46,112,110,103,60,47,111,
-98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,102,
-111,110,116,115,45,97,110,100,45,99,111,108,111,117,114,115,34,62,115,121,
-110,116,97,120,104,105,103,104,108,105,103,104,116,98,97,115,101,100,108,
-103,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,
-115,46,99,112,112,36,114,101,115,95,102,111,110,116,115,45,97,110,100,45,
-99,111,108,111,117,114,115,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,60,47,114,101,115,111,117,114,99,101,62,10};
-
-void wxCrafterqEa5vvInitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_document-revert.png"), xml_res_file_0, xml_res_size_0, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$res_eclipse.png"), xml_res_file_1, xml_res_size_1, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$res_fonts-and-colours.png"), xml_res_file_2, xml_res_size_2, wxT("image/x-apple-ios-png"));
- XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_syntaxhighlightbasedlg_liteeditor_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$_home_eran_devl_codelite_LiteEditor_syntaxhighlightbasedlg_liteeditor_bitmaps.xrc"));
-}
+//
+// This file was automatically generated by wxrc, do not edit by hand.
+//
+
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 667;
+static unsigned char xml_res_file_0[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
+0,2,80,73,68,65,84,56,141,141,147,205,75,84,97,20,135,159,123,231,222,188,
+51,183,201,235,136,210,144,102,69,73,98,20,21,36,81,46,178,100,220,21,69,
+144,4,109,218,182,237,31,112,99,27,171,133,8,253,5,65,17,133,32,209,98,
+152,166,196,133,20,72,75,157,194,50,172,73,39,115,174,227,220,113,222,143,
+22,19,126,221,89,116,224,108,14,239,121,206,121,207,239,28,131,93,150,205,
+102,245,238,24,128,148,18,203,178,86,181,214,163,65,16,12,167,82,169,18,
+128,177,251,97,58,157,214,61,61,61,33,64,58,157,166,183,183,151,92,46,167,
+202,229,242,170,148,178,191,175,175,239,163,25,174,36,208,90,135,220,247,
+139,120,158,71,87,87,151,233,121,94,147,105,154,217,76,38,115,60,4,16,82,
+162,148,10,185,239,23,1,112,93,151,246,246,118,98,177,152,171,148,26,183,
+66,0,33,80,74,213,157,193,216,216,40,182,109,211,208,224,224,56,14,142,
+227,28,11,1,164,172,15,24,28,188,29,138,189,123,159,101,7,224,218,163,140,
+247,169,80,225,237,248,60,191,252,42,82,107,60,39,194,137,3,46,253,221,
+9,90,226,54,179,249,50,35,111,22,120,114,167,19,41,196,22,224,198,227,169,
+148,133,241,140,198,22,206,37,27,241,98,22,166,97,176,86,17,124,91,94,231,
+193,235,5,14,55,55,48,95,168,0,160,148,66,72,89,3,92,31,153,188,228,88,
+214,243,203,221,173,113,199,142,176,248,59,96,102,190,12,218,32,177,215,
+38,217,20,101,224,84,146,233,92,129,43,39,247,243,114,250,59,74,41,164,
+20,88,55,31,78,69,77,211,120,122,254,104,115,188,84,145,204,124,93,97,197,
+175,112,166,195,69,106,205,92,222,103,246,71,145,195,173,113,206,30,73,
+192,191,53,83,74,33,132,192,194,228,94,178,41,186,111,67,40,190,44,149,
+180,95,244,141,251,3,7,73,184,181,223,21,74,130,161,137,69,22,150,75,84,
+133,162,45,17,221,4,72,41,177,208,220,245,162,118,244,231,74,64,254,79,
+121,237,130,251,57,238,69,15,109,42,49,52,177,8,128,95,169,226,231,171,
+204,229,139,219,102,32,176,148,166,67,72,205,242,90,5,173,117,174,65,149,
+78,111,151,113,248,106,18,41,119,158,71,36,98,212,58,16,2,203,128,72,121,
+67,162,148,6,216,35,164,68,235,173,4,219,4,219,12,157,12,90,235,154,10,
+218,32,191,94,145,109,17,211,68,67,103,32,169,187,72,245,76,74,129,101,
+104,99,114,169,20,220,50,180,14,12,205,7,100,245,226,171,241,23,255,5,0,
+248,11,4,183,71,114,31,52,5,164,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_1 = 762;
+static unsigned char xml_res_file_1[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,2,193,73,68,65,84,56,141,165,83,203,75,84,97,28,61,
+223,125,204,220,59,51,58,211,216,104,52,152,57,208,44,162,69,77,216,99,
+217,166,69,139,114,209,178,182,254,1,173,133,164,130,82,210,69,164,65,47,
+40,40,33,164,136,30,24,38,99,37,246,90,217,131,76,196,152,124,164,222,25,
+155,123,189,207,239,222,251,125,173,18,76,93,245,91,253,224,119,126,135,
+195,57,28,194,57,199,255,140,180,217,225,253,181,215,145,231,99,195,59,
+94,125,125,207,114,141,217,153,219,143,111,249,27,225,200,191,10,70,186,
+94,228,199,231,127,119,168,13,169,227,76,65,60,100,54,150,42,51,230,175,
+133,153,71,111,223,142,157,253,252,109,236,199,166,10,134,47,14,182,78,
+252,150,239,29,61,221,26,147,101,25,85,141,67,91,212,17,193,100,66,149,
+51,167,9,145,78,228,115,7,90,39,167,63,20,255,254,8,127,151,55,151,135,
+246,125,156,50,250,155,118,31,140,129,203,240,108,128,122,64,232,214,34,
+176,50,40,207,70,224,155,53,181,169,218,250,135,185,198,125,77,235,8,42,
+134,213,61,173,41,138,107,70,177,248,147,67,155,231,168,46,1,70,133,96,
+165,18,133,174,73,152,157,166,96,190,154,98,76,236,88,227,193,104,247,203,
+236,132,25,204,104,86,154,52,102,243,80,227,2,64,128,128,2,142,197,161,
+235,85,148,151,231,80,174,206,193,11,52,152,110,197,57,212,114,236,240,
+153,246,253,227,2,0,112,144,194,10,245,8,13,92,216,182,5,199,226,240,108,
+2,234,2,148,122,240,67,7,12,1,8,225,16,68,1,162,40,168,186,254,43,191,106,
+34,23,4,153,8,12,174,167,195,48,53,132,161,15,73,140,32,12,25,92,106,195,
+163,38,130,192,1,72,0,73,34,80,99,81,168,49,37,190,74,64,194,96,82,149,
+36,88,78,21,224,17,216,142,11,73,140,130,51,14,234,123,112,92,11,150,109,
+130,147,0,68,0,100,49,18,38,147,77,83,171,30,44,126,153,195,208,221,226,
+247,235,67,163,249,84,124,39,226,74,29,100,57,6,206,0,215,179,97,90,85,
+4,92,135,28,183,192,133,21,72,81,127,228,201,224,157,35,171,10,26,246,100,
+209,148,105,104,223,181,61,249,192,22,108,32,36,240,185,9,14,128,75,62,
+18,105,138,136,34,2,82,4,62,139,178,68,34,113,126,93,140,39,47,159,122,
+214,188,53,126,3,92,71,34,77,145,72,123,72,164,61,212,109,99,200,100,69,
+108,169,151,145,170,139,130,250,198,213,7,143,110,126,106,107,107,35,107,
+8,40,165,210,185,254,11,87,156,229,210,37,111,101,177,34,200,22,106,211,
+64,114,171,136,100,90,70,8,187,60,254,249,93,215,211,193,254,251,140,49,
+185,84,42,145,53,93,232,236,236,36,61,61,61,170,97,24,117,34,17,51,123,
+115,133,253,74,114,75,51,36,1,243,11,179,165,169,31,159,198,9,65,89,81,
+148,74,161,80,48,138,197,98,184,97,153,0,160,183,183,151,12,12,12,8,154,
+166,9,65,16,144,154,154,26,214,210,210,194,250,250,250,216,191,216,63,135,
+130,93,217,61,128,193,109,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_2 = 718;
+static unsigned char xml_res_file_2[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
+0,31,243,255,97,0,0,2,149,73,68,65,84,120,94,149,208,95,72,83,111,24,7,
+240,231,57,91,179,153,186,182,53,203,182,131,127,142,77,146,21,254,47,145,
+31,130,180,70,161,32,69,55,209,69,134,77,7,25,68,55,63,84,130,5,145,136,
+73,181,96,211,65,65,136,8,221,104,65,97,81,236,194,132,73,38,141,34,216,
+69,205,168,108,98,110,168,219,145,29,61,167,103,178,99,50,131,232,129,15,
+239,11,95,206,195,251,61,104,181,90,143,248,124,190,110,65,16,30,75,146,
+228,133,127,28,198,239,247,247,154,205,102,155,211,233,236,109,104,104,
+104,6,26,172,154,214,96,197,84,45,157,59,128,166,18,221,135,107,240,1,251,
+199,5,90,173,182,223,225,112,8,115,115,115,106,122,201,53,68,52,1,226,21,
+96,20,157,148,183,214,160,183,12,129,185,33,65,226,182,5,31,169,182,45,
+8,133,66,99,110,183,187,239,185,207,247,217,196,113,69,187,180,218,81,16,
+22,35,27,41,74,17,1,196,24,221,4,0,140,30,132,136,186,29,7,90,236,232,173,
+7,121,168,247,6,77,121,249,7,163,197,178,156,203,113,63,170,171,171,199,
+160,118,82,39,103,181,208,175,35,234,54,240,90,219,192,243,132,140,218,
+97,32,147,178,223,11,152,158,158,227,117,77,77,225,194,226,226,159,249,
+249,249,111,233,231,222,145,51,25,125,148,71,92,228,178,156,33,188,1,29,
+0,92,32,51,122,155,254,99,71,71,135,127,104,104,104,79,34,145,8,106,52,
+154,91,129,64,224,33,164,205,52,14,22,208,209,72,198,25,10,142,145,122,
+98,95,88,88,248,238,114,185,78,27,12,134,79,42,149,170,148,178,110,163,
+209,88,1,219,231,28,177,145,243,201,5,175,201,59,50,66,128,150,76,5,131,
+193,155,84,235,125,44,22,203,165,87,12,103,103,103,27,210,22,188,34,33,
+50,190,209,99,64,130,18,162,217,218,87,175,215,247,114,28,23,160,255,49,
+203,178,236,4,0,40,55,115,186,147,66,130,204,32,160,141,194,62,210,147,
+86,245,255,104,52,250,5,17,69,158,231,117,165,230,253,35,91,178,139,228,
+46,105,79,86,88,75,5,9,57,77,85,17,233,56,203,243,113,190,209,90,94,224,
+116,228,157,106,178,29,61,144,138,51,228,147,177,131,244,146,46,151,72,
+39,129,180,37,75,255,213,85,157,57,113,178,57,110,44,168,68,75,145,116,
+63,21,221,35,93,196,147,236,244,87,52,138,235,93,237,47,174,182,86,138,
+37,220,190,178,173,25,14,135,91,14,69,194,123,21,4,54,205,231,66,206,202,
+42,176,66,24,76,137,48,176,196,36,204,131,231,219,68,119,40,62,175,124,
+58,51,219,44,87,85,62,243,76,214,47,45,102,112,241,229,76,5,191,172,86,
+242,43,106,197,42,225,227,25,74,85,66,80,100,173,199,49,75,228,197,28,105,
+117,45,71,92,143,178,235,59,191,34,226,110,0,224,137,240,11,36,55,85,126,
+116,101,105,104,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_3 = 511;
+static unsigned char xml_res_file_3[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,100,111,99,117,109,101,110,116,45,114,101,118,101,114,116,34,62,115,
+121,110,116,97,120,104,105,103,104,108,105,103,104,116,98,97,115,101,100,
+108,103,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
+112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,
+99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,
+110,100,97,114,100,95,100,111,99,117,109,101,110,116,45,114,101,118,101,
+114,116,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
+106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
+34,32,110,97,109,101,61,34,101,99,108,105,112,115,101,34,62,115,121,110,
+116,97,120,104,105,103,104,108,105,103,104,116,98,97,115,101,100,108,103,
+95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
+46,99,112,112,36,114,101,115,95,101,99,108,105,112,115,101,46,112,110,103,
+60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
+108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
+61,34,102,111,110,116,115,45,97,110,100,45,99,111,108,111,117,114,115,34,
+62,115,121,110,116,97,120,104,105,103,104,108,105,103,104,116,98,97,115,
+101,100,108,103,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
+109,97,112,115,46,99,112,112,36,114,101,115,95,102,111,110,116,115,45,97,
+110,100,45,99,111,108,111,117,114,115,46,112,110,103,60,47,111,98,106,101,
+99,116,62,10,60,47,114,101,115,111,117,114,99,101,62,10};
+
+void wxCrafterqEa5vvInitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_document-revert.png"), xml_res_file_0, xml_res_size_0, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$res_eclipse.png"), xml_res_file_1, xml_res_size_1, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$res_fonts-and-colours.png"), xml_res_file_2, xml_res_size_2, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_syntaxhighlightbasedlg_liteeditor_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/syntaxhighlightbasedlg_liteeditor_bitmaps.cpp$C__src_codelite_LiteEditor_syntaxhighlightbasedlg_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/syntaxhighlightdlg.cpp b/LiteEditor/syntaxhighlightdlg.cpp
index ec209c4c..71f85f72 100644
--- a/LiteEditor/syntaxhighlightdlg.cpp
+++ b/LiteEditor/syntaxhighlightdlg.cpp
@@ -50,12 +50,15 @@
#include "EclipseCXXThemeImporter.h"
#include <wx/msgdlg.h>
#include "EclipseThemeImporterManager.h"
+#include <wx/busyinfo.h>
+#include <wx/utils.h>
-#define CXX_AND_JAVASCRIPT "c++/javascript"
+#define CXX_AND_JAVASCRIPT "c++"
SyntaxHighlightDlg::SyntaxHighlightDlg(wxWindow* parent)
: SyntaxHighlightBaseDlg(parent)
, m_isModified(false)
+ , m_globalThemeChanged(false)
{
// Get list of available lexers
wxString lexerName;
@@ -64,8 +67,8 @@ SyntaxHighlightDlg::SyntaxHighlightDlg(wxWindow* parent)
if(editor) {
lexerName = editor->GetContext()->GetName().Lower();
}
-
- for(size_t i=0; i<lexers.GetCount(); ++i) {
+
+ for(size_t i = 0; i < lexers.GetCount(); ++i) {
if(lexers.Item(i) == "c++") {
m_listBox->Append(CXX_AND_JAVASCRIPT);
} else {
@@ -85,14 +88,19 @@ SyntaxHighlightDlg::SyntaxHighlightDlg(wxWindow* parent)
// Load the global colours
m_colourPickerOutputPanesFgColour->SetColour(ColoursAndFontsManager::Get().GetGlobalFgColour());
m_colourPickerOutputPanesBgColour->SetColour(ColoursAndFontsManager::Get().GetGlobalBgColour());
+ m_choiceGlobalTheme->Append(ColoursAndFontsManager::Get().GetAvailableThemesForLexer("c++"));
+ m_choiceGlobalTheme->SetStringSelection(ColoursAndFontsManager::Get().GetGlobalTheme());
+
m_isModified = false;
- WindowAttrManager::Load(this, wxT("SyntaxHighlightDlgAttr"), NULL);
+ SetName("SyntaxHighlightDlg");
+ WindowAttrManager::Load(this);
}
void SyntaxHighlightDlg::OnButtonOK(wxCommandEvent& event)
{
wxUnusedVar(event);
SaveChanges();
+
clMainFrame::Get()->GetMainBook()->ApplySettingsChanges();
// and close the dialog
EndModal(wxID_OK);
@@ -138,11 +146,11 @@ void SyntaxHighlightDlg::LoadLexer(const wxString& themeName)
Clear();
wxString lexer = m_listBox->GetStringSelection();
if(lexer.IsEmpty()) return;
-
+
if(lexer == CXX_AND_JAVASCRIPT) {
lexer = "c++";
}
-
+
m_lexer = ColoursAndFontsManager::Get().GetLexer(lexer, themeName);
CreateLexerPage();
m_isModified = false;
@@ -168,10 +176,24 @@ void SyntaxHighlightDlg::SaveChanges()
if(!selProp.IsNull()) {
selProp.SetFgColour(m_colourPickerSelTextFgColour->GetColour().GetAsString(wxC2S_HTML_SYNTAX));
}
- ColoursAndFontsManager::Get().Save(m_lexer);
+
// Update the active theme for the lexer
ColoursAndFontsManager::Get().SetActiveTheme(m_lexer->GetName(), m_choiceLexerThemes->GetStringSelection());
+ if(m_globalThemeChanged) {
+ wxBusyInfo bi(_("Applying changes..."));
+ wxBusyCursor bc;
+ ColoursAndFontsManager::Get().SetGlobalTheme(m_choiceGlobalTheme->GetStringSelection());
+ ColoursAndFontsManager::Get().SetTheme(m_choiceGlobalTheme->GetStringSelection());
+ m_globalThemeChanged = false;
+
+ m_lexer = ColoursAndFontsManager::Get().GetLexer(m_lexer->GetName());
+ CallAfter(&SyntaxHighlightDlg::LoadLexer, m_lexer->GetThemeName());
+ }
+
+ // Now save the changes to the file system
+ ColoursAndFontsManager::Get().Save();
+
wxString oldFg = EditorConfigST::Get()->GetCurrentOutputviewFgColour();
wxString oldBg = EditorConfigST::Get()->GetCurrentOutputviewBgColour();
@@ -184,10 +206,7 @@ void SyntaxHighlightDlg::SaveChanges()
m_isModified = false;
}
-SyntaxHighlightDlg::~SyntaxHighlightDlg()
-{
- WindowAttrManager::Save(this, wxT("SyntaxHighlightDlgAttr"), NULL);
-}
+SyntaxHighlightDlg::~SyntaxHighlightDlg() {}
void SyntaxHighlightDlg::OnColourChanged(wxColourPickerEvent& event)
{
@@ -197,25 +216,25 @@ void SyntaxHighlightDlg::OnColourChanged(wxColourPickerEvent& event)
wxObject* obj = event.GetEventObject();
if(obj == m_colourPicker) {
wxColour colour = event.GetColour();
- std::list<StyleProperty>::iterator iter = GetSelectedStyle();
- iter->SetFgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
+ StyleProperty::Map_t::iterator iter = GetSelectedStyle();
+ iter->second.SetFgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
} else if(obj == m_bgColourPicker) {
wxColour colour = event.GetColour();
- std::list<StyleProperty>::iterator iter = GetSelectedStyle();
+ StyleProperty::Map_t::iterator iter = GetSelectedStyle();
- iter->SetBgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
+ iter->second.SetBgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
} else if(obj == m_globalBgColourPicker) {
wxColour colour = event.GetColour();
- StyleProperty::List_t& properties = m_lexer->GetLexerProperties();
- StyleProperty::List_t::iterator iter = properties.begin();
+ StyleProperty::Map_t& properties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t::iterator iter = properties.begin();
for(; iter != properties.end(); ++iter) {
// Dont change the text selection using the global font picker
- if(iter->GetName() == wxT("Text Selection")) continue;
- iter->SetBgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
+ if(iter->second.GetName() == wxT("Text Selection")) continue;
+ iter->second.SetBgColour(colour.GetAsString(wxC2S_HTML_SYNTAX));
}
// update the style background colour as well
@@ -265,10 +284,10 @@ void SyntaxHighlightDlg::OnEolFilled(wxCommandEvent& event)
{
CHECK_PTR_RET(m_lexer);
m_isModified = true;
- StyleProperty::List_t& properties = m_lexer->GetLexerProperties();
- StyleProperty::List_t::iterator iter = GetSelectedStyle();
+ StyleProperty::Map_t& properties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t::iterator iter = GetSelectedStyle();
if(iter != properties.end()) {
- iter->SetEolFilled(event.IsChecked());
+ iter->second.SetEolFilled(event.IsChecked());
}
}
@@ -277,28 +296,28 @@ void SyntaxHighlightDlg::OnFontChanged(wxFontPickerEvent& event)
CHECK_PTR_RET(m_lexer);
m_isModified = true;
- StyleProperty::List_t& properties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t& properties = m_lexer->GetLexerProperties();
// update f
wxObject* obj = event.GetEventObject();
if(obj == m_fontPicker) {
wxFont f = event.GetFont();
- std::list<StyleProperty>::iterator iter = GetSelectedStyle();
+ StyleProperty::Map_t::iterator iter = GetSelectedStyle();
- iter->SetBold(f.GetWeight() == wxFONTWEIGHT_BOLD);
- iter->SetFaceName(f.GetFaceName());
- iter->SetFontSize(f.GetPointSize());
- iter->SetUnderlined(f.GetUnderlined());
- iter->SetItalic(f.GetStyle() == wxFONTSTYLE_ITALIC);
+ iter->second.SetBold(f.GetWeight() == wxFONTWEIGHT_BOLD);
+ iter->second.SetFaceName(f.GetFaceName());
+ iter->second.SetFontSize(f.GetPointSize());
+ iter->second.SetUnderlined(f.GetUnderlined());
+ iter->second.SetItalic(f.GetStyle() == wxFONTSTYLE_ITALIC);
} else if(obj == m_globalFontPicker) {
wxFont f = event.GetFont();
- StyleProperty::List_t::iterator iter = properties.begin();
- for(; iter != properties.end(); iter++) {
- iter->SetBold(f.GetWeight() == wxFONTWEIGHT_BOLD);
- iter->SetFaceName(f.GetFaceName());
- iter->SetFontSize(f.GetPointSize());
- iter->SetUnderlined(f.GetUnderlined());
- iter->SetItalic(f.GetStyle() == wxFONTSTYLE_ITALIC);
+ StyleProperty::Map_t::iterator iter = properties.begin();
+ for(; iter != properties.end(); ++iter) {
+ iter->second.SetBold(f.GetWeight() == wxFONTWEIGHT_BOLD);
+ iter->second.SetFaceName(f.GetFaceName());
+ iter->second.SetFontSize(f.GetPointSize());
+ iter->second.SetUnderlined(f.GetUnderlined());
+ iter->second.SetItalic(f.GetStyle() == wxFONTSTYLE_ITALIC);
}
// update the style f picker as well
m_fontPicker->SetSelectedFont(f);
@@ -311,12 +330,12 @@ void SyntaxHighlightDlg::OnItemSelected(wxCommandEvent& event)
// update colour picker & font pickers
wxString selectionString = event.GetString();
- StyleProperty::List_t& properties = m_lexer->GetLexerProperties();
- StyleProperty::List_t::iterator iter = properties.begin();
- for(; iter != properties.end(); iter++) {
- if(iter->GetName() == selectionString) {
+ StyleProperty::Map_t& properties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t::iterator iter = properties.begin();
+ for(; iter != properties.end(); ++iter) {
+ if(iter->second.GetName() == selectionString) {
// update font & color
- StyleProperty p = (*iter);
+ StyleProperty p = iter->second;
wxString colour = p.GetFgColour();
wxString bgColour = p.GetBgColour();
wxFont font = wxNullFont;
@@ -368,11 +387,11 @@ void SyntaxHighlightDlg::OnStyleWithingPreProcessorUI(wxUpdateUIEvent& event)
{
CHECK_PTR_RET(m_lexer);
- StyleProperty::List_t& properties = m_lexer->GetLexerProperties();
- StyleProperty::List_t::iterator iter = GetSelectedStyle();
+ StyleProperty::Map_t& properties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t::iterator iter = GetSelectedStyle();
if(iter == properties.end())
event.Enable(false);
- else if(iter->GetName() == "Preprocessor")
+ else if(iter->second.GetName() == "Preprocessor")
event.Enable(true);
else
event.Enable(false);
@@ -390,29 +409,31 @@ void SyntaxHighlightDlg::CreateLexerPage()
{
CHECK_PTR_RET(m_lexer);
- const StyleProperty::List_t& m_propertyList = m_lexer->GetLexerProperties();
- std::list<StyleProperty>::const_iterator it = m_propertyList.begin();
+ const StyleProperty::Map_t& m_propertyList = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t::const_iterator it = m_propertyList.begin();
StyleProperty selTextProperties;
for(; it != m_propertyList.end(); it++) {
- if(it->GetId() != SEL_TEXT_ATTR_ID) {
- m_properties->Append((*it).GetName());
+ if(it->second.GetId() != SEL_TEXT_ATTR_ID) {
+ m_properties->Append(it->second.GetName());
} else {
- selTextProperties = *it;
+ selTextProperties = it->second;
}
}
- if(m_properties->GetCount()) m_properties->SetSelection(0);
+ if(m_properties->GetCount()) {
+ m_properties->SetSelection(0);
+ }
- wxString initialColor = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT).GetAsString();
- wxString bgInitialColor = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW).GetAsString();
+ wxString initialColor = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT).GetAsString(wxC2S_HTML_SYNTAX);
+ wxString bgInitialColor = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW).GetAsString(wxC2S_HTML_SYNTAX);
wxFont initialFont = wxNullFont;
// bool initialEolFilled (false);
bool initialStyleWithinPreProcessor(true);
if(m_propertyList.empty() == false) {
StyleProperty p;
- p = (*m_propertyList.begin());
+ p = m_propertyList.begin()->second;
initialColor = p.GetFgColour();
bgInitialColor = p.GetBgColour();
@@ -427,12 +448,15 @@ void SyntaxHighlightDlg::CreateLexerPage()
face);
}
initialStyleWithinPreProcessor = m_lexer->GetStyleWithinPreProcessor();
+ const StyleProperty& defaultStyle = m_lexer->GetProperty(0);
+ if(!defaultStyle.IsNull()) {
+ m_colourPicker->SetColour(defaultStyle.GetFgColour());
+ m_bgColourPicker->SetColour(defaultStyle.GetBgColour());
+ m_globalBgColourPicker->SetColour(defaultStyle.GetBgColour());
+ }
m_fontPicker->SetSelectedFont(initialFont);
- m_colourPicker->SetColour(wxColour(initialColor));
- m_bgColourPicker->SetColour(wxColour(bgInitialColor));
m_globalFontPicker->SetSelectedFont(initialFont);
- m_globalBgColourPicker->SetColour(wxColour(bgInitialColor));
m_fileSpec->ChangeValue(m_lexer->GetFileSpec());
m_styleWithinPreProcessor->SetValue(initialStyleWithinPreProcessor);
@@ -459,10 +483,10 @@ void SyntaxHighlightDlg::CreateLexerPage()
}
}
-StyleProperty::List_t::iterator SyntaxHighlightDlg::GetSelectedStyle()
+StyleProperty::Map_t::iterator SyntaxHighlightDlg::GetSelectedStyle()
{
wxString selectedProperty = m_properties->GetStringSelection();
- StyleProperty::List_t& lexerProperties = m_lexer->GetLexerProperties();
+ StyleProperty::Map_t& lexerProperties = m_lexer->GetLexerProperties();
return std::find_if(lexerProperties.begin(), lexerProperties.end(), StyleProperty::FindByName(selectedProperty));
}
@@ -472,7 +496,7 @@ void SyntaxHighlightDlg::OnLexerSelected(wxCommandEvent& event)
if(lexerName == CXX_AND_JAVASCRIPT) {
lexerName = "c++";
}
-
+
if(m_isModified) {
SaveChanges();
}
@@ -481,10 +505,7 @@ void SyntaxHighlightDlg::OnLexerSelected(wxCommandEvent& event)
LoadLexer("");
}
-void SyntaxHighlightDlg::OnButtonApplyUI(wxUpdateUIEvent& event)
-{
- event.Enable(m_isModified);
-}
+void SyntaxHighlightDlg::OnButtonApplyUI(wxUpdateUIEvent& event) { event.Enable(m_isModified); }
void SyntaxHighlightDlg::OnTextSelFgUI(wxUpdateUIEvent& event)
{
@@ -569,10 +590,7 @@ void SyntaxHighlightDlg::OnImport(wxCommandEvent& event)
clMainFrame::Get()->GetEventHandler()->AddPendingEvent(openEvent);
}
-void SyntaxHighlightDlg::OnExportSelective(wxCommandEvent& event)
-{
- OnExport(event);
-}
+void SyntaxHighlightDlg::OnExportSelective(wxCommandEvent& event) { OnExport(event); }
void SyntaxHighlightDlg::OnExportAll(wxCommandEvent& event)
{
@@ -584,16 +602,13 @@ void SyntaxHighlightDlg::OnExportAll(wxCommandEvent& event)
if(path.IsEmpty()) return;
clZipWriter zw(path);
- zw.AddDirectory(clStandardPaths::Get().GetUserLexersDir(), "lexer_*.xml");
+ zw.AddDirectory(clStandardPaths::Get().GetUserLexersDir(), "*.json");
zw.Close();
::wxMessageBox(_("Settings have been saved into:\n") + zw.GetFilename().GetFullPath());
}
-void SyntaxHighlightDlg::OnToolExportAll(wxAuiToolBarEvent& event)
-{
- OnExportAll(event);
-}
+void SyntaxHighlightDlg::OnToolExportAll(wxAuiToolBarEvent& event) { OnExportAll(event); }
void SyntaxHighlightDlg::OnRestoreDefaults(wxCommandEvent& event)
{
// Ask for confirmation
@@ -614,18 +629,24 @@ void SyntaxHighlightDlg::OnRestoreDefaults(wxCommandEvent& event)
void SyntaxHighlightDlg::OnImportEclipseTheme(wxAuiToolBarEvent& event)
{
-#if 0
- EclipseThemeImporterManager importer;
- importer.ImportCxxToAll();
- ColoursAndFontsManager::Get().Reload();
- EndModal(wxID_OK);
- wxCommandEvent openEvent(wxEVT_COMMAND_MENU_SELECTED, XRCID("syntax_highlight"));
- clMainFrame::Get()->GetEventHandler()->AddPendingEvent(openEvent);
-#else
- wxString eclipseThemeXml =
- ::wxFileSelector(_("Select eclipse XML theme file"), "", "", "", "Eclipse Theme Files (*.xml)|*.xml");
-
- if(ColoursAndFontsManager::Get().ImportEclipseTheme(eclipseThemeXml)) {
+ wxFileDialog selector(this,
+ _("Select eclipse XML theme file"),
+ "",
+ "",
+ "Eclipse Theme Files (*.xml)|*.xml",
+ wxFD_OPEN | wxFD_MULTIPLE | wxFD_FILE_MUST_EXIST);
+ if(selector.ShowModal() == wxID_OK) {
+ wxArrayString files;
+ selector.GetPaths(files);
+ if(files.IsEmpty()) return;
+ for(size_t i = 0; i < files.size(); ++i) {
+ ColoursAndFontsManager::Get().ImportEclipseTheme(files.Item(i));
+ }
+ // Mark the dialg is modified and force a save
+ wxBusyCursor bc;
+ m_isModified = true;
+ SaveChanges();
+
::wxMessageBox(_("File imported successfully!"));
// Dismiss the dialog
EndModal(wxID_OK);
@@ -633,11 +654,22 @@ void SyntaxHighlightDlg::OnImportEclipseTheme(wxAuiToolBarEvent& event)
wxCommandEvent openEvent(wxEVT_COMMAND_MENU_SELECTED, XRCID("syntax_highlight"));
clMainFrame::Get()->GetEventHandler()->AddPendingEvent(openEvent);
}
-#endif
}
-void SyntaxHighlightDlg::OnLoadEclipseThemeWebsite(wxCommandEvent& event)
+void SyntaxHighlightDlg::OnLoadEclipseThemeWebsite(wxCommandEvent& event)
{
wxUnusedVar(event);
- ::wxLaunchDefaultBrowser("http://eclipsecolorthemes.org/");
-}
+ ::wxLaunchDefaultBrowser("http://eclipsecolorthemes.org/");
+}
+
+void SyntaxHighlightDlg::OnGlobalThemeSelected(wxCommandEvent& event)
+{
+ m_globalThemeChanged = true;
+ m_isModified = true;
+}
+
+void SyntaxHighlightDlg::OnGlobalFontSelected(wxFontPickerEvent& event)
+{
+ m_isModified = true;
+ ColoursAndFontsManager::Get().SetGlobalFont(event.GetFont());
+}
diff --git a/LiteEditor/syntaxhighlightdlg.h b/LiteEditor/syntaxhighlightdlg.h
index 53c308b4..f1a7295e 100644
--- a/LiteEditor/syntaxhighlightdlg.h
+++ b/LiteEditor/syntaxhighlightdlg.h
@@ -41,9 +41,12 @@ class wxTreebook;
class SyntaxHighlightDlg : public SyntaxHighlightBaseDlg
{
bool m_isModified;
+ bool m_globalThemeChanged;
LexerConf::Ptr_t m_lexer;
protected:
+ virtual void OnGlobalFontSelected(wxFontPickerEvent& event);
+ virtual void OnGlobalThemeSelected(wxCommandEvent& event);
virtual void OnLoadEclipseThemeWebsite(wxCommandEvent& event);
virtual void OnImportEclipseTheme(wxAuiToolBarEvent& event);
virtual void OnRestoreDefaults(wxCommandEvent& event);
@@ -83,7 +86,7 @@ protected:
void SaveChanges();
void Clear();
void CreateLexerPage();
- StyleProperty::List_t::iterator GetSelectedStyle();
+ StyleProperty::Map_t::iterator GetSelectedStyle();
void EditKeyWords(int set);
public:
diff --git a/LiteEditor/tabgroupbasedlgs.cpp b/LiteEditor/tabgroupbasedlgs.cpp
index 58d76d99..1d2020d2 100644
--- a/LiteEditor/tabgroupbasedlgs.cpp
+++ b/LiteEditor/tabgroupbasedlgs.cpp
@@ -126,7 +126,7 @@ SaveTabGroupBaseDlg::SaveTabGroupBaseDlg( wxWindow* parent, wxWindowID id, const
m_ListTabs = new wxCheckListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ListTabsChoices, 0 );
m_ListTabs->SetMinSize( wxSize( 400,-1 ) );
- bSizer3->Add( m_ListTabs, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+ bSizer3->Add( m_ListTabs, 1, wxALL|wxEXPAND, 5 );
wxBoxSizer* bSizer13;
bSizer13 = new wxBoxSizer( wxVERTICAL );
@@ -156,9 +156,9 @@ SaveTabGroupBaseDlg::SaveTabGroupBaseDlg( wxWindow* parent, wxWindowID id, const
bSizer10->Add( m_staticText4, 0, wxALIGN_LEFT|wxALL, 5 );
m_textName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer10->Add( m_textName, 0, wxALIGN_CENTER|wxEXPAND|wxALL, 5 );
+ bSizer10->Add( m_textName, 0, wxEXPAND|wxALL, 5 );
- bSizer1->Add( bSizer10, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
+ bSizer1->Add( bSizer10, 0, wxEXPAND|wxALL, 5 );
m_staticline11 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
bSizer1->Add( m_staticline11, 0, wxEXPAND|wxALL, 5 );
diff --git a/LiteEditor/tabgroupdlg.cpp b/LiteEditor/tabgroupdlg.cpp
index f3d20d50..1984c2b6 100644
--- a/LiteEditor/tabgroupdlg.cpp
+++ b/LiteEditor/tabgroupdlg.cpp
@@ -29,109 +29,104 @@
#include <wx/filedlg.h>
#include <wx/dir.h>
-LoadTabGroupDlg::LoadTabGroupDlg(wxWindow* parent, const wxString& path, const wxArrayString& previousgroups) : LoadTabGroupBaseDlg(parent)
+LoadTabGroupDlg::LoadTabGroupDlg(wxWindow* parent, const wxString& path, const wxArrayString& previousgroups)
+ : LoadTabGroupBaseDlg(parent)
{
- for (size_t n=0; n < previousgroups.GetCount(); ++n) {
- InsertListItem(previousgroups.Item(n));
- }
-
- // Add any groups in the passed dir (which is probably the workspace dir)
- wxArrayString pwdfiles;
- wxDir::GetAllFiles ( path, &pwdfiles, wxT("*.tabgroup"), wxDIR_FILES );
- for (size_t n=0; n < pwdfiles.GetCount(); ++n) {
- InsertListItem(pwdfiles.Item(n));
- }
- WindowAttrManager::Load(this, wxT("LoadTabGroupDlg"), NULL);
+ for(size_t n = 0; n < previousgroups.GetCount(); ++n) {
+ InsertListItem(previousgroups.Item(n));
+ }
+
+ // Add any groups in the passed dir (which is probably the workspace dir)
+ wxArrayString pwdfiles;
+ wxDir::GetAllFiles(path, &pwdfiles, wxT("*.tabgroup"), wxDIR_FILES);
+ for(size_t n = 0; n < pwdfiles.GetCount(); ++n) {
+ InsertListItem(pwdfiles.Item(n));
+ }
+ SetName("LoadTabGroupDlg");
+ WindowAttrManager::Load(this);
}
-LoadTabGroupDlg::~LoadTabGroupDlg()
-{
- WindowAttrManager::Save(this, wxT("LoadTabGroupDlg"), NULL);
-}
+LoadTabGroupDlg::~LoadTabGroupDlg() {}
void LoadTabGroupDlg::InsertListItem(const wxString& item)
{
- if (item.IsEmpty() == false) {
- int AlreadyThere = m_listBox->FindString(item, true);
-
- if (AlreadyThere != wxNOT_FOUND) {
- m_listBox->SetSelection(AlreadyThere);
- } else {
- m_listBox->Insert(item, 0);
- m_listBox->SetSelection(0);
- }
- }
+ if(item.IsEmpty() == false) {
+ int AlreadyThere = m_listBox->FindString(item, true);
+
+ if(AlreadyThere != wxNOT_FOUND) {
+ m_listBox->SetSelection(AlreadyThere);
+ } else {
+ m_listBox->Insert(item, 0);
+ m_listBox->SetSelection(0);
+ }
+ }
}
-void LoadTabGroupDlg::OnBrowse( wxCommandEvent& WXUNUSED(event) )
+void LoadTabGroupDlg::OnBrowse(wxCommandEvent& WXUNUSED(event))
{
- wxString group = wxFileSelector(_("Select a tab group:"), wxT(""), wxT(""), tabgroupTag,
- wxString(_("Tab groups")) + wxT(" (*.tabgroup)|*.tabgroup"), wxFD_OPEN | wxFD_FILE_MUST_EXIST, this);
- if (!group.IsEmpty()) {
- // Need to insert/select the new item, otherwise it won't be used
- InsertListItem(group);
- EndModal(wxID_OK);
- }
+ wxString group = wxFileSelector(_("Select a tab group:"),
+ wxT(""),
+ wxT(""),
+ tabgroupTag,
+ wxString(_("Tab groups")) + wxT(" (*.tabgroup)|*.tabgroup"),
+ wxFD_OPEN | wxFD_FILE_MUST_EXIST,
+ this);
+ if(!group.IsEmpty()) {
+ // Need to insert/select the new item, otherwise it won't be used
+ InsertListItem(group);
+ EndModal(wxID_OK);
+ }
}
-void LoadTabGroupDlg::OnItemActivated( wxCommandEvent& WXUNUSED(event) )
+void LoadTabGroupDlg::OnItemActivated(wxCommandEvent& WXUNUSED(event))
{
- int idx = m_listBox->GetSelection();
- EndModal( (idx == wxNOT_FOUND) ? wxID_CANCEL : wxID_OK );
+ int idx = m_listBox->GetSelection();
+ EndModal((idx == wxNOT_FOUND) ? wxID_CANCEL : wxID_OK);
}
//---------------------------------------------
SaveTabGroupDlg::SaveTabGroupDlg(wxWindow* parent, const wxArrayString& previousgroups)
- : SaveTabGroupBaseDlg(parent)
+ : SaveTabGroupBaseDlg(parent)
{
- WindowAttrManager::Load(this, wxT("SaveTabGroupDlg"), NULL);
+ SetName("SaveTabGroupDlg");
+ WindowAttrManager::Load(this);
}
-SaveTabGroupDlg::~SaveTabGroupDlg()
-{
- WindowAttrManager::Save(this, wxT("SaveTabGroupDlg"), NULL);
-}
+SaveTabGroupDlg::~SaveTabGroupDlg() {}
bool SaveTabGroupDlg::GetChoices(wxArrayInt& intArr) const
{
- bool SomeChecked = false;
- for ( unsigned int n=0; n < m_ListTabs->GetCount(); ++n ) {
- bool item = m_ListTabs->IsChecked(n);
- intArr.Add(item);
- if (item) {
- SomeChecked = true;
- }
- }
-
- return SomeChecked;
+ bool SomeChecked = false;
+ for(unsigned int n = 0; n < m_ListTabs->GetCount(); ++n) {
+ bool item = m_ListTabs->IsChecked(n);
+ intArr.Add(item);
+ if(item) {
+ SomeChecked = true;
+ }
+ }
+
+ return SomeChecked;
}
void SaveTabGroupDlg::OnCheckAll(wxCommandEvent& WXUNUSED(event))
{
- if (m_ListTabs == NULL) return;
+ if(m_ListTabs == NULL) return;
- for ( unsigned int n=0; n < m_ListTabs->GetCount(); ++n ) {
- m_ListTabs->Check(n, true);
- }
+ for(unsigned int n = 0; n < m_ListTabs->GetCount(); ++n) {
+ m_ListTabs->Check(n, true);
+ }
}
-void SaveTabGroupDlg::OnCheckAllUpdateUI(wxUpdateUIEvent& event)
-{
- event.Enable( m_ListTabs && m_ListTabs->GetCount() );
-}
+void SaveTabGroupDlg::OnCheckAllUpdateUI(wxUpdateUIEvent& event) { event.Enable(m_ListTabs && m_ListTabs->GetCount()); }
void SaveTabGroupDlg::OnClearAll(wxCommandEvent& WXUNUSED(event))
{
- if (m_ListTabs == NULL) return;
-
- for ( unsigned int n=0; n < m_ListTabs->GetCount(); ++n ) {
- m_ListTabs->Check(n, false);
- }
-}
+ if(m_ListTabs == NULL) return;
-void SaveTabGroupDlg::OnClearAllUpdateUI( wxUpdateUIEvent& event )
-{
- event.Enable( m_ListTabs && m_ListTabs->GetCount() );
+ for(unsigned int n = 0; n < m_ListTabs->GetCount(); ++n) {
+ m_ListTabs->Check(n, false);
+ }
}
+void SaveTabGroupDlg::OnClearAllUpdateUI(wxUpdateUIEvent& event) { event.Enable(m_ListTabs && m_ListTabs->GetCount()); }
diff --git a/LiteEditor/tags_options_base_dlg.cpp b/LiteEditor/tags_options_base_dlg.cpp
index 8e6ba6c3..b9b1e16a 100644
--- a/LiteEditor/tags_options_base_dlg.cpp
+++ b/LiteEditor/tags_options_base_dlg.cpp
@@ -28,6 +28,7 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
this->SetSizer(mainSizer);
m_treebook2 = new wxTreebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_treebook2->SetName(wxT("m_treebook2"));
mainSizer->Add(m_treebook2, 1, wxALL|wxEXPAND, 5);
@@ -207,9 +208,9 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
fgSizer4->Add(m_sliderMinWordLen, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
- m_checkAutoInsertSingleChoice = new wxCheckBox(m_paneTriggering, wxID_ANY, _("Auto-Insert single match"), wxDefaultPosition, wxSize(-1, -1), 0);
+ m_checkAutoInsertSingleChoice = new wxCheckBox(m_paneTriggering, wxID_ANY, _("Auto insert single match"), wxDefaultPosition, wxSize(-1, -1), 0);
m_checkAutoInsertSingleChoice->SetValue(true);
- m_checkAutoInsertSingleChoice->SetToolTip(_("When there is only a single match dont show the code completion box but rather insert the match"));
+ m_checkAutoInsertSingleChoice->SetToolTip(_("When there is only a single match don't show the code completion box but rather insert the match"));
fgSizer4->Add(m_checkAutoInsertSingleChoice, 0, wxALL, 5);
@@ -222,6 +223,7 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
m_panelCtagsSearchPaths->SetSizer(bSizer7);
m_notebook36 = new wxNotebook(m_panelCtagsSearchPaths, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
+ m_notebook36->SetName(wxT("m_notebook36"));
bSizer7->Add(m_notebook36, 1, wxALL|wxEXPAND, 5);
@@ -356,6 +358,7 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
bSizer15->Add(m_buttonParse, 0, wxALL, 5);
m_notebook2 = new wxNotebook(m_panelCtagsAdvanced, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_notebook2->SetName(wxT("m_notebook2"));
bSizer6->Add(m_notebook2, 1, wxALL|wxEXPAND, 5);
@@ -435,6 +438,7 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
bSizer18->Add(m_checkBoxEnableClangCC, 0, wxALL, 5);
m_notebookClang = new wxNotebook(m_panelClang, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_notebookClang->SetName(wxT("m_notebookClang"));
bSizer18->Add(m_notebookClang, 1, wxALL|wxEXPAND, 5);
@@ -480,11 +484,11 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
m_textCtrlClangSearchPaths->SetFont(m_textCtrlClangSearchPathsFont);
m_textCtrlClangSearchPaths->SetToolTip(_("Add here search paths used by clang for locating include files"));
- bSizer24->Add(m_textCtrlClangSearchPaths, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer24->Add(m_textCtrlClangSearchPaths, 1, wxEXPAND, 5);
m_buttonSuggest = new wxButton(m_panel8, wxID_ANY, _("Suggest search paths..."), wxDefaultPosition, wxSize(-1, -1), 0);
- bSizer24->Add(m_buttonSuggest, 0, wxTOP|wxBOTTOM|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer24->Add(m_buttonSuggest, 0, wxTOP|wxBOTTOM|wxEXPAND, 5);
m_panel4 = new wxPanel(m_notebookClang, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
m_notebookClang->AddPage(m_panel4, _("Advanced"), false);
@@ -533,19 +537,49 @@ TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wx
bSizer3->Add(m_buttonCancel, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_treebook2)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_treebook2);
+ }
+ #endif
m_treebook2->ExpandNode( 0, true );
m_treebook2->ExpandNode( 1, true );
m_treebook2->ExpandNode( 2, true );
m_treebook2->ExpandNode( 3, true );
m_treebook2->ExpandNode( 4, true );
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook36)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook36);
+ }
+ #endif
m_treebook2->ExpandNode( 5, true );
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook2)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook2);
+ }
+ #endif
m_treebook2->ExpandNode( 6, true );
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebookClang)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebookClang);
+ }
+ #endif
+
+ SetName(wxT("TagsOptionsBaseDlg"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_pgMgrColouring->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(TagsOptionsBaseDlg::OnColouringPropertyValueChanged), NULL, this);
m_staticTextMinWordLen->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnAutoShowWordAssitUI), NULL, this);
diff --git a/LiteEditor/tags_options_base_dlg.h b/LiteEditor/tags_options_base_dlg.h
index 5893b6ef..18201706 100644
--- a/LiteEditor/tags_options_base_dlg.h
+++ b/LiteEditor/tags_options_base_dlg.h
@@ -31,6 +31,12 @@
#include <wx/hyperlink.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
#include "tags_options_data.h"
class TagsOptionsBaseDlg : public wxDialog
@@ -116,6 +122,67 @@ protected:
virtual void OnButtonOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText14() { return m_staticText14; }
+ wxTextCtrl* GetSpinCtrlNumberOfCCItems() { return m_spinCtrlNumberOfCCItems; }
+ wxCheckBox* GetCheckBoxEnableCaseSensitiveCompletion() { return m_checkBoxEnableCaseSensitiveCompletion; }
+ wxCheckBox* GetCheckDisplayTypeInfo() { return m_checkDisplayTypeInfo; }
+ wxCheckBox* GetCheckDisplayFunctionTip() { return m_checkDisplayFunctionTip; }
+ wxCheckBox* GetCheckCppKeywordAssist() { return m_checkCppKeywordAssist; }
+ wxCheckBox* GetCheckBoxKeepFunctionSignature() { return m_checkBoxKeepFunctionSignature; }
+ wxCheckBox* GetCheckBoxretagWorkspaceOnStartup() { return m_checkBoxretagWorkspaceOnStartup; }
+ wxCheckBox* GetCheckDisableParseOnSave() { return m_checkDisableParseOnSave; }
+ wxCheckBox* GetCheckBoxDeepUsingNamespaceResolving() { return m_checkBoxDeepUsingNamespaceResolving; }
+ wxPanel* GetPaneDisplayAndBehavior() { return m_paneDisplayAndBehavior; }
+ wxPropertyGridManager* GetPgMgrColouring() { return m_pgMgrColouring; }
+ wxPanel* GetPaneColouring() { return m_paneColouring; }
+ wxCheckBox* GetCheckWordAssist() { return m_checkWordAssist; }
+ wxStaticText* GetStaticTextMinWordLen() { return m_staticTextMinWordLen; }
+ wxSlider* GetSliderMinWordLen() { return m_sliderMinWordLen; }
+ wxCheckBox* GetCheckAutoInsertSingleChoice() { return m_checkAutoInsertSingleChoice; }
+ wxPanel* GetPaneTriggering() { return m_paneTriggering; }
+ wxBannerWindow* GetBanner34() { return m_banner34; }
+ wxTextCtrl* GetTextCtrlCtagsSearchPaths() { return m_textCtrlCtagsSearchPaths; }
+ wxButton* GetButtonAddSearchPath() { return m_buttonAddSearchPath; }
+ wxButton* GetButtonCtagsSuggest() { return m_buttonCtagsSuggest; }
+ wxPanel* GetPanel38() { return m_panel38; }
+ wxBannerWindow* GetBanner44() { return m_banner44; }
+ wxTextCtrl* GetTextCtrlCtagsExcludePaths() { return m_textCtrlCtagsExcludePaths; }
+ wxButton* GetButtonAddExcludePath() { return m_buttonAddExcludePath; }
+ wxPanel* GetPanel40() { return m_panel40; }
+ wxNotebook* GetNotebook36() { return m_notebook36; }
+ wxPanel* GetPanelCtagsSearchPaths() { return m_panelCtagsSearchPaths; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxTextCtrl* GetTextFileSpec() { return m_textFileSpec; }
+ wxStaticText* GetStaticText92() { return m_staticText92; }
+ wxTextCtrl* GetTextCtrlFilesList() { return m_textCtrlFilesList; }
+ wxButton* GetButtonParse() { return m_buttonParse; }
+ wxTextCtrl* GetTextPrep() { return m_textPrep; }
+ wxStaticText* GetStaticText9() { return m_staticText9; }
+ wxHyperlinkCtrl* GetHyperlink1() { return m_hyperlink1; }
+ wxPanel* GetPanelClangGeneral() { return m_panelClangGeneral; }
+ wxStaticText* GetStaticText91() { return m_staticText91; }
+ wxTextCtrl* GetTextTypes() { return m_textTypes; }
+ wxPanel* GetPanel5() { return m_panel5; }
+ wxNotebook* GetNotebook2() { return m_notebook2; }
+ wxPanel* GetPanelCtagsAdvanced() { return m_panelCtagsAdvanced; }
+ wxPanel* GetPanelCtags() { return m_panelCtags; }
+ wxCheckBox* GetCheckBoxEnableClangCC() { return m_checkBoxEnableClangCC; }
+ wxCheckBox* GetCheckBoxClangFirst() { return m_checkBoxClangFirst; }
+ wxStaticText* GetStaticText13() { return m_staticText13; }
+ wxTextCtrl* GetTextCtrlClangSearchPaths() { return m_textCtrlClangSearchPaths; }
+ wxButton* GetButtonSuggest() { return m_buttonSuggest; }
+ wxPanel* GetPanel8() { return m_panel8; }
+ wxPanel* GetPanel3() { return m_panel3; }
+ wxStaticText* GetStaticText101() { return m_staticText101; }
+ wxButton* GetButtonClearCache() { return m_buttonClearCache; }
+ wxStaticText* GetStaticText12() { return m_staticText12; }
+ wxChoice* GetChoiceCachePolicy() { return m_choiceCachePolicy; }
+ wxPanel* GetPanel4() { return m_panel4; }
+ wxNotebook* GetNotebookClang() { return m_notebookClang; }
+ wxPanel* GetPanelClang() { return m_panelClang; }
+ wxTreebook* GetTreebook2() { return m_treebook2; }
+ wxButton* GetButtonOK() { return m_buttonOK; }
+ wxButton* GetButtonCancel() { return m_buttonCancel; }
TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Code Completion"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~TagsOptionsBaseDlg();
};
diff --git a/LiteEditor/tags_options_base_dlg_formbuilder_bitmaps.cpp b/LiteEditor/tags_options_base_dlg_formbuilder_bitmaps.cpp
index 5d3b8bfd..a36edff9 100644
--- a/LiteEditor/tags_options_base_dlg_formbuilder_bitmaps.cpp
+++ b/LiteEditor/tags_options_base_dlg_formbuilder_bitmaps.cpp
@@ -1,73 +1,47 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : tags_options_base_dlg_formbuilder_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxC6B32InitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/tags_options_base_dlg_formbuilder_bitmaps.cpp$C__src_codelite_formbuilder_tags_options_base_dlg_formbuilder_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/tags_options_base_dlg_formbuilder_bitmaps.cpp$C__src_codelite_formbuilder_tags_options_base_dlg_formbuilder_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxC6B32InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/tags_options_base_dlg_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_tags_options_base_dlg_formbuilder_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/tags_options_base_dlg_formbuilder_bitmaps.cpp$_home_david_devel_git_CL_formbuilder_tags_options_base_dlg_formbuilder_bitmaps.xrc"));
+}
diff --git a/LiteEditor/tags_options_dlg.cpp b/LiteEditor/tags_options_dlg.cpp
index eab2ca97..90cb40a6 100644
--- a/LiteEditor/tags_options_dlg.cpp
+++ b/LiteEditor/tags_options_dlg.cpp
@@ -52,7 +52,8 @@ TagsOptionsDlg::TagsOptionsDlg(wxWindow* parent, const TagsOptionsData& data)
::wxPGPropertyBooleanUseCheckbox(m_pgMgrColouring->GetGrid());
Centre();
GetSizer()->Fit(this);
- WindowAttrManager::Load(this, wxT("TagsOptionsDlgAttr"), NULL);
+ SetName("TagsOptionsDlg");
+ WindowAttrManager::Load(this);
// Set default values
@@ -125,7 +126,7 @@ TagsOptionsDlg::TagsOptionsDlg(wxWindow* parent, const TagsOptionsData& data)
TagsOptionsDlg::~TagsOptionsDlg()
{
- WindowAttrManager::Save(this, wxT("TagsOptionsDlgAttr"), NULL);
+
}
void TagsOptionsDlg::OnButtonOK(wxCommandEvent& event)
@@ -148,7 +149,7 @@ void TagsOptionsDlg::CopyData()
SetFlag(CC_DISABLE_AUTO_PARSING, m_checkDisableParseOnSave->IsChecked());
SetFlag(CC_IS_CASE_SENSITIVE, m_checkBoxEnableCaseSensitiveCompletion->IsChecked());
SetFlag(CC_KEEP_FUNCTION_SIGNATURE_UNFORMATTED, m_checkBoxKeepFunctionSignature->IsChecked());
- m_data.SetCcNumberOfDisplayItems(::wxStringToInt(m_spinCtrlNumberOfCCItems->GetValue(), 100, 50));
+ m_data.SetCcNumberOfDisplayItems(::wxStringToInt(m_spinCtrlNumberOfCCItems->GetValue(), 500, 100));
//----------------------------------------------------
// Colouring
diff --git a/LiteEditor/tags_parser_search_path_dlg.cpp b/LiteEditor/tags_parser_search_path_dlg.cpp
index af031194..52ff41e5 100644
--- a/LiteEditor/tags_parser_search_path_dlg.cpp
+++ b/LiteEditor/tags_parser_search_path_dlg.cpp
@@ -1,71 +1,70 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : tags_parser_search_path_dlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : tags_parser_search_path_dlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "tags_parser_search_path_dlg.h"
#include "windowattrmanager.h"
-TagsParserSearchPathsDlg::TagsParserSearchPathsDlg( wxWindow* parent, const wxArrayString &paths, const wxArrayString &excludePaths )
- : TagsParserSearchPathsBaseDlg( parent )
+TagsParserSearchPathsDlg::TagsParserSearchPathsDlg(wxWindow* parent,
+ const wxArrayString& paths,
+ const wxArrayString& excludePaths)
+ : TagsParserSearchPathsBaseDlg(parent)
{
- m_checkListPaths->Append( paths );
- for(unsigned int i=0; i<m_checkListPaths->GetCount(); i++) {
- m_checkListPaths->Check(i, true);
- }
-
- m_checkListExcludePaths->Append( excludePaths );
- for(unsigned int i=0; i<m_checkListExcludePaths->GetCount(); i++) {
- m_checkListExcludePaths->Check(i, true);
- }
-
- WindowAttrManager::Load(this, wxT("TagsParserSearchPathsDlg"), NULL);
+ m_checkListPaths->Append(paths);
+ for(unsigned int i = 0; i < m_checkListPaths->GetCount(); i++) {
+ m_checkListPaths->Check(i, true);
+ }
+
+ m_checkListExcludePaths->Append(excludePaths);
+ for(unsigned int i = 0; i < m_checkListExcludePaths->GetCount(); i++) {
+ m_checkListExcludePaths->Check(i, true);
+ }
+
+ SetName("TagsParserSearchPathsDlg");
+ WindowAttrManager::Load(this);
}
-wxArrayString TagsParserSearchPathsDlg::GetSearchPaths() const
+wxArrayString TagsParserSearchPathsDlg::GetSearchPaths() const
{
- wxArrayString paths;
- for(unsigned int i=0; i<m_checkListPaths->GetCount(); i++) {
- if(m_checkListPaths->IsChecked(i)) {
- paths.Add( m_checkListPaths->GetString(i) );
- }
- }
- return paths;
-}
+ wxArrayString paths;
+ for(unsigned int i = 0; i < m_checkListPaths->GetCount(); i++) {
+ if(m_checkListPaths->IsChecked(i)) {
+ paths.Add(m_checkListPaths->GetString(i));
+ }
+ }
+ return paths;
+}
+TagsParserSearchPathsDlg::~TagsParserSearchPathsDlg() {}
-TagsParserSearchPathsDlg::~TagsParserSearchPathsDlg()
+wxArrayString TagsParserSearchPathsDlg::GetExcludePath() const
{
- WindowAttrManager::Save(this, wxT("TagsParserSearchPathsDlg"), NULL);
-}
-
-wxArrayString TagsParserSearchPathsDlg::GetExcludePath() const
-{
- wxArrayString paths;
- for(unsigned int i=0; i<m_checkListExcludePaths->GetCount(); i++) {
- if(m_checkListExcludePaths->IsChecked(i)) {
- paths.Add( m_checkListExcludePaths->GetString(i) );
- }
- }
- return paths;
-}
+ wxArrayString paths;
+ for(unsigned int i = 0; i < m_checkListExcludePaths->GetCount(); i++) {
+ if(m_checkListExcludePaths->IsChecked(i)) {
+ paths.Add(m_checkListExcludePaths->GetString(i));
+ }
+ }
+ return paths;
+}
diff --git a/LiteEditor/tasks_find_what_dlg.cpp b/LiteEditor/tasks_find_what_dlg.cpp
index 82166da0..7a19d96f 100644
--- a/LiteEditor/tasks_find_what_dlg.cpp
+++ b/LiteEditor/tasks_find_what_dlg.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : tasks_find_what_dlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : tasks_find_what_dlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "tasks_find_what_dlg.h"
#include <wx/msgdlg.h>
#include <wx/regex.h>
@@ -33,127 +33,127 @@
class TaskData : public wxClientData
{
public:
- wxString m_regex;
+ wxString m_regex;
public:
- TaskData(const wxString &regex) : m_regex(regex) {}
- virtual ~TaskData() {}
+ TaskData(const wxString& regex)
+ : m_regex(regex)
+ {
+ }
+ virtual ~TaskData() {}
};
-TasksFindWhatDlg::TasksFindWhatDlg( wxWindow* parent )
- : TasksFindWhatDlgBase( parent )
+TasksFindWhatDlg::TasksFindWhatDlg(wxWindow* parent)
+ : TasksFindWhatDlgBase(parent)
{
- m_list->InsertColumn(0, _("Enabled"));
- m_list->InsertColumn(1, _("Task"));
- m_list->SetColumnWidth(1, 200);
-
- // Load all info from disk
- TasksPanelData data;
- EditorConfigST::Get()->ReadObject(wxT("TasksPanelData"), &data);
-
- std::map<wxString, wxString>::const_iterator iter = data.GetTasks().begin();
- for (; iter != data.GetTasks().end(); iter++) {
- DoAddLine(iter->first, iter->second, data.GetEnabledItems().Index(iter->first) != wxNOT_FOUND);
- }
- WindowAttrManager::Load(this, wxT("TasksFindWhatDlg"), NULL);
+ m_list->InsertColumn(0, _("Enabled"));
+ m_list->InsertColumn(1, _("Task"));
+ m_list->SetColumnWidth(1, 200);
+
+ // Load all info from disk
+ TasksPanelData data;
+ EditorConfigST::Get()->ReadObject(wxT("TasksPanelData"), &data);
+
+ std::map<wxString, wxString>::const_iterator iter = data.GetTasks().begin();
+ for(; iter != data.GetTasks().end(); iter++) {
+ DoAddLine(iter->first, iter->second, data.GetEnabledItems().Index(iter->first) != wxNOT_FOUND);
+ }
+ SetName("TasksFindWhatDlg");
+ WindowAttrManager::Load(this);
}
-TasksFindWhatDlg::~TasksFindWhatDlg()
-{
- WindowAttrManager::Save(this, wxT("TasksFindWhatDlg"), NULL);
-}
+TasksFindWhatDlg::~TasksFindWhatDlg() {}
-void TasksFindWhatDlg::OnNewTask( wxCommandEvent& event )
+void TasksFindWhatDlg::OnNewTask(wxCommandEvent& event)
{
- NewTaskDialog dlg(this);
- WindowAttrManager::Load(&dlg, wxT("NewTaskDialog"), NULL);
-
- dlg.SetLabel(_("New Task"));
- if (dlg.ShowModal() == wxID_OK) {
- wxRegEx re(dlg.m_regex->GetValue());
- if (re.IsValid() == false) {
- wxMessageBox(wxString::Format(_("'%s' is not a valid regular expression"), dlg.m_regex->GetValue().c_str()), _("CodeLite"), wxICON_WARNING|wxOK);
- return;
- }
- DoAddLine(dlg.m_name->GetValue(), dlg.m_regex->GetValue(), true);
- }
- WindowAttrManager::Save(&dlg, wxT("NewTaskDialog"), NULL);
+ NewTaskDialog dlg(this);
+ WindowAttrManager::Load(this);
+
+ dlg.SetLabel(_("New Task"));
+ if(dlg.ShowModal() == wxID_OK) {
+ wxRegEx re(dlg.m_regex->GetValue());
+ if(re.IsValid() == false) {
+ wxMessageBox(wxString::Format(_("'%s' is not a valid regular expression"), dlg.m_regex->GetValue().c_str()),
+ _("CodeLite"),
+ wxICON_WARNING | wxOK);
+ return;
+ }
+ DoAddLine(dlg.m_name->GetValue(), dlg.m_regex->GetValue(), true);
+ }
}
-void TasksFindWhatDlg::OnDeleteTask( wxCommandEvent& event )
+void TasksFindWhatDlg::OnDeleteTask(wxCommandEvent& event)
{
- int selection = m_list->GetSelection();
- if (selection == wxNOT_FOUND)
- return;
-
- int answer = wxMessageBox(_("Are you sure you want to delete this entry?"), _("Confirm"), wxICON_QUESTION|wxYES_NO);
- if (answer == wxYES) {
- m_list->DeleteItem(selection);
- }
+ int selection = m_list->GetSelection();
+ if(selection == wxNOT_FOUND) return;
+
+ int answer =
+ wxMessageBox(_("Are you sure you want to delete this entry?"), _("Confirm"), wxICON_QUESTION | wxYES_NO);
+ if(answer == wxYES) {
+ m_list->DeleteItem(selection);
+ }
}
-void TasksFindWhatDlg::OnDeleteTaskUI( wxUpdateUIEvent& event )
+void TasksFindWhatDlg::OnDeleteTaskUI(wxUpdateUIEvent& event)
{
- event.Enable(m_list->GetItemCount() && m_list->GetSelection() != wxNOT_FOUND);
+ event.Enable(m_list->GetItemCount() && m_list->GetSelection() != wxNOT_FOUND);
}
void TasksFindWhatDlg::OnEditTask(wxCommandEvent& event)
{
- int selection = m_list->GetSelection();
- if (selection != wxNOT_FOUND) {
-
- NewTaskDialog dlg(this);
- WindowAttrManager::Load(&dlg, wxT("NewTaskDialog"), NULL);
-
- dlg.SetLabel(_("Edit Task"));
- dlg.m_name->SetValue( m_list->GetText(selection, 1) );
-
- TaskData *data = (TaskData*) m_list->GetItemData(selection);
- dlg.m_regex->SetValue(data->m_regex);
- if (dlg.ShowModal() == wxID_OK) {
- m_list->SetTextColumn(selection, 1, dlg.m_name->GetValue());
- m_list->SetItemClientData(selection, new TaskData(dlg.m_regex->GetValue()));
- }
- WindowAttrManager::Save(&dlg, wxT("NewTaskDialog"), NULL);
- }
+ int selection = m_list->GetSelection();
+ if(selection != wxNOT_FOUND) {
+
+ NewTaskDialog dlg(this);
+ WindowAttrManager::Load(this);
+
+ dlg.SetLabel(_("Edit Task"));
+ dlg.m_name->SetValue(m_list->GetText(selection, 1));
+
+ TaskData* data = (TaskData*)m_list->GetItemData(selection);
+ dlg.m_regex->SetValue(data->m_regex);
+ if(dlg.ShowModal() == wxID_OK) {
+ m_list->SetTextColumn(selection, 1, dlg.m_name->GetValue());
+ m_list->SetItemClientData(selection, new TaskData(dlg.m_regex->GetValue()));
+ }
+ }
}
void TasksFindWhatDlg::OnEditTaskUI(wxUpdateUIEvent& event)
{
- event.Enable(m_list->GetItemCount() && m_list->GetSelection() != wxNOT_FOUND);
+ event.Enable(m_list->GetItemCount() && m_list->GetSelection() != wxNOT_FOUND);
}
void TasksFindWhatDlg::DoAddLine(const wxString& name, const wxString& regex, bool enabled)
{
- long item = m_list->AppendRow();
- m_list->SetCheckboxRow(item, enabled);
- m_list->SetTextColumn(item, 1, name);
- m_list->SetItemClientData(item, new TaskData(regex));
+ long item = m_list->AppendRow();
+ m_list->SetCheckboxRow(item, enabled);
+ m_list->SetTextColumn(item, 1, name);
+ m_list->SetItemClientData(item, new TaskData(regex));
}
void TasksFindWhatDlg::DoSaveList()
{
- // Save all items
- TasksPanelData data;
- std::map<wxString, wxString> items;
- wxArrayString enabledItems;
-
- for (int i=0; i<m_list->GetItemCount(); i++) {
- wxString name = m_list->GetText(i, 1);
- TaskData *clientData = (TaskData*) m_list->GetItemData(i);
- items[name] = clientData->m_regex;
-
- if (m_list->IsChecked(i))
- enabledItems.Add(name);
- }
-
- data.SetEnabledItems(enabledItems);
- data.SetTasks(items);
- EditorConfigST::Get()->WriteObject(wxT("TasksPanelData"), &data);
+ // Save all items
+ TasksPanelData data;
+ std::map<wxString, wxString> items;
+ wxArrayString enabledItems;
+
+ for(int i = 0; i < m_list->GetItemCount(); i++) {
+ wxString name = m_list->GetText(i, 1);
+ TaskData* clientData = (TaskData*)m_list->GetItemData(i);
+ items[name] = clientData->m_regex;
+
+ if(m_list->IsChecked(i)) enabledItems.Add(name);
+ }
+
+ data.SetEnabledItems(enabledItems);
+ data.SetTasks(items);
+ EditorConfigST::Get()->WriteObject(wxT("TasksPanelData"), &data);
}
void TasksFindWhatDlg::OnButtonOk(wxCommandEvent& event)
{
- DoSaveList();
- event.Skip();
+ DoSaveList();
+ event.Skip();
}
diff --git a/LiteEditor/workspace_pane.cpp b/LiteEditor/workspace_pane.cpp
index 7ae996e6..f5301913 100644
--- a/LiteEditor/workspace_pane.cpp
+++ b/LiteEditor/workspace_pane.cpp
@@ -46,6 +46,8 @@
#include "workspace_pane.h"
#include "cl_config.h"
#include "cl_aui_dock_art.h"
+#include "event_notifier.h"
+#include "codelite_events.h"
#ifdef __WXGTK20__
// We need this ugly hack to workaround a gtk2-wxGTK name-clash
@@ -61,10 +63,10 @@ WorkspacePane::WorkspacePane(wxWindow* parent, const wxString& caption, wxAuiMan
, m_mgr(mgr)
{
CreateGUIControls();
- Connect();
+ EventNotifier::Get()->Bind(wxEVT_INIT_DONE, &WorkspacePane::OnInitDone, this);
}
-WorkspacePane::~WorkspacePane() {}
+WorkspacePane::~WorkspacePane() { EventNotifier::Get()->Unbind(wxEVT_INIT_DONE, &WorkspacePane::OnInitDone, this); }
#define IS_DETACHED(name) (detachedPanes.Index(name) != wxNOT_FOUND) ? true : false
@@ -156,8 +158,6 @@ void WorkspacePane::CreateGUIControls()
m_mgr->Update();
}
-void WorkspacePane::Connect() {}
-
void WorkspacePane::ClearProgress()
{
m_parsingProgress->SetValue(0);
@@ -342,11 +342,16 @@ bool WorkspacePane::IsTabVisible(int flag)
if(!win || title.IsEmpty()) return false;
// if the control exists in the notebook, return true
- for(size_t i = 0; i < m_book->GetPageCount(); i++) {
+ for(size_t i = 0; i < m_book->GetPageCount(); ++i) {
if(m_book->GetPageText(i) == title) {
return true;
}
}
-
return win && win->IsShown();
}
+
+void WorkspacePane::OnInitDone(wxCommandEvent& event)
+{
+ event.Skip();
+ m_captionEnabler.Initialize(this, "Workspace View", &clMainFrame::Get()->GetDockingManager());
+}
diff --git a/LiteEditor/workspace_pane.h b/LiteEditor/workspace_pane.h
index a9f01c89..77bb81ec 100644
--- a/LiteEditor/workspace_pane.h
+++ b/LiteEditor/workspace_pane.h
@@ -28,6 +28,8 @@
#include <wx/filename.h>
#include "notebook_ex.h"
#include <wx/panel.h>
+#include <wx/timer.h>
+#include "clAuiCaptionEnabler.h"
// Forward Declarations
class FileViewTree;
@@ -46,16 +48,20 @@ private:
wxStaticText* m_staticText;
Notebook* m_book;
TabgroupsPane* m_TabgroupsPane;
+
#ifndef __WXOSX__
OpenWindowsPanel* m_openWindowsPane;
#endif
+
FileExplorer* m_explorer;
WorkspaceTab* m_workspaceTab;
+ clAuiCaptionEnabler m_captionEnabler;
+protected:
void CreateGUIControls();
- void Connect();
void DoShowTab(bool show, const wxString& title);
wxWindow* DoGetControlByName(const wxString& title);
+ void OnInitDone(wxCommandEvent& event);
public:
WorkspacePane(wxWindow* parent, const wxString& caption, wxAuiManager* mgr);
diff --git a/LiteEditor/workspacesettingsbase.cpp b/LiteEditor/workspacesettingsbase.cpp
index 43345345..b5ef676c 100644
--- a/LiteEditor/workspacesettingsbase.cpp
+++ b/LiteEditor/workspacesettingsbase.cpp
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : workspacesettingsbase.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: workspacesettingsbase.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -51,6 +27,7 @@ WorkspaceSettingsBase::WorkspaceSettingsBase(wxWindow* parent, wxWindowID id, co
this->SetSizer(mainSizer);
m_notebook1 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_notebook1->SetName(wxT("m_notebook1"));
mainSizer->Add(m_notebook1, 1, wxALL|wxEXPAND, 5);
@@ -110,11 +87,24 @@ WorkspaceSettingsBase::WorkspaceSettingsBase(wxWindow* parent, wxWindowID id, co
buttonSizer->Add(m_buttonCancel, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook1)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook1);
+ }
+ #endif
+
+ SetName(wxT("WorkspaceSettingsBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_choiceEnvSets->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(WorkspaceSettingsBase::OnEnvSelected), NULL, this);
m_buttonOk->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WorkspaceSettingsBase::OnButtonOK), NULL, this);
@@ -159,7 +149,7 @@ CodeCompletionBasePage::CodeCompletionBasePage(wxWindow* parent, wxWindowID id,
m_textCtrlSearchPaths = new wxTextCtrl(m_panel8, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE);
m_textCtrlSearchPaths->SetToolTip(_("Add here search paths used by clang / ctags for locating include files"));
- bSizer24->Add(m_textCtrlSearchPaths, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ bSizer24->Add(m_textCtrlSearchPaths, 1, wxALL|wxEXPAND, 5);
m_panel6 = new wxPanel(m_splitter1, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
m_splitter1->SplitHorizontally(m_panel8, m_panel6, 0);
@@ -176,16 +166,26 @@ CodeCompletionBasePage::CodeCompletionBasePage(wxWindow* parent, wxWindowID id,
bSizer221->Add(m_textCtrlMacros, 1, wxALL|wxEXPAND, 5);
- m_checkBoxCpp11 = new wxCheckBox(m_panel6, wxID_ANY, _("Enable C++11 Standard (clang)"), wxDefaultPosition, wxSize(-1,-1), 0);
+ wxBoxSizer* boxSizer3 = new wxBoxSizer(wxHORIZONTAL);
+
+ bSizer221->Add(boxSizer3, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+
+ m_checkBoxCpp11 = new wxCheckBox(m_panel6, wxID_ANY, _("Enable C++11 Standard"), wxDefaultPosition, wxSize(-1,-1), 0);
m_checkBoxCpp11->SetValue(false);
- bSizer221->Add(m_checkBoxCpp11, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
+ boxSizer3->Add(m_checkBoxCpp11, 0, wxALL, 5);
+
+ m_checkBoxCpp14 = new wxCheckBox(m_panel6, wxID_ANY, _("Enable C++14 Standard"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxCpp14->SetValue(false);
+
+ boxSizer3->Add(m_checkBoxCpp14, 0, wxALL, 5);
+ SetName(wxT("CodeCompletionBasePage"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_textCtrlSearchPaths->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CodeCompletionBasePage::OnCCContentModified), NULL, this);
m_textCtrlMacros->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CodeCompletionBasePage::OnCCContentModified), NULL, this);
diff --git a/LiteEditor/workspacesettingsbase.h b/LiteEditor/workspacesettingsbase.h
index a8bba503..62aad9ee 100644
--- a/LiteEditor/workspacesettingsbase.h
+++ b/LiteEditor/workspacesettingsbase.h
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2013 by Eran Ifrah
-// file name : workspacesettingsbase.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: workspacesettingsbase.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -35,6 +11,8 @@
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
#include <wx/dialog.h>
+#include <wx/iconbndl.h>
+#include <wx/artprov.h>
#include <wx/sizer.h>
#include <wx/notebook.h>
#include <wx/panel.h>
@@ -48,6 +26,12 @@
#include <wx/button.h>
#include <wx/splitter.h>
#include <wx/checkbox.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class WorkspaceSettingsBase : public wxDialog
{
@@ -69,6 +53,17 @@ protected:
virtual void OnButtonOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxStaticText* GetStaticText4() { return m_staticText4; }
+ wxChoice* GetChoiceEnvSets() { return m_choiceEnvSets; }
+ wxStaticLine* GetStaticline2() { return m_staticline2; }
+ wxStaticText* GetStaticText6() { return m_staticText6; }
+ wxTextCtrl* GetTextCtrlWspEnvVars() { return m_textCtrlWspEnvVars; }
+ wxPanel* GetPanelEnv() { return m_panelEnv; }
+ wxNotebook* GetNotebook1() { return m_notebook1; }
+ wxStaticLine* GetStaticline1() { return m_staticline1; }
+ wxButton* GetButtonOk() { return m_buttonOk; }
+ wxButton* GetButtonCancel() { return m_buttonCancel; }
WorkspaceSettingsBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Workspace Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~WorkspaceSettingsBase();
};
@@ -85,11 +80,21 @@ protected:
wxStaticText* m_staticText12;
wxTextCtrl* m_textCtrlMacros;
wxCheckBox* m_checkBoxCpp11;
+ wxCheckBox* m_checkBoxCpp14;
protected:
virtual void OnCCContentModified(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticText* GetStaticText5() { return m_staticText5; }
+ wxTextCtrl* GetTextCtrlSearchPaths() { return m_textCtrlSearchPaths; }
+ wxPanel* GetPanel8() { return m_panel8; }
+ wxStaticText* GetStaticText12() { return m_staticText12; }
+ wxTextCtrl* GetTextCtrlMacros() { return m_textCtrlMacros; }
+ wxCheckBox* GetCheckBoxCpp11() { return m_checkBoxCpp11; }
+ wxCheckBox* GetCheckBoxCpp14() { return m_checkBoxCpp14; }
+ wxPanel* GetPanel6() { return m_panel6; }
+ wxSplitterWindow* GetSplitter1() { return m_splitter1; }
CodeCompletionBasePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL);
virtual ~CodeCompletionBasePage();
};
diff --git a/LiteEditor/workspacesettingsbase.wxcp b/LiteEditor/workspacesettingsbase.wxcp
index 58581bcd..ac35be9c 100644
--- a/LiteEditor/workspacesettingsbase.wxcp
+++ b/LiteEditor/workspacesettingsbase.wxcp
@@ -1,1801 +1,2010 @@
{
- "metadata": {
- "m_generatedFilesDir": ".",
- "m_objCounter": 2,
- "m_includeFiles": [],
- "m_bitmapFunction": "wxC3C39InitBitmapResources",
- "m_bitmapsFile": "workspacesettingsbase_liteeditor_bitmaps.cpp",
- "m_GenerateCodeTypes": 2003278041,
- "m_outputFileName": "",
- "m_firstWindowId": 1000,
- "m_useEnum": false,
- "m_templateClasses": []
- },
- "windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "WorkspaceSettingsBase"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "Workspace Settings"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "mainSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4442,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_notebook1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4441,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panelEnv"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Environment"
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "bool",
- "m_label": "Selected",
- "m_value": false
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer81"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4449,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "sbSizer3"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["Vertical", "Horizontal"]
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "By default, CodeLite uses the current active environment variables set as defined in the Settings > Environment Variables dialog.\\nHowever, you may choose a different set to become the active set when this workspace is loaded selecting it here."
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText4"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Environment sets:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4411,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_choiceEnvSets"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Choices:",
- "m_value": "Default"
- }, {
- "type": "string",
- "m_label": "Selection:",
- "m_value": "0"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_CHOICE_SELECTED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnEnvSelected(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_CHOICE_SELECTED event, when an item on the list is selected."
- }],
- "m_children": []
- }, {
- "m_type": 4418,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLI_HORIZONTAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticline2"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Specify here an additional environment variables that will be shared with other people who are using this workspace:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlWspEnvVars"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": "12,normal, normal, swiss, 0, Arial"
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4418,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxLI_HORIZONTAL"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticline1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "buttonSizer"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonOk"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Ok"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked."
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_buttonCancel"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "filePicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4407,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "500,300"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "CodeCompletionBasePage"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": ""
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "code_completion_page"
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "CodeCompletionPage"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer9"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4447,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_NO_XP_THEME", "wxSP_3DSASH"],
- "m_sizerFlags": ["wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitter1"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Split Mode:",
- "m_selection": 0,
- "m_options": ["wxSPLIT_HORIZONTAL", "wxSPLIT_VERTICAL"]
- }, {
- "type": "string",
- "m_label": "Sash Gravity:",
- "m_value": "0.5"
- }, {
- "type": "string",
- "m_label": "Minimum Pane Size:",
- "m_value": "1"
- }, {
- "type": "string",
- "m_label": "Sash Position:",
- "m_value": "0"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4448,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel8"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer24"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText5"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Search paths:"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_VERTICAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlSearchPaths"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Add here search paths used by clang / ctags for locating include files"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_TEXT_UPDATED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCCContentModified(wxCommandEvent& event)",
- "m_description": "Respond to a wxEVT_COMMAND_TEXT_UPDATED event, generated when the text changes.\nNotice that this event will be sent when the text controls contents changes\n - whether this is due to user input or comes from the program itself\n(for example, if SetValue() is called); see ChangeValue() for a function which does not send this event."
- }],
- "m_children": []
- }]
- }]
- }, {
- "m_type": 4448,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_panel6"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 0,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "bSizer221"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4405,
- "proportion": 0,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_staticText12"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "multi-string",
- "m_label": "Label:",
- "m_value": "Macros (clang):"
- }, {
- "type": "string",
- "m_label": "Wrap:",
- "m_value": "-1"
- }],
- "m_events": [],
- "m_children": []
- }, {
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": ",",
- "gbPosition": ",",
- "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_textCtrlMacros"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Add here macros to pass to clang when generating PCH files\\nOne macro per line"
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_TEXT_UPDATED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCCContentModified(wxCommandEvent& event)",
- "m_description": "Respond to a wxEVT_COMMAND_TEXT_UPDATED event, generated when the text changes.\nNotice that this event will be sent when the text controls contents changes\n - whether this is due to user input or comes from the program itself\n(for example, if SetValue() is called); see ChangeValue() for a function which does not send this event."
- }],
- "m_children": []
- }, {
- "m_type": 4415,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_checkBoxCpp11"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Enable C++11 Standard (clang)"
- }, {
- "type": "bool",
- "m_label": "Value:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }]
- }]
- }]
+ "metadata": {
+ "m_generatedFilesDir": ".",
+ "m_objCounter": 5,
+ "m_includeFiles": [],
+ "m_bitmapFunction": "wxC3C39InitBitmapResources",
+ "m_bitmapsFile": "workspacesettingsbase_liteeditor_bitmaps.cpp",
+ "m_GenerateCodeTypes": 2003278041,
+ "m_outputFileName": "",
+ "m_firstWindowId": 1000,
+ "m_useEnum": false,
+ "m_templateClasses": []
+ },
+ "windows": [{
+ "m_type": 4421,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "WorkspaceSettingsBase"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": "Workspace Settings"
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (16x16) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (32x32) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (64x64) :",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (128x128):",
+ "m_path": ""
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File (256x256):",
+ "m_path": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "mainSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4442,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_notebook1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4441,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panelEnv"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Environment"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "bool",
+ "m_label": "Selected",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Null Page",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer81"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4449,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "sbSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["Vertical", "Horizontal"]
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText3"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "By default, CodeLite uses the current active environment variables set as defined in the Settings > Environment Variables dialog.\\nHowever, you may choose a different set to become the active set when this workspace is loaded selecting it here."
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText4"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Environment sets:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4411,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_choiceEnvSets"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Choices:",
+ "m_value": "Default"
+ }, {
+ "type": "string",
+ "m_label": "Selection:",
+ "m_value": "0"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_CHOICE_SELECTED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnEnvSelected(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHOICE_SELECTED event, when an item on the list is selected.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4418,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline2"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Specify here an additional environment variables that will be shared with other people who are using this workspace:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlWspEnvVars"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": "12,normal, normal, swiss, 0, Arial"
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4418,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxLI_HORIZONTAL"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticline1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "buttonSizer"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_OK"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonOk"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Ok"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": true
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnButtonOK(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4400,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_CANCEL"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_buttonCancel"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "&Cancel"
+ }, {
+ "type": "bool",
+ "m_label": "Default Button",
+ "m_value": false
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Direction",
+ "m_selection": 0,
+ "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
+ }, {
+ "type": "string",
+ "m_label": "Margins:",
+ "m_value": "2,2"
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }, {
+ "m_type": 4407,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "500,300"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "CodeCompletionBasePage"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Title:",
+ "m_value": ""
+ }, {
+ "type": "virtualFolderPicker",
+ "m_label": "Virtual Folder:",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Centre:",
+ "m_selection": 1,
+ "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
+ }, {
+ "type": "string",
+ "m_label": "Inherited Class",
+ "m_value": "CodeCompletionPage"
+ }, {
+ "type": "string",
+ "m_label": "File:",
+ "m_value": "code_completion_page"
+ }, {
+ "type": "string",
+ "m_label": "Class Decorator",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer9"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4447,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_NO_XP_THEME", "wxSP_3DSASH"],
+ "m_sizerFlags": ["wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_splitter1"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Split Mode:",
+ "m_selection": 0,
+ "m_options": ["wxSPLIT_HORIZONTAL", "wxSPLIT_VERTICAL"]
+ }, {
+ "type": "string",
+ "m_label": "Sash Gravity:",
+ "m_value": "0.5"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Pane Size:",
+ "m_value": "1"
+ }, {
+ "type": "string",
+ "m_label": "Sash Position:",
+ "m_value": "0"
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel8"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer24"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText5"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Search paths:"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlSearchPaths"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Add here search paths used by clang / ctags for locating include files"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TEXT_UPDATED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCCContentModified(wxCommandEvent& event)",
+ "m_description": "Respond to a wxEVT_COMMAND_TEXT_UPDATED event, generated when the text changes.\nNotice that this event will be sent when the text controls contents changes\n - whether this is due to user input or comes from the program itself\n(for example, if SetValue() is called); see ChangeValue() for a function which does not send this event.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }]
+ }]
+ }, {
+ "m_type": 4448,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTAB_TRAVERSAL"],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_panel6"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 0,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "bSizer221"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 0,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4405,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": [],
+ "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_staticText12"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "multi-string",
+ "m_label": "Label:",
+ "m_value": "Macros (clang):"
+ }, {
+ "type": "string",
+ "m_label": "Wrap:",
+ "m_value": "-1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4406,
+ "proportion": 1,
+ "border": 5,
+ "gbSpan": ",",
+ "gbPosition": ",",
+ "m_styles": ["wxTE_RICH2", "wxTE_PROCESS_TAB", "wxTE_PROCESS_ENTER", "wxTE_MULTILINE"],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_textCtrlMacros"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Add here macros to pass to clang when generating PCH files\\nOne macro per line"
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Value:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Text Hint",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Max Length:",
+ "m_value": "0"
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Directories:",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Auto Complete Files:",
+ "m_value": false
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TEXT_UPDATED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCCContentModified(wxCommandEvent& event)",
+ "m_description": "Respond to a wxEVT_COMMAND_TEXT_UPDATED event, generated when the text changes.\nNotice that this event will be sent when the text controls contents changes\n - whether this is due to user input or comes from the program itself\n(for example, if SetValue() is called); see ChangeValue() for a function which does not send this event.",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4401,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "boxSizer3"
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "choice",
+ "m_label": "Orientation:",
+ "m_selection": 1,
+ "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
+ }],
+ "m_events": [],
+ "m_children": [{
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxCpp11"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Enable C++11 Standard"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4415,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "wxID_ANY"
+ }, {
+ "type": "string",
+ "m_label": "Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxCpp14"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": ""
+ }, {
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
+ }, {
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
+ }, {
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Disabled",
+ "m_value": false
+ }, {
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
+ }, {
+ "type": "string",
+ "m_label": "Class Name:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Include File:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Style:",
+ "m_value": ""
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Enable C++14 Standard"
+ }, {
+ "type": "bool",
+ "m_label": "Value:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
+ }]
} \ No newline at end of file
diff --git a/LiteEditor/workspacesettingsbase_liteeditor_bitmaps.cpp b/LiteEditor/workspacesettingsbase_liteeditor_bitmaps.cpp
index b35c3605..7e6c5450 100644
--- a/LiteEditor/workspacesettingsbase_liteeditor_bitmaps.cpp
+++ b/LiteEditor/workspacesettingsbase_liteeditor_bitmaps.cpp
@@ -1,73 +1,47 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
//
-// copyright : (C) 2014 The CodeLite Team
-// file name : workspacesettingsbase_liteeditor_bitmaps.cpp
+// This file was automatically generated by wxrc, do not edit by hand.
//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file was automatically generated by wxrc, do not edit by hand.
-//
-
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-#include <wx/filesys.h>
-#include <wx/fs_mem.h>
-#include <wx/xrc/xmlres.h>
-#include <wx/xrc/xh_all.h>
-
-#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
-#else
- #define XRC_ADD_FILE(name, data, size, mime) \
- wxMemoryFSHandler::AddFile(name, data, size)
-#endif
-
-static size_t xml_res_size_0 = 108;
-static unsigned char xml_res_file_0[] = {
-60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
-110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
-115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
-47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,47,62,10};
-
-void wxC3C39InitBitmapResources()
-{
-
- // Check for memory FS. If not present, load the handler:
- {
- wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
- wxFileSystem fsys;
- wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
- wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
- if (f) delete f;
- else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
- }
-
- XRC_ADD_FILE(wxT("XRC_resource/workspacesettingsbase_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_workspacesettingsbase_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
- wxXmlResource::Get()->Load(wxT("memory:XRC_resource/workspacesettingsbase_liteeditor_bitmaps.cpp$C__src_codelitegit_LiteEditor_workspacesettingsbase_liteeditor_bitmaps.xrc"));
-}
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
+#include <wx/xrc/xmlres.h>
+#include <wx/xrc/xh_all.h>
+
+#if wxCHECK_VERSION(2,8,5) && wxABI_VERSION >= 20805
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFileWithMimeType(name, data, size, mime)
+#else
+ #define XRC_ADD_FILE(name, data, size, mime) \
+ wxMemoryFSHandler::AddFile(name, data, size)
+#endif
+
+static size_t xml_res_size_0 = 90;
+static unsigned char xml_res_file_0[] = {
+60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
+110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
+115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
+47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
+47,119,120,120,114,99,34,47,62,10};
+
+void wxC3C39InitBitmapResources()
+{
+
+ // Check for memory FS. If not present, load the handler:
+ {
+ wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"), wxT("dummy one"));
+ wxFileSystem fsys;
+ wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+ wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+ if (f) delete f;
+ else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
+ }
+
+ XRC_ADD_FILE(wxT("XRC_resource/workspacesettingsbase_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_workspacesettingsbase_liteeditor_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
+ wxXmlResource::Get()->Load(wxT("memory:XRC_resource/workspacesettingsbase_liteeditor_bitmaps.cpp$_home_david_devel_git_CL_LiteEditor_workspacesettingsbase_liteeditor_bitmaps.xrc"));
+}
diff --git a/LiteEditor/workspacesettingsdlg.cpp b/LiteEditor/workspacesettingsdlg.cpp
index 89d539e0..af9b621d 100644
--- a/LiteEditor/workspacesettingsdlg.cpp
+++ b/LiteEditor/workspacesettingsdlg.cpp
@@ -1,28 +1,28 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : workspacesettingsdlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+//
+// copyright : (C) 2014 The CodeLite Team
+// file name : workspacesettingsdlg.cpp
+//
+// -------------------------------------------------------------------------
+// A
+// _____ _ _ _ _
+// / __ \ | | | | (_) |
+// | / \/ ___ __| | ___| | _| |_ ___
+// | | / _ \ / _ |/ _ \ | | | __/ _ )
+// | \__/\ (_) | (_| | __/ |___| | || __/
+// \____/\___/ \__,_|\___\_____/_|\__\___|
+//
+// F i l e
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
#include "workspacesettingsdlg.h"
#include "code_completion_page.h"
#include "localworkspace.h"
@@ -34,8 +34,8 @@
#include <wx/tokenzr.h>
#include "globals.h"
-WorkspaceSettingsDlg::WorkspaceSettingsDlg( wxWindow* parent, LocalWorkspace *localWorkspace)
- : WorkspaceSettingsBase( parent )
+WorkspaceSettingsDlg::WorkspaceSettingsDlg(wxWindow* parent, LocalWorkspace* localWorkspace)
+ : WorkspaceSettingsBase(parent)
, m_localWorkspace(localWorkspace)
{
m_ccPage = new CodeCompletionPage(m_notebook1, CodeCompletionPage::TypeWorkspace);
@@ -50,7 +50,7 @@ WorkspaceSettingsDlg::WorkspaceSettingsDlg( wxWindow* parent, LocalWorkspace *lo
std::map<wxString, wxString>::iterator iter = envSets.begin();
int useActiveSetIndex = m_choiceEnvSets->Append(wxGetTranslation(USE_GLOBAL_SETTINGS));
- for (; iter != envSets.end(); iter++) {
+ for(; iter != envSets.end(); iter++) {
m_choiceEnvSets->Append(iter->first);
}
@@ -63,7 +63,7 @@ WorkspaceSettingsDlg::WorkspaceSettingsDlg( wxWindow* parent, LocalWorkspace *lo
}
int where = m_choiceEnvSets->FindString(tmpSet);
- if (where == wxNOT_FOUND) {
+ if(where == wxNOT_FOUND) {
activeEnvSet = activePage;
m_choiceEnvSets->SetSelection(useActiveSetIndex);
@@ -81,18 +81,17 @@ WorkspaceSettingsDlg::WorkspaceSettingsDlg( wxWindow* parent, LocalWorkspace *lo
envvars.Trim().Trim(false);
m_textCtrlWspEnvVars->SetValue(envvars);
- WindowAttrManager::Load(this, wxT("WorkspaceSettingsDlg"), NULL);
+ SetName("WorkspaceSettingsDlg");
+ WindowAttrManager::Load(this);
}
-WorkspaceSettingsDlg::~WorkspaceSettingsDlg()
-{
- WindowAttrManager::Save(this, wxT("WorkspaceSettingsDlg"), NULL);
-}
+WorkspaceSettingsDlg::~WorkspaceSettingsDlg() {}
-//void WorkspaceSettingsDlg::OnAddIncludePath( wxCommandEvent& event )
+// void WorkspaceSettingsDlg::OnAddIncludePath( wxCommandEvent& event )
//{
// wxUnusedVar(event);
-// wxString new_path = wxDirSelector(_("Add Parser Search Path:"), wxT(""), wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
+// wxString new_path = wxDirSelector(_("Add Parser Search Path:"), wxT(""), wxDD_DEFAULT_STYLE, wxDefaultPosition,
+//this);
// if (new_path.IsEmpty() == false) {
// wxString curpaths = m_textCtrlIncludePaths->GetValue();
// curpaths.Trim().Trim(false);
@@ -104,10 +103,11 @@ WorkspaceSettingsDlg::~WorkspaceSettingsDlg()
// }
//}
//
-//void WorkspaceSettingsDlg::OnAddExcludePath( wxCommandEvent& event )
+// void WorkspaceSettingsDlg::OnAddExcludePath( wxCommandEvent& event )
//{
// wxUnusedVar(event);
-// wxString new_path = wxDirSelector(_("Add Parser Exclude Path:"), wxT(""), wxDD_DEFAULT_STYLE, wxDefaultPosition, this);
+// wxString new_path = wxDirSelector(_("Add Parser Exclude Path:"), wxT(""), wxDD_DEFAULT_STYLE, wxDefaultPosition,
+//this);
// if (new_path.IsEmpty() == false) {
// wxString curpaths = m_textCtrlExcludePaths->GetValue();
// curpaths.Trim().Trim(false);
@@ -119,15 +119,9 @@ WorkspaceSettingsDlg::~WorkspaceSettingsDlg()
// }
//}
//
-wxArrayString WorkspaceSettingsDlg::GetExcludePaths() const
-{
- return wxArrayString();
-}
+wxArrayString WorkspaceSettingsDlg::GetExcludePaths() const { return wxArrayString(); }
-wxArrayString WorkspaceSettingsDlg::GetIncludePaths() const
-{
- return m_ccPage->GetIncludePaths();
-}
+wxArrayString WorkspaceSettingsDlg::GetIncludePaths() const { return m_ccPage->GetIncludePaths(); }
void WorkspaceSettingsDlg::OnButtonOK(wxCommandEvent& event)
{
diff --git a/LiteEditor/workspacetab.cpp b/LiteEditor/workspacetab.cpp
index 8a9cd1de..0ac0537e 100644
--- a/LiteEditor/workspacetab.cpp
+++ b/LiteEditor/workspacetab.cpp
@@ -372,23 +372,17 @@ void WorkspaceTab::OnWorkspaceConfig(wxCommandEvent& e)
void WorkspaceTab::OnConfigurationManagerChoice(wxCommandEvent& e)
{
+ e.Skip();
wxString selection = m_workspaceConfig->GetStringSelection();
if(selection == OPEN_CONFIG_MGR_STR) {
+ e.Skip(false);
wxCommandEvent e(wxEVT_COMMAND_MENU_SELECTED, XRCID("configuration_manager"));
e.SetEventObject(this);
ProcessEvent(e);
return;
}
-
- BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
- matrix->SetSelectedConfigurationName(selection);
- ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
-
- // Set the focus to the active editor if any
- LEditor* editor = clMainFrame::Get()->GetMainBook()->GetActiveEditor();
- if(editor) editor->SetActive();
-
- ManagerST::Get()->UpdateParserPaths(true);
+
+ CallAfter(&WorkspaceTab::DoConfigChanged);
}
void WorkspaceTab::OnConfigurationManager(wxCommandEvent& e)
@@ -521,3 +515,17 @@ void WorkspaceTab::DoGoHome()
ManagerST::Get()->ShowWorkspacePane(m_caption);
}
+void WorkspaceTab::DoConfigChanged()
+{
+ wxBusyCursor bc;
+ wxString selection = m_workspaceConfig->GetStringSelection();
+ BuildMatrixPtr matrix = ManagerST::Get()->GetWorkspaceBuildMatrix();
+ matrix->SetSelectedConfigurationName(selection);
+ ManagerST::Get()->SetWorkspaceBuildMatrix(matrix);
+
+ // Set the focus to the active editor if any
+ LEditor* editor = clMainFrame::Get()->GetMainBook()->GetActiveEditor();
+ if(editor) editor->SetActive();
+
+ ManagerST::Get()->UpdateParserPaths(true);
+}
diff --git a/LiteEditor/workspacetab.h b/LiteEditor/workspacetab.h
index 2729a374..163cb788 100644
--- a/LiteEditor/workspacetab.h
+++ b/LiteEditor/workspacetab.h
@@ -46,7 +46,8 @@ class WorkspaceTab : public WorkspaceTabBase
protected:
void ProjectSettingsDlgClosed();
void DoGoHome();
-
+ void DoConfigChanged();
+
protected:
virtual void OnWorkspaceOpenUI(wxUpdateUIEvent& event);
virtual void OnConfigurationManagerChoiceUI(wxUpdateUIEvent& event);
diff --git a/LiteEditor/wxcAboutDlg.cpp b/LiteEditor/wxcAboutDlg.cpp
index 9579fd31..c209183d 100644
--- a/LiteEditor/wxcAboutDlg.cpp
+++ b/LiteEditor/wxcAboutDlg.cpp
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : wxcAboutDlg.cpp
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: AboutDlg.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -51,6 +27,7 @@ AboutDlgBase::AboutDlgBase(wxWindow* parent, wxWindowID id, const wxString& titl
this->SetSizer(mainSizer);
m_notebook1 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
+ m_notebook1->SetName(wxT("m_notebook1"));
mainSizer->Add(m_notebook1, 1, wxALL|wxEXPAND, 5);
@@ -62,7 +39,7 @@ AboutDlgBase::AboutDlgBase(wxWindow* parent, wxWindowID id, const wxString& titl
m_bitmap = new wxStaticBitmap(m_panel1, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("splashscreen")), wxDefaultPosition, wxSize(-1, -1), 0 );
- bSizer3->Add(m_bitmap, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer3->Add(m_bitmap, 1, wxALL|wxEXPAND, 5);
m_panel4 = new wxPanel(m_notebook1, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
m_notebook1->AddPage(m_panel4, _("Credits"), false);
@@ -73,7 +50,7 @@ AboutDlgBase::AboutDlgBase(wxWindow* parent, wxWindowID id, const wxString& titl
m_htmlWin3 = new wxHtmlWindow(m_panel4, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxHW_SCROLLBAR_AUTO);
m_htmlWin3->SetPage(wxT("<b>wxHtmlWindow control!</b>"));
- bSizer4->Add(m_htmlWin3, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5);
+ bSizer4->Add(m_htmlWin3, 1, wxALL|wxEXPAND, 5);
m_panel3 = new wxPanel(m_notebook1, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
m_notebook1->AddPage(m_panel3, _("License"), false);
@@ -89,7 +66,7 @@ AboutDlgBase::AboutDlgBase(wxWindow* parent, wxWindowID id, const wxString& titl
mainSizer->Add(sbSizer1, 0, wxALL|wxEXPAND, 5);
- wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer( 0, 2, 0, 0);
+ wxFlexGridSizer* fgSizer1 = new wxFlexGridSizer(0, 2, 0, 0);
fgSizer1->SetFlexibleDirection( wxBOTH );
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
@@ -137,11 +114,24 @@ AboutDlgBase::AboutDlgBase(wxWindow* parent, wxWindowID id, const wxString& titl
buttonSizer->Add(m_buttonOk, 0, wxALL, 5);
+
+ #if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(m_notebook1)){
+ wxPersistenceManager::Get().RegisterAndRestore(m_notebook1);
+ }
+ #endif
+
+ SetName(wxT("AboutDlgBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ }
+#endif
// Connect events
m_buttonOk->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AboutDlgBase::OnOK), NULL, this);
diff --git a/LiteEditor/wxcAboutDlg.h b/LiteEditor/wxcAboutDlg.h
index 973ce7fe..3d89f114 100644
--- a/LiteEditor/wxcAboutDlg.h
+++ b/LiteEditor/wxcAboutDlg.h
@@ -1,30 +1,6 @@
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-// copyright : (C) 2014 The CodeLite Team
-// file name : wxcAboutDlg.h
-//
-// -------------------------------------------------------------------------
-// A
-// _____ _ _ _ _
-// / __ \ | | | | (_) |
-// | / \/ ___ __| | ___| | _| |_ ___
-// | | / _ \ / _ |/ _ \ | | | __/ _ )
-// | \__/\ (_) | (_| | __/ |___| | || __/
-// \____/\___/ \__,_|\___\_____/_|\__\___|
-//
-// F i l e
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
+// wxCrafter project file: AboutDlg.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
@@ -48,6 +24,12 @@
#include <wx/stattext.h>
#include <wx/hyperlink.h>
#include <wx/button.h>
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class AboutDlgBase : public wxDialog
{
@@ -73,6 +55,22 @@ protected:
virtual void OnOK(wxCommandEvent& event) { event.Skip(); }
public:
+ wxStaticBitmap* GetBitmap() { return m_bitmap; }
+ wxPanel* GetPanel1() { return m_panel1; }
+ wxHtmlWindow* GetHtmlWin3() { return m_htmlWin3; }
+ wxPanel* GetPanel4() { return m_panel4; }
+ wxTextCtrl* GetTextCtrlLicense() { return m_textCtrlLicense; }
+ wxPanel* GetPanel3() { return m_panel3; }
+ wxNotebook* GetNotebook1() { return m_notebook1; }
+ wxStaticText* GetStaticTextHomePage() { return m_staticTextHomePage; }
+ wxHyperlinkCtrl* GetHyperlink1() { return m_hyperlink1; }
+ wxStaticText* GetStaticText2() { return m_staticText2; }
+ wxHyperlinkCtrl* GetHyperlink2() { return m_hyperlink2; }
+ wxStaticText* GetStaticText3() { return m_staticText3; }
+ wxStaticText* GetStaticTextInformation() { return m_staticTextInformation; }
+ wxStaticBitmap* GetBitmapPayPal() { return m_bitmapPayPal; }
+ wxHyperlinkCtrl* GetHyperlink3() { return m_hyperlink3; }
+ wxButton* GetButtonOk() { return m_buttonOk; }
AboutDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About CodeLite"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~AboutDlgBase();
};
diff --git a/LiteEditor/wxcrafter.cpp b/LiteEditor/wxcrafter.cpp
index 0c07381b..672d0b47 100644
--- a/LiteEditor/wxcrafter.cpp
+++ b/LiteEditor/wxcrafter.cpp
@@ -13,71 +13,6 @@ extern void wxC3F25InitBitmapResources();
static bool bBitmapLoaded = false;
-NewProjectDlgBaseClass::NewProjectDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
- : wxDialog(parent, id, title, pos, size, style)
-{
- if ( !bBitmapLoaded ) {
- // We need to initialise the default bitmap handler
- wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
- wxC3F25InitBitmapResources();
- bBitmapLoaded = true;
- }
-
- wxBoxSizer* boxSizer1 = new wxBoxSizer(wxVERTICAL);
- this->SetSizer(boxSizer1);
-
- m_splitter5 = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxSize(600,400), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH);
- m_splitter5->SetSashGravity(0);
- m_splitter5->SetMinimumPaneSize(10);
-
- boxSizer1->Add(m_splitter5, 1, wxALL|wxEXPAND, 5);
-
- m_splitterPageRight = new wxPanel(m_splitter5, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
-
- wxBoxSizer* boxSizer10 = new wxBoxSizer(wxVERTICAL);
- m_splitterPageRight->SetSizer(boxSizer10);
-
- m_splitterPageLeft = new wxPanel(m_splitter5, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
- m_splitter5->SplitVertically(m_splitterPageRight, m_splitterPageLeft, 300);
-
- wxBoxSizer* boxSizer11 = new wxBoxSizer(wxVERTICAL);
- m_splitterPageLeft->SetSizer(boxSizer11);
-
- m_txtDescription = new wxTextCtrl(m_splitterPageLeft, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_RICH2|wxTE_READONLY|wxTE_MULTILINE);
-
- boxSizer11->Add(m_txtDescription, 1, wxALL|wxEXPAND, 5);
-
- wxBoxSizer* boxSizer2 = new wxBoxSizer(wxHORIZONTAL);
-
- boxSizer1->Add(boxSizer2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
-
- m_button3 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize(-1,-1), 0);
- m_button3->SetDefault();
-
- boxSizer2->Add(m_button3, 0, wxALL, 5);
-
- m_button4 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(-1,-1), 0);
-
- boxSizer2->Add(m_button4, 0, wxALL, 5);
-
- SetSizeHints(-1,-1);
- if ( GetSizer() ) {
- GetSizer()->Fit(this);
- }
- Centre(wxBOTH);
- // Connect events
- m_button3->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewProjectDlgBaseClass::OnOKUI), NULL, this);
- m_button3->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(NewProjectDlgBaseClass::OnCreate), NULL, this);
-
-}
-
-NewProjectDlgBaseClass::~NewProjectDlgBaseClass()
-{
- m_button3->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewProjectDlgBaseClass::OnOKUI), NULL, this);
- m_button3->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(NewProjectDlgBaseClass::OnCreate), NULL, this);
-
-}
-
NavBarControlBaseClass::NavBarControlBaseClass(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
: wxPanel(parent, id, pos, size, style)
{
@@ -118,11 +53,12 @@ NavBarControlBaseClass::NavBarControlBaseClass(wxWindow* parent, wxWindowID id,
boxSizer43->Add(m_func, 0, wxALL|wxEXPAND, 5);
+ SetName(wxT("NavBarControlBaseClass"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_scope->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(NavBarControlBaseClass::OnScope), NULL, this);
m_func->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(NavBarControlBaseClass::OnFunction), NULL, this);
@@ -169,11 +105,12 @@ BuildTabTopPanelBaseClass::BuildTabTopPanelBaseClass(wxWindow* parent, wxWindowI
m_auibar48->AddTool(wxID_PASTE, _("Paste"), wxXmlResource::Get()->LoadBitmap(wxT("edit-paste")), wxNullBitmap, wxITEM_NORMAL, _("Paste Build Output into an Empty Editor"), _("Paste Build Output into an Empty Editor"), NULL);
m_auibar48->Realize();
+ SetName(wxT("BuildTabTopPanelBaseClass"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(XRCID("stick_build_pane"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(BuildTabTopPanelBaseClass::OnToolPinCommandToolClicked), NULL, this);
this->Connect(XRCID("build-auto-scroll"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(BuildTabTopPanelBaseClass::OnAutoScroll), NULL, this);
@@ -206,7 +143,7 @@ BuildTabTopPanelBaseClass::~BuildTabTopPanelBaseClass()
}
NewProjImgList::NewProjImgList()
- : wxImageList(16, 16, true)
+ : wxImageList(16, 16, false)
{
if ( !bBitmapLoaded ) {
// We need to initialise the default bitmap handler
@@ -383,11 +320,12 @@ wxcDownloadDlgBaseClass::wxcDownloadDlgBaseClass(wxWindow* parent, wxWindowID id
boxSizer79->Add(m_cmdLnkBtnContinue, 1, wxALL|wxEXPAND, 5);
+ SetName(wxT("wxcDownloadDlgBaseClass"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_cmdLnkBtnDownload->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcDownloadDlgBaseClass::OnDownloadWxCrafterPlugin), NULL, this);
m_cmdLnkBtnContinue->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcDownloadDlgBaseClass::OnIgnoreTheError), NULL, this);
@@ -422,7 +360,7 @@ AddFunctionsImplBaseDlg::AddFunctionsImplBaseDlg(wxWindow* parent, wxWindowID id
boxSizer117->Add(m_banner125, 0, wxALL|wxEXPAND, 5);
- m_filePicker = new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*"), wxDefaultPosition, wxSize(-1,-1), wxFLP_DEFAULT_STYLE);
+ m_filePicker = new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*"), wxDefaultPosition, wxSize(-1,-1), wxFLP_DEFAULT_STYLE);
m_filePicker->SetToolTip(_("The functions will be placed into this file"));
boxSizer117->Add(m_filePicker, 0, wxALL|wxEXPAND, 5);
@@ -466,11 +404,12 @@ AddFunctionsImplBaseDlg::AddFunctionsImplBaseDlg(wxWindow* parent, wxWindowID id
boxSizer119->Add(m_button123, 0, wxALL, 5);
+ SetName(wxT("AddFunctionsImplBaseDlg"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_button133->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AddFunctionsImplBaseDlg::OnCheckAll), NULL, this);
m_button135->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(AddFunctionsImplBaseDlg::OnUncheckAll), NULL, this);
@@ -554,11 +493,12 @@ WelcomePageBase::WelcomePageBase(wxWindow* parent, wxWindowID id, const wxPoint&
boxSizer195->Add(0, 0, 0, wxALL|wxEXPAND, 5);
+ SetName(wxT("WelcomePageBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
this->Connect(wxEVT_SIZE, wxSizeEventHandler(WelcomePageBase::OnSize), NULL, this);
m_cmdLnkBtnNewWorkspace->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WelcomePageBase::OnNewWorkspace), NULL, this);
@@ -604,11 +544,12 @@ FileExplorerBase::FileExplorerBase(wxWindow* parent, wxWindowID id, const wxPoin
boxSizer262->Add(m_genericDirCtrl, 1, wxALL|wxEXPAND, 2);
+ SetName(wxT("FileExplorerBase"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_genericDirCtrl->Connect(wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler(FileExplorerBase::OnItemActivated), NULL, this);
m_genericDirCtrl->Connect(wxEVT_COMMAND_TREE_ITEM_MENU, wxTreeEventHandler(FileExplorerBase::OnContextMenu), NULL, this);
@@ -642,15 +583,17 @@ WorkspaceTabBase::WorkspaceTabBase(wxWindow* parent, wxWindowID id, const wxPoin
mainSizer->Add(m_auibar, 0, wxEXPAND, 5);
- m_auibar->AddTool(ID_TOOL_LINK_EDITOR, _("Link Editor"), wxXmlResource::Get()->LoadBitmap(wxT("link_editor")), wxNullBitmap, wxITEM_CHECK, _("Link Editor"), _("Link Editor"), NULL);
-
m_auibar->AddTool(ID_TOOL_COLLAPSE_ALL, _("Collapse All"), wxXmlResource::Get()->LoadBitmap(wxT("collapse")), wxNullBitmap, wxITEM_NORMAL, _("Collapse All"), _("Collapse All"), NULL);
m_auibar->AddTool(ID_TOOL_GOTO_ACTIVE_PROJECT, _("Goto Active Project"), wxXmlResource::Get()->LoadBitmap(wxT("gohome")), wxNullBitmap, wxITEM_NORMAL, _("Goto Active Project"), _("Goto Active Project"), NULL);
- m_auibar->AddTool(ID_TOOL_ACTIVE_PROJECT_SETTINGS, _("Open Active Project Settings"), wxXmlResource::Get()->LoadBitmap(wxT("configure")), wxNullBitmap, wxITEM_NORMAL, _("Open Active Project Settings"), _("Open Active Project Settings"), NULL);
+ m_auibar->AddTool(ID_TOOL_ACTIVE_PROJECT_SETTINGS, _("Project Settings"), wxXmlResource::Get()->LoadBitmap(wxT("configure")), wxNullBitmap, wxITEM_NORMAL, _("Open selected project settings. If there is no project selected, open the parent project of the seleced item in the tree"), _("Open selected project settings. If there is no project selected, open the parent project of the seleced item in the tree"), NULL);
m_auibar->AddStretchSpacer(1);
+
+ m_auibar->AddStretchSpacer(1);
+
+ m_auibar->AddTool(ID_TOOL_LINK_EDITOR, _("Link Editor"), wxXmlResource::Get()->LoadBitmap(wxT("link_editor")), wxNullBitmap, wxITEM_CHECK, _("Link Editor"), _("Link Editor"), NULL);
m_auibar->Realize();
wxBoxSizer* boxSizer302 = new wxBoxSizer(wxHORIZONTAL);
@@ -687,20 +630,21 @@ WorkspaceTabBase::WorkspaceTabBase(wxWindow* parent, wxWindowID id, const wxPoin
boxSizer316->Add(m_workspaceConfig, 0, wxALL|wxEXPAND, 2);
+ SetName(wxT("WorkspaceTabBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
- this->Connect(ID_TOOL_LINK_EDITOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnLinkEditor), NULL, this);
- this->Connect(ID_TOOL_LINK_EDITOR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnLinkEditorUI), NULL, this);
this->Connect(ID_TOOL_COLLAPSE_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnCollapseAll), NULL, this);
this->Connect(ID_TOOL_COLLAPSE_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnCollapseAllUI), NULL, this);
this->Connect(ID_TOOL_GOTO_ACTIVE_PROJECT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnGoHome), NULL, this);
this->Connect(ID_TOOL_GOTO_ACTIVE_PROJECT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnGoHomeUI), NULL, this);
this->Connect(ID_TOOL_ACTIVE_PROJECT_SETTINGS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnProjectSettings), NULL, this);
this->Connect(ID_TOOL_ACTIVE_PROJECT_SETTINGS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnProjectSettingsUI), NULL, this);
+ this->Connect(ID_TOOL_LINK_EDITOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnLinkEditor), NULL, this);
+ this->Connect(ID_TOOL_LINK_EDITOR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnLinkEditorUI), NULL, this);
m_choiceActiveProject->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(WorkspaceTabBase::OnChoiceActiveProject), NULL, this);
m_choiceActiveProject->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnChoiceActiveProjectUI), NULL, this);
m_workspaceConfig->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(WorkspaceTabBase::OnConfigurationManagerChoice), NULL, this);
@@ -710,14 +654,14 @@ WorkspaceTabBase::WorkspaceTabBase(wxWindow* parent, wxWindowID id, const wxPoin
WorkspaceTabBase::~WorkspaceTabBase()
{
- this->Disconnect(ID_TOOL_LINK_EDITOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnLinkEditor), NULL, this);
- this->Disconnect(ID_TOOL_LINK_EDITOR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnLinkEditorUI), NULL, this);
this->Disconnect(ID_TOOL_COLLAPSE_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnCollapseAll), NULL, this);
this->Disconnect(ID_TOOL_COLLAPSE_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnCollapseAllUI), NULL, this);
this->Disconnect(ID_TOOL_GOTO_ACTIVE_PROJECT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnGoHome), NULL, this);
this->Disconnect(ID_TOOL_GOTO_ACTIVE_PROJECT, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnGoHomeUI), NULL, this);
this->Disconnect(ID_TOOL_ACTIVE_PROJECT_SETTINGS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnProjectSettings), NULL, this);
this->Disconnect(ID_TOOL_ACTIVE_PROJECT_SETTINGS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnProjectSettingsUI), NULL, this);
+ this->Disconnect(ID_TOOL_LINK_EDITOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WorkspaceTabBase::OnLinkEditor), NULL, this);
+ this->Disconnect(ID_TOOL_LINK_EDITOR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnLinkEditorUI), NULL, this);
m_choiceActiveProject->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(WorkspaceTabBase::OnChoiceActiveProject), NULL, this);
m_choiceActiveProject->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WorkspaceTabBase::OnChoiceActiveProjectUI), NULL, this);
m_workspaceConfig->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(WorkspaceTabBase::OnConfigurationManagerChoice), NULL, this);
@@ -763,11 +707,19 @@ EditorFrameBase::EditorFrameBase(wxWindow* parent, wxWindowID id, const wxString
m_toolbar->AddTool(XRCID("toggle_bookmark"), _("Toggle Bookmark"), wxXmlResource::Get()->LoadBitmap(wxT("bookmark-24")), wxNullBitmap, wxITEM_DROPDOWN, _("Toggle Bookmark"), _("Toggle Bookmark"), NULL);
m_toolbar->Realize();
+ SetName(wxT("EditorFrameBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
this->Connect(wxID_CLOSE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(EditorFrameBase::OnClose), NULL, this);
this->Connect(wxID_CLOSE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditorFrameBase::OnCloseUI), NULL, this);
@@ -931,11 +883,19 @@ NewProjectWizardBase::NewProjectWizardBase(wxWindow* parent, wxWindowID id, cons
flexGridSizer412->Add(m_choiceDebugger, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
+ SetName(wxT("NewProjectWizardBase"));
SetSizeHints(500,400);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
// Connect events
this->Connect(wxEVT_WIZARD_PAGE_CHANGING, wxWizardEventHandler(NewProjectWizardBase::OnPageChanging), NULL, this);
this->Connect(wxEVT_WIZARD_FINISHED, wxWizardEventHandler(NewProjectWizardBase::OnFinish), NULL, this);
@@ -986,19 +946,22 @@ ClangOutputTabBase::ClangOutputTabBase(wxWindow* parent, wxWindowID id, const wx
m_checkBoxEnableClang->SetToolTip(_("Enable Clang code completion"));
m_auibar->AddControl(m_checkBoxEnableClang);
- m_auibar->AddSeparator();
-
- m_auibar->AddTool(ID_TOOL_CLEAR_LOG, _("Clear Log"), wxXmlResource::Get()->LoadBitmap(wxT("clear")), wxNullBitmap, wxITEM_NORMAL, _("Clear Log"), _("Clear Log"), NULL);
-
- m_auibar->AddTool(ID_TOOL_CLEAR_ALL, _("Clear Clang Cache"), wxXmlResource::Get()->LoadBitmap(wxT("clean")), wxNullBitmap, wxITEM_NORMAL, _("Clear Clang Cache"), _("Clear Clang Cache"), NULL);
+ m_checkBoxShowErrors = new wxCheckBox(m_auibar, wxID_ANY, _("Inline Errors"), wxDefaultPosition, wxSize(-1,-1), 0);
+ m_checkBoxShowErrors->SetValue(false);
+ m_checkBoxShowErrors->SetToolTip(_("Display Clang errors as text annotations inside the editor (i.e. as an inline messages)"));
+ m_auibar->AddControl(m_checkBoxShowErrors);
m_auibar->AddStretchSpacer(1);
m_auibar->AddLabel(wxID_ANY, _("Cache policy:"), -1);
wxArrayString m_choiceCacheArr;
- m_choiceCache = new wxChoice(m_auibar, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), m_choiceCacheArr, 0);
+ m_choiceCache = new wxChoice(m_auibar, wxID_ANY, wxDefaultPosition, wxSize(200,-1), m_choiceCacheArr, 0);
m_auibar->AddControl(m_choiceCache);
+
+ m_auibar->AddTool(ID_TOOL_CLEAR_ALL, _("Clear Clang Cache"), wxXmlResource::Get()->LoadBitmap(wxT("clean")), wxNullBitmap, wxITEM_NORMAL, _("Clear Clang Cache"), _("Clear Clang Cache"), NULL);
+
+ m_auibar->AddTool(ID_TOOL_CLEAR_LOG, _("Clear Log"), wxXmlResource::Get()->LoadBitmap(wxT("clear")), wxNullBitmap, wxITEM_NORMAL, _("Clear Log"), _("Clear Log"), NULL);
m_auibar->Realize();
m_stc = new wxStyledTextCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
@@ -1039,31 +1002,38 @@ ClangOutputTabBase::ClangOutputTabBase(wxWindow* parent, wxWindowID id, const wx
boxSizer424->Add(m_stc, 1, wxALL|wxEXPAND, 2);
- SetSizeHints(500,300);
+ SetName(wxT("ClangOutputTabBase"));
+ SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
// Connect events
m_checkBoxEnableClang->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnEnableClang), NULL, this);
- this->Connect(ID_TOOL_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearText), NULL, this);
- this->Connect(ID_TOOL_CLEAR_LOG, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearTextUI), NULL, this);
- this->Connect(ID_TOOL_CLEAR_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearCache), NULL, this);
- this->Connect(ID_TOOL_CLEAR_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearCacheUI), NULL, this);
+ m_checkBoxEnableClang->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnEnableClangUI), NULL, this);
+ m_checkBoxShowErrors->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnShowAnnotations), NULL, this);
+ m_checkBoxShowErrors->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnShowAnnotationsUI), NULL, this);
m_choiceCache->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(ClangOutputTabBase::OnPolicy), NULL, this);
m_choiceCache->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnPolicyUI), NULL, this);
+ this->Connect(ID_TOOL_CLEAR_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearCache), NULL, this);
+ this->Connect(ID_TOOL_CLEAR_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearCacheUI), NULL, this);
+ this->Connect(ID_TOOL_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearText), NULL, this);
+ this->Connect(ID_TOOL_CLEAR_LOG, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearTextUI), NULL, this);
}
ClangOutputTabBase::~ClangOutputTabBase()
{
m_checkBoxEnableClang->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnEnableClang), NULL, this);
- this->Disconnect(ID_TOOL_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearText), NULL, this);
- this->Disconnect(ID_TOOL_CLEAR_LOG, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearTextUI), NULL, this);
- this->Disconnect(ID_TOOL_CLEAR_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearCache), NULL, this);
- this->Disconnect(ID_TOOL_CLEAR_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearCacheUI), NULL, this);
+ m_checkBoxEnableClang->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnEnableClangUI), NULL, this);
+ m_checkBoxShowErrors->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnShowAnnotations), NULL, this);
+ m_checkBoxShowErrors->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnShowAnnotationsUI), NULL, this);
m_choiceCache->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(ClangOutputTabBase::OnPolicy), NULL, this);
m_choiceCache->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnPolicyUI), NULL, this);
+ this->Disconnect(ID_TOOL_CLEAR_ALL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearCache), NULL, this);
+ this->Disconnect(ID_TOOL_CLEAR_ALL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearCacheUI), NULL, this);
+ this->Disconnect(ID_TOOL_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ClangOutputTabBase::OnClearText), NULL, this);
+ this->Disconnect(ID_TOOL_CLEAR_LOG, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ClangOutputTabBase::OnClearTextUI), NULL, this);
}
@@ -1078,8 +1048,6 @@ FileExplorerTabToolBarBase::FileExplorerTabToolBarBase(wxWindow *parent, wxWindo
}
SetToolBitmapSize(wxSize(16,16));
- this->AddTool(XRCID("link_editor"), _("Link Editor"), wxXmlResource::Get()->LoadBitmap(wxT("link_editor")), wxNullBitmap, wxITEM_CHECK, _("Link Editor"), _("Link Editor"), NULL);
-
this->AddTool(XRCID("collapse_all"), _("Collapse All"), wxXmlResource::Get()->LoadBitmap(wxT("collapse")), wxNullBitmap, wxITEM_NORMAL, _("Collapse All"), _("Collapse All"), NULL);
this->AddTool(XRCID("go_home"), _("Go Home"), wxXmlResource::Get()->LoadBitmap(wxT("gohome")), wxNullBitmap, wxITEM_NORMAL, _("Go Home"), _("Go Home"), NULL);
@@ -1091,12 +1059,24 @@ FileExplorerTabToolBarBase::FileExplorerTabToolBarBase(wxWindow *parent, wxWindo
}
this->AddTool(ID_TOOL_GOTO_FOLDER, _("GoTo"), wxXmlResource::Get()->LoadBitmap(wxT("goto")), wxNullBitmap, wxITEM_NORMAL, _("Goto Folder"), _("Goto Folder"), NULL);
+
+ this->AddTool(ID_TOOL_FIND_IN_FILES, _("Find In Files"), wxXmlResource::Get()->LoadBitmap(wxT("find-in-files")), wxNullBitmap, wxITEM_NORMAL, _("Find In Files"), _("Find In Files"), NULL);
+
+ this->AddStretchSpacer(1);
+
+ this->AddTool(XRCID("link_editor"), _("Link Editor"), wxXmlResource::Get()->LoadBitmap(wxT("link_editor")), wxNullBitmap, wxITEM_CHECK, _("Link Editor"), _("Link Editor"), NULL);
this->Realize();
+ SetName(wxT("FileExplorerTabToolBarBase"));
+ // Connect events
+ this->Connect(ID_TOOL_FIND_IN_FILES, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FileExplorerTabToolBarBase::OnFindInFilesUI), NULL, this);
+
}
FileExplorerTabToolBarBase::~FileExplorerTabToolBarBase()
{
+ this->Disconnect(ID_TOOL_FIND_IN_FILES, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FileExplorerTabToolBarBase::OnFindInFilesUI), NULL, this);
+
}
OpenFolderDlgBase::OpenFolderDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
@@ -1144,11 +1124,19 @@ OpenFolderDlgBase::OpenFolderDlgBase(wxWindow* parent, wxWindowID id, const wxSt
m_stdBtnSizer473->AddButton(m_button477);
m_stdBtnSizer473->Realize();
+ SetName(wxT("OpenFolderDlgBase"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
- Centre(wxBOTH);
+ CentreOnParent(wxBOTH);
+#if wxVERSION_NUMBER >= 2900
+ if(!wxPersistenceManager::Get().Find(this)) {
+ wxPersistenceManager::Get().RegisterAndRestore(this);
+ } else {
+ wxPersistenceManager::Get().Restore(this);
+ }
+#endif
}
OpenFolderDlgBase::~OpenFolderDlgBase()
diff --git a/LiteEditor/wxcrafter.h b/LiteEditor/wxcrafter.h
index e8eb221d..b4e37aa2 100644
--- a/LiteEditor/wxcrafter.h
+++ b/LiteEditor/wxcrafter.h
@@ -10,14 +10,10 @@
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
-#include <wx/dialog.h>
-#include <wx/iconbndl.h>
+#include <wx/panel.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
#include <wx/splitter.h>
-#include <wx/panel.h>
-#include <wx/textctrl.h>
-#include <wx/button.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
#include <wx/pen.h>
@@ -28,11 +24,14 @@
#include <wx/imaglist.h>
#include <wx/bitmap.h>
#include <wx/icon.h>
+#include <wx/dialog.h>
+#include <wx/iconbndl.h>
#include <wx/bannerwindow.h>
#include <wx/commandlinkbutton.h>
#include <wx/filepicker.h>
#include <wx/dataview.h>
#include "addfunctionsmodel.h"
+#include <wx/button.h>
#include <wx/scrolwin.h>
#include <wx/statbmp.h>
#include <wx/dirctrl.h>
@@ -41,34 +40,15 @@
#include <vector>
#include "dvtemplatesmodel.h"
#include <wx/stattext.h>
+#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/stc/stc.h>
-
-class NewProjectDlgBaseClass : public wxDialog
-{
-protected:
- wxSplitterWindow* m_splitter5;
- wxPanel* m_splitterPageRight;
- wxPanel* m_splitterPageLeft;
- wxTextCtrl* m_txtDescription;
- wxButton* m_button3;
- wxButton* m_button4;
-
-protected:
- virtual void OnOKUI(wxUpdateUIEvent& event) { event.Skip(); }
- virtual void OnCreate(wxCommandEvent& event) { event.Skip(); }
-
-public:
- wxPanel* GetSplitterPageRight() { return m_splitterPageRight; }
- wxTextCtrl* GetTxtDescription() { return m_txtDescription; }
- wxPanel* GetSplitterPageLeft() { return m_splitterPageLeft; }
- wxSplitterWindow* GetSplitter5() { return m_splitter5; }
- wxButton* GetButton3() { return m_button3; }
- wxButton* GetButton4() { return m_button4; }
- NewProjectDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New Project"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
- virtual ~NewProjectDlgBaseClass();
-};
-
+#if wxVERSION_NUMBER >= 2900
+#include <wx/persist.h>
+#include <wx/persist/toplevel.h>
+#include <wx/persist/bookctrl.h>
+#include <wx/persist/treebook.h>
+#endif
class NavBarControlBaseClass : public wxPanel
{
@@ -268,14 +248,14 @@ protected:
wxChoice* m_workspaceConfig;
protected:
- virtual void OnLinkEditor(wxCommandEvent& event) { event.Skip(); }
- virtual void OnLinkEditorUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnCollapseAll(wxCommandEvent& event) { event.Skip(); }
virtual void OnCollapseAllUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnGoHome(wxCommandEvent& event) { event.Skip(); }
virtual void OnGoHomeUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnProjectSettings(wxCommandEvent& event) { event.Skip(); }
virtual void OnProjectSettingsUI(wxUpdateUIEvent& event) { event.Skip(); }
+ virtual void OnLinkEditor(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnLinkEditorUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnChoiceActiveProject(wxCommandEvent& event) { event.Skip(); }
virtual void OnChoiceActiveProjectUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnConfigurationManagerChoice(wxCommandEvent& event) { event.Skip(); }
@@ -384,24 +364,29 @@ public:
protected:
wxAuiToolBar* m_auibar;
wxCheckBox* m_checkBoxEnableClang;
+ wxCheckBox* m_checkBoxShowErrors;
wxChoice* m_choiceCache;
wxStyledTextCtrl* m_stc;
protected:
virtual void OnEnableClang(wxCommandEvent& event) { event.Skip(); }
- virtual void OnClearText(wxCommandEvent& event) { event.Skip(); }
- virtual void OnClearTextUI(wxUpdateUIEvent& event) { event.Skip(); }
- virtual void OnClearCache(wxCommandEvent& event) { event.Skip(); }
- virtual void OnClearCacheUI(wxUpdateUIEvent& event) { event.Skip(); }
+ virtual void OnEnableClangUI(wxUpdateUIEvent& event) { event.Skip(); }
+ virtual void OnShowAnnotations(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnShowAnnotationsUI(wxUpdateUIEvent& event) { event.Skip(); }
virtual void OnPolicy(wxCommandEvent& event) { event.Skip(); }
virtual void OnPolicyUI(wxUpdateUIEvent& event) { event.Skip(); }
+ virtual void OnClearCache(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnClearCacheUI(wxUpdateUIEvent& event) { event.Skip(); }
+ virtual void OnClearText(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnClearTextUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
wxCheckBox* GetCheckBoxEnableClang() { return m_checkBoxEnableClang; }
+ wxCheckBox* GetCheckBoxShowErrors() { return m_checkBoxShowErrors; }
wxChoice* GetChoiceCache() { return m_choiceCache; }
wxAuiToolBar* GetAuibar() { return m_auibar; }
wxStyledTextCtrl* GetStc() { return m_stc; }
- ClangOutputTabBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL);
+ ClangOutputTabBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxTAB_TRAVERSAL);
virtual ~ClangOutputTabBase();
};
@@ -411,11 +396,13 @@ class FileExplorerTabToolBarBase : public wxAuiToolBar
public:
enum {
ID_TOOL_EXPLORER_BOOKMARKS = 8001,
- ID_TOOL_GOTO_FOLDER = 8002,
+ ID_TOOL_FIND_IN_FILES = 8002,
+ ID_TOOL_GOTO_FOLDER = 8003,
};
protected:
protected:
+ virtual void OnFindInFilesUI(wxUpdateUIEvent& event) { event.Skip(); }
public:
FileExplorerTabToolBarBase(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint &position = wxDefaultPosition, const wxSize &size = wxSize(-1,-1), long style = wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE);
diff --git a/LiteEditor/wxcrafter.wxcp b/LiteEditor/wxcrafter.wxcp
index dd29e167..dbc36d4f 100644
--- a/LiteEditor/wxcrafter.wxcp
+++ b/LiteEditor/wxcrafter.wxcp
@@ -1,7 +1,7 @@
{
"metadata": {
"m_generatedFilesDir": ".",
- "m_objCounter": 483,
+ "m_objCounter": 499,
"m_includeFiles": [],
"m_bitmapFunction": "wxC3F25InitBitmapResources",
"m_bitmapsFile": "wxcrafter_liteeditor_bitmaps.cpp",
@@ -12,705 +12,6 @@
"m_templateClasses": []
},
"windows": [{
- "m_type": 4421,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxDEFAULT_DIALOG_STYLE", "wxRESIZE_BORDER"],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "NewProjectDlgBaseClass"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Title:",
- "m_value": "New Project"
- }, {
- "type": "virtualFolderPicker",
- "m_label": "Virtual Folder:",
- "m_path": "CodeLiteIDE:Dialogs:ProjectManagement"
- }, {
- "type": "choice",
- "m_label": "Centre:",
- "m_selection": 1,
- "m_options": ["", "wxBOTH", "wxVERTICAL", "wxHORIZONTAL"]
- }, {
- "type": "string",
- "m_label": "Inherited Class",
- "m_value": "NewProjectDlg"
- }, {
- "type": "string",
- "m_label": "File:",
- "m_value": "newprojectdlg"
- }, {
- "type": "string",
- "m_label": "Class Decorator",
- "m_value": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (16x16) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (32x32) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (64x64) :",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (128x128):",
- "m_path": ""
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File (256x256):",
- "m_path": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer1"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4447,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxSP_LIVE_UPDATE", "wxSP_NO_XP_THEME", "wxSP_3DSASH"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "600,400"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitter5"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Split Mode:",
- "m_selection": 1,
- "m_options": ["wxSPLIT_HORIZONTAL", "wxSPLIT_VERTICAL"]
- }, {
- "type": "string",
- "m_label": "Sash Gravity:",
- "m_value": "0"
- }, {
- "type": "string",
- "m_label": "Minimum Pane Size:",
- "m_value": "10"
- }, {
- "type": "string",
- "m_label": "Sash Position:",
- "m_value": "300"
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPageRight"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer10"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": []
- }]
- }, {
- "m_type": 4448,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTAB_TRAVERSAL"],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_splitterPageLeft"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer11"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 0,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4406,
- "proportion": 1,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": ["wxTE_RICH2", "wxTE_READONLY", "wxTE_MULTILINE"],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_ANY"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_txtDescription"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Value:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Text Hint",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Max Length:",
- "m_value": "0"
- }, {
- "type": "bool",
- "m_label": "Auto Complete Directories:",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Auto Complete Files:",
- "m_value": false
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
- "m_type": 4401,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "boxSizer2"
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "choice",
- "m_label": "Orientation:",
- "m_selection": 1,
- "m_options": ["wxVERTICAL", "wxHORIZONTAL"]
- }],
- "m_events": [],
- "m_children": [{
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_OK"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button3"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "&OK"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": true
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Direction",
- "m_selection": 0,
- "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [{
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnOKUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }, {
- "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCreate(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4400,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "wxID_CANCEL"
- }, {
- "type": "string",
- "m_label": "Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Minimum Size:",
- "m_value": "-1,-1"
- }, {
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_button4"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": ""
- }, {
- "type": "colour",
- "m_label": "Bg Colour:",
- "colour": "<Default>"
- }, {
- "type": "colour",
- "m_label": "Fg Colour:",
- "colour": "<Default>"
- }, {
- "type": "font",
- "m_label": "Font:",
- "m_value": ""
- }, {
- "type": "bool",
- "m_label": "Hidden",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Disabled",
- "m_value": false
- }, {
- "type": "bool",
- "m_label": "Focused",
- "m_value": false
- }, {
- "type": "string",
- "m_label": "Class Name:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Include File:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Style:",
- "m_value": ""
- }, {
- "type": "string",
- "m_label": "Label:",
- "m_value": "Cancel"
- }, {
- "type": "bool",
- "m_label": "Default Button",
- "m_value": false
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": ""
- }, {
- "type": "choice",
- "m_label": "Direction",
- "m_selection": 0,
- "m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
- }, {
- "type": "string",
- "m_label": "Margins:",
- "m_value": "2,2"
- }],
- "m_events": [],
- "m_children": []
- }]
- }]
- }]
- }, {
"m_type": 4407,
"proportion": 0,
"border": 5,
@@ -807,6 +108,10 @@
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer36"
}, {
@@ -979,6 +284,10 @@
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer42"
}, {
@@ -1152,6 +461,10 @@
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer43"
}, {
@@ -1349,6 +662,10 @@
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer47"
}, {
@@ -1815,7 +1132,7 @@
}, {
"type": "bool",
"m_label": "Bitmap Mask",
- "m_value": true
+ "m_value": false
}],
"m_events": [],
"m_children": [{
@@ -2127,6 +1444,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": false
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Plugin is missing"
@@ -2183,6 +1504,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer71"
}, {
@@ -2272,6 +1597,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer82"
}, {
@@ -2453,6 +1782,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer79"
}, {
@@ -2713,6 +2046,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": false
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Add function implementation"
@@ -2769,6 +2106,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer117"
}, {
@@ -2963,6 +2304,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer129"
}, {
@@ -3137,6 +2482,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer131"
}, {
@@ -3352,6 +2701,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer119"
}, {
@@ -3655,6 +3008,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer149"
}, {
@@ -3752,6 +3109,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer249"
}, {
@@ -3841,6 +3202,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer195"
}, {
@@ -3935,6 +3300,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "gridSizer235"
}, {
@@ -4636,6 +4005,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer262"
}, {
@@ -4852,6 +4225,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "mainSizer"
}, {
@@ -4910,27 +4287,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_LINK_EDITOR"
+ "m_winid": "ID_TOOL_COLLAPSE_ALL"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemLinkEditor"
+ "m_value": "m_toolbarItemCollapseAll"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/link_editor.png"
+ "m_path": "res/collapse.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -4938,7 +4315,7 @@
}, {
"type": "choice",
"m_label": "Kind:",
- "m_selection": 1,
+ "m_selection": 0,
"m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
}, {
"type": "bool",
@@ -4949,14 +4326,14 @@
"m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
"m_eventClass": "wxCommandEvent",
"m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnLinkEditor(wxCommandEvent& event)",
+ "m_functionNameAndSignature": "OnCollapseAll(wxCommandEvent& event)",
"m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnLinkEditorUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnCollapseAllUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
@@ -4972,27 +4349,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_COLLAPSE_ALL"
+ "m_winid": "ID_TOOL_GOTO_ACTIVE_PROJECT"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemCollapseAll"
+ "m_value": "m_toolbarItemGotoActiveProject"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Collapse All"
+ "m_value": "Goto Active Project"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Collapse All"
+ "m_value": "Goto Active Project"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Collapse All"
+ "m_value": "Goto Active Project"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/collapse.png"
+ "m_path": "res/gohome.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -5011,14 +4388,14 @@
"m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
"m_eventClass": "wxCommandEvent",
"m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnCollapseAll(wxCommandEvent& event)",
+ "m_functionNameAndSignature": "OnGoHome(wxCommandEvent& event)",
"m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnCollapseAllUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnGoHomeUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
@@ -5034,27 +4411,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_GOTO_ACTIVE_PROJECT"
+ "m_winid": "ID_TOOL_ACTIVE_PROJECT_SETTINGS"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemGotoActiveProject"
+ "m_value": "m_toolbarItemProjectSettings"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Goto Active Project"
+ "m_value": "Project Settings"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Goto Active Project"
+ "m_value": "Open selected project settings. If there is no project selected, open the parent project of the seleced item in the tree"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Goto Active Project"
+ "m_value": "Open selected project settings. If there is no project selected, open the parent project of the seleced item in the tree"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/gohome.png"
+ "m_path": "res/configure.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -5073,19 +4450,57 @@
"m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
"m_eventClass": "wxCommandEvent",
"m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnGoHome(wxCommandEvent& event)",
+ "m_functionNameAndSignature": "OnProjectSettings(wxCommandEvent& event)",
"m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnGoHomeUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnProjectSettingsUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
"m_children": []
}, {
+ "m_type": 4516,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_auitbarStretchSpace287"
+ }, {
+ "type": "string",
+ "m_label": "Proportion:",
+ "m_value": "1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4516,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_auitbarStretchSpace491"
+ }, {
+ "type": "string",
+ "m_label": "Proportion:",
+ "m_value": "1"
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
"m_type": 4462,
"proportion": 0,
"border": 5,
@@ -5096,27 +4511,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_ACTIVE_PROJECT_SETTINGS"
+ "m_winid": "ID_TOOL_LINK_EDITOR"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemProjectSettings"
+ "m_value": "m_toolbarItemLinkEditor"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Open Active Project Settings"
+ "m_value": "Link Editor"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Open Active Project Settings"
+ "m_value": "Link Editor"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Open Active Project Settings"
+ "m_value": "Link Editor"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/configure.png"
+ "m_path": "res/link_editor.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -5124,7 +4539,7 @@
}, {
"type": "choice",
"m_label": "Kind:",
- "m_selection": 0,
+ "m_selection": 1,
"m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
}, {
"type": "bool",
@@ -5135,37 +4550,18 @@
"m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
"m_eventClass": "wxCommandEvent",
"m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnProjectSettings(wxCommandEvent& event)",
+ "m_functionNameAndSignature": "OnLinkEditor(wxCommandEvent& event)",
"m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnProjectSettingsUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnLinkEditorUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
"m_children": []
- }, {
- "m_type": 4516,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_auitbarStretchSpace287"
- }, {
- "type": "string",
- "m_label": "Proportion:",
- "m_value": "1"
- }],
- "m_events": [],
- "m_children": []
}]
}, {
"m_type": 4401,
@@ -5177,6 +4573,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer302"
}, {
@@ -5349,6 +4749,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer314"
}, {
@@ -5529,6 +4933,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer316"
}, {
@@ -5698,6 +5106,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "EditorFrame"
@@ -5759,6 +5171,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "mainSizer"
}, {
@@ -5848,6 +5264,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer324"
}, {
@@ -6333,6 +5753,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "New Project Wizard"
@@ -6477,6 +5901,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer383"
}, {
@@ -6784,6 +6212,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer396"
}, {
@@ -6899,6 +6331,10 @@
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer15"
}, {
@@ -7185,6 +6621,10 @@
"m_sizerFlags": ["wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer30"
}, {
@@ -7647,6 +7087,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer388"
}, {
@@ -7762,6 +7206,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer412"
}, {
@@ -8123,7 +7571,7 @@
"m_properties": [{
"type": "string",
"m_label": "Size:",
- "m_value": "500,300"
+ "m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
@@ -8209,6 +7657,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer424"
}, {
@@ -8336,148 +7788,100 @@
"m_functionNameAndSignature": "OnEnableClang(wxCommandEvent& event)",
"m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
"m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4504,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "string",
- "m_label": "Name:",
- "m_value": "m_tbSeparator452"
}, {
- "type": "choice",
- "m_label": "Kind:",
- "m_selection": 0,
- "m_options": ["separator"]
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnEnableClangUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
}],
- "m_events": [],
"m_children": []
}, {
- "m_type": 4462,
+ "m_type": 4415,
"proportion": 0,
"border": 5,
"gbSpan": "1,1",
"gbPosition": "0,0",
"m_styles": [],
- "m_sizerFlags": [],
+ "m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_CLEAR_LOG"
+ "m_winid": "wxID_ANY"
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_toolbarItem446"
+ "m_label": "Size:",
+ "m_value": "-1,-1"
}, {
"type": "string",
- "m_label": "Label:",
- "m_value": "Clear Log"
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_checkBoxShowErrors"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Clear Log"
+ "m_value": "Display Clang errors as text annotations inside the editor (i.e. as an inline messages)"
}, {
- "type": "string",
- "m_label": "Help String:",
- "m_value": "Clear Log"
+ "type": "colour",
+ "m_label": "Bg Colour:",
+ "colour": "<Default>"
}, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": "../codelite-icons/output-pane/16/clear.png"
+ "type": "colour",
+ "m_label": "Fg Colour:",
+ "colour": "<Default>"
}, {
- "type": "filePicker",
- "m_label": "Disabled-Bitmap File",
- "m_path": ""
+ "type": "font",
+ "m_label": "Font:",
+ "m_value": ""
}, {
- "type": "choice",
- "m_label": "Kind:",
- "m_selection": 0,
- "m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
+ "type": "bool",
+ "m_label": "Hidden",
+ "m_value": false
}, {
"type": "bool",
- "m_label": "Construct the Dropdown Menu:",
- "m_value": true
- }],
- "m_events": [{
- "m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
- "m_eventClass": "wxCommandEvent",
- "m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnClearText(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
- "m_noBody": false
+ "m_label": "Disabled",
+ "m_value": false
}, {
- "m_eventName": "wxEVT_UPDATE_UI",
- "m_eventClass": "wxUpdateUIEvent",
- "m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnClearTextUI(wxUpdateUIEvent& event)",
- "m_description": "Process a wxEVT_UPDATE_UI event",
- "m_noBody": false
- }],
- "m_children": []
- }, {
- "m_type": 4462,
- "proportion": 0,
- "border": 5,
- "gbSpan": "1,1",
- "gbPosition": "0,0",
- "m_styles": [],
- "m_sizerFlags": [],
- "m_properties": [{
- "type": "winid",
- "m_label": "ID:",
- "m_winid": "ID_TOOL_CLEAR_ALL"
+ "type": "bool",
+ "m_label": "Focused",
+ "m_value": false
}, {
"type": "string",
- "m_label": "Name:",
- "m_value": "m_toolbarItem430"
+ "m_label": "Class Name:",
+ "m_value": ""
}, {
"type": "string",
- "m_label": "Label:",
- "m_value": "Clear Clang Cache"
- }, {
- "type": "multi-string",
- "m_label": "Tooltip:",
- "m_value": "Clear Clang Cache"
+ "m_label": "Include File:",
+ "m_value": ""
}, {
"type": "string",
- "m_label": "Help String:",
- "m_value": "Clear Clang Cache"
- }, {
- "type": "bitmapPicker",
- "m_label": "Bitmap File:",
- "m_path": "../codelite-icons/toolbars/16/build/clean.png"
- }, {
- "type": "filePicker",
- "m_label": "Disabled-Bitmap File",
- "m_path": ""
+ "m_label": "Style:",
+ "m_value": ""
}, {
- "type": "choice",
- "m_label": "Kind:",
- "m_selection": 0,
- "m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Inline Errors"
}, {
"type": "bool",
- "m_label": "Construct the Dropdown Menu:",
- "m_value": true
+ "m_label": "Value:",
+ "m_value": false
}],
"m_events": [{
- "m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
+ "m_eventName": "wxEVT_COMMAND_CHECKBOX_CLICKED",
"m_eventClass": "wxCommandEvent",
"m_eventHandler": "wxCommandEventHandler",
- "m_functionNameAndSignature": "OnClearCache(wxCommandEvent& event)",
- "m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
+ "m_functionNameAndSignature": "OnShowAnnotations(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_CHECKBOX_CLICKED event, when the checkbox is clicked.",
"m_noBody": false
}, {
"m_eventName": "wxEVT_UPDATE_UI",
"m_eventClass": "wxUpdateUIEvent",
"m_eventHandler": "wxUpdateUIEventHandler",
- "m_functionNameAndSignature": "OnClearCacheUI(wxUpdateUIEvent& event)",
+ "m_functionNameAndSignature": "OnShowAnnotationsUI(wxUpdateUIEvent& event)",
"m_description": "Process a wxEVT_UPDATE_UI event",
"m_noBody": false
}],
@@ -8543,7 +7947,7 @@
}, {
"type": "string",
"m_label": "Size:",
- "m_value": "-1,-1"
+ "m_value": "200,-1"
}, {
"type": "string",
"m_label": "Minimum Size:",
@@ -8617,6 +8021,130 @@
"m_noBody": false
}],
"m_children": []
+ }, {
+ "m_type": 4462,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "ID_TOOL_CLEAR_ALL"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_toolbarItem430"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Clear Clang Cache"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Clear Clang Cache"
+ }, {
+ "type": "string",
+ "m_label": "Help String:",
+ "m_value": "Clear Clang Cache"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../codelite-icons/toolbars/16/build/clean.png"
+ }, {
+ "type": "filePicker",
+ "m_label": "Disabled-Bitmap File",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
+ }, {
+ "type": "bool",
+ "m_label": "Construct the Dropdown Menu:",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnClearCache(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnClearCacheUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4462,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "ID_TOOL_CLEAR_LOG"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_toolbarItem446"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "Clear Log"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Clear Log"
+ }, {
+ "type": "string",
+ "m_label": "Help String:",
+ "m_value": "Clear Log"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "../codelite-icons/output-pane/16/clear.png"
+ }, {
+ "type": "filePicker",
+ "m_label": "Disabled-Bitmap File",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 0,
+ "m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
+ }, {
+ "type": "bool",
+ "m_label": "Construct the Dropdown Menu:",
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_TOOL_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnClearText(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_TOOL_CLICKED event (a synonym for wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool",
+ "m_noBody": false
+ }, {
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnClearTextUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
}]
}, {
"m_type": 4466,
@@ -8800,27 +8328,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "XRCID(\"link_editor\")"
+ "m_winid": "XRCID(\"collapse_all\")"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemLinkEditor"
+ "m_value": "m_toolbarItemCollaps"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Link Editor"
+ "m_value": "Collapse All"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/link_editor.png"
+ "m_path": "res/collapse.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -8828,7 +8356,7 @@
}, {
"type": "choice",
"m_label": "Kind:",
- "m_selection": 1,
+ "m_selection": 0,
"m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
}, {
"type": "bool",
@@ -8848,27 +8376,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "XRCID(\"collapse_all\")"
+ "m_winid": "XRCID(\"go_home\")"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemCollaps"
+ "m_value": "m_toolbarItemGoHome"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Collapse All"
+ "m_value": "Go Home"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Collapse All"
+ "m_value": "Go Home"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Collapse All"
+ "m_value": "Go Home"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/collapse.png"
+ "m_path": "res/gohome.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -8896,27 +8424,75 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "XRCID(\"go_home\")"
+ "m_winid": "ID_TOOL_EXPLORER_BOOKMARKS"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemGoHome"
+ "m_value": "m_toolbarItemBookmark"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Go Home"
+ "m_value": "Bookmark"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Go Home"
+ "m_value": "Bookmark Selected Folder"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Go Home"
+ "m_value": "Bookmark Selected Folder"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/gohome.png"
+ "m_path": "../codelite-icons/toolbars/16/standard/bookmark.png"
+ }, {
+ "type": "filePicker",
+ "m_label": "Disabled-Bitmap File",
+ "m_path": ""
+ }, {
+ "type": "choice",
+ "m_label": "Kind:",
+ "m_selection": 4,
+ "m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
+ }, {
+ "type": "bool",
+ "m_label": "Construct the Dropdown Menu:",
+ "m_value": false
+ }],
+ "m_events": [],
+ "m_children": []
+ }, {
+ "m_type": 4462,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "winid",
+ "m_label": "ID:",
+ "m_winid": "ID_TOOL_GOTO_FOLDER"
+ }, {
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_toolbarItem467"
+ }, {
+ "type": "string",
+ "m_label": "Label:",
+ "m_value": "GoTo"
+ }, {
+ "type": "multi-string",
+ "m_label": "Tooltip:",
+ "m_value": "Goto Folder"
+ }, {
+ "type": "string",
+ "m_label": "Help String:",
+ "m_value": "Goto Folder"
+ }, {
+ "type": "bitmapPicker",
+ "m_label": "Bitmap File:",
+ "m_path": "res/goto.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -8944,27 +8520,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_EXPLORER_BOOKMARKS"
+ "m_winid": "ID_TOOL_FIND_IN_FILES"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItemBookmark"
+ "m_value": "m_toolbarItemFindInFiles"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "Bookmark"
+ "m_value": "Find In Files"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Bookmark Selected Folder"
+ "m_value": "Find In Files"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Bookmark Selected Folder"
+ "m_value": "Find In Files"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "../codelite-icons/toolbars/16/standard/bookmark.png"
+ "m_path": "../codelite-icons/toolbars/16/search/find-in-files.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -8972,12 +8548,38 @@
}, {
"type": "choice",
"m_label": "Kind:",
- "m_selection": 4,
+ "m_selection": 0,
"m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
}, {
"type": "bool",
"m_label": "Construct the Dropdown Menu:",
- "m_value": false
+ "m_value": true
+ }],
+ "m_events": [{
+ "m_eventName": "wxEVT_UPDATE_UI",
+ "m_eventClass": "wxUpdateUIEvent",
+ "m_eventHandler": "wxUpdateUIEventHandler",
+ "m_functionNameAndSignature": "OnFindInFilesUI(wxUpdateUIEvent& event)",
+ "m_description": "Process a wxEVT_UPDATE_UI event",
+ "m_noBody": false
+ }],
+ "m_children": []
+ }, {
+ "m_type": 4516,
+ "proportion": 0,
+ "border": 5,
+ "gbSpan": "1,1",
+ "gbPosition": "0,0",
+ "m_styles": [],
+ "m_sizerFlags": [],
+ "m_properties": [{
+ "type": "string",
+ "m_label": "Name:",
+ "m_value": "m_auitbarStretchSpace497"
+ }, {
+ "type": "string",
+ "m_label": "Proportion:",
+ "m_value": "1"
}],
"m_events": [],
"m_children": []
@@ -8992,27 +8594,27 @@
"m_properties": [{
"type": "winid",
"m_label": "ID:",
- "m_winid": "ID_TOOL_GOTO_FOLDER"
+ "m_winid": "XRCID(\"link_editor\")"
}, {
"type": "string",
"m_label": "Name:",
- "m_value": "m_toolbarItem467"
+ "m_value": "m_toolbarItemLinkEditor"
}, {
"type": "string",
"m_label": "Label:",
- "m_value": "GoTo"
+ "m_value": "Link Editor"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
- "m_value": "Goto Folder"
+ "m_value": "Link Editor"
}, {
"type": "string",
"m_label": "Help String:",
- "m_value": "Goto Folder"
+ "m_value": "Link Editor"
}, {
"type": "bitmapPicker",
"m_label": "Bitmap File:",
- "m_path": "res/goto.png"
+ "m_path": "res/link_editor.png"
}, {
"type": "filePicker",
"m_label": "Disabled-Bitmap File",
@@ -9020,7 +8622,7 @@
}, {
"type": "choice",
"m_label": "Kind:",
- "m_selection": 0,
+ "m_selection": 1,
"m_options": ["normal", "checkable", "radio", "separator", "dropdown"]
}, {
"type": "bool",
@@ -9091,6 +8693,10 @@
"m_label": "Style:",
"m_value": ""
}, {
+ "type": "bool",
+ "m_label": "Enable Window Persistency:",
+ "m_value": true
+ }, {
"type": "string",
"m_label": "Title:",
"m_value": "Open Folder"
@@ -9147,6 +8753,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "boxSizer471"
}, {
@@ -9170,6 +8780,10 @@
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
+ "m_label": "Minimum Size:",
+ "m_value": "-1,-1"
+ }, {
+ "type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer483"
}, {
diff --git a/LiteEditor/wxcrafter_liteeditor_bitmaps.cpp b/LiteEditor/wxcrafter_liteeditor_bitmaps.cpp
index dc6debef..ce192c94 100644
--- a/LiteEditor/wxcrafter_liteeditor_bitmaps.cpp
+++ b/LiteEditor/wxcrafter_liteeditor_bitmaps.cpp
@@ -2227,8 +2227,38 @@ static unsigned char xml_res_file_22[] = {
180,16,123,221,119,61,215,134,187,29,72,9,55,51,40,112,83,252,3,182,42,
207,31,114,131,165,51,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_23 = 819;
+static size_t xml_res_size_23 = 627;
static unsigned char xml_res_file_23[] = {
+137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
+0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
+89,115,0,0,6,236,0,0,6,236,1,30,117,56,53,0,0,0,25,116,69,88,116,83,111,
+102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
+111,114,103,155,238,60,26,0,0,1,2,80,76,84,69,255,255,255,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,4,4,4,10,10,10,0,0,0,16,16,16,17,
+17,17,11,11,11,14,14,14,18,18,18,27,27,27,31,31,31,1,1,1,19,19,19,21,21,
+21,22,22,22,23,23,23,24,24,24,27,27,27,28,28,28,35,35,35,36,36,36,38,37,
+35,39,39,39,40,40,40,43,43,43,44,44,44,45,45,45,50,50,50,52,50,49,54,40,
+30,54,40,31,54,42,36,54,54,54,56,40,31,57,44,37,60,48,40,69,66,64,72,33,
+0,74,74,74,77,77,77,78,41,9,78,78,78,83,51,28,85,83,82,86,86,86,89,72,61,
+104,88,77,104,104,104,105,87,70,105,105,105,106,106,106,114,112,111,115,
+115,115,118,98,82,120,120,120,129,126,125,132,64,7,132,87,52,134,67,11,
+135,91,59,144,73,11,144,97,61,145,98,63,149,114,84,171,145,122,123,196,
+58,153,0,0,0,32,116,82,78,83,0,1,8,10,19,20,25,36,38,41,71,98,129,142,147,
+152,157,165,190,204,207,209,235,236,237,243,243,244,246,246,251,252,141,
+221,80,73,0,0,0,183,73,68,65,84,24,25,141,193,135,22,129,0,0,5,208,151,
+8,217,17,161,204,108,145,45,34,35,145,172,140,255,255,21,78,199,7,116,47,
+224,74,40,25,6,194,201,16,254,168,226,177,21,12,180,142,69,10,14,154,237,
+245,171,130,80,149,122,44,141,31,127,193,148,150,162,177,21,151,146,89,
+240,3,72,76,84,67,94,151,75,170,108,168,147,4,64,87,244,139,213,236,212,
+106,157,166,117,209,43,52,152,205,120,186,59,53,186,221,250,105,55,29,111,
+24,100,230,218,243,177,23,83,41,113,127,123,105,179,52,184,209,226,110,
+159,121,175,151,63,219,215,213,144,67,164,125,120,127,148,40,16,85,62,239,
+67,59,2,79,44,55,200,199,73,128,140,231,7,217,152,7,0,225,35,224,32,124,
+4,92,248,2,207,199,24,197,87,247,22,178,0,0,0,0,73,69,78,68,174,66,96,130};
+
+static size_t xml_res_size_24 = 819;
+static unsigned char xml_res_file_24[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,
65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,
@@ -2270,8 +2300,8 @@ static unsigned char xml_res_file_23[] = {
28,70,180,165,127,214,233,104,235,62,231,223,2,12,0,207,72,65,123,189,233,
46,179,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_24 = 335;
-static unsigned char xml_res_file_24[] = {
+static size_t xml_res_size_25 = 335;
+static unsigned char xml_res_file_25[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
@@ -2289,8 +2319,8 @@ static unsigned char xml_res_file_24[] = {
192,138,245,124,85,177,238,214,19,60,1,254,50,88,52,109,130,12,74,0,0,0,
0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_25 = 440;
-static unsigned char xml_res_file_25[] = {
+static size_t xml_res_size_26 = 440;
+static unsigned char xml_res_file_26[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,1,127,73,68,65,84,120,94,141,83,77,106,194,96,16,157,
196,184,241,55,138,11,93,233,194,3,184,114,173,94,64,189,65,122,3,115,130,
@@ -2313,8 +2343,8 @@ static unsigned char xml_res_file_25[] = {
29,28,14,135,41,138,8,243,115,171,83,168,175,203,145,30,216,15,185,238,
190,208,121,10,37,51,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_26 = 876;
-static unsigned char xml_res_file_26[] = {
+static size_t xml_res_size_27 = 876;
+static unsigned char xml_res_file_27[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,6,98,75,71,
68,0,255,0,255,0,255,160,189,167,147,0,0,0,9,112,72,89,115,0,0,10,207,0,
@@ -2359,8 +2389,8 @@ static unsigned char xml_res_file_26[] = {
56,174,170,221,173,115,205,89,128,167,198,197,91,16,150,118,6,74,0,0,0,
0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_27 = 289;
-static unsigned char xml_res_file_27[] = {
+static size_t xml_res_size_28 = 289;
+static unsigned char xml_res_file_28[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,6,98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,
0,0,9,112,72,89,115,0,0,13,215,0,0,13,215,1,66,40,155,120,0,0,0,7,116,73,
@@ -2375,36 +2405,6 @@ static unsigned char xml_res_file_27[] = {
143,89,93,128,92,129,121,140,65,70,59,136,49,182,195,240,92,153,113,251,
191,231,122,3,85,193,48,95,34,16,68,0,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_28 = 627;
-static unsigned char xml_res_file_28[] = {
-137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
-0,40,45,15,83,0,0,0,3,115,66,73,84,8,8,8,219,225,79,224,0,0,0,9,112,72,
-89,115,0,0,6,236,0,0,6,236,1,30,117,56,53,0,0,0,25,116,69,88,116,83,111,
-102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,46,
-111,114,103,155,238,60,26,0,0,1,2,80,76,84,69,255,255,255,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,4,4,4,10,10,10,0,0,0,16,16,16,17,
-17,17,11,11,11,14,14,14,18,18,18,27,27,27,31,31,31,1,1,1,19,19,19,21,21,
-21,22,22,22,23,23,23,24,24,24,27,27,27,28,28,28,35,35,35,36,36,36,38,37,
-35,39,39,39,40,40,40,43,43,43,44,44,44,45,45,45,50,50,50,52,50,49,54,40,
-30,54,40,31,54,42,36,54,54,54,56,40,31,57,44,37,60,48,40,69,66,64,72,33,
-0,74,74,74,77,77,77,78,41,9,78,78,78,83,51,28,85,83,82,86,86,86,89,72,61,
-104,88,77,104,104,104,105,87,70,105,105,105,106,106,106,114,112,111,115,
-115,115,118,98,82,120,120,120,129,126,125,132,64,7,132,87,52,134,67,11,
-135,91,59,144,73,11,144,97,61,145,98,63,149,114,84,171,145,122,123,196,
-58,153,0,0,0,32,116,82,78,83,0,1,8,10,19,20,25,36,38,41,71,98,129,142,147,
-152,157,165,190,204,207,209,235,236,237,243,243,244,246,246,251,252,141,
-221,80,73,0,0,0,183,73,68,65,84,24,25,141,193,135,22,129,0,0,5,208,151,
-8,217,17,161,204,108,145,45,34,35,145,172,140,255,255,21,78,199,7,116,47,
-224,74,40,25,6,194,201,16,254,168,226,177,21,12,180,142,69,10,14,154,237,
-245,171,130,80,149,122,44,141,31,127,193,148,150,162,177,21,151,146,89,
-240,3,72,76,84,67,94,151,75,170,108,168,147,4,64,87,244,139,213,236,212,
-106,157,166,117,209,43,52,152,205,120,186,59,53,186,221,250,105,55,29,111,
-24,100,230,218,243,177,23,83,41,113,127,123,105,179,52,184,209,226,110,
-159,121,175,151,63,219,215,213,144,67,164,125,120,127,148,40,16,85,62,239,
-67,59,2,79,44,55,200,199,73,128,140,231,7,217,152,7,0,225,35,224,32,124,
-4,92,248,2,207,199,24,197,87,247,22,178,0,0,0,0,73,69,78,68,174,66,96,130};
-
static size_t xml_res_size_29 = 775;
static unsigned char xml_res_file_29[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
@@ -2576,214 +2576,220 @@ static unsigned char xml_res_file_33[] = {
38,39,7,60,231,44,96,0,220,189,123,36,255,253,140,252,0,40,62,87,91,205,
65,102,164,0,0,0,0,73,69,78,68,174,66,96,130};
-static size_t xml_res_size_34 = 4118;
+static size_t xml_res_size_34 = 4245;
static unsigned char xml_res_file_34[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
-47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
-46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,84,111,111,
-108,80,105,110,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,
-101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,
-46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,95,111,117,116,
-112,117,116,45,112,97,110,101,95,49,54,95,84,111,111,108,80,105,110,46,
+47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
+97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
+34,84,111,111,108,80,105,110,34,62,119,120,99,114,97,102,116,101,114,95,
+108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,
+99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,
+115,95,111,117,116,112,117,116,45,112,97,110,101,95,49,54,95,84,111,111,
+108,80,105,110,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,97,114,99,104,105,118,101,49,54,34,62,
+119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,
+114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,97,114,
+99,104,105,118,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
+32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
+109,97,112,34,32,110,97,109,101,61,34,97,117,116,111,45,115,99,114,111,
+108,108,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,
+100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,
+95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,95,111,117,116,
+112,117,116,45,112,97,110,101,95,49,54,95,97,117,116,111,45,115,99,114,
+111,108,108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,98,111,111,107,109,97,114,107,34,62,119,
+120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,
+95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,
+105,116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,
+54,95,115,116,97,110,100,97,114,100,95,98,111,111,107,109,97,114,107,46,
112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,97,114,99,104,105,118,101,49,54,34,62,119,120,99,114,97,
-102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
-109,97,112,115,46,99,112,112,36,114,101,115,95,97,114,99,104,105,118,101,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
-99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,97,117,116,111,45,115,99,114,111,108,108,34,62,119,120,
+97,109,101,61,34,98,111,111,107,109,97,114,107,45,50,52,34,62,119,120,99,
+114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,
+105,116,109,97,112,115,46,99,112,112,36,68,101,116,97,99,104,101,100,69,
+100,105,116,111,114,73,109,97,103,101,115,95,98,111,111,107,109,97,114,
+107,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,99,108,97,110,103,49,54,34,62,119,120,
99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,
-98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,
-105,116,101,45,105,99,111,110,115,95,111,117,116,112,117,116,45,112,97,
-110,101,95,49,54,95,97,117,116,111,45,115,99,114,111,108,108,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
-99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,98,111,111,107,109,97,114,107,34,62,119,120,99,114,97,102,116,
+98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,99,108,97,110,
+103,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
+101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
+32,110,97,109,101,61,34,99,108,101,97,110,34,62,119,120,99,114,97,102,116,
101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,
-99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,
-110,100,97,114,100,95,98,111,111,107,109,97,114,107,46,112,110,103,60,47,
-111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
-115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
-98,111,111,107,109,97,114,107,45,50,52,34,62,119,120,99,114,97,102,116,
-101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
-112,115,46,99,112,112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,
-114,73,109,97,103,101,115,95,98,111,111,107,109,97,114,107,45,50,52,46,
+99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,98,117,105,
+108,100,95,99,108,101,97,110,46,112,110,103,60,47,111,98,106,101,99,116,
+62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
+66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,108,101,97,114,34,62,
+119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,
+114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,
+108,105,116,101,45,105,99,111,110,115,95,111,117,116,112,117,116,45,112,
+97,110,101,95,49,54,95,99,108,101,97,114,46,112,110,103,60,47,111,98,106,
+101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
+34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,109,97,107,
+101,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,
+105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,
+67,77,97,107,101,80,108,117,103,105,110,95,99,109,97,107,101,45,49,54,46,
112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,99,108,97,110,103,49,54,34,62,119,120,99,114,97,102,116,
-101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,
-112,115,46,99,112,112,36,114,101,115,95,99,108,97,110,103,46,112,110,103,
-60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
-108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
-61,34,99,108,101,97,110,34,62,119,120,99,114,97,102,116,101,114,95,108,
-105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,
-112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,
-95,116,111,111,108,98,97,114,115,95,49,54,95,98,117,105,108,100,95,99,108,
-101,97,110,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
-98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
-112,34,32,110,97,109,101,61,34,99,108,101,97,114,34,62,119,120,99,114,97,
-102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
-109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,
-45,105,99,111,110,115,95,111,117,116,112,117,116,45,112,97,110,101,95,49,
-54,95,99,108,101,97,114,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
-32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
-116,109,97,112,34,32,110,97,109,101,61,34,99,109,97,107,101,34,62,119,120,
-99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,
-98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,67,77,97,107,101,80,
-108,117,103,105,110,95,99,109,97,107,101,45,49,54,46,112,110,103,60,47,
-111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
-115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
-99,111,100,101,108,105,116,101,45,108,111,103,111,45,110,111,45,98,103,
-34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,
-116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,97,114,
-116,95,99,111,100,101,108,105,116,101,45,108,111,103,111,45,110,111,45,
-98,103,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
-106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
-34,32,110,97,109,101,61,34,99,111,108,108,97,112,115,101,34,62,119,120,
-99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,
-98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,99,111,108,108,
-97,112,115,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
-111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
-97,112,34,32,110,97,109,101,61,34,99,111,110,102,105,103,117,114,101,34,
+97,109,101,61,34,99,111,100,101,108,105,116,101,45,108,111,103,111,45,110,
+111,45,98,103,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,
+101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,
+46,95,97,114,116,95,99,111,100,101,108,105,116,101,45,108,111,103,111,45,
+110,111,45,98,103,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,
+60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
+109,97,112,34,32,110,97,109,101,61,34,99,111,108,108,97,112,115,101,34,
62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,
111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,99,
-111,110,102,105,103,117,114,101,46,112,110,103,60,47,111,98,106,101,99,
-116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
-120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,110,115,111,
-108,101,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,
-101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,
-101,115,95,99,111,110,115,111,108,101,46,112,110,103,60,47,111,98,106,101,
-99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
-119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,100,108,108,49,
-54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,
-116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,
-100,108,108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
-98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
-112,34,32,110,97,109,101,61,34,100,111,99,117,109,101,110,116,45,99,108,
-111,115,101,45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,108,105,
+111,108,108,97,112,115,101,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
+105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,110,102,105,103,117,
+114,101,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,
+100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,
+115,95,99,111,110,102,105,103,117,114,101,46,112,110,103,60,47,111,98,106,
+101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
+34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,99,111,110,
+115,111,108,101,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,
116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,
-112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,73,109,97,103,
-101,115,95,100,111,99,117,109,101,110,116,45,99,108,111,115,101,45,50,52,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
-99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,100,111,99,117,109,101,110,116,45,114,101,118,101,114,
-116,45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,
-101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,68,
-101,116,97,99,104,101,100,69,100,105,116,111,114,73,109,97,103,101,115,
-95,100,111,99,117,109,101,110,116,45,114,101,118,101,114,116,45,50,52,46,
-112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
-116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,100,111,99,117,109,101,110,116,45,115,97,118,101,34,62,
-119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,
-114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,
-108,105,116,101,45,105,99,111,110,115,45,102,114,101,115,104,45,102,97,
-114,109,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,110,100,
-97,114,100,95,100,111,99,117,109,101,110,116,45,115,97,118,101,46,112,110,
-103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
-99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
-101,61,34,100,111,99,117,109,101,110,116,45,115,97,118,101,45,50,52,34,
-62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,
-111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,68,101,116,97,99,
-104,101,100,69,100,105,116,111,114,73,109,97,103,101,115,95,100,111,99,
-117,109,101,110,116,45,115,97,118,101,45,50,52,46,112,110,103,60,47,111,
+112,36,114,101,115,95,99,111,110,115,111,108,101,46,112,110,103,60,47,111,
98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,
-115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,101,
-100,105,116,45,99,111,112,121,34,62,119,120,99,114,97,102,116,101,114,95,
+115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,100,
+108,108,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,
+101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,
+101,115,95,100,108,108,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
+32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
+116,109,97,112,34,32,110,97,109,101,61,34,100,111,99,117,109,101,110,116,
+45,99,108,111,115,101,45,50,52,34,62,119,120,99,114,97,102,116,101,114,
+95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
+46,99,112,112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,73,
+109,97,103,101,115,95,100,111,99,117,109,101,110,116,45,99,108,111,115,
+101,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,100,111,99,117,109,101,110,116,45,114,
+101,118,101,114,116,45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,
108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,
-99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,
-115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,97,110,100,97,
-114,100,95,101,100,105,116,45,99,111,112,121,46,112,110,103,60,47,111,98,
-106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
-61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,101,100,
-105,116,45,102,105,110,100,45,50,52,34,62,119,120,99,114,97,102,116,101,
-114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,
-115,46,99,112,112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,
-73,109,97,103,101,115,95,101,100,105,116,45,102,105,110,100,45,50,52,46,
-112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
-116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,101,100,105,116,45,112,97,115,116,101,34,62,119,120,99,
-114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,
-105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,
-116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,
-95,115,116,97,110,100,97,114,100,95,101,100,105,116,45,112,97,115,116,101,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
-99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
-97,109,101,61,34,101,100,105,116,45,114,101,100,111,45,50,52,34,62,119,
-120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,
-95,98,105,116,109,97,112,115,46,99,112,112,36,68,101,116,97,99,104,101,
-100,69,100,105,116,111,114,73,109,97,103,101,115,95,101,100,105,116,45,
-114,101,100,111,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,
-10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,
-105,116,109,97,112,34,32,110,97,109,101,61,34,101,100,105,116,45,117,110,
-100,111,45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,
+99,112,112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,73,109,
+97,103,101,115,95,100,111,99,117,109,101,110,116,45,114,101,118,101,114,
+116,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,100,111,99,117,109,101,110,116,45,115,
+97,118,101,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,
+100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,
+95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,45,102,114,101,
+115,104,45,102,97,114,109,95,116,111,111,108,98,97,114,115,95,49,54,95,
+115,116,97,110,100,97,114,100,95,100,111,99,117,109,101,110,116,45,115,
+97,118,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,100,111,99,117,109,101,110,116,45,115,97,
+118,101,45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,
101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,
36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,73,109,97,103,101,
-115,95,101,100,105,116,45,117,110,100,111,45,50,52,46,112,110,103,60,47,
-111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
-115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
-103,101,97,114,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,
-116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,
-112,36,114,101,115,95,103,101,97,114,46,112,110,103,60,47,111,98,106,101,
-99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
-119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,103,111,104,111,
-109,101,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,
-100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,
-115,95,103,111,104,111,109,101,46,112,110,103,60,47,111,98,106,101,99,116,
-62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
-66,105,116,109,97,112,34,32,110,97,109,101,61,34,103,111,116,111,34,62,
-119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,
-114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,103,111,
-116,111,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
-106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
-34,32,110,97,109,101,61,34,103,116,107,49,54,34,62,119,120,99,114,97,102,
-116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,
-97,112,115,46,99,112,112,36,114,101,115,95,103,116,107,46,112,110,103,60,
-47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
-97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
-34,108,105,110,107,95,101,100,105,116,111,114,34,62,119,120,99,114,97,102,
+115,95,100,111,99,117,109,101,110,116,45,115,97,118,101,45,50,52,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,101,100,105,116,45,99,111,112,121,34,62,119,120,99,114,97,102,
116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,
-97,112,115,46,99,112,112,36,114,101,115,95,108,105,110,107,95,101,100,105,
-116,111,114,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
-98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
-112,34,32,110,97,109,101,61,34,109,95,98,109,112,70,105,110,100,73,110,
-70,105,108,101,115,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,
-101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,
-36,46,46,95,99,111,100,101,108,105,116,101,45,105,99,111,110,115,95,116,
-111,111,108,98,97,114,115,95,49,54,95,115,101,97,114,99,104,95,102,105,
-110,100,45,105,110,45,102,105,108,101,115,46,112,110,103,60,47,111,98,106,
+97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,45,
+105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,116,
+97,110,100,97,114,100,95,101,100,105,116,45,99,111,112,121,46,112,110,103,
+60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
+108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
+61,34,101,100,105,116,45,102,105,110,100,45,50,52,34,62,119,120,99,114,
+97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,
+116,109,97,112,115,46,99,112,112,36,68,101,116,97,99,104,101,100,69,100,
+105,116,111,114,73,109,97,103,101,115,95,101,100,105,116,45,102,105,110,
+100,45,50,52,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
+111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
+97,112,34,32,110,97,109,101,61,34,101,100,105,116,45,112,97,115,116,101,
+34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,
+116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,
+100,101,108,105,116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,
+114,115,95,49,54,95,115,116,97,110,100,97,114,100,95,101,100,105,116,45,
+112,97,115,116,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,
+32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
+109,97,112,34,32,110,97,109,101,61,34,101,100,105,116,45,114,101,100,111,
+45,50,52,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,
+100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,68,101,
+116,97,99,104,101,100,69,100,105,116,111,114,73,109,97,103,101,115,95,101,
+100,105,116,45,114,101,100,111,45,50,52,46,112,110,103,60,47,111,98,106,
101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
-34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,97,107,
-101,102,105,108,101,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,
-105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,
-112,112,36,114,101,115,95,109,97,107,101,102,105,108,101,46,112,110,103,
+34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,101,100,105,
+116,45,117,110,100,111,45,50,52,34,62,119,120,99,114,97,102,116,101,114,
+95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
+46,99,112,112,36,68,101,116,97,99,104,101,100,69,100,105,116,111,114,73,
+109,97,103,101,115,95,101,100,105,116,45,117,110,100,111,45,50,52,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,102,105,110,100,45,105,110,45,102,105,108,101,115,34,62,119,120,
+99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,
+98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,
+105,116,101,45,105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,
+54,95,115,101,97,114,99,104,95,102,105,110,100,45,105,110,45,102,105,108,
+101,115,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
+106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
+34,32,110,97,109,101,61,34,103,101,97,114,49,54,34,62,119,120,99,114,97,
+102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
+109,97,112,115,46,99,112,112,36,114,101,115,95,103,101,97,114,46,112,110,
+103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,
+99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,103,111,104,111,109,101,34,62,119,120,99,114,97,102,116,101,114,
+95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,
+46,99,112,112,36,114,101,115,95,103,111,104,111,109,101,46,112,110,103,
60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
-61,34,113,116,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,
+61,34,103,111,116,111,34,62,119,120,99,114,97,102,116,101,114,95,108,105,
116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,
-112,36,114,101,115,95,113,116,46,112,110,103,60,47,111,98,106,101,99,116,
-62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,
-66,105,116,109,97,112,34,32,110,97,109,101,61,34,116,97,98,67,108,111,115,
-101,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,
-105,116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,
-105,99,111,110,115,95,99,108,111,115,101,46,112,110,103,60,47,111,98,106,
-101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,
-34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,119,120,49,
+112,36,114,101,115,95,103,111,116,111,46,112,110,103,60,47,111,98,106,101,
+99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
+119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,103,116,107,49,
54,34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,
116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,
-119,120,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,
-106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,
-34,32,110,97,109,101,61,34,119,120,99,34,62,119,120,99,114,97,102,116,101,
-114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,
-115,46,99,112,112,36,46,46,95,119,120,99,114,97,102,116,101,114,95,114,
-101,115,111,117,114,99,101,115,95,119,120,99,45,108,111,103,111,45,49,54,
-46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,115,111,
-117,114,99,101,62,10};
+103,116,107,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,108,105,110,107,95,101,100,105,116,111,114,
+34,62,119,120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,
+116,111,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,
+108,105,110,107,95,101,100,105,116,111,114,46,112,110,103,60,47,111,98,
+106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
+61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,109,95,98,
+109,112,70,105,110,100,73,110,70,105,108,101,115,34,62,119,120,99,114,97,
+102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,
+109,97,112,115,46,99,112,112,36,46,46,95,99,111,100,101,108,105,116,101,
+45,105,99,111,110,115,95,116,111,111,108,98,97,114,115,95,49,54,95,115,
+101,97,114,99,104,95,102,105,110,100,45,105,110,45,102,105,108,101,115,
+46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,
+99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
+97,109,101,61,34,109,97,107,101,102,105,108,101,49,54,34,62,119,120,99,
+114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,
+105,116,109,97,112,115,46,99,112,112,36,114,101,115,95,109,97,107,101,102,
+105,108,101,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
+98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
+112,34,32,110,97,109,101,61,34,113,116,49,54,34,62,119,120,99,114,97,102,
+116,101,114,95,108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,
+97,112,115,46,99,112,112,36,114,101,115,95,113,116,46,112,110,103,60,47,
+111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
+115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
+116,97,98,67,108,111,115,101,34,62,119,120,99,114,97,102,116,101,114,95,
+108,105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,
+99,112,112,36,46,46,95,105,99,111,110,115,95,99,108,111,115,101,46,112,
+110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,
+32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,
+101,61,34,119,120,49,54,34,62,119,120,99,114,97,102,116,101,114,95,108,
+105,116,101,101,100,105,116,111,114,95,98,105,116,109,97,112,115,46,99,
+112,112,36,114,101,115,95,119,120,46,112,110,103,60,47,111,98,106,101,99,
+116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,
+120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,119,120,99,34,62,119,
+120,99,114,97,102,116,101,114,95,108,105,116,101,101,100,105,116,111,114,
+95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,119,120,99,114,97,
+102,116,101,114,95,114,101,115,111,117,114,99,101,115,95,119,120,99,45,
+108,111,103,111,45,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,
+10,60,47,114,101,115,111,117,114,99,101,62,10};
void wxC3F25InitBitmapResources()
{
@@ -2821,12 +2827,12 @@ void wxC3F25InitBitmapResources()
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_standard_edit-paste.png"), xml_res_file_20, xml_res_size_20, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$DetachedEditorImages_edit-redo-24.png"), xml_res_file_21, xml_res_size_21, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$DetachedEditorImages_edit-undo-24.png"), xml_res_file_22, xml_res_size_22, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gear.png"), xml_res_file_23, xml_res_size_23, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gohome.png"), xml_res_file_24, xml_res_size_24, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_goto.png"), xml_res_file_25, xml_res_size_25, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gtk.png"), xml_res_file_26, xml_res_size_26, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_link_editor.png"), xml_res_file_27, xml_res_size_27, wxT("image/png"));
- XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_search_find-in-files.png"), xml_res_file_28, xml_res_size_28, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$.._codelite-icons_toolbars_16_search_find-in-files.png"), xml_res_file_23, xml_res_size_23, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gear.png"), xml_res_file_24, xml_res_size_24, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gohome.png"), xml_res_file_25, xml_res_size_25, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_goto.png"), xml_res_file_26, xml_res_size_26, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_gtk.png"), xml_res_file_27, xml_res_size_27, wxT("image/png"));
+ XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_link_editor.png"), xml_res_file_28, xml_res_size_28, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_makefile.png"), xml_res_file_29, xml_res_size_29, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$res_qt.png"), xml_res_file_30, xml_res_size_30, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_liteeditor_bitmaps.cpp$.._icons_close.png"), xml_res_file_31, xml_res_size_31, wxT("image/png"));