diff --git a/wxcrafter/AboutDlg.cpp b/wxcrafter/AboutDlg.cpp index e762f5f63b..751149be26 100644 --- a/wxcrafter/AboutDlg.cpp +++ b/wxcrafter/AboutDlg.cpp @@ -13,8 +13,6 @@ wxcAboutDlg::wxcAboutDlg(wxWindow* parent) , m_modified(false) { DoRefresh(); - m_textCtrl1Username->ChangeValue(wxcSettings::Get().GetUsername()); - m_textCtrlSerialNumber->ChangeValue(wxcSettings::Get().GetSerialNumber()); wxString buildNumber; wxString vers; @@ -23,12 +21,6 @@ wxcAboutDlg::wxcAboutDlg(wxWindow* parent) vers << "wxCrafter-" << GIT_REVISION; m_staticTextBuildNumber->SetLabel(buildNumber); m_staticTextVersion->SetLabel(vers); - - m_textCtrlEULA->SetEditable(true); - wxCrafter::ResourceLoader rl; - wxString EULA = rl.File("LICENSE"); - m_textCtrlEULA->ChangeValue(EULA); - m_textCtrlEULA->SetEditable(false); } wxcAboutDlg::~wxcAboutDlg() {} @@ -36,20 +28,11 @@ wxcAboutDlg::~wxcAboutDlg() {} void wxcAboutDlg::OnUpdateLicense(wxCommandEvent& event) { m_modified = false; - // Contact codelite.org to acticated the license - if(!IsValidUser(m_textCtrl1Username->GetValue(), m_textCtrlSerialNumber->GetValue())) { - ::wxMessageBox(_("Invalid username/serial number"), "wxCrafter"); - return; - } - - wxcSettings::Get().SetSerialNumber(m_textCtrlSerialNumber->GetValue()); - wxcSettings::Get().SetUsername(m_textCtrl1Username->GetValue()); wxcSettings::Get().SetAnnoyDialogs(wxcSettings::Get().GetAnnoyDialogs() | wxcSettings::LICENSE_ACTIVATED); wxcSettings::Get().Save(); wxCommandEvent evt(wxEVT_LICENSE_UPDATED_SUCCESSFULLY); wxTheApp->AddPendingEvent(evt); - m_infobarInvalid->ShowMessage(_("License updated successfully"), wxICON_INFORMATION); DoRefresh(); } @@ -63,17 +46,6 @@ void wxcAboutDlg::OnTextUpdated(wxCommandEvent& event) void wxcAboutDlg::DoRefresh() { - if(wxcSettings::Get().IsRegistered()) { - m_staticBitmapLicenseStatusError->Hide(); - m_staticBitmapLicenseStatusOK->Show(); - m_banner193->SetText(_(""), _("Your wxCrafter is registered")); - - } else { - m_staticBitmapLicenseStatusError->Show(); - m_staticBitmapLicenseStatusOK->Hide(); - m_banner193->SetText(_("Using an unregistered version wxCrafter"), _("Please register your wxCrafter copy")); - } - GetSizer()->Fit(this); Layout(); } @@ -86,28 +58,7 @@ void wxcAboutDlg::OnSize(wxSizeEvent& event) bool wxcAboutDlg::IsValidUser(const wxString& username, const wxString& serialNumber) const { - wxString licenseURL = "http://codelite.org/wxcrafter/activate_license.php"; - licenseURL << "?user=" << m_textCtrl1Username->GetValue() << "&key=" << m_textCtrlSerialNumber->GetValue(); - - wxURL url(licenseURL); - if(url.GetError() == wxURL_NOERR) { - - wxInputStream* in_stream = url.GetInputStream(); - if(!in_stream) { return false; } - - unsigned char buffer[1024]; - - if(!in_stream->Eof()) { - in_stream->Read(buffer, sizeof(buffer)); - size_t bytes_read = in_stream->LastRead(); - if(bytes_read > 0) { - - buffer[bytes_read] = 0; - wxString buffRead((const char*)buffer, wxConvUTF8); - JSONRoot root(buffRead); - return root.toElement().namedObject("success").toBool(); - } - } - } - return false; + wxUnusedVar(username); + wxUnusedVar(serialNumber); + return true; } diff --git a/wxcrafter/wxcrafter.cpp b/wxcrafter/wxcrafter.cpp index 8c5104ad57..4bdb2e8cde 100644 --- a/wxcrafter/wxcrafter.cpp +++ b/wxcrafter/wxcrafter.cpp @@ -6,76 +6,77 @@ #include "wxcrafter.h" - // Declare the bitmap loading function extern void wxCA63InitBitmapResources(); static bool bBitmapLoaded = false; - -TextEditorBaseClass::TextEditorBaseClass(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) +TextEditorBaseClass::TextEditorBaseClass(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, + long style) : wxPanel(parent, id, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } this->SetToolTip(_("Text Editor")); - + wxBoxSizer* boxSizer4 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer4); - - m_textCtrl = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTE_RICH2|wxTE_PROCESS_ENTER); - #if wxVERSION_NUMBER >= 3000 + + m_textCtrl = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), + wxTE_RICH2 | wxTE_PROCESS_ENTER); +#if wxVERSION_NUMBER >= 3000 m_textCtrl->SetHint(wxT("")); - #endif - +#endif + boxSizer4->Add(m_textCtrl, 0, wxALL, WXC_FROM_DIP(1)); - + SetName(wxT("TextEditorBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } // Connect events m_textCtrl->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(TextEditorBaseClass::OnTextEnter), NULL, this); m_textCtrl->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(TextEditorBaseClass::OnKillFocus), NULL, this); m_textCtrl->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(TextEditorBaseClass::OnKeyDown), NULL, this); - } TextEditorBaseClass::~TextEditorBaseClass() { - m_textCtrl->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(TextEditorBaseClass::OnTextEnter), NULL, this); + m_textCtrl->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(TextEditorBaseClass::OnTextEnter), NULL, + this); m_textCtrl->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(TextEditorBaseClass::OnKillFocus), NULL, this); m_textCtrl->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(TextEditorBaseClass::OnKeyDown), NULL, this); - } -FontPickerDlgBaseClass::FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +FontPickerDlgBaseClass::FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, + const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer32 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer32); - - wxStaticBoxSizer* statixBoxSizer36 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer32->Add(statixBoxSizer36, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_checkBoxPreDefinedFont = new wxCheckBox(this, wxID_ANY, _("Use pre-defined font"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + wxStaticBoxSizer* statixBoxSizer36 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer32->Add(statixBoxSizer36, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_checkBoxPreDefinedFont = new wxCheckBox(this, wxID_ANY, _("Use pre-defined font"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxPreDefinedFont->SetValue(false); - - statixBoxSizer36->Add(m_checkBoxPreDefinedFont, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - + + statixBoxSizer36->Add(m_checkBoxPreDefinedFont, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + wxArrayString m_choiceSystemFontsArr; m_choiceSystemFontsArr.Add(wxT("wxSYS_DEFAULT_GUI_FONT")); m_choiceSystemFontsArr.Add(wxT("wxSYS_OEM_FIXED_FONT")); @@ -84,70 +85,76 @@ FontPickerDlgBaseClass::FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id, m_choiceSystemFontsArr.Add(wxT("wxSYS_SYSTEM_FONT")); m_choiceSystemFontsArr.Add(wxT("wxSYS_DEVICE_DEFAULT_FONT")); m_choiceSystemFontsArr.Add(wxT("wxSYS_SYSTEM_FIXED_FONT")); - m_choiceSystemFonts = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_choiceSystemFontsArr, 0); + m_choiceSystemFonts = + new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceSystemFontsArr, 0); m_choiceSystemFonts->SetSelection(0); - - statixBoxSizer36->Add(m_choiceSystemFonts, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - + + statixBoxSizer36->Add(m_choiceSystemFonts, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer43 = new wxBoxSizer(wxHORIZONTAL); - - statixBoxSizer36->Add(boxSizer43, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, WXC_FROM_DIP(5)); - - m_checkBoxBold = new wxCheckBox(this, wxID_ANY, _("Bold"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + statixBoxSizer36->Add(boxSizer43, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, WXC_FROM_DIP(5)); + + m_checkBoxBold = new wxCheckBox(this, wxID_ANY, _("Bold"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxBold->SetValue(false); - + boxSizer43->Add(m_checkBoxBold, 0, wxALL, WXC_FROM_DIP(5)); - - m_checkBoxItalic = new wxCheckBox(this, wxID_ANY, _("Italic"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_checkBoxItalic = + new wxCheckBox(this, wxID_ANY, _("Italic"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxItalic->SetValue(false); - + boxSizer43->Add(m_checkBoxItalic, 0, wxALL, WXC_FROM_DIP(5)); - - m_checkBoxUnderlined = new wxCheckBox(this, wxID_ANY, _("Underlined"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_checkBoxUnderlined = + new wxCheckBox(this, wxID_ANY, _("Underlined"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxUnderlined->SetValue(false); - + boxSizer43->Add(m_checkBoxUnderlined, 0, wxALL, WXC_FROM_DIP(5)); - - wxStaticBoxSizer* statixBoxSizer37 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer32->Add(statixBoxSizer37, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_checkBoxCustomFont = new wxCheckBox(this, wxID_ANY, _("Custom font"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + wxStaticBoxSizer* statixBoxSizer37 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer32->Add(statixBoxSizer37, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_checkBoxCustomFont = + new wxCheckBox(this, wxID_ANY, _("Custom font"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxCustomFont->SetValue(false); - - statixBoxSizer37->Add(m_checkBoxCustomFont, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_fontPicker = new wxFontPickerCtrl(this, wxID_ANY, wxNullFont, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxFNTP_DEFAULT_STYLE); - - statixBoxSizer37->Add(m_fontPicker, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - wxStaticBoxSizer* statixBoxSizer47 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer32->Add(statixBoxSizer47, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_staticTextSample = new wxStaticText(this, wxID_ANY, _("Sample Text"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - statixBoxSizer47->Add(m_staticTextSample, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, WXC_FROM_DIP(5)); - + + statixBoxSizer37->Add(m_checkBoxCustomFont, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_fontPicker = new wxFontPickerCtrl(this, wxID_ANY, wxNullFont, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), + wxFNTP_DEFAULT_STYLE); + + statixBoxSizer37->Add(m_fontPicker, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + wxStaticBoxSizer* statixBoxSizer47 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer32->Add(statixBoxSizer47, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_staticTextSample = + new wxStaticText(this, wxID_ANY, _("Sample Text"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + statixBoxSizer47->Add(m_staticTextSample, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, WXC_FROM_DIP(5)); + boxSizer32->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5)); - + wxBoxSizer* boxSizer35 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer32->Add(boxSizer35, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, WXC_FROM_DIP(5)); - - m_button34 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer32->Add(boxSizer35, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, WXC_FROM_DIP(5)); + + m_button34 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button34->SetDefault(); - + boxSizer35->Add(m_button34, 0, wxALL, WXC_FROM_DIP(5)); - - m_button33 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button33 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer35->Add(m_button33, 0, wxALL, WXC_FROM_DIP(5)); - + SetName(wxT("FontPickerDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -162,101 +169,129 @@ FontPickerDlgBaseClass::FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id, } #endif // Connect events - m_checkBoxPreDefinedFont->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_choiceSystemFonts->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(FontPickerDlgBaseClass::OnSystemFontSelected), NULL, this); - m_choiceSystemFonts->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxBold->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxBold->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxItalic->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxItalic->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxUnderlined->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxUnderlined->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxCustomFont->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUseCustomFont), NULL, this); - m_fontPicker->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUseCustomFontUI), NULL, this); - m_fontPicker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(FontPickerDlgBaseClass::OnFontSelected), NULL, this); - + m_checkBoxPreDefinedFont->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_choiceSystemFonts->Connect(wxEVT_COMMAND_CHOICE_SELECTED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnSystemFontSelected), NULL, this); + m_choiceSystemFonts->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), + NULL, this); + m_checkBoxBold->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), + NULL, this); + m_checkBoxBold->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxItalic->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), + NULL, this); + m_checkBoxItalic->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxUnderlined->Connect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); + m_checkBoxUnderlined->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxCustomFont->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUseCustomFont), NULL, this); + m_fontPicker->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUseCustomFontUI), NULL, + this); + m_fontPicker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, + wxFontPickerEventHandler(FontPickerDlgBaseClass::OnFontSelected), NULL, this); } FontPickerDlgBaseClass::~FontPickerDlgBaseClass() { - m_checkBoxPreDefinedFont->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_choiceSystemFonts->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(FontPickerDlgBaseClass::OnSystemFontSelected), NULL, this); - m_choiceSystemFonts->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxBold->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxBold->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxItalic->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxItalic->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxUnderlined->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); - m_checkBoxUnderlined->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); - m_checkBoxCustomFont->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUseCustomFont), NULL, this); - m_fontPicker->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUseCustomFontUI), NULL, this); - m_fontPicker->Disconnect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(FontPickerDlgBaseClass::OnFontSelected), NULL, this); - + m_checkBoxPreDefinedFont->Disconnect( + wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_choiceSystemFonts->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnSystemFontSelected), NULL, this); + m_choiceSystemFonts->Disconnect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); + m_checkBoxBold->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), + NULL, this); + m_checkBoxBold->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxItalic->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), + NULL, this); + m_checkBoxItalic->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxUnderlined->Disconnect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFontUI), NULL, this); + m_checkBoxUnderlined->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUsePreDefinedFont), NULL, this); + m_checkBoxCustomFont->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(FontPickerDlgBaseClass::OnUseCustomFont), NULL, this); + m_fontPicker->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(FontPickerDlgBaseClass::OnUseCustomFontUI), NULL, + this); + m_fontPicker->Disconnect(wxEVT_COMMAND_FONTPICKER_CHANGED, + wxFontPickerEventHandler(FontPickerDlgBaseClass::OnFontSelected), NULL, this); } -MessageDlgBaseClass::MessageDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +MessageDlgBaseClass::MessageDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer64 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer64); - - m_panel70 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(300,150)), wxTAB_TRAVERSAL|wxBORDER_THEME); + + m_panel70 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(300, 150)), + wxTAB_TRAVERSAL | wxBORDER_THEME); m_panel70->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); m_panel70->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)); - - boxSizer64->Add(m_panel70, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + boxSizer64->Add(m_panel70, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer71 = new wxBoxSizer(wxHORIZONTAL); m_panel70->SetSizer(boxSizer71); - - m_staticBitmap75 = new wxStaticBitmap(m_panel70, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("info")), wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1,-1)), 0 ); - - boxSizer71->Add(m_staticBitmap75, 0, wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - + + m_staticBitmap75 = new wxStaticBitmap(m_panel70, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("info")), + wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1, -1)), 0); + + boxSizer71->Add(m_staticBitmap75, 0, wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer74 = new wxBoxSizer(wxVERTICAL); - + boxSizer71->Add(boxSizer74, 0, wxALL, WXC_FROM_DIP(5)); - - m_title = new wxStaticText(m_panel70, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1,-1)), 0); + + m_title = + new wxStaticText(m_panel70, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1, -1)), 0); wxFont m_titleFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_titleFont.SetWeight(wxFONTWEIGHT_BOLD); m_title->SetFont(m_titleFont); - - boxSizer74->Add(m_title, 0, wxALIGN_LEFT|wxALL, WXC_FROM_DIP(5)); - - m_message = new wxStaticText(m_panel70, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1,-1)), 0); - - boxSizer74->Add(m_message, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_checkBoxDontAnnoy = new wxCheckBox(this, wxID_ANY, _("Don't show this message again"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer74->Add(m_title, 0, wxALIGN_LEFT | wxALL, WXC_FROM_DIP(5)); + + m_message = + new wxStaticText(m_panel70, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel70, wxSize(-1, -1)), 0); + + boxSizer74->Add(m_message, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_checkBoxDontAnnoy = new wxCheckBox(this, wxID_ANY, _("Don't show this message again"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxDontAnnoy->SetValue(false); m_checkBoxDontAnnoy->SetToolTip(_("Check this to prevent this dialog from showing up again")); - - boxSizer64->Add(m_checkBoxDontAnnoy, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + boxSizer64->Add(m_checkBoxDontAnnoy, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + m_stdBtnSizer335 = new wxStdDialogButtonSizer(); - - boxSizer64->Add(m_stdBtnSizer335, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + boxSizer64->Add(m_stdBtnSizer335, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + m_button337 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button337->SetDefault(); m_stdBtnSizer335->AddButton(m_button337); - + m_button339 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_stdBtnSizer335->AddButton(m_button339); m_stdBtnSizer335->Realize(); - + SetName(wxT("MessageDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -272,227 +307,261 @@ MessageDlgBaseClass::MessageDlgBaseClass(wxWindow* parent, wxWindowID id, const #endif } -MessageDlgBaseClass::~MessageDlgBaseClass() -{ -} +MessageDlgBaseClass::~MessageDlgBaseClass() {} -DefineCustomControlWizardBaseClass::DefineCustomControlWizardBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxBitmap& bmp, const wxPoint& pos, long style) +DefineCustomControlWizardBaseClass::DefineCustomControlWizardBaseClass(wxWindow* parent, wxWindowID id, + const wxString& title, const wxBitmap& bmp, + const wxPoint& pos, long style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } Create(parent, id, title, wxXmlResource::Get()->LoadBitmap(wxT("custom-control")), pos, style); - + m_wizardPageGeneral = new wxWizardPageSimple(this, NULL, NULL, wxNullBitmap); m_pages.push_back(m_wizardPageGeneral); - + wxBoxSizer* boxSizer84 = new wxBoxSizer(wxVERTICAL); m_wizardPageGeneral->SetSizer(boxSizer84); - - m_staticText88 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("Set the class name"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), 0); + + m_staticText88 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("Set the class name"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), 0); wxFont m_staticText88Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText88Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText88->SetFont(m_staticText88Font); - - boxSizer84->Add(m_staticText88, 0, wxALL|wxALIGN_LEFT, WXC_FROM_DIP(5)); - - m_staticLine265 = new wxStaticLine(m_wizardPageGeneral, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), wxLI_HORIZONTAL); - - boxSizer84->Add(m_staticLine265, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + boxSizer84->Add(m_staticText88, 0, wxALL | wxALIGN_LEFT, WXC_FROM_DIP(5)); + + m_staticLine265 = new wxStaticLine(m_wizardPageGeneral, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), wxLI_HORIZONTAL); + + boxSizer84->Add(m_staticLine265, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxFlexGridSizer* flexGridSizer85 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer85->SetFlexibleDirection( wxBOTH ); - flexGridSizer85->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer85->SetFlexibleDirection(wxBOTH); + flexGridSizer85->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer85->AddGrowableCol(1); - - boxSizer84->Add(flexGridSizer85, 1, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_staticText103 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("Class:"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), 0); - - flexGridSizer85->Add(m_staticText103, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - - m_textClassName = new wxTextCtrl(m_wizardPageGeneral, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), 0); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE + + boxSizer84->Add(flexGridSizer85, 1, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_staticText103 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("Class:"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), 0); + + flexGridSizer85->Add(m_staticText103, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + + m_textClassName = new wxTextCtrl(m_wizardPageGeneral, wxID_ANY, wxT(""), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), 0); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textClassNameFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textClassNameFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textClassNameFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textClassNameFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textClassName->SetFont(m_textClassNameFont); m_textClassName->SetToolTip(_("Set the class name")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textClassName->SetHint(wxT("")); - #endif - - flexGridSizer85->Add(m_textClassName, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText109 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("XRC Preview class:"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), 0); +#endif + + flexGridSizer85->Add(m_textClassName, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText109 = new wxStaticText(m_wizardPageGeneral, wxID_ANY, _("XRC Preview class:"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), 0); m_staticText109->SetToolTip(_("Set here a standard wxWidgets control for preview purposes")); - - flexGridSizer85->Add(m_staticText109, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - - m_textCtrlXRCPreviewClass = new wxTextCtrl(m_wizardPageGeneral, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1,-1)), 0); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE + + flexGridSizer85->Add(m_staticText109, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + + m_textCtrlXRCPreviewClass = new wxTextCtrl(m_wizardPageGeneral, wxID_ANY, wxT(""), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageGeneral, wxSize(-1, -1)), 0); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlXRCPreviewClassFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlXRCPreviewClassFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlXRCPreviewClassFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlXRCPreviewClassFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlXRCPreviewClass->SetFont(m_textCtrlXRCPreviewClassFont); m_textCtrlXRCPreviewClass->SetToolTip(_("Set here a standard wxWidgets control for preview purposes (optional)")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textCtrlXRCPreviewClass->SetHint(wxT("")); - #endif - - flexGridSizer85->Add(m_textCtrlXRCPreviewClass, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer85->Add(m_textCtrlXRCPreviewClass, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + m_wizardPageHeader = new wxWizardPageSimple(this, NULL, NULL, wxNullBitmap); m_pages.push_back(m_wizardPageHeader); - + wxBoxSizer* boxSizer89 = new wxBoxSizer(wxVERTICAL); m_wizardPageHeader->SetSizer(boxSizer89); - - m_staticText91 = new wxStaticText(m_wizardPageHeader, wxID_ANY, _("Additional include file"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageHeader, wxSize(-1,-1)), 0); + + m_staticText91 = new wxStaticText(m_wizardPageHeader, wxID_ANY, _("Additional include file"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageHeader, wxSize(-1, -1)), 0); wxFont m_staticText91Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText91Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText91->SetFont(m_staticText91Font); - - boxSizer89->Add(m_staticText91, 0, wxALL|wxALIGN_LEFT, WXC_FROM_DIP(5)); - - m_staticLine267 = new wxStaticLine(m_wizardPageHeader, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageHeader, wxSize(-1,-1)), wxLI_HORIZONTAL); - - boxSizer89->Add(m_staticLine267, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + boxSizer89->Add(m_staticText91, 0, wxALL | wxALIGN_LEFT, WXC_FROM_DIP(5)); + + m_staticLine267 = new wxStaticLine(m_wizardPageHeader, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_wizardPageHeader, wxSize(-1, -1)), wxLI_HORIZONTAL); + + boxSizer89->Add(m_staticLine267, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxFlexGridSizer* flexGridSizer90 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer90->SetFlexibleDirection( wxBOTH ); - flexGridSizer90->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer90->SetFlexibleDirection(wxBOTH); + flexGridSizer90->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer90->AddGrowableCol(1); - - boxSizer89->Add(flexGridSizer90, 1, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - - m_staticText92 = new wxStaticText(m_wizardPageHeader, wxID_ANY, _("Include file:"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageHeader, wxSize(-1,-1)), 0); - - flexGridSizer90->Add(m_staticText92, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - - m_textCtrlIncludeLine = new wxTextCtrl(m_wizardPageHeader, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_wizardPageHeader, wxSize(-1,-1)), 0); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE + + boxSizer89->Add(flexGridSizer90, 1, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + + m_staticText92 = new wxStaticText(m_wizardPageHeader, wxID_ANY, _("Include file:"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageHeader, wxSize(-1, -1)), 0); + + flexGridSizer90->Add(m_staticText92, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + + m_textCtrlIncludeLine = new wxTextCtrl(m_wizardPageHeader, wxID_ANY, wxT(""), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageHeader, wxSize(-1, -1)), 0); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlIncludeLineFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlIncludeLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlIncludeLineFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlIncludeLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlIncludeLine->SetFont(m_textCtrlIncludeLineFont); - m_textCtrlIncludeLine->SetToolTip(_("Place here the include file that this custom control requires\ne.g. #include ")); - #if wxVERSION_NUMBER >= 3000 + m_textCtrlIncludeLine->SetToolTip( + _("Place here the include file that this custom control requires\ne.g. #include ")); +#if wxVERSION_NUMBER >= 3000 m_textCtrlIncludeLine->SetHint(wxT("")); - #endif - - flexGridSizer90->Add(m_textCtrlIncludeLine, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer90->Add(m_textCtrlIncludeLine, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + m_wizardPageCpp = new wxWizardPageSimple(this, NULL, NULL, wxNullBitmap); m_pages.push_back(m_wizardPageCpp); - + wxBoxSizer* boxSizer98 = new wxBoxSizer(wxVERTICAL); m_wizardPageCpp->SetSizer(boxSizer98); - - m_staticText99 = new wxStaticText(m_wizardPageCpp, wxID_ANY, _("Implementation file content"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageCpp, wxSize(-1,-1)), 0); + + m_staticText99 = new wxStaticText(m_wizardPageCpp, wxID_ANY, _("Implementation file content"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageCpp, wxSize(-1, -1)), 0); wxFont m_staticText99Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText99Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText99->SetFont(m_staticText99Font); - - boxSizer98->Add(m_staticText99, 0, wxALL|wxALIGN_LEFT, WXC_FROM_DIP(5)); - - m_staticLine269 = new wxStaticLine(m_wizardPageCpp, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageCpp, wxSize(-1,-1)), wxLI_HORIZONTAL); - - boxSizer98->Add(m_staticLine269, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_panel107 = new wxPanel(m_wizardPageCpp, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageCpp, wxSize(-1,-1)), wxTAB_TRAVERSAL|wxBORDER_SIMPLE); + + boxSizer98->Add(m_staticText99, 0, wxALL | wxALIGN_LEFT, WXC_FROM_DIP(5)); + + m_staticLine269 = new wxStaticLine(m_wizardPageCpp, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_wizardPageCpp, wxSize(-1, -1)), wxLI_HORIZONTAL); + + boxSizer98->Add(m_staticLine269, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_panel107 = new wxPanel(m_wizardPageCpp, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageCpp, wxSize(-1, -1)), + wxTAB_TRAVERSAL | wxBORDER_SIMPLE); m_panel107->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); - - boxSizer98->Add(m_panel107, 0, wxEXPAND|wxALL, WXC_FROM_DIP(5)); - + + boxSizer98->Add(m_panel107, 0, wxEXPAND | wxALL, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer108 = new wxBoxSizer(wxVERTICAL); m_panel107->SetSizer(boxSizer108); - - m_staticText106 = new wxStaticText(m_panel107, wxID_ANY, _("You may use here the following macros (the macros expands to the value defined in the designer):\n\n$parent - expands to the custom control parent name\n$name - expands to the C++ member name\n$id - the control ID\n\nExample:\n$name = new MyControl($parent, $id)"), wxDefaultPosition, wxDLG_UNIT(m_panel107, wxSize(-1,-1)), 0); + + m_staticText106 = + new wxStaticText(m_panel107, wxID_ANY, + _("You may use here the following macros (the macros expands to the value defined in the " + "designer):\n\n$parent - expands to the custom control parent name\n$name - expands to the " + "C++ member name\n$id - the control ID\n\nExample:\n$name = new MyControl($parent, $id)"), + wxDefaultPosition, wxDLG_UNIT(m_panel107, wxSize(-1, -1)), 0); m_staticText106->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); m_staticText106->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT)); - + boxSizer108->Add(m_staticText106, 0, wxALL, WXC_FROM_DIP(5)); - - m_textCtrlInstantiationLine = new wxTextCtrl(m_wizardPageCpp, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_wizardPageCpp, wxSize(400,-1)), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE + + m_textCtrlInstantiationLine = new wxTextCtrl(m_wizardPageCpp, wxID_ANY, wxT(""), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageCpp, wxSize(400, -1)), + wxTE_RICH2 | wxTE_PROCESS_TAB | wxTE_PROCESS_ENTER | wxTE_MULTILINE); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlInstantiationLineFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlInstantiationLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlInstantiationLineFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlInstantiationLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlInstantiationLine->SetFont(m_textCtrlInstantiationLineFont); m_textCtrlInstantiationLine->SetToolTip(_("Place the instantation code here\ne.g. $(name) = new MyControl(this);")); - - boxSizer98->Add(m_textCtrlInstantiationLine, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + boxSizer98->Add(m_textCtrlInstantiationLine, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + m_wizardPageEvents = new wxWizardPageSimple(this, NULL, NULL, wxNullBitmap); m_pages.push_back(m_wizardPageEvents); - if (m_pages.size() > 1) { - for(size_t i=1; i 1) { + for(size_t i = 1; i < m_pages.size(); i++) { + wxWizardPageSimple::Chain(m_pages.at(i - 1), m_pages.at(i)); } } GetPageAreaSizer()->Add(m_pages.at(0)); - + wxBoxSizer* boxSizer275 = new wxBoxSizer(wxVERTICAL); m_wizardPageEvents->SetSizer(boxSizer275); - - m_staticText277 = new wxStaticText(m_wizardPageEvents, wxID_ANY, _("Custom Events"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageEvents, wxSize(-1,-1)), 0); + + m_staticText277 = new wxStaticText(m_wizardPageEvents, wxID_ANY, _("Custom Events"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageEvents, wxSize(-1, -1)), 0); wxFont m_staticText277Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText277Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText277->SetFont(m_staticText277Font); - + boxSizer275->Add(m_staticText277, 0, wxALL, WXC_FROM_DIP(5)); - - m_staticLine279 = new wxStaticLine(m_wizardPageEvents, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageEvents, wxSize(-1,-1)), wxLI_HORIZONTAL); - - boxSizer275->Add(m_staticLine279, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + m_staticLine279 = new wxStaticLine(m_wizardPageEvents, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_wizardPageEvents, wxSize(-1, -1)), wxLI_HORIZONTAL); + + boxSizer275->Add(m_staticLine279, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer283 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer275->Add(boxSizer283, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrlEvents = new wxDataViewListCtrl(m_wizardPageEvents, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_wizardPageEvents, wxSize(-1,-1)), wxDV_ROW_LINES|wxDV_SINGLE); - m_dvListCtrlEvents->SetToolTip(_("Define here custom events of the control\ne.g. 'Event Type' can be something like wxEVT_MY_BUTTON_CLICKED\nand 'Event Class' can be wxCommandEvent")); - - boxSizer283->Add(m_dvListCtrlEvents, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrlEvents->AppendTextColumn(_("Event Type"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(200), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); - m_dvListCtrlEvents->AppendTextColumn(_("Event Class"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(200), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); + + boxSizer275->Add(boxSizer283, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrlEvents = + new wxDataViewListCtrl(m_wizardPageEvents, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_wizardPageEvents, wxSize(-1, -1)), wxDV_ROW_LINES | wxDV_SINGLE); + m_dvListCtrlEvents->SetToolTip(_("Define here custom events of the control\ne.g. 'Event Type' can be something " + "like wxEVT_MY_BUTTON_CLICKED\nand 'Event Class' can be wxCommandEvent")); + + boxSizer283->Add(m_dvListCtrlEvents, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrlEvents->AppendTextColumn(_("Event Type"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(200), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); + m_dvListCtrlEvents->AppendTextColumn(_("Event Class"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(200), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); wxBoxSizer* boxSizer285 = new wxBoxSizer(wxVERTICAL); - + boxSizer283->Add(boxSizer285, 0, wxEXPAND, WXC_FROM_DIP(5)); - - m_button287 = new wxButton(m_wizardPageEvents, wxID_NEW, _("&New..."), wxDefaultPosition, wxDLG_UNIT(m_wizardPageEvents, wxSize(-1,-1)), 0); - - boxSizer285->Add(m_button287, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_button289 = new wxButton(m_wizardPageEvents, wxID_DELETE, _("Delete"), wxDefaultPosition, wxDLG_UNIT(m_wizardPageEvents, wxSize(-1,-1)), 0); - - boxSizer285->Add(m_button289, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + m_button287 = new wxButton(m_wizardPageEvents, wxID_NEW, _("&New..."), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageEvents, wxSize(-1, -1)), 0); + + boxSizer285->Add(m_button287, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_button289 = new wxButton(m_wizardPageEvents, wxID_DELETE, _("Delete"), wxDefaultPosition, + wxDLG_UNIT(m_wizardPageEvents, wxSize(-1, -1)), 0); + + boxSizer285->Add(m_button289, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + SetName(wxT("DefineCustomControlWizardBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(500,300))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(500, 300))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -507,167 +576,190 @@ DefineCustomControlWizardBaseClass::DefineCustomControlWizardBaseClass(wxWindow* } #endif // Connect events - this->Connect(wxEVT_WIZARD_PAGE_CHANGING, wxWizardEventHandler(DefineCustomControlWizardBaseClass::OnPageChanging), NULL, this); - m_button287->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnNewEvent), NULL, this); - m_button289->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEvent), NULL, this); - m_button289->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEventUI), NULL, this); - + this->Connect(wxEVT_WIZARD_PAGE_CHANGING, wxWizardEventHandler(DefineCustomControlWizardBaseClass::OnPageChanging), + NULL, this); + m_button287->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnNewEvent), NULL, this); + m_button289->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEvent), NULL, this); + m_button289->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEventUI), + NULL, this); } DefineCustomControlWizardBaseClass::~DefineCustomControlWizardBaseClass() { - this->Disconnect(wxEVT_WIZARD_PAGE_CHANGING, wxWizardEventHandler(DefineCustomControlWizardBaseClass::OnPageChanging), NULL, this); - m_button287->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnNewEvent), NULL, this); - m_button289->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEvent), NULL, this); - m_button289->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEventUI), NULL, this); - + this->Disconnect(wxEVT_WIZARD_PAGE_CHANGING, + wxWizardEventHandler(DefineCustomControlWizardBaseClass::OnPageChanging), NULL, this); + m_button287->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnNewEvent), NULL, this); + m_button289->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEvent), NULL, this); + m_button289->Disconnect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(DefineCustomControlWizardBaseClass::OnDeleteEventUI), NULL, this); } -EditCustomControlDlgBaseClass::EditCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +EditCustomControlDlgBaseClass::EditCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, + const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer112 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer112); - + wxArrayString m_choiceControlsArr; - m_choiceControls = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_choiceControlsArr, 0); - - boxSizer112->Add(m_choiceControls, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_notebook = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxBK_DEFAULT); + m_choiceControls = + new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceControlsArr, 0); + + boxSizer112->Add(m_choiceControls, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_notebook = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), wxBK_DEFAULT); m_notebook->SetName(wxT("m_notebook")); - - boxSizer112->Add(m_notebook, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_panel229 = new wxPanel(m_notebook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + boxSizer112->Add(m_notebook, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_panel229 = + new wxPanel(m_notebook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook, wxSize(-1, -1)), wxTAB_TRAVERSAL); m_notebook->AddPage(m_panel229, _("General"), true); - + wxFlexGridSizer* flexGridSizer117 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer117->SetFlexibleDirection( wxBOTH ); - flexGridSizer117->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer117->SetFlexibleDirection(wxBOTH); + flexGridSizer117->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer117->AddGrowableCol(1); flexGridSizer117->AddGrowableRow(2); m_panel229->SetSizer(flexGridSizer117); - - m_staticText120 = new wxStaticText(m_panel229, wxID_ANY, _("XRC Preview class:"), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), 0); - - flexGridSizer117->Add(m_staticText120, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - - m_textCtrlXRCClass = new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), 0); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE + + m_staticText120 = new wxStaticText(m_panel229, wxID_ANY, _("XRC Preview class:"), wxDefaultPosition, + wxDLG_UNIT(m_panel229, wxSize(-1, -1)), 0); + + flexGridSizer117->Add(m_staticText120, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + + m_textCtrlXRCClass = + new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1, -1)), 0); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlXRCClassFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlXRCClassFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlXRCClassFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlXRCClassFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlXRCClass->SetFont(m_textCtrlXRCClassFont); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textCtrlXRCClass->SetHint(wxT("")); - #endif - - flexGridSizer117->Add(m_textCtrlXRCClass, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText122 = new wxStaticText(m_panel229, wxID_ANY, _("Include file:"), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), 0); - - flexGridSizer117->Add(m_staticText122, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, WXC_FROM_DIP(5)); - - m_textCtrlIncludeFile = new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), 0); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE +#endif + + flexGridSizer117->Add(m_textCtrlXRCClass, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText122 = new wxStaticText(m_panel229, wxID_ANY, _("Include file:"), wxDefaultPosition, + wxDLG_UNIT(m_panel229, wxSize(-1, -1)), 0); + + flexGridSizer117->Add(m_staticText122, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, WXC_FROM_DIP(5)); + + m_textCtrlIncludeFile = + new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1, -1)), 0); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlIncludeFileFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlIncludeFileFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlIncludeFileFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlIncludeFileFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlIncludeFile->SetFont(m_textCtrlIncludeFileFont); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textCtrlIncludeFile->SetHint(wxT("")); - #endif - - flexGridSizer117->Add(m_textCtrlIncludeFile, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_textCtrlInstantiationLineTEXT = new wxStaticText(m_panel229, wxID_ANY, _("Instantiation code:"), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), 0); - - flexGridSizer117->Add(m_textCtrlInstantiationLineTEXT, 0, wxALIGN_RIGHT|wxALIGN_TOP|wxALL, WXC_FROM_DIP(5)); - - m_textCtrlInstantiationLine = new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1,-1)), wxTE_MULTILINE); - #ifdef __WXMSW__ - // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE +#endif + + flexGridSizer117->Add(m_textCtrlIncludeFile, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_textCtrlInstantiationLineTEXT = new wxStaticText(m_panel229, wxID_ANY, _("Instantiation code:"), + wxDefaultPosition, wxDLG_UNIT(m_panel229, wxSize(-1, -1)), 0); + + flexGridSizer117->Add(m_textCtrlInstantiationLineTEXT, 0, wxALIGN_RIGHT | wxALIGN_TOP | wxALL, WXC_FROM_DIP(5)); + + m_textCtrlInstantiationLine = new wxTextCtrl(m_panel229, wxID_ANY, wxT(""), wxDefaultPosition, + wxDLG_UNIT(m_panel229, wxSize(-1, -1)), wxTE_MULTILINE); +#ifdef __WXMSW__ + // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to + // wxFONTFAMILY_TELETYPE wxFont m_textCtrlInstantiationLineFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_textCtrlInstantiationLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #else +#else wxFont m_textCtrlInstantiationLineFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_textCtrlInstantiationLineFont.SetFamily(wxFONTFAMILY_TELETYPE); - #endif +#endif m_textCtrlInstantiationLine->SetFont(m_textCtrlInstantiationLineFont); - - flexGridSizer117->Add(m_textCtrlInstantiationLine, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_panel231 = new wxPanel(m_notebook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + flexGridSizer117->Add(m_textCtrlInstantiationLine, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_panel231 = + new wxPanel(m_notebook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook, wxSize(-1, -1)), wxTAB_TRAVERSAL); m_notebook->AddPage(m_panel231, _("Events"), false); - + wxBoxSizer* boxSizer233 = new wxBoxSizer(wxVERTICAL); m_panel231->SetSizer(boxSizer233); - + wxBoxSizer* boxSizer237 = new wxBoxSizer(wxHORIZONTAL); - + boxSizer233->Add(boxSizer237, 1, wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrlEvents = new wxDataViewListCtrl(m_panel231, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_panel231, wxSize(-1,-1)), wxDV_ROW_LINES|wxDV_SINGLE); - - boxSizer237->Add(m_dvListCtrlEvents, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrlEvents->AppendTextColumn(_("Event Type"), wxDATAVIEW_CELL_EDITABLE, WXC_FROM_DIP(200), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); - m_dvListCtrlEvents->AppendTextColumn(_("Event Class"), wxDATAVIEW_CELL_EDITABLE, WXC_FROM_DIP(200), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); + + m_dvListCtrlEvents = new wxDataViewListCtrl(m_panel231, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_panel231, wxSize(-1, -1)), wxDV_ROW_LINES | wxDV_SINGLE); + + boxSizer237->Add(m_dvListCtrlEvents, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrlEvents->AppendTextColumn(_("Event Type"), wxDATAVIEW_CELL_EDITABLE, WXC_FROM_DIP(200), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); + m_dvListCtrlEvents->AppendTextColumn(_("Event Class"), wxDATAVIEW_CELL_EDITABLE, WXC_FROM_DIP(200), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); wxBoxSizer* boxSizer239 = new wxBoxSizer(wxVERTICAL); - + boxSizer237->Add(boxSizer239, 0, wxEXPAND, WXC_FROM_DIP(5)); - - m_buttonNewEvent = new wxButton(m_panel231, wxID_NEW, _("New..."), wxDefaultPosition, wxDLG_UNIT(m_panel231, wxSize(-1,-1)), 0); + + m_buttonNewEvent = + new wxButton(m_panel231, wxID_NEW, _("New..."), wxDefaultPosition, wxDLG_UNIT(m_panel231, wxSize(-1, -1)), 0); m_buttonNewEvent->SetDefault(); - + boxSizer239->Add(m_buttonNewEvent, 0, wxALL, WXC_FROM_DIP(5)); - - m_buttonDeleteEvent = new wxButton(m_panel231, wxID_DELETE, _("Delete"), wxDefaultPosition, wxDLG_UNIT(m_panel231, wxSize(-1,-1)), 0); - + + m_buttonDeleteEvent = new wxButton(m_panel231, wxID_DELETE, _("Delete"), wxDefaultPosition, + wxDLG_UNIT(m_panel231, wxSize(-1, -1)), 0); + boxSizer239->Add(m_buttonDeleteEvent, 0, wxALL, WXC_FROM_DIP(5)); - + wxBoxSizer* boxSizer113 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer112->Add(boxSizer113, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button114 = new wxButton(this, wxID_SAVE, _("&Save"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer112->Add(boxSizer113, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button114 = new wxButton(this, wxID_SAVE, _("&Save"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button114->SetDefault(); - + boxSizer113->Add(m_button114, 0, wxALL, WXC_FROM_DIP(5)); - - m_button115 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button115 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer113->Add(m_button115, 0, wxALL, WXC_FROM_DIP(5)); - - - #if wxVERSION_NUMBER >= 2900 - if(!wxPersistenceManager::Get().Find(m_notebook)){ + +#if wxVERSION_NUMBER >= 2900 + if(!wxPersistenceManager::Get().Find(m_notebook)) { wxPersistenceManager::Get().RegisterAndRestore(m_notebook); } else { wxPersistenceManager::Get().Restore(m_notebook); } - #endif - +#endif + SetName(wxT("EditCustomControlDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(400,400))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(400, 400))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -682,134 +774,163 @@ EditCustomControlDlgBaseClass::EditCustomControlDlgBaseClass(wxWindow* parent, w } #endif // Connect events - m_choiceControls->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSelectControl), NULL, this); - m_textCtrlXRCClass->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_textCtrlIncludeFile->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_textCtrlInstantiationLine->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_dvListCtrlEvents->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler(EditCustomControlDlgBaseClass::OnEventEditDone), NULL, this); - m_buttonNewEvent->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnNewEvent), NULL, this); - m_buttonDeleteEvent->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnDeleteEvent), NULL, this); - m_buttonDeleteEvent->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnDeleteEventUI), NULL, this); - m_button114->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSave), NULL, this); + m_choiceControls->Connect(wxEVT_COMMAND_CHOICE_SELECTED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSelectControl), NULL, this); + m_textCtrlXRCClass->Connect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); + m_textCtrlIncludeFile->Connect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); + m_textCtrlInstantiationLine->Connect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, + this); + m_dvListCtrlEvents->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, + wxDataViewEventHandler(EditCustomControlDlgBaseClass::OnEventEditDone), NULL, this); + m_buttonNewEvent->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnNewEvent), NULL, this); + m_buttonDeleteEvent->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnDeleteEvent), NULL, this); + m_buttonDeleteEvent->Connect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnDeleteEventUI), NULL, this); + m_button114->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSave), + NULL, this); m_button114->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnSaveUI), NULL, this); - } EditCustomControlDlgBaseClass::~EditCustomControlDlgBaseClass() { - m_choiceControls->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSelectControl), NULL, this); - m_textCtrlXRCClass->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_textCtrlIncludeFile->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_textCtrlInstantiationLine->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); - m_dvListCtrlEvents->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler(EditCustomControlDlgBaseClass::OnEventEditDone), NULL, this); - m_buttonNewEvent->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnNewEvent), NULL, this); - m_buttonDeleteEvent->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnDeleteEvent), NULL, this); - m_buttonDeleteEvent->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnDeleteEventUI), NULL, this); - m_button114->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSave), NULL, this); - m_button114->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnSaveUI), NULL, this); - + m_choiceControls->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSelectControl), NULL, this); + m_textCtrlXRCClass->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, this); + m_textCtrlIncludeFile->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), NULL, + this); + m_textCtrlInstantiationLine->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnControlModified), + NULL, this); + m_dvListCtrlEvents->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, + wxDataViewEventHandler(EditCustomControlDlgBaseClass::OnEventEditDone), NULL, this); + m_buttonNewEvent->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnNewEvent), NULL, this); + m_buttonDeleteEvent->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(EditCustomControlDlgBaseClass::OnDeleteEvent), NULL, this); + m_buttonDeleteEvent->Disconnect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnDeleteEventUI), NULL, this); + m_button114->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(EditCustomControlDlgBaseClass::OnSave), + NULL, this); + m_button114->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(EditCustomControlDlgBaseClass::OnSaveUI), NULL, + this); } -ImportDlgBaseClass::ImportDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +ImportDlgBaseClass::ImportDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer127 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer127); - + wxFlexGridSizer* flexGridSizer138 = new wxFlexGridSizer(0, 3, 0, 0); - flexGridSizer138->SetFlexibleDirection( wxBOTH ); - flexGridSizer138->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer138->SetFlexibleDirection(wxBOTH); + flexGridSizer138->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer138->AddGrowableCol(1); - - boxSizer127->Add(flexGridSizer138, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText128 = new wxStaticText(this, wxID_ANY, _("Filepath to import:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_staticText128, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_filepathText = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer127->Add(flexGridSizer138, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText128 = new wxStaticText(this, wxID_ANY, _("Filepath to import:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_staticText128, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_filepathText = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_filepathText->SetToolTip(_("Enter the filepath to import")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_filepathText->SetHint(wxT("")); - #endif - - flexGridSizer138->Add(m_filepathText, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_buttonBrowse = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_buttonBrowse, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_staticText139 = new wxStaticText(this, wxID_ANY, _("Destination Filepath:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_staticText139, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textName = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); +#endif + + flexGridSizer138->Add(m_filepathText, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_buttonBrowse = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_buttonBrowse, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_staticText139 = new wxStaticText(this, wxID_ANY, _("Destination Filepath:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_staticText139, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textName = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_textName->SetToolTip(_("Enter the name and path for wxCrafter file once it's imported")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textName->SetHint(wxT("")); - #endif - - flexGridSizer138->Add(m_textName, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_buttonFolder = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_buttonFolder, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer138->Add(m_textName, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_buttonFolder = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_buttonFolder, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + flexGridSizer138->Add(0, 0, 0, wxALL, WXC_FROM_DIP(5)); - - m_checkBoxAddToProject = new wxCheckBox(this, wxID_ANY, _("Add the new wxcp file to the current project"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_checkBoxAddToProject = new wxCheckBox(this, wxID_ANY, _("Add the new wxcp file to the current project"), + wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxAddToProject->SetValue(false); - - flexGridSizer138->Add(m_checkBoxAddToProject, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + flexGridSizer138->Add(m_checkBoxAddToProject, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + flexGridSizer138->Add(0, 0, 0, wxALL, WXC_FROM_DIP(5)); - - m_staticText148 = new wxStaticText(this, wxID_ANY, _("Destination Virtual Folder:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_staticText148, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrl1VirtualFolder = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - m_textCtrl1VirtualFolder->SetToolTip(_("If the resulting .wxcp file is to be added to the current project, it needs to go in a Virtual Folder. Enter the one to use.")); - #if wxVERSION_NUMBER >= 3000 + + m_staticText148 = new wxStaticText(this, wxID_ANY, _("Destination Virtual Folder:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_staticText148, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textCtrl1VirtualFolder = + new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + m_textCtrl1VirtualFolder->SetToolTip(_("If the resulting .wxcp file is to be added to the current project, it " + "needs to go in a Virtual Folder. Enter the one to use.")); +#if wxVERSION_NUMBER >= 3000 m_textCtrl1VirtualFolder->SetHint(wxT("")); - #endif - - flexGridSizer138->Add(m_textCtrl1VirtualFolder, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_buttonBrowseVD = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer138->Add(m_buttonBrowseVD, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_checkBoxLoadWhenDone = new wxCheckBox(this, wxID_ANY, _("Load the .wxcp file when import is completed"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); +#endif + + flexGridSizer138->Add(m_textCtrl1VirtualFolder, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_buttonBrowseVD = + new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer138->Add(m_buttonBrowseVD, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_checkBoxLoadWhenDone = new wxCheckBox(this, wxID_ANY, _("Load the .wxcp file when import is completed"), + wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxLoadWhenDone->SetValue(false); - - boxSizer127->Add(m_checkBoxLoadWhenDone, 0, wxALL|wxALIGN_LEFT, WXC_FROM_DIP(5)); - + + boxSizer127->Add(m_checkBoxLoadWhenDone, 0, wxALL | wxALIGN_LEFT, WXC_FROM_DIP(5)); + boxSizer127->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5)); - + m_stdBtnSizer341 = new wxStdDialogButtonSizer(); - - boxSizer127->Add(m_stdBtnSizer341, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + boxSizer127->Add(m_stdBtnSizer341, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + m_button343 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button343->SetDefault(); m_stdBtnSizer341->AddButton(m_button343); - + m_button345 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_stdBtnSizer341->AddButton(m_button345); m_stdBtnSizer341->Realize(); - + SetName(wxT("ImportDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -824,161 +945,204 @@ ImportDlgBaseClass::ImportDlgBaseClass(wxWindow* parent, wxWindowID id, const wx } #endif // Connect events - m_filepathText->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnFileImportTextUpdated), NULL, this); - m_buttonBrowse->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowse), NULL, this); - m_textName->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnDestFilePathUpdated), NULL, this); - m_buttonFolder->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForOutputFolder), NULL, this); - m_checkBoxAddToProject->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddToProjectUI), NULL, this); - m_staticText148->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - m_textCtrl1VirtualFolder->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - m_buttonBrowseVD->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForVirtualFolder), NULL, this); - m_buttonBrowseVD->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - + m_filepathText->Connect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(ImportDlgBaseClass::OnFileImportTextUpdated), NULL, this); + m_buttonBrowse->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowse), NULL, + this); + m_textName->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnDestFilePathUpdated), + NULL, this); + m_buttonFolder->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForOutputFolder), NULL, this); + m_checkBoxAddToProject->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddToProjectUI), NULL, + this); + m_staticText148->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, + this); + m_textCtrl1VirtualFolder->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), + NULL, this); + m_buttonBrowseVD->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForVirtualFolder), NULL, this); + m_buttonBrowseVD->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, + this); } ImportDlgBaseClass::~ImportDlgBaseClass() { - m_filepathText->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnFileImportTextUpdated), NULL, this); - m_buttonBrowse->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowse), NULL, this); - m_textName->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnDestFilePathUpdated), NULL, this); - m_buttonFolder->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForOutputFolder), NULL, this); - m_checkBoxAddToProject->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddToProjectUI), NULL, this); - m_staticText148->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - m_textCtrl1VirtualFolder->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - m_buttonBrowseVD->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForVirtualFolder), NULL, this); - m_buttonBrowseVD->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); - + m_filepathText->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, + wxCommandEventHandler(ImportDlgBaseClass::OnFileImportTextUpdated), NULL, this); + m_buttonBrowse->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ImportDlgBaseClass::OnBrowse), NULL, + this); + m_textName->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(ImportDlgBaseClass::OnDestFilePathUpdated), + NULL, this); + m_buttonFolder->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForOutputFolder), NULL, this); + m_checkBoxAddToProject->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddToProjectUI), + NULL, this); + m_staticText148->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, + this); + m_textCtrl1VirtualFolder->Disconnect(wxEVT_UPDATE_UI, + wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), NULL, this); + m_buttonBrowseVD->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(ImportDlgBaseClass::OnBrowseForVirtualFolder), NULL, this); + m_buttonBrowseVD->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(ImportDlgBaseClass::OnAddFileToProjectUI), + NULL, this); } -wxcTreeViewBaseClass::wxcTreeViewBaseClass(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) +wxcTreeViewBaseClass::wxcTreeViewBaseClass(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, + long style) : wxPanel(parent, id, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer152 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer152); - + wxBoxSizer* boxSizer155 = new wxBoxSizer(wxHORIZONTAL); - + boxSizer152->Add(boxSizer155, 0, wxEXPAND, WXC_FROM_DIP(2)); - + wxArrayString m_comboBoxFilesArr; - m_comboBoxFiles = new wxComboBox(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_comboBoxFilesArr, wxTE_PROCESS_ENTER); + m_comboBoxFiles = new wxComboBox(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), + m_comboBoxFilesArr, wxTE_PROCESS_ENTER); m_comboBoxFiles->SetFocus(); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_comboBoxFiles->SetHint(_("Type part of the file and hit ENTER")); - #endif - - boxSizer155->Add(m_comboBoxFiles, 1, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_button426 = new wxButton(this, wxID_REFRESH, _("Reload"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - boxSizer155->Add(m_button426, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_splitter347 = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH); +#endif + + boxSizer155->Add(m_comboBoxFiles, 1, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_button426 = new wxButton(this, wxID_REFRESH, _("Reload"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + boxSizer155->Add(m_button426, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_splitter347 = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), + wxSP_LIVE_UPDATE | wxSP_NO_XP_THEME | wxSP_3DSASH); m_splitter347->SetSashGravity(0.5); m_splitter347->SetMinimumPaneSize(10); - - boxSizer152->Add(m_splitter347, 1, wxALL|wxEXPAND, WXC_FROM_DIP(2)); - - m_splitterPageTree = new wxPanel(m_splitter347, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_splitter347, wxSize(-1,150)), wxTAB_TRAVERSAL); - + + boxSizer152->Add(m_splitter347, 1, wxALL | wxEXPAND, WXC_FROM_DIP(2)); + + m_splitterPageTree = new wxPanel(m_splitter347, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_splitter347, wxSize(-1, 150)), wxTAB_TRAVERSAL); + wxBoxSizer* boxSizer357 = new wxBoxSizer(wxVERTICAL); m_splitterPageTree->SetSizer(boxSizer357); - - m_treeControls = new clTreeCtrl(m_splitterPageTree, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_splitterPageTree, wxSize(-1,-1)), wxTR_ROW_LINES); - - boxSizer357->Add(m_treeControls, 1, wxALL|wxEXPAND, WXC_FROM_DIP(0)); - - m_splitterPageEvents = new wxPanel(m_splitter347, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_splitter347, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + m_treeControls = new clTreeCtrl(m_splitterPageTree, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_splitterPageTree, wxSize(-1, -1)), wxTR_ROW_LINES); + + boxSizer357->Add(m_treeControls, 1, wxALL | wxEXPAND, WXC_FROM_DIP(0)); + + m_splitterPageEvents = new wxPanel(m_splitter347, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_splitter347, wxSize(-1, -1)), wxTAB_TRAVERSAL); m_splitter347->SplitHorizontally(m_splitterPageTree, m_splitterPageEvents, 0); - + wxBoxSizer* boxSizer359 = new wxBoxSizer(wxVERTICAL); m_splitterPageEvents->SetSizer(boxSizer359); - + SetName(wxT("wxcTreeViewBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(500,300))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(500, 300))); + if(GetSizer()) { + GetSizer()->Fit(this); } // Connect events - m_comboBoxFiles->Connect(wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpFileSelected), NULL, this); - m_comboBoxFiles->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, this); - m_comboBoxFiles->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpComboxTextEnter), NULL, this); - m_button426->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcTreeViewBaseClass::OnRefreshWxcpFiles), NULL, this); + m_comboBoxFiles->Connect(wxEVT_COMMAND_COMBOBOX_SELECTED, + wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpFileSelected), NULL, this); + m_comboBoxFiles->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, + this); + m_comboBoxFiles->Connect(wxEVT_COMMAND_TEXT_ENTER, + wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpComboxTextEnter), NULL, this); + m_button426->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcTreeViewBaseClass::OnRefreshWxcpFiles), + NULL, this); m_button426->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, this); - m_splitter347->Connect(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, wxSplitterEventHandler(wxcTreeViewBaseClass::OnSashPositionChanged), NULL, this); - m_treeControls->Connect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), NULL, this); - m_treeControls->Connect(wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), NULL, this); - m_treeControls->Connect(wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemLabelEditEnd), NULL, this); + m_splitter347->Connect(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, + wxSplitterEventHandler(wxcTreeViewBaseClass::OnSashPositionChanged), NULL, this); + m_treeControls->Connect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), + NULL, this); + m_treeControls->Connect(wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), + NULL, this); + m_treeControls->Connect(wxEVT_COMMAND_TREE_END_LABEL_EDIT, + wxTreeEventHandler(wxcTreeViewBaseClass::OnItemLabelEditEnd), NULL, this); m_treeControls->Connect(wxEVT_CHAR, wxKeyEventHandler(wxcTreeViewBaseClass::OnChar), NULL, this); - } wxcTreeViewBaseClass::~wxcTreeViewBaseClass() { - m_comboBoxFiles->Disconnect(wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpFileSelected), NULL, this); - m_comboBoxFiles->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, this); - m_comboBoxFiles->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpComboxTextEnter), NULL, this); - m_button426->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcTreeViewBaseClass::OnRefreshWxcpFiles), NULL, this); - m_button426->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, this); - m_splitter347->Disconnect(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, wxSplitterEventHandler(wxcTreeViewBaseClass::OnSashPositionChanged), NULL, this); - m_treeControls->Disconnect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), NULL, this); - m_treeControls->Disconnect(wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), NULL, this); - m_treeControls->Disconnect(wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemLabelEditEnd), NULL, this); + m_comboBoxFiles->Disconnect(wxEVT_COMMAND_COMBOBOX_SELECTED, + wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpFileSelected), NULL, this); + m_comboBoxFiles->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, + this); + m_comboBoxFiles->Disconnect(wxEVT_COMMAND_TEXT_ENTER, + wxCommandEventHandler(wxcTreeViewBaseClass::OnWxcpComboxTextEnter), NULL, this); + m_button426->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(wxcTreeViewBaseClass::OnRefreshWxcpFiles), NULL, this); + m_button426->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcTreeViewBaseClass::OnWorkspaceOpenUI), NULL, + this); + m_splitter347->Disconnect(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, + wxSplitterEventHandler(wxcTreeViewBaseClass::OnSashPositionChanged), NULL, this); + m_treeControls->Disconnect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), + NULL, this); + m_treeControls->Disconnect(wxEVT_COMMAND_TREE_ITEM_ACTIVATED, + wxTreeEventHandler(wxcTreeViewBaseClass::OnItemSelected), NULL, this); + m_treeControls->Disconnect(wxEVT_COMMAND_TREE_END_LABEL_EDIT, + wxTreeEventHandler(wxcTreeViewBaseClass::OnItemLabelEditEnd), NULL, this); m_treeControls->Disconnect(wxEVT_CHAR, wxKeyEventHandler(wxcTreeViewBaseClass::OnChar), NULL, this); - } -DeleteCustomControlDlgBaseClass::DeleteCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +DeleteCustomControlDlgBaseClass::DeleteCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, + const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer158 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer158); - - m_staticText167 = new wxStaticText(this, wxID_ANY, _("Select the controls you wish to delete:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_staticText167 = new wxStaticText(this, wxID_ANY, _("Select the controls you wish to delete:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); wxFont m_staticText167Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText167Font.SetStyle(wxFONTSTYLE_ITALIC); m_staticText167Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText167->SetFont(m_staticText167Font); - - boxSizer158->Add(m_staticText167, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxDV_ROW_LINES|wxDV_SINGLE); - - boxSizer158->Add(m_dvListCtrl, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrl->AppendToggleColumn(_("!"), wxDATAVIEW_CELL_ACTIVATABLE, WXC_FROM_DIP(20), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); - m_dvListCtrl->AppendTextColumn(_("Name"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(400), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); + + boxSizer158->Add(m_staticText167, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), + wxDV_ROW_LINES | wxDV_SINGLE); + + boxSizer158->Add(m_dvListCtrl, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrl->AppendToggleColumn(_("!"), wxDATAVIEW_CELL_ACTIVATABLE, WXC_FROM_DIP(20), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); + m_dvListCtrl->AppendTextColumn(_("Name"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(400), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); wxBoxSizer* boxSizer162 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer158->Add(boxSizer162, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button163 = new wxButton(this, wxID_DELETE, _("Delete..."), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer158->Add(boxSizer162, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button163 = + new wxButton(this, wxID_DELETE, _("Delete..."), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button163->SetToolTip(_("Delete the selected control")); - + boxSizer162->Add(m_button163, 0, wxALL, WXC_FROM_DIP(5)); - - m_button164 = new wxButton(this, wxID_CANCEL, _("&Close"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button164 = new wxButton(this, wxID_CANCEL, _("&Close"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer162->Add(m_button164, 0, wxALL, WXC_FROM_DIP(5)); - + SetName(wxT("DeleteCustomControlDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(400,300))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(400, 300))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -993,196 +1157,114 @@ DeleteCustomControlDlgBaseClass::DeleteCustomControlDlgBaseClass(wxWindow* paren } #endif // Connect events - m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler(DeleteCustomControlDlgBaseClass::OnItemValueChanged), NULL, this); - m_button163->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteControls), NULL, this); - m_button163->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteUI), NULL, this); - + m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, + wxDataViewEventHandler(DeleteCustomControlDlgBaseClass::OnItemValueChanged), NULL, this); + m_button163->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteControls), NULL, this); + m_button163->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteUI), NULL, + this); } DeleteCustomControlDlgBaseClass::~DeleteCustomControlDlgBaseClass() { - m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler(DeleteCustomControlDlgBaseClass::OnItemValueChanged), NULL, this); - m_button163->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteControls), NULL, this); - m_button163->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteUI), NULL, this); - + m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, + wxDataViewEventHandler(DeleteCustomControlDlgBaseClass::OnItemValueChanged), NULL, this); + m_button163->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteControls), NULL, this); + m_button163->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DeleteCustomControlDlgBaseClass::OnDeleteUI), NULL, + this); } -wxcAboutDlgBaseClass::wxcAboutDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +wxcAboutDlgBaseClass::wxcAboutDlgBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer169 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer169); - - m_infobarOK = new wxInfoBar(this, wxID_ANY); - m_infobarOK->SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - - boxSizer169->Add(m_infobarOK, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_infobarInvalid = new wxInfoBar(this, wxID_ANY); - m_infobarInvalid->SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - - boxSizer169->Add(m_infobarInvalid, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_notebook173 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxBK_DEFAULT); + + m_notebook173 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), wxBK_DEFAULT); m_notebook173->SetName(wxT("m_notebook173")); - - boxSizer169->Add(m_notebook173, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_panel174 = new wxPanel(m_notebook173, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook173, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + boxSizer169->Add(m_notebook173, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_panel174 = new wxPanel(m_notebook173, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook173, wxSize(-1, -1)), + wxTAB_TRAVERSAL); m_notebook173->AddPage(m_panel174, _("About"), true); - + wxBoxSizer* boxSizer176 = new wxBoxSizer(wxVERTICAL); m_panel174->SetSizer(boxSizer176); - - wxStaticBoxSizer* staticBoxSizer184 = new wxStaticBoxSizer( new wxStaticBox(m_panel174, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer176->Add(staticBoxSizer184, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + wxStaticBoxSizer* staticBoxSizer184 = + new wxStaticBoxSizer(new wxStaticBox(m_panel174, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer176->Add(staticBoxSizer184, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxFlexGridSizer* flexGridSizer179 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer179->SetFlexibleDirection( wxBOTH ); - flexGridSizer179->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer179->SetFlexibleDirection(wxBOTH); + flexGridSizer179->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer179->AddGrowableCol(1); - - staticBoxSizer184->Add(flexGridSizer179, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText182 = new wxStaticText(m_panel174, wxID_ANY, _("Version:"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); + + staticBoxSizer184->Add(flexGridSizer179, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText182 = new wxStaticText(m_panel174, wxID_ANY, _("Version:"), wxDefaultPosition, + wxDLG_UNIT(m_panel174, wxSize(-1, -1)), 0); wxFont m_staticText182Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText182Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText182->SetFont(m_staticText182Font); - - flexGridSizer179->Add(m_staticText182, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_staticTextVersion = new wxStaticText(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - - flexGridSizer179->Add(m_staticTextVersion, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText_1 = new wxStaticText(m_panel174, wxID_ANY, _("Build:"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); + + flexGridSizer179->Add(m_staticText182, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_staticTextVersion = + new wxStaticText(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1, -1)), 0); + + flexGridSizer179->Add(m_staticTextVersion, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText_1 = new wxStaticText(m_panel174, wxID_ANY, _("Build:"), wxDefaultPosition, + wxDLG_UNIT(m_panel174, wxSize(-1, -1)), 0); wxFont m_staticText_1Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText_1Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText_1->SetFont(m_staticText_1Font); - - flexGridSizer179->Add(m_staticText_1, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_staticTextBuildNumber = new wxStaticText(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - - flexGridSizer179->Add(m_staticTextBuildNumber, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticBitmap178 = new wxStaticBitmap(m_panel174, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("wxc-logo")), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0 ); - - boxSizer176->Add(m_staticBitmap178, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - wxStaticBoxSizer* staticBoxSizer221 = new wxStaticBoxSizer( new wxStaticBox(m_panel174, wxID_ANY, _("Serial Number:")), wxVERTICAL); - - boxSizer176->Add(staticBoxSizer221, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - wxFlexGridSizer* flexGridSizer187 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer187->SetFlexibleDirection( wxBOTH ); - flexGridSizer187->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - flexGridSizer187->AddGrowableCol(1); - - staticBoxSizer221->Add(flexGridSizer187, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText188 = new wxStaticText(m_panel174, wxID_ANY, _("User:"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - wxFont m_staticText188Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); - m_staticText188Font.SetWeight(wxFONTWEIGHT_BOLD); - m_staticText188->SetFont(m_staticText188Font); - - flexGridSizer187->Add(m_staticText188, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrl1Username = new wxTextCtrl(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - #if wxVERSION_NUMBER >= 3000 - m_textCtrl1Username->SetHint(wxT("")); - #endif - - flexGridSizer187->Add(m_textCtrl1Username, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticTextSerialNumber = new wxStaticText(m_panel174, wxID_ANY, _("Serial:"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - wxFont m_staticTextSerialNumberFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); - m_staticTextSerialNumberFont.SetWeight(wxFONTWEIGHT_BOLD); - m_staticTextSerialNumber->SetFont(m_staticTextSerialNumberFont); - - flexGridSizer187->Add(m_staticTextSerialNumber, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrlSerialNumber = new wxTextCtrl(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - #if wxVERSION_NUMBER >= 3000 - m_textCtrlSerialNumber->SetHint(wxT("")); - #endif - - flexGridSizer187->Add(m_textCtrlSerialNumber, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText205 = new wxStaticText(m_panel174, wxID_ANY, _("License Status:"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - wxFont m_staticText205Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); - m_staticText205Font.SetWeight(wxFONTWEIGHT_BOLD); - m_staticText205->SetFont(m_staticText205Font); - - flexGridSizer187->Add(m_staticText205, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - wxBoxSizer* boxSizer207 = new wxBoxSizer(wxHORIZONTAL); - - flexGridSizer187->Add(boxSizer207, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticBitmapLicenseStatusOK = new wxStaticBitmap(m_panel174, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("license-ok")), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0 ); - - boxSizer207->Add(m_staticBitmapLicenseStatusOK, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_staticBitmapLicenseStatusError = new wxStaticBitmap(m_panel174, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("license-error")), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0 ); - - boxSizer207->Add(m_staticBitmapLicenseStatusError, 0, wxALL, WXC_FROM_DIP(5)); - - flexGridSizer187->Add(0, 0, 0, wxALL, WXC_FROM_DIP(5)); - - m_button195 = new wxButton(m_panel174, wxID_SAVE, _("Activate the Serial Number"), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), 0); - m_button195->SetDefault(); - m_button195->SetToolTip(_("Activate your serial number.\nThis operation requires an active internet connection")); - - flexGridSizer187->Add(m_button195, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_banner193 = new wxBannerWindow(m_panel174, wxID_ANY, wxTOP, wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1,-1)), wxBORDER_THEME); - m_banner193->SetBitmap(wxNullBitmap); - m_banner193->SetText(wxT(""), wxT("")); - m_banner193->SetGradient(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION), wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); - - staticBoxSizer221->Add(m_banner193, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_panel217 = new wxPanel(m_notebook173, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook173, wxSize(-1,-1)), wxTAB_TRAVERSAL); - m_notebook173->AddPage(m_panel217, _("License"), false); - - wxBoxSizer* boxSizer223 = new wxBoxSizer(wxVERTICAL); - m_panel217->SetSizer(boxSizer223); - - m_textCtrlEULA = new wxTextCtrl(m_panel217, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel217, wxSize(-1,-1)), wxTE_RICH2|wxTE_READONLY|wxTE_MULTILINE); - - boxSizer223->Add(m_textCtrlEULA, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + flexGridSizer179->Add(m_staticText_1, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_staticTextBuildNumber = + new wxStaticText(m_panel174, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1, -1)), 0); + + flexGridSizer179->Add(m_staticTextBuildNumber, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticBitmap178 = new wxStaticBitmap(m_panel174, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("wxc-logo")), + wxDefaultPosition, wxDLG_UNIT(m_panel174, wxSize(-1, -1)), 0); + + boxSizer176->Add(m_staticBitmap178, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer170 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer169->Add(boxSizer170, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button171 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer169->Add(boxSizer170, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button171 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button171->SetDefault(); - + boxSizer170->Add(m_button171, 0, wxALL, WXC_FROM_DIP(5)); - - - #if wxVERSION_NUMBER >= 2900 - if(!wxPersistenceManager::Get().Find(m_notebook173)){ + +#if wxVERSION_NUMBER >= 2900 + if(!wxPersistenceManager::Get().Find(m_notebook173)) { wxPersistenceManager::Get().RegisterAndRestore(m_notebook173); } else { wxPersistenceManager::Get().Restore(m_notebook173); } - #endif - +#endif + SetName(wxT("wxcAboutDlgBaseClass")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1198,85 +1280,80 @@ wxcAboutDlgBaseClass::wxcAboutDlgBaseClass(wxWindow* parent, wxWindowID id, cons #endif // Connect events this->Connect(wxEVT_SIZE, wxSizeEventHandler(wxcAboutDlgBaseClass::OnSize), NULL, this); - m_textCtrl1Username->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnTextUpdated), NULL, this); - m_textCtrlSerialNumber->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnTextUpdated), NULL, this); - m_button195->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnUpdateLicense), NULL, this); - m_button195->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcAboutDlgBaseClass::OnUpdateLicenseUI), NULL, this); - } wxcAboutDlgBaseClass::~wxcAboutDlgBaseClass() { this->Disconnect(wxEVT_SIZE, wxSizeEventHandler(wxcAboutDlgBaseClass::OnSize), NULL, this); - m_textCtrl1Username->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnTextUpdated), NULL, this); - m_textCtrlSerialNumber->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnTextUpdated), NULL, this); - m_button195->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(wxcAboutDlgBaseClass::OnUpdateLicense), NULL, this); - m_button195->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxcAboutDlgBaseClass::OnUpdateLicenseUI), NULL, this); - } -NewCustomEventBaseDlg::NewCustomEventBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +NewCustomEventBaseDlg::NewCustomEventBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer247 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer247); - + wxFlexGridSizer* flexGridSizer255 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer255->SetFlexibleDirection( wxBOTH ); - flexGridSizer255->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer255->SetFlexibleDirection(wxBOTH); + flexGridSizer255->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer255->AddGrowableCol(1); - - boxSizer247->Add(flexGridSizer255, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText257 = new wxStaticText(this, wxID_ANY, _("Event Type:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer255->Add(m_staticText257, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrlEventType = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer247->Add(flexGridSizer255, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText257 = + new wxStaticText(this, wxID_ANY, _("Event Type:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer255->Add(m_staticText257, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textCtrlEventType = + new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_textCtrlEventType->SetToolTip(_("Set the eventype here\ne.g. wxEVT_MY_BUTTON_CLICKED")); m_textCtrlEventType->SetFocus(); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textCtrlEventType->SetHint(wxT("")); - #endif - - flexGridSizer255->Add(m_textCtrlEventType, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText261 = new wxStaticText(this, wxID_ANY, _("Event Class:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer255->Add(m_staticText261, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrlEventClass = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); +#endif + + flexGridSizer255->Add(m_textCtrlEventType, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText261 = + new wxStaticText(this, wxID_ANY, _("Event Class:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer255->Add(m_staticText261, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textCtrlEventClass = + new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_textCtrlEventClass->SetToolTip(_("The event class.\ne.g. wxCommandEvent")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textCtrlEventClass->SetHint(wxT("")); - #endif - - flexGridSizer255->Add(m_textCtrlEventClass, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer255->Add(m_textCtrlEventClass, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer249 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer247->Add(boxSizer249, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button251 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer247->Add(boxSizer249, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button251 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button251->SetDefault(); - + boxSizer249->Add(m_button251, 0, wxALL, WXC_FROM_DIP(5)); - - m_button253 = new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button253 = new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer249->Add(m_button253, 0, wxALL, WXC_FROM_DIP(5)); - + SetName(wxT("NewCustomEventBaseDlg")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1292,90 +1369,98 @@ NewCustomEventBaseDlg::NewCustomEventBaseDlg(wxWindow* parent, wxWindowID id, co #endif } -NewCustomEventBaseDlg::~NewCustomEventBaseDlg() -{ -} +NewCustomEventBaseDlg::~NewCustomEventBaseDlg() {} -BitmapSelectorDlgBase::BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +BitmapSelectorDlgBase::BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer293 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer293); - - wxStaticBoxSizer* staticBoxSizer325 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer293->Add(staticBoxSizer325, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_checkBoxSelectFile = new wxCheckBox(this, wxID_ANY, _("Select bitmap from a file"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + wxStaticBoxSizer* staticBoxSizer325 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer293->Add(staticBoxSizer325, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_checkBoxSelectFile = new wxCheckBox(this, wxID_ANY, _("Select bitmap from a file"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxSelectFile->SetValue(true); - + staticBoxSizer325->Add(m_checkBoxSelectFile, 0, wxALL, WXC_FROM_DIP(5)); - + wxBoxSizer* boxSizer372 = new wxBoxSizer(wxVERTICAL); - - staticBoxSizer325->Add(boxSizer372, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + staticBoxSizer325->Add(boxSizer372, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer305 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer372->Add(boxSizer305, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_textCtrlFile = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - #if wxVERSION_NUMBER >= 3000 + + boxSizer372->Add(boxSizer305, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_textCtrlFile = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); +#if wxVERSION_NUMBER >= 3000 m_textCtrlFile->SetHint(wxT("")); - #endif +#endif m_textCtrlFile->AutoCompleteFileNames(); - - boxSizer305->Add(m_textCtrlFile, 1, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_buttonBrowseBitmap = new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - boxSizer305->Add(m_buttonBrowseBitmap, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_checkBoxConvertToRelativePath = new wxCheckBox(this, wxID_ANY, _("Use relative paths"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer305->Add(m_textCtrlFile, 1, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_buttonBrowseBitmap = + new wxButton(this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + boxSizer305->Add(m_buttonBrowseBitmap, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_checkBoxConvertToRelativePath = + new wxCheckBox(this, wxID_ANY, _("Use relative paths"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxConvertToRelativePath->SetValue(true); - m_checkBoxConvertToRelativePath->SetToolTip(_("Convert the selected path to relative (relative to the wxCrafter project file)")); - - boxSizer372->Add(m_checkBoxConvertToRelativePath, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - wxStaticBoxSizer* staticBoxSizer323 = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); - - boxSizer293->Add(staticBoxSizer323, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_checkBoxArtProvider = new wxCheckBox(this, wxID_ANY, _("Use wxArtProvider"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + m_checkBoxConvertToRelativePath->SetToolTip( + _("Convert the selected path to relative (relative to the wxCrafter project file)")); + + boxSizer372->Add(m_checkBoxConvertToRelativePath, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + wxStaticBoxSizer* staticBoxSizer323 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("")), wxVERTICAL); + + boxSizer293->Add(staticBoxSizer323, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_checkBoxArtProvider = + new wxCheckBox(this, wxID_ANY, _("Use wxArtProvider"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_checkBoxArtProvider->SetValue(false); - + staticBoxSizer323->Add(m_checkBoxArtProvider, 0, wxALL, WXC_FROM_DIP(5)); - + wxFlexGridSizer* flexGridSizer303 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer303->SetFlexibleDirection( wxBOTH ); - flexGridSizer303->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer303->SetFlexibleDirection(wxBOTH); + flexGridSizer303->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer303->AddGrowableCol(1); - - staticBoxSizer323->Add(flexGridSizer303, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText315 = new wxStaticText(this, wxID_ANY, _("wxArtID:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - m_staticText315->SetToolTip(_("This type identifies a specific art object which can be requested to wxArtProvider.")); - - flexGridSizer303->Add(m_staticText315, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - + + staticBoxSizer323->Add(flexGridSizer303, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText315 = + new wxStaticText(this, wxID_ANY, _("wxArtID:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + m_staticText315->SetToolTip( + _("This type identifies a specific art object which can be requested to wxArtProvider.")); + + flexGridSizer303->Add(m_staticText315, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + wxArrayString m_choiceArtIDArr; - m_choiceArtID = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_choiceArtIDArr, 0); + m_choiceArtID = + new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceArtIDArr, 0); m_choiceArtID->SetToolTip(_("This type identifies a specific art object which can be requested to wxArtProvider.")); - - flexGridSizer303->Add(m_choiceArtID, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText319 = new wxStaticText(this, wxID_ANY, _("wxArtClient:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + flexGridSizer303->Add(m_choiceArtID, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText319 = + new wxStaticText(this, wxID_ANY, _("wxArtClient:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_staticText319->SetToolTip(_("This type identifies the client of the art objects requested to wxArtProvider.")); - - flexGridSizer303->Add(m_staticText319, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - + + flexGridSizer303->Add(m_staticText319, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + wxArrayString m_choiceArtClientIDArr; m_choiceArtClientIDArr.Add(wxT("wxART_TOOLBAR")); m_choiceArtClientIDArr.Add(wxT("wxART_MENU")); @@ -1386,48 +1471,52 @@ BitmapSelectorDlgBase::BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id, co m_choiceArtClientIDArr.Add(wxT("wxART_BUTTON")); m_choiceArtClientIDArr.Add(wxT("wxART_LIST")); m_choiceArtClientIDArr.Add(wxT("wxART_OTHER")); - m_choiceArtClientID = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_choiceArtClientIDArr, 0); - m_choiceArtClientID->SetToolTip(_("This type identifies the client of the art objects requested to wxArtProvider.")); + m_choiceArtClientID = + new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceArtClientIDArr, 0); + m_choiceArtClientID->SetToolTip( + _("This type identifies the client of the art objects requested to wxArtProvider.")); m_choiceArtClientID->SetSelection(0); - - flexGridSizer303->Add(m_choiceArtClientID, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticTextHInt = new wxStaticText(this, wxID_ANY, _("Size Hint:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + flexGridSizer303->Add(m_choiceArtClientID, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticTextHInt = + new wxStaticText(this, wxID_ANY, _("Size Hint:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_staticTextHInt->SetToolTip(_("Size of the returned bitmap or wxDefaultSize if size doesn't matter")); - - flexGridSizer303->Add(m_staticTextHInt, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - + + flexGridSizer303->Add(m_staticTextHInt, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + wxArrayString m_choiceSizeArr; m_choiceSizeArr.Add(wxT("wxDefaultSize")); m_choiceSizeArr.Add(wxT("16")); m_choiceSizeArr.Add(wxT("24")); m_choiceSizeArr.Add(wxT("32")); m_choiceSizeArr.Add(wxT("64")); - m_choiceSize = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), m_choiceSizeArr, 0); + m_choiceSize = + new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), m_choiceSizeArr, 0); m_choiceSize->SetToolTip(_("Size of the returned bitmap or wxDefaultSize if size doesn't matter")); m_choiceSize->SetSelection(0); - - flexGridSizer303->Add(m_choiceSize, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + flexGridSizer303->Add(m_choiceSize, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + boxSizer293->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5)); - + wxBoxSizer* boxSizer295 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer293->Add(boxSizer295, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button297 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer293->Add(boxSizer295, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button297 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button297->SetDefault(); - + boxSizer295->Add(m_button297, 0, wxALL, WXC_FROM_DIP(5)); - - m_button299 = new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button299 = new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer295->Add(m_button299, 0, wxALL, WXC_FROM_DIP(5)); - + SetName(wxT("BitmapSelectorDlgBase")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1442,180 +1531,217 @@ BitmapSelectorDlgBase::BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id, co } #endif // Connect events - m_checkBoxSelectFile->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseFilePicker), NULL, this); - m_textCtrlFile->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_buttonBrowseBitmap->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnBrowseFile), NULL, this); - m_buttonBrowseBitmap->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_checkBoxConvertToRelativePath->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_checkBoxConvertToRelativePath->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseRelativePaths), NULL, this); - m_checkBoxArtProvider->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUserArtProvider), NULL, this); - m_staticText315->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceArtID->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_staticText319->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceArtClientID->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_staticTextHInt->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceSize->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - + m_checkBoxSelectFile->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnUseFilePicker), NULL, this); + m_textCtrlFile->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, + this); + m_buttonBrowseBitmap->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnBrowseFile), NULL, this); + m_buttonBrowseBitmap->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), + NULL, this); + m_checkBoxConvertToRelativePath->Connect( + wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); + m_checkBoxConvertToRelativePath->Connect( + wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseRelativePaths), NULL, this); + m_checkBoxArtProvider->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnUserArtProvider), NULL, this); + m_staticText315->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); + m_choiceArtID->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); + m_staticText319->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); + m_choiceArtClientID->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), + NULL, this); + m_staticTextHInt->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); + m_choiceSize->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); } BitmapSelectorDlgBase::~BitmapSelectorDlgBase() { - m_checkBoxSelectFile->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseFilePicker), NULL, this); - m_textCtrlFile->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_buttonBrowseBitmap->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnBrowseFile), NULL, this); - m_buttonBrowseBitmap->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_checkBoxConvertToRelativePath->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); - m_checkBoxConvertToRelativePath->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseRelativePaths), NULL, this); - m_checkBoxArtProvider->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUserArtProvider), NULL, this); - m_staticText315->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceArtID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_staticText319->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceArtClientID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_staticTextHInt->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - m_choiceSize->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, this); - + m_checkBoxSelectFile->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnUseFilePicker), NULL, this); + m_textCtrlFile->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, + this); + m_buttonBrowseBitmap->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnBrowseFile), NULL, this); + m_buttonBrowseBitmap->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), + NULL, this); + m_checkBoxConvertToRelativePath->Disconnect( + wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnSelectBitmapUI), NULL, this); + m_checkBoxConvertToRelativePath->Disconnect( + wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(BitmapSelectorDlgBase::OnUseRelativePaths), NULL, this); + m_checkBoxArtProvider->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, + wxCommandEventHandler(BitmapSelectorDlgBase::OnUserArtProvider), NULL, this); + m_staticText315->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), + NULL, this); + m_choiceArtID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); + m_staticText319->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), + NULL, this); + m_choiceArtClientID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), + NULL, this); + m_staticTextHInt->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), + NULL, this); + m_choiceSize->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BitmapSelectorDlgBase::OnUserArtPorviderUI), NULL, + this); } -EventsEditorPaneBase::EventsEditorPaneBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) +EventsEditorPaneBase::EventsEditorPaneBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, + long style) : wxPanel(parent, id, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer7 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer7); - - m_staticTextEventsPaneTitle = new wxStaticText(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_staticTextEventsPaneTitle = + new wxStaticText(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); wxFont m_staticTextEventsPaneTitleFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticTextEventsPaneTitleFont.SetWeight(wxFONTWEIGHT_BOLD); m_staticTextEventsPaneTitle->SetFont(m_staticTextEventsPaneTitleFont); - - boxSizer7->Add(m_staticTextEventsPaneTitle, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_notebook14 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxBK_DEFAULT); + + boxSizer7->Add(m_staticTextEventsPaneTitle, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_notebook14 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), wxBK_DEFAULT); m_notebook14->SetName(wxT("m_notebook14")); - - boxSizer7->Add(m_notebook14, 1, wxALL|wxEXPAND, WXC_FROM_DIP(0)); - - m_panelControlEvents = new wxPanel(m_notebook14, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook14, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + boxSizer7->Add(m_notebook14, 1, wxALL | wxEXPAND, WXC_FROM_DIP(0)); + + m_panelControlEvents = new wxPanel(m_notebook14, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_notebook14, wxSize(-1, -1)), wxTAB_TRAVERSAL); m_notebook14->AddPage(m_panelControlEvents, _("Control Events"), true); - + wxBoxSizer* boxSizer17 = new wxBoxSizer(wxVERTICAL); m_panelControlEvents->SetSizer(boxSizer17); - + m_controlEventsTable = new EventsTableListView(m_panelControlEvents); - boxSizer17->Add(m_controlEventsTable, 1, wxALL|wxEXPAND, WXC_FROM_DIP(0)); - - m_panelInheritedEvents = new wxPanel(m_notebook14, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook14, wxSize(-1,-1)), wxTAB_TRAVERSAL); + boxSizer17->Add(m_controlEventsTable, 1, wxALL | wxEXPAND, WXC_FROM_DIP(0)); + + m_panelInheritedEvents = new wxPanel(m_notebook14, wxID_ANY, wxDefaultPosition, + wxDLG_UNIT(m_notebook14, wxSize(-1, -1)), wxTAB_TRAVERSAL); m_notebook14->AddPage(m_panelInheritedEvents, _("Inherited Events"), false); - + wxBoxSizer* boxSizer19 = new wxBoxSizer(wxVERTICAL); m_panelInheritedEvents->SetSizer(boxSizer19); - + m_inheritedEventsTable = new EventsTableListView(m_panelInheritedEvents); - boxSizer19->Add(m_inheritedEventsTable, 1, wxALL|wxEXPAND, WXC_FROM_DIP(0)); - + boxSizer19->Add(m_inheritedEventsTable, 1, wxALL | wxEXPAND, WXC_FROM_DIP(0)); + SetName(wxT("EventsEditorPaneBase")); - SetSize(wxDLG_UNIT(this, wxSize(500,300))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(500, 300))); + if(GetSizer()) { + GetSizer()->Fit(this); } } -EventsEditorPaneBase::~EventsEditorPaneBase() -{ -} +EventsEditorPaneBase::~EventsEditorPaneBase() {} -DuplicateTLWBaseDlg::DuplicateTLWBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +DuplicateTLWBaseDlg::DuplicateTLWBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer2471 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer2471); - + wxBoxSizer* boxSizer371 = new wxBoxSizer(wxVERTICAL); - + boxSizer2471->Add(boxSizer371, 0, wxALL, WXC_FROM_DIP(5)); - - m_staticText370 = new wxStaticText(this, wxID_ANY, _("The new base-class must have a different name.\nIf you don't enter one, it will be created for you.\nThe inherited fields are optional, but a good idea."), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_staticText370 = + new wxStaticText(this, wxID_ANY, + _("The new base-class must have a different name.\nIf you don't enter one, it will be created " + "for you.\nThe inherited fields are optional, but a good idea."), + wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer371->Add(m_staticText370, 0, wxALL, WXC_FROM_DIP(5)); - + wxFlexGridSizer* flexGridSizer2552 = new wxFlexGridSizer(0, 2, 0, 0); - flexGridSizer2552->SetFlexibleDirection( wxBOTH ); - flexGridSizer2552->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer2552->SetFlexibleDirection(wxBOTH); + flexGridSizer2552->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer2552->AddGrowableCol(1); - - boxSizer2471->Add(flexGridSizer2552, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText2573 = new wxStaticText(this, wxID_ANY, _("New Base-Class Name:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer2552->Add(m_staticText2573, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textBasename = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer2471->Add(flexGridSizer2552, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText2573 = new wxStaticText(this, wxID_ANY, _("New Base-Class Name:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer2552->Add(m_staticText2573, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textBasename = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_textBasename->SetToolTip(_("e.g. FooBaseDlg")); m_textBasename->SetFocus(); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textBasename->SetHint(wxT("")); - #endif - - flexGridSizer2552->Add(m_textBasename, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer2552->Add(m_textBasename, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + flexGridSizer2552->Add(0, 1, 1, wxALL, WXC_FROM_DIP(5)); - + flexGridSizer2552->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5)); - - m_staticText261510 = new wxStaticText(this, wxID_ANY, _("New Inherited-Class Name:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer2552->Add(m_staticText261510, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textInheritedName = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + m_staticText261510 = new wxStaticText(this, wxID_ANY, _("New Inherited-Class Name:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer2552->Add(m_staticText261510, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textInheritedName = + new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_textInheritedName->SetToolTip(_("e.g. FooDlg")); - #if wxVERSION_NUMBER >= 3000 +#if wxVERSION_NUMBER >= 3000 m_textInheritedName->SetHint(wxT("")); - #endif - - flexGridSizer2552->Add(m_textInheritedName, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText2615 = new wxStaticText(this, wxID_ANY, _("New Inherited-Class Filename:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer2552->Add(m_staticText2615, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textFilename = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - m_textFilename->SetToolTip(_("The basename of the file for the new inherited class e.g. For FooDlg you might choose foodlg")); - #if wxVERSION_NUMBER >= 3000 +#endif + + flexGridSizer2552->Add(m_textInheritedName, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText2615 = new wxStaticText(this, wxID_ANY, _("New Inherited-Class Filename:"), wxDefaultPosition, + wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer2552->Add(m_staticText2615, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textFilename = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + m_textFilename->SetToolTip( + _("The basename of the file for the new inherited class e.g. For FooDlg you might choose foodlg")); +#if wxVERSION_NUMBER >= 3000 m_textFilename->SetHint(wxT("")); - #endif - - flexGridSizer2552->Add(m_textFilename, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer2552->Add(m_textFilename, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + wxBoxSizer* boxSizer2497 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer2471->Add(boxSizer2497, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - - m_button2518 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); + + boxSizer2471->Add(boxSizer2497, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + + m_button2518 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button2518->SetDefault(); - + boxSizer2497->Add(m_button2518, 0, wxALL, WXC_FROM_DIP(5)); - - m_button2539 = new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - + + m_button2539 = + new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + boxSizer2497->Add(m_button2539, 0, wxALL, WXC_FROM_DIP(5)); - + SetName(wxT("DuplicateTLWBaseDlg")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1630,73 +1756,77 @@ DuplicateTLWBaseDlg::DuplicateTLWBaseDlg(wxWindow* parent, wxWindowID id, const } #endif // Connect events - m_textInheritedName->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnInheritedNameFocus), NULL, this); + m_textInheritedName->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnInheritedNameFocus), NULL, + this); m_textFilename->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnFilenameFocus), NULL, this); - } DuplicateTLWBaseDlg::~DuplicateTLWBaseDlg() { - m_textInheritedName->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnInheritedNameFocus), NULL, this); + m_textInheritedName->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnInheritedNameFocus), + NULL, this); m_textFilename->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(DuplicateTLWBaseDlg::OnFilenameFocus), NULL, this); - } -BmpTextSelectorDlgBase::BmpTextSelectorDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +BmpTextSelectorDlgBase::BmpTextSelectorDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, + const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer390 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer390); - + wxBoxSizer* boxSizer379 = new wxBoxSizer(wxHORIZONTAL); - - boxSizer390->Add(boxSizer379, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(300,200)), wxDV_ROW_LINES|wxDV_SINGLE); - - boxSizer379->Add(m_dvListCtrl, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_dvListCtrl->AppendTextColumn(_("Bitmap"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); - m_dvListCtrl->AppendTextColumn(_("Text"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE); + + boxSizer390->Add(boxSizer379, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(300, 200)), + wxDV_ROW_LINES | wxDV_SINGLE); + + boxSizer379->Add(m_dvListCtrl, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_dvListCtrl->AppendTextColumn(_("Bitmap"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); + m_dvListCtrl->AppendTextColumn(_("Text"), wxDATAVIEW_CELL_INERT, WXC_FROM_DIP(-2), wxALIGN_LEFT, + wxDATAVIEW_COL_RESIZABLE); wxBoxSizer* boxSizer389 = new wxBoxSizer(wxVERTICAL); - + boxSizer379->Add(boxSizer389, 0, wxEXPAND, WXC_FROM_DIP(5)); - - m_button392 = new wxButton(this, wxID_NEW, _("&New"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - boxSizer389->Add(m_button392, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_button394 = new wxButton(this, wxID_EDIT, _("&Edit"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - boxSizer389->Add(m_button394, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_button396 = new wxButton(this, wxID_DELETE, _("Delete"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - boxSizer389->Add(m_button396, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - + + m_button392 = new wxButton(this, wxID_NEW, _("&New"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + boxSizer389->Add(m_button392, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_button394 = new wxButton(this, wxID_EDIT, _("&Edit"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + boxSizer389->Add(m_button394, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_button396 = new wxButton(this, wxID_DELETE, _("Delete"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + boxSizer389->Add(m_button396, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + m_stdBtnSizer381 = new wxStdDialogButtonSizer(); - - boxSizer390->Add(m_stdBtnSizer381, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + boxSizer390->Add(m_stdBtnSizer381, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + m_button383 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button383->SetDefault(); m_stdBtnSizer381->AddButton(m_button383); - + m_button385 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_stdBtnSizer381->AddButton(m_button385); m_stdBtnSizer381->Realize(); - + SetName(wxT("BmpTextSelectorDlgBase")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1711,90 +1841,99 @@ BmpTextSelectorDlgBase::BmpTextSelectorDlgBase(wxWindow* parent, wxWindowID id, } #endif // Connect events - m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(BmpTextSelectorDlgBase::OnItemActivated), NULL, this); - m_button392->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnNew), NULL, this); - m_button394->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnEdit), NULL, this); + m_dvListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, + wxDataViewEventHandler(BmpTextSelectorDlgBase::OnItemActivated), NULL, this); + m_button392->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnNew), NULL, + this); + m_button394->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnEdit), NULL, + this); m_button394->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BmpTextSelectorDlgBase::OnEditUI), NULL, this); - m_button396->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnDelete), NULL, this); + m_button396->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnDelete), NULL, + this); m_button396->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BmpTextSelectorDlgBase::OnDeleteUI), NULL, this); - } BmpTextSelectorDlgBase::~BmpTextSelectorDlgBase() { - m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(BmpTextSelectorDlgBase::OnItemActivated), NULL, this); - m_button392->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnNew), NULL, this); - m_button394->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnEdit), NULL, this); + m_dvListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, + wxDataViewEventHandler(BmpTextSelectorDlgBase::OnItemActivated), NULL, this); + m_button392->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnNew), NULL, + this); + m_button394->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnEdit), NULL, + this); m_button394->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BmpTextSelectorDlgBase::OnEditUI), NULL, this); - m_button396->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnDelete), NULL, this); + m_button396->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BmpTextSelectorDlgBase::OnDelete), NULL, + this); m_button396->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(BmpTextSelectorDlgBase::OnDeleteUI), NULL, this); - } -SingleBitmapAndTextDlgBase::SingleBitmapAndTextDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) +SingleBitmapAndTextDlgBase::SingleBitmapAndTextDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, + const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { - if ( !bBitmapLoaded ) { + if(!bBitmapLoaded) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCA63InitBitmapResources(); bBitmapLoaded = true; } - + wxBoxSizer* boxSizer400 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer400); - + wxFlexGridSizer* flexGridSizer408 = new wxFlexGridSizer(0, 3, 0, 0); - flexGridSizer408->SetFlexibleDirection( wxBOTH ); - flexGridSizer408->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + flexGridSizer408->SetFlexibleDirection(wxBOTH); + flexGridSizer408->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); flexGridSizer408->AddGrowableCol(1); - - boxSizer400->Add(flexGridSizer408, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - - m_staticText410 = new wxStaticText(this, wxID_ANY, _("Set label:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer408->Add(m_staticText410, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrlText = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - #if wxVERSION_NUMBER >= 3000 + + boxSizer400->Add(flexGridSizer408, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + + m_staticText410 = + new wxStaticText(this, wxID_ANY, _("Set label:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer408->Add(m_staticText410, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textCtrlText = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); +#if wxVERSION_NUMBER >= 3000 m_textCtrlText->SetHint(wxT("")); - #endif - - flexGridSizer408->Add(m_textCtrlText, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer408->Add(m_textCtrlText, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5)); + flexGridSizer408->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5)); - - m_staticText414 = new wxStaticText(this, wxID_ANY, _("Select bitmap:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer408->Add(m_staticText414, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_textCtrlBmp = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - #if wxVERSION_NUMBER >= 3000 + + m_staticText414 = + new wxStaticText(this, wxID_ANY, _("Select bitmap:"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer408->Add(m_staticText414, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_textCtrlBmp = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); +#if wxVERSION_NUMBER >= 3000 m_textCtrlBmp->SetHint(wxT("")); - #endif - - flexGridSizer408->Add(m_textCtrlBmp, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - - m_button416 = new wxButton(this, wxID_ANY, _("Select"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), 0); - - flexGridSizer408->Add(m_button416, 0, wxALL|wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); - +#endif + + flexGridSizer408->Add(m_textCtrlBmp, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + + m_button416 = new wxButton(this, wxID_ANY, _("Select"), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); + + flexGridSizer408->Add(m_button416, 0, wxALL | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5)); + m_stdBtnSizer402 = new wxStdDialogButtonSizer(); - - boxSizer400->Add(m_stdBtnSizer402, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); - + + boxSizer400->Add(m_stdBtnSizer402, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(5)); + m_button404 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_button404->SetDefault(); m_stdBtnSizer402->AddButton(m_button404); - + m_button406 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0); m_stdBtnSizer402->AddButton(m_button406); m_stdBtnSizer402->Realize(); - + SetName(wxT("SingleBitmapAndTextDlgBase")); - SetSize(wxDLG_UNIT(this, wxSize(-1,-1))); - if (GetSizer()) { - GetSizer()->Fit(this); + SetSize(wxDLG_UNIT(this, wxSize(-1, -1))); + if(GetSizer()) { + GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); @@ -1809,14 +1948,14 @@ SingleBitmapAndTextDlgBase::SingleBitmapAndTextDlgBase(wxWindow* parent, wxWindo } #endif // Connect events - m_button416->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SingleBitmapAndTextDlgBase::OnSelectBitmap), NULL, this); + m_button416->Connect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(SingleBitmapAndTextDlgBase::OnSelectBitmap), NULL, this); m_button404->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SingleBitmapAndTextDlgBase::OnOKUI), NULL, this); - } SingleBitmapAndTextDlgBase::~SingleBitmapAndTextDlgBase() { - m_button416->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SingleBitmapAndTextDlgBase::OnSelectBitmap), NULL, this); + m_button416->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, + wxCommandEventHandler(SingleBitmapAndTextDlgBase::OnSelectBitmap), NULL, this); m_button404->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(SingleBitmapAndTextDlgBase::OnOKUI), NULL, this); - } diff --git a/wxcrafter/wxcrafter.h b/wxcrafter/wxcrafter.h index f4469a6c68..9c088f57e6 100644 --- a/wxcrafter/wxcrafter.h +++ b/wxcrafter/wxcrafter.h @@ -7,6 +7,7 @@ #ifndef _CODELITE_WXCRAFTER_WXCRAFTER_BASE_CLASSES_H #define _CODELITE_WXCRAFTER_WXCRAFTER_BASE_CLASSES_H +// clang-format off #include #include #include @@ -34,8 +35,6 @@ #include #include #include "clTreeCtrl.h" -#include -#include #include "events_table_list_view.h" #if wxVERSION_NUMBER >= 2900 #include @@ -53,6 +52,7 @@ #define WXC_FROM_DIP(x) x #endif +// clang-format on class TextEditorBaseClass : public wxPanel { @@ -66,11 +66,11 @@ class TextEditorBaseClass : public wxPanel public: wxTextCtrl* GetTextCtrl() { return m_textCtrl; } - TextEditorBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxWANTS_CHARS|wxTAB_TRAVERSAL); + TextEditorBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxSize(-1, -1), long style = wxWANTS_CHARS | wxTAB_TRAVERSAL); virtual ~TextEditorBaseClass(); }; - class FontPickerDlgBaseClass : public wxDialog { protected: @@ -104,11 +104,12 @@ class FontPickerDlgBaseClass : public wxDialog wxStaticText* GetStaticTextSample() { return m_staticTextSample; } wxButton* GetButton34() { return m_button34; } wxButton* GetButton33() { return m_button33; } - FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Font Picker"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + FontPickerDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Font Picker"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~FontPickerDlgBaseClass(); }; - class MessageDlgBaseClass : public wxDialog { protected: @@ -122,18 +123,18 @@ class MessageDlgBaseClass : public wxDialog wxButton* m_button339; protected: - public: wxStaticBitmap* GetStaticBitmap75() { return m_staticBitmap75; } wxStaticText* GetTitle() { return m_title; } wxStaticText* GetMessage() { return m_message; } wxPanel* GetPanel70() { return m_panel70; } wxCheckBox* GetCheckBoxDontAnnoy() { return m_checkBoxDontAnnoy; } - MessageDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Message"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + MessageDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Message"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~MessageDlgBaseClass(); }; - class DefineCustomControlWizardBaseClass : public wxWizard { protected: @@ -195,12 +196,19 @@ class DefineCustomControlWizardBaseClass : public wxWizard wxButton* GetButton287() { return m_button287; } wxButton* GetButton289() { return m_button289; } wxWizardPageSimple* GetWizardPageEvents() { return m_wizardPageEvents; } - DefineCustomControlWizardBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Define Custom Control"), const wxBitmap& bmp = wxNullBitmap, const wxPoint& pos = wxDefaultPosition, long style = wxDEFAULT_DIALOG_STYLE); - wxWizardPageSimple* GetFirstPage() const { if(!m_pages.empty()) return m_pages.at(0); return NULL; } + DefineCustomControlWizardBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Define Custom Control"), + const wxBitmap& bmp = wxNullBitmap, const wxPoint& pos = wxDefaultPosition, + long style = wxDEFAULT_DIALOG_STYLE); + wxWizardPageSimple* GetFirstPage() const + { + if(!m_pages.empty()) + return m_pages.at(0); + return NULL; + } virtual ~DefineCustomControlWizardBaseClass(); }; - class EditCustomControlDlgBaseClass : public wxDialog { protected: @@ -246,11 +254,13 @@ class EditCustomControlDlgBaseClass : public wxDialog wxNotebook* GetNotebook() { return m_notebook; } wxButton* GetButton114() { return m_button114; } wxButton* GetButton115() { return m_button115; } - EditCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Edit Custom Control..."), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400,400), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + EditCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Edit Custom Control..."), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400, 400), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~EditCustomControlDlgBaseClass(); }; - class ImportDlgBaseClass : public wxDialog { protected: @@ -290,11 +300,13 @@ class ImportDlgBaseClass : public wxDialog wxTextCtrl* GetTextCtrl1VirtualFolder() { return m_textCtrl1VirtualFolder; } wxButton* GetButtonBrowseVD() { return m_buttonBrowseVD; } wxCheckBox* GetCheckBoxLoadWhenDone() { return m_checkBoxLoadWhenDone; } - ImportDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Choose an XRC file to import"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX); + ImportDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Choose an XRC file to import"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxCAPTION | wxRESIZE_BORDER | wxSYSTEM_MENU | wxCLOSE_BOX); virtual ~ImportDlgBaseClass(); }; - class wxcTreeViewBaseClass : public wxPanel { protected: @@ -310,7 +322,7 @@ class wxcTreeViewBaseClass : public wxPanel virtual void OnWorkspaceOpenUI(wxUpdateUIEvent& event) { event.Skip(); } virtual void OnWxcpComboxTextEnter(wxCommandEvent& event) { event.Skip(); } virtual void OnRefreshWxcpFiles(wxCommandEvent& event) { event.Skip(); } - virtual void OnSashPositionChanged( wxSplitterEvent& event) { event.Skip(); } + virtual void OnSashPositionChanged(wxSplitterEvent& event) { event.Skip(); } virtual void OnItemSelected(wxTreeEvent& event) { event.Skip(); } virtual void OnItemLabelEditEnd(wxTreeEvent& event) { event.Skip(); } virtual void OnChar(wxKeyEvent& event) { event.Skip(); } @@ -322,11 +334,11 @@ class wxcTreeViewBaseClass : public wxPanel wxPanel* GetSplitterPageTree() { return m_splitterPageTree; } wxPanel* GetSplitterPageEvents() { return m_splitterPageEvents; } wxSplitterWindow* GetSplitter347() { return m_splitter347; } - wxcTreeViewBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL); + wxcTreeViewBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxSize(500, 300), long style = wxTAB_TRAVERSAL); virtual ~wxcTreeViewBaseClass(); }; - class DeleteCustomControlDlgBaseClass : public wxDialog { protected: @@ -345,16 +357,16 @@ class DeleteCustomControlDlgBaseClass : public wxDialog wxDataViewListCtrl* GetDvListCtrl() { return m_dvListCtrl; } wxButton* GetButton163() { return m_button163; } wxButton* GetButton164() { return m_button164; } - DeleteCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Delete Custom Control"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400,300), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + DeleteCustomControlDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Delete Custom Control"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400, 300), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~DeleteCustomControlDlgBaseClass(); }; - class wxcAboutDlgBaseClass : public wxDialog { protected: - wxInfoBar* m_infobarOK; - wxInfoBar* m_infobarInvalid; wxNotebook* m_notebook173; wxPanel* m_panel174; wxStaticText* m_staticText182; @@ -362,52 +374,26 @@ class wxcAboutDlgBaseClass : public wxDialog wxStaticText* m_staticText_1; wxStaticText* m_staticTextBuildNumber; wxStaticBitmap* m_staticBitmap178; - wxStaticText* m_staticText188; - wxTextCtrl* m_textCtrl1Username; - wxStaticText* m_staticTextSerialNumber; - wxTextCtrl* m_textCtrlSerialNumber; - wxStaticText* m_staticText205; - wxStaticBitmap* m_staticBitmapLicenseStatusOK; - wxStaticBitmap* m_staticBitmapLicenseStatusError; - wxButton* m_button195; - wxBannerWindow* m_banner193; - wxPanel* m_panel217; - wxTextCtrl* m_textCtrlEULA; wxButton* m_button171; protected: virtual void OnSize(wxSizeEvent& event) { event.Skip(); } - virtual void OnTextUpdated(wxCommandEvent& event) { event.Skip(); } - virtual void OnUpdateLicense(wxCommandEvent& event) { event.Skip(); } - virtual void OnUpdateLicenseUI(wxUpdateUIEvent& event) { event.Skip(); } public: - wxInfoBar* GetInfobarOK() { return m_infobarOK; } - wxInfoBar* GetInfobarInvalid() { return m_infobarInvalid; } wxStaticText* GetStaticText182() { return m_staticText182; } wxStaticText* GetStaticTextVersion() { return m_staticTextVersion; } wxStaticText* GetStaticText_1() { return m_staticText_1; } wxStaticText* GetStaticTextBuildNumber() { return m_staticTextBuildNumber; } wxStaticBitmap* GetStaticBitmap178() { return m_staticBitmap178; } - wxStaticText* GetStaticText188() { return m_staticText188; } - wxTextCtrl* GetTextCtrl1Username() { return m_textCtrl1Username; } - wxStaticText* GetStaticTextSerialNumber() { return m_staticTextSerialNumber; } - wxTextCtrl* GetTextCtrlSerialNumber() { return m_textCtrlSerialNumber; } - wxStaticText* GetStaticText205() { return m_staticText205; } - wxStaticBitmap* GetStaticBitmapLicenseStatusOK() { return m_staticBitmapLicenseStatusOK; } - wxStaticBitmap* GetStaticBitmapLicenseStatusError() { return m_staticBitmapLicenseStatusError; } - wxButton* GetButton195() { return m_button195; } - wxBannerWindow* GetBanner193() { return m_banner193; } wxPanel* GetPanel174() { return m_panel174; } - wxTextCtrl* GetTextCtrlEULA() { return m_textCtrlEULA; } - wxPanel* GetPanel217() { return m_panel217; } wxNotebook* GetNotebook173() { return m_notebook173; } wxButton* GetButton171() { return m_button171; } - wxcAboutDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About wxCrafter..."), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE); + wxcAboutDlgBaseClass(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About wxCrafter..."), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE); virtual ~wxcAboutDlgBaseClass(); }; - class NewCustomEventBaseDlg : public wxDialog { protected: @@ -419,7 +405,6 @@ class NewCustomEventBaseDlg : public wxDialog wxButton* m_button253; protected: - public: wxStaticText* GetStaticText257() { return m_staticText257; } wxTextCtrl* GetTextCtrlEventType() { return m_textCtrlEventType; } @@ -427,11 +412,12 @@ class NewCustomEventBaseDlg : public wxDialog wxTextCtrl* GetTextCtrlEventClass() { return m_textCtrlEventClass; } wxButton* GetButton251() { return m_button251; } wxButton* GetButton253() { return m_button253; } - NewCustomEventBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New Custom Event"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + NewCustomEventBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New Custom Event"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~NewCustomEventBaseDlg(); }; - class BitmapSelectorDlgBase : public wxDialog { protected: @@ -471,11 +457,12 @@ class BitmapSelectorDlgBase : public wxDialog wxChoice* GetChoiceSize() { return m_choiceSize; } wxButton* GetButton297() { return m_button297; } wxButton* GetButton299() { return m_button299; } - BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Bitmap"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + BitmapSelectorDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Bitmap"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~BitmapSelectorDlgBase(); }; - class EventsEditorPaneBase : public wxPanel { protected: @@ -487,7 +474,6 @@ class EventsEditorPaneBase : public wxPanel EventsTableListView* m_inheritedEventsTable; protected: - public: wxStaticText* GetStaticTextEventsPaneTitle() { return m_staticTextEventsPaneTitle; } EventsTableListView* GetControlEventsTable() { return m_controlEventsTable; } @@ -495,11 +481,11 @@ class EventsEditorPaneBase : public wxPanel EventsTableListView* GetInheritedEventsTable() { return m_inheritedEventsTable; } wxPanel* GetPanelInheritedEvents() { return m_panelInheritedEvents; } wxNotebook* GetNotebook14() { return m_notebook14; } - EventsEditorPaneBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL); + EventsEditorPaneBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxSize(500, 300), long style = wxTAB_TRAVERSAL); virtual ~EventsEditorPaneBase(); }; - class DuplicateTLWBaseDlg : public wxDialog { protected: @@ -527,11 +513,12 @@ class DuplicateTLWBaseDlg : public wxDialog wxTextCtrl* GetTextFilename() { return m_textFilename; } wxButton* GetButton2518() { return m_button2518; } wxButton* GetButton2539() { return m_button2539; } - DuplicateTLWBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Choose names"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE); + DuplicateTLWBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Choose names"), + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE); virtual ~DuplicateTLWBaseDlg(); }; - class BmpTextSelectorDlgBase : public wxDialog { protected: @@ -556,11 +543,12 @@ class BmpTextSelectorDlgBase : public wxDialog wxButton* GetButton392() { return m_button392; } wxButton* GetButton394() { return m_button394; } wxButton* GetButton396() { return m_button396; } - BmpTextSelectorDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Bitmap / Text"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + BmpTextSelectorDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Select Bitmap / Text"), const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxSize(-1, -1), long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~BmpTextSelectorDlgBase(); }; - class SingleBitmapAndTextDlgBase : public wxDialog { protected: @@ -583,7 +571,10 @@ class SingleBitmapAndTextDlgBase : public wxDialog wxStaticText* GetStaticText414() { return m_staticText414; } wxTextCtrl* GetTextCtrlBmp() { return m_textCtrlBmp; } wxButton* GetButton416() { return m_button416; } - SingleBitmapAndTextDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Set File and Bitmap"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER); + SingleBitmapAndTextDlgBase(wxWindow* parent, wxWindowID id = wxID_ANY, + const wxString& title = _("Set File and Bitmap"), const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxSize(-1, -1), + long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); virtual ~SingleBitmapAndTextDlgBase(); }; diff --git a/wxcrafter/wxcrafter.wxcp b/wxcrafter/wxcrafter.wxcp index 0b575a5f47..4b838211b2 100644 --- a/wxcrafter/wxcrafter.wxcp +++ b/wxcrafter/wxcrafter.wxcp @@ -8875,140 +8875,6 @@ }], "m_events": [], "m_children": [{ - "m_type": 4477, - "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_infobarOK" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": 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": 4477, - "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_infobarInvalid" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": 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": 4442, "proportion": 1, "border": 5, @@ -9633,1079 +9499,6 @@ }], "m_events": [], "m_children": [] - }, { - "m_type": 4449, - "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": "staticBoxSizer221" - }, { - "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": "Serial Number:" - }], - "m_events": [], - "m_children": [{ - "m_type": 4403, - "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": "flexGridSizer187" - }, { - "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_staticText188" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "wxSYS_DEFAULT_GUI_FONT,normal,bold,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": "string", - "m_label": "Include File:", - "m_value": "" - }, { - "type": "string", - "m_label": "Style:", - "m_value": "" - }, { - "type": "multi-string", - "m_label": "Label:", - "m_value": "User:" - }, { - "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_textCtrl1Username" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "OnTextUpdated(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": 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_staticTextSerialNumber" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "wxSYS_DEFAULT_GUI_FONT,normal,bold,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": "string", - "m_label": "Include File:", - "m_value": "" - }, { - "type": "string", - "m_label": "Style:", - "m_value": "" - }, { - "type": "multi-string", - "m_label": "Label:", - "m_value": "Serial:" - }, { - "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_textCtrlSerialNumber" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "OnTextUpdated(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": 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_staticText205" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "wxSYS_DEFAULT_GUI_FONT,normal,bold,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": "string", - "m_label": "Include File:", - "m_value": "" - }, { - "type": "string", - "m_label": "Style:", - "m_value": "" - }, { - "type": "multi-string", - "m_label": "Label:", - "m_value": "License Status:" - }, { - "type": "string", - "m_label": "Wrap:", - "m_value": "-1" - }], - "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": "boxSizer207" - }, { - "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": "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_staticBitmapLicenseStatusOK" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "resources/license-ok.png" - }], - "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"], - "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_staticBitmapLicenseStatusError" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "resources/license-error.png" - }], - "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": "Spacer198" - }, { - "type": "string", - "m_label": "Size:", - "m_value": "0,0" - }], - "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_SAVE" - }, { - "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_button195" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "Activate your serial number.\\nThis operation requires an active internet connection" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "Activate the Serial Number" - }, { - "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": "-1,-1" - }], - "m_events": [{ - "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED", - "m_eventClass": "wxCommandEvent", - "m_eventHandler": "wxCommandEventHandler", - "m_functionNameAndSignature": "OnUpdateLicense(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": "OnUpdateLicenseUI(wxUpdateUIEvent& event)", - "m_description": "Process a wxEVT_UPDATE_UI event", - "m_noBody": false - }], - "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_banner193" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": "" - }, { - "type": "multi-string", - "m_label": "Message:", - "m_value": "" - }, { - "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": "InactiveCaption" - }, { - "type": "colour", - "m_label": "Gradient End", - "colour": "InactiveCaption" - }], - "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_panel217" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": 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": "boxSizer223" - }, { - "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_textCtrlEULA" - }, { - "type": "multi-string", - "m_label": "Tooltip:", - "m_value": "" - }, { - "type": "colour", - "m_label": "Bg Colour:", - "colour": "" - }, { - "type": "colour", - "m_label": "Fg Colour:", - "colour": "" - }, { - "type": "font", - "m_label": "Font:", - "m_value": "" - }, { - "type": "bool", - "m_label": "Hidden", - "m_value": false - }, { - "type": "bool", - "m_label": "Disabled", - "m_value": false - }, { - "type": "bool", - "m_label": "Focused", - "m_value": false - }, { - "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": [] }] }] }] diff --git a/wxcrafter/wxcrafter_wxcrafter_bitmaps.cpp b/wxcrafter/wxcrafter_wxcrafter_bitmaps.cpp index f96ccc2776..3092b71488 100644 --- a/wxcrafter/wxcrafter_wxcrafter_bitmaps.cpp +++ b/wxcrafter/wxcrafter_wxcrafter_bitmaps.cpp @@ -1,1995 +1,1913 @@ -// -// This file was automatically generated by wxrc, do not edit by hand. -// - -#include - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#include -#include -#include -#include - -#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 = 6728; -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,128,0,0,0,128,8,6,0, -0,0,195,62,97,203,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,10,65, -105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,120,1,157,150,119, -84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59, -72,21,4,81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192, -1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229, -221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217, -103,239,125,215,186,0,80,252,130,4,194,116,88,1,128,52,161,88,20,238,235, -193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68, -2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191, -80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229, -2,148,83,179,197,25,50,255,4,202,244,149,41,50,134,49,50,22,161,9,162,172, -34,227,196,175,108,246,167,230,43,187,201,152,151,38,228,161,26,89,206, -25,188,52,158,140,187,80,222,154,37,225,163,140,4,161,92,152,37,224,103, -163,124,7,101,189,84,73,154,0,229,247,40,211,211,248,156,76,0,48,20,153, -95,204,231,38,161,108,137,50,69,20,25,238,137,242,2,0,8,148,196,57,188, -114,14,139,249,57,104,158,0,120,166,103,228,138,4,137,73,98,166,17,215, -152,105,229,232,200,102,250,241,179,83,249,98,49,43,148,195,77,225,136, -120,76,207,244,180,12,142,48,23,128,175,111,150,69,1,37,89,109,153,104, -145,237,173,28,237,237,89,214,230,104,249,191,217,223,30,126,83,253,61, -200,122,251,85,241,38,236,207,158,65,140,158,89,223,108,236,172,47,189, -22,0,246,36,90,155,29,179,190,149,85,0,180,109,6,64,229,225,172,79,239, -32,0,242,5,0,180,222,156,243,30,134,108,94,146,196,226,12,39,11,139,236, -236,108,115,1,159,107,46,43,232,55,251,159,130,111,202,191,134,57,247,153, -203,238,251,86,59,166,23,63,129,35,73,21,51,101,69,229,166,167,166,75,68, -204,204,12,14,151,207,100,253,247,16,255,227,192,57,105,205,201,195,44, -156,159,192,23,241,133,232,85,81,232,148,9,132,137,104,187,133,60,129,88, -144,46,100,10,132,127,213,225,127,24,54,39,7,25,126,157,107,20,104,117, -95,0,125,133,57,80,184,73,7,200,111,61,0,67,35,3,36,110,63,122,2,125,235, -91,16,49,10,200,190,188,104,173,145,175,115,143,50,122,254,231,250,31,11, -92,138,110,225,76,65,34,83,230,246,12,143,100,114,37,162,44,25,163,223, -132,108,193,2,18,144,7,116,160,10,52,129,46,48,2,44,96,13,28,128,51,112, -3,222,32,0,132,128,72,16,3,150,3,46,72,2,105,64,4,178,65,62,216,0,10,65, -49,216,1,118,131,106,112,0,212,129,122,208,4,78,130,54,112,6,92,4,87,192, -13,112,11,12,128,71,64,10,134,193,75,48,1,222,129,105,8,130,240,16,21,162, -65,170,144,22,164,15,153,66,214,16,27,90,8,121,67,65,80,56,20,3,197,67, -137,144,16,146,64,249,208,38,168,24,42,131,170,161,67,80,61,244,35,116, -26,186,8,93,131,250,160,7,208,32,52,6,253,1,125,132,17,152,2,211,97,13, -216,0,182,128,217,176,59,28,8,71,194,203,224,68,120,21,156,7,23,192,219, -225,74,184,22,62,14,183,194,23,225,27,240,0,44,133,95,194,147,8,64,200, -8,3,209,70,88,8,27,241,68,66,144,88,36,1,17,33,107,145,34,164,2,169,69, -154,144,14,164,27,185,141,72,145,113,228,3,6,135,161,97,152,24,22,198,25, -227,135,89,140,225,98,86,97,214,98,74,48,213,152,99,152,86,76,23,230,54, -102,16,51,129,249,130,165,98,213,177,166,88,39,172,63,118,9,54,17,155,141, -45,196,86,96,143,96,91,176,151,177,3,216,97,236,59,28,14,199,192,25,226, -28,112,126,184,24,92,50,110,53,174,4,183,15,215,140,187,128,235,195,13, -225,38,241,120,188,42,222,20,239,130,15,193,115,240,98,124,33,190,10,127, -28,127,30,223,143,31,198,191,39,144,9,90,4,107,130,15,33,150,32,36,108, -36,84,16,26,8,231,8,253,132,17,194,52,81,129,168,79,116,34,134,16,121,196, -92,98,41,177,142,216,65,188,73,28,38,78,147,20,73,134,36,23,82,36,41,153, -180,129,84,73,106,34,93,38,61,38,189,33,147,201,58,100,71,114,24,89,64, -94,79,174,36,159,32,95,37,15,146,63,80,148,40,38,20,79,74,28,69,66,217, -78,57,74,185,64,121,64,121,67,165,82,13,168,110,212,88,170,152,186,157, -90,79,189,68,125,74,125,47,71,147,51,151,243,151,227,201,173,147,171,145, -107,149,235,151,123,37,79,148,215,151,119,151,95,46,159,39,95,33,127,74, -254,166,252,184,2,81,193,64,193,83,129,163,176,86,161,70,225,180,194,61, -133,73,69,154,162,149,98,136,98,154,98,137,98,131,226,53,197,81,37,188, -146,129,146,183,18,79,169,64,233,176,210,37,165,33,26,66,211,165,121,210, -184,180,77,180,58,218,101,218,48,29,71,55,164,251,211,147,233,197,244,31, -232,189,244,9,101,37,101,91,229,40,229,28,229,26,229,179,202,82,6,194,48, -96,248,51,82,25,165,140,147,140,187,140,143,243,52,230,185,207,227,207, -219,54,175,105,94,255,188,41,149,249,42,110,42,124,149,34,149,102,149,1, -149,143,170,76,85,111,213,20,213,157,170,109,170,79,212,48,106,38,106,97, -106,217,106,251,213,46,171,141,207,167,207,119,158,207,157,95,52,255,228, -252,135,234,176,186,137,122,184,250,106,245,195,234,61,234,147,26,154,26, -190,26,25,26,85,26,151,52,198,53,25,154,110,154,201,154,229,154,231,52, -199,180,104,90,11,181,4,90,229,90,231,181,94,48,149,153,238,204,84,102, -37,179,139,57,161,173,174,237,167,45,209,62,164,221,171,61,173,99,168,179, -88,103,163,78,179,206,19,93,146,46,91,55,65,183,92,183,83,119,66,79,75, -47,88,47,95,175,81,239,161,62,81,159,173,159,164,191,71,191,91,127,202, -192,208,32,218,96,139,65,155,193,168,161,138,161,191,97,158,97,163,225, -99,35,170,145,171,209,42,163,90,163,59,198,56,99,182,113,138,241,62,227, -91,38,176,137,157,73,146,73,141,201,77,83,216,212,222,84,96,186,207,180, -207,12,107,230,104,38,52,171,53,187,199,162,176,220,89,89,172,70,214,160, -57,195,60,200,124,163,121,155,249,43,11,61,139,88,139,157,22,221,22,95, -44,237,44,83,45,235,44,31,89,41,89,5,88,109,180,234,176,250,195,218,196, -154,107,93,99,125,199,134,106,227,99,179,206,166,221,230,181,173,169,45, -223,118,191,237,125,59,154,93,176,221,22,187,78,187,207,246,14,246,34,251, -38,251,49,7,61,135,120,135,189,14,247,216,116,118,40,187,132,125,213,17, -235,232,225,184,206,241,140,227,7,39,123,39,177,211,73,167,223,157,89,206, -41,206,13,206,163,11,12,23,240,23,212,45,24,114,209,113,225,184,28,114, -145,46,100,46,140,95,120,112,161,212,85,219,149,227,90,235,250,204,77,215, -141,231,118,196,109,196,221,216,61,217,253,184,251,43,15,75,15,145,71,139, -199,148,167,147,231,26,207,11,94,136,151,175,87,145,87,175,183,146,247, -98,239,106,239,167,62,58,62,137,62,141,62,19,190,118,190,171,125,47,248, -97,253,2,253,118,250,221,243,215,240,231,250,215,251,79,4,56,4,172,9,232, -10,164,4,70,4,86,7,62,11,50,9,18,5,117,4,195,193,1,193,187,130,31,47,210, -95,36,92,212,22,2,66,252,67,118,133,60,9,53,12,93,21,250,115,24,46,44,52, -172,38,236,121,184,85,120,126,120,119,4,45,98,69,68,67,196,187,72,143,200, -210,200,71,139,141,22,75,22,119,70,201,71,197,69,213,71,77,69,123,69,151, -69,75,151,88,44,89,179,228,70,140,90,140,32,166,61,22,31,27,21,123,36,118, -114,169,247,210,221,75,135,227,236,226,10,227,238,46,51,92,150,179,236, -218,114,181,229,169,203,207,174,144,95,193,89,113,42,30,27,31,29,223,16, -255,137,19,194,169,229,76,174,244,95,185,119,229,4,215,147,187,135,251, -146,231,198,43,231,141,241,93,248,101,252,145,4,151,132,178,132,209,68, -151,196,93,137,99,73,174,73,21,73,227,2,79,65,181,224,117,178,95,242,129, -228,169,148,144,148,163,41,51,169,209,169,205,105,132,180,248,180,211,66, -37,97,138,176,43,93,51,61,39,189,47,195,52,163,48,67,186,202,105,213,238, -85,19,162,64,209,145,76,40,115,89,102,187,152,142,254,76,245,72,140,36, -155,37,131,89,11,179,106,178,222,103,71,101,159,202,81,204,17,230,244,228, -154,228,110,203,29,201,243,201,251,126,53,102,53,119,117,103,190,118,254, -134,252,193,53,238,107,14,173,133,214,174,92,219,185,78,119,93,193,186, -225,245,190,235,143,109,32,109,72,217,240,203,70,203,141,101,27,223,110, -138,222,212,81,160,81,176,190,96,104,179,239,230,198,66,185,66,81,225,189, -45,206,91,14,108,197,108,21,108,237,221,102,179,173,106,219,151,34,94,209, -245,98,203,226,138,226,79,37,220,146,235,223,89,125,87,249,221,204,246, -132,237,189,165,246,165,251,119,224,118,8,119,220,221,233,186,243,88,153, -98,89,94,217,208,174,224,93,173,229,204,242,162,242,183,187,87,236,190, -86,97,91,113,96,15,105,143,100,143,180,50,168,178,189,74,175,106,71,213, -167,234,164,234,129,26,143,154,230,189,234,123,183,237,157,218,199,219, -215,191,223,109,127,211,1,141,3,197,7,62,30,20,28,188,127,200,247,80,107, -173,65,109,197,97,220,225,172,195,207,235,162,234,186,191,103,127,95,127, -68,237,72,241,145,207,71,133,71,165,199,194,143,117,213,59,212,215,55,168, -55,148,54,194,141,146,198,177,227,113,199,111,253,224,245,67,123,19,171, -233,80,51,163,185,248,4,56,33,57,241,226,199,248,31,239,158,12,60,217,121, -138,125,170,233,39,253,159,246,182,208,90,138,90,161,214,220,214,137,182, -164,54,105,123,76,123,223,233,128,211,157,29,206,29,45,63,155,255,124,244, -140,246,153,154,179,202,103,75,207,145,206,21,156,155,57,159,119,126,242, -66,198,133,241,139,137,23,135,58,87,116,62,186,180,228,210,157,174,176, -174,222,203,129,151,175,94,241,185,114,169,219,189,251,252,85,151,171,103, -174,57,93,59,125,157,125,189,237,134,253,141,214,30,187,158,150,95,236, -126,105,233,181,239,109,189,233,112,179,253,150,227,173,142,190,5,125,231, -250,93,251,47,222,246,186,125,229,142,255,157,27,3,139,6,250,238,46,190, -123,255,94,220,61,233,125,222,253,209,7,169,15,94,63,204,122,56,253,104, -253,99,236,227,162,39,10,79,42,158,170,63,173,253,213,248,215,102,169,189, -244,236,160,215,96,207,179,136,103,143,134,184,67,47,255,149,249,175,79, -195,5,207,169,207,43,70,180,70,234,71,173,71,207,140,249,140,221,122,177, -244,197,240,203,140,151,211,227,133,191,41,254,182,247,149,209,171,159, -126,119,251,189,103,98,201,196,240,107,209,235,153,63,74,222,168,190,57, -250,214,246,109,231,100,232,228,211,119,105,239,166,167,138,222,171,190, -63,246,129,253,161,251,99,244,199,145,233,236,79,248,79,149,159,141,63, -119,124,9,252,242,120,38,109,102,230,223,247,132,243,251,165,242,38,34, -0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,14,27,0,0,15,157,73, -68,65,84,120,1,237,157,11,176,85,85,25,199,187,202,27,68,65,17,242,1,166, -128,138,212,168,52,65,25,47,95,163,144,67,165,226,3,138,183,51,96,208,12, -99,226,36,89,97,86,86,102,90,58,12,1,150,150,128,154,162,147,74,83,190, -17,133,124,52,66,10,10,152,4,37,2,62,144,0,13,162,223,255,206,57,112,238, -190,231,236,189,246,190,107,175,115,214,222,247,155,249,223,253,88,223, -90,235,91,223,247,237,181,215,250,214,218,247,212,237,219,183,239,19,121, -166,186,186,186,86,180,127,48,24,3,166,162,143,247,108,233,131,178,191, -70,89,39,131,121,148,187,206,86,185,54,203,169,203,171,3,96,156,35,81,228, -72,48,22,244,3,162,251,192,104,116,242,81,253,85,19,254,80,254,64,178,63, -0,14,7,219,193,18,48,23,60,78,249,123,57,214,6,201,1,242,6,52,63,17,188, -5,212,253,5,49,135,123,7,53,69,39,228,63,21,108,42,83,182,234,122,2,156, -208,148,242,109,230,61,8,97,242,72,195,104,116,247,10,13,159,196,253,27, -43,164,69,222,230,201,239,5,211,189,224,168,10,204,67,184,127,92,133,52, -231,183,243,234,0,239,70,104,250,42,12,57,51,130,167,81,50,121,100,244, -123,64,207,70,137,7,110,168,23,216,113,224,178,186,103,121,117,128,157, -6,106,159,133,65,175,52,224,171,103,129,183,51,39,11,129,186,255,48,218, -67,226,174,48,6,151,105,121,117,128,255,24,40,185,14,158,155,49,236,232, -40,94,120,218,193,115,39,208,192,47,138,52,0,172,25,7,104,17,37,109,70, -211,77,187,224,150,180,127,14,6,238,196,81,78,211,13,28,2,14,6,154,41,232, -85,178,25,124,5,12,7,38,244,95,152,118,155,48,186,224,201,171,3,196,121, -2,219,98,136,91,45,26,67,142,35,39,168,9,202,235,43,32,142,3,216,54,212, -199,20,216,236,0,182,181,26,179,188,106,58,128,140,223,236,0,49,13,102, -155,221,116,12,96,187,94,149,167,247,127,147,35,141,182,4,203,235,43,160, -171,45,5,38,40,167,13,121,14,77,144,47,149,44,185,115,0,70,244,211,209, -228,143,83,209,166,89,161,61,96,123,20,57,78,49,99,79,151,43,55,139,65, -40,92,243,250,31,129,25,233,170,212,184,244,127,194,121,49,113,253,229, -198,57,82,96,204,147,3,232,169,175,21,227,23,77,249,54,39,35,112,130,21, -197,27,174,143,185,112,0,30,126,25,190,154,221,126,152,93,55,144,120,54, -78,240,70,24,83,90,105,222,58,0,70,29,129,82,138,17,58,197,246,119,1,141, -176,139,163,108,141,180,117,111,16,184,19,212,114,208,75,175,129,203,129, -100,110,83,64,235,194,81,129,168,246,64,225,102,29,159,182,233,44,94,58, -0,198,239,139,34,94,4,218,205,19,36,197,218,181,224,34,40,232,162,208,109, -45,27,31,241,234,73,155,70,254,7,20,126,150,188,130,66,206,65,90,140,3, -40,244,108,133,124,80,76,185,134,78,225,102,57,227,139,87,74,19,244,4,233, -137,241,133,58,26,10,58,140,7,224,52,156,224,101,67,254,80,54,239,166,129, -52,190,27,45,186,40,180,85,217,78,148,227,143,183,213,68,239,28,128,134, -127,21,116,177,165,0,79,203,185,144,7,193,138,14,188,114,0,26,173,185,188, -54,114,230,157,62,137,2,134,218,80,130,87,14,192,123,79,219,169,238,0,26, -233,231,153,20,55,176,18,59,240,117,22,160,215,128,28,193,116,224,148,37, -103,121,140,198,140,226,89,216,108,163,81,94,245,0,197,6,211,248,251,57, -191,16,108,41,222,115,120,84,204,225,61,80,141,37,221,250,118,219,50,190, -116,230,101,15,32,193,69,12,9,6,112,88,8,180,192,146,38,109,163,240,5,224, -17,176,22,200,9,244,193,71,127,160,0,206,16,144,54,205,167,130,41,24,223, -238,82,50,5,122,253,97,8,74,233,3,86,1,141,15,210,192,195,148,219,187,146, -158,72,83,47,170,141,163,91,65,26,245,171,204,155,65,139,74,50,52,229,190, -215,198,47,54,28,229,244,0,10,167,218,54,128,186,220,182,197,122,194,142, -240,105,71,176,94,13,54,101,80,100,112,102,88,189,77,77,203,132,3,72,9, -208,145,224,121,96,203,0,235,40,171,75,28,5,195,255,13,139,245,43,164,125, -117,156,250,147,240,122,57,8,68,49,141,136,198,191,195,205,53,141,18,146, -223,248,9,101,198,29,100,206,165,186,149,201,171,108,144,83,49,143,199, -27,220,73,225,34,51,14,80,208,205,49,150,116,164,174,252,143,113,203,194, -97,20,159,184,55,110,190,10,252,114,0,5,124,82,165,204,56,0,51,2,181,69, -43,127,54,72,221,255,191,19,22,244,66,194,124,229,178,105,185,59,85,202, -140,3,160,37,61,49,229,150,79,147,40,240,125,158,102,13,192,146,144,166, -140,245,131,146,36,153,3,121,180,55,32,85,202,146,3,72,233,123,44,105,171, -67,97,221,33,73,113,29,200,36,103,180,65,182,218,83,81,150,204,56,64,225, -137,181,181,223,255,120,52,118,68,69,173,133,39,68,125,29,28,158,187,97, -234,7,13,47,237,95,101,198,1,10,170,73,250,222,14,106,86,83,202,115,130, -55,163,174,233,53,244,10,186,40,138,207,48,93,61,218,191,12,121,19,179, -101,198,1,80,190,246,206,117,77,172,137,198,25,175,166,76,117,231,113,72, -235,19,10,79,219,32,57,128,254,219,72,186,68,215,233,125,48,8,13,29,6,22, -3,41,205,38,110,55,213,15,245,158,8,54,88,174,95,159,164,143,49,149,33, -9,95,22,140,127,20,74,122,202,178,226,75,157,104,54,101,119,10,83,46,233, -131,193,235,41,201,160,85,199,105,97,245,55,37,205,107,7,64,49,61,193,75, -41,41,190,212,9,94,165,142,111,2,45,60,117,4,154,158,233,117,115,38,80, -244,79,1,160,82,254,52,206,191,219,20,67,87,202,235,237,114,48,239,231, -190,40,93,81,183,147,128,43,146,161,181,17,67,219,205,15,5,26,44,186,164, -155,169,236,91,24,83,235,4,86,200,75,7,192,248,26,104,45,2,221,173,104, -193,175,66,126,131,184,147,113,2,57,99,147,201,187,89,0,198,215,244,236, -65,144,71,227,203,224,99,193,239,209,67,210,56,133,202,216,79,94,57,0,141, -86,132,237,58,224,186,235,221,175,176,26,57,209,158,200,161,54,100,241, -202,1,232,246,52,184,210,14,157,188,147,86,43,151,217,80,130,87,14,80,104, -240,125,28,63,180,209,120,143,203,120,148,103,97,147,13,249,189,115,0,26, -190,150,134,231,185,23,208,42,229,28,27,198,87,25,222,57,64,161,225,183, -25,42,64,202,202,26,41,232,181,212,86,163,124,157,6,106,48,56,13,104,36, -172,215,193,14,160,176,233,206,2,180,117,90,208,255,7,56,23,220,0,106,153, -212,171,77,4,90,254,213,154,134,160,96,147,142,237,64,251,194,185,214,38, -238,167,23,92,193,209,10,121,233,0,113,91,206,228,225,118,242,76,142,155, -207,17,255,251,212,51,28,163,90,25,212,197,149,217,215,87,64,220,118,78, -39,195,162,184,153,28,240,171,199,26,83,45,227,171,125,185,112,0,20,172, -168,217,120,176,80,141,174,17,218,142,28,250,121,154,135,170,41,79,46,28, -64,10,70,209,122,218,198,130,91,64,181,7,135,27,144,65,255,29,236,1,142, -85,165,92,140,1,130,26,102,76,48,147,123,215,7,239,59,186,222,72,61,67, -49,190,6,126,85,167,220,244,0,1,77,191,26,184,118,121,169,65,223,122,151, -21,134,213,149,87,7,208,82,110,181,168,56,189,171,86,253,13,234,109,209, -224,202,211,11,186,244,86,136,174,143,40,164,92,145,214,12,20,3,216,70, -87,91,238,125,175,185,117,181,168,53,21,183,172,86,229,193,122,51,225,0, -52,106,46,24,6,212,30,5,137,228,0,218,180,113,29,152,13,130,164,0,75,181, -72,206,218,236,0,182,180,207,211,255,41,202,210,242,168,162,101,65,26,67, -250,175,233,5,130,59,104,226,244,0,234,65,180,19,71,83,73,125,171,167,104, -156,182,127,203,193,180,42,167,173,232,231,129,51,128,9,169,7,144,19,212, -4,101,161,7,24,129,38,203,25,95,10,238,7,78,3,47,232,162,132,226,56,192, -12,28,232,103,37,121,27,157,202,201,184,169,5,42,213,23,69,114,0,161,38, -200,235,65,32,138,215,147,120,73,136,38,213,213,142,42,147,110,234,0,63, -140,50,190,202,134,103,51,135,139,193,106,93,71,144,100,46,142,85,34,88, -211,79,246,218,1,80,143,158,238,168,167,110,4,142,18,252,106,216,100,12, -160,177,131,226,5,70,132,19,188,9,163,156,96,99,68,6,57,128,73,253,17,197, -216,73,246,221,1,70,162,134,168,1,149,198,8,67,2,234,210,135,36,97,180, -128,68,237,197,215,96,210,152,96,95,5,179,122,36,125,33,92,137,228,0,26, -71,212,4,121,235,0,60,213,122,239,127,217,80,139,151,6,248,94,230,90,203, -199,229,232,17,110,78,194,152,250,32,35,54,145,79,171,122,163,129,150,169, -203,209,107,220,220,90,46,161,42,247,228,228,62,2,101,157,15,244,132,154, -96,11,124,221,74,219,201,117,95,160,209,189,186,236,98,25,207,112,222,185, -148,47,233,57,229,168,39,208,76,65,101,107,38,241,44,152,0,58,38,45,51, -141,124,85,49,62,74,184,22,220,4,122,37,109,20,121,231,131,162,225,76,142, -19,203,213,69,25,93,193,120,160,88,194,49,21,120,6,144,118,7,24,89,46,189, -210,61,248,199,129,95,128,129,224,224,74,124,213,188,239,212,1,80,130,166, -157,183,130,162,193,52,143,214,20,234,116,83,37,192,219,7,76,5,239,130, -98,57,38,71,117,189,234,154,143,53,169,11,62,189,171,213,203,104,122,87, -124,146,181,203,104,188,73,126,95,120,156,57,0,138,147,66,53,178,46,103, -172,93,220,255,3,56,11,212,175,80,150,42,144,123,135,3,117,159,79,2,241, -150,43,195,244,158,222,191,247,130,11,64,235,210,122,116,14,105,108,113, -57,88,10,202,149,169,177,193,132,96,62,95,175,157,56,0,10,83,228,235,231, -21,20,26,84,242,19,240,93,84,200,211,153,227,53,96,61,8,242,217,184,254, -43,229,142,2,234,153,228,100,218,103,184,18,68,149,173,158,224,50,208,200, -89,125,115,4,39,251,1,24,177,107,42,166,37,216,56,1,16,141,212,245,52,246, -6,105,211,10,42,232,2,36,167,41,189,4,99,127,12,190,199,52,67,45,242,185, -154,6,254,131,198,199,221,250,164,32,143,11,227,203,46,159,3,113,140,175, -60,191,245,221,248,106,132,147,30,160,190,162,186,186,51,56,62,5,52,22, -240,157,54,209,128,83,113,128,218,153,207,39,212,168,171,30,64,226,61,7, -30,75,40,103,173,101,155,151,5,227,75,169,206,28,0,133,41,24,114,11,208, -0,203,103,210,244,115,158,207,13,40,149,221,153,3,20,42,253,51,71,13,184, -124,166,187,113,230,13,62,55,160,84,118,167,14,128,226,52,135,254,101,169, -0,158,157,43,6,161,88,70,102,200,169,3,20,180,182,152,227,106,79,53,168, -159,109,253,187,167,178,151,21,219,185,3,160,64,173,194,169,23,240,109, -44,160,167,95,99,152,76,145,115,7,40,104,239,121,142,190,5,80,222,65,230, -76,61,253,178,69,181,28,224,42,234,142,218,200,33,249,106,137,122,32,204, -215,107,73,32,27,178,56,11,4,21,133,37,44,252,89,206,181,54,174,245,1,223, -104,29,2,247,227,53,246,129,111,130,87,146,183,26,61,192,100,132,241,209, -248,210,225,9,64,91,208,51,67,78,29,128,167,255,104,52,103,186,141,171, -86,149,60,142,118,100,33,156,93,175,95,167,14,64,141,250,128,66,75,188, -62,83,127,132,63,197,231,6,148,202,174,117,112,151,52,44,165,202,20,93, -124,24,104,45,255,67,112,4,144,161,190,4,122,2,155,164,215,215,217,224, -21,155,133,86,173,44,6,52,169,111,10,161,113,71,129,43,128,226,232,81,155, -45,226,164,111,164,60,109,204,104,89,174,29,220,63,12,124,7,236,6,113,202, -141,226,149,241,229,92,135,148,171,215,167,123,169,25,95,202,41,40,233, -46,142,155,65,148,82,227,166,191,65,153,125,76,148,13,223,133,64,1,168, -184,117,68,241,175,161,204,155,192,23,64,42,191,237,107,210,190,166,240, -88,117,0,148,160,193,145,186,222,159,2,41,39,74,129,73,211,119,82,246,23, -227,52,28,254,233,41,202,163,160,150,182,151,205,0,21,127,104,58,142,188, -174,120,173,56,0,141,62,28,72,193,90,243,215,130,79,82,195,154,230,155, -29,87,65,200,164,15,50,181,205,204,180,142,164,124,219,169,67,227,145,81, -160,85,92,57,93,243,219,114,128,73,14,20,91,52,136,158,182,1,73,20,69,62, -69,32,139,229,184,56,158,146,68,78,151,121,108,77,3,245,190,119,69,218, -142,165,13,166,73,104,25,153,100,120,87,228,82,47,137,218,100,203,1,212, -189,186,34,205,36,52,213,75,66,219,200,164,25,129,43,114,61,205,142,221, -46,91,14,176,55,118,205,201,51,104,30,158,84,177,90,128,202,76,20,47,185, -10,15,228,180,229,0,31,29,40,50,245,51,197,20,186,38,172,229,120,242,201, -129,92,145,75,189,36,106,147,45,7,208,148,239,237,68,18,196,207,164,224, -206,160,248,217,234,115,92,144,48,95,146,108,26,167,184,210,73,18,249,234, -243,88,91,14,102,129,164,27,37,42,214,127,9,24,8,244,85,79,90,164,208,239, -32,70,203,198,79,24,242,245,34,207,114,208,41,45,161,40,119,11,248,19,88, -4,158,68,190,29,28,107,155,210,152,114,208,226,147,193,53,64,193,145,180, -166,91,223,55,149,29,25,218,128,37,41,201,162,65,229,99,96,34,56,218,84, -166,90,225,179,18,7,168,212,24,20,162,65,215,96,240,43,240,22,176,233,12, -26,120,94,11,66,191,187,39,93,11,67,247,0,155,117,235,27,135,85,96,22,248, -76,165,246,251,112,63,85,7,40,85,0,138,146,33,94,3,54,13,161,178,212,229, -158,11,26,44,204,112,173,129,226,56,160,125,124,182,235,188,155,50,219, -150,182,207,215,243,164,211,41,218,31,143,80,208,86,222,195,127,33,215, -73,241,114,70,114,203,248,194,122,202,95,203,81,139,62,157,129,234,73,58, -91,32,107,40,233,103,91,118,133,114,120,146,104,109,16,104,210,94,12,116, -38,124,114,130,58,19,254,26,229,121,27,185,62,45,135,174,81,249,98,137, -101,107,26,104,90,233,50,24,245,238,244,153,30,202,138,241,101,4,167,14, -128,226,52,98,158,235,177,245,181,210,57,223,99,249,27,137,238,212,1,10, -181,255,142,163,102,4,62,146,166,146,138,65,100,134,156,59,0,189,128,22, -115,110,4,26,153,251,68,59,16,246,122,228,247,77,238,80,29,59,119,128,130, -52,43,57,106,46,237,19,201,113,21,242,206,20,85,203,1,174,68,139,190,173, -202,117,71,230,145,153,178,62,141,113,58,13,148,242,152,10,246,225,160, -16,113,59,93,123,70,127,67,222,207,23,6,179,158,137,94,94,220,106,244,0, -83,16,197,71,227,75,131,167,130,225,58,201,10,57,117,0,158,254,99,81,220, -165,158,43,111,42,237,240,237,245,85,81,229,78,29,0,41,198,3,237,32,246, -153,180,212,61,200,231,6,148,202,238,204,1,120,106,20,159,159,80,90,185, -167,231,210,217,52,79,101,111,36,182,51,7,160,102,253,3,102,189,2,178,64, -231,227,208,167,103,161,33,78,28,0,101,29,138,178,166,102,65,97,133,54, -104,23,244,116,218,229,243,162,86,125,83,156,56,0,53,181,7,113,70,254,90, -48,82,172,224,123,96,11,72,147,180,119,239,10,240,3,160,111,14,76,169,35, -140,174,244,103,42,83,124,62,69,54,93,0,201,244,1,165,150,80,195,54,103, -60,77,250,101,160,125,81,38,206,143,3,179,192,122,16,150,55,110,218,75, -148,55,25,236,255,9,23,206,187,129,171,192,106,16,86,222,114,210,187,22, -101,244,249,232,196,248,69,5,161,180,179,128,62,206,40,85,174,86,216,30, -4,231,129,138,219,187,72,211,32,82,83,200,5,96,3,40,45,195,228,92,161,231, -215,193,108,112,14,104,83,148,43,120,36,77,79,247,56,176,2,4,203,126,145, -123,221,131,121,124,189,118,234,0,82,18,164,105,212,70,176,19,220,5,20, -89,139,37,7,121,186,0,173,39,4,141,19,118,61,31,254,14,113,234,130,191, -21,24,1,150,128,189,224,89,224,221,198,207,176,54,59,15,5,163,64,133,131, -123,115,208,19,248,138,174,147,16,101,124,155,124,55,24,230,213,211,175, -109,228,50,96,34,162,62,189,194,214,80,134,122,176,204,80,85,28,192,134, -246,48,200,137,148,163,247,184,201,224,82,49,124,253,186,199,199,54,234, -206,82,25,222,142,98,49,166,150,102,151,26,26,227,190,102,227,151,215,148, -183,14,80,104,142,6,132,81,180,27,134,197,81,76,121,77,247,221,1,30,197, -112,81,113,130,231,224,209,92,191,153,202,104,192,107,7,160,91,223,76,155, -52,66,15,163,5,240,213,79,63,194,152,242,154,230,181,3,20,140,22,246,26, -80,239,240,80,94,141,107,210,238,44,56,192,51,52,84,95,4,149,163,37,133, -94,162,92,90,243,61,52,224,189,3,96,96,237,214,189,13,188,9,20,92,18,233, -191,121,107,61,97,158,46,154,169,178,6,254,15,252,78,73,81,206,253,36,186, -0,0,0,0,73,69,78,68,174,66,96,130}; - -static size_t xml_res_size_1 = 2420; -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,64,0,0,0,64,8,6,0,0, -0,170,105,113,222,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,9,22,73,68,65,84,120,218,236,91,107,140,27,87,21,62,51,227,241,140, -199,175,241,102,179,202,166,155,197,121,144,141,68,163,181,18,181,2,161, -40,22,65,80,248,65,242,131,66,85,148,238,70,74,40,21,15,109,69,85,36,160, -197,33,64,37,10,234,10,129,128,182,148,221,34,250,163,21,104,83,161,170, -130,150,186,173,80,203,146,54,206,134,22,66,149,196,105,211,188,186,89, -123,252,26,207,235,14,231,142,237,100,147,52,94,219,51,187,73,180,123,163, -43,199,190,222,59,231,124,247,59,143,123,238,53,99,219,54,44,230,198,194, -34,111,75,0,44,1,176,4,192,18,0,139,186,249,154,13,50,12,227,250,1,251, -210,7,163,62,65,72,178,44,155,96,88,54,9,12,36,240,99,249,42,95,207,131, -109,103,108,98,103,136,101,165,77,93,75,63,144,220,164,184,149,161,89,168, -103,154,14,186,0,96,111,250,224,118,127,64,26,22,3,210,142,96,64,128,152, -232,135,160,143,131,144,143,5,129,195,206,94,58,183,137,114,84,76,2,85, -139,64,94,183,32,87,213,160,82,213,65,83,213,9,93,173,140,61,152,76,236, -191,33,0,248,193,223,223,28,66,197,83,161,112,40,222,23,9,193,138,144,0, -33,222,7,116,38,13,31,85,182,80,81,171,246,74,234,243,207,150,65,66,163, -20,24,27,36,142,1,63,216,112,186,172,193,251,74,9,242,133,98,22,129,72, -237,253,212,166,241,235,18,128,239,255,237,192,86,84,124,44,28,14,199,7, -186,35,208,35,9,192,115,28,148,9,192,7,6,64,206,180,29,0,218,21,92,102, -45,136,33,40,154,110,192,137,124,177,1,196,240,190,79,111,126,249,186,0, -96,228,153,23,162,161,216,178,148,20,141,142,172,95,46,67,127,36,224,40, -126,14,149,62,173,227,106,19,247,142,138,202,200,18,10,4,1,198,50,225,216, -76,1,180,82,105,84,67,70,60,244,217,91,148,107,6,192,119,158,159,140,10, -82,48,45,71,34,137,77,189,49,136,8,60,40,72,239,227,170,237,80,220,235, -70,101,69,231,8,150,97,128,161,169,160,171,106,70,45,40,201,135,62,179, -89,89,112,0,238,127,254,95,131,129,136,156,238,235,138,200,27,145,242,12, -58,182,255,33,223,207,27,243,191,185,114,128,48,41,8,26,84,203,197,124, -37,159,75,254,244,182,91,14,45,24,0,247,61,247,207,65,41,218,149,142,47, -151,229,141,203,194,80,198,41,222,42,90,80,37,11,187,179,36,166,9,122,85, -165,230,144,175,40,185,228,207,62,127,235,161,121,7,224,222,191,188,254, -17,84,62,179,166,39,134,43,31,134,179,104,231,239,148,77,12,99,215,38,145, -177,16,4,19,65,168,22,11,249,114,62,23,31,253,194,39,148,121,3,224,155, -19,255,136,6,229,174,116,239,178,88,226,227,189,50,156,209,8,188,93,52, -59,18,92,57,115,18,12,20,156,54,94,12,64,116,69,95,231,32,160,79,208,43, -37,168,40,249,140,114,246,84,242,177,157,159,83,90,5,192,215,86,218,40, -136,169,160,36,37,54,245,132,225,84,213,130,183,10,70,71,180,45,29,201, -192,182,62,25,6,55,212,148,62,116,252,36,188,120,120,18,66,3,9,96,125,190, -246,17,96,89,96,252,24,118,3,82,66,140,198,82,148,168,173,254,105,203,12, -184,231,79,175,110,13,198,186,211,91,215,246,130,192,251,225,181,243,90, -71,171,85,120,247,40,236,254,104,20,86,173,236,5,66,72,93,126,22,222,59, -117,26,30,127,71,129,72,255,218,206,28,35,134,73,163,90,69,83,80,160,146, -159,73,254,250,139,91,94,246,148,1,156,95,28,91,135,113,62,236,231,225, -149,233,42,88,29,198,119,185,50,13,171,251,111,6,93,215,47,178,2,129,88, -221,191,10,228,67,71,193,32,107,58,223,215,249,120,96,253,34,112,130,56, -134,31,172,246,108,55,184,231,233,87,134,68,41,20,95,31,11,194,84,78,3, -13,115,118,139,116,214,187,3,126,176,48,150,95,97,199,248,153,51,70,58, -159,219,102,208,20,144,157,156,40,197,247,60,253,234,144,235,221,224,5, -148,252,98,106,93,119,20,206,235,4,78,169,150,43,175,125,66,81,155,143, -245,186,12,39,172,207,97,1,235,23,168,47,24,119,205,128,225,167,94,218, -206,9,129,248,186,174,32,252,59,167,35,210,182,171,158,143,174,132,215, -14,255,7,120,158,191,240,12,250,127,250,25,29,115,59,63,101,1,112,188,195, -2,42,187,107,6,176,188,56,28,239,138,192,137,146,1,69,195,125,98,47,117, -247,194,51,39,143,193,155,217,23,224,214,129,154,153,78,30,57,14,71,125, -203,32,216,183,6,77,193,253,51,108,134,67,16,124,142,236,248,118,127,199, -81,224,43,79,190,24,149,98,221,249,228,186,149,78,166,87,177,192,179,70, -147,23,83,83,235,225,53,0,62,204,5,188,76,149,233,252,122,185,8,149,220, -180,252,199,187,182,41,157,85,132,56,62,9,184,179,163,180,42,25,6,120,217, -208,70,193,143,125,118,36,240,246,1,212,20,184,154,14,77,88,208,20,0,220, -124,38,187,37,17,142,23,53,164,166,59,231,84,153,57,7,252,204,41,16,184, -15,223,95,148,162,189,32,117,245,120,183,79,176,25,100,2,75,23,47,209,49, -0,54,48,137,229,1,30,254,91,52,128,97,57,87,2,137,39,223,134,187,62,185, -17,54,127,108,195,21,137,9,13,129,127,157,204,192,159,167,207,66,192,35, -16,232,35,44,96,16,8,160,12,216,219,81,20,64,175,154,40,232,22,210,211, -118,40,234,166,151,110,186,25,30,153,154,129,39,158,123,201,121,79,19,161, -70,167,0,108,217,56,0,76,97,218,245,115,46,246,154,204,84,135,142,163,0, -78,34,159,161,244,231,68,234,45,93,173,8,31,146,157,126,240,221,41,216, -197,94,137,123,40,20,2,209,210,192,240,168,144,98,59,0,56,175,178,11,0, -8,20,52,3,61,180,31,24,143,108,147,35,205,158,7,78,70,231,13,0,245,12,209, -38,157,231,1,181,228,2,163,1,190,162,75,241,44,68,53,27,179,136,119,207, -105,200,223,57,3,234,147,120,9,0,105,2,0,153,7,0,200,28,243,53,103,0,218, -35,205,204,24,218,61,170,248,52,19,136,142,121,145,9,94,48,1,139,204,105, -82,45,48,128,220,152,12,32,158,48,128,228,113,18,153,161,32,120,150,160, -216,115,2,238,169,19,68,29,92,56,65,146,193,9,146,53,0,24,143,4,107,62, -230,25,3,40,253,233,25,2,234,224,134,1,105,7,0,147,56,117,255,5,97,128, -71,121,0,49,233,1,10,118,211,74,119,14,128,105,102,76,186,9,226,45,96,25, -246,134,50,1,90,124,53,12,76,172,244,170,11,6,24,122,154,161,0,24,38,112, -248,15,60,184,47,48,119,20,112,207,0,27,109,201,210,13,167,72,106,148,139, -233,142,43,66,175,127,247,118,197,80,213,9,19,243,117,19,17,117,91,173, -113,42,54,45,36,66,174,59,46,152,105,160,204,186,49,113,96,223,46,197,85, -69,200,212,42,99,224,23,118,216,184,27,100,169,35,116,201,130,57,25,224, -214,4,234,231,134,166,142,123,24,189,58,230,186,38,248,198,3,95,218,111, -168,149,172,225,17,11,154,57,121,58,230,118,126,42,163,161,33,245,81,230, -55,30,252,242,156,183,74,90,170,10,155,170,154,2,62,48,102,51,60,176,60, -235,138,5,243,234,3,232,234,211,133,170,226,234,107,213,84,75,133,163,86, -190,52,245,195,59,198,13,181,156,53,117,21,17,54,92,213,238,5,198,106,226, -185,221,205,77,237,30,189,62,2,80,201,78,237,189,99,220,51,0,234,69,204, -97,122,152,105,209,2,134,217,40,146,180,222,245,66,30,252,31,28,133,61, -91,54,92,245,96,228,158,45,235,157,239,84,78,103,219,158,223,57,37,70,187, -55,209,243,155,90,117,184,85,189,218,58,29,30,248,222,83,143,248,66,242, -8,43,6,129,245,249,219,50,133,13,185,41,248,201,157,219,32,28,14,95,181, -0,74,207,8,103,102,102,224,71,207,78,194,97,105,125,123,212,199,152,79, -170,101,48,203,202,232,145,31,223,121,111,171,91,240,182,142,98,141,162, -146,34,44,159,228,192,151,96,5,140,9,92,235,127,158,129,149,112,219,19, -7,90,171,30,197,250,113,7,106,183,172,188,109,153,64,208,241,89,149,114, -198,66,25,219,209,169,237,11,18,107,239,255,67,148,9,132,179,156,40,201, -12,47,182,5,130,231,141,42,79,80,121,180,123,92,253,60,81,203,241,99,15, -239,156,191,11,18,141,22,191,239,201,65,86,10,167,89,129,130,32,212,42, -198,12,179,240,202,227,202,219,148,250,90,37,143,0,36,179,15,239,156,255, -43,50,141,182,234,219,227,131,172,16,74,51,126,81,102,41,8,28,95,59,140, -88,8,221,137,69,55,42,142,221,219,154,154,39,122,57,249,222,207,135,22, -238,146,84,163,221,52,242,251,40,154,65,154,17,164,4,61,145,165,135,146, -243,202,134,58,229,109,12,151,54,165,189,86,201,160,203,79,190,63,186,107, -225,175,201,53,218,138,175,254,34,10,129,72,138,13,4,71,28,115,160,209, -193,1,130,178,129,241,80,241,218,170,219,166,94,163,125,181,52,10,106,49, -117,230,209,111,93,187,139,146,179,91,207,55,30,223,10,62,113,140,245,7, -226,224,152,132,175,230,32,25,23,153,99,67,241,198,170,83,202,27,90,22, -131,253,240,185,95,238,190,62,174,202,94,222,186,191,254,187,33,240,249, -83,232,27,226,14,19,168,111,160,135,148,76,157,17,151,76,57,251,141,61, -235,165,190,107,164,43,110,225,118,156,174,186,94,205,98,22,150,154,254, -213,238,235,243,178,244,229,45,246,181,199,182,3,239,31,70,31,177,131,158, -213,95,234,27,174,54,175,125,17,0,186,242,116,213,77,109,2,12,99,44,247, -155,221,55,198,117,249,203,91,244,238,71,163,192,114,73,236,244,140,46, -137,179,38,80,127,249,195,116,7,250,131,9,176,51,40,113,26,17,200,32,245, -211,202,111,239,190,118,63,152,88,12,109,233,71,83,75,0,44,1,176,4,192, -18,0,139,185,253,95,128,1,0,82,60,235,37,91,79,74,123,0,0,0,0,73,69,78, -68,174,66,96,130}; - -static size_t xml_res_size_2 = 543; -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,1,193,73,68,65,84,120,218,164,83,61,75,35,81,20,61,239,77,146,65,147, -136,141,69,20,113,149,32,17,20,131,203,218,68,113,139,20,46,172,69,192, -194,102,217,114,65,176,176,240,47,88,88,138,90,89,136,22,130,133,251,3, -220,214,34,133,214,138,104,96,145,149,45,212,176,226,7,153,153,247,246, -157,151,15,6,25,68,72,224,240,78,206,57,247,229,222,155,25,161,181,70,59, -159,216,201,234,84,164,161,148,26,116,68,237,138,60,208,137,33,41,101,37, -42,39,163,68,173,20,2,175,118,152,157,41,129,32,167,246,174,11,56,146,14, -252,165,238,222,15,249,174,177,105,16,228,212,162,198,149,17,191,222,41, -156,248,122,110,238,59,42,103,151,22,228,212,232,189,121,1,219,84,190,119, -60,80,248,10,184,255,176,178,121,106,65,78,141,222,235,81,100,168,119,168, -192,95,72,103,178,249,158,79,159,129,171,45,8,147,37,200,169,209,99,6,161, -81,100,104,235,230,155,187,159,43,45,2,231,107,128,119,139,151,90,96,65, -78,205,122,38,163,66,93,200,80,235,71,253,211,243,144,247,135,192,243,111, -32,145,198,195,147,103,65,78,141,30,51,204,54,71,137,213,91,15,138,169, -76,174,152,25,233,2,42,101,32,158,164,131,131,229,155,198,211,210,97,52, -115,86,203,200,140,140,227,238,44,87,124,252,123,81,116,132,248,37,181, -50,243,200,142,163,225,47,179,192,205,174,89,88,202,192,20,184,46,126,236, -140,90,144,215,181,148,205,216,172,169,97,173,84,74,111,244,77,22,16,247, -126,154,86,147,173,98,36,92,220,223,86,45,200,91,151,152,12,179,172,97, -173,56,89,45,232,137,111,189,141,77,138,250,201,195,97,235,141,109,251, -70,8,184,172,230,230,234,228,116,239,15,98,129,175,81,222,190,134,29,69, -55,171,121,152,246,26,148,22,180,104,254,223,54,34,140,41,29,97,211,31, -219,121,27,69,187,175,243,127,1,6,0,210,112,222,124,83,14,113,109,0,0,0, -0,73,69,78,68,174,66,96,130}; - -static size_t xml_res_size_3 = 712; -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,106,73,68,65,84,120,218,164,83,77,104,19,81,16,254,222,118,19,147, -205,143,77,65,74,169,86,200,181,222,90,11,198,130,10,69,68,10,61,233,205, -147,34,104,17,41,205,65,240,226,193,67,209,166,32,85,79,122,105,65,193, -130,160,20,164,80,20,188,136,249,177,154,82,209,216,88,44,214,212,208,252, -54,118,211,236,159,243,118,147,77,181,222,28,152,125,240,102,190,111,190, -157,153,199,12,195,192,255,152,200,63,140,49,251,226,244,56,122,84,13,99, -186,142,1,78,205,35,130,0,180,8,152,39,191,54,59,138,68,35,151,23,103,230, -167,78,112,234,22,238,5,188,254,203,231,142,93,68,247,193,67,80,148,10, -138,242,58,126,22,87,145,92,121,143,216,242,18,106,138,54,51,27,198,217, -93,4,4,126,210,217,214,113,230,238,249,105,36,215,166,240,225,219,20,84, -157,171,163,234,228,46,71,16,21,217,135,87,201,69,200,53,253,62,41,25,182, -9,6,35,172,199,231,146,226,119,46,76,227,229,167,97,228,43,235,166,108, -83,23,107,200,181,188,80,108,67,44,149,135,102,160,247,249,136,145,16,120, -80,81,113,123,240,240,16,22,127,60,64,142,36,11,212,25,214,98,57,40,67, -165,67,214,128,75,33,3,14,87,30,237,1,64,215,48,14,43,108,218,137,96,251, -1,44,231,94,152,178,107,228,84,1,116,64,165,179,74,12,35,253,214,180,92, -18,224,247,152,202,142,219,83,224,161,170,86,198,54,33,174,134,172,196, -200,27,6,7,209,215,168,114,184,191,57,106,209,97,78,4,141,233,11,214,24, -129,242,175,172,37,185,110,163,71,12,108,82,229,112,168,9,158,120,203,32, -138,118,91,154,4,2,221,228,202,25,56,137,61,18,111,134,175,31,109,130,35, -49,6,247,30,2,19,66,211,25,26,171,99,18,104,219,136,126,201,164,161,87, -91,225,113,81,242,59,246,199,182,69,18,22,216,225,4,74,5,134,205,45,234, -77,21,81,187,7,27,31,49,246,217,151,125,234,113,239,197,190,46,192,75,36, -147,73,6,189,190,7,18,7,211,239,105,10,144,205,2,153,130,129,44,97,108, -5,11,143,49,87,222,192,204,66,186,132,149,148,128,74,30,112,83,53,47,117, -219,67,93,119,82,153,82,142,225,107,138,33,157,49,80,225,185,143,48,103, -246,111,199,42,119,157,188,129,135,82,43,6,58,2,12,62,201,218,64,243,23, -169,21,92,54,175,204,193,243,55,17,166,235,213,93,111,129,44,216,61,132, -208,254,94,92,17,221,232,107,140,138,135,85,25,209,239,113,76,46,61,195, -107,14,254,231,99,170,27,213,70,39,185,255,175,151,91,38,95,35,223,218, -249,26,127,11,48,0,21,217,8,247,239,0,61,254,0,0,0,0,73,69,78,68,174,66, -96,130}; - -static size_t xml_res_size_4 = 28298; -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,1,94,0,0,0,253,8,6,0, -0,0,244,212,31,238,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,19,1,14,96,172,77,70,0,0,32,0,73,68,65,84,120,218,236, -189,121,148,36,87,125,231,251,189,17,145,107,237,213,85,213,93,189,170, -213,45,117,107,69,194,180,132,36,22,33,192,200,102,176,97,108,51,32,204, -120,192,224,237,217,48,140,7,243,252,240,120,198,140,61,108,102,177,7,176, -49,198,62,198,216,99,124,30,188,177,13,99,179,10,108,48,32,217,108,146, -44,185,213,45,209,173,94,171,107,207,61,34,238,189,239,143,136,200,188, -113,243,222,136,200,172,204,170,204,170,184,231,196,201,204,200,200,136, -200,229,126,242,23,223,223,6,164,35,29,233,72,71,58,210,145,142,116,164, -35,29,233,72,71,58,210,145,142,116,244,108,144,244,35,72,71,250,91,232, -201,224,233,71,144,142,116,178,165,35,253,222,83,24,167,35,157,128,233, -24,192,239,56,253,254,55,31,184,41,140,211,145,78,188,29,244,221,146,46, -126,11,233,239,35,57,60,121,135,175,73,1,156,78,206,116,236,32,216,18,205, -109,250,123,232,13,136,185,230,54,133,112,58,210,137,182,141,191,71,18, -1,90,29,108,73,151,86,114,10,218,104,216,138,183,60,1,116,83,0,167,224, -77,199,54,0,46,81,128,85,183,14,17,0,78,71,52,128,117,128,229,9,214,165, -0,78,193,155,142,33,7,174,10,172,134,98,189,161,120,46,206,42,78,135,94, -82,144,239,51,255,49,83,192,150,197,64,56,5,112,10,222,116,12,9,116,137, -6,174,193,173,17,177,78,4,49,137,145,30,210,161,134,46,87,128,150,9,143, -89,196,58,157,101,156,194,55,5,111,58,6,220,202,53,20,192,53,133,91,67, -184,85,45,226,235,84,0,78,127,43,237,48,148,65,41,195,85,94,168,112,203, -133,91,25,214,169,245,155,130,55,29,67,96,229,26,10,224,6,160,213,45,134, -116,75,52,146,68,250,27,73,102,237,138,208,164,10,208,234,22,166,0,48,75, -173,223,237,63,172,244,35,24,90,232,202,178,129,8,82,203,95,76,233,214, -18,224,107,73,175,21,247,149,90,189,201,173,93,166,128,46,3,224,10,128, -117,133,91,249,190,33,129,90,182,160,137,112,44,146,194,55,5,111,58,54, -15,186,34,240,100,224,202,176,149,151,140,191,88,194,173,41,65,88,150,30, -82,240,118,14,94,166,176,112,3,184,58,194,173,35,172,23,23,226,191,134, -248,251,33,194,62,137,112,236,20,190,41,120,211,177,137,208,37,26,224,154, -10,200,102,0,100,53,247,69,40,155,19,147,179,197,93,119,191,242,136,57, -125,213,172,147,29,45,50,43,151,55,243,99,69,128,123,199,229,156,80,238, -205,115,26,51,221,185,244,188,203,213,235,131,193,52,235,229,227,112,206, -194,143,25,11,238,68,159,16,115,219,207,81,60,40,167,210,246,52,102,127, -12,32,132,131,81,128,16,206,27,213,42,192,235,188,81,169,178,245,133,43, -246,63,125,242,52,93,187,84,83,64,53,0,174,173,185,31,124,159,174,36,67, -200,176,39,41,124,183,223,101,108,58,134,11,186,42,171,54,43,44,57,233, -113,22,64,230,232,243,127,234,90,243,25,63,114,155,189,235,232,117,235, -60,191,135,83,119,132,4,144,109,167,148,2,86,26,232,137,143,117,64,20,214, -115,74,227,225,169,218,167,12,97,145,234,42,32,235,206,51,226,184,205,125, -82,55,254,61,137,159,19,231,28,140,86,136,149,189,196,74,87,30,181,31,251, -251,7,26,15,124,226,164,0,90,113,105,72,143,85,214,48,147,164,140,36,89, -113,233,72,193,155,142,30,67,215,148,160,43,90,179,57,1,182,57,0,249,96, -221,158,19,247,238,31,123,209,27,94,188,50,121,236,25,220,174,77,198,95, -88,167,192,237,4,184,161,247,199,219,204,245,85,94,47,253,83,253,155,159, -248,63,206,99,95,126,202,7,110,3,64,93,128,111,176,78,180,132,69,248,210, -20,190,41,120,211,177,117,208,13,22,209,194,205,9,75,94,92,126,224,223, -191,245,68,245,214,251,94,190,80,39,135,192,89,252,119,189,25,192,77,184, -253,240,3,151,133,207,17,224,36,87,60,227,156,250,250,95,86,255,238,189, -15,250,224,21,151,134,176,136,22,176,168,25,203,33,103,41,124,83,240,166, -163,15,224,213,105,185,89,201,178,205,3,40,4,203,158,19,247,30,28,121,249, -187,126,97,213,181,142,166,192,221,114,224,202,251,228,48,51,167,106,95, -252,208,135,156,83,255,120,22,64,77,88,234,146,37,108,35,28,9,33,91,190, -41,120,83,240,166,163,79,208,21,163,22,50,17,192,45,26,134,81,188,234,63, -127,234,85,171,147,215,222,75,192,50,41,112,7,10,184,194,251,112,193,65, -28,182,126,249,239,42,255,239,91,255,12,64,213,95,116,0,118,4,248,138,186, -111,106,245,14,233,48,211,143,96,96,37,6,51,6,186,5,0,69,0,163,0,70,246, -158,120,209,225,241,55,125,250,55,202,153,201,103,16,112,51,30,184,220, -3,46,15,175,107,222,74,219,182,221,87,236,175,9,92,158,124,123,221,113, -219,128,203,121,244,185,232,206,95,7,220,16,76,121,228,231,20,122,127,74, -224,242,214,57,70,237,147,137,199,229,38,201,141,28,203,253,192,191,189, -147,87,87,30,101,75,103,170,104,133,242,37,29,28,105,162,75,10,222,116, -108,8,188,114,114,132,12,221,156,2,186,35,0,70,110,252,55,191,116,98,245, -197,255,253,173,174,99,239,74,129,59,216,192,85,236,103,204,58,120,203, -115,72,110,228,41,122,238,225,197,24,200,234,42,155,165,240,77,193,155, -142,30,73,12,98,184,88,160,233,230,125,224,6,203,232,190,215,254,207,31, -94,121,218,203,255,47,194,156,92,10,220,33,2,174,184,63,206,50,198,204, -85,119,88,115,71,43,206,233,111,156,133,190,14,68,154,62,188,205,38,125, -58,6,11,186,114,244,66,94,130,238,40,128,209,249,87,255,246,11,27,199,126, -240,245,196,48,76,61,72,52,26,46,128,177,185,125,120,218,92,6,7,199,12, -236,27,51,49,146,33,24,201,16,20,45,239,116,152,4,139,32,33,130,73,183, -156,115,184,146,156,201,120,56,3,192,101,222,118,76,145,100,17,58,61,222, -58,110,219,62,133,99,82,225,69,140,35,193,126,91,199,78,178,95,213,62,153, -116,220,146,205,81,167,64,217,102,88,172,114,172,149,203,160,11,167,65, -151,158,106,38,111,68,2,55,24,52,216,150,185,244,252,35,31,169,221,255, -225,47,0,40,251,75,160,255,6,186,175,28,237,144,234,189,41,120,211,177, -1,240,202,18,131,172,233,134,160,251,3,247,253,183,187,159,188,241,229, -191,72,192,204,78,128,91,152,217,135,123,15,103,113,207,193,44,102,10,70, -8,142,1,108,168,68,156,38,104,17,6,151,8,73,29,240,24,239,12,204,226,241, -84,251,228,77,232,243,72,128,6,16,213,65,89,254,227,72,2,229,168,125,138, -80,94,107,112,124,235,178,139,198,233,111,130,174,94,140,5,110,232,59,3, -168,251,212,247,62,80,255,202,31,126,89,3,95,209,225,38,130,55,141,114, -72,165,134,116,108,208,218,13,82,123,197,24,221,38,120,103,238,122,249, -177,149,103,255,226,155,219,34,23,34,36,133,177,185,125,120,195,157,123, -240,243,183,20,112,195,140,133,124,134,180,138,13,112,47,77,215,101,60, -148,222,27,236,38,152,213,46,11,64,234,129,143,75,48,115,133,195,50,222, -130,163,12,98,42,144,193,101,97,43,83,183,79,17,184,142,188,79,120,231, -207,5,56,82,22,94,215,4,184,112,156,0,184,226,123,235,116,159,12,225,207, -141,113,32,99,16,28,26,55,113,240,224,65,176,221,199,80,46,87,192,171,171, -173,119,29,33,125,16,192,48,198,231,110,229,118,237,123,108,233,204,26, -194,5,120,116,197,212,131,251,169,214,155,90,188,233,232,194,218,53,37, -107,55,112,164,141,4,150,238,196,228,236,76,246,173,223,120,47,115,106, -187,146,88,184,36,91,192,191,123,250,60,94,114,52,215,44,131,149,90,184, -173,227,246,194,194,149,165,9,113,159,204,63,222,55,47,58,168,127,251,211, -224,118,173,221,242,85,89,196,134,181,88,254,228,175,253,39,94,93,93,18, -44,223,10,90,225,102,182,66,114,72,173,222,212,226,77,71,2,240,170,172, -93,209,161,150,67,43,130,161,8,96,100,247,255,253,185,55,217,196,186,38, -206,194,5,103,24,219,189,31,191,121,207,44,110,219,147,9,151,211,226,45, -203,77,134,199,118,183,112,131,227,58,61,180,112,169,194,106,110,82,208, -183,170,231,71,76,20,247,29,195,242,242,50,120,109,77,3,92,193,161,199, -89,49,115,248,182,189,206,163,95,122,0,237,245,125,101,121,33,181,122,83, -240,166,99,3,214,174,129,150,67,173,45,116,236,214,151,191,245,217,139, -251,78,252,152,151,141,22,29,165,112,232,208,33,188,251,238,49,76,228,136, -22,184,34,60,82,224,246,7,184,193,54,140,3,57,147,96,102,223,33,92,41,217, -224,229,37,53,112,197,117,102,102,159,49,58,253,125,122,238,225,139,10, -232,50,133,236,144,142,20,188,233,232,129,181,219,148,26,178,133,226,120, -237,190,15,255,42,97,78,49,46,44,236,208,161,67,120,219,179,70,97,25,41, -112,7,1,184,226,62,45,131,96,102,207,94,15,190,165,43,106,224,6,63,18,198, -136,53,123,213,117,206,99,95,249,2,168,163,202,94,163,49,86,111,58,82,240, -166,67,97,237,170,192,171,210,119,139,87,253,194,71,127,172,158,223,117, -91,92,28,238,196,158,3,120,251,115,70,145,53,73,10,220,1,2,110,104,159, -0,166,118,239,197,210,210,50,88,109,173,61,14,88,140,17,166,78,209,154, -63,94,119,78,127,227,95,17,238,108,161,42,27,41,91,190,41,128,7,116,24, -233,71,48,16,150,175,24,74,38,151,124,204,154,217,124,97,117,239,137,31, -110,2,87,92,4,141,208,24,155,193,255,120,246,24,50,38,105,194,193,3,75, -56,54,85,12,252,28,201,16,204,20,12,204,20,12,76,230,9,198,115,6,10,126, -28,175,205,194,49,187,148,113,56,52,236,228,98,188,5,190,0,184,14,229,77, -16,137,208,115,121,107,159,92,0,189,45,239,19,97,7,155,120,92,121,127,193, -118,129,83,47,56,174,77,209,213,62,25,0,71,250,204,130,109,92,214,218,103, -147,118,220,219,54,216,70,220,94,222,167,67,91,97,107,22,1,174,250,129, -187,97,228,71,195,192,21,235,81,248,139,49,185,247,197,48,51,121,8,117, -149,133,223,137,220,180,52,133,109,106,241,166,35,129,204,16,212,101,208, -198,238,30,120,205,251,127,216,30,221,251,204,184,76,179,159,127,214,1, -92,61,105,198,90,184,22,1,246,142,154,152,45,26,40,102,8,44,66,96,25,222, -101,176,101,16,152,4,200,103,8,8,241,0,38,130,69,4,174,40,48,238,20,11, -23,2,112,147,90,184,148,133,175,24,28,255,252,51,38,193,250,228,81,184, -103,190,219,158,5,23,206,218,203,155,179,87,175,185,223,255,167,83,8,215, -234,85,53,204,76,229,134,212,226,77,71,7,22,175,88,20,39,212,194,167,122, -245,115,239,81,89,184,98,44,232,225,195,135,113,251,124,38,210,194,117, -25,48,157,55,112,116,202,66,193,106,129,160,105,193,137,219,115,15,208, -99,89,2,211,32,33,224,202,251,220,9,22,110,11,226,221,89,184,204,255,44, -92,41,155,238,234,73,11,214,190,235,245,87,50,193,68,221,117,232,30,133, -197,107,42,172,93,162,145,182,210,145,130,119,199,235,187,178,214,43,91, -190,77,248,142,93,255,156,121,234,210,131,58,224,130,51,128,24,120,205, -77,133,72,224,186,12,56,56,102,96,239,104,251,87,206,20,208,116,132,198, -103,121,147,32,227,107,198,157,2,23,216,121,192,13,98,127,163,128,27,156, -191,203,128,137,107,79,8,214,110,251,224,140,2,224,135,172,3,55,239,70, -184,119,158,169,128,111,10,219,20,188,233,232,66,227,13,53,175,156,124, -209,47,222,67,56,53,148,192,245,199,53,71,14,99,255,168,161,5,46,231,192, -222,81,3,51,69,163,205,194,165,44,108,201,58,18,52,60,184,112,4,70,111, -167,192,165,108,231,1,55,88,226,128,27,44,147,57,195,179,122,21,192,229, -65,3,78,230,26,217,235,238,121,158,164,239,38,177,120,211,49,128,35,237, -50,188,117,86,175,174,78,67,168,61,123,117,215,181,55,194,117,34,45,162, -151,28,201,133,50,195,228,76,179,145,12,193,222,145,86,93,6,17,58,128,58, -251,172,165,101,182,158,15,224,155,180,208,205,48,102,154,201,26,174,248, -39,20,181,207,208,159,85,91,219,53,233,74,68,145,153,103,29,188,5,238,185, -135,5,11,23,109,223,57,25,221,117,147,252,251,128,218,177,150,118,35,78, -193,155,142,4,22,175,104,237,54,173,94,195,48,50,156,152,7,192,27,208,92, -131,194,152,218,143,227,187,172,166,133,43,130,47,24,71,167,44,37,60,40, -107,109,39,167,14,139,214,110,96,109,6,183,189,2,174,12,241,157,0,220,224, -177,92,180,108,102,44,143,243,249,49,176,234,170,254,79,150,24,7,125,139, -215,148,126,43,105,84,67,42,53,164,163,11,153,65,110,221,110,2,48,39,239, -252,119,135,97,87,115,42,224,6,19,243,222,105,43,36,41,120,0,106,205,234, -160,212,163,14,90,50,192,2,0,51,132,225,224,50,111,91,66,200,134,37,5,25, -68,59,65,82,104,213,197,8,127,174,12,28,182,191,63,115,246,176,214,185, -6,206,0,230,228,173,35,183,31,148,100,6,18,177,164,35,5,111,58,20,114,131, -124,63,100,245,230,175,189,243,136,14,184,156,82,112,74,49,189,175,168, -4,110,0,199,233,130,225,89,162,80,203,9,42,32,51,33,228,203,102,122,107, -53,5,238,198,129,107,211,214,177,140,169,253,136,250,147,5,117,97,237,189, -254,136,100,237,154,136,119,170,165,16,78,165,134,20,182,10,139,87,190, -84,52,1,24,238,212,85,7,100,173,79,110,34,121,104,220,108,3,174,8,141,137, -44,105,179,102,67,176,21,42,148,137,214,174,67,195,64,145,47,247,3,88,165, -146,66,103,146,2,131,38,38,154,3,230,228,110,165,182,219,172,219,203,25, -72,97,226,160,0,93,221,239,39,5,109,10,222,116,116,161,245,18,0,6,205,79, -78,235,128,11,120,37,31,103,138,134,18,184,129,5,153,179,72,83,167,21,7, -101,225,48,50,6,189,211,44,144,25,184,111,1,203,208,77,129,187,49,224,6, -207,23,51,6,170,34,116,5,224,182,102,108,118,90,252,141,164,218,110,10, -222,116,116,111,5,43,181,94,70,140,28,34,218,164,147,194,4,0,239,146,87, -6,110,0,157,172,65,66,22,177,172,239,234,134,236,84,19,235,57,132,210,102, -183,16,184,128,186,85,207,176,1,87,220,23,201,141,128,87,86,148,223,55, -0,16,195,40,64,157,38,172,138,150,73,35,26,82,240,166,67,35,59,168,238, -123,147,202,48,243,161,110,5,242,78,76,83,154,244,237,151,255,196,159,126, -202,112,49,169,16,58,101,28,46,15,203,12,129,181,27,60,39,195,52,5,110, -111,128,27,220,39,134,9,206,163,254,18,73,78,128,110,212,111,41,29,41,120, -211,209,1,140,13,193,194,53,181,30,110,0,176,242,145,29,31,116,176,18,195, -200,148,219,115,30,114,122,133,47,227,121,104,127,41,112,123,3,220,230, -99,67,61,37,155,97,124,132,136,27,24,41,112,83,240,166,99,227,224,13,75, -14,140,171,129,27,220,231,44,148,218,11,133,140,192,53,157,129,67,19,30, -97,143,190,104,65,203,96,11,160,18,28,119,80,129,171,2,229,64,3,23,0,111, -22,199,81,0,55,88,79,76,64,29,70,166,3,112,42,57,164,224,77,71,4,112,101, -125,14,28,156,16,21,112,229,117,208,247,73,83,61,167,5,31,90,153,106,162, -204,192,125,11,56,216,70,180,116,83,224,246,8,184,58,11,87,250,238,57,101, -202,223,74,106,245,166,224,77,199,198,164,134,176,21,35,131,86,154,136, -250,198,148,188,41,13,40,1,45,133,145,201,67,101,25,139,241,176,219,1,184, -226,123,24,4,224,250,189,214,154,183,202,43,29,213,111,36,133,110,10,222, -116,36,130,107,242,161,177,112,155,144,208,0,87,7,81,239,49,143,200,92, -11,71,51,4,146,2,143,236,4,156,2,119,163,192,229,148,122,208,101,84,251, -157,131,49,192,72,115,158,82,240,166,163,191,144,102,174,94,243,3,0,230, -70,2,215,85,88,178,148,181,135,145,5,48,20,245,221,64,102,96,205,244,96, -30,138,110,16,53,224,20,184,27,7,174,242,207,86,4,110,103,127,224,169,5, -156,130,55,29,93,91,196,194,4,12,3,215,79,170,96,92,11,220,246,242,143, -170,36,10,46,65,45,28,19,172,114,170,181,226,121,121,10,220,94,2,55,72, -13,22,33,203,20,114,131,75,85,210,84,58,82,240,166,163,151,178,131,10,184, -226,68,148,157,92,114,181,48,213,144,33,33,202,12,0,66,157,19,130,253,136, -80,227,220,171,49,144,2,183,135,192,229,49,192,109,62,79,82,43,55,5,111, -58,54,5,202,186,137,232,223,143,42,207,24,85,133,76,21,70,38,67,207,150, -74,71,218,12,33,232,238,100,224,202,251,220,40,112,57,227,209,206,212,30, -254,161,167,35,5,111,58,244,230,110,184,235,172,98,34,138,210,128,174,30, -110,216,218,229,218,48,50,64,157,225,38,86,217,74,129,219,103,224,74,127, -170,237,191,9,150,206,139,20,188,233,232,235,160,17,30,110,206,0,230,70, -2,183,221,137,38,197,242,74,240,177,89,43,102,215,245,75,30,170,100,6,17, -186,41,112,123,104,225,6,223,105,100,239,181,116,164,224,77,199,38,88,189, -209,30,239,184,242,140,42,199,154,186,60,100,56,75,173,5,212,176,204,32, -199,255,38,1,110,112,155,2,55,2,184,254,194,21,194,124,19,184,126,99,211, -116,164,224,77,199,102,65,87,147,189,22,87,158,177,93,106,8,223,151,195, -200,100,139,84,150,25,92,166,135,125,10,220,238,129,27,105,225,234,162, -91,210,145,130,55,29,253,24,44,58,131,41,136,108,64,116,121,70,166,128, -111,88,62,8,100,5,174,140,138,8,98,119,185,80,60,39,5,110,15,128,43,67, -53,248,62,20,192,109,109,148,202,13,41,120,211,177,53,114,131,48,81,147, -148,103,108,129,132,43,33,199,218,128,27,0,54,92,165,76,5,243,20,184,189, -3,110,83,223,77,29,104,41,120,211,177,149,192,229,202,73,40,95,110,70,1, -87,39,7,168,182,19,179,213,116,18,132,88,187,55,5,110,143,129,11,180,186, -78,180,125,121,93,135,151,165,35,5,111,58,54,98,233,134,128,75,93,128,185, -202,242,140,1,176,228,86,238,42,233,65,23,122,38,202,12,242,177,217,38, -3,23,8,215,215,221,150,192,21,95,163,2,174,31,193,146,58,215,82,240,166, -99,211,12,95,9,184,194,68,102,9,138,215,132,229,134,246,251,162,156,224, -208,150,204,16,0,182,217,123,141,183,172,222,20,184,189,7,174,50,75,145, -185,210,239,32,181,120,83,240,166,99,243,160,171,106,124,40,220,215,85, -11,211,201,10,45,80,182,128,43,203,12,34,152,228,250,190,114,52,69,10,220, -30,1,55,128,110,27,112,211,145,130,55,29,155,164,52,80,53,112,35,36,5,93, -241,26,217,58,110,1,48,217,164,246,90,190,115,56,44,92,82,114,171,129,43, -239,115,168,45,220,160,44,100,51,49,38,5,110,10,222,116,108,254,96,49,30, -110,161,16,122,82,224,134,160,23,161,239,138,37,32,229,100,9,151,1,116, -39,2,215,105,128,187,14,64,109,128,185,225,215,16,195,187,111,90,32,132, -168,123,167,69,0,55,113,172,174,206,249,150,142,20,188,233,232,187,41,28, -107,225,234,10,156,203,32,20,45,230,144,190,27,33,51,48,13,208,6,21,184, -205,109,59,0,46,183,107,224,245,18,120,163,226,45,78,67,99,213,82,229,247, -210,212,104,13,3,196,204,0,102,22,196,202,0,153,60,72,166,16,134,187,6, -244,186,239,92,26,186,214,81,193,194,177,115,11,231,12,236,37,67,10,222, -129,254,217,68,55,187,228,140,198,150,103,244,32,168,182,120,185,96,45, -187,138,40,5,85,49,29,177,171,241,118,3,46,175,151,192,202,203,224,181, -53,207,178,229,250,4,150,88,224,6,18,3,101,224,78,189,157,2,62,128,73,182, -0,146,201,169,123,172,137,143,213,101,33,137,2,192,170,38,152,59,9,190, -92,243,249,12,20,136,83,240,14,153,133,27,220,231,98,229,50,68,103,175, -5,207,203,183,140,115,45,104,69,72,185,66,125,6,151,161,221,153,53,204, -192,165,54,88,105,17,108,125,193,131,173,108,137,118,11,92,93,252,117,176, -190,86,2,175,149,90,242,68,110,4,36,63,22,93,141,142,179,128,37,65,151, -97,249,54,184,207,132,251,92,88,118,130,69,75,34,182,35,131,2,225,20,188, -131,14,92,105,2,182,133,136,33,58,93,56,36,17,72,177,185,226,144,163,20, -28,202,155,69,113,66,96,67,184,198,239,176,2,151,59,13,176,181,75,224,149, -37,239,185,205,2,174,10,172,174,13,238,212,193,203,75,96,229,69,112,167, -225,201,18,65,204,174,120,30,97,192,6,183,226,34,3,24,216,222,45,222,121, -196,99,30,97,249,110,41,132,83,240,14,137,181,203,85,178,131,224,92,75, -154,189,38,15,185,131,69,91,235,118,214,46,51,48,14,56,195,106,225,50,23, -116,245,34,120,233,202,214,3,87,37,45,184,182,167,45,3,32,153,28,136,149, -3,76,171,181,15,195,132,4,215,96,49,133,133,43,164,134,157,96,241,170,30, -115,233,57,21,116,201,102,3,56,5,239,64,255,172,92,53,112,145,192,194,213, -0,86,140,76,112,67,128,227,138,88,88,30,234,217,22,200,12,67,9,92,206,60, -73,97,245,194,230,74,10,9,129,235,133,145,73,235,156,134,103,253,154,190, -83,142,144,160,231,154,233,207,93,83,184,111,1,160,2,72,152,191,240,65, -211,55,251,8,92,213,45,215,60,150,173,225,77,5,112,10,222,33,179,124,67, -147,153,185,202,206,16,128,92,128,92,93,95,161,9,72,180,91,184,174,38,106, -33,176,118,135,202,105,230,52,192,86,206,129,85,86,59,3,174,248,220,38, -2,87,62,62,119,27,128,219,0,60,0,139,160,205,0,200,2,112,37,232,154,194, -99,182,205,192,203,53,235,116,112,21,23,22,177,221,166,2,56,5,239,48,2, -87,88,39,234,173,58,184,170,30,115,69,33,28,30,33,85,48,222,138,221,13, -210,135,7,29,184,33,43,55,120,126,136,128,171,4,48,115,3,224,6,208,13,192, -203,36,232,238,20,240,170,172,88,38,193,150,73,224,149,239,71,1,152,167, -224,221,105,204,165,76,11,220,230,229,179,6,184,98,218,175,104,13,183,28, -100,60,100,229,2,225,250,12,140,135,245,93,155,182,59,215,100,224,138,160, -220,242,56,92,74,193,150,207,122,86,110,63,129,27,188,166,23,192,13,50, -215,34,107,48,115,226,67,55,7,192,241,161,43,90,186,129,228,32,75,13,219, -13,186,58,43,151,73,192,149,151,224,15,137,38,0,112,223,172,223,20,188, -131,110,237,198,212,103,77,90,158,81,222,94,124,141,28,199,43,74,16,98, -41,72,241,254,160,2,23,0,120,163,2,122,229,201,112,210,195,128,3,87,172, -205,160,4,110,112,110,166,65,36,232,138,150,110,70,144,29,118,10,120,69, -43,87,134,174,248,57,184,194,58,234,127,94,76,241,89,137,48,238,155,245, -155,130,119,152,164,134,208,36,244,82,86,147,2,87,142,84,104,147,42,132, -215,187,17,133,207,197,42,101,131,6,92,112,6,86,89,5,93,60,19,6,217,144, -0,183,41,89,232,74,67,122,247,9,128,188,6,186,34,140,25,212,94,253,237, -2,93,104,52,92,17,166,84,248,35,162,210,227,224,214,16,192,204,133,117, -125,181,126,83,240,14,27,116,165,2,42,113,229,25,41,131,50,234,33,104,229, -35,175,119,168,58,5,89,140,122,16,173,221,164,192,109,234,202,125,2,46, -0,208,181,203,96,43,23,226,83,123,55,11,184,242,254,163,128,171,250,190, -153,194,90,39,196,0,80,240,39,191,33,64,55,231,195,67,4,175,124,73,190, -93,193,203,4,104,138,22,174,8,88,71,248,124,196,251,193,66,252,237,8,212, -250,184,104,241,110,216,250,77,193,59,24,131,196,130,87,85,177,74,209,236, -82,174,22,166,220,173,34,10,130,115,117,165,215,64,223,21,97,234,73,14, -131,3,92,78,41,232,210,25,240,202,202,208,3,215,152,220,11,98,152,32,35, -83,106,24,27,86,230,142,93,231,15,26,6,108,211,52,26,166,105,56,166,105, -216,132,16,106,24,132,26,6,113,61,62,19,70,136,247,129,18,210,73,153,179, -78,234,253,246,107,219,184,190,114,132,19,2,110,219,148,158,61,91,90,63, -115,102,177,180,186,90,183,21,224,117,37,216,218,254,173,188,4,207,83,9, -194,80,72,15,61,129,111,10,222,65,31,81,37,2,133,102,151,81,229,25,229, -112,48,149,165,204,120,123,187,118,135,242,144,38,236,248,97,102,97,216, -111,33,112,25,7,168,237,233,185,141,202,208,0,23,102,22,217,235,239,193, -47,205,148,112,124,250,52,198,198,22,80,40,44,193,48,92,225,42,119,89,103, -236,77,0,207,191,79,109,0,170,12,194,110,183,233,245,62,147,36,152,117, -186,77,232,62,119,93,82,105,52,248,114,165,226,46,60,241,196,250,163,127, -254,231,15,127,227,161,135,46,45,74,208,109,104,110,77,127,27,177,206,5, -69,56,203,190,103,240,77,193,59,224,82,67,100,137,64,206,18,149,103,20, -161,171,138,104,176,21,178,66,40,142,23,173,8,137,166,60,177,213,192,229, -204,131,238,194,105,112,187,54,240,192,37,185,17,228,78,252,4,62,56,255, -119,152,153,57,9,195,248,211,13,92,93,167,192,85,108,79,44,139,143,90,22, -31,29,25,49,15,206,205,77,62,227,182,219,238,250,73,199,49,150,158,122, -170,254,173,143,125,236,91,127,251,15,255,112,254,156,15,215,6,188,48,188, -134,207,192,134,15,94,195,135,112,112,75,36,243,91,5,223,212,226,221,137, -218,111,92,121,198,230,197,155,130,198,34,72,229,196,9,113,27,57,18,130, -75,161,106,155,14,92,0,112,235,112,23,158,0,130,202,95,3,10,92,115,246, -48,222,117,203,8,174,190,250,235,176,172,119,111,80,206,76,129,219,201, -246,134,65,72,46,199,102,142,30,205,254,224,111,252,198,237,47,40,151,249, -153,47,124,225,220,95,253,238,239,62,248,117,0,117,127,201,160,149,144, -18,100,2,6,22,175,163,209,76,100,135,27,79,193,187,29,180,221,230,252,101, -122,205,215,47,136,173,43,207,24,192,182,41,33,64,29,74,166,130,113,0,97, -135,9,86,45,208,44,154,195,16,150,37,54,5,184,194,115,65,184,24,152,59, -176,192,53,166,246,227,119,238,204,224,208,161,111,129,16,119,0,128,187, -89,16,239,21,112,123,187,79,66,96,140,141,225,240,203,94,182,255,63,222, -123,239,190,87,124,230,51,23,62,246,193,15,62,240,160,2,188,98,161,33,72, -247,123,6,223,20,188,67,102,225,138,173,128,184,235,104,211,133,147,20, -202,145,43,141,137,144,85,21,202,105,74,19,180,101,249,110,38,112,69,232, -114,234,12,166,134,107,88,56,248,162,215,226,119,14,190,23,150,85,75,129, -187,197,192,85,173,43,20,176,231,39,126,98,239,155,159,255,252,151,61,244, -182,183,125,243,247,191,243,157,11,23,37,240,26,10,224,242,94,194,55,5, -239,192,3,55,162,217,101,4,112,69,160,202,16,21,67,201,228,215,201,33,102, -76,146,28,154,189,55,249,230,2,55,232,10,65,23,78,171,11,216,12,128,211, -204,156,61,140,143,255,240,26,70,71,127,43,5,238,0,2,87,250,45,144,169, -41,126,243,251,223,255,204,247,221,127,255,210,31,253,198,111,124,229,139, -10,240,234,62,132,13,199,244,26,41,221,6,87,118,224,245,117,19,212,245, -160,171,10,172,247,83,134,41,227,205,248,219,166,92,160,168,167,208,148, -5,124,57,33,128,176,171,233,80,33,86,45,99,66,226,131,172,43,139,197,209, -131,154,14,34,116,57,231,96,174,219,234,234,32,66,75,4,43,227,45,29,151, -185,173,197,239,14,17,130,110,240,58,198,194,173,208,169,221,14,79,206, -91,201,9,212,13,247,57,147,23,1,184,205,228,7,149,228,227,247,93,11,246, -159,185,238,121,248,203,151,62,138,209,209,127,77,8,220,168,130,89,28,250, -36,173,184,109,250,177,207,184,125,35,98,63,73,183,225,93,188,167,141,191, -111,206,221,220,115,159,59,246,179,31,249,200,11,94,15,96,12,192,8,128, -34,188,88,233,2,188,248,232,156,32,73,152,146,36,1,197,109,10,222,97,214, -121,89,117,205,100,171,23,218,211,73,133,33,3,215,102,106,224,170,156,111, -114,196,132,203,195,150,174,88,159,193,21,32,203,55,17,184,224,12,172,188, -12,119,225,137,86,29,131,1,2,46,231,28,227,247,252,12,62,117,207,167,144, -205,150,250,4,92,12,41,112,249,192,2,87,92,71,8,49,142,30,45,188,232,175, -255,250,165,191,62,62,158,153,144,224,155,135,23,1,145,81,200,17,93,195, -55,149,26,6,93,109,112,26,160,171,23,97,140,207,121,117,89,21,151,197,113, -213,194,194,154,46,87,90,183,129,220,224,178,112,252,174,168,239,182,42, -147,133,67,201,122,45,41,132,222,91,121,25,116,229,252,198,37,5,205,57, -116,35,41,136,251,159,126,225,207,225,99,199,223,129,232,4,1,253,101,176, -105,102,49,62,190,27,133,194,4,10,133,9,88,86,198,95,159,81,0,35,9,196, -117,151,219,113,240,138,219,38,201,235,58,181,118,147,188,39,104,255,120, -56,167,96,204,5,231,12,245,122,13,245,122,25,229,242,42,170,213,114,87, -82,202,216,152,115,195,199,63,254,162,183,189,242,149,159,253,175,149,138, -35,30,44,170,170,153,129,46,106,98,164,224,29,134,225,218,96,107,151,96, -140,206,132,27,35,66,29,131,43,3,87,229,108,99,92,175,3,171,182,227,156, -55,211,143,155,235,250,8,92,0,96,165,69,15,186,3,8,92,0,40,62,239,103,240, -167,215,189,3,92,91,196,72,13,142,108,182,136,217,217,163,152,155,59,138, -241,241,61,126,22,240,70,44,76,157,101,140,152,253,34,193,54,73,225,201, -251,112,108,36,176,148,219,33,221,104,84,177,176,112,14,11,11,231,80,42, -173,116,164,93,143,141,177,163,31,255,248,11,223,250,178,151,253,159,183, -9,59,22,43,154,169,170,153,17,116,232,104,27,6,240,110,151,238,168,170, -214,219,186,182,220,225,201,15,0,212,5,91,187,4,50,50,229,53,69,148,47, -145,53,213,194,116,181,117,101,205,183,217,61,88,74,156,104,178,159,181, -182,119,25,218,36,133,94,2,23,0,232,202,69,176,210,194,64,2,23,0,178,215, -221,131,191,184,254,61,26,232,170,173,171,124,126,28,7,15,62,29,243,243, -199,65,136,41,60,207,182,9,244,182,22,184,193,227,92,46,135,3,7,174,198, -129,3,87,99,125,125,25,103,207,158,196,226,226,165,196,86,240,228,36,191, -254,143,255,248,158,159,127,205,107,190,244,1,180,138,235,200,149,204,228, -66,68,67,31,213,64,182,49,136,9,162,219,112,67,185,78,4,108,121,9,112,234, -32,197,169,72,224,70,38,188,73,93,39,116,150,174,216,107,205,211,143,57, -92,169,88,78,175,129,203,25,247,234,232,150,151,7,18,184,0,96,76,236,193, -39,158,251,121,24,134,147,8,184,134,97,226,170,171,78,224,192,129,91,36, -224,242,20,184,61,4,174,106,155,241,241,9,220,120,227,9,172,174,46,226, -228,201,239,249,50,68,124,18,201,225,195,185,231,188,237,109,183,159,250, -245,95,255,230,103,160,174,106,38,90,191,172,83,171,215,26,96,208,110,23, -75,87,7,84,162,121,190,245,88,46,138,29,252,60,26,21,112,234,192,152,220, -19,91,158,49,144,18,154,61,211,218,202,63,182,39,85,136,49,189,65,54,155, -88,229,140,195,115,154,245,26,184,96,110,184,69,207,128,1,55,56,222,71, -94,196,145,201,172,197,78,94,128,99,108,108,22,215,95,247,195,40,20,199, -82,224,110,34,112,229,237,38,39,167,113,226,196,115,112,250,244,191,224, -252,249,39,37,199,114,187,4,193,57,200,93,119,77,190,234,121,207,219,247, -200,253,247,159,63,133,112,69,51,42,89,191,70,167,86,175,49,32,16,66,66, -11,208,80,44,230,16,45,226,57,19,225,190,1,189,183,84,193,9,10,110,215, -192,150,206,162,100,243,102,181,176,112,213,49,14,59,34,139,66,14,33,115, -133,140,53,209,177,198,164,152,95,47,170,129,111,40,74,33,28,69,192,189, -168,7,183,14,186,120,198,131,110,39,81,10,154,115,8,125,86,29,70,41,40, -59,86,248,208,157,190,247,23,177,123,247,163,9,156,74,28,179,179,87,227, -214,91,127,220,135,46,135,186,222,182,170,39,165,174,115,141,174,97,2,139, -120,13,18,108,195,35,252,72,170,99,163,79,199,230,29,28,155,117,112,236, -32,122,1,56,122,244,58,28,63,126,179,215,56,52,6,228,134,129,252,47,255, -242,13,111,64,43,186,33,8,43,83,69,56,232,164,67,229,48,183,8,184,81,86, -32,17,222,136,33,1,151,40,64,76,134,100,81,253,97,136,77,11,131,30,90,121, -127,41,100,174,121,214,243,193,220,241,144,213,38,64,144,152,89,216,35, -187,81,38,69,140,228,76,16,16,48,112,56,130,19,236,197,71,114,160,190,197, -234,248,11,245,45,95,135,1,14,5,26,148,55,215,59,12,160,126,88,154,67,189, -251,193,115,118,16,251,235,186,0,167,222,2,222,76,244,240,96,27,128,138, -42,183,9,89,184,212,245,11,186,219,160,11,79,0,141,178,15,65,30,97,225, -10,159,65,112,28,229,254,253,237,24,107,191,12,224,12,96,173,16,183,176, -133,203,37,125,221,223,7,163,48,38,118,227,127,221,243,69,24,70,35,214, -129,54,63,127,61,142,31,127,33,12,195,216,177,86,102,242,99,199,237,183, -219,99,171,95,51,58,58,134,209,209,113,44,46,94,242,191,123,189,230,155, -205,98,242,248,241,185,234,23,191,120,238,20,218,139,172,139,82,3,6,81, -227,37,17,143,73,204,165,56,137,249,7,25,22,73,130,8,87,25,98,127,44,249, -182,105,197,115,112,239,127,89,87,143,32,136,115,93,57,135,139,245,9,76, -77,239,130,101,68,151,131,148,97,198,36,73,66,213,85,56,176,160,3,199,154, -108,89,118,35,41,132,218,244,44,63,213,44,118,51,48,146,66,176,15,225,56, -239,121,246,62,152,230,227,145,192,5,128,185,185,107,112,236,216,243,132, -79,53,5,238,32,0,87,188,157,153,153,197,241,227,55,225,209,71,191,19,43, -59,156,56,49,246,111,71,70,50,159,171,84,156,160,178,89,3,173,142,31,193, -124,101,2,171,6,66,227,37,17,247,101,216,170,76,118,35,2,212,195,4,95,249, -61,25,130,181,43,222,138,5,59,212,233,177,18,36,56,231,224,149,101,44,215, -75,176,102,14,98,60,107,248,96,209,71,53,200,112,149,235,249,54,229,6,222, -170,207,224,6,9,18,130,164,208,6,92,25,140,26,224,2,0,91,187,4,182,190, -160,148,20,6,9,184,0,96,204,92,133,107,174,249,71,196,165,166,22,139,83, -62,116,59,129,158,37,237,51,240,225,240,109,9,189,238,142,221,141,30,30, -125,236,185,185,221,40,149,174,194,83,79,61,137,168,80,51,211,228,99,111, -127,251,237,47,125,195,27,190,250,231,190,220,16,212,240,181,4,205,151, -68,24,134,124,51,193,155,20,184,178,100,96,104,100,4,67,179,159,97,129, -175,10,188,98,131,216,184,0,0,32,0,73,68,65,84,98,219,150,28,90,237,186, -3,8,19,45,112,69,136,176,160,19,67,13,206,133,127,197,202,200,36,138,211, -123,96,25,146,213,42,84,42,211,129,89,172,189,235,48,222,140,223,13,89, -205,1,116,187,4,46,183,107,94,203,245,122,105,224,129,27,188,230,127,60, -125,15,128,135,181,192,5,0,195,48,112,195,13,47,130,105,90,9,128,107,194, -75,142,202,138,215,27,8,119,157,9,12,44,154,2,183,79,49,205,135,15,31,193, -234,234,18,74,165,181,136,239,150,227,248,241,252,11,13,195,248,36,99,44, -144,4,27,10,157,87,182,122,55,93,106,32,9,128,107,40,52,92,217,185,100, -198,104,185,195,40,53,168,192,43,106,187,45,0,187,54,137,130,174,18,22, -156,129,149,22,81,174,174,195,156,57,20,2,106,187,229,219,178,106,109,26, -111,21,55,29,109,162,51,171,3,224,130,51,176,218,186,215,23,141,218,67, -1,92,79,75,207,224,216,177,175,35,174,64,203,193,131,79,199,200,200,148, -194,193,35,67,98,20,94,86,170,202,137,36,110,107,248,63,5,226,207,243,20, -184,189,2,110,203,129,70,112,236,216,245,248,231,127,254,186,164,247,134, -95,159,201,240,201,183,188,229,230,103,189,253,237,223,249,60,128,26,244, -41,196,108,43,192,27,167,221,234,156,76,178,87,223,138,128,113,84,12,236, -48,130,215,242,103,87,14,173,252,112,15,190,94,71,89,53,108,117,154,106, -48,220,58,220,139,143,161,108,207,168,173,74,197,8,82,133,67,229,34,121, -75,223,101,28,224,174,211,138,221,237,0,184,220,174,129,173,93,10,89,185, -131,14,220,96,228,239,184,15,153,204,7,17,85,17,43,159,31,197,193,131,183, -42,252,44,242,100,158,246,255,95,25,162,211,102,69,120,27,254,60,183,135, -28,184,221,88,236,253,15,177,27,29,29,193,252,252,94,92,184,112,46,66,191, -7,110,191,125,250,110,0,95,246,231,171,165,0,111,34,153,161,215,224,37, -17,144,33,130,5,171,11,3,147,29,77,58,0,39,213,125,7,25,188,68,2,111,96, -245,22,16,42,206,193,137,18,184,33,153,193,85,106,190,77,254,114,160,226, -180,167,12,139,225,99,237,157,36,120,155,213,203,192,155,165,32,219,122, -136,69,1,215,117,60,224,86,87,134,14,184,94,24,28,195,251,246,126,21,113, -65,247,7,14,220,34,68,48,232,38,255,44,24,31,135,65,26,26,32,68,133,119, -17,180,186,212,12,183,149,57,40,192,21,215,29,56,112,8,151,46,157,7,99, -76,251,29,143,141,225,218,201,201,124,113,117,181,94,69,184,82,153,108, -245,198,246,102,179,250,0,21,40,28,101,166,2,182,86,204,34,3,89,39,61,12, -147,163,77,118,36,154,146,220,144,67,171,28,93,161,185,173,12,27,85,181, -50,85,127,54,225,117,13,151,163,230,42,234,245,242,112,38,155,8,91,209, -177,214,4,119,16,147,155,0,184,188,186,18,114,158,37,2,174,4,204,173,4, -110,48,230,231,163,35,25,44,43,139,249,249,99,49,16,25,7,227,83,32,176, -35,44,220,40,168,49,65,126,112,83,224,246,56,226,163,80,200,97,215,174, -25,92,185,114,89,251,7,107,24,200,254,204,207,92,115,226,93,239,122,232, -243,80,183,10,74,124,21,110,245,1,186,178,51,204,212,0,55,19,177,168,0, -108,108,67,240,202,86,111,46,4,95,206,141,182,90,5,73,129,43,108,43,66, -182,65,129,170,203,209,112,213,85,202,2,240,58,146,137,236,50,132,178,213, -180,192,109,84,192,42,171,158,133,59,228,192,5,128,236,241,231,192,178, -62,167,4,110,48,102,102,14,195,48,76,168,19,1,188,175,154,241,121,201,133, -169,218,142,69,0,23,72,30,154,54,140,192,5,182,58,196,110,207,158,61,62, -120,245,87,55,79,123,218,196,211,1,220,47,93,153,171,90,6,245,21,188,81, -208,21,245,90,75,2,110,86,184,205,10,208,9,1,248,186,217,217,201,87,29, -59,118,203,1,66,14,204,0,123,204,233,233,233,188,235,230,70,42,149,44,105, -52,242,44,151,51,0,192,168,121,45,86,136,109,39,211,51,221,118,128,201, -219,50,97,2,42,29,83,49,175,87,109,167,138,157,229,0,97,210,231,201,184, -39,49,188,108,122,127,142,249,189,197,84,231,75,100,232,74,192,85,118,171, -224,158,142,107,51,79,130,8,0,44,166,21,139,142,52,46,167,11,11,29,126, -155,176,173,151,192,234,101,79,191,21,226,113,135,25,184,94,228,6,197,196, -241,59,0,124,46,210,177,54,59,123,56,6,122,19,224,200,130,160,230,247,95, -235,6,142,12,201,234,218,14,143,149,57,104,49,205,211,211,147,48,77,3,148, -82,45,124,167,166,172,195,10,99,82,151,113,171,141,231,181,122,12,93,67, -146,22,68,224,202,176,205,171,238,191,238,134,27,174,255,145,217,217,23, -78,77,79,95,59,126,242,228,46,178,182,214,122,51,171,171,225,159,124,169, -229,168,161,98,205,1,205,9,243,46,183,137,172,180,170,128,169,14,190,52, -2,220,170,227,19,133,149,27,2,135,8,152,88,224,106,238,3,40,217,28,53,135, -163,228,240,38,124,29,198,97,251,89,109,53,151,131,53,170,224,245,146,103, -209,214,203,224,181,18,64,109,240,70,165,187,56,220,1,7,110,48,222,106, -124,62,194,9,6,16,66,48,49,177,7,234,116,218,96,140,130,128,106,36,6,121, -130,51,68,167,206,242,8,203,58,5,238,70,142,77,8,193,248,248,56,86,86,150, -181,127,178,185,28,166,35,174,196,19,251,154,172,62,65,87,37,41,228,164, -165,25,62,53,91,40,140,189,231,153,207,252,177,171,167,167,239,26,63,121, -114,23,150,150,128,165,37,128,144,88,56,13,5,112,123,112,142,106,112,48, -192,181,245,192,229,172,189,38,3,11,239,79,110,251,222,112,61,41,162,226, -112,56,142,227,21,228,177,107,224,181,53,112,183,1,94,43,129,219,149,238, -51,205,134,4,184,193,235,119,237,90,136,188,244,44,22,39,97,89,86,196,228, -55,64,249,52,8,168,15,95,22,3,92,36,4,46,75,129,219,135,152,230,241,241, -49,172,172,44,41,255,100,61,157,151,231,111,188,113,106,242,225,135,87, -214,161,118,248,39,130,175,213,71,232,138,192,205,10,176,13,10,78,20,230, -114,185,137,223,57,113,226,149,199,42,149,231,88,139,139,5,44,46,70,30, -120,167,1,183,64,179,40,233,228,18,13,200,180,186,47,90,93,42,196,174,19, -193,57,48,221,49,68,103,26,99,221,87,11,219,44,224,70,188,255,78,128,219, -252,14,10,75,145,142,181,66,97,34,102,242,103,165,235,29,21,112,117,0,6, -226,139,199,164,21,200,122,1,220,96,221,200,72,33,82,207,7,56,110,191,125, -215,129,135,31,94,57,135,248,16,215,190,133,147,137,7,146,161,155,149,172, -219,0,184,69,0,133,247,60,235,89,63,116,183,235,190,60,179,182,54,18,119, -144,157,104,225,2,64,193,205,160,20,7,220,40,224,68,232,212,209,117,28, -194,239,161,85,157,203,13,193,117,59,3,55,120,79,153,76,29,81,69,84,10, -133,145,152,201,110,248,150,46,245,245,93,213,37,44,75,168,241,50,133,35, -46,5,110,47,99,154,115,185,28,226,186,42,79,79,231,198,208,158,252,133, -24,75,55,4,97,171,11,208,170,172,93,29,116,243,2,108,139,0,10,55,76,77, -237,126,255,29,119,252,167,221,79,61,117,44,5,110,244,62,139,110,38,82, -183,141,5,174,208,147,77,6,172,203,218,219,3,121,201,19,222,210,6,80,241, -62,115,133,12,182,237,9,220,96,152,102,3,113,61,211,146,1,2,49,26,111,92, -28,175,14,192,41,112,123,1,220,224,177,101,25,136,171,199,49,54,102,140, -66,159,212,5,36,136,110,176,54,0,93,85,6,154,40,47,4,86,110,0,221,145,55, -221,122,235,237,63,105,24,191,144,121,234,169,209,157,6,220,78,247,201, -185,223,92,71,7,220,102,88,23,213,2,215,3,146,122,255,162,181,171,171,72, -166,204,78,11,30,83,119,232,128,27,58,159,24,224,6,207,19,98,71,92,118, -194,79,154,96,49,58,42,34,192,18,5,140,184,90,179,105,5,178,94,31,219,52, -141,200,239,219,115,176,153,5,36,233,28,211,39,231,154,156,129,21,64,55, -47,64,55,104,147,60,242,193,187,239,126,233,179,215,214,238,131,109,27, -41,112,163,129,27,140,188,147,209,107,187,162,229,166,0,110,172,149,12, -53,112,67,197,207,121,123,106,114,155,181,184,77,129,219,218,206,208,78, -64,15,204,201,160,167,118,172,233,182,215,21,243,150,173,222,20,184,189, -79,34,137,74,229,246,161,105,109,188,116,129,213,1,104,161,48,165,229,232, -5,49,60,172,105,233,126,248,196,137,87,62,115,113,241,101,126,59,213,174, -128,155,33,4,217,185,57,152,19,19,48,138,69,144,76,6,196,52,181,147,91, -172,218,165,76,181,13,77,88,214,254,156,235,198,110,171,221,175,98,27,157, -246,42,174,227,52,108,189,158,222,181,2,156,67,52,76,21,158,124,109,120, -151,228,100,147,45,92,25,196,92,112,190,53,187,51,64,145,170,188,13,129, -219,58,142,126,2,170,33,168,130,4,141,212,12,227,157,104,42,40,167,192, -237,45,112,163,156,149,225,251,156,111,60,97,171,91,169,65,213,73,65,172, -178,21,164,188,22,255,232,185,207,189,239,25,203,203,47,243,123,109,104, -161,171,2,238,248,209,163,40,62,227,25,200,95,123,45,114,135,14,181,131, -74,132,171,10,116,126,187,23,37,16,197,125,136,207,49,93,38,88,120,191, -177,199,86,189,78,7,90,205,177,141,111,229,163,173,215,136,162,227,109, -197,211,53,142,52,151,105,28,108,254,185,113,215,105,135,124,212,241,134, -21,184,242,113,34,45,222,164,90,169,24,35,234,70,188,62,73,148,130,74,118, -72,129,219,159,36,18,196,192,151,1,27,172,148,104,117,0,92,17,186,36,1, -116,71,126,235,196,137,23,61,125,105,233,165,42,232,234,128,155,203,229, -48,254,156,231,96,252,7,127,16,153,217,217,118,192,109,39,224,10,219,106, -45,107,174,182,142,117,151,251,50,112,155,165,31,153,36,49,196,193,56,228, -76,243,227,133,21,96,220,190,192,245,143,19,234,142,21,101,5,71,1,128,70, -64,55,14,10,170,72,6,142,237,103,101,14,2,112,85,178,14,52,223,121,44,39, -123,46,53,168,34,25,178,18,120,139,255,254,230,155,111,124,9,165,175,149, -229,5,29,112,179,134,129,137,231,63,31,83,47,123,25,140,98,177,213,58,124, -39,2,151,49,181,213,170,131,27,34,218,3,65,76,154,208,195,23,8,167,6,107, -45,106,25,186,219,22,184,72,8,92,214,165,5,217,9,40,88,194,227,164,192, -237,221,177,99,165,134,13,149,164,181,58,164,184,174,164,97,224,84,203, -1,200,239,159,156,156,250,185,107,174,121,19,78,158,180,146,72,10,197,201, -73,236,126,227,27,145,59,124,184,255,192,77,10,189,45,4,110,172,38,172, -114,176,169,96,22,165,107,75,195,149,163,26,34,66,201,130,234,99,219,30, -184,44,222,209,162,207,34,107,61,31,118,172,37,181,184,58,73,23,78,129, -219,187,48,55,150,84,106,144,185,216,115,141,55,206,218,181,208,202,78, -203,3,200,127,232,198,27,127,102,244,228,201,169,56,224,2,192,196,77,55, -97,247,207,255,60,72,161,48,156,192,141,176,154,187,6,46,99,177,240,224, -146,194,175,4,174,4,18,38,29,187,89,244,60,4,104,128,131,107,65,175,44, -186,190,45,129,155,68,235,75,2,148,40,104,71,193,155,69,56,126,88,44,236, -211,146,143,157,2,55,234,216,137,164,134,158,129,55,202,218,53,116,50,195, -79,31,59,118,243,161,213,213,103,6,167,25,21,114,53,125,231,157,152,253, -233,159,86,67,108,39,3,87,190,229,76,111,185,234,128,171,9,37,163,140,43, -33,167,220,175,162,195,69,91,145,30,21,112,21,192,27,58,224,114,150,0,184, -42,11,104,163,214,104,148,198,200,52,86,112,10,220,222,1,151,39,252,179, -237,31,120,85,32,86,149,123,204,10,22,111,238,167,166,167,95,131,82,201, -136,139,113,157,190,237,182,22,116,59,4,110,27,168,182,27,112,21,86,163, -18,80,212,77,12,92,85,246,90,176,223,160,102,67,40,107,77,144,50,154,225, -100,62,244,56,163,234,158,105,219,8,184,173,144,185,124,196,164,75,166, -181,182,71,52,240,132,144,142,235,76,145,2,183,247,22,46,239,43,112,59, -213,120,229,80,50,49,118,55,128,111,254,87,111,185,229,174,209,245,245, -131,52,2,184,128,23,38,54,243,218,215,118,14,92,195,0,12,3,220,113,122, -11,220,54,139,113,0,128,171,139,35,86,90,187,110,108,178,132,232,100,11, -218,183,203,48,22,147,39,66,239,73,60,158,0,251,237,13,92,196,0,55,180, -163,14,29,94,188,131,133,41,116,95,62,224,192,221,200,101,253,86,167,42, -179,136,207,165,119,178,131,213,129,204,160,75,17,14,164,134,220,139,166, -166,126,20,11,11,145,89,100,133,66,1,179,63,251,179,32,166,233,77,238,8, -224,18,66,96,20,139,48,242,249,102,178,4,167,212,91,28,7,188,209,0,171, -215,195,241,176,59,1,184,33,171,215,214,126,214,224,172,45,89,34,206,18, -102,28,205,102,150,60,84,204,65,83,23,120,219,2,23,9,128,203,35,156,95, -72,32,69,36,113,92,169,138,226,240,14,156,117,59,187,198,110,231,146,15, -239,43,112,59,149,26,116,250,110,83,227,253,137,171,174,186,102,116,97, -225,80,92,45,217,93,175,122,21,204,137,9,101,124,174,8,38,115,108,12,230, -212,84,19,70,156,210,16,16,9,33,64,38,3,195,183,128,89,181,218,110,165, -13,51,112,25,3,201,22,52,180,244,183,165,142,22,184,161,202,100,17,73,19, -114,214,90,51,162,65,37,103,48,161,66,217,182,7,174,184,175,164,81,13,157, -64,34,9,116,117,173,128,146,192,62,5,238,198,53,246,168,239,187,255,206, -53,85,154,176,41,75,13,175,218,187,247,197,16,187,69,160,189,78,194,228, -209,163,24,185,253,246,72,224,2,64,102,126,30,70,62,223,14,57,223,226,13, -201,19,254,107,140,108,22,44,216,126,8,128,219,124,78,1,220,224,126,27, -120,229,52,93,234,70,2,23,156,161,100,243,80,205,58,149,133,171,130,115, -200,113,22,212,228,109,150,133,116,183,63,112,155,239,41,137,163,133,37, -132,94,82,157,151,39,0,46,27,82,224,198,73,49,91,157,57,215,127,199,90, -82,139,87,23,209,208,132,175,97,24,153,253,213,234,205,58,224,6,99,234, -37,47,105,131,144,12,208,236,254,253,32,133,130,103,229,138,181,1,4,171, -176,13,142,254,125,146,201,180,129,121,24,129,27,140,103,218,187,240,101, -21,112,131,187,78,205,139,167,53,12,109,54,219,165,10,195,222,17,67,41, -49,168,210,133,219,18,40,68,253,88,132,150,148,76,177,253,128,139,132,19, -48,137,134,171,155,176,73,38,191,10,184,221,244,95,75,129,219,121,76,115, -127,28,107,58,240,18,141,213,43,167,10,55,193,251,115,199,142,221,4,199, -25,141,170,22,54,113,224,0,242,199,143,71,70,41,100,118,239,110,102,173, -105,65,39,0,57,4,59,255,62,33,4,76,116,14,13,33,112,131,125,190,212,112, -241,101,217,186,148,167,110,109,13,164,48,209,6,220,224,241,99,75,46,246, -140,100,225,114,253,5,146,43,151,134,148,194,196,180,78,182,173,4,174,236, -92,236,49,112,91,213,217,146,56,90,162,42,133,37,9,53,99,9,128,155,164, -5,124,10,220,254,3,119,107,45,222,144,206,123,215,196,196,9,190,190,174, -4,110,48,198,158,253,108,165,68,16,60,54,138,69,88,51,51,30,152,84,224, -146,173,87,133,68,17,132,61,17,66,192,55,144,46,220,81,45,5,85,120,219, -6,129,27,140,235,230,234,241,165,29,171,171,48,243,99,218,242,140,95,62, -189,138,187,15,206,133,32,171,114,174,121,231,166,232,60,33,189,15,238, -58,45,232,110,107,224,38,157,128,73,38,127,82,25,130,39,112,216,241,4,176, -79,129,219,125,214,94,146,108,197,254,131,87,87,252,60,128,174,9,192,220, -235,186,215,68,69,50,16,66,80,188,229,150,80,20,131,236,92,203,204,206, -42,39,144,88,142,80,233,148,242,65,217,182,239,33,6,110,176,207,171,214, -190,4,24,150,30,28,140,129,149,22,97,78,237,83,131,146,81,52,30,254,60, -214,239,188,15,132,8,122,174,242,123,130,22,122,224,204,115,228,201,29, -40,182,51,112,19,59,214,84,16,68,23,214,85,39,225,101,124,155,66,111,16, -82,149,147,232,250,27,119,174,25,49,192,149,183,85,89,189,230,88,189,62, -171,131,46,0,140,239,217,211,114,150,5,50,128,52,65,205,137,137,16,148, -100,203,88,149,173,214,4,174,228,120,19,31,135,246,19,188,70,6,179,227, -132,165,9,57,138,66,132,163,112,30,33,71,158,252,103,225,56,77,89,164,169, -55,171,246,233,134,227,98,57,165,205,117,230,216,24,230,199,238,86,2,183, -249,154,234,10,184,211,104,171,80,198,93,199,59,102,117,13,31,252,118,85, -205,237,182,199,82,203,31,31,124,226,57,115,187,162,248,227,112,189,234, -101,10,157,153,51,234,65,87,21,9,33,70,76,72,181,33,130,196,141,208,115, -98,227,77,249,15,75,62,95,21,116,131,99,82,55,4,232,230,249,169,228,154, -196,14,49,93,146,67,167,137,14,73,128,27,23,219,203,98,180,225,40,135,93, -92,103,227,94,30,59,106,191,27,57,182,238,53,73,143,13,36,75,172,232,61, -120,117,82,67,27,120,247,20,10,35,140,210,145,182,75,82,222,170,3,144,59, -114,68,13,92,31,70,230,216,152,26,46,49,50,131,114,2,202,145,13,67,8,92, -113,127,47,29,61,166,181,140,3,144,176,210,66,27,112,197,177,254,181,63, -199,201,101,55,36,47,136,221,56,154,29,50,154,156,227,222,34,127,230,78, -221,131,252,160,3,87,134,110,55,192,165,254,123,235,10,148,113,181,20,162, -244,224,141,36,83,164,192,221,24,112,59,73,122,233,47,120,85,5,114,196, -176,50,227,133,123,246,28,228,126,189,93,25,184,193,196,206,238,221,171, -4,110,51,108,170,80,104,183,112,35,36,131,230,182,110,251,165,109,91,84, -195,38,3,87,60,191,141,0,55,144,41,238,189,102,69,13,92,1,18,244,202,147, -74,224,122,192,177,193,27,21,124,242,175,254,6,139,85,22,106,237,30,118, -134,114,229,103,238,129,213,5,168,13,182,190,176,115,128,203,89,7,151,206, -60,6,0,136,145,25,24,58,75,168,224,3,8,92,222,39,224,170,101,0,206,41,24, -115,64,169,13,74,29,127,177,193,152,3,175,254,113,146,222,117,157,84,124, -227,216,172,4,10,93,85,245,80,132,195,254,66,97,90,213,83,76,188,111,77, -79,171,245,205,32,18,193,52,149,18,69,34,201,65,2,152,178,136,206,38,104, -184,33,224,38,141,124,208,149,110,20,34,55,174,99,255,8,99,124,206,131, -158,66,195,5,0,216,53,176,213,11,48,38,247,42,163,18,56,231,160,139,103, -240,231,159,248,75,220,243,111,126,28,51,69,163,205,193,22,234,58,44,133, -145,113,183,225,193,157,58,131,165,225,170,182,237,88,195,21,128,27,43, -49,68,69,53,116,162,163,70,173,67,7,22,238,246,46,249,200,57,3,165,13,48, -102,195,117,109,48,230,250,11,69,92,172,52,33,4,134,97,128,16,3,134,97, -194,52,77,255,214,242,27,148,70,245,187,139,115,170,110,94,145,28,157,212, -64,70,12,99,132,9,64,83,253,116,85,37,31,67,137,2,65,58,176,42,155,45,34, -22,87,150,47,148,5,111,54,2,92,141,180,177,25,192,21,95,255,75,19,63,134, -223,89,251,96,59,112,69,110,44,157,1,25,221,21,106,246,33,67,141,174,94, -196,23,63,249,39,40,222,113,31,158,189,63,3,198,1,135,134,107,54,112,215, -9,105,188,108,245,2,220,133,39,252,203,238,157,3,92,125,56,153,202,209, -146,4,60,73,34,5,122,213,226,125,120,129,203,57,131,109,87,224,186,117, -184,110,77,234,125,151,180,236,38,247,34,116,154,33,143,225,125,24,134, -9,203,202,192,52,179,254,173,25,11,242,173,136,106,208,181,180,32,0,140, -81,195,40,128,210,200,250,12,70,54,27,13,61,5,84,117,77,37,101,103,153, -44,23,180,93,254,15,18,112,117,145,25,26,224,6,227,13,183,63,133,223,185, -144,5,183,107,218,47,138,219,53,208,203,143,195,218,115,173,190,120,13, -188,240,179,242,231,63,128,207,142,205,32,115,244,14,76,205,95,133,209, -44,9,165,11,179,210,34,232,194,105,208,197,39,193,27,21,53,0,183,51,112, -19,69,53,200,49,183,73,188,250,72,24,253,16,23,106,198,208,31,43,115,235, -128,235,56,53,216,118,25,142,83,235,240,207,43,238,51,109,223,7,99,20,182, -237,2,168,194,107,233,110,193,178,178,200,100,114,157,68,53,144,126,130, -55,10,192,4,0,49,12,195,140,171,207,160,132,139,14,118,178,206,169,169, -195,171,124,44,234,168,219,0,184,193,182,238,197,239,226,182,131,175,192, -55,79,253,177,26,58,193,203,215,23,64,115,35,158,228,160,3,162,191,158, -173,47,160,241,207,255,31,46,6,87,29,57,207,63,234,129,214,213,3,112,167, -0,55,81,251,159,36,213,194,146,22,44,79,106,225,70,133,61,13,87,201,71, -207,186,45,161,209,40,131,49,183,239,192,213,237,39,208,135,27,141,50,92, -151,195,117,109,152,166,37,92,61,106,35,26,72,204,227,196,224,37,9,1,76, -132,31,108,100,125,134,16,68,21,208,211,93,126,71,1,45,4,83,149,252,160, -114,118,13,33,112,197,245,127,116,124,1,55,62,153,105,21,198,209,116,119, -160,11,167,65,172,28,200,200,148,22,78,170,196,135,20,184,138,115,227,73, -27,31,118,227,140,137,179,112,129,246,110,194,44,6,230,195,82,99,151,161, -94,47,193,182,75,146,94,187,185,192,85,61,166,212,133,235,218,160,212,150, -52,225,222,142,110,219,187,171,0,172,215,121,21,157,21,98,11,153,107,156, -104,74,72,107,178,221,182,3,112,131,117,214,210,247,240,203,251,95,143, -223,254,254,7,180,22,111,243,227,184,248,24,172,249,227,32,138,140,54,109, -226,67,55,192,21,95,179,237,128,139,14,128,219,137,71,60,41,192,84,78,181, -97,7,174,39,41,212,106,43,91,106,225,198,59,53,91,26,49,165,46,12,195,128, -101,89,48,12,51,194,147,213,63,240,170,45,98,1,72,44,206,98,149,128,171, -5,169,174,157,123,4,152,67,217,107,162,220,48,228,192,21,31,255,244,228, -39,240,222,201,189,96,171,23,244,169,196,204,179,146,220,115,15,195,156, -61,12,99,124,46,5,110,87,192,21,207,179,211,178,144,221,212,126,237,84, -122,224,29,67,175,59,224,34,1,236,227,143,205,24,69,173,182,188,41,26,110, -119,192,21,63,219,240,243,158,38,76,65,8,129,101,89,232,197,176,186,130, -173,96,249,114,128,232,128,27,122,11,17,233,194,58,157,87,7,229,182,166, -152,178,83,77,206,88,27,114,224,6,175,37,153,12,190,120,235,157,120,222, -87,254,119,123,1,116,5,8,233,194,105,175,150,195,244,1,192,202,166,192, -237,0,184,237,81,13,81,142,22,214,129,227,170,19,203,57,46,22,118,56,106, -236,58,78,13,213,234,18,56,167,3,12,220,184,239,199,251,13,57,78,3,166, -201,115,155,109,241,182,255,160,21,45,98,196,159,49,13,244,214,36,242,66, -132,38,44,191,86,12,37,83,70,58,104,164,139,126,2,87,220,103,47,129,43, -38,123,204,175,127,21,255,253,240,107,240,95,78,125,88,15,66,1,52,188,180, -8,94,91,131,49,181,31,198,232,116,10,220,196,192,69,12,112,59,41,104,174, -219,79,55,1,252,186,102,151,131,7,92,206,41,106,181,21,216,118,101,136, -128,27,247,71,235,85,97,221,10,240,106,251,200,203,192,141,4,116,148,158, -203,244,13,30,219,234,49,72,177,187,205,76,48,41,153,98,24,129,171,188, -82,0,240,227,99,255,27,159,220,247,147,248,206,83,31,211,2,55,180,206,105, -120,214,239,234,5,24,227,115,48,70,166,5,246,164,192,85,2,151,179,4,101, -33,147,0,44,169,53,220,105,195,75,54,0,192,213,235,203,148,218,168,84,22, -125,45,183,83,224,2,201,164,155,78,129,11,36,75,92,233,89,91,119,162,219, -193,198,5,11,198,180,192,101,42,232,106,178,215,180,186,176,78,98,112,93, -237,37,190,178,112,250,54,0,174,184,237,159,77,126,6,255,121,233,205,248, -219,202,59,181,192,109,131,178,93,3,93,60,3,186,244,20,140,145,73,144,220, -8,72,166,16,150,33,82,224,38,40,11,217,77,37,174,78,172,70,166,112,180, -69,233,201,131,85,242,209,113,170,168,86,151,253,239,98,88,128,171,59,54, -34,44,241,45,148,26,162,128,27,41,41,232,178,210,20,192,210,130,91,148, -25,68,16,43,116,223,196,192,149,45,238,94,1,87,183,223,14,129,219,212,123, -77,19,239,222,255,123,176,191,255,255,224,11,245,223,138,4,174,202,161, -214,172,187,0,0,102,22,196,48,1,211,2,136,161,4,110,219,185,234,10,179, -203,89,117,81,231,162,168,4,166,236,110,44,238,71,103,153,243,120,9,75, -245,57,196,159,103,146,116,97,214,1,244,144,0,190,128,62,110,151,163,243, -104,137,205,171,177,219,104,172,163,94,95,23,160,59,44,192,5,244,61,215, -144,0,200,155,13,94,206,17,215,206,61,46,76,76,105,41,169,178,211,34,52, -222,32,118,183,13,92,219,12,184,226,62,140,124,30,191,123,228,247,240,107, -23,223,132,79,45,191,47,17,112,149,176,113,235,234,159,147,214,1,234,38, -248,93,176,104,168,177,24,137,68,7,216,36,239,143,177,152,159,44,143,223, -183,178,197,123,18,77,23,26,107,53,78,115,228,26,144,199,149,155,28,148, -162,230,28,149,202,50,28,167,218,103,224,38,117,138,117,10,92,36,56,79, -244,12,190,61,177,120,89,204,15,92,91,184,70,97,153,52,33,170,136,193,213, -58,209,116,208,144,171,133,109,19,224,134,246,105,24,248,205,249,63,193, -225,145,55,224,189,231,254,103,187,197,25,5,220,168,207,46,5,110,196,132, -83,181,232,233,212,34,75,82,113,140,107,172,107,222,3,224,198,193,52,185, -148,194,57,67,185,124,5,148,54,182,57,112,129,205,232,50,156,204,224,165, -20,136,168,46,198,84,250,172,12,158,152,201,217,6,79,225,181,33,103,155, -148,66,188,173,129,43,141,215,142,252,9,94,112,219,79,224,197,15,127,14, -172,188,156,2,119,195,192,77,106,245,196,89,140,44,70,31,84,89,179,42,171, -57,170,220,228,214,117,145,96,204,65,185,124,69,225,68,27,102,224,110,125, -145,156,14,85,7,30,107,5,183,1,55,73,65,28,197,250,54,221,215,15,89,107, -90,186,82,209,156,65,4,110,212,182,137,128,43,252,161,101,44,11,199,237, -191,199,242,243,174,199,175,61,112,11,62,176,240,161,86,172,111,10,220, -238,128,203,25,146,121,185,25,54,18,118,21,125,217,31,213,210,125,107,219, -246,80,234,160,82,185,34,164,253,110,23,224,242,190,1,183,167,224,229,9, -28,107,113,192,141,44,9,41,21,37,87,74,16,58,153,98,7,0,55,147,201,192, -202,100,0,0,213,197,243,120,203,193,51,248,169,107,239,197,127,123,240, -38,124,166,246,246,152,44,183,33,4,110,12,116,123,3,220,36,151,156,64,116, -22,25,98,244,220,164,13,47,25,146,21,223,217,188,10,100,148,218,40,151, -175,128,115,214,1,112,227,44,202,65,183,112,249,96,129,55,202,194,101,178, -133,170,202,38,139,0,181,8,84,45,76,197,206,14,17,112,77,146,76,49,172, -192,53,13,3,212,117,65,25,131,211,104,96,87,227,159,240,158,67,95,195,111, -206,222,139,119,124,231,38,252,101,245,253,224,78,45,5,110,98,224,34,1, -64,117,16,140,179,244,144,0,182,58,15,123,92,171,154,254,2,23,0,28,167, -142,106,117,81,128,238,118,1,174,238,51,239,189,5,220,55,231,26,83,129, -84,7,92,133,229,26,41,61,200,245,27,100,168,171,32,220,47,224,202,48,216, -98,224,2,128,221,104,192,169,215,189,47,248,169,175,224,215,166,238,199, -91,199,57,190,86,120,13,254,230,236,126,252,173,241,1,240,242,82,10,220, -168,237,181,217,107,73,235,238,198,37,58,116,118,89,31,223,214,167,255, -192,5,56,92,87,132,238,118,2,110,146,63,199,222,193,183,39,225,100,58,224, -54,65,42,166,12,43,128,220,86,56,71,5,186,168,186,188,138,201,215,86,163, -119,135,1,55,116,28,0,48,12,220,213,248,4,238,154,101,120,59,165,176,110, -125,1,190,186,176,31,143,174,76,224,84,105,12,95,26,255,44,234,238,229, -86,177,245,168,174,187,212,109,149,167,212,232,174,188,81,174,134,126,205, -196,8,42,142,112,239,156,72,244,239,137,88,225,125,19,67,15,70,18,95,22, -53,193,84,33,254,126,197,204,76,194,57,45,18,98,116,0,132,184,82,143,157, -128,111,112,128,27,84,22,171,84,150,161,42,36,211,187,84,224,65,6,238,128, -89,188,58,224,138,235,59,202,86,211,85,43,211,129,79,108,30,25,209,148, -114,71,2,87,222,167,127,44,247,244,87,240,76,198,112,59,225,192,184,240, -107,48,152,246,253,6,143,79,213,214,241,221,90,13,81,189,246,126,235,194, -133,63,0,80,3,80,247,151,6,0,7,128,235,47,81,213,101,250,57,68,176,6,45, -172,44,127,201,0,200,1,200,251,75,193,182,87,255,99,38,51,10,195,200,32, -62,6,55,137,179,171,243,248,216,232,230,144,221,28,167,51,224,2,28,182, -93,69,181,186,146,208,74,29,102,224,242,190,2,183,119,224,37,68,9,87,37, -136,19,246,32,147,159,87,90,191,42,141,55,162,70,195,118,2,46,0,56,141, -70,87,192,141,218,46,14,184,242,231,196,162,229,166,26,188,222,42,85,255, -126,67,130,47,131,190,158,98,63,161,43,194,87,4,111,0,93,91,56,63,191,75, -194,58,44,171,0,203,42,32,186,217,101,146,184,208,56,224,178,132,32,231, -155,2,92,0,168,215,75,168,215,215,118,128,133,171,139,159,78,234,209,218, -100,139,55,81,84,131,34,131,44,214,234,149,90,186,7,80,10,165,12,75,45, -212,229,216,221,20,184,9,128,43,63,23,161,197,115,191,191,30,139,255,9, -214,125,232,86,124,240,214,4,240,58,254,75,233,22,131,215,244,193,155,241, -151,16,116,189,231,188,83,114,221,42,56,167,200,100,138,8,215,62,81,213, -86,64,132,227,45,105,229,178,164,237,207,251,7,92,128,163,94,95,67,189, -94,222,98,224,38,213,132,59,5,110,220,249,119,33,88,109,22,120,89,54,11, -56,78,100,84,67,162,194,231,113,173,127,20,186,176,42,227,45,4,18,199,217, -49,192,229,141,6,88,189,238,129,209,182,225,248,159,7,213,20,169,55,0,152, -132,192,36,196,51,251,12,3,36,147,1,33,68,11,92,81,90,136,203,86,20,36, -134,154,0,223,186,15,55,199,135,46,211,120,160,250,13,94,67,176,120,77, -31,186,89,9,186,102,120,126,112,80,90,7,64,145,201,140,38,156,232,113,146, -2,160,47,249,136,24,224,246,34,123,45,90,170,168,215,215,81,175,151,118, -16,112,147,70,53,12,112,202,176,44,53,180,89,95,104,175,165,160,179,178, -160,147,45,60,83,36,212,250,39,170,91,69,87,192,213,88,143,27,5,110,0,241, -110,129,75,43,21,176,122,29,78,163,129,58,99,160,154,75,127,30,225,252, -148,183,97,141,6,76,66,144,33,4,5,66,144,53,12,152,146,227,74,25,218,167, -190,234,177,37,248,6,146,131,8,94,154,208,19,213,47,240,154,2,120,29,5, -116,179,242,41,81,106,131,177,85,100,179,163,32,196,76,0,48,134,100,1,251, -113,41,198,44,194,226,237,45,112,1,160,90,93,134,109,215,118,16,112,227, -44,220,65,211,120,37,168,36,214,118,37,233,161,45,66,65,103,21,139,50,132, -220,190,221,7,176,220,133,120,96,129,91,40,116,4,92,86,173,130,150,74,168, -218,118,211,146,237,9,112,69,176,248,86,114,21,0,119,93,16,66,144,35,4, -69,195,64,198,183,144,19,202,76,142,4,95,149,147,77,231,166,223,12,169, -65,212,119,131,115,33,194,186,172,127,158,109,167,22,232,190,45,203,55, -233,101,61,208,121,49,244,184,14,195,189,47,106,94,173,174,192,182,171, -59,16,184,67,150,185,166,5,174,12,28,77,181,48,173,204,160,112,164,41,33, -45,75,13,174,219,74,33,222,6,192,165,165,18,26,107,107,168,11,251,237,53, -112,197,109,100,9,167,204,57,74,190,36,146,55,12,148,37,173,88,243,237, -57,194,98,11,206,181,134,255,152,74,114,195,86,128,215,108,215,116,97,133, -207,93,215,6,6,112,156,18,108,123,77,163,181,198,149,22,228,49,235,163, -90,255,0,157,101,175,37,171,64,198,57,69,165,178,12,215,173,15,1,112,163, -222,99,55,192,141,219,207,128,105,188,81,147,62,116,202,130,117,170,108, -120,169,209,112,197,16,177,72,248,169,106,51,104,172,238,158,1,87,165,95, -247,24,184,181,181,53,216,91,0,92,248,68,146,1,91,101,12,107,148,98,141, -210,166,44,145,145,172,96,223,26,15,192,234,10,139,8,99,119,139,164,6,34, -57,215,44,1,196,25,225,92,131,243,215,78,104,206,1,219,94,71,185,124,30, -35,35,115,32,205,88,227,184,14,20,113,17,9,73,128,27,151,170,220,89,201, -71,74,29,84,171,75,160,212,221,161,192,77,170,241,246,6,192,27,175,78,22, -1,92,87,154,240,170,68,137,88,39,91,18,107,88,33,91,180,213,121,24,34,224, -178,106,21,245,229,229,158,89,184,193,118,27,1,46,20,251,98,156,195,225, -28,6,128,92,187,12,17,252,138,169,180,136,32,214,53,16,219,44,240,114,201, -210,117,219,45,241,248,73,232,186,85,172,175,63,133,98,113,22,153,76,1, -201,138,228,196,193,56,9,112,217,134,129,27,36,70,84,171,43,82,199,136, -157,6,220,36,117,119,7,176,86,131,10,184,34,152,218,66,193,84,151,235,9, -58,12,139,105,194,109,93,38,36,173,55,84,143,119,8,128,203,41,133,115,249, -50,202,194,31,201,32,1,151,105,254,48,25,128,26,231,0,231,34,128,69,74, -48,1,102,242,66,183,72,106,48,53,231,195,212,222,171,232,154,13,222,101, -250,69,20,10,83,200,102,199,253,100,186,78,180,215,184,218,188,44,66,247, -237,14,184,94,199,136,178,212,49,98,51,129,219,141,101,189,213,192,29,144, -122,188,145,192,133,80,143,55,170,175,89,156,149,43,101,166,41,91,169,75, -177,191,109,41,195,3,12,220,32,74,161,188,186,218,19,167,89,191,129,203, -116,114,14,128,58,231,32,45,234,200,48,163,10,232,110,149,197,43,190,29, -241,15,64,130,112,210,248,78,111,125,173,182,4,219,46,161,88,156,134,105, -230,144,60,162,161,27,224,38,173,251,208,126,92,198,92,84,171,171,112,221, -6,186,43,231,184,93,129,203,34,206,127,192,156,107,90,224,42,244,221,168, -98,57,90,56,139,86,172,194,81,166,149,23,182,0,184,0,96,101,50,201,227, -112,41,69,227,242,101,84,253,237,104,68,70,152,14,126,27,1,110,148,246, -203,226,116,123,221,159,128,183,190,155,235,235,126,143,228,153,3,137,28, -43,234,172,53,74,27,40,149,46,34,159,159,64,62,127,32,193,41,116,19,78, -150,36,131,77,125,28,199,105,160,86,91,17,234,232,166,192,237,103,65,156, -190,90,188,81,142,155,72,231,86,132,197,103,250,37,0,0,32,0,73,68,65,84, -134,43,59,216,148,251,4,90,146,66,208,218,93,215,161,120,144,128,203,57, -120,163,129,210,210,82,51,132,107,208,129,203,18,90,192,17,38,97,28,37, -54,195,226,77,146,109,144,0,184,136,97,56,80,175,175,128,177,37,20,10,20, -132,36,205,34,139,42,138,3,232,139,164,199,3,151,49,138,90,109,93,209,23, -109,16,129,27,167,249,118,11,92,36,248,188,146,126,239,91,8,94,230,67,145, -197,65,57,38,123,77,180,88,85,146,130,210,10,86,212,108,144,51,213,54,4, -92,89,166,232,17,112,1,128,173,175,99,173,84,26,58,224,38,250,147,77,254, -11,143,43,112,208,79,248,242,206,103,94,146,34,57,225,237,25,179,225,186, -117,16,194,96,154,144,0,28,197,255,36,233,194,44,17,228,56,167,168,215, -75,104,52,42,42,161,168,75,224,38,121,126,88,129,219,223,2,57,61,1,47,175, -213,192,124,61,83,55,97,181,14,52,232,195,201,162,128,43,166,175,170,178, -226,154,225,103,154,16,182,173,4,46,0,184,139,139,88,173,215,135,22,184, -81,208,165,124,51,216,185,217,35,73,139,119,68,254,175,112,78,225,56,54, -12,131,195,52,13,1,192,170,250,189,113,41,197,12,73,210,133,189,68,143, -10,26,141,178,208,19,45,5,110,247,22,110,239,46,204,250,18,213,192,84,96, -85,165,6,75,93,128,149,189,215,34,58,81,104,11,224,168,146,52,6,0,184,96, -12,181,203,151,155,201,8,131,172,225,178,20,184,49,147,173,155,203,111, -175,57,36,99,142,111,1,19,16,194,65,72,146,94,106,113,161,100,173,237,25, -115,125,224,86,192,57,77,129,219,85,134,91,127,128,219,23,240,234,32,210, -22,246,37,135,121,197,13,57,57,66,114,182,5,199,16,179,213,184,227,40,155, -93,110,9,112,129,166,158,27,196,230,110,87,224,178,109,11,222,56,205,55, -105,177,26,207,247,200,185,3,74,109,16,226,194,48,0,211,228,48,140,164, -22,110,59,112,25,115,225,56,117,56,78,221,143,84,232,180,67,68,10,92,125, -84,195,0,38,80,48,74,67,82,131,110,66,43,129,27,87,145,76,23,219,43,151, -50,212,21,66,31,0,224,130,49,176,122,29,165,149,21,52,36,120,234,162,2, -6,25,184,156,115,47,203,96,219,3,23,29,2,55,169,84,45,183,71,103,96,204, -134,227,120,16,38,132,194,48,24,12,131,249,247,195,249,39,156,83,31,218, -85,48,102,131,82,199,47,220,67,145,60,44,44,5,110,178,171,148,254,57,216, -122,30,213,160,180,130,131,250,9,154,206,17,202,40,132,184,136,6,21,140, -53,251,217,42,224,6,86,248,154,15,221,97,7,110,220,85,206,206,2,110,20, -124,145,96,34,183,67,132,115,214,132,41,231,94,89,11,206,189,82,23,156, -219,254,99,175,238,144,183,62,73,49,158,20,184,157,1,151,37,248,206,183, -62,129,130,184,26,48,42,39,174,70,183,109,3,169,10,174,34,204,228,58,14, -114,53,50,209,1,183,69,192,5,188,212,223,165,82,41,54,249,97,88,128,235, -38,248,233,177,29,3,97,85,61,6,64,31,144,159,180,163,130,206,89,167,42, -228,198,82,224,198,110,215,201,113,55,175,60,100,207,157,107,202,102,151, -186,86,60,130,197,170,132,168,78,159,21,117,94,233,190,220,74,62,46,123, -173,151,192,109,234,217,140,129,85,171,184,82,169,108,43,224,6,231,72,19, -252,209,110,127,224,38,129,89,18,71,77,156,68,161,170,187,203,122,96,245, -165,192,77,214,144,180,183,192,237,5,120,137,120,58,42,224,50,89,14,64, -76,181,48,141,148,208,150,254,43,58,214,52,251,141,172,102,214,71,224,2, -0,173,84,176,88,173,110,24,184,81,0,220,8,112,163,246,17,5,92,21,100,119, -142,212,144,36,151,63,105,27,153,36,96,137,3,46,79,129,219,115,224,38,169, -199,59,128,29,40,180,147,89,44,144,19,99,249,106,53,96,133,22,220,86,125, -204,135,159,78,86,232,55,112,193,24,104,173,214,6,221,237,2,220,36,22,46, -223,118,97,101,73,172,30,222,1,68,226,26,83,38,9,45,139,211,150,83,224, -118,14,220,40,105,104,107,45,94,162,156,128,150,149,91,163,20,163,134,17, -109,181,70,101,144,233,18,40,228,8,6,69,120,88,115,95,178,21,44,189,46, -41,112,1,180,160,219,1,112,1,192,89,91,195,146,144,180,177,93,129,27,215, -250,103,123,75,13,72,96,153,2,157,7,230,39,41,166,35,175,99,9,97,214,43, -224,34,161,181,221,41,112,59,249,243,234,23,112,121,130,115,4,6,166,58, -153,227,56,168,90,22,40,231,152,48,77,53,80,100,89,129,37,56,113,185,133, -143,48,193,57,231,205,70,150,205,250,12,178,190,11,47,150,119,51,128,203, -57,71,99,109,13,171,254,121,108,6,112,117,176,219,40,112,117,214,108,39, -192,101,219,30,186,221,212,218,141,218,87,92,59,160,36,235,83,224,246,238, -61,13,150,197,171,29,148,115,84,253,66,47,147,150,5,67,130,67,164,195,44, -0,89,68,134,154,210,42,150,38,191,74,227,45,110,2,112,1,160,182,182,134, -117,215,221,49,192,101,219,31,184,60,185,222,155,4,114,73,180,194,110,59, -83,164,192,221,216,123,234,198,226,29,0,240,50,97,2,214,56,135,235,186, -152,48,205,240,142,117,213,194,100,216,233,74,57,74,253,212,196,118,63, -170,34,57,193,254,122,14,92,197,182,53,133,165,187,157,129,203,34,206,111, -251,75,13,73,178,214,146,56,218,58,109,140,25,215,10,104,16,128,139,132, -240,234,20,184,221,128,126,163,33,118,67,98,241,138,19,207,102,12,139,156, -99,220,48,80,244,117,95,17,172,34,112,181,210,131,46,206,87,103,245,170, -170,148,57,14,144,203,245,13,184,0,80,94,93,69,137,210,174,129,27,64,112, -88,128,139,29,7,92,221,164,79,162,193,38,217,87,39,218,174,10,192,60,5, -110,79,129,219,243,168,6,222,87,240,202,147,156,115,142,53,74,225,112,142, -17,211,12,183,98,239,68,235,85,165,7,171,142,41,212,103,16,157,105,253, -2,46,92,23,107,165,18,202,210,31,196,118,7,110,210,26,188,219,75,114,232, -54,115,77,182,78,147,164,164,38,141,106,144,157,107,41,112,123,3,220,33, -211,120,117,30,237,42,99,30,96,4,152,169,128,219,214,162,93,101,197,42, -52,227,80,253,7,41,148,44,147,201,160,178,190,222,6,92,157,21,157,8,184, -62,212,87,74,37,175,199,216,14,4,110,212,247,205,134,22,174,73,103,90,146, -204,181,110,128,160,131,4,139,209,122,119,58,112,163,190,147,141,0,55,214, -226,77,26,176,221,71,141,55,102,125,157,49,52,30,127,28,228,250,235,97, -100,179,201,36,5,5,248,66,18,133,144,177,38,71,50,4,192,182,50,25,148,123, -8,92,48,6,102,219,184,82,171,53,225,185,211,128,155,84,227,29,226,208,50, -158,28,184,232,1,156,116,22,45,139,176,168,59,105,23,212,141,53,184,147, -129,219,149,198,219,85,70,69,95,83,134,131,199,14,165,32,167,79,195,154, -158,70,102,118,182,93,38,144,227,111,117,154,175,248,156,220,226,71,236, -100,44,69,74,108,20,184,156,115,208,90,13,87,28,167,173,99,196,78,2,110, -39,231,50,164,86,175,98,38,243,13,2,151,119,0,220,184,174,193,12,201,194, -201,82,224,118,159,68,194,144,48,85,56,105,174,113,127,193,27,235,233,102, -12,206,149,43,96,245,58,178,123,247,170,245,92,149,6,172,232,94,17,21,106, -198,57,71,177,80,128,211,104,244,4,184,0,80,175,86,177,228,56,59,30,184, -186,239,183,195,254,107,131,10,91,205,243,113,147,48,73,155,245,184,249, -202,34,230,117,84,49,28,150,2,55,113,70,92,39,14,72,221,119,237,173,35, -36,209,37,72,255,165,134,184,220,125,113,210,211,181,53,212,171,85,236, -190,241,70,172,214,106,250,118,64,242,125,85,85,49,133,99,13,140,193,202, -229,176,186,180,180,97,224,114,74,177,92,173,54,59,0,119,10,92,104,62,155, -97,5,46,141,208,122,183,129,67,77,73,19,66,192,57,231,68,183,57,231,60, -129,117,155,4,88,157,116,16,102,72,214,57,183,23,192,141,131,213,118,2, -110,92,197,55,239,190,235,146,78,42,237,108,174,197,219,54,65,5,120,177, -122,29,23,30,124,16,214,248,56,50,187,119,119,4,93,217,177,38,106,188,193, -113,204,32,125,89,145,170,156,4,184,0,224,86,171,88,112,93,109,193,239, -157,8,92,85,151,225,109,18,193,160,189,222,247,149,37,83,103,9,81,42,55, -157,68,132,62,155,196,216,142,178,158,117,9,20,41,112,55,14,92,111,161, -52,94,207,175,213,104,13,250,112,21,190,41,224,101,73,58,12,7,247,133,38, -149,0,224,174,175,131,85,171,96,182,173,182,106,85,217,108,146,99,77,220, -119,179,58,88,144,100,33,212,77,72,10,92,78,41,74,181,90,91,124,110,10, -220,240,113,183,17,112,163,138,226,114,206,9,37,132,155,58,43,168,213,249, -65,13,21,175,160,121,20,84,117,225,97,113,149,203,120,10,220,30,2,183,245, -71,26,239,12,173,84,80,70,178,38,120,253,183,120,163,128,203,0,48,215,85, -110,227,56,14,232,218,26,88,185,172,4,174,42,233,66,233,100,11,222,16,33, -97,125,55,33,112,193,24,42,181,26,214,40,85,90,185,41,112,147,75,10,108, -240,97,75,52,52,16,39,19,3,64,1,238,2,60,171,179,130,26,13,39,114,34,115, -190,190,65,254,235,128,203,7,0,184,73,207,189,83,224,38,217,190,183,192, -109,125,159,241,213,201,150,150,248,122,23,151,51,188,167,224,165,17,192, -8,38,161,74,27,100,18,8,57,165,224,18,48,181,176,148,122,173,137,214,106, -161,88,68,101,117,85,95,205,76,1,92,183,94,199,10,165,205,70,148,41,112, -55,6,220,33,140,110,144,103,107,147,112,142,131,82,54,139,162,254,178,211, -142,132,4,231,43,9,44,93,196,104,191,42,224,178,20,184,125,200,218,171, -213,162,163,26,8,1,191,255,126,122,10,173,70,120,44,161,232,222,31,139, -151,39,104,126,168,138,125,109,3,79,163,225,73,15,17,253,216,100,249,64, -236,40,108,26,6,156,122,189,77,102,80,73,10,78,163,129,181,20,184,29,1, -87,245,71,58,164,192,141,146,24,88,48,177,26,13,178,148,205,242,221,186, -121,84,175,219,160,212,133,105,26,202,201,206,121,5,140,157,129,97,204, -119,160,237,66,230,63,146,215,225,77,129,187,145,16,187,114,153,69,48,147, -131,82,222,120,252,113,172,161,189,5,180,174,62,104,127,192,43,87,18,235, -180,13,184,178,47,26,60,7,28,111,52,194,0,13,145,208,85,202,15,84,83,151, -183,25,85,81,171,161,66,41,202,140,109,88,82,208,189,102,187,2,87,254,243, -28,98,11,87,69,61,166,88,232,218,26,189,48,54,198,175,215,113,155,115,96, -125,189,134,169,169,162,22,18,174,251,47,200,102,231,35,64,147,180,211, -68,96,69,187,72,94,140,103,171,128,27,7,202,110,129,27,167,9,119,31,211, -204,24,71,169,20,29,213,64,41,89,135,216,246,185,93,235,77,228,96,235,107, -84,3,75,96,29,70,54,197,244,225,73,107,53,15,194,162,20,225,186,225,104, -6,180,119,186,224,148,130,213,235,176,25,131,205,152,18,182,131,4,92,221, -85,193,160,0,87,117,142,67,104,229,18,205,204,12,150,80,63,245,175,126, -117,237,129,87,188,98,236,5,122,67,134,99,105,169,132,169,169,130,22,18, -142,243,117,88,214,15,128,144,66,12,52,88,12,136,152,112,138,41,112,123, -5,220,224,241,218,26,5,99,209,81,13,43,43,252,73,127,202,82,225,202,168, -147,130,28,189,3,111,146,20,210,56,224,170,119,204,148,58,48,171,215,155, -22,241,228,216,24,214,87,86,224,148,74,96,245,58,174,156,57,3,167,209,64, -133,82,212,124,107,188,147,110,10,131,4,92,14,160,146,205,194,54,12,100, -40,69,193,182,65,182,16,184,108,251,89,185,42,211,83,132,175,251,167,127, -122,249,225,87,188,98,172,14,240,188,206,10,90,89,169,128,82,234,203,13, -170,201,237,194,113,62,143,108,246,37,26,128,36,173,128,6,0,118,240,43, -77,129,219,227,172,189,43,87,226,178,20,57,30,121,132,255,147,255,5,184, -146,197,203,176,153,225,100,113,86,111,18,16,69,85,42,83,22,104,17,36,132, -122,165,2,187,82,105,194,216,105,52,224,112,238,125,42,17,197,92,6,221, -194,189,50,58,138,211,51,51,48,57,135,229,186,112,76,19,163,245,58,142, -92,190,188,165,192,77,50,232,240,64,153,43,180,93,87,184,117,25,131,93, -173,226,124,177,136,35,58,144,80,202,113,229,74,9,123,246,140,107,33,226, -186,15,193,48,230,96,89,183,196,232,186,42,11,56,248,78,28,112,94,69,242, -52,216,157,6,92,160,219,16,187,122,157,99,101,133,69,158,63,231,112,254, -224,15,248,3,2,120,93,133,197,187,121,82,67,28,112,221,24,43,88,105,233, -170,28,106,138,40,6,91,200,88,19,39,62,223,160,164,80,201,100,112,126,116, -20,87,138,69,212,44,11,110,96,117,186,46,230,42,21,28,90,93,77,148,54,219, -141,164,176,150,207,227,210,200,8,110,120,226,9,100,133,200,140,245,145, -145,129,0,46,219,30,192,37,208,59,214,130,73,229,0,112,190,251,221,218, -87,238,184,35,119,68,103,241,2,192,133,11,171,152,155,27,129,97,16,237, -164,183,237,47,1,32,48,205,227,9,164,102,57,170,161,1,206,87,19,194,105, -163,192,237,70,59,30,78,224,6,235,207,159,167,66,22,162,250,123,46,151, -113,106,117,21,21,255,119,225,38,208,122,117,250,212,230,196,241,234,244, -193,22,145,92,181,188,16,60,167,177,134,51,150,133,198,250,122,168,40,142, -78,87,78,10,92,6,224,177,93,187,112,33,159,199,212,218,26,230,206,157,67, -198,113,96,114,14,102,154,104,100,50,40,23,139,177,48,219,136,134,187,84, -44,226,232,249,243,48,164,115,62,120,240,32,86,78,158,196,194,228,36,26, -153,12,56,128,249,43,87,218,130,82,251,5,92,157,53,79,19,68,180,12,129, -213,203,116,224,125,215,187,206,127,233,83,159,58,242,74,66,120,65,55,49, -109,219,197,249,243,171,56,112,96,50,2,38,46,108,251,179,176,172,115,176, -172,19,0,140,4,112,98,224,124,29,140,45,33,62,106,41,5,110,55,239,169,82, -225,184,114,37,190,56,206,3,15,240,47,6,191,9,141,220,0,36,76,81,180,250, -9,220,36,147,182,77,66,16,238,43,247,37,180,247,201,100,50,104,136,146, -133,148,25,215,169,164,192,1,60,184,123,55,114,165,18,174,63,127,30,68, -145,120,145,117,28,76,100,179,125,1,110,48,230,56,111,66,247,230,215,189, -14,135,239,189,23,204,113,240,253,47,125,9,43,39,79,194,5,96,250,209,30, -156,115,16,66,82,224,118,110,237,70,73,13,84,152,88,118,189,142,218,242, -50,255,222,174,93,252,118,253,156,226,184,112,97,13,211,211,5,140,140,100, -35,97,226,186,15,131,210,83,48,205,235,97,24,251,65,136,106,123,23,140, -45,131,243,203,224,188,158,2,183,15,192,245,166,52,199,19,79,80,196,181, -119,162,148,175,189,247,189,248,42,128,134,4,223,174,116,94,171,23,191, -98,32,186,249,97,212,165,112,210,201,26,116,21,14,73,17,134,161,44,178, -19,236,87,134,96,28,136,30,159,152,192,248,210,18,38,75,165,230,250,201, -195,135,49,247,180,167,33,55,57,9,183,82,193,250,249,243,168,47,47,131, -61,249,100,207,129,27,108,87,168,215,193,0,100,167,166,80,91,93,197,167, -255,195,127,128,153,205,194,44,20,224,2,216,111,154,224,11,11,0,128,134, -223,217,153,106,34,13,250,1,92,25,186,108,248,224,171,2,48,36,248,58,240, -60,89,54,128,198,59,223,121,241,99,239,120,199,238,167,27,6,50,186,75,81, -206,57,30,127,252,10,110,186,105,15,76,147,196,232,133,85,184,238,131,0, -30,4,33,99,32,164,232,79,199,58,56,175,129,243,202,6,45,92,96,227,14,169, -94,166,2,39,217,15,223,52,224,6,183,103,206,80,84,42,28,113,221,164,31, -123,140,124,150,49,222,16,126,23,42,139,55,54,113,162,167,22,47,239,208, -242,81,1,247,241,75,151,80,45,151,193,28,7,199,38,38,188,19,243,173,219, -203,245,58,22,42,21,112,219,198,46,198,48,227,191,38,151,203,97,5,192,169, -76,6,140,115,100,57,71,198,113,112,193,178,224,114,14,211,117,177,171,86, -11,157,159,77,8,46,251,90,41,0,204,86,42,48,25,131,75,8,202,140,97,175, -15,221,76,177,136,219,223,252,102,76,236,217,131,229,135,30,130,189,182, -134,226,212,20,246,92,119,29,172,145,17,60,240,235,191,238,233,62,153,12, -74,185,28,44,198,48,89,169,160,150,201,224,242,216,24,234,150,133,125,43, -43,40,218,54,92,195,192,106,177,136,106,46,135,186,101,1,156,163,216,104, -96,186,92,70,78,232,78,188,56,58,10,102,24,152,173,86,189,115,24,31,199, -63,126,241,139,224,153,12,56,99,48,202,101,208,241,113,92,61,54,134,170, -15,222,165,137,9,112,255,143,103,164,82,65,70,104,188,201,1,148,70,71,81, -25,25,241,52,106,199,193,104,169,132,130,95,32,62,248,181,52,114,57,52, -242,121,24,148,98,180,92,134,157,201,96,125,98,2,118,38,131,169,165,37, -100,253,214,73,242,31,218,144,2,55,137,212,64,37,248,54,30,122,168,118, -169,84,34,15,79,76,240,91,245,150,30,80,175,59,56,117,234,10,174,189,118, -22,132,36,131,19,231,107,190,126,139,24,168,164,192,237,21,112,1,142,133, -5,142,203,151,89,36,112,61,190,161,244,171,191,202,255,202,183,118,27,254, -111,66,182,120,59,234,74,209,211,46,195,113,181,91,101,224,138,214,215, -35,223,248,6,78,157,61,11,112,14,227,185,207,197,241,137,137,230,118,127, -255,228,147,88,184,114,5,224,28,115,99,99,248,17,225,185,39,1,124,179,86, -3,0,236,167,20,71,109,27,167,179,89,52,12,3,110,62,143,235,57,199,108,173, -214,60,214,191,76,79,35,176,103,167,107,53,204,81,10,16,130,139,197,34, -246,174,250,63,126,66,112,231,91,222,130,75,95,248,2,30,121,224,129,72, -73,97,57,151,195,98,62,239,95,28,2,167,119,237,194,244,218,26,10,245,58, -26,132,32,71,8,30,188,234,42,140,85,42,40,52,26,200,251,208,171,228,243, -56,183,127,63,230,215,215,177,103,121,25,0,176,82,40,120,224,245,91,22, -217,229,50,86,139,69,239,148,2,25,198,48,224,4,117,45,0,84,11,133,230,119, -96,57,14,76,31,188,118,38,131,51,251,246,33,239,186,152,168,84,96,49,134, -134,101,225,242,252,60,114,213,42,102,133,232,8,187,80,128,83,44,130,249, -133,70,151,231,230,48,187,190,142,201,90,13,142,105,42,191,55,54,220,192, -85,201,13,162,181,107,202,224,5,80,255,47,255,229,220,239,189,239,125,123, -223,111,154,40,234,47,223,129,149,149,26,78,157,90,196,145,35,211,190,179, -109,163,253,194,82,224,246,18,184,0,176,184,200,240,228,147,60,18,184,193, -248,202,87,240,23,142,131,138,0,221,224,183,33,198,242,38,173,13,218,59, -139,55,110,242,113,206,225,40,0,45,90,162,211,181,26,230,31,122,200,179, -126,103,102,112,252,206,59,91,153,104,79,60,129,125,23,47,2,0,156,61,123, -192,198,199,61,144,187,46,206,214,235,216,127,246,172,167,141,30,56,128, -233,201,73,28,56,123,22,174,127,185,126,114,255,126,140,53,26,200,50,134, -139,35,35,48,107,53,92,237,215,234,157,218,183,15,25,74,65,235,117,52,44, -11,57,191,74,218,222,59,238,192,83,127,245,87,88,121,228,17,229,251,11, -206,219,5,48,154,203,97,226,252,121,112,211,196,169,249,121,220,112,250, -116,83,159,181,14,30,4,189,120,17,183,252,235,191,54,221,40,226,56,4,224, -236,220,28,86,138,69,76,86,42,56,188,182,6,163,90,109,126,99,206,210,18, -174,9,142,73,8,120,161,0,163,90,133,152,203,119,244,252,249,230,253,242, -204,12,120,181,10,106,24,56,63,63,143,99,23,47,98,36,104,127,20,56,232, -22,23,113,97,106,10,107,147,147,152,240,255,104,230,242,121,140,92,184, -0,110,154,120,108,247,110,220,250,228,147,205,247,80,218,187,23,107,149, -74,155,244,176,141,170,147,17,133,212,64,21,224,205,62,254,184,179,248, -208,67,246,167,111,185,37,251,242,56,31,202,210,82,21,140,49,92,115,205, -52,12,3,41,112,55,4,92,160,151,105,210,23,47,114,156,57,195,98,129,11,0, -229,50,158,120,231,59,241,121,0,117,127,17,225,75,5,232,118,20,199,107, -244,19,186,148,243,54,45,48,184,84,149,11,213,220,252,163,63,218,124,232, -44,44,52,173,184,179,149,10,178,190,69,8,0,217,149,21,156,119,93,112,199, -65,163,94,15,57,192,142,223,121,39,120,185,140,231,190,229,45,128,97,192, -0,112,240,202,21,60,52,61,141,138,101,225,251,185,28,166,125,232,78,30, -61,138,27,126,252,199,225,212,235,112,1,76,10,242,195,200,252,60,86,30, -121,68,25,163,27,132,199,5,58,238,148,223,77,131,80,138,35,126,36,2,49, -12,20,118,237,194,100,177,8,43,147,129,1,96,108,255,126,236,187,243,78, -92,253,67,63,132,217,155,110,242,94,3,224,208,194,2,170,126,47,186,201, -153,25,100,198,198,90,199,51,12,100,198,198,144,25,27,67,126,114,18,19, -254,243,68,152,201,193,243,153,177,49,204,237,218,5,6,96,121,98,2,215,46, -44,52,161,59,119,235,173,56,116,239,189,200,77,122,30,247,189,43,43,32, -126,23,102,206,57,166,247,237,107,190,135,99,23,47,54,223,67,126,215,46, -140,143,140,180,127,95,49,127,178,210,182,124,72,0,44,85,37,107,183,120, -1,212,222,250,214,139,159,170,213,248,247,163,223,158,55,255,86,86,170, -120,248,225,203,168,86,29,168,67,197,84,254,189,184,98,58,170,12,183,36, -117,123,85,199,213,237,135,71,108,207,16,95,148,61,201,123,98,136,47,4, -20,119,220,206,222,19,165,28,167,78,49,1,186,209,161,183,140,161,254,187, -191,139,15,0,168,73,208,149,195,201,88,130,127,194,174,45,222,196,19,136, -106,226,76,163,180,224,233,221,187,81,156,159,71,245,226,69,224,236,89, -156,91,95,199,129,108,22,167,207,158,5,111,52,64,76,211,131,113,163,129, -39,215,214,176,183,80,192,89,74,1,223,18,30,153,159,135,245,248,227,160, -229,50,214,254,230,111,240,244,215,188,6,223,250,232,71,97,52,26,24,41, -149,240,224,236,44,174,245,45,227,236,232,40,110,125,245,171,241,208,111, -255,118,243,28,50,148,54,35,36,202,23,46,40,101,5,149,211,76,168,144,141, -108,62,143,155,95,251,90,28,120,206,115,192,108,27,15,188,251,221,48,8, -193,189,127,248,135,0,231,88,58,119,14,181,114,25,243,207,127,62,246,158, -62,141,239,254,222,239,1,0,118,103,179,112,1,156,248,149,95,193,200,236, -44,62,243,83,63,5,90,175,99,252,208,33,220,253,142,119,120,169,84,182,141, -250,234,42,70,230,230,240,181,183,189,173,105,141,191,224,247,127,31,134, -15,209,47,191,243,157,0,128,162,105,34,239,203,47,199,95,253,106,140,94, -123,45,202,11,11,120,230,139,95,140,175,190,249,205,160,245,58,14,57,14, -46,25,6,44,169,130,91,54,159,199,245,175,125,45,246,61,251,217,112,26,13, -252,221,219,223,30,235,132,211,57,87,135,72,110,144,37,7,42,192,215,110, -122,189,0,139,49,88,191,242,43,151,223,249,190,247,205,189,203,178,48,22, -119,169,90,173,58,120,248,225,203,152,159,31,197,222,189,163,190,211,173, -219,203,236,212,194,237,54,77,122,101,197,147,22,188,139,218,120,53,128, -115,176,47,124,1,31,253,135,127,192,247,99,192,219,177,181,187,81,169,33, -232,115,204,163,128,27,172,143,170,236,197,57,7,91,91,195,225,231,63,31, -143,124,252,227,96,229,50,30,61,121,18,7,110,188,17,53,95,239,156,188,246, -90,112,215,197,234,227,143,163,198,24,50,150,133,127,185,114,5,220,183, -234,14,222,118,27,234,95,249,10,40,231,168,158,60,137,233,163,71,177,239, -142,59,112,254,235,95,199,196,234,42,138,149,10,136,235,2,132,224,182,55, -190,17,39,63,250,81,48,33,82,130,8,0,42,45,47,195,140,1,174,106,220,248, -250,215,163,244,196,19,248,236,235,94,7,55,208,149,9,193,95,191,231,61, -120,196,117,97,248,89,104,212,52,113,227,93,119,53,47,55,70,179,89,148, -0,252,221,27,223,232,57,13,125,144,186,142,131,79,188,242,149,109,159,221, -238,171,175,110,62,254,95,175,126,117,211,234,231,156,131,3,216,227,63, -71,12,3,143,143,141,225,239,255,236,207,0,0,99,15,62,136,231,221,124,51, -150,30,120,0,230,218,26,104,38,211,6,222,227,175,127,61,206,156,60,137, -207,125,228,35,112,124,120,71,165,40,71,252,153,242,33,3,48,151,164,107, -215,191,34,52,252,9,103,250,243,197,60,117,170,113,241,211,159,174,252, -254,75,94,82,124,147,105,18,43,174,83,45,99,192,249,243,37,92,185,82,197, -222,189,35,152,155,43,250,242,67,10,220,141,3,55,250,189,173,172,48,92, -184,192,225,249,204,19,7,29,224,194,5,252,195,251,222,135,251,1,84,4,240, -170,172,93,218,169,181,219,45,120,121,18,11,55,102,82,42,183,57,114,219, -109,120,228,227,31,247,156,79,11,11,104,184,46,224,123,239,103,142,30,5, -117,28,172,62,254,56,200,218,26,176,107,23,108,193,100,153,207,102,81,69, -171,108,225,217,79,127,26,71,127,233,151,176,252,228,147,168,93,186,132, -140,31,247,122,253,125,247,97,225,254,251,81,21,156,75,12,64,182,88,68, -160,134,174,83,138,73,95,82,72,2,220,96,60,241,245,175,163,250,237,111, -135,102,239,210,232,40,150,75,37,92,119,233,18,242,66,162,8,59,125,186, -165,247,8,210,129,174,175,89,210,116,108,215,19,24,189,245,140,129,126, -232,67,184,75,212,30,133,251,133,177,49,52,22,23,67,95,232,35,95,251,26, -206,250,14,197,168,204,181,132,145,44,201,188,23,131,1,93,162,176,122,3, -248,58,2,124,77,0,230,135,63,188,252,141,241,113,242,209,231,61,175,240, -58,175,67,69,220,197,33,135,109,187,248,254,247,215,112,238,220,58,166, -167,243,216,181,43,143,177,177,140,160,1,111,71,224,198,1,178,183,192,229, -156,163,90,5,150,151,25,150,151,57,60,219,161,179,159,221,210,18,190,253, -186,215,225,67,0,170,146,182,219,64,242,104,134,13,91,188,122,17,75,122, -46,174,46,173,106,27,113,194,142,21,10,24,63,124,24,235,79,62,9,227,210, -37,60,114,249,50,156,139,23,65,0,204,238,222,13,199,113,240,4,0,122,225, -2,30,217,191,31,214,202,10,40,128,137,35,71,128,71,31,109,139,101,189,255, -47,254,2,179,71,142,160,118,233,82,243,24,103,25,3,190,253,109,100,164, -99,23,166,167,17,244,10,104,152,38,108,127,198,241,152,118,238,226,112, -124,135,158,120,14,229,108,22,215,156,59,215,130,108,38,3,35,147,129,235, -135,140,121,70,49,137,109,27,175,123,28,88,185,193,122,35,162,238,133,60, -38,10,5,44,72,235,108,233,61,32,230,207,135,37,251,253,112,12,143,214,27, -124,156,68,130,175,184,16,0,198,187,223,189,244,185,61,123,230,167,175, -187,142,252,24,33,196,136,142,5,109,221,119,93,142,133,133,42,22,22,42, -48,12,130,98,209,66,62,111,34,159,55,97,89,68,3,226,56,224,162,3,224,38, -5,31,18,2,53,9,112,187,57,110,252,255,54,231,28,174,11,52,26,12,141,6,80, -169,112,33,17,182,243,255,249,74,5,39,95,247,58,188,11,64,217,7,111,85, -178,118,117,224,237,232,128,86,23,63,202,208,194,188,37,82,231,99,64,162, -234,100,172,92,198,225,123,238,193,119,63,250,81,184,151,47,227,123,143, -61,134,49,206,193,13,3,51,35,35,112,29,199,51,77,24,195,247,22,23,49,190, -184,232,201,12,183,220,242,255,183,119,238,49,114,85,247,29,255,158,123, -231,185,187,179,59,94,175,55,235,247,154,215,18,178,16,19,106,106,187,133, -210,134,71,69,26,84,148,0,166,82,171,96,129,34,21,67,172,38,34,86,163,70, -65,52,142,100,254,104,32,9,5,66,131,144,74,69,37,112,132,210,210,66,16, -164,18,230,229,21,96,99,131,109,22,175,31,139,215,235,125,206,236,236,204, -220,215,57,253,99,238,157,61,115,246,220,199,236,139,93,124,126,210,213, -204,206,227,222,185,179,247,124,230,123,126,231,156,223,23,214,107,175, -213,28,111,44,145,64,191,105,66,219,183,175,230,24,227,191,253,45,250,219, -219,113,197,224,224,212,124,34,198,208,156,205,194,211,192,233,179,103, -113,116,197,10,92,124,238,220,180,229,184,81,138,158,243,207,173,241,102, -21,16,130,63,222,181,11,43,175,190,26,140,82,80,203,194,239,182,109,139, -180,223,32,192,89,132,212,44,45,142,165,211,128,91,72,62,221,209,129,173, -63,253,105,245,121,113,207,255,243,240,195,211,139,16,33,90,93,141,58,128, -59,227,177,130,69,162,122,137,176,105,220,125,124,255,251,3,207,61,240, -64,219,216,181,215,38,238,210,117,126,113,69,24,108,188,1,28,134,66,193, -66,161,96,70,208,58,81,59,15,81,224,25,245,245,179,253,59,204,9,39,186, -173,122,253,175,175,239,82,27,24,192,91,219,183,227,17,14,186,165,8,106, -151,206,228,154,142,205,224,34,157,118,70,97,3,43,161,174,180,156,67,196, -5,27,55,226,128,167,128,251,250,0,0,203,187,186,128,145,17,232,150,133, -236,69,23,33,215,219,139,102,87,197,50,0,29,241,56,74,92,158,211,212,52, -28,110,105,65,231,233,211,0,128,198,213,171,113,193,245,215,227,195,103, -158,65,172,92,70,235,248,56,250,178,89,108,24,27,171,230,112,169,97,32, -217,218,10,99,116,20,200,229,208,168,105,120,111,221,58,172,202,231,209, -84,46,131,80,10,91,211,96,196,98,40,164,82,232,28,26,146,27,65,11,249,216, -216,196,4,24,128,228,138,21,56,210,211,131,55,246,236,129,17,143,99,184, -179,19,157,17,82,10,52,228,123,206,103,179,104,202,229,192,8,169,248,146, -148,74,104,185,248,98,228,122,123,81,60,123,22,255,246,200,35,104,40,22, -145,156,156,132,198,24,40,33,48,147,73,88,137,4,208,219,27,252,207,246, -153,119,29,84,12,135,134,247,29,23,51,132,33,40,94,47,123,35,3,111,245, -245,123,246,12,191,156,203,101,115,183,220,210,248,247,154,70,27,103,6, -9,5,220,185,3,110,125,151,22,165,160,125,125,120,117,199,14,60,229,230, -116,139,130,218,229,151,9,203,150,8,215,77,123,173,142,134,32,157,51,98, -49,102,134,65,215,235,70,251,218,200,112,93,227,148,227,96,249,101,110, -193,127,119,21,89,123,119,119,165,14,111,161,128,47,121,207,185,139,8,86, -116,119,131,30,60,88,133,187,3,96,127,107,43,214,12,13,129,48,6,45,22,195, -85,119,223,141,184,109,99,213,150,45,0,128,230,124,30,101,74,49,228,46, -193,5,128,129,183,223,198,198,187,238,170,158,100,219,216,24,46,56,125, -26,121,93,199,177,182,54,124,212,209,129,227,109,109,24,106,104,128,110, -24,129,35,252,252,127,37,225,46,246,48,134,135,177,239,216,49,188,127,201, -37,149,185,197,220,252,91,134,240,25,3,140,251,14,99,137,41,239,69,61,153, -196,201,11,47,68,127,103,39,38,27,27,65,1,44,223,88,41,61,72,0,172,57,114, -4,35,165,18,14,55,55,227,64,54,139,67,153,12,250,25,67,105,116,20,150,101, -201,43,187,186,211,0,169,79,143,197,14,239,213,212,229,184,186,72,96,43, -222,138,69,115,188,134,87,230,182,162,219,80,11,79,60,49,190,239,222,123, -7,255,97,98,130,29,139,150,14,96,136,94,118,81,214,225,12,131,206,76,246, -61,23,127,135,165,62,102,251,221,204,228,187,244,15,219,198,196,222,189, -120,120,199,14,60,225,42,221,130,4,186,38,7,221,25,15,168,213,163,120,131, -86,99,80,0,180,76,233,36,116,61,176,107,108,133,88,236,240,53,121,169,97, -224,130,235,174,195,200,71,31,85,159,95,181,114,37,88,127,63,152,227,160, -163,163,3,199,184,125,173,235,238,134,253,250,235,213,253,30,110,105,65, -227,216,24,226,238,136,252,87,183,111,199,241,231,158,195,196,137,19,232, -254,222,247,48,218,219,139,242,208,16,86,15,13,161,119,237,90,164,77,179, -178,204,214,182,49,240,230,155,184,250,7,63,64,207,207,127,14,102,219,104, -48,77,116,114,249,225,169,159,43,13,84,211,42,159,57,164,68,227,186,175, -127,29,159,60,255,60,64,41,186,79,158,132,67,8,116,111,38,69,44,6,198,57, -105,32,164,155,239,221,54,175,95,143,252,199,31,3,0,54,12,12,96,131,59, -165,46,223,214,134,18,128,209,137,9,180,93,121,37,134,223,127,31,49,211, -196,151,93,200,59,140,65,119,11,234,208,76,6,39,67,84,174,159,218,118,2, -86,43,186,57,103,27,225,14,143,139,61,229,192,159,154,151,239,181,2,72, -98,159,56,97,59,183,223,126,246,159,30,125,180,253,111,46,186,72,251,75, -66,88,114,126,21,110,208,254,148,194,13,238,205,129,230,114,56,244,147, -159,224,177,163,71,113,214,77,43,240,155,151,215,53,80,91,151,193,153,77, -138,193,79,241,70,1,112,77,21,158,50,165,5,63,240,120,247,61,51,73,79,225, -138,5,101,156,145,145,26,221,191,182,171,11,222,8,67,188,177,17,25,110, -212,191,197,182,17,75,85,204,0,136,166,97,133,48,144,212,113,238,28,50, -238,20,180,213,91,182,192,25,26,66,190,175,15,140,49,28,122,234,41,92,245, -221,239,86,23,32,92,50,48,128,24,231,233,54,216,211,131,145,3,7,112,227, -175,126,133,13,55,221,84,179,152,129,143,198,21,43,170,231,144,226,222, -159,52,205,233,170,94,211,112,225,55,191,9,230,30,83,103,12,169,101,203, -176,233,135,63,68,91,119,119,229,60,220,247,81,174,149,3,128,230,150,185, -20,97,110,38,18,88,119,211,77,213,125,122,177,178,163,3,22,99,56,252,242, -203,88,115,203,45,184,120,219,54,196,184,115,240,160,75,52,13,237,93,93, -213,199,227,220,234,182,184,160,230,249,5,17,52,160,7,195,191,142,249,87, -108,90,74,83,204,0,249,188,94,79,249,26,110,3,245,84,239,36,128,9,0,249, -251,239,63,247,204,3,15,140,237,204,229,180,15,8,241,140,184,231,67,225, -178,69,160,112,177,164,20,46,42,101,188,63,123,254,121,236,185,243,78,60, -116,244,40,250,221,255,91,129,75,51,148,184,188,110,24,116,103,148,80,38, -62,143,121,143,235,46,156,227,0,18,0,146,0,210,0,154,0,52,3,104,185,34, -157,190,236,250,230,230,61,128,255,250,253,203,82,41,172,225,186,199,30, -112,189,134,122,249,166,77,104,221,182,13,180,88,172,248,170,57,14,178, -55,223,92,105,204,134,129,193,199,30,3,43,22,43,46,19,150,133,85,187,118, -65,139,199,65,45,11,39,239,191,31,246,240,48,12,203,66,201,113,208,250, -173,111,97,245,182,109,160,0,206,188,245,22,222,251,217,207,106,186,198, -203,46,189,20,91,119,239,134,166,235,48,114,57,188,190,115,39,202,35,35, -53,160,105,236,232,64,215,109,183,97,229,230,205,48,114,23,202,32,221,0, -0,13,243,73,68,65,84,57,148,198,199,65,77,19,241,134,6,164,219,219,65,77, -19,47,221,115,15,40,128,47,127,251,219,184,226,59,223,1,0,252,223,131,15, -226,204,254,253,85,85,232,205,227,221,116,207,61,88,183,101,11,242,167, -79,35,209,212,132,68,54,139,158,167,159,198,197,55,220,128,85,95,251,26, -70,143,31,199,139,247,221,87,253,62,254,118,239,94,196,83,41,12,31,63,142, -189,59,118,76,87,148,154,134,107,118,236,192,134,205,155,81,232,239,135, -99,89,72,45,91,134,15,95,125,21,31,188,240,2,24,99,208,227,113,252,209, -157,119,226,43,55,223,12,59,151,67,121,100,4,90,34,129,68,75,11,82,109, -109,232,123,247,93,188,180,123,55,40,128,77,119,220,129,107,182,111,7,0, -236,253,241,143,113,252,157,119,124,167,139,57,140,97,192,178,96,112,57, -117,73,111,103,248,247,249,252,189,0,198,221,205,235,194,149,133,65,138, -186,171,58,45,64,16,201,173,151,215,213,185,45,46,180,139,4,128,148,123, -63,229,221,223,188,57,189,122,231,206,236,223,181,180,208,175,2,52,254, -197,81,184,245,14,108,125,190,10,23,0,181,109,244,191,242,10,254,243,23, -191,192,126,76,173,70,228,55,47,173,32,155,193,224,204,54,175,91,15,120, -53,76,77,28,247,46,176,6,0,141,0,50,0,90,0,44,219,217,222,254,12,8,137, -249,229,40,87,198,227,184,60,157,158,6,92,175,65,111,72,38,209,185,123, -55,168,7,87,23,192,158,157,15,45,22,193,74,165,169,231,203,101,232,148, -194,24,31,7,43,149,224,148,74,48,92,155,246,18,99,40,82,138,34,165,53,182, -237,97,211,194,252,92,29,50,171,87,35,153,205,86,167,128,77,14,13,161,232, -46,97,142,82,234,210,219,111,178,181,21,217,117,235,96,78,78,98,244,211, -79,225,8,159,45,232,135,203,239,243,199,51,25,100,215,175,135,30,139,161, -56,54,134,145,147,39,171,149,202,170,41,29,66,176,108,237,90,52,45,95,14, -199,182,81,28,27,67,110,112,16,150,105,70,26,192,19,7,212,40,128,126,211, -244,53,13,5,0,155,177,99,175,79,76,252,163,11,221,188,171,40,120,37,193, -171,8,134,197,55,191,55,12,190,154,219,38,98,28,128,227,110,251,224,33, -236,181,153,100,38,163,53,252,232,71,217,27,47,189,84,223,154,72,96,205, -244,52,132,2,238,92,3,151,49,80,211,196,240,224,32,14,60,253,52,126,247, -246,219,24,112,161,202,167,17,12,31,224,138,57,221,57,131,110,148,28,175, -44,205,224,8,155,77,128,130,3,100,253,118,48,106,219,129,245,112,251,12, -3,171,7,7,161,139,93,251,16,231,9,177,88,186,215,13,230,107,68,204,20,184, -222,115,249,254,126,192,157,135,27,4,70,63,224,122,143,149,70,71,81,26, -29,13,124,77,84,224,122,199,178,242,121,20,63,252,48,216,10,136,49,140, -158,58,133,209,83,167,2,143,23,6,92,239,49,67,168,191,33,251,220,14,99, -131,152,238,194,74,23,33,96,163,230,123,249,153,14,128,220,50,136,63,95, -175,225,38,188,134,62,49,65,75,187,118,141,62,15,224,69,77,67,226,238,187, -51,87,108,218,148,188,186,181,149,172,142,197,216,242,100,18,153,74,10, -158,232,140,49,162,128,91,23,112,29,66,64,109,27,69,195,192,88,177,136, -193,163,71,113,232,55,191,193,155,103,206,96,2,83,53,55,248,26,203,166, -0,91,126,85,154,108,101,218,156,65,55,8,188,76,162,134,169,36,207,235,84, -6,6,113,134,248,128,151,49,134,50,99,152,112,28,52,105,154,175,137,164, -249,234,171,72,223,122,235,116,232,74,10,157,243,206,19,60,156,196,1,189, -32,85,22,6,92,217,123,102,2,220,32,85,57,83,224,34,194,57,32,226,241,162, -2,183,234,69,23,48,16,232,69,206,113,14,74,148,194,82,203,247,202,224,91, -115,9,193,223,54,40,46,52,242,56,175,142,41,69,236,201,39,39,246,61,249, -228,196,219,92,234,130,95,156,65,132,158,167,95,239,244,124,12,63,123,102, -42,249,1,180,133,188,188,223,198,151,121,148,21,191,153,115,209,16,171, -227,36,1,121,177,104,123,212,113,14,45,143,197,46,67,64,131,30,176,44,92, -152,76,78,3,174,23,239,190,247,30,182,110,221,10,157,171,181,59,109,230, -131,103,237,67,72,13,160,197,1,160,50,165,117,45,99,86,192,13,7,174,23, -101,206,215,78,218,71,103,204,254,184,92,222,207,93,244,84,242,163,29,101, -73,211,98,133,47,19,64,40,43,162,46,14,196,197,36,27,15,92,17,188,98,202, -79,65,215,159,73,226,117,37,130,151,7,176,45,168,90,91,162,112,41,252,139, -223,204,217,245,26,139,160,118,197,19,19,127,77,236,158,201,201,125,55, -54,55,223,70,8,33,126,13,250,140,105,98,93,34,1,157,16,233,128,140,197, -24,142,61,254,56,186,238,187,111,122,186,65,80,189,177,120,220,215,242, -167,236,230,119,235,1,46,224,111,124,169,128,59,21,147,142,83,29,84,243, -237,73,0,195,102,197,131,220,150,40,136,197,152,207,173,23,190,144,164, -29,248,54,162,115,231,173,187,13,93,231,198,74,98,2,112,117,46,135,172, -9,208,85,138,55,58,120,195,224,235,72,96,204,195,214,230,222,235,87,111, -115,206,68,66,61,243,120,101,57,94,27,128,125,180,92,30,184,161,185,249, -44,24,91,233,215,13,53,24,195,25,211,156,54,187,129,135,195,103,150,133, -214,95,255,26,109,238,44,1,121,11,167,208,189,57,180,66,154,193,98,12,227, -156,245,141,2,238,220,0,215,123,239,132,80,201,76,118,78,69,74,247,67,238, -73,197,80,167,19,235,34,133,47,124,242,190,30,116,121,229,235,57,89,120, -131,113,154,36,181,192,3,87,147,0,87,65,55,60,249,43,110,142,0,96,202,245, -190,196,20,152,19,210,43,155,147,156,110,189,224,149,169,94,89,254,196, -204,57,206,59,89,93,255,235,32,16,157,50,77,124,41,30,71,220,155,196,47, -1,228,193,124,30,235,30,127,28,157,183,223,14,18,143,7,127,40,14,26,19, -142,131,51,220,124,88,5,220,185,3,46,173,0,181,70,237,82,159,52,195,209, -82,233,191,36,249,179,165,172,120,101,61,65,49,245,192,132,180,128,247, -183,195,129,85,86,108,71,65,119,246,224,245,19,136,84,146,6,18,211,8,178, -113,135,121,83,185,81,193,43,254,202,243,191,38,98,133,126,235,149,92,238, -165,219,90,91,191,129,202,0,130,180,97,26,140,225,83,195,192,37,169,84, -160,35,238,9,211,196,192,179,207,226,242,245,235,209,176,113,227,52,120, -56,92,121,69,203,48,240,169,97,96,220,53,141,84,192,157,91,224,122,183, -98,79,66,246,122,155,177,147,99,148,142,4,64,183,46,11,236,69,220,224,101, -234,215,219,52,238,185,154,106,102,144,23,218,9,203,235,42,240,134,43,94, -63,248,66,2,97,134,112,27,143,121,81,185,245,42,94,63,23,86,30,190,198, -160,109,143,24,140,245,196,8,217,18,180,179,51,166,137,140,174,163,61,22, -243,85,79,222,76,136,183,250,250,16,63,113,2,235,18,9,44,111,108,172,174, -102,155,40,22,145,115,28,12,90,22,38,28,71,1,119,158,128,235,197,136,91, -211,33,168,199,193,24,99,131,134,241,239,152,154,31,41,86,114,114,80,167, -19,235,18,83,191,224,132,9,145,164,35,136,144,195,213,124,32,171,242,186, -179,135,47,36,0,14,243,41,194,66,166,193,162,78,39,147,229,121,197,169, -26,198,43,185,220,179,127,213,210,178,137,18,18,11,106,164,189,229,50,146, -233,52,50,66,141,7,113,41,49,0,152,148,226,88,185,12,8,166,141,80,41,133, -121,7,46,5,144,183,237,106,229,55,191,99,161,114,65,156,58,98,89,135,81, -91,201,73,92,40,65,23,66,77,124,206,234,23,66,250,129,223,168,0,216,176, -212,130,2,111,253,240,245,3,112,16,108,177,208,98,32,202,224,26,129,255, -124,197,26,23,214,147,166,57,144,163,116,95,70,215,255,44,16,42,140,225, -227,82,9,221,13,13,104,224,6,202,120,224,6,57,62,212,11,220,32,232,204, -6,184,97,48,91,202,192,101,140,161,64,41,242,146,21,118,146,253,216,125, -166,249,20,106,107,151,138,78,172,65,138,247,139,208,248,137,112,94,178, -233,103,81,211,8,10,184,179,203,249,202,126,220,163,172,244,88,176,235, -82,15,121,62,232,98,225,7,7,170,107,216,63,41,151,143,92,222,208,240,23, -164,178,100,178,182,49,215,42,36,12,219,54,50,186,142,36,33,213,33,71,15, -88,204,7,184,84,2,26,135,255,86,67,158,231,33,40,123,159,120,108,234,179, -111,191,253,202,62,191,223,177,162,236,11,240,153,197,45,171,248,230,30, -139,213,185,95,217,247,91,160,20,57,119,22,67,88,189,101,131,177,158,195, -229,242,139,168,45,167,231,45,203,52,33,31,57,94,170,105,6,68,104,51,126, -127,179,136,106,12,240,175,232,166,182,240,141,214,169,110,23,252,58,212, -35,94,68,60,108,197,28,85,205,26,118,27,64,123,60,110,180,104,218,85,132, -16,18,84,59,141,2,24,178,44,196,53,13,105,66,20,112,23,1,112,109,0,57,199, -65,65,88,142,13,255,255,97,225,96,177,248,207,6,99,227,152,170,199,80,226, -160,251,69,153,213,48,23,16,246,123,76,193,114,110,183,168,80,253,220,174, -193,122,193,43,123,92,132,176,214,107,24,253,95,73,167,215,234,132,172, -245,219,177,195,121,133,13,217,54,12,198,144,209,245,106,233,194,133,2, -174,216,213,62,95,129,75,1,152,140,97,220,45,54,20,49,236,83,166,249,47, -3,182,253,9,167,118,75,144,219,96,47,229,217,12,243,5,97,149,90,88,152, -180,195,162,128,109,61,224,21,211,13,162,234,37,126,240,253,176,84,58,120, -101,67,195,159,16,66,154,100,192,21,65,48,73,41,70,108,27,132,16,164,52, -77,170,122,231,3,184,108,142,129,91,51,130,180,4,128,11,84,22,158,76,82, -138,113,199,9,180,245,17,119,95,160,244,127,15,149,74,255,141,90,171,20, -209,159,202,198,44,76,1,207,83,16,171,88,24,8,47,122,240,250,169,94,223, -185,136,12,192,9,195,232,233,74,165,182,104,132,52,248,1,151,15,11,192, -152,227,224,156,109,195,100,12,49,66,16,115,43,73,47,21,224,178,37,164, -112,75,148,162,224,2,215,136,174,114,129,202,123,223,120,103,114,242,73, -76,21,1,23,43,247,243,106,247,139,56,168,166,66,197,188,255,234,202,82, -11,124,77,210,4,166,106,144,54,96,170,102,111,211,133,201,228,134,63,207, -100,30,98,149,250,189,145,173,210,61,128,36,52,13,205,154,134,180,174,35, -77,8,8,33,72,74,236,208,195,166,144,249,29,211,207,65,87,58,101,42,100, -250,88,216,113,195,156,150,253,142,107,135,164,70,224,3,107,254,53,22,87, -46,211,98,76,90,222,49,106,88,140,29,126,163,80,120,136,213,86,238,231, -193,203,215,220,229,11,229,40,181,171,66,197,12,193,11,76,159,205,192,23, -130,78,161,226,82,225,193,183,113,85,60,190,230,230,150,150,7,29,160,45, -42,112,163,194,25,51,132,96,24,20,131,34,172,30,109,216,241,88,200,251, -163,158,87,148,125,208,136,223,111,212,40,51,182,239,205,66,225,81,212, -90,165,20,37,106,87,116,100,93,74,230,151,42,84,124,238,169,6,25,124,89, -132,84,68,53,38,40,45,127,102,154,251,187,82,169,171,24,144,241,75,53,248, -1,151,133,128,137,5,0,55,172,133,251,165,7,252,128,203,2,142,29,118,60, -191,244,65,189,231,21,101,31,97,214,243,117,39,203,24,163,37,198,254,240, -214,228,228,47,67,210,11,124,229,254,160,181,239,42,84,40,240,206,64,245, -6,193,118,218,42,146,73,74,203,31,20,139,175,109,72,38,151,37,8,233,36, -100,106,250,130,2,238,226,5,174,123,254,147,103,44,235,95,15,148,74,47, -4,64,87,54,139,65,165,24,84,168,152,37,120,35,169,91,4,215,203,100,31,151, -203,31,100,99,177,161,22,93,239,130,176,200,226,124,6,174,152,22,88,12, -192,5,192,44,198,62,61,92,42,237,238,183,172,131,168,117,97,21,45,176,121, -3,75,71,165,20,84,168,8,7,233,108,224,43,150,184,227,13,0,61,179,63,207, -117,53,237,221,198,128,230,91,151,45,187,171,65,211,254,148,1,241,243,53, -135,91,15,112,163,62,62,7,192,5,5,198,207,89,214,127,124,84,46,255,129, -3,173,7,219,114,128,210,157,115,99,64,21,42,20,120,163,195,55,198,193,87, -4,112,117,107,214,245,229,215,101,50,119,52,106,218,86,157,144,180,2,238, -231,11,92,27,24,28,181,172,151,14,151,203,175,176,233,160,21,107,49,204, -171,5,182,10,21,10,188,254,239,11,131,175,12,192,226,150,202,234,122,203, -181,77,77,223,104,214,245,173,12,232,96,132,16,5,220,133,1,46,3,44,135, -177,222,162,101,253,190,199,48,246,113,96,53,36,176,229,171,143,205,171, -5,182,10,21,10,188,245,193,215,171,221,160,11,240,229,231,252,242,32,246, -110,227,0,18,157,137,68,71,119,58,125,77,70,215,187,117,66,86,49,198,26, -41,16,83,192,157,19,224,50,6,152,4,200,155,140,245,229,28,231,189,35,229, -242,155,86,197,39,205,146,0,214,16,82,10,50,149,59,47,22,216,42,84,40,240, -70,75,57,200,224,171,9,0,246,224,27,71,109,46,152,191,157,230,200,122,65, -34,209,209,30,143,111,72,18,210,156,210,180,12,33,68,115,49,66,120,56,49, -225,156,196,86,79,35,204,17,142,66,10,17,218,81,222,19,229,216,52,2,76, -153,207,62,136,79,21,38,10,152,22,99,249,50,165,163,231,76,243,147,60,99, -5,200,221,87,189,162,54,34,104,77,200,93,89,169,130,174,10,21,11,15,94, -63,229,59,173,118,3,106,45,173,121,21,28,151,168,226,32,27,236,32,187,148, -185,58,167,165,26,126,197,160,249,20,0,15,76,71,2,84,94,209,90,144,91,96, -139,211,197,22,196,167,74,133,10,5,222,104,240,37,18,245,43,131,176,104, -125,45,179,193,150,249,87,41,240,70,3,175,159,245,181,104,129,45,83,181, -50,119,214,48,11,108,5,92,21,42,22,0,188,97,169,7,177,198,3,15,224,154, -66,234,194,166,73,148,174,232,202,122,190,195,54,8,194,126,69,162,169,4, -190,178,141,127,142,9,192,157,119,11,108,21,42,20,120,103,7,95,209,236, -207,207,230,218,79,225,234,18,136,43,181,91,191,234,229,129,73,125,32,76, -37,160,245,179,193,86,169,5,21,42,22,9,120,17,0,67,63,0,203,114,194,154, -228,117,252,62,148,218,173,95,245,138,105,135,32,16,215,99,129,173,160, -171,66,197,34,0,111,84,0,203,106,250,202,224,236,167,114,149,218,173,95, -245,194,7,170,124,181,203,48,75,21,5,92,21,42,22,49,120,195,224,72,124, -20,44,137,0,91,5,218,250,65,44,131,40,69,184,233,162,31,100,21,116,85,168, -88,164,224,13,130,174,12,194,226,125,132,64,87,1,56,92,245,2,193,51,15, -252,156,111,149,194,85,161,98,137,131,55,42,128,21,104,23,70,249,206,68, -205,42,232,170,80,177,68,193,91,47,132,163,0,90,69,52,213,27,6,79,5,91, -21,42,206,3,240,206,20,184,42,230,15,204,10,184,42,84,156,39,224,85,192, -93,188,0,86,161,66,197,121,14,55,5,99,5,89,21,42,84,168,80,161,66,133,10, -21,42,84,168,80,161,66,133,10,21,42,84,76,197,255,3,84,68,254,84,118,80, -27,147,0,0,0,0,73,69,78,68,174,66,96,130}; - -static size_t xml_res_size_5 = 690; -static unsigned char xml_res_file_5[] = { -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,100,103,101,116,115,46,111,114,103, -47,119,120,120,114,99,34,62,10,32,32,60,33,45,45,32,72,97,110,100,108,101, -114,32,71,101,110,101,114,97,116,105,111,110,32,105,115,32,79,78,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,117,115,116,111, -109,45,99,111,110,116,114,111,108,34,62,119,120,99,114,97,102,116,101,114, -95,119,120,99,114,97,102,116,101,114,95,98,105,116,109,97,112,115,46,99, -112,112,36,114,101,115,111,117,114,99,101,115,95,99,117,115,116,111,109, -45,99,111,110,116,114,111,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,105,110,102,111,34,62, -119,120,99,114,97,102,116,101,114,95,119,120,99,114,97,102,116,101,114, -95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,111,117,114,99, -101,115,95,105,110,102,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,108,105,99,101,110,115,101, -45,101,114,114,111,114,34,62,119,120,99,114,97,102,116,101,114,95,119,120, -99,114,97,102,116,101,114,95,98,105,116,109,97,112,115,46,99,112,112,36, -114,101,115,111,117,114,99,101,115,95,108,105,99,101,110,115,101,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,108,105,99,101,110,115,101,45,111, -107,34,62,119,120,99,114,97,102,116,101,114,95,119,120,99,114,97,102,116, -101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,111,117, -114,99,101,115,95,108,105,99,101,110,115,101,45,111,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,119,120,99,45,108,111,103,111,34,62,119,120,99,114,97,102,116,101, -114,95,119,120,99,114,97,102,116,101,114,95,98,105,116,109,97,112,115,46, -99,112,112,36,114,101,115,111,117,114,99,101,115,95,119,120,99,45,108,111, -103,111,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 wxCA63InitBitmapResources() -{ - - // 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/wxcrafter_wxcrafter_bitmaps.cpp$resources_custom-control.png"), xml_res_file_0, xml_res_size_0, wxT("image/png")); - XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_info.png"), xml_res_file_1, xml_res_size_1, wxT("image/png")); - XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_license-error.png"), xml_res_file_2, xml_res_size_2, wxT("image/png")); - XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_license-ok.png"), xml_res_file_3, xml_res_size_3, wxT("image/png")); - XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_wxc-logo.png"), xml_res_file_4, xml_res_size_4, wxT("image/png")); - XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$_home_david_devel_git_CODELITE_wxcrafter_wxcrafter_wxcrafter_bitmaps.xrc"), xml_res_file_5, xml_res_size_5, wxT("text/xml")); - wxXmlResource::Get()->Load(wxT("memory:XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$_home_david_devel_git_CODELITE_wxcrafter_wxcrafter_wxcrafter_bitmaps.xrc")); -} +// +// This file was automatically generated by wxrc, do not edit by hand. +// + +#include + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include +#include +#include +#include + +#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 = 6728; +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,128,0,0,0,128,8,6,0, +0,0,195,62,97,203,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,10,65, +105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,120,1,157,150,119, +84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59, +72,21,4,81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192, +1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229, +221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217, +103,239,125,215,186,0,80,252,130,4,194,116,88,1,128,52,161,88,20,238,235, +193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68, +2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191, +80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229, +2,148,83,179,197,25,50,255,4,202,244,149,41,50,134,49,50,22,161,9,162,172, +34,227,196,175,108,246,167,230,43,187,201,152,151,38,228,161,26,89,206, +25,188,52,158,140,187,80,222,154,37,225,163,140,4,161,92,152,37,224,103, +163,124,7,101,189,84,73,154,0,229,247,40,211,211,248,156,76,0,48,20,153, +95,204,231,38,161,108,137,50,69,20,25,238,137,242,2,0,8,148,196,57,188, +114,14,139,249,57,104,158,0,120,166,103,228,138,4,137,73,98,166,17,215, +152,105,229,232,200,102,250,241,179,83,249,98,49,43,148,195,77,225,136, +120,76,207,244,180,12,142,48,23,128,175,111,150,69,1,37,89,109,153,104, +145,237,173,28,237,237,89,214,230,104,249,191,217,223,30,126,83,253,61, +200,122,251,85,241,38,236,207,158,65,140,158,89,223,108,236,172,47,189, +22,0,246,36,90,155,29,179,190,149,85,0,180,109,6,64,229,225,172,79,239, +32,0,242,5,0,180,222,156,243,30,134,108,94,146,196,226,12,39,11,139,236, +236,108,115,1,159,107,46,43,232,55,251,159,130,111,202,191,134,57,247,153, +203,238,251,86,59,166,23,63,129,35,73,21,51,101,69,229,166,167,166,75,68, +204,204,12,14,151,207,100,253,247,16,255,227,192,57,105,205,201,195,44, +156,159,192,23,241,133,232,85,81,232,148,9,132,137,104,187,133,60,129,88, +144,46,100,10,132,127,213,225,127,24,54,39,7,25,126,157,107,20,104,117, +95,0,125,133,57,80,184,73,7,200,111,61,0,67,35,3,36,110,63,122,2,125,235, +91,16,49,10,200,190,188,104,173,145,175,115,143,50,122,254,231,250,31,11, +92,138,110,225,76,65,34,83,230,246,12,143,100,114,37,162,44,25,163,223, +132,108,193,2,18,144,7,116,160,10,52,129,46,48,2,44,96,13,28,128,51,112, +3,222,32,0,132,128,72,16,3,150,3,46,72,2,105,64,4,178,65,62,216,0,10,65, +49,216,1,118,131,106,112,0,212,129,122,208,4,78,130,54,112,6,92,4,87,192, +13,112,11,12,128,71,64,10,134,193,75,48,1,222,129,105,8,130,240,16,21,162, +65,170,144,22,164,15,153,66,214,16,27,90,8,121,67,65,80,56,20,3,197,67, +137,144,16,146,64,249,208,38,168,24,42,131,170,161,67,80,61,244,35,116, +26,186,8,93,131,250,160,7,208,32,52,6,253,1,125,132,17,152,2,211,97,13, +216,0,182,128,217,176,59,28,8,71,194,203,224,68,120,21,156,7,23,192,219, +225,74,184,22,62,14,183,194,23,225,27,240,0,44,133,95,194,147,8,64,200, +8,3,209,70,88,8,27,241,68,66,144,88,36,1,17,33,107,145,34,164,2,169,69, +154,144,14,164,27,185,141,72,145,113,228,3,6,135,161,97,152,24,22,198,25, +227,135,89,140,225,98,86,97,214,98,74,48,213,152,99,152,86,76,23,230,54, +102,16,51,129,249,130,165,98,213,177,166,88,39,172,63,118,9,54,17,155,141, +45,196,86,96,143,96,91,176,151,177,3,216,97,236,59,28,14,199,192,25,226, +28,112,126,184,24,92,50,110,53,174,4,183,15,215,140,187,128,235,195,13, +225,38,241,120,188,42,222,20,239,130,15,193,115,240,98,124,33,190,10,127, +28,127,30,223,143,31,198,191,39,144,9,90,4,107,130,15,33,150,32,36,108, +36,84,16,26,8,231,8,253,132,17,194,52,81,129,168,79,116,34,134,16,121,196, +92,98,41,177,142,216,65,188,73,28,38,78,147,20,73,134,36,23,82,36,41,153, +180,129,84,73,106,34,93,38,61,38,189,33,147,201,58,100,71,114,24,89,64, +94,79,174,36,159,32,95,37,15,146,63,80,148,40,38,20,79,74,28,69,66,217, +78,57,74,185,64,121,64,121,67,165,82,13,168,110,212,88,170,152,186,157, +90,79,189,68,125,74,125,47,71,147,51,151,243,151,227,201,173,147,171,145, +107,149,235,151,123,37,79,148,215,151,119,151,95,46,159,39,95,33,127,74, +254,166,252,184,2,81,193,64,193,83,129,163,176,86,161,70,225,180,194,61, +133,73,69,154,162,149,98,136,98,154,98,137,98,131,226,53,197,81,37,188, +146,129,146,183,18,79,169,64,233,176,210,37,165,33,26,66,211,165,121,210, +184,180,77,180,58,218,101,218,48,29,71,55,164,251,211,147,233,197,244,31, +232,189,244,9,101,37,101,91,229,40,229,28,229,26,229,179,202,82,6,194,48, +96,248,51,82,25,165,140,147,140,187,140,143,243,52,230,185,207,227,207, +219,54,175,105,94,255,188,41,149,249,42,110,42,124,149,34,149,102,149,1, +149,143,170,76,85,111,213,20,213,157,170,109,170,79,212,48,106,38,106,97, +106,217,106,251,213,46,171,141,207,167,207,119,158,207,157,95,52,255,228, +252,135,234,176,186,137,122,184,250,106,245,195,234,61,234,147,26,154,26, +190,26,25,26,85,26,151,52,198,53,25,154,110,154,201,154,229,154,231,52, +199,180,104,90,11,181,4,90,229,90,231,181,94,48,149,153,238,204,84,102, +37,179,139,57,161,173,174,237,167,45,209,62,164,221,171,61,173,99,168,179, +88,103,163,78,179,206,19,93,146,46,91,55,65,183,92,183,83,119,66,79,75, +47,88,47,95,175,81,239,161,62,81,159,173,159,164,191,71,191,91,127,202, +192,208,32,218,96,139,65,155,193,168,161,138,161,191,97,158,97,163,225, +99,35,170,145,171,209,42,163,90,163,59,198,56,99,182,113,138,241,62,227, +91,38,176,137,157,73,146,73,141,201,77,83,216,212,222,84,96,186,207,180, +207,12,107,230,104,38,52,171,53,187,199,162,176,220,89,89,172,70,214,160, +57,195,60,200,124,163,121,155,249,43,11,61,139,88,139,157,22,221,22,95, +44,237,44,83,45,235,44,31,89,41,89,5,88,109,180,234,176,250,195,218,196, +154,107,93,99,125,199,134,106,227,99,179,206,166,221,230,181,173,169,45, +223,118,191,237,125,59,154,93,176,221,22,187,78,187,207,246,14,246,34,251, +38,251,49,7,61,135,120,135,189,14,247,216,116,118,40,187,132,125,213,17, +235,232,225,184,206,241,140,227,7,39,123,39,177,211,73,167,223,157,89,206, +41,206,13,206,163,11,12,23,240,23,212,45,24,114,209,113,225,184,28,114, +145,46,100,46,140,95,120,112,161,212,85,219,149,227,90,235,250,204,77,215, +141,231,118,196,109,196,221,216,61,217,253,184,251,43,15,75,15,145,71,139, +199,148,167,147,231,26,207,11,94,136,151,175,87,145,87,175,183,146,247, +98,239,106,239,167,62,58,62,137,62,141,62,19,190,118,190,171,125,47,248, +97,253,2,253,118,250,221,243,215,240,231,250,215,251,79,4,56,4,172,9,232, +10,164,4,70,4,86,7,62,11,50,9,18,5,117,4,195,193,1,193,187,130,31,47,210, +95,36,92,212,22,2,66,252,67,118,133,60,9,53,12,93,21,250,115,24,46,44,52, +172,38,236,121,184,85,120,126,120,119,4,45,98,69,68,67,196,187,72,143,200, +210,200,71,139,141,22,75,22,119,70,201,71,197,69,213,71,77,69,123,69,151, +69,75,151,88,44,89,179,228,70,140,90,140,32,166,61,22,31,27,21,123,36,118, +114,169,247,210,221,75,135,227,236,226,10,227,238,46,51,92,150,179,236, +218,114,181,229,169,203,207,174,144,95,193,89,113,42,30,27,31,29,223,16, +255,137,19,194,169,229,76,174,244,95,185,119,229,4,215,147,187,135,251, +146,231,198,43,231,141,241,93,248,101,252,145,4,151,132,178,132,209,68, +151,196,93,137,99,73,174,73,21,73,227,2,79,65,181,224,117,178,95,242,129, +228,169,148,144,148,163,41,51,169,209,169,205,105,132,180,248,180,211,66, +37,97,138,176,43,93,51,61,39,189,47,195,52,163,48,67,186,202,105,213,238, +85,19,162,64,209,145,76,40,115,89,102,187,152,142,254,76,245,72,140,36, +155,37,131,89,11,179,106,178,222,103,71,101,159,202,81,204,17,230,244,228, +154,228,110,203,29,201,243,201,251,126,53,102,53,119,117,103,190,118,254, +134,252,193,53,238,107,14,173,133,214,174,92,219,185,78,119,93,193,186, +225,245,190,235,143,109,32,109,72,217,240,203,70,203,141,101,27,223,110, +138,222,212,81,160,81,176,190,96,104,179,239,230,198,66,185,66,81,225,189, +45,206,91,14,108,197,108,21,108,237,221,102,179,173,106,219,151,34,94,209, +245,98,203,226,138,226,79,37,220,146,235,223,89,125,87,249,221,204,246, +132,237,189,165,246,165,251,119,224,118,8,119,220,221,233,186,243,88,153, +98,89,94,217,208,174,224,93,173,229,204,242,162,242,183,187,87,236,190, +86,97,91,113,96,15,105,143,100,143,180,50,168,178,189,74,175,106,71,213, +167,234,164,234,129,26,143,154,230,189,234,123,183,237,157,218,199,219, +215,191,223,109,127,211,1,141,3,197,7,62,30,20,28,188,127,200,247,80,107, +173,65,109,197,97,220,225,172,195,207,235,162,234,186,191,103,127,95,127, +68,237,72,241,145,207,71,133,71,165,199,194,143,117,213,59,212,215,55,168, +55,148,54,194,141,146,198,177,227,113,199,111,253,224,245,67,123,19,171, +233,80,51,163,185,248,4,56,33,57,241,226,199,248,31,239,158,12,60,217,121, +138,125,170,233,39,253,159,246,182,208,90,138,90,161,214,220,214,137,182, +164,54,105,123,76,123,223,233,128,211,157,29,206,29,45,63,155,255,124,244, +140,246,153,154,179,202,103,75,207,145,206,21,156,155,57,159,119,126,242, +66,198,133,241,139,137,23,135,58,87,116,62,186,180,228,210,157,174,176, +174,222,203,129,151,175,94,241,185,114,169,219,189,251,252,85,151,171,103, +174,57,93,59,125,157,125,189,237,134,253,141,214,30,187,158,150,95,236, +126,105,233,181,239,109,189,233,112,179,253,150,227,173,142,190,5,125,231, +250,93,251,47,222,246,186,125,229,142,255,157,27,3,139,6,250,238,46,190, +123,255,94,220,61,233,125,222,253,209,7,169,15,94,63,204,122,56,253,104, +253,99,236,227,162,39,10,79,42,158,170,63,173,253,213,248,215,102,169,189, +244,236,160,215,96,207,179,136,103,143,134,184,67,47,255,149,249,175,79, +195,5,207,169,207,43,70,180,70,234,71,173,71,207,140,249,140,221,122,177, +244,197,240,203,140,151,211,227,133,191,41,254,182,247,149,209,171,159, +126,119,251,189,103,98,201,196,240,107,209,235,153,63,74,222,168,190,57, +250,214,246,109,231,100,232,228,211,119,105,239,166,167,138,222,171,190, +63,246,129,253,161,251,99,244,199,145,233,236,79,248,79,149,159,141,63, +119,124,9,252,242,120,38,109,102,230,223,247,132,243,251,165,242,38,34, +0,0,0,9,112,72,89,115,0,0,14,196,0,0,14,196,1,149,43,14,27,0,0,15,157,73, +68,65,84,120,1,237,157,11,176,85,85,25,199,187,202,27,68,65,17,242,1,166, +128,138,212,168,52,65,25,47,95,163,144,67,165,226,3,138,183,51,96,208,12, +99,226,36,89,97,86,86,102,90,58,12,1,150,150,128,154,162,147,74,83,190, +17,133,124,52,66,10,10,152,4,37,2,62,144,0,13,162,223,255,206,57,112,238, +190,231,236,189,246,190,107,175,115,214,222,247,155,249,223,253,88,223, +90,235,91,223,247,237,181,215,250,214,218,247,212,237,219,183,239,19,121, +166,186,186,186,86,180,127,48,24,3,166,162,143,247,108,233,131,178,191, +70,89,39,131,121,148,187,206,86,185,54,203,169,203,171,3,96,156,35,81,228, +72,48,22,244,3,162,251,192,104,116,242,81,253,85,19,254,80,254,64,178,63, +0,14,7,219,193,18,48,23,60,78,249,123,57,214,6,201,1,242,6,52,63,17,188, +5,212,253,5,49,135,123,7,53,69,39,228,63,21,108,42,83,182,234,122,2,156, +208,148,242,109,230,61,8,97,242,72,195,104,116,247,10,13,159,196,253,27, +43,164,69,222,230,201,239,5,211,189,224,168,10,204,67,184,127,92,133,52, +231,183,243,234,0,239,70,104,250,42,12,57,51,130,167,81,50,121,100,244, +123,64,207,70,137,7,110,168,23,216,113,224,178,186,103,121,117,128,157, +6,106,159,133,65,175,52,224,171,103,129,183,51,39,11,129,186,255,48,218, +67,226,174,48,6,151,105,121,117,128,255,24,40,185,14,158,155,49,236,232, +40,94,120,218,193,115,39,208,192,47,138,52,0,172,25,7,104,17,37,109,70, +211,77,187,224,150,180,127,14,6,238,196,81,78,211,13,28,2,14,6,154,41,232, +85,178,25,124,5,12,7,38,244,95,152,118,155,48,186,224,201,171,3,196,121, +2,219,98,136,91,45,26,67,142,35,39,168,9,202,235,43,32,142,3,216,54,212, +199,20,216,236,0,182,181,26,179,188,106,58,128,140,223,236,0,49,13,102, +155,221,116,12,96,187,94,149,167,247,127,147,35,141,182,4,203,235,43,160, +171,45,5,38,40,167,13,121,14,77,144,47,149,44,185,115,0,70,244,211,209, +228,143,83,209,166,89,161,61,96,123,20,57,78,49,99,79,151,43,55,139,65, +40,92,243,250,31,129,25,233,170,212,184,244,127,194,121,49,113,253,229, +198,57,82,96,204,147,3,232,169,175,21,227,23,77,249,54,39,35,112,130,21, +197,27,174,143,185,112,0,30,126,25,190,154,221,126,152,93,55,144,120,54, +78,240,70,24,83,90,105,222,58,0,70,29,129,82,138,17,58,197,246,119,1,141, +176,139,163,108,141,180,117,111,16,184,19,212,114,208,75,175,129,203,129, +100,110,83,64,235,194,81,129,168,246,64,225,102,29,159,182,233,44,94,58, +0,198,239,139,34,94,4,218,205,19,36,197,218,181,224,34,40,232,162,208,109, +45,27,31,241,234,73,155,70,254,7,20,126,150,188,130,66,206,65,90,140,3, +40,244,108,133,124,80,76,185,134,78,225,102,57,227,139,87,74,19,244,4,233, +137,241,133,58,26,10,58,140,7,224,52,156,224,101,67,254,80,54,239,166,129, +52,190,27,45,186,40,180,85,217,78,148,227,143,183,213,68,239,28,128,134, +127,21,116,177,165,0,79,203,185,144,7,193,138,14,188,114,0,26,173,185,188, +54,114,230,157,62,137,2,134,218,80,130,87,14,192,123,79,219,169,238,0,26, +233,231,153,20,55,176,18,59,240,117,22,160,215,128,28,193,116,224,148,37, +103,121,140,198,140,226,89,216,108,163,81,94,245,0,197,6,211,248,251,57, +191,16,108,41,222,115,120,84,204,225,61,80,141,37,221,250,118,219,50,190, +116,230,101,15,32,193,69,12,9,6,112,88,8,180,192,146,38,109,163,240,5,224, +17,176,22,200,9,244,193,71,127,160,0,206,16,144,54,205,167,130,41,24,223, +238,82,50,5,122,253,97,8,74,233,3,86,1,141,15,210,192,195,148,219,187,146, +158,72,83,47,170,141,163,91,65,26,245,171,204,155,65,139,74,50,52,229,190, +215,198,47,54,28,229,244,0,10,167,218,54,128,186,220,182,197,122,194,142, +240,105,71,176,94,13,54,101,80,100,112,102,88,189,77,77,203,132,3,72,9, +208,145,224,121,96,203,0,235,40,171,75,28,5,195,255,13,139,245,43,164,125, +117,156,250,147,240,122,57,8,68,49,141,136,198,191,195,205,53,141,18,146, +223,248,9,101,198,29,100,206,165,186,149,201,171,108,144,83,49,143,199, +27,220,73,225,34,51,14,80,208,205,49,150,116,164,174,252,143,113,203,194, +97,20,159,184,55,110,190,10,252,114,0,5,124,82,165,204,56,0,51,2,181,69, +43,127,54,72,221,255,191,19,22,244,66,194,124,229,178,105,185,59,85,202, +140,3,160,37,61,49,229,150,79,147,40,240,125,158,102,13,192,146,144,166, +140,245,131,146,36,153,3,121,180,55,32,85,202,146,3,72,233,123,44,105,171, +67,97,221,33,73,113,29,200,36,103,180,65,182,218,83,81,150,204,56,64,225, +137,181,181,223,255,120,52,118,68,69,173,133,39,68,125,29,28,158,187,97, +234,7,13,47,237,95,101,198,1,10,170,73,250,222,14,106,86,83,202,115,130, +55,163,174,233,53,244,10,186,40,138,207,48,93,61,218,191,12,121,19,179, +101,198,1,80,190,246,206,117,77,172,137,198,25,175,166,76,117,231,113,72, +235,19,10,79,219,32,57,128,254,219,72,186,68,215,233,125,48,8,13,29,6,22, +3,41,205,38,110,55,213,15,245,158,8,54,88,174,95,159,164,143,49,149,33, +9,95,22,140,127,20,74,122,202,178,226,75,157,104,54,101,119,10,83,46,233, +131,193,235,41,201,160,85,199,105,97,245,55,37,205,107,7,64,49,61,193,75, +41,41,190,212,9,94,165,142,111,2,45,60,117,4,154,158,233,117,115,38,80, +244,79,1,160,82,254,52,206,191,219,20,67,87,202,235,237,114,48,239,231, +190,40,93,81,183,147,128,43,146,161,181,17,67,219,205,15,5,26,44,186,164, +155,169,236,91,24,83,235,4,86,200,75,7,192,248,26,104,45,2,221,173,104, +193,175,66,126,131,184,147,113,2,57,99,147,201,187,89,0,198,215,244,236, +65,144,71,227,203,224,99,193,239,209,67,210,56,133,202,216,79,94,57,0,141, +86,132,237,58,224,186,235,221,175,176,26,57,209,158,200,161,54,100,241, +202,1,232,246,52,184,210,14,157,188,147,86,43,151,217,80,130,87,14,80,104, +240,125,28,63,180,209,120,143,203,120,148,103,97,147,13,249,189,115,0,26, +190,150,134,231,185,23,208,42,229,28,27,198,87,25,222,57,64,161,225,183, +25,42,64,202,202,26,41,232,181,212,86,163,124,157,6,106,48,56,13,104,36, +172,215,193,14,160,176,233,206,2,180,117,90,208,255,7,56,23,220,0,106,153, +212,171,77,4,90,254,213,154,134,160,96,147,142,237,64,251,194,185,214,38, +238,167,23,92,193,209,10,121,233,0,113,91,206,228,225,118,242,76,142,155, +207,17,255,251,212,51,28,163,90,25,212,197,149,217,215,87,64,220,118,78, +39,195,162,184,153,28,240,171,199,26,83,45,227,171,125,185,112,0,20,172, +168,217,120,176,80,141,174,17,218,142,28,250,121,154,135,170,41,79,46,28, +64,10,70,209,122,218,198,130,91,64,181,7,135,27,144,65,255,29,236,1,142, +85,165,92,140,1,130,26,102,76,48,147,123,215,7,239,59,186,222,72,61,67, +49,190,6,126,85,167,220,244,0,1,77,191,26,184,118,121,169,65,223,122,151, +21,134,213,149,87,7,208,82,110,181,168,56,189,171,86,253,13,234,109,209, +224,202,211,11,186,244,86,136,174,143,40,164,92,145,214,12,20,3,216,70, +87,91,238,125,175,185,117,181,168,53,21,183,172,86,229,193,122,51,225,0, +52,106,46,24,6,212,30,5,137,228,0,218,180,113,29,152,13,130,164,0,75,181, +72,206,218,236,0,182,180,207,211,255,41,202,210,242,168,162,101,65,26,67, +250,175,233,5,130,59,104,226,244,0,234,65,180,19,71,83,73,125,171,167,104, +156,182,127,203,193,180,42,167,173,232,231,129,51,128,9,169,7,144,19,212, +4,101,161,7,24,129,38,203,25,95,10,238,7,78,3,47,232,162,132,226,56,192, +12,28,232,103,37,121,27,157,202,201,184,169,5,42,213,23,69,114,0,161,38, +200,235,65,32,138,215,147,120,73,136,38,213,213,142,42,147,110,234,0,63, +140,50,190,202,134,103,51,135,139,193,106,93,71,144,100,46,142,85,34,88, +211,79,246,218,1,80,143,158,238,168,167,110,4,142,18,252,106,216,100,12, +160,177,131,226,5,70,132,19,188,9,163,156,96,99,68,6,57,128,73,253,17,197, +216,73,246,221,1,70,162,134,168,1,149,198,8,67,2,234,210,135,36,97,180, +128,68,237,197,215,96,210,152,96,95,5,179,122,36,125,33,92,137,228,0,26, +71,212,4,121,235,0,60,213,122,239,127,217,80,139,151,6,248,94,230,90,203, +199,229,232,17,110,78,194,152,250,32,35,54,145,79,171,122,163,129,150,169, +203,209,107,220,220,90,46,161,42,247,228,228,62,2,101,157,15,244,132,154, +96,11,124,221,74,219,201,117,95,160,209,189,186,236,98,25,207,112,222,185, +148,47,233,57,229,168,39,208,76,65,101,107,38,241,44,152,0,58,38,45,51, +141,124,85,49,62,74,184,22,220,4,122,37,109,20,121,231,131,162,225,76,142, +19,203,213,69,25,93,193,120,160,88,194,49,21,120,6,144,118,7,24,89,46,189, +210,61,248,199,129,95,128,129,224,224,74,124,213,188,239,212,1,80,130,166, +157,183,130,162,193,52,143,214,20,234,116,83,37,192,219,7,76,5,239,130, +98,57,38,71,117,189,234,154,143,53,169,11,62,189,171,213,203,104,122,87, +124,146,181,203,104,188,73,126,95,120,156,57,0,138,147,66,53,178,46,103, +172,93,220,255,3,56,11,212,175,80,150,42,144,123,135,3,117,159,79,2,241, +150,43,195,244,158,222,191,247,130,11,64,235,210,122,116,14,105,108,113, +57,88,10,202,149,169,177,193,132,96,62,95,175,157,56,0,10,83,228,235,231, +21,20,26,84,242,19,240,93,84,200,211,153,227,53,96,61,8,242,217,184,254, +43,229,142,2,234,153,228,100,218,103,184,18,68,149,173,158,224,50,208,200, +89,125,115,4,39,251,1,24,177,107,42,166,37,216,56,1,16,141,212,245,52,246, +6,105,211,10,42,232,2,36,167,41,189,4,99,127,12,190,199,52,67,45,242,185, +154,6,254,131,198,199,221,250,164,32,143,11,227,203,46,159,3,113,140,175, +60,191,245,221,248,106,132,147,30,160,190,162,186,186,51,56,62,5,52,22, +240,157,54,209,128,83,113,128,218,153,207,39,212,168,171,30,64,226,61,7, +30,75,40,103,173,101,155,151,5,227,75,169,206,28,0,133,41,24,114,11,208, +0,203,103,210,244,115,158,207,13,40,149,221,153,3,20,42,253,51,71,13,184, +124,166,187,113,230,13,62,55,160,84,118,167,14,128,226,52,135,254,101,169, +0,158,157,43,6,161,88,70,102,200,169,3,20,180,182,152,227,106,79,53,168, +159,109,253,187,167,178,151,21,219,185,3,160,64,173,194,169,23,240,109, +44,160,167,95,99,152,76,145,115,7,40,104,239,121,142,190,5,80,222,65,230, +76,61,253,178,69,181,28,224,42,234,142,218,200,33,249,106,137,122,32,204, +215,107,73,32,27,178,56,11,4,21,133,37,44,252,89,206,181,54,174,245,1,223, +104,29,2,247,227,53,246,129,111,130,87,146,183,26,61,192,100,132,241,209, +248,210,225,9,64,91,208,51,67,78,29,128,167,255,104,52,103,186,141,171, +86,149,60,142,118,100,33,156,93,175,95,167,14,64,141,250,128,66,75,188, +62,83,127,132,63,197,231,6,148,202,174,117,112,151,52,44,165,202,20,93, +124,24,104,45,255,67,112,4,144,161,190,4,122,2,155,164,215,215,217,224, +21,155,133,86,173,44,6,52,169,111,10,161,113,71,129,43,128,226,232,81,155, +45,226,164,111,164,60,109,204,104,89,174,29,220,63,12,124,7,236,6,113,202, +141,226,149,241,229,92,135,148,171,215,167,123,169,25,95,202,41,40,233, +46,142,155,65,148,82,227,166,191,65,153,125,76,148,13,223,133,64,1,168, +184,117,68,241,175,161,204,155,192,23,64,42,191,237,107,210,190,166,240, +88,117,0,148,160,193,145,186,222,159,2,41,39,74,129,73,211,119,82,246,23, +227,52,28,254,233,41,202,163,160,150,182,151,205,0,21,127,104,58,142,188, +174,120,173,56,0,141,62,28,72,193,90,243,215,130,79,82,195,154,230,155, +29,87,65,200,164,15,50,181,205,204,180,142,164,124,219,169,67,227,145,81, +160,85,92,57,93,243,219,114,128,73,14,20,91,52,136,158,182,1,73,20,69,62, +69,32,139,229,184,56,158,146,68,78,151,121,108,77,3,245,190,119,69,218, +142,165,13,166,73,104,25,153,100,120,87,228,82,47,137,218,100,203,1,212, +189,186,34,205,36,52,213,75,66,219,200,164,25,129,43,114,61,205,142,221, +46,91,14,176,55,118,205,201,51,104,30,158,84,177,90,128,202,76,20,47,185, +10,15,228,180,229,0,31,29,40,50,245,51,197,20,186,38,172,229,120,242,201, +129,92,145,75,189,36,106,147,45,7,208,148,239,237,68,18,196,207,164,224, +206,160,248,217,234,115,92,144,48,95,146,108,26,167,184,210,73,18,249,234, +243,88,91,14,102,129,164,27,37,42,214,127,9,24,8,244,85,79,90,164,208,239, +32,70,203,198,79,24,242,245,34,207,114,208,41,45,161,40,119,11,248,19,88, +4,158,68,190,29,28,107,155,210,152,114,208,226,147,193,53,64,193,145,180, +166,91,223,55,149,29,25,218,128,37,41,201,162,65,229,99,96,34,56,218,84, +166,90,225,179,18,7,168,212,24,20,162,65,215,96,240,43,240,22,176,233,12, +26,120,94,11,66,191,187,39,93,11,67,247,0,155,117,235,27,135,85,96,22,248, +76,165,246,251,112,63,85,7,40,85,0,138,146,33,94,3,54,13,161,178,212,229, +158,11,26,44,204,112,173,129,226,56,160,125,124,182,235,188,155,50,219, +150,182,207,215,243,164,211,41,218,31,143,80,208,86,222,195,127,33,215, +73,241,114,70,114,203,248,194,122,202,95,203,81,139,62,157,129,234,73,58, +91,32,107,40,233,103,91,118,133,114,120,146,104,109,16,104,210,94,12,116, +38,124,114,130,58,19,254,26,229,121,27,185,62,45,135,174,81,249,98,137, +101,107,26,104,90,233,50,24,245,238,244,153,30,202,138,241,101,4,167,14, +128,226,52,98,158,235,177,245,181,210,57,223,99,249,27,137,238,212,1,10, +181,255,142,163,102,4,62,146,166,146,138,65,100,134,156,59,0,189,128,22, +115,110,4,26,153,251,68,59,16,246,122,228,247,77,238,80,29,59,119,128,130, +52,43,57,106,46,237,19,201,113,21,242,206,20,85,203,1,174,68,139,190,173, +202,117,71,230,145,153,178,62,141,113,58,13,148,242,152,10,246,225,160, +16,113,59,93,123,70,127,67,222,207,23,6,179,158,137,94,94,220,106,244,0, +83,16,197,71,227,75,131,167,130,225,58,201,10,57,117,0,158,254,99,81,220, +165,158,43,111,42,237,240,237,245,85,81,229,78,29,0,41,198,3,237,32,246, +153,180,212,61,200,231,6,148,202,238,204,1,120,106,20,159,159,80,90,185, +167,231,210,217,52,79,101,111,36,182,51,7,160,102,253,3,102,189,2,178,64, +231,227,208,167,103,161,33,78,28,0,101,29,138,178,166,102,65,97,133,54, +104,23,244,116,218,229,243,162,86,125,83,156,56,0,53,181,7,113,70,254,90, +48,82,172,224,123,96,11,72,147,180,119,239,10,240,3,160,111,14,76,169,35, +140,174,244,103,42,83,124,62,69,54,93,0,201,244,1,165,150,80,195,54,103, +60,77,250,101,160,125,81,38,206,143,3,179,192,122,16,150,55,110,218,75, +148,55,25,236,255,9,23,206,187,129,171,192,106,16,86,222,114,210,187,22, +101,244,249,232,196,248,69,5,161,180,179,128,62,206,40,85,174,86,216,30, +4,231,129,138,219,187,72,211,32,82,83,200,5,96,3,40,45,195,228,92,161,231, +215,193,108,112,14,104,83,148,43,120,36,77,79,247,56,176,2,4,203,126,145, +123,221,131,121,124,189,118,234,0,82,18,164,105,212,70,176,19,220,5,20, +89,139,37,7,121,186,0,173,39,4,141,19,118,61,31,254,14,113,234,130,191, +21,24,1,150,128,189,224,89,224,221,198,207,176,54,59,15,5,163,64,133,131, +123,115,208,19,248,138,174,147,16,101,124,155,124,55,24,230,213,211,175, +109,228,50,96,34,162,62,189,194,214,80,134,122,176,204,80,85,28,192,134, +246,48,200,137,148,163,247,184,201,224,82,49,124,253,186,199,199,54,234, +206,82,25,222,142,98,49,166,150,102,151,26,26,227,190,102,227,151,215,148, +183,14,80,104,142,6,132,81,180,27,134,197,81,76,121,77,247,221,1,30,197, +112,81,113,130,231,224,209,92,191,153,202,104,192,107,7,160,91,223,76,155, +52,66,15,163,5,240,213,79,63,194,152,242,154,230,181,3,20,140,22,246,26, +80,239,240,80,94,141,107,210,238,44,56,192,51,52,84,95,4,149,163,37,133, +94,162,92,90,243,61,52,224,189,3,96,96,237,214,189,13,188,9,20,92,18,233, +191,121,107,61,97,158,46,154,169,178,6,254,15,252,78,73,81,206,253,36,186, +0,0,0,0,73,69,78,68,174,66,96,130}; + +static size_t xml_res_size_1 = 2420; +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,64,0,0,0,64,8,6,0,0, +0,170,105,113,222,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,9,22,73,68,65,84,120,218,236,91,107,140,27,87,21,62,51,227,241,140, +199,175,241,102,179,202,166,155,197,121,144,141,68,163,181,18,181,2,161, +40,22,65,80,248,65,242,131,66,85,148,238,70,74,40,21,15,109,69,85,36,160, +197,33,64,37,10,234,10,129,128,182,148,221,34,250,163,21,104,83,161,170, +130,150,186,173,80,203,146,54,206,134,22,66,149,196,105,211,188,186,89, +123,252,26,207,235,14,231,142,237,100,147,52,94,219,51,187,73,180,123,163, +43,199,190,222,59,231,124,247,59,143,123,238,53,99,219,54,44,230,198,194, +34,111,75,0,44,1,176,4,192,18,0,139,186,249,154,13,50,12,227,250,1,251, +210,7,163,62,65,72,178,44,155,96,88,54,9,12,36,240,99,249,42,95,207,131, +109,103,108,98,103,136,101,165,77,93,75,63,144,220,164,184,149,161,89,168, +103,154,14,186,0,96,111,250,224,118,127,64,26,22,3,210,142,96,64,128,152, +232,135,160,143,131,144,143,5,129,195,206,94,58,183,137,114,84,76,2,85, +139,64,94,183,32,87,213,160,82,213,65,83,213,9,93,173,140,61,152,76,236, +191,33,0,248,193,223,223,28,66,197,83,161,112,40,222,23,9,193,138,144,0, +33,222,7,116,38,13,31,85,182,80,81,171,246,74,234,243,207,150,65,66,163, +20,24,27,36,142,1,63,216,112,186,172,193,251,74,9,242,133,98,22,129,72, +237,253,212,166,241,235,18,128,239,255,237,192,86,84,124,44,28,14,199,7, +186,35,208,35,9,192,115,28,148,9,192,7,6,64,206,180,29,0,218,21,92,102, +45,136,33,40,154,110,192,137,124,177,1,196,240,190,79,111,126,249,186,0, +96,228,153,23,162,161,216,178,148,20,141,142,172,95,46,67,127,36,224,40, +126,14,149,62,173,227,106,19,247,142,138,202,200,18,10,4,1,198,50,225,216, +76,1,180,82,105,84,67,70,60,244,217,91,148,107,6,192,119,158,159,140,10, +82,48,45,71,34,137,77,189,49,136,8,60,40,72,239,227,170,237,80,220,235, +70,101,69,231,8,150,97,128,161,169,160,171,106,70,45,40,201,135,62,179, +89,89,112,0,238,127,254,95,131,129,136,156,238,235,138,200,27,145,242,12, +58,182,255,33,223,207,27,243,191,185,114,128,48,41,8,26,84,203,197,124, +37,159,75,254,244,182,91,14,45,24,0,247,61,247,207,65,41,218,149,142,47, +151,229,141,203,194,80,198,41,222,42,90,80,37,11,187,179,36,166,9,122,85, +165,230,144,175,40,185,228,207,62,127,235,161,121,7,224,222,191,188,254, +17,84,62,179,166,39,134,43,31,134,179,104,231,239,148,77,12,99,215,38,145, +177,16,4,19,65,168,22,11,249,114,62,23,31,253,194,39,148,121,3,224,155, +19,255,136,6,229,174,116,239,178,88,226,227,189,50,156,209,8,188,93,52, +59,18,92,57,115,18,12,20,156,54,94,12,64,116,69,95,231,32,160,79,208,43, +37,168,40,249,140,114,246,84,242,177,157,159,83,90,5,192,215,86,218,40, +136,169,160,36,37,54,245,132,225,84,213,130,183,10,70,71,180,45,29,201, +192,182,62,25,6,55,212,148,62,116,252,36,188,120,120,18,66,3,9,96,125,190, +246,17,96,89,96,252,24,118,3,82,66,140,198,82,148,168,173,254,105,203,12, +184,231,79,175,110,13,198,186,211,91,215,246,130,192,251,225,181,243,90, +71,171,85,120,247,40,236,254,104,20,86,173,236,5,66,72,93,126,22,222,59, +117,26,30,127,71,129,72,255,218,206,28,35,134,73,163,90,69,83,80,160,146, +159,73,254,250,139,91,94,246,148,1,156,95,28,91,135,113,62,236,231,225, +149,233,42,88,29,198,119,185,50,13,171,251,111,6,93,215,47,178,2,129,88, +221,191,10,228,67,71,193,32,107,58,223,215,249,120,96,253,34,112,130,56, +134,31,172,246,108,55,184,231,233,87,134,68,41,20,95,31,11,194,84,78,3, +13,115,118,139,116,214,187,3,126,176,48,150,95,97,199,248,153,51,70,58, +159,219,102,208,20,144,157,156,40,197,247,60,253,234,144,235,221,224,5, +148,252,98,106,93,119,20,206,235,4,78,169,150,43,175,125,66,81,155,143, +245,186,12,39,172,207,97,1,235,23,168,47,24,119,205,128,225,167,94,218, +206,9,129,248,186,174,32,252,59,167,35,210,182,171,158,143,174,132,215, +14,255,7,120,158,191,240,12,250,127,250,25,29,115,59,63,101,1,112,188,195, +2,42,187,107,6,176,188,56,28,239,138,192,137,146,1,69,195,125,98,47,117, +247,194,51,39,143,193,155,217,23,224,214,129,154,153,78,30,57,14,71,125, +203,32,216,183,6,77,193,253,51,108,134,67,16,124,142,236,248,118,127,199, +81,224,43,79,190,24,149,98,221,249,228,186,149,78,166,87,177,192,179,70, +147,23,83,83,235,225,53,0,62,204,5,188,76,149,233,252,122,185,8,149,220, +180,252,199,187,182,41,157,85,132,56,62,9,184,179,163,180,42,25,6,120,217, +208,70,193,143,125,118,36,240,246,1,212,20,184,154,14,77,88,208,20,0,220, +124,38,187,37,17,142,23,53,164,166,59,231,84,153,57,7,252,204,41,16,184, +15,223,95,148,162,189,32,117,245,120,183,79,176,25,100,2,75,23,47,209,49, +0,54,48,137,229,1,30,254,91,52,128,97,57,87,2,137,39,223,134,187,62,185, +17,54,127,108,195,21,137,9,13,129,127,157,204,192,159,167,207,66,192,35, +16,232,35,44,96,16,8,160,12,216,219,81,20,64,175,154,40,232,22,210,211, +118,40,234,166,151,110,186,25,30,153,154,129,39,158,123,201,121,79,19,161, +70,167,0,108,217,56,0,76,97,218,245,115,46,246,154,204,84,135,142,163,0, +78,34,159,161,244,231,68,234,45,93,173,8,31,146,157,126,240,221,41,216, +197,94,137,123,40,20,2,209,210,192,240,168,144,98,59,0,56,175,178,11,0, +8,20,52,3,61,180,31,24,143,108,147,35,205,158,7,78,70,231,13,0,245,12,209, +38,157,231,1,181,228,2,163,1,190,162,75,241,44,68,53,27,179,136,119,207, +105,200,223,57,3,234,147,120,9,0,105,2,0,153,7,0,200,28,243,53,103,0,218, +35,205,204,24,218,61,170,248,52,19,136,142,121,145,9,94,48,1,139,204,105, +82,45,48,128,220,152,12,32,158,48,128,228,113,18,153,161,32,120,150,160, +216,115,2,238,169,19,68,29,92,56,65,146,193,9,146,53,0,24,143,4,107,62, +230,25,3,40,253,233,25,2,234,224,134,1,105,7,0,147,56,117,255,5,97,128, +71,121,0,49,233,1,10,118,211,74,119,14,128,105,102,76,186,9,226,45,96,25, +246,134,50,1,90,124,53,12,76,172,244,170,11,6,24,122,154,161,0,24,38,112, +248,15,60,184,47,48,119,20,112,207,0,27,109,201,210,13,167,72,106,148,139, +233,142,43,66,175,127,247,118,197,80,213,9,19,243,117,19,17,117,91,173, +113,42,54,45,36,66,174,59,46,152,105,160,204,186,49,113,96,223,46,197,85, +69,200,212,42,99,224,23,118,216,184,27,100,169,35,116,201,130,57,25,224, +214,4,234,231,134,166,142,123,24,189,58,230,186,38,248,198,3,95,218,111, +168,149,172,225,17,11,154,57,121,58,230,118,126,42,163,161,33,245,81,230, +55,30,252,242,156,183,74,90,170,10,155,170,154,2,62,48,102,51,60,176,60, +235,138,5,243,234,3,232,234,211,133,170,226,234,107,213,84,75,133,163,86, +190,52,245,195,59,198,13,181,156,53,117,21,17,54,92,213,238,5,198,106,226, +185,221,205,77,237,30,189,62,2,80,201,78,237,189,99,220,51,0,234,69,204, +97,122,152,105,209,2,134,217,40,146,180,222,245,66,30,252,31,28,133,61, +91,54,92,245,96,228,158,45,235,157,239,84,78,103,219,158,223,57,37,70,187, +55,209,243,155,90,117,184,85,189,218,58,29,30,248,222,83,143,248,66,242, +8,43,6,129,245,249,219,50,133,13,185,41,248,201,157,219,32,28,14,95,181, +0,74,207,8,103,102,102,224,71,207,78,194,97,105,125,123,212,199,152,79, +170,101,48,203,202,232,145,31,223,121,111,171,91,240,182,142,98,141,162, +146,34,44,159,228,192,151,96,5,140,9,92,235,127,158,129,149,112,219,19, +7,90,171,30,197,250,113,7,106,183,172,188,109,153,64,208,241,89,149,114, +198,66,25,219,209,169,237,11,18,107,239,255,67,148,9,132,179,156,40,201, +12,47,182,5,130,231,141,42,79,80,121,180,123,92,253,60,81,203,241,99,15, +239,156,191,11,18,141,22,191,239,201,65,86,10,167,89,129,130,32,212,42, +198,12,179,240,202,227,202,219,148,250,90,37,143,0,36,179,15,239,156,255, +43,50,141,182,234,219,227,131,172,16,74,51,126,81,102,41,8,28,95,59,140, +88,8,221,137,69,55,42,142,221,219,154,154,39,122,57,249,222,207,135,22, +238,146,84,163,221,52,242,251,40,154,65,154,17,164,4,61,145,165,135,146, +243,202,134,58,229,109,12,151,54,165,189,86,201,160,203,79,190,63,186,107, +225,175,201,53,218,138,175,254,34,10,129,72,138,13,4,71,28,115,160,209, +193,1,130,178,129,241,80,241,218,170,219,166,94,163,125,181,52,10,106,49, +117,230,209,111,93,187,139,146,179,91,207,55,30,223,10,62,113,140,245,7, +226,224,152,132,175,230,32,25,23,153,99,67,241,198,170,83,202,27,90,22, +131,253,240,185,95,238,190,62,174,202,94,222,186,191,254,187,33,240,249, +83,232,27,226,14,19,168,111,160,135,148,76,157,17,151,76,57,251,141,61, +235,165,190,107,164,43,110,225,118,156,174,186,94,205,98,22,150,154,254, +213,238,235,243,178,244,229,45,246,181,199,182,3,239,31,70,31,177,131,158, +213,95,234,27,174,54,175,125,17,0,186,242,116,213,77,109,2,12,99,44,247, +155,221,55,198,117,249,203,91,244,238,71,163,192,114,73,236,244,140,46, +137,179,38,80,127,249,195,116,7,250,131,9,176,51,40,113,26,17,200,32,245, +211,202,111,239,190,118,63,152,88,12,109,233,71,83,75,0,44,1,176,4,192, +18,0,139,185,253,95,128,1,0,82,60,235,37,91,79,74,123,0,0,0,0,73,69,78, +68,174,66,96,130}; + +static size_t xml_res_size_2 = 28298; +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,1,94,0,0,0,253,8,6,0, +0,0,244,212,31,238,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,19,1,14,96,172,77,70,0,0,32,0,73,68,65,84,120,218,236, +189,121,148,36,87,125,231,251,189,17,145,107,237,213,85,213,93,189,170, +213,45,117,107,69,194,180,132,36,22,33,192,200,102,176,97,108,51,32,204, +120,192,224,237,217,48,140,7,243,252,240,120,198,140,61,108,102,177,7,176, +49,198,62,198,216,99,124,30,188,177,13,99,179,10,108,48,32,217,108,146, +44,185,213,45,209,173,94,171,107,207,61,34,238,189,239,143,136,200,188, +113,243,222,136,200,172,204,170,204,170,184,231,196,201,204,200,200,136, +200,229,126,242,23,223,223,6,164,35,29,233,72,71,58,210,145,142,116,164, +35,29,233,72,71,58,210,145,142,116,244,108,144,244,35,72,71,250,91,232, +201,224,233,71,144,142,116,178,165,35,253,222,83,24,167,35,157,128,233, +24,192,239,56,253,254,55,31,184,41,140,211,145,78,188,29,244,221,146,46, +126,11,233,239,35,57,60,121,135,175,73,1,156,78,206,116,236,32,216,18,205, +109,250,123,232,13,136,185,230,54,133,112,58,210,137,182,141,191,71,18, +1,90,29,108,73,151,86,114,10,218,104,216,138,183,60,1,116,83,0,167,224, +77,199,54,0,46,81,128,85,183,14,17,0,78,71,52,128,117,128,229,9,214,165, +0,78,193,155,142,33,7,174,10,172,134,98,189,161,120,46,206,42,78,135,94, +82,144,239,51,255,49,83,192,150,197,64,56,5,112,10,222,116,12,9,116,137, +6,174,193,173,17,177,78,4,49,137,145,30,210,161,134,46,87,128,150,9,143, +89,196,58,157,101,156,194,55,5,111,58,6,220,202,53,20,192,53,133,91,67, +184,85,45,226,235,84,0,78,127,43,237,48,148,65,41,195,85,94,168,112,203, +133,91,25,214,169,245,155,130,55,29,67,96,229,26,10,224,6,160,213,45,134, +116,75,52,146,68,250,27,73,102,237,138,208,164,10,208,234,22,166,0,48,75, +173,223,237,63,172,244,35,24,90,232,202,178,129,8,82,203,95,76,233,214, +18,224,107,73,175,21,247,149,90,189,201,173,93,166,128,46,3,224,10,128, +117,133,91,249,190,33,129,90,182,160,137,112,44,146,194,55,5,111,58,54, +15,186,34,240,100,224,202,176,149,151,140,191,88,194,173,41,65,88,150,30, +82,240,118,14,94,166,176,112,3,184,58,194,173,35,172,23,23,226,191,134, +248,251,33,194,62,137,112,236,20,190,41,120,211,177,137,208,37,26,224,154, +10,200,102,0,100,53,247,69,40,155,19,147,179,197,93,119,191,242,136,57, +125,213,172,147,29,45,50,43,151,55,243,99,69,128,123,199,229,156,80,238, +205,115,26,51,221,185,244,188,203,213,235,131,193,52,235,229,227,112,206, +194,143,25,11,238,68,159,16,115,219,207,81,60,40,167,210,246,52,102,127, +12,32,132,131,81,128,16,206,27,213,42,192,235,188,81,169,178,245,133,43, +246,63,125,242,52,93,187,84,83,64,53,0,174,173,185,31,124,159,174,36,67, +200,176,39,41,124,183,223,101,108,58,134,11,186,42,171,54,43,44,57,233, +113,22,64,230,232,243,127,234,90,243,25,63,114,155,189,235,232,117,235, +60,191,135,83,119,132,4,144,109,167,148,2,86,26,232,137,143,117,64,20,214, +115,74,227,225,169,218,167,12,97,145,234,42,32,235,206,51,226,184,205,125, +82,55,254,61,137,159,19,231,28,140,86,136,149,189,196,74,87,30,181,31,251, +251,7,26,15,124,226,164,0,90,113,105,72,143,85,214,48,147,164,140,36,89, +113,233,72,193,155,142,30,67,215,148,160,43,90,179,57,1,182,57,0,249,96, +221,158,19,247,238,31,123,209,27,94,188,50,121,236,25,220,174,77,198,95, +88,167,192,237,4,184,161,247,199,219,204,245,85,94,47,253,83,253,155,159, +248,63,206,99,95,126,202,7,110,3,64,93,128,111,176,78,180,132,69,248,210, +20,190,41,120,211,177,117,208,13,22,209,194,205,9,75,94,92,126,224,223, +191,245,68,245,214,251,94,190,80,39,135,192,89,252,119,189,25,192,77,184, +253,240,3,151,133,207,17,224,36,87,60,227,156,250,250,95,86,255,238,189, +15,250,224,21,151,134,176,136,22,176,168,25,203,33,103,41,124,83,240,166, +163,15,224,213,105,185,89,201,178,205,3,40,4,203,158,19,247,30,28,121,249, +187,126,97,213,181,142,166,192,221,114,224,202,251,228,48,51,167,106,95, +252,208,135,156,83,255,120,22,64,77,88,234,146,37,108,35,28,9,33,91,190, +41,120,83,240,166,163,79,208,21,163,22,50,17,192,45,26,134,81,188,234,63, +127,234,85,171,147,215,222,75,192,50,41,112,7,10,184,194,251,112,193,65, +28,182,126,249,239,42,255,239,91,255,12,64,213,95,116,0,118,4,248,138,186, +111,106,245,14,233,48,211,143,96,96,37,6,51,6,186,5,0,69,0,163,0,70,246, +158,120,209,225,241,55,125,250,55,202,153,201,103,16,112,51,30,184,220, +3,46,15,175,107,222,74,219,182,221,87,236,175,9,92,158,124,123,221,113, +219,128,203,121,244,185,232,206,95,7,220,16,76,121,228,231,20,122,127,74, +224,242,214,57,70,237,147,137,199,229,38,201,141,28,203,253,192,191,189, +147,87,87,30,101,75,103,170,104,133,242,37,29,28,105,162,75,10,222,116, +108,8,188,114,114,132,12,221,156,2,186,35,0,70,110,252,55,191,116,98,245, +197,255,253,173,174,99,239,74,129,59,216,192,85,236,103,204,58,120,203, +115,72,110,228,41,122,238,225,197,24,200,234,42,155,165,240,77,193,155, +142,30,73,12,98,184,88,160,233,230,125,224,6,203,232,190,215,254,207,31, +94,121,218,203,255,47,194,156,92,10,220,33,2,174,184,63,206,50,198,204, +85,119,88,115,71,43,206,233,111,156,133,190,14,68,154,62,188,205,38,125, +58,6,11,186,114,244,66,94,130,238,40,128,209,249,87,255,246,11,27,199,126, +240,245,196,48,76,61,72,52,26,46,128,177,185,125,120,218,92,6,7,199,12, +236,27,51,49,146,33,24,201,16,20,45,239,116,152,4,139,32,33,130,73,183, +156,115,184,146,156,201,120,56,3,192,101,222,118,76,145,100,17,58,61,222, +58,110,219,62,133,99,82,225,69,140,35,193,126,91,199,78,178,95,213,62,153, +116,220,146,205,81,167,64,217,102,88,172,114,172,149,203,160,11,167,65, +151,158,106,38,111,68,2,55,24,52,216,150,185,244,252,35,31,169,221,255, +225,47,0,40,251,75,160,255,6,186,175,28,237,144,234,189,41,120,211,177, +1,240,202,18,131,172,233,134,160,251,3,247,253,183,187,159,188,241,229, +191,72,192,204,78,128,91,152,217,135,123,15,103,113,207,193,44,102,10,70, +8,142,1,108,168,68,156,38,104,17,6,151,8,73,29,240,24,239,12,204,226,241, +84,251,228,77,232,243,72,128,6,16,213,65,89,254,227,72,2,229,168,125,138, +80,94,107,112,124,235,178,139,198,233,111,130,174,94,140,5,110,232,59,3, +168,251,212,247,62,80,255,202,31,126,89,3,95,209,225,38,130,55,141,114, +72,165,134,116,108,208,218,13,82,123,197,24,221,38,120,103,238,122,249, +177,149,103,255,226,155,219,34,23,34,36,133,177,185,125,120,195,157,123, +240,243,183,20,112,195,140,133,124,134,180,138,13,112,47,77,215,101,60, +148,222,27,236,38,152,213,46,11,64,234,129,143,75,48,115,133,195,50,222, +130,163,12,98,42,144,193,101,97,43,83,183,79,17,184,142,188,79,120,231, +207,5,56,82,22,94,215,4,184,112,156,0,184,226,123,235,116,159,12,225,207, +141,113,32,99,16,28,26,55,113,240,224,65,176,221,199,80,46,87,192,171,171, +173,119,29,33,125,16,192,48,198,231,110,229,118,237,123,108,233,204,26, +194,5,120,116,197,212,131,251,169,214,155,90,188,233,232,194,218,53,37, +107,55,112,164,141,4,150,238,196,228,236,76,246,173,223,120,47,115,106, +187,146,88,184,36,91,192,191,123,250,60,94,114,52,215,44,131,149,90,184, +173,227,246,194,194,149,165,9,113,159,204,63,222,55,47,58,168,127,251,211, +224,118,173,221,242,85,89,196,134,181,88,254,228,175,253,39,94,93,93,18, +44,223,10,90,225,102,182,66,114,72,173,222,212,226,77,71,2,240,170,172, +93,209,161,150,67,43,130,161,8,96,100,247,255,253,185,55,217,196,186,38, +206,194,5,103,24,219,189,31,191,121,207,44,110,219,147,9,151,211,226,45, +203,77,134,199,118,183,112,131,227,58,61,180,112,169,194,106,110,82,208, +183,170,231,71,76,20,247,29,195,242,242,50,120,109,77,3,92,193,161,199, +89,49,115,248,182,189,206,163,95,122,0,237,245,125,101,121,33,181,122,83, +240,166,99,3,214,174,129,150,67,173,45,116,236,214,151,191,245,217,139, +251,78,252,152,151,141,22,29,165,112,232,208,33,188,251,238,49,76,228,136, +22,184,34,60,82,224,246,7,184,193,54,140,3,57,147,96,102,223,33,92,41,217, +224,229,37,53,112,197,117,102,102,159,49,58,253,125,122,238,225,139,10, +232,50,133,236,144,142,20,188,233,232,129,181,219,148,26,178,133,226,120, +237,190,15,255,42,97,78,49,46,44,236,208,161,67,120,219,179,70,97,25,41, +112,7,1,184,226,62,45,131,96,102,207,94,15,190,165,43,106,224,6,63,18,198, +136,53,123,213,117,206,99,95,249,2,168,163,202,94,163,49,86,111,58,82,240, +166,67,97,237,170,192,171,210,119,139,87,253,194,71,127,172,158,223,117, +91,92,28,238,196,158,3,120,251,115,70,145,53,73,10,220,1,2,110,104,159, +0,166,118,239,197,210,210,50,88,109,173,61,14,88,140,17,166,78,209,154, +63,94,119,78,127,227,95,17,238,108,161,42,27,41,91,190,41,128,7,116,24, +233,71,48,16,150,175,24,74,38,151,124,204,154,217,124,97,117,239,137,31, +110,2,87,92,4,141,208,24,155,193,255,120,246,24,50,38,105,194,193,3,75, +56,54,85,12,252,28,201,16,204,20,12,204,20,12,76,230,9,198,115,6,10,126, +28,175,205,194,49,187,148,113,56,52,236,228,98,188,5,190,0,184,14,229,77, +16,137,208,115,121,107,159,92,0,189,45,239,19,97,7,155,120,92,121,127,193, +118,129,83,47,56,174,77,209,213,62,25,0,71,250,204,130,109,92,214,218,103, +147,118,220,219,54,216,70,220,94,222,167,67,91,97,107,22,1,174,250,129, +187,97,228,71,195,192,21,235,81,248,139,49,185,247,197,48,51,121,8,117, +149,133,223,137,220,180,52,133,109,106,241,166,35,129,204,16,212,101,208, +198,238,30,120,205,251,127,216,30,221,251,204,184,76,179,159,127,214,1, +92,61,105,198,90,184,22,1,246,142,154,152,45,26,40,102,8,44,66,96,25,222, +101,176,101,16,152,4,200,103,8,8,241,0,38,130,69,4,174,40,48,238,20,11, +23,2,112,147,90,184,148,133,175,24,28,255,252,51,38,193,250,228,81,184, +103,190,219,158,5,23,206,218,203,155,179,87,175,185,223,255,167,83,8,215, +234,85,53,204,76,229,134,212,226,77,71,7,22,175,88,20,39,212,194,167,122, +245,115,239,81,89,184,98,44,232,225,195,135,113,251,124,38,210,194,117, +25,48,157,55,112,116,202,66,193,106,129,160,105,193,137,219,115,15,208, +99,89,2,211,32,33,224,202,251,220,9,22,110,11,226,221,89,184,204,255,44, +92,41,155,238,234,73,11,214,190,235,245,87,50,193,68,221,117,232,30,133, +197,107,42,172,93,162,145,182,210,145,130,119,199,235,187,178,214,43,91, +190,77,248,142,93,255,156,121,234,210,131,58,224,130,51,128,24,120,205, +77,133,72,224,186,12,56,56,102,96,239,104,251,87,206,20,208,116,132,198, +103,121,147,32,227,107,198,157,2,23,216,121,192,13,98,127,163,128,27,156, +191,203,128,137,107,79,8,214,110,251,224,140,2,224,135,172,3,55,239,70, +184,119,158,169,128,111,10,219,20,188,233,232,66,227,13,53,175,156,124, +209,47,222,67,56,53,148,192,245,199,53,71,14,99,255,168,161,5,46,231,192, +222,81,3,51,69,163,205,194,165,44,108,201,58,18,52,60,184,112,4,70,111, +167,192,165,108,231,1,55,88,226,128,27,44,147,57,195,179,122,21,192,229, +65,3,78,230,26,217,235,238,121,158,164,239,38,177,120,211,49,128,35,237, +50,188,117,86,175,174,78,67,168,61,123,117,215,181,55,194,117,34,45,162, +151,28,201,133,50,195,228,76,179,145,12,193,222,145,86,93,6,17,58,128,58, +251,172,165,101,182,158,15,224,155,180,208,205,48,102,154,201,26,174,248, +39,20,181,207,208,159,85,91,219,53,233,74,68,145,153,103,29,188,5,238,185, +135,5,11,23,109,223,57,25,221,117,147,252,251,128,218,177,150,118,35,78, +193,155,142,4,22,175,104,237,54,173,94,195,48,50,156,152,7,192,27,208,92, +131,194,152,218,143,227,187,172,166,133,43,130,47,24,71,167,44,37,60,40, +107,109,39,167,14,139,214,110,96,109,6,183,189,2,174,12,241,157,0,220,224, +177,92,180,108,102,44,143,243,249,49,176,234,170,254,79,150,24,7,125,139, +215,148,126,43,105,84,67,42,53,164,163,11,153,65,110,221,110,2,48,39,239, +252,119,135,97,87,115,42,224,6,19,243,222,105,43,36,41,120,0,106,205,234, +160,212,163,14,90,50,192,2,0,51,132,225,224,50,111,91,66,200,134,37,5,25, +68,59,65,82,104,213,197,8,127,174,12,28,182,191,63,115,246,176,214,185, +6,206,0,230,228,173,35,183,31,148,100,6,18,177,164,35,5,111,58,20,114,131, +124,63,100,245,230,175,189,243,136,14,184,156,82,112,74,49,189,175,168, +4,110,0,199,233,130,225,89,162,80,203,9,42,32,51,33,228,203,102,122,107, +53,5,238,198,129,107,211,214,177,140,169,253,136,250,147,5,117,97,237,189, +254,136,100,237,154,136,119,170,165,16,78,165,134,20,182,10,139,87,190, +84,52,1,24,238,212,85,7,100,173,79,110,34,121,104,220,108,3,174,8,141,137, +44,105,179,102,67,176,21,42,148,137,214,174,67,195,64,145,47,247,3,88,165, +146,66,103,146,2,131,38,38,154,3,230,228,110,165,182,219,172,219,203,25, +72,97,226,160,0,93,221,239,39,5,109,10,222,116,116,161,245,18,0,6,205,79, +78,235,128,11,120,37,31,103,138,134,18,184,129,5,153,179,72,83,167,21,7, +101,225,48,50,6,189,211,44,144,25,184,111,1,203,208,77,129,187,49,224,6, +207,23,51,6,170,34,116,5,224,182,102,108,118,90,252,141,164,218,110,10, +222,116,116,111,5,43,181,94,70,140,28,34,218,164,147,194,4,0,239,146,87, +6,110,0,157,172,65,66,22,177,172,239,234,134,236,84,19,235,57,132,210,102, +183,16,184,128,186,85,207,176,1,87,220,23,201,141,128,87,86,148,223,55, +0,16,195,40,64,157,38,172,138,150,73,35,26,82,240,166,67,35,59,168,238, +123,147,202,48,243,161,110,5,242,78,76,83,154,244,237,151,255,196,159,126, +202,112,49,169,16,58,101,28,46,15,203,12,129,181,27,60,39,195,52,5,110, +111,128,27,220,39,134,9,206,163,254,18,73,78,128,110,212,111,41,29,41,120, +211,209,1,140,13,193,194,53,181,30,110,0,176,242,145,29,31,116,176,18,195, +200,148,219,115,30,114,122,133,47,227,121,104,127,41,112,123,3,220,230, +99,67,61,37,155,97,124,132,136,27,24,41,112,83,240,166,99,227,224,13,75, +14,140,171,129,27,220,231,44,148,218,11,133,140,192,53,157,129,67,19,30, +97,143,190,104,65,203,96,11,160,18,28,119,80,129,171,2,229,64,3,23,0,111, +22,199,81,0,55,88,79,76,64,29,70,166,3,112,42,57,164,224,77,71,4,112,101, +125,14,28,156,16,21,112,229,117,208,247,73,83,61,167,5,31,90,153,106,162, +204,192,125,11,56,216,70,180,116,83,224,246,8,184,58,11,87,250,238,57,101, +202,223,74,106,245,166,224,77,199,198,164,134,176,21,35,131,86,154,136, +250,198,148,188,41,13,40,1,45,133,145,201,67,101,25,139,241,176,219,1,184, +226,123,24,4,224,250,189,214,154,183,202,43,29,213,111,36,133,110,10,222, +116,36,130,107,242,161,177,112,155,144,208,0,87,7,81,239,49,143,200,92, +11,71,51,4,146,2,143,236,4,156,2,119,163,192,229,148,122,208,101,84,251, +157,131,49,192,72,115,158,82,240,166,163,191,144,102,174,94,243,3,0,230, +70,2,215,85,88,178,148,181,135,145,5,48,20,245,221,64,102,96,205,244,96, +30,138,110,16,53,224,20,184,27,7,174,242,207,86,4,110,103,127,224,169,5, +156,130,55,29,93,91,196,194,4,12,3,215,79,170,96,92,11,220,246,242,143, +170,36,10,46,65,45,28,19,172,114,170,181,226,121,121,10,220,94,2,55,72, +13,22,33,203,20,114,131,75,85,210,84,58,82,240,166,163,151,178,131,10,184, +226,68,148,157,92,114,181,48,213,144,33,33,202,12,0,66,157,19,130,253,136, +80,227,220,171,49,144,2,183,135,192,229,49,192,109,62,79,82,43,55,5,111, +58,54,5,202,186,137,232,223,143,42,207,24,85,133,76,21,70,38,67,207,150, +74,71,218,12,33,232,238,100,224,202,251,220,40,112,57,227,209,206,212,30, +254,161,167,35,5,111,58,244,230,110,184,235,172,98,34,138,210,128,174,30, +110,216,218,229,218,48,50,64,157,225,38,86,217,74,129,219,103,224,74,127, +170,237,191,9,150,206,139,20,188,233,232,235,160,17,30,110,206,0,230,70, +2,183,221,137,38,197,242,74,240,177,89,43,102,215,245,75,30,170,100,6,17, +186,41,112,123,104,225,6,223,105,100,239,181,116,164,224,77,199,38,88,189, +209,30,239,184,242,140,42,199,154,186,60,100,56,75,173,5,212,176,204,32, +199,255,38,1,110,112,155,2,55,2,184,254,194,21,194,124,19,184,126,99,211, +116,164,224,77,199,102,65,87,147,189,22,87,158,177,93,106,8,223,151,195, +200,100,139,84,150,25,92,166,135,125,10,220,238,129,27,105,225,234,162, +91,210,145,130,55,29,253,24,44,58,131,41,136,108,64,116,121,70,166,128, +111,88,62,8,100,5,174,140,138,8,98,119,185,80,60,39,5,110,15,128,43,67, +53,248,62,20,192,109,109,148,202,13,41,120,211,177,53,114,131,48,81,147, +148,103,108,129,132,43,33,199,218,128,27,0,54,92,165,76,5,243,20,184,189, +3,110,83,223,77,29,104,41,120,211,177,149,192,229,202,73,40,95,110,70,1, +87,39,7,168,182,19,179,213,116,18,132,88,187,55,5,110,143,129,11,180,186, +78,180,125,121,93,135,151,165,35,5,111,58,54,98,233,134,128,75,93,128,185, +202,242,140,1,176,228,86,238,42,233,65,23,122,38,202,12,242,177,217,38, +3,23,8,215,215,221,150,192,21,95,163,2,174,31,193,146,58,215,82,240,166, +99,211,12,95,9,184,194,68,102,9,138,215,132,229,134,246,251,162,156,224, +208,150,204,16,0,182,217,123,141,183,172,222,20,184,189,7,174,50,75,145, +185,210,239,32,181,120,83,240,166,99,243,160,171,106,124,40,220,215,85, +11,211,201,10,45,80,182,128,43,203,12,34,152,228,250,190,114,52,69,10,220, +30,1,55,128,110,27,112,211,145,130,55,29,155,164,52,80,53,112,35,36,5,93, +241,26,217,58,110,1,48,217,164,246,90,190,115,56,44,92,82,114,171,129,43, +239,115,168,45,220,160,44,100,51,49,38,5,110,10,222,116,108,254,96,49,30, +110,161,16,122,82,224,134,160,23,161,239,138,37,32,229,100,9,151,1,116, +39,2,215,105,128,187,14,64,109,128,185,225,215,16,195,187,111,90,32,132, +168,123,167,69,0,55,113,172,174,206,249,150,142,20,188,233,232,187,41,28, +107,225,234,10,156,203,32,20,45,230,144,190,27,33,51,48,13,208,6,21,184, +205,109,59,0,46,183,107,224,245,18,120,163,226,45,78,67,99,213,82,229,247, +210,212,104,13,3,196,204,0,102,22,196,202,0,153,60,72,166,16,134,187,6, +244,186,239,92,26,186,214,81,193,194,177,115,11,231,12,236,37,67,10,222, +129,254,217,68,55,187,228,140,198,150,103,244,32,168,182,120,185,96,45, +187,138,40,5,85,49,29,177,171,241,118,3,46,175,151,192,202,203,224,181, +53,207,178,229,250,4,150,88,224,6,18,3,101,224,78,189,157,2,62,128,73,182, +0,146,201,169,123,172,137,143,213,101,33,137,2,192,170,38,152,59,9,190, +92,243,249,12,20,136,83,240,14,153,133,27,220,231,98,229,50,68,103,175, +5,207,203,183,140,115,45,104,69,72,185,66,125,6,151,161,221,153,53,204, +192,165,54,88,105,17,108,125,193,131,173,108,137,118,11,92,93,252,117,176, +190,86,2,175,149,90,242,68,110,4,36,63,22,93,141,142,179,128,37,65,151, +97,249,54,184,207,132,251,92,88,118,130,69,75,34,182,35,131,2,225,20,188, +131,14,92,105,2,182,133,136,33,58,93,56,36,17,72,177,185,226,144,163,20, +28,202,155,69,113,66,96,67,184,198,239,176,2,151,59,13,176,181,75,224,149, +37,239,185,205,2,174,10,172,174,13,238,212,193,203,75,96,229,69,112,167, +225,201,18,65,204,174,120,30,97,192,6,183,226,34,3,24,216,222,45,222,121, +196,99,30,97,249,110,41,132,83,240,14,137,181,203,85,178,131,224,92,75, +154,189,38,15,185,131,69,91,235,118,214,46,51,48,14,56,195,106,225,50,23, +116,245,34,120,233,202,214,3,87,37,45,184,182,167,45,3,32,153,28,136,149, +3,76,171,181,15,195,132,4,215,96,49,133,133,43,164,134,157,96,241,170,30, +115,233,57,21,116,201,102,3,56,5,239,64,255,172,92,53,112,145,192,194,213, +0,86,140,76,112,67,128,227,138,88,88,30,234,217,22,200,12,67,9,92,206,60, +73,97,245,194,230,74,10,9,129,235,133,145,73,235,156,134,103,253,154,190, +83,142,144,160,231,154,233,207,93,83,184,111,1,160,2,72,152,191,240,65, +211,55,251,8,92,213,45,215,60,150,173,225,77,5,112,10,222,33,179,124,67, +147,153,185,202,206,16,128,92,128,92,93,95,161,9,72,180,91,184,174,38,106, +33,176,118,135,202,105,230,52,192,86,206,129,85,86,59,3,174,248,220,38, +2,87,62,62,119,27,128,219,0,60,0,139,160,205,0,200,2,112,37,232,154,194, +99,182,205,192,203,53,235,116,112,21,23,22,177,221,166,2,56,5,239,48,2, +87,88,39,234,173,58,184,170,30,115,69,33,28,30,33,85,48,222,138,221,13, +210,135,7,29,184,33,43,55,120,126,136,128,171,4,48,115,3,224,6,208,13,192, +203,36,232,238,20,240,170,172,88,38,193,150,73,224,149,239,71,1,152,167, +224,221,105,204,165,76,11,220,230,229,179,6,184,98,218,175,104,13,183,28, +100,60,100,229,2,225,250,12,140,135,245,93,155,182,59,215,100,224,138,160, +220,242,56,92,74,193,150,207,122,86,110,63,129,27,188,166,23,192,13,50, +215,34,107,48,115,226,67,55,7,192,241,161,43,90,186,129,228,32,75,13,219, +13,186,58,43,151,73,192,149,151,224,15,137,38,0,112,223,172,223,20,188, +131,110,237,198,212,103,77,90,158,81,222,94,124,141,28,199,43,74,16,98, +41,72,241,254,160,2,23,0,120,163,2,122,229,201,112,210,195,128,3,87,172, +205,160,4,110,112,110,166,65,36,232,138,150,110,70,144,29,118,10,120,69, +43,87,134,174,248,57,184,194,58,234,127,94,76,241,89,137,48,238,155,245, +155,130,119,152,164,134,208,36,244,82,86,147,2,87,142,84,104,147,42,132, +215,187,17,133,207,197,42,101,131,6,92,112,6,86,89,5,93,60,19,6,217,144, +0,183,41,89,232,74,67,122,247,9,128,188,6,186,34,140,25,212,94,253,237, +2,93,104,52,92,17,166,84,248,35,162,210,227,224,214,16,192,204,133,117, +125,181,126,83,240,14,27,116,165,2,42,113,229,25,41,131,50,234,33,104,229, +35,175,119,168,58,5,89,140,122,16,173,221,164,192,109,234,202,125,2,46, +0,208,181,203,96,43,23,226,83,123,55,11,184,242,254,163,128,171,250,190, +153,194,90,39,196,0,80,240,39,191,33,64,55,231,195,67,4,175,124,73,190, +93,193,203,4,104,138,22,174,8,88,71,248,124,196,251,193,66,252,237,8,212, +250,184,104,241,110,216,250,77,193,59,24,131,196,130,87,85,177,74,209,236, +82,174,22,166,220,173,34,10,130,115,117,165,215,64,223,21,97,234,73,14, +131,3,92,78,41,232,210,25,240,202,202,208,3,215,152,220,11,98,152,32,35, +83,106,24,27,86,230,142,93,231,15,26,6,108,211,52,26,166,105,56,166,105, +216,132,16,106,24,132,26,6,113,61,62,19,70,136,247,129,18,210,73,153,179, +78,234,253,246,107,219,184,190,114,132,19,2,110,219,148,158,61,91,90,63, +115,102,177,180,186,90,183,21,224,117,37,216,218,254,173,188,4,207,83,9, +194,80,72,15,61,129,111,10,222,65,31,81,37,2,133,102,151,81,229,25,229, +112,48,149,165,204,120,123,187,118,135,242,144,38,236,248,97,102,97,216, +111,33,112,25,7,168,237,233,185,141,202,208,0,23,102,22,217,235,239,193, +47,205,148,112,124,250,52,198,198,22,80,40,44,193,48,92,225,42,119,89,103, +236,77,0,207,191,79,109,0,170,12,194,110,183,233,245,62,147,36,152,117, +186,77,232,62,119,93,82,105,52,248,114,165,226,46,60,241,196,250,163,127, +254,231,15,127,227,161,135,46,45,74,208,109,104,110,77,127,27,177,206,5, +69,56,203,190,103,240,77,193,59,224,82,67,100,137,64,206,18,149,103,20, +161,171,138,104,176,21,178,66,40,142,23,173,8,137,166,60,177,213,192,229, +204,131,238,194,105,112,187,54,240,192,37,185,17,228,78,252,4,62,56,255, +119,152,153,57,9,195,248,211,13,92,93,167,192,85,108,79,44,139,143,90,22, +31,29,25,49,15,206,205,77,62,227,182,219,238,250,73,199,49,150,158,122, +170,254,173,143,125,236,91,127,251,15,255,112,254,156,15,215,6,188,48,188, +134,207,192,134,15,94,195,135,112,112,75,36,243,91,5,223,212,226,221,137, +218,111,92,121,198,230,197,155,130,198,34,72,229,196,9,113,27,57,18,130, +75,161,106,155,14,92,0,112,235,112,23,158,0,130,202,95,3,10,92,115,246, +48,222,117,203,8,174,190,250,235,176,172,119,111,80,206,76,129,219,201, +246,134,65,72,46,199,102,142,30,205,254,224,111,252,198,237,47,40,151,249, +153,47,124,225,220,95,253,238,239,62,248,117,0,117,127,201,160,149,144, +18,100,2,6,22,175,163,209,76,100,135,27,79,193,187,29,180,221,230,252,101, +122,205,215,47,136,173,43,207,24,192,182,41,33,64,29,74,166,130,113,0,97, +135,9,86,45,208,44,154,195,16,150,37,54,5,184,194,115,65,184,24,152,59, +176,192,53,166,246,227,119,238,204,224,208,161,111,129,16,119,0,128,187, +89,16,239,21,112,123,187,79,66,96,140,141,225,240,203,94,182,255,63,222, +123,239,190,87,124,230,51,23,62,246,193,15,62,240,160,2,188,98,161,33,72, +247,123,6,223,20,188,67,102,225,138,173,128,184,235,104,211,133,147,20, +202,145,43,141,137,144,85,21,202,105,74,19,180,101,249,110,38,112,69,232, +114,234,12,166,134,107,88,56,248,162,215,226,119,14,190,23,150,85,75,129, +187,197,192,85,173,43,20,176,231,39,126,98,239,155,159,255,252,151,61,244, +182,183,125,243,247,191,243,157,11,23,37,240,26,10,224,242,94,194,55,5, +239,192,3,55,162,217,101,4,112,69,160,202,16,21,67,201,228,215,201,33,102, +76,146,28,154,189,55,249,230,2,55,232,10,65,23,78,171,11,216,12,128,211, +204,156,61,140,143,255,240,26,70,71,127,43,5,238,0,2,87,250,45,144,169, +41,126,243,251,223,255,204,247,221,127,255,210,31,253,198,111,124,229,139, +10,240,234,62,132,13,199,244,26,41,221,6,87,118,224,245,117,19,212,245, +160,171,10,172,247,83,134,41,227,205,248,219,166,92,160,168,167,208,148, +5,124,57,33,128,176,171,233,80,33,86,45,99,66,226,131,172,43,139,197,209, +131,154,14,34,116,57,231,96,174,219,234,234,32,66,75,4,43,227,45,29,151, +185,173,197,239,14,17,130,110,240,58,198,194,173,208,169,221,14,79,206, +91,201,9,212,13,247,57,147,23,1,184,205,228,7,149,228,227,247,93,11,246, +159,185,238,121,248,203,151,62,138,209,209,127,77,8,220,168,130,89,28,250, +36,173,184,109,250,177,207,184,125,35,98,63,73,183,225,93,188,167,141,191, +111,206,221,220,115,159,59,246,179,31,249,200,11,94,15,96,12,192,8,128, +34,188,88,233,2,188,248,232,156,32,73,152,146,36,1,197,109,10,222,97,214, +121,89,117,205,100,171,23,218,211,73,133,33,3,215,102,106,224,170,156,111, +114,196,132,203,195,150,174,88,159,193,21,32,203,55,17,184,224,12,172,188, +12,119,225,137,86,29,131,1,2,46,231,28,227,247,252,12,62,117,207,167,144, +205,150,250,4,92,12,41,112,249,192,2,87,92,71,8,49,142,30,45,188,232,175, +255,250,165,191,62,62,158,153,144,224,155,135,23,1,145,81,200,17,93,195, +55,149,26,6,93,109,112,26,160,171,23,97,140,207,121,117,89,21,151,197,113, +213,194,194,154,46,87,90,183,129,220,224,178,112,252,174,168,239,182,42, +147,133,67,201,122,45,41,132,222,91,121,25,116,229,252,198,37,5,205,57, +116,35,41,136,251,159,126,225,207,225,99,199,223,129,232,4,1,253,101,176, +105,102,49,62,190,27,133,194,4,10,133,9,88,86,198,95,159,81,0,35,9,196, +117,151,219,113,240,138,219,38,201,235,58,181,118,147,188,39,104,255,120, +56,167,96,204,5,231,12,245,122,13,245,122,25,229,242,42,170,213,114,87, +82,202,216,152,115,195,199,63,254,162,183,189,242,149,159,253,175,149,138, +35,30,44,170,170,153,129,46,106,98,164,224,29,134,225,218,96,107,151,96, +140,206,132,27,35,66,29,131,43,3,87,229,108,99,92,175,3,171,182,227,156, +55,211,143,155,235,250,8,92,0,96,165,69,15,186,3,8,92,0,40,62,239,103,240, +167,215,189,3,92,91,196,72,13,142,108,182,136,217,217,163,152,155,59,138, +241,241,61,126,22,240,70,44,76,157,101,140,152,253,34,193,54,73,225,201, +251,112,108,36,176,148,219,33,221,104,84,177,176,112,14,11,11,231,80,42, +173,116,164,93,143,141,177,163,31,255,248,11,223,250,178,151,253,159,183, +9,59,22,43,154,169,170,153,17,116,232,104,27,6,240,110,151,238,168,170, +214,219,186,182,220,225,201,15,0,212,5,91,187,4,50,50,229,53,69,148,47, +145,53,213,194,116,181,117,101,205,183,217,61,88,74,156,104,178,159,181, +182,119,25,218,36,133,94,2,23,0,232,202,69,176,210,194,64,2,23,0,178,215, +221,131,191,184,254,61,26,232,170,173,171,124,126,28,7,15,62,29,243,243, +199,65,136,41,60,207,182,9,244,182,22,184,193,227,92,46,135,3,7,174,198, +129,3,87,99,125,125,25,103,207,158,196,226,226,165,196,86,240,228,36,191, +254,143,255,248,158,159,127,205,107,190,244,1,180,138,235,200,149,204,228, +66,68,67,31,213,64,182,49,136,9,162,219,112,67,185,78,4,108,121,9,112,234, +32,197,169,72,224,70,38,188,73,93,39,116,150,174,216,107,205,211,143,57, +92,169,88,78,175,129,203,25,247,234,232,150,151,7,18,184,0,96,76,236,193, +39,158,251,121,24,134,147,8,184,134,97,226,170,171,78,224,192,129,91,36, +224,242,20,184,61,4,174,106,155,241,241,9,220,120,227,9,172,174,46,226, +228,201,239,249,50,68,124,18,201,225,195,185,231,188,237,109,183,159,250, +245,95,255,230,103,160,174,106,38,90,191,172,83,171,215,26,96,208,110,23, +75,87,7,84,162,121,190,245,88,46,138,29,252,60,26,21,112,234,192,152,220, +19,91,158,49,144,18,154,61,211,218,202,63,182,39,85,136,49,189,65,54,155, +88,229,140,195,115,154,245,26,184,96,110,184,69,207,128,1,55,56,222,71, +94,196,145,201,172,197,78,94,128,99,108,108,22,215,95,247,195,40,20,199, +82,224,110,34,112,229,237,38,39,167,113,226,196,115,112,250,244,191,224, +252,249,39,37,199,114,187,4,193,57,200,93,119,77,190,234,121,207,219,247, +200,253,247,159,63,133,112,69,51,42,89,191,70,167,86,175,49,32,16,66,66, +11,208,80,44,230,16,45,226,57,19,225,190,1,189,183,84,193,9,10,110,215, +192,150,206,162,100,243,102,181,176,112,213,49,14,59,34,139,66,14,33,115, +133,140,53,209,177,198,164,152,95,47,170,129,111,40,74,33,28,69,192,189, +168,7,183,14,186,120,198,131,110,39,81,10,154,115,8,125,86,29,70,41,40, +59,86,248,208,157,190,247,23,177,123,247,163,9,156,74,28,179,179,87,227, +214,91,127,220,135,46,135,186,222,182,170,39,165,174,115,141,174,97,2,139, +120,13,18,108,195,35,252,72,170,99,163,79,199,230,29,28,155,117,112,236, +32,122,1,56,122,244,58,28,63,126,179,215,56,52,6,228,134,129,252,47,255, +242,13,111,64,43,186,33,8,43,83,69,56,232,164,67,229,48,183,8,184,81,86, +32,17,222,136,33,1,151,40,64,76,134,100,81,253,97,136,77,11,131,30,90,121, +127,41,100,174,121,214,243,193,220,241,144,213,38,64,144,152,89,216,35, +187,81,38,69,140,228,76,16,16,48,112,56,130,19,236,197,71,114,160,190,197, +234,248,11,245,45,95,135,1,14,5,26,148,55,215,59,12,160,126,88,154,67,189, +251,193,115,118,16,251,235,186,0,167,222,2,222,76,244,240,96,27,128,138, +42,183,9,89,184,212,245,11,186,219,160,11,79,0,141,178,15,65,30,97,225, +10,159,65,112,28,229,254,253,237,24,107,191,12,224,12,96,173,16,183,176, +133,203,37,125,221,223,7,163,48,38,118,227,127,221,243,69,24,70,35,214, +129,54,63,127,61,142,31,127,33,12,195,216,177,86,102,242,99,199,237,183, +219,99,171,95,51,58,58,134,209,209,113,44,46,94,242,191,123,189,230,155, +205,98,242,248,241,185,234,23,191,120,238,20,218,139,172,139,82,3,6,81, +227,37,17,143,73,204,165,56,137,249,7,25,22,73,130,8,87,25,98,127,44,249, +182,105,197,115,112,239,127,89,87,143,32,136,115,93,57,135,139,245,9,76, +77,239,130,101,68,151,131,148,97,198,36,73,66,213,85,56,176,160,3,199,154, +108,89,118,35,41,132,218,244,44,63,213,44,118,51,48,146,66,176,15,225,56, +239,121,246,62,152,230,227,145,192,5,128,185,185,107,112,236,216,243,132, +79,53,5,238,32,0,87,188,157,153,153,197,241,227,55,225,209,71,191,19,43, +59,156,56,49,246,111,71,70,50,159,171,84,156,160,178,89,3,173,142,31,193, +124,101,2,171,6,66,227,37,17,247,101,216,170,76,118,35,2,212,195,4,95,249, +61,25,130,181,43,222,138,5,59,212,233,177,18,36,56,231,224,149,101,44,215, +75,176,102,14,98,60,107,248,96,209,71,53,200,112,149,235,249,54,229,6,222, +170,207,224,6,9,18,130,164,208,6,92,25,140,26,224,2,0,91,187,4,182,190, +160,148,20,6,9,184,0,96,204,92,133,107,174,249,71,196,165,166,22,139,83, +62,116,59,129,158,37,237,51,240,225,240,109,9,189,238,142,221,141,30,30, +125,236,185,185,221,40,149,174,194,83,79,61,137,168,80,51,211,228,99,111, +127,251,237,47,125,195,27,190,250,231,190,220,16,212,240,181,4,205,151, +68,24,134,124,51,193,155,20,184,178,100,96,104,100,4,67,179,159,97,129, +175,10,188,98,131,216,184,0,0,32,0,73,68,65,84,98,219,150,28,90,237,186, +3,8,19,45,112,69,136,176,160,19,67,13,206,133,127,197,202,200,36,138,211, +123,96,25,146,213,42,84,42,211,129,89,172,189,235,48,222,140,223,13,89, +205,1,116,187,4,46,183,107,94,203,245,122,105,224,129,27,188,230,127,60, +125,15,128,135,181,192,5,0,195,48,112,195,13,47,130,105,90,9,128,107,194, +75,142,202,138,215,27,8,119,157,9,12,44,154,2,183,79,49,205,135,15,31,193, +234,234,18,74,165,181,136,239,150,227,248,241,252,11,13,195,248,36,99,44, +144,4,27,10,157,87,182,122,55,93,106,32,9,128,107,40,52,92,217,185,100, +198,104,185,195,40,53,168,192,43,106,187,45,0,187,54,137,130,174,18,22, +156,129,149,22,81,174,174,195,156,57,20,2,106,187,229,219,178,106,109,26, +111,21,55,29,109,162,51,171,3,224,130,51,176,218,186,215,23,141,218,67, +1,92,79,75,207,224,216,177,175,35,174,64,203,193,131,79,199,200,200,148, +194,193,35,67,98,20,94,86,170,202,137,36,110,107,248,63,5,226,207,243,20, +184,189,2,110,203,129,70,112,236,216,245,248,231,127,254,186,164,247,134, +95,159,201,240,201,183,188,229,230,103,189,253,237,223,249,60,128,26,244, +41,196,108,43,192,27,167,221,234,156,76,178,87,223,138,128,113,84,12,236, +48,130,215,242,103,87,14,173,252,112,15,190,94,71,89,53,108,117,154,106, +48,220,58,220,139,143,161,108,207,168,173,74,197,8,82,133,67,229,34,121, +75,223,101,28,224,174,211,138,221,237,0,184,220,174,129,173,93,10,89,185, +131,14,220,96,228,239,184,15,153,204,7,17,85,17,43,159,31,197,193,131,183, +42,252,44,242,100,158,246,255,95,25,162,211,102,69,120,27,254,60,183,135, +28,184,221,88,236,253,15,177,27,29,29,193,252,252,94,92,184,112,46,66,191, +7,110,191,125,250,110,0,95,246,231,171,165,0,111,34,153,161,215,224,37, +17,144,33,130,5,171,11,3,147,29,77,58,0,39,213,125,7,25,188,68,2,111,96, +245,22,16,42,206,193,137,18,184,33,153,193,85,106,190,77,254,114,160,226, +180,167,12,139,225,99,237,157,36,120,155,213,203,192,155,165,32,219,122, +136,69,1,215,117,60,224,86,87,134,14,184,94,24,28,195,251,246,126,21,113, +65,247,7,14,220,34,68,48,232,38,255,44,24,31,135,65,26,26,32,68,133,119, +17,180,186,212,12,183,149,57,40,192,21,215,29,56,112,8,151,46,157,7,99, +76,251,29,143,141,225,218,201,201,124,113,117,181,94,69,184,82,153,108, +245,198,246,102,179,250,0,21,40,28,101,166,2,182,86,204,34,3,89,39,61,12, +147,163,77,118,36,154,146,220,144,67,171,28,93,161,185,173,12,27,85,181, +50,85,127,54,225,117,13,151,163,230,42,234,245,242,112,38,155,8,91,209, +177,214,4,119,16,147,155,0,184,188,186,18,114,158,37,2,174,4,204,173,4, +110,48,230,231,163,35,25,44,43,139,249,249,99,49,16,25,7,227,83,32,176, +35,44,220,40,168,49,65,126,112,83,224,246,56,226,163,80,200,97,215,174, +25,92,185,114,89,251,7,107,24,200,254,204,207,92,115,226,93,239,122,232, +243,80,183,10,74,124,21,110,245,1,186,178,51,204,212,0,55,19,177,168,0, +108,108,67,240,202,86,111,46,4,95,206,141,182,90,5,73,129,43,108,43,66, +182,65,129,170,203,209,112,213,85,202,2,240,58,146,137,236,50,132,178,213, +180,192,109,84,192,42,171,158,133,59,228,192,5,128,236,241,231,192,178, +62,167,4,110,48,102,102,14,195,48,76,168,19,1,188,175,154,241,121,201,133, +169,218,142,69,0,23,72,30,154,54,140,192,5,182,58,196,110,207,158,61,62, +120,245,87,55,79,123,218,196,211,1,220,47,93,153,171,90,6,245,21,188,81, +208,21,245,90,75,2,110,86,184,205,10,208,9,1,248,186,217,217,201,87,29, +59,118,203,1,66,14,204,0,123,204,233,233,233,188,235,230,70,42,149,44,105, +52,242,44,151,51,0,192,168,121,45,86,136,109,39,211,51,221,118,128,201, +219,50,97,2,42,29,83,49,175,87,109,167,138,157,229,0,97,210,231,201,184, +39,49,188,108,122,127,142,249,189,197,84,231,75,100,232,74,192,85,118,171, +224,158,142,107,51,79,130,8,0,44,166,21,139,142,52,46,167,11,11,29,126, +155,176,173,151,192,234,101,79,191,21,226,113,135,25,184,94,228,6,197,196, +241,59,0,124,46,210,177,54,59,123,56,6,122,19,224,200,130,160,230,247,95, +235,6,142,12,201,234,218,14,143,149,57,104,49,205,211,211,147,48,77,3,148, +82,45,124,167,166,172,195,10,99,82,151,113,171,141,231,181,122,12,93,67, +146,22,68,224,202,176,205,171,238,191,238,134,27,174,255,145,217,217,23, +78,77,79,95,59,126,242,228,46,178,182,214,122,51,171,171,225,159,124,169, +229,168,161,98,205,1,205,9,243,46,183,137,172,180,170,128,169,14,190,52, +2,220,170,227,19,133,149,27,2,135,8,152,88,224,106,238,3,40,217,28,53,135, +163,228,240,38,124,29,198,97,251,89,109,53,151,131,53,170,224,245,146,103, +209,214,203,224,181,18,64,109,240,70,165,187,56,220,1,7,110,48,222,106, +124,62,194,9,6,16,66,48,49,177,7,234,116,218,96,140,130,128,106,36,6,121, +130,51,68,167,206,242,8,203,58,5,238,70,142,77,8,193,248,248,56,86,86,150, +181,127,178,185,28,166,35,174,196,19,251,154,172,62,65,87,37,41,228,164, +165,25,62,53,91,40,140,189,231,153,207,252,177,171,167,167,239,26,63,121, +114,23,150,150,128,165,37,128,144,88,56,13,5,112,123,112,142,106,112,48, +192,181,245,192,229,172,189,38,3,11,239,79,110,251,222,112,61,41,162,226, +112,56,142,227,21,228,177,107,224,181,53,112,183,1,94,43,129,219,149,238, +51,205,134,4,184,193,235,119,237,90,136,188,244,44,22,39,97,89,86,196,228, +55,64,249,52,8,168,15,95,22,3,92,36,4,46,75,129,219,135,152,230,241,241, +49,172,172,44,41,255,100,61,157,151,231,111,188,113,106,242,225,135,87, +214,161,118,248,39,130,175,213,71,232,138,192,205,10,176,13,10,78,20,230, +114,185,137,223,57,113,226,149,199,42,149,231,88,139,139,5,44,46,70,30, +120,167,1,183,64,179,40,233,228,18,13,200,180,186,47,90,93,42,196,174,19, +193,57,48,221,49,68,103,26,99,221,87,11,219,44,224,70,188,255,78,128,219, +252,14,10,75,145,142,181,66,97,34,102,242,103,165,235,29,21,112,117,0,6, +226,139,199,164,21,200,122,1,220,96,221,200,72,33,82,207,7,56,110,191,125, +215,129,135,31,94,57,135,248,16,215,190,133,147,137,7,146,161,155,149,172, +219,0,184,69,0,133,247,60,235,89,63,116,183,235,190,60,179,182,54,18,119, +144,157,104,225,2,64,193,205,160,20,7,220,40,224,68,232,212,209,117,28, +194,239,161,85,157,203,13,193,117,59,3,55,120,79,153,76,29,81,69,84,10, +133,145,152,201,110,248,150,46,245,245,93,213,37,44,75,168,241,50,133,35, +46,5,110,47,99,154,115,185,28,226,186,42,79,79,231,198,208,158,252,133, +24,75,55,4,97,171,11,208,170,172,93,29,116,243,2,108,139,0,10,55,76,77, +237,126,255,29,119,252,167,221,79,61,117,44,5,110,244,62,139,110,38,82, +183,141,5,174,208,147,77,6,172,203,218,219,3,121,201,19,222,210,6,80,241, +62,115,133,12,182,237,9,220,96,152,102,3,113,61,211,146,1,2,49,26,111,92, +28,175,14,192,41,112,123,1,220,224,177,101,25,136,171,199,49,54,102,140, +66,159,212,5,36,136,110,176,54,0,93,85,6,154,40,47,4,86,110,0,221,145,55, +221,122,235,237,63,105,24,191,144,121,234,169,209,157,6,220,78,247,201, +185,223,92,71,7,220,102,88,23,213,2,215,3,146,122,255,162,181,171,171,72, +166,204,78,11,30,83,119,232,128,27,58,159,24,224,6,207,19,98,71,92,118, +194,79,154,96,49,58,42,34,192,18,5,140,184,90,179,105,5,178,94,31,219,52, +141,200,239,219,115,176,153,5,36,233,28,211,39,231,154,156,129,21,64,55, +47,64,55,104,147,60,242,193,187,239,126,233,179,215,214,238,131,109,27, +41,112,163,129,27,140,188,147,209,107,187,162,229,166,0,110,172,149,12, +53,112,67,197,207,121,123,106,114,155,181,184,77,129,219,218,206,208,78, +64,15,204,201,160,167,118,172,233,182,215,21,243,150,173,222,20,184,189, +79,34,137,74,229,246,161,105,109,188,116,129,213,1,104,161,48,165,229,232, +5,49,60,172,105,233,126,248,196,137,87,62,115,113,241,101,126,59,213,174, +128,155,33,4,217,185,57,152,19,19,48,138,69,144,76,6,196,52,181,147,91, +172,218,165,76,181,13,77,88,214,254,156,235,198,110,171,221,175,98,27,157, +246,42,174,227,52,108,189,158,222,181,2,156,67,52,76,21,158,124,109,120, +151,228,100,147,45,92,25,196,92,112,190,53,187,51,64,145,170,188,13,129, +219,58,142,126,2,170,33,168,130,4,141,212,12,227,157,104,42,40,167,192, +237,45,112,163,156,149,225,251,156,111,60,97,171,91,169,65,213,73,65,172, +178,21,164,188,22,255,232,185,207,189,239,25,203,203,47,243,123,109,104, +161,171,2,238,248,209,163,40,62,227,25,200,95,123,45,114,135,14,181,131, +74,132,171,10,116,126,187,23,37,16,197,125,136,207,49,93,38,88,120,191, +177,199,86,189,78,7,90,205,177,141,111,229,163,173,215,136,162,227,109, +197,211,53,142,52,151,105,28,108,254,185,113,215,105,135,124,212,241,134, +21,184,242,113,34,45,222,164,90,169,24,35,234,70,188,62,73,148,130,74,118, +72,129,219,159,36,18,196,192,151,1,27,172,148,104,117,0,92,17,186,36,1, +116,71,126,235,196,137,23,61,125,105,233,165,42,232,234,128,155,203,229, +48,254,156,231,96,252,7,127,16,153,217,217,118,192,109,39,224,10,219,106, +45,107,174,182,142,117,151,251,50,112,155,165,31,153,36,49,196,193,56,228, +76,243,227,133,21,96,220,190,192,245,143,19,234,142,21,101,5,71,1,128,70, +64,55,14,10,170,72,6,142,237,103,101,14,2,112,85,178,14,52,223,121,44,39, +123,46,53,168,34,25,178,18,120,139,255,254,230,155,111,124,9,165,175,149, +229,5,29,112,179,134,129,137,231,63,31,83,47,123,25,140,98,177,213,58,124, +39,2,151,49,181,213,170,131,27,34,218,3,65,76,154,208,195,23,8,167,6,107, +45,106,25,186,219,22,184,72,8,92,214,165,5,217,9,40,88,194,227,164,192, +237,221,177,99,165,134,13,149,164,181,58,164,184,174,164,97,224,84,203, +1,200,239,159,156,156,250,185,107,174,121,19,78,158,180,146,72,10,197,201, +73,236,126,227,27,145,59,124,184,255,192,77,10,189,45,4,110,172,38,172, +114,176,169,96,22,165,107,75,195,149,163,26,34,66,201,130,234,99,219,30, +184,44,222,209,162,207,34,107,61,31,118,172,37,181,184,58,73,23,78,129, +219,187,48,55,150,84,106,144,185,216,115,141,55,206,218,181,208,202,78, +203,3,200,127,232,198,27,127,102,244,228,201,169,56,224,2,192,196,77,55, +97,247,207,255,60,72,161,48,156,192,141,176,154,187,6,46,99,177,240,224, +146,194,175,4,174,4,18,38,29,187,89,244,60,4,104,128,131,107,65,175,44, +186,190,45,129,155,68,235,75,2,148,40,104,71,193,155,69,56,126,88,44,236, +211,146,143,157,2,55,234,216,137,164,134,158,129,55,202,218,53,116,50,195, +79,31,59,118,243,161,213,213,103,6,167,25,21,114,53,125,231,157,152,253, +233,159,86,67,108,39,3,87,190,229,76,111,185,234,128,171,9,37,163,140,43, +33,167,220,175,162,195,69,91,145,30,21,112,21,192,27,58,224,114,150,0,184, +42,11,104,163,214,104,148,198,200,52,86,112,10,220,222,1,151,39,252,179, +237,31,120,85,32,86,149,123,204,10,22,111,238,167,166,167,95,131,82,201, +136,139,113,157,190,237,182,22,116,59,4,110,27,168,182,27,112,21,86,163, +18,80,212,77,12,92,85,246,90,176,223,160,102,67,40,107,77,144,50,154,225, +100,62,244,56,163,234,158,105,219,8,184,173,144,185,124,196,164,75,166, +181,182,71,52,240,132,144,142,235,76,145,2,183,247,22,46,239,43,112,59, +213,120,229,80,50,49,118,55,128,111,254,87,111,185,229,174,209,245,245, +131,52,2,184,128,23,38,54,243,218,215,118,14,92,195,0,12,3,220,113,122, +11,220,54,139,113,0,128,171,139,35,86,90,187,110,108,178,132,232,100,11, +218,183,203,48,22,147,39,66,239,73,60,158,0,251,237,13,92,196,0,55,180, +163,14,29,94,188,131,133,41,116,95,62,224,192,221,200,101,253,86,167,42, +179,136,207,165,119,178,131,213,129,204,160,75,17,14,164,134,220,139,166, +166,126,20,11,11,145,89,100,133,66,1,179,63,251,179,32,166,233,77,238,8, +224,18,66,96,20,139,48,242,249,102,178,4,167,212,91,28,7,188,209,0,171, +215,195,241,176,59,1,184,33,171,215,214,126,214,224,172,45,89,34,206,18, +102,28,205,102,150,60,84,204,65,83,23,120,219,2,23,9,128,203,35,156,95, +72,32,69,36,113,92,169,138,226,240,14,156,117,59,187,198,110,231,146,15, +239,43,112,59,149,26,116,250,110,83,227,253,137,171,174,186,102,116,97, +225,80,92,45,217,93,175,122,21,204,137,9,101,124,174,8,38,115,108,12,230, +212,84,19,70,156,210,16,16,9,33,64,38,3,195,183,128,89,181,218,110,165, +13,51,112,25,3,201,22,52,180,244,183,165,142,22,184,161,202,100,17,73,19, +114,214,90,51,162,65,37,103,48,161,66,217,182,7,174,184,175,164,81,13,157, +64,34,9,116,117,173,128,146,192,62,5,238,198,53,246,168,239,187,255,206, +53,85,154,176,41,75,13,175,218,187,247,197,16,187,69,160,189,78,194,228, +209,163,24,185,253,246,72,224,2,64,102,126,30,70,62,223,14,57,223,226,13, +201,19,254,107,140,108,22,44,216,126,8,128,219,124,78,1,220,224,126,27, +120,229,52,93,234,70,2,23,156,161,100,243,80,205,58,149,133,171,130,115, +200,113,22,212,228,109,150,133,116,183,63,112,155,239,41,137,163,133,37, +132,94,82,157,151,39,0,46,27,82,224,198,73,49,91,157,57,215,127,199,90, +82,139,87,23,209,208,132,175,97,24,153,253,213,234,205,58,224,6,99,234, +37,47,105,131,144,12,208,236,254,253,32,133,130,103,229,138,181,1,4,171, +176,13,142,254,125,146,201,180,129,121,24,129,27,140,103,218,187,240,101, +21,112,131,187,78,205,139,167,53,12,109,54,219,165,10,195,222,17,67,41, +49,168,210,133,219,18,40,68,253,88,132,150,148,76,177,253,128,139,132,19, +48,137,134,171,155,176,73,38,191,10,184,221,244,95,75,129,219,121,76,115, +127,28,107,58,240,18,141,213,43,167,10,55,193,251,115,199,142,221,4,199, +25,141,170,22,54,113,224,0,242,199,143,71,70,41,100,118,239,110,102,173, +105,65,39,0,57,4,59,255,62,33,4,76,116,14,13,33,112,131,125,190,212,112, +241,101,217,186,148,167,110,109,13,164,48,209,6,220,224,241,99,75,46,246, +140,100,225,114,253,5,146,43,151,134,148,194,196,180,78,182,173,4,174,236, +92,236,49,112,91,213,217,146,56,90,162,42,133,37,9,53,99,9,128,155,164, +5,124,10,220,254,3,119,107,45,222,144,206,123,215,196,196,9,190,190,174, +4,110,48,198,158,253,108,165,68,16,60,54,138,69,88,51,51,30,152,84,224, +146,173,87,133,68,17,132,61,17,66,192,55,144,46,220,81,45,5,85,120,219, +6,129,27,140,235,230,234,241,165,29,171,171,48,243,99,218,242,140,95,62, +189,138,187,15,206,133,32,171,114,174,121,231,166,232,60,33,189,15,238, +58,45,232,110,107,224,38,157,128,73,38,127,82,25,130,39,112,216,241,4,176, +79,129,219,125,214,94,146,108,197,254,131,87,87,252,60,128,174,9,192,220, +235,186,215,68,69,50,16,66,80,188,229,150,80,20,131,236,92,203,204,206, +42,39,144,88,142,80,233,148,242,65,217,182,239,33,6,110,176,207,171,214, +190,4,24,150,30,28,140,129,149,22,97,78,237,83,131,146,81,52,30,254,60, +214,239,188,15,132,8,122,174,242,123,130,22,122,224,204,115,228,201,29, +40,182,51,112,19,59,214,84,16,68,23,214,85,39,225,101,124,155,66,111,16, +82,149,147,232,250,27,119,174,25,49,192,149,183,85,89,189,230,88,189,62, +171,131,46,0,140,239,217,211,114,150,5,50,128,52,65,205,137,137,16,148, +100,203,88,149,173,214,4,174,228,120,19,31,135,246,19,188,70,6,179,227, +132,165,9,57,138,66,132,163,112,30,33,71,158,252,103,225,56,77,89,164,169, +55,171,246,233,134,227,98,57,165,205,117,230,216,24,230,199,238,86,2,183, +249,154,234,10,184,211,104,171,80,198,93,199,59,102,117,13,31,252,118,85, +205,237,182,199,82,203,31,31,124,226,57,115,187,162,248,227,112,189,234, +101,10,157,153,51,234,65,87,21,9,33,70,76,72,181,33,130,196,141,208,115, +98,227,77,249,15,75,62,95,21,116,131,99,82,55,4,232,230,249,169,228,154, +196,14,49,93,146,67,167,137,14,73,128,27,23,219,203,98,180,225,40,135,93, +92,103,227,94,30,59,106,191,27,57,182,238,53,73,143,13,36,75,172,232,61, +120,117,82,67,27,120,247,20,10,35,140,210,145,182,75,82,222,170,3,144,59, +114,68,13,92,31,70,230,216,152,26,46,49,50,131,114,2,202,145,13,67,8,92, +113,127,47,29,61,166,181,140,3,144,176,210,66,27,112,197,177,254,181,63, +199,201,101,55,36,47,136,221,56,154,29,50,154,156,227,222,34,127,230,78, +221,131,252,160,3,87,134,110,55,192,165,254,123,235,10,148,113,181,20,162, +244,224,141,36,83,164,192,221,24,112,59,73,122,233,47,120,85,5,114,196, +176,50,227,133,123,246,28,228,126,189,93,25,184,193,196,206,238,221,171, +4,110,51,108,170,80,104,183,112,35,36,131,230,182,110,251,165,109,91,84, +195,38,3,87,60,191,141,0,55,144,41,238,189,102,69,13,92,1,18,244,202,147, +74,224,122,192,177,193,27,21,124,242,175,254,6,139,85,22,106,237,30,118, +134,114,229,103,238,129,213,5,168,13,182,190,176,115,128,203,89,7,151,206, +60,6,0,136,145,25,24,58,75,168,224,3,8,92,222,39,224,170,101,0,206,41,24, +115,64,169,13,74,29,127,177,193,152,3,175,254,113,146,222,117,157,84,124, +227,216,172,4,10,93,85,245,80,132,195,254,66,97,90,213,83,76,188,111,77, +79,171,245,205,32,18,193,52,149,18,69,34,201,65,2,152,178,136,206,38,104, +184,33,224,38,141,124,208,149,110,20,34,55,174,99,255,8,99,124,206,131, +158,66,195,5,0,216,53,176,213,11,48,38,247,42,163,18,56,231,160,139,103, +240,231,159,248,75,220,243,111,126,28,51,69,163,205,193,22,234,58,44,133, +145,113,183,225,193,157,58,131,165,225,170,182,237,88,195,21,128,27,43, +49,68,69,53,116,162,163,70,173,67,7,22,238,246,46,249,200,57,3,165,13,48, +102,195,117,109,48,230,250,11,69,92,172,52,33,4,134,97,128,16,3,134,97, +194,52,77,255,214,242,27,148,70,245,187,139,115,170,110,94,145,28,157,212, +64,70,12,99,132,9,64,83,253,116,85,37,31,67,137,2,65,58,176,42,155,45,34, +22,87,150,47,148,5,111,54,2,92,141,180,177,25,192,21,95,255,75,19,63,134, +223,89,251,96,59,112,69,110,44,157,1,25,221,21,106,246,33,67,141,174,94, +196,23,63,249,39,40,222,113,31,158,189,63,3,198,1,135,134,107,54,112,215, +9,105,188,108,245,2,220,133,39,252,203,238,157,3,92,125,56,153,202,209, +146,4,60,73,34,5,122,213,226,125,120,129,203,57,131,109,87,224,186,117, +184,110,77,234,125,151,180,236,38,247,34,116,154,33,143,225,125,24,134, +9,203,202,192,52,179,254,173,25,11,242,173,136,106,208,181,180,32,0,140, +81,195,40,128,210,200,250,12,70,54,27,13,61,5,84,117,77,37,101,103,153, +44,23,180,93,254,15,18,112,117,145,25,26,224,6,227,13,183,63,133,223,185, +144,5,183,107,218,47,138,219,53,208,203,143,195,218,115,173,190,120,13, +188,240,179,242,231,63,128,207,142,205,32,115,244,14,76,205,95,133,209, +44,9,165,11,179,210,34,232,194,105,208,197,39,193,27,21,53,0,183,51,112, +19,69,53,200,49,183,73,188,250,72,24,253,16,23,106,198,208,31,43,115,235, +128,235,56,53,216,118,25,142,83,235,240,207,43,238,51,109,223,7,99,20,182, +237,2,168,194,107,233,110,193,178,178,200,100,114,157,68,53,144,126,130, +55,10,192,4,0,49,12,195,140,171,207,160,132,139,14,118,178,206,169,169, +195,171,124,44,234,168,219,0,184,193,182,238,197,239,226,182,131,175,192, +55,79,253,177,26,58,193,203,215,23,64,115,35,158,228,160,3,162,191,158, +173,47,160,241,207,255,31,46,6,87,29,57,207,63,234,129,214,213,3,112,167, +0,55,81,251,159,36,213,194,146,22,44,79,106,225,70,133,61,13,87,201,71, +207,186,45,161,209,40,131,49,183,239,192,213,237,39,208,135,27,141,50,92, +151,195,117,109,152,166,37,92,61,106,35,26,72,204,227,196,224,37,9,1,76, +132,31,108,100,125,134,16,68,21,208,211,93,126,71,1,45,4,83,149,252,160, +114,118,13,33,112,197,245,127,116,124,1,55,62,153,105,21,198,209,116,119, +160,11,167,65,172,28,200,200,148,22,78,170,196,135,20,184,138,115,227,73, +27,31,118,227,140,137,179,112,129,246,110,194,44,6,230,195,82,99,151,161, +94,47,193,182,75,146,94,187,185,192,85,61,166,212,133,235,218,160,212,150, +52,225,222,142,110,219,187,171,0,172,215,121,21,157,21,98,11,153,107,156, +104,74,72,107,178,221,182,3,112,131,117,214,210,247,240,203,251,95,143, +223,254,254,7,180,22,111,243,227,184,248,24,172,249,227,32,138,140,54,109, +226,67,55,192,21,95,179,237,128,139,14,128,219,137,71,60,41,192,84,78,181, +97,7,174,39,41,212,106,43,91,106,225,198,59,53,91,26,49,165,46,12,195,128, +101,89,48,12,51,194,147,213,63,240,170,45,98,1,72,44,206,98,149,128,171, +5,169,174,157,123,4,152,67,217,107,162,220,48,228,192,21,31,255,244,228, +39,240,222,201,189,96,171,23,244,169,196,204,179,146,220,115,15,195,156, +61,12,99,124,46,5,110,87,192,21,207,179,211,178,144,221,212,126,237,84, +122,224,29,67,175,59,224,34,1,236,227,143,205,24,69,173,182,188,41,26,110, +119,192,21,63,219,240,243,158,38,76,65,8,129,101,89,232,197,176,186,130, +173,96,249,114,128,232,128,27,122,11,17,233,194,58,157,87,7,229,182,166, +152,178,83,77,206,88,27,114,224,6,175,37,153,12,190,120,235,157,120,222, +87,254,119,123,1,116,5,8,233,194,105,175,150,195,244,1,192,202,166,192, +237,0,184,237,81,13,81,142,22,214,129,227,170,19,203,57,46,22,118,56,106, +236,58,78,13,213,234,18,56,167,3,12,220,184,239,199,251,13,57,78,3,166, +201,115,155,109,241,182,255,160,21,45,98,196,159,49,13,244,214,36,242,66, +132,38,44,191,86,12,37,83,70,58,104,164,139,126,2,87,220,103,47,129,43, +38,123,204,175,127,21,255,253,240,107,240,95,78,125,88,15,66,1,52,188,180, +8,94,91,131,49,181,31,198,232,116,10,220,196,192,69,12,112,59,41,104,174, +219,79,55,1,252,186,102,151,131,7,92,206,41,106,181,21,216,118,101,136, +128,27,247,71,235,85,97,221,10,240,106,251,200,203,192,141,4,116,148,158, +203,244,13,30,219,234,49,72,177,187,205,76,48,41,153,98,24,129,171,188, +82,0,240,227,99,255,27,159,220,247,147,248,206,83,31,211,2,55,180,206,105, +120,214,239,234,5,24,227,115,48,70,166,5,246,164,192,85,2,151,179,4,101, +33,147,0,44,169,53,220,105,195,75,54,0,192,213,235,203,148,218,168,84,22, +125,45,183,83,224,2,201,164,155,78,129,11,36,75,92,233,89,91,119,162,219, +193,198,5,11,198,180,192,101,42,232,106,178,215,180,186,176,78,98,112,93, +237,37,190,178,112,250,54,0,174,184,237,159,77,126,6,255,121,233,205,248, +219,202,59,181,192,109,131,178,93,3,93,60,3,186,244,20,140,145,73,144,220, +8,72,166,16,150,33,82,224,38,40,11,217,77,37,174,78,172,70,166,112,180, +69,233,201,131,85,242,209,113,170,168,86,151,253,239,98,88,128,171,59,54, +34,44,241,45,148,26,162,128,27,41,41,232,178,210,20,192,210,130,91,148, +25,68,16,43,116,223,196,192,149,45,238,94,1,87,183,223,14,129,219,212,123, +77,19,239,222,255,123,176,191,255,255,224,11,245,223,138,4,174,202,161, +214,172,187,0,0,102,22,196,48,1,211,2,136,161,4,110,219,185,234,10,179, +203,89,117,81,231,162,168,4,166,236,110,44,238,71,103,153,243,120,9,75, +245,57,196,159,103,146,116,97,214,1,244,144,0,190,128,62,110,151,163,243, +104,137,205,171,177,219,104,172,163,94,95,23,160,59,44,192,5,244,61,215, +144,0,200,155,13,94,206,17,215,206,61,46,76,76,105,41,169,178,211,34,52, +222,32,118,183,13,92,219,12,184,226,62,140,124,30,191,123,228,247,240,107, +23,223,132,79,45,191,47,17,112,149,176,113,235,234,159,147,214,1,234,38, +248,93,176,104,168,177,24,137,68,7,216,36,239,143,177,152,159,44,143,223, +183,178,197,123,18,77,23,26,107,53,78,115,228,26,144,199,149,155,28,148, +162,230,28,149,202,50,28,167,218,103,224,38,117,138,117,10,92,36,56,79, +244,12,190,61,177,120,89,204,15,92,91,184,70,97,153,52,33,170,136,193,213, +58,209,116,208,144,171,133,109,19,224,134,246,105,24,248,205,249,63,193, +225,145,55,224,189,231,254,103,187,197,25,5,220,168,207,46,5,110,196,132, +83,181,232,233,212,34,75,82,113,140,107,172,107,222,3,224,198,193,52,185, +148,194,57,67,185,124,5,148,54,182,57,112,129,205,232,50,156,204,224,165, +20,136,168,46,198,84,250,172,12,158,152,201,217,6,79,225,181,33,103,155, +148,66,188,173,129,43,141,215,142,252,9,94,112,219,79,224,197,15,127,14, +172,188,156,2,119,195,192,77,106,245,196,89,140,44,70,31,84,89,179,42,171, +57,170,220,228,214,117,145,96,204,65,185,124,69,225,68,27,102,224,110,125, +145,156,14,85,7,30,107,5,183,1,55,73,65,28,197,250,54,221,215,15,89,107, +90,186,82,209,156,65,4,110,212,182,137,128,43,252,161,101,44,11,199,237, +191,199,242,243,174,199,175,61,112,11,62,176,240,161,86,172,111,10,220, +238,128,203,25,146,121,185,25,54,18,118,21,125,217,31,213,210,125,107,219, +246,80,234,160,82,185,34,164,253,110,23,224,242,190,1,183,167,224,229,9, +28,107,113,192,141,44,9,41,21,37,87,74,16,58,153,98,7,0,55,147,201,192, +202,100,0,0,213,197,243,120,203,193,51,248,169,107,239,197,127,123,240, +38,124,166,246,246,152,44,183,33,4,110,12,116,123,3,220,36,151,156,64,116, +22,25,98,244,220,164,13,47,25,146,21,223,217,188,10,100,148,218,40,151, +175,128,115,214,1,112,227,44,202,65,183,112,249,96,129,55,202,194,101,178, +133,170,202,38,139,0,181,8,84,45,76,197,206,14,17,112,77,146,76,49,172, +192,53,13,3,212,117,65,25,131,211,104,96,87,227,159,240,158,67,95,195,111, +206,222,139,119,124,231,38,252,101,245,253,224,78,45,5,110,98,224,34,1, +64,117,16,140,179,244,144,0,182,58,15,123,92,171,154,254,2,23,0,28,167, +142,106,117,81,128,238,118,1,174,238,51,239,189,5,220,55,231,26,83,129, +84,7,92,133,229,26,41,61,200,245,27,100,168,171,32,220,47,224,202,48,216, +98,224,2,128,221,104,192,169,215,189,47,248,169,175,224,215,166,238,199, +91,199,57,190,86,120,13,254,230,236,126,252,173,241,1,240,242,82,10,220, +168,237,181,217,107,73,235,238,198,37,58,116,118,89,31,223,214,167,255, +192,5,56,92,87,132,238,118,2,110,146,63,199,222,193,183,39,225,100,58,224, +54,65,42,166,12,43,128,220,86,56,71,5,186,168,186,188,138,201,215,86,163, +119,135,1,55,116,28,0,48,12,220,213,248,4,238,154,101,120,59,165,176,110, +125,1,190,186,176,31,143,174,76,224,84,105,12,95,26,255,44,234,238,229, +86,177,245,168,174,187,212,109,149,167,212,232,174,188,81,174,134,126,205, +196,8,42,142,112,239,156,72,244,239,137,88,225,125,19,67,15,70,18,95,22, +53,193,84,33,254,126,197,204,76,194,57,45,18,98,116,0,132,184,82,143,157, +128,111,112,128,27,84,22,171,84,150,161,42,36,211,187,84,224,65,6,238,128, +89,188,58,224,138,235,59,202,86,211,85,43,211,129,79,108,30,25,209,148, +114,71,2,87,222,167,127,44,247,244,87,240,76,198,112,59,225,192,184,240, +107,48,152,246,253,6,143,79,213,214,241,221,90,13,81,189,246,126,235,194, +133,63,0,80,3,80,247,151,6,0,7,128,235,47,81,213,101,250,57,68,176,6,45, +172,44,127,201,0,200,1,200,251,75,193,182,87,255,99,38,51,10,195,200,32, +62,6,55,137,179,171,243,248,216,232,230,144,221,28,167,51,224,2,28,182, +93,69,181,186,146,208,74,29,102,224,242,190,2,183,119,224,37,68,9,87,37, +136,19,246,32,147,159,87,90,191,42,141,55,162,70,195,118,2,46,0,56,141, +70,87,192,141,218,46,14,184,242,231,196,162,229,166,26,188,222,42,85,255, +126,67,130,47,131,190,158,98,63,161,43,194,87,4,111,0,93,91,56,63,191,75, +194,58,44,171,0,203,42,32,186,217,101,146,184,208,56,224,178,132,32,231, +155,2,92,0,168,215,75,168,215,215,118,128,133,171,139,159,78,234,209,218, +100,139,55,81,84,131,34,131,44,214,234,149,90,186,7,80,10,165,12,75,45, +212,229,216,221,20,184,9,128,43,63,23,161,197,115,191,191,30,139,255,9, +214,125,232,86,124,240,214,4,240,58,254,75,233,22,131,215,244,193,155,241, +151,16,116,189,231,188,83,114,221,42,56,167,200,100,138,8,215,62,81,213, +86,64,132,227,45,105,229,178,164,237,207,251,7,92,128,163,94,95,67,189, +94,222,98,224,38,213,132,59,5,110,220,249,119,33,88,109,22,120,89,54,11, +56,78,100,84,67,162,194,231,113,173,127,20,186,176,42,227,45,4,18,199,217, +49,192,229,141,6,88,189,238,129,209,182,225,248,159,7,213,20,169,55,0,152, +132,192,36,196,51,251,12,3,36,147,1,33,68,11,92,81,90,136,203,86,20,36, +134,154,0,223,186,15,55,199,135,46,211,120,160,250,13,94,67,176,120,77, +31,186,89,9,186,102,120,126,112,80,90,7,64,145,201,140,38,156,232,113,146, +2,160,47,249,136,24,224,246,34,123,45,90,170,168,215,215,81,175,151,118, +16,112,147,70,53,12,112,202,176,44,53,180,89,95,104,175,165,160,179,178, +160,147,45,60,83,36,212,250,39,170,91,69,87,192,213,88,143,27,5,110,0,241, +110,129,75,43,21,176,122,29,78,163,129,58,99,160,154,75,127,30,225,252, +148,183,97,141,6,76,66,144,33,4,5,66,144,53,12,152,146,227,74,25,218,167, +190,234,177,37,248,6,146,131,8,94,154,208,19,213,47,240,154,2,120,29,5, +116,179,242,41,81,106,131,177,85,100,179,163,32,196,76,0,48,134,100,1,251, +113,41,198,44,194,226,237,45,112,1,160,90,93,134,109,215,118,16,112,227, +44,220,65,211,120,37,168,36,214,118,37,233,161,45,66,65,103,21,139,50,132, +220,190,221,7,176,220,133,120,96,129,91,40,116,4,92,86,173,130,150,74,168, +218,118,211,146,237,9,112,69,176,248,86,114,21,0,119,93,16,66,144,35,4, +69,195,64,198,183,144,19,202,76,142,4,95,149,147,77,231,166,223,12,169, +65,212,119,131,115,33,194,186,172,127,158,109,167,22,232,190,45,203,55, +233,101,61,208,121,49,244,184,14,195,189,47,106,94,173,174,192,182,171, +59,16,184,67,150,185,166,5,174,12,28,77,181,48,173,204,160,112,164,41,33, +45,75,13,174,219,74,33,222,6,192,165,165,18,26,107,107,168,11,251,237,53, +112,197,109,100,9,167,204,57,74,190,36,146,55,12,148,37,173,88,243,237, +57,194,98,11,206,181,134,255,152,74,114,195,86,128,215,108,215,116,97,133, +207,93,215,6,6,112,156,18,108,123,77,163,181,198,149,22,228,49,235,163, +90,255,0,157,101,175,37,171,64,198,57,69,165,178,12,215,173,15,1,112,163, +222,99,55,192,141,219,207,128,105,188,81,147,62,116,202,130,117,170,108, +120,169,209,112,197,16,177,72,248,169,106,51,104,172,238,158,1,87,165,95, +247,24,184,181,181,53,216,91,0,92,248,68,146,1,91,101,12,107,148,98,141, +210,166,44,145,145,172,96,223,26,15,192,234,10,139,8,99,119,139,164,6,34, +57,215,44,1,196,25,225,92,131,243,215,78,104,206,1,219,94,71,185,124,30, +35,35,115,32,205,88,227,184,14,20,113,17,9,73,128,27,151,170,220,89,201, +71,74,29,84,171,75,160,212,221,161,192,77,170,241,246,6,192,27,175,78,22, +1,92,87,154,240,170,68,137,88,39,91,18,107,88,33,91,180,213,121,24,34,224, +178,106,21,245,229,229,158,89,184,193,118,27,1,46,20,251,98,156,195,225, +28,6,128,92,187,12,17,252,138,169,180,136,32,214,53,16,219,44,240,114,201, +210,117,219,45,241,248,73,232,186,85,172,175,63,133,98,113,22,153,76,1, +201,138,228,196,193,56,9,112,217,134,129,27,36,70,84,171,43,82,199,136, +157,6,220,36,117,119,7,176,86,131,10,184,34,152,218,66,193,84,151,235,9, +58,12,139,105,194,109,93,38,36,173,55,84,143,119,8,128,203,41,133,115,249, +50,202,194,31,201,32,1,151,105,254,48,25,128,26,231,0,231,34,128,69,74, +48,1,102,242,66,183,72,106,48,53,231,195,212,222,171,232,154,13,222,101, +250,69,20,10,83,200,102,199,253,100,186,78,180,215,184,218,188,44,66,247, +237,14,184,94,199,136,178,212,49,98,51,129,219,141,101,189,213,192,29,144, +122,188,145,192,133,80,143,55,170,175,89,156,149,43,101,166,41,91,169,75, +177,191,109,41,195,3,12,220,32,74,161,188,186,218,19,167,89,191,129,203, +116,114,14,128,58,231,32,45,234,200,48,163,10,232,110,149,197,43,190,29, +241,15,64,130,112,210,248,78,111,125,173,182,4,219,46,161,88,156,134,105, +230,144,60,162,161,27,224,38,173,251,208,126,92,198,92,84,171,171,112,221, +6,186,43,231,184,93,129,203,34,206,127,192,156,107,90,224,42,244,221,168, +98,57,90,56,139,86,172,194,81,166,149,23,182,0,184,0,96,101,50,201,227, +112,41,69,227,242,101,84,253,237,104,68,70,152,14,126,27,1,110,148,246, +203,226,116,123,221,159,128,183,190,155,235,235,126,143,228,153,3,137,28, +43,234,172,53,74,27,40,149,46,34,159,159,64,62,127,32,193,41,116,19,78, +150,36,131,77,125,28,199,105,160,86,91,17,234,232,166,192,237,103,65,156, +190,90,188,81,142,155,72,231,86,132,197,103,250,37,0,0,32,0,73,68,65,84, +134,43,59,216,148,251,4,90,146,66,208,218,93,215,161,120,144,128,203,57, +120,163,129,210,210,82,51,132,107,208,129,203,18,90,192,17,38,97,28,37, +54,195,226,77,146,109,144,0,184,136,97,56,80,175,175,128,177,37,20,10,20, +132,36,205,34,139,42,138,3,232,139,164,199,3,151,49,138,90,109,93,209,23, +109,16,129,27,167,249,118,11,92,36,248,188,146,126,239,91,8,94,230,67,145, +197,65,57,38,123,77,180,88,85,146,130,210,10,86,212,108,144,51,213,54,4, +92,89,166,232,17,112,1,128,173,175,99,173,84,26,58,224,38,250,147,77,254, +11,143,43,112,208,79,248,242,206,103,94,146,34,57,225,237,25,179,225,186, +117,16,194,96,154,144,0,28,197,255,36,233,194,44,17,228,56,167,168,215, +75,104,52,42,42,161,168,75,224,38,121,126,88,129,219,223,2,57,61,1,47,175, +213,192,124,61,83,55,97,181,14,52,232,195,201,162,128,43,166,175,170,178, +226,154,225,103,154,16,182,173,4,46,0,184,139,139,88,173,215,135,22,184, +81,208,165,124,51,216,185,217,35,73,139,119,68,254,175,112,78,225,56,54, +12,131,195,52,13,1,192,170,250,189,113,41,197,12,73,210,133,189,68,143, +10,26,141,178,208,19,45,5,110,247,22,110,239,46,204,250,18,213,192,84,96, +85,165,6,75,93,128,149,189,215,34,58,81,104,11,224,168,146,52,6,0,184,96, +12,181,203,151,155,201,8,131,172,225,178,20,184,49,147,173,155,203,111, +175,57,36,99,142,111,1,19,16,194,65,72,146,94,106,113,161,100,173,237,25, +115,125,224,86,192,57,77,129,219,85,134,91,127,128,219,23,240,234,32,210, +22,246,37,135,121,197,13,57,57,66,114,182,5,199,16,179,213,184,227,40,155, +93,110,9,112,129,166,158,27,196,230,110,87,224,178,109,11,222,56,205,55, +105,177,26,207,247,200,185,3,74,109,16,226,194,48,0,211,228,48,140,164, +22,110,59,112,25,115,225,56,117,56,78,221,143,84,232,180,67,68,10,92,125, +84,195,0,38,80,48,74,67,82,131,110,66,43,129,27,87,145,76,23,219,43,151, +50,212,21,66,31,0,224,130,49,176,122,29,165,149,21,52,36,120,234,162,2, +6,25,184,156,115,47,203,96,219,3,23,29,2,55,169,84,45,183,71,103,96,204, +134,227,120,16,38,132,194,48,24,12,131,249,247,195,249,39,156,83,31,218, +85,48,102,131,82,199,47,220,67,145,60,44,44,5,110,178,171,148,254,57,216, +122,30,213,160,180,130,131,250,9,154,206,17,202,40,132,184,136,6,21,140, +53,251,217,42,224,6,86,248,154,15,221,97,7,110,220,85,206,206,2,110,20, +124,145,96,34,183,67,132,115,214,132,41,231,94,89,11,206,189,82,23,156, +219,254,99,175,238,144,183,62,73,49,158,20,184,157,1,151,37,248,206,183, +62,129,130,184,26,48,42,39,174,70,183,109,3,169,10,174,34,204,228,58,14, +114,53,50,209,1,183,69,192,5,188,212,223,165,82,41,54,249,97,88,128,235, +38,248,233,177,29,3,97,85,61,6,64,31,144,159,180,163,130,206,89,167,42, +228,198,82,224,198,110,215,201,113,55,175,60,100,207,157,107,202,102,151, +186,86,60,130,197,170,132,168,78,159,21,117,94,233,190,220,74,62,46,123, +173,151,192,109,234,217,140,129,85,171,184,82,169,108,43,224,6,231,72,19, +252,209,110,127,224,38,129,89,18,71,77,156,68,161,170,187,203,122,96,245, +165,192,77,214,144,180,183,192,237,5,120,137,120,58,42,224,50,89,14,64, +76,181,48,141,148,208,150,254,43,58,214,52,251,141,172,102,214,71,224,2, +0,173,84,176,88,173,110,24,184,81,0,220,8,112,163,246,17,5,92,21,100,119, +142,212,144,36,151,63,105,27,153,36,96,137,3,46,79,129,219,115,224,38,169, +199,59,128,29,40,180,147,89,44,144,19,99,249,106,53,96,133,22,220,86,125, +204,135,159,78,86,232,55,112,193,24,104,173,214,6,221,237,2,220,36,22,46, +223,118,97,101,73,172,30,222,1,68,226,26,83,38,9,45,139,211,150,83,224, +118,14,220,40,105,104,107,45,94,162,156,128,150,149,91,163,20,163,134,17, +109,181,70,101,144,233,18,40,228,8,6,69,120,88,115,95,178,21,44,189,46, +41,112,1,180,160,219,1,112,1,192,89,91,195,146,144,180,177,93,129,27,215, +250,103,123,75,13,72,96,153,2,157,7,230,39,41,166,35,175,99,9,97,214,43, +224,34,161,181,221,41,112,59,249,243,234,23,112,121,130,115,4,6,166,58, +153,227,56,168,90,22,40,231,152,48,77,53,80,100,89,129,37,56,113,185,133, +143,48,193,57,231,205,70,150,205,250,12,178,190,11,47,150,119,51,128,203, +57,71,99,109,13,171,254,121,108,6,112,117,176,219,40,112,117,214,108,39, +192,101,219,30,186,221,212,218,141,218,87,92,59,160,36,235,83,224,246,238, +61,13,150,197,171,29,148,115,84,253,66,47,147,150,5,67,130,67,164,195,44, +0,89,68,134,154,210,42,150,38,191,74,227,45,110,2,112,1,160,182,182,134, +117,215,221,49,192,101,219,31,184,60,185,222,155,4,114,73,180,194,110,59, +83,164,192,221,216,123,234,198,226,29,0,240,50,97,2,214,56,135,235,186, +152,48,205,240,142,117,213,194,100,216,233,74,57,74,253,212,196,118,63, +170,34,57,193,254,122,14,92,197,182,53,133,165,187,157,129,203,34,206,111, +251,75,13,73,178,214,146,56,218,58,109,140,25,215,10,104,16,128,139,132, +240,234,20,184,221,128,126,163,33,118,67,98,241,138,19,207,102,12,139,156, +99,220,48,80,244,117,95,17,172,34,112,181,210,131,46,206,87,103,245,170, +170,148,57,14,144,203,245,13,184,0,80,94,93,69,137,210,174,129,27,64,112, +88,128,139,29,7,92,221,164,79,162,193,38,217,87,39,218,174,10,192,60,5, +110,79,129,219,243,168,6,222,87,240,202,147,156,115,142,53,74,225,112,142, +17,211,12,183,98,239,68,235,85,165,7,171,142,41,212,103,16,157,105,253, +2,46,92,23,107,165,18,202,210,31,196,118,7,110,210,26,188,219,75,114,232, +54,115,77,182,78,147,164,164,38,141,106,144,157,107,41,112,123,3,220,33, +211,120,117,30,237,42,99,30,96,4,152,169,128,219,214,162,93,101,197,42, +52,227,80,253,7,41,148,44,147,201,160,178,190,222,6,92,157,21,157,8,184, +62,212,87,74,37,175,199,216,14,4,110,212,247,205,134,22,174,73,103,90,146, +204,181,110,128,160,131,4,139,209,122,119,58,112,163,190,147,141,0,55,214, +226,77,26,176,221,71,141,55,102,125,157,49,52,30,127,28,228,250,235,97, +100,179,201,36,5,5,248,66,18,133,144,177,38,71,50,4,192,182,50,25,148,123, +8,92,48,6,102,219,184,82,171,53,225,185,211,128,155,84,227,29,226,208,50, +158,28,184,232,1,156,116,22,45,139,176,168,59,105,23,212,141,53,184,147, +129,219,149,198,219,85,70,69,95,83,134,131,199,14,165,32,167,79,195,154, +158,70,102,118,182,93,38,144,227,111,117,154,175,248,156,220,226,71,236, +100,44,69,74,108,20,184,156,115,208,90,13,87,28,167,173,99,196,78,2,110, +39,231,50,164,86,175,98,38,243,13,2,151,119,0,220,184,174,193,12,201,194, +201,82,224,118,159,68,194,144,48,85,56,105,174,113,127,193,27,235,233,102, +12,206,149,43,96,245,58,178,123,247,170,245,92,149,6,172,232,94,17,21,106, +198,57,71,177,80,128,211,104,244,4,184,0,80,175,86,177,228,56,59,30,184, +186,239,183,195,254,107,131,10,91,205,243,113,147,48,73,155,245,184,249, +202,34,230,117,84,49,28,150,2,55,113,70,92,39,14,72,221,119,237,173,35, +36,209,37,72,255,165,134,184,220,125,113,210,211,181,53,212,171,85,236, +190,241,70,172,214,106,250,118,64,242,125,85,85,49,133,99,13,140,193,202, +229,176,186,180,180,97,224,114,74,177,92,173,54,59,0,119,10,92,104,62,155, +97,5,46,141,208,122,183,129,67,77,73,19,66,192,57,231,68,183,57,231,60, +129,117,155,4,88,157,116,16,102,72,214,57,183,23,192,141,131,213,118,2, +110,92,197,55,239,190,235,146,78,42,237,108,174,197,219,54,65,5,120,177, +122,29,23,30,124,16,214,248,56,50,187,119,119,4,93,217,177,38,106,188,193, +113,204,32,125,89,145,170,156,4,184,0,224,86,171,88,112,93,109,193,239, +157,8,92,85,151,225,109,18,193,160,189,222,247,149,37,83,103,9,81,42,55, +157,68,132,62,155,196,216,142,178,158,117,9,20,41,112,55,14,92,111,161, +52,94,207,175,213,104,13,250,112,21,190,41,224,101,73,58,12,7,247,133,38, +149,0,224,174,175,131,85,171,96,182,173,182,106,85,217,108,146,99,77,220, +119,179,58,88,144,100,33,212,77,72,10,92,78,41,74,181,90,91,124,110,10, +220,240,113,183,17,112,163,138,226,114,206,9,37,132,155,58,43,168,213,249, +65,13,21,175,160,121,20,84,117,225,97,113,149,203,120,10,220,30,2,183,245, +71,26,239,12,173,84,80,70,178,38,120,253,183,120,163,128,203,0,48,215,85, +110,227,56,14,232,218,26,88,185,172,4,174,42,233,66,233,100,11,222,16,33, +97,125,55,33,112,193,24,42,181,26,214,40,85,90,185,41,112,147,75,10,108, +240,97,75,52,52,16,39,19,3,64,1,238,2,60,171,179,130,26,13,39,114,34,115, +190,190,65,254,235,128,203,7,0,184,73,207,189,83,224,38,217,190,183,192, +109,125,159,241,213,201,150,150,248,122,23,151,51,188,167,224,165,17,192, +8,38,161,74,27,100,18,8,57,165,224,18,48,181,176,148,122,173,137,214,106, +161,88,68,101,117,85,95,205,76,1,92,183,94,199,10,165,205,70,148,41,112, +55,6,220,33,140,110,144,103,107,147,112,142,131,82,54,139,162,254,178,211, +142,132,4,231,43,9,44,93,196,104,191,42,224,178,20,184,125,200,218,171, +213,162,163,26,8,1,191,255,126,122,10,173,70,120,44,161,232,222,31,139, +151,39,104,126,168,138,125,109,3,79,163,225,73,15,17,253,216,100,249,64, +236,40,108,26,6,156,122,189,77,102,80,73,10,78,163,129,181,20,184,29,1, +87,245,71,58,164,192,141,146,24,88,48,177,26,13,178,148,205,242,221,186, +121,84,175,219,160,212,133,105,26,202,201,206,121,5,140,157,129,97,204, +119,160,237,66,230,63,146,215,225,77,129,187,145,16,187,114,153,69,48,147, +131,82,222,120,252,113,172,161,189,5,180,174,62,104,127,192,43,87,18,235, +180,13,184,178,47,26,60,7,28,111,52,194,0,13,145,208,85,202,15,84,83,151, +183,25,85,81,171,161,66,41,202,140,109,88,82,208,189,102,187,2,87,254,243, +28,98,11,87,69,61,166,88,232,218,26,189,48,54,198,175,215,113,155,115,96, +125,189,134,169,169,162,22,18,174,251,47,200,102,231,35,64,147,180,211, +68,96,69,187,72,94,140,103,171,128,27,7,202,110,129,27,167,9,119,31,211, +204,24,71,169,20,29,213,64,41,89,135,216,246,185,93,235,77,228,96,235,107, +84,3,75,96,29,70,54,197,244,225,73,107,53,15,194,162,20,225,186,225,104, +6,180,119,186,224,148,130,213,235,176,25,131,205,152,18,182,131,4,92,221, +85,193,160,0,87,117,142,67,104,229,18,205,204,12,150,80,63,245,175,126, +117,237,129,87,188,98,236,5,122,67,134,99,105,169,132,169,169,130,22,18, +142,243,117,88,214,15,128,144,66,12,52,88,12,136,152,112,138,41,112,123, +5,220,224,241,218,26,5,99,209,81,13,43,43,252,73,127,202,82,225,202,168, +147,130,28,189,3,111,146,20,210,56,224,170,119,204,148,58,48,171,215,155, +22,241,228,216,24,214,87,86,224,148,74,96,245,58,174,156,57,3,167,209,64, +133,82,212,124,107,188,147,110,10,131,4,92,14,160,146,205,194,54,12,100, +40,69,193,182,65,182,16,184,108,251,89,185,42,211,83,132,175,251,167,127, +122,249,225,87,188,98,172,14,240,188,206,10,90,89,169,128,82,234,203,13, +170,201,237,194,113,62,143,108,246,37,26,128,36,173,128,6,0,118,240,43, +77,129,219,227,172,189,43,87,226,178,20,57,30,121,132,255,147,255,5,184, +146,197,203,176,153,225,100,113,86,111,18,16,69,85,42,83,22,104,17,36,132, +122,165,2,187,82,105,194,216,105,52,224,112,238,125,42,17,197,92,6,221, +194,189,50,58,138,211,51,51,48,57,135,229,186,112,76,19,163,245,58,142, +92,190,188,165,192,77,50,232,240,64,153,43,180,93,87,184,117,25,131,93, +173,226,124,177,136,35,58,144,80,202,113,229,74,9,123,246,140,107,33,226, +186,15,193,48,230,96,89,183,196,232,186,42,11,56,248,78,28,112,94,69,242, +52,216,157,6,92,160,219,16,187,122,157,99,101,133,69,158,63,231,112,254, +224,15,248,3,2,120,93,133,197,187,121,82,67,28,112,221,24,43,88,105,233, +170,28,106,138,40,6,91,200,88,19,39,62,223,160,164,80,201,100,112,126,116, +20,87,138,69,212,44,11,110,96,117,186,46,230,42,21,28,90,93,77,148,54,219, +141,164,176,150,207,227,210,200,8,110,120,226,9,100,133,200,140,245,145, +145,129,0,46,219,30,192,37,208,59,214,130,73,229,0,112,190,251,221,218, +87,238,184,35,119,68,103,241,2,192,133,11,171,152,155,27,129,97,16,237, +164,183,237,47,1,32,48,205,227,9,164,102,57,170,161,1,206,87,19,194,105, +163,192,237,70,59,30,78,224,6,235,207,159,167,66,22,162,250,123,46,151, +113,106,117,21,21,255,119,225,38,208,122,117,250,212,230,196,241,234,244, +193,22,145,92,181,188,16,60,167,177,134,51,150,133,198,250,122,168,40,142, +78,87,78,10,92,6,224,177,93,187,112,33,159,199,212,218,26,230,206,157,67, +198,113,96,114,14,102,154,104,100,50,40,23,139,177,48,219,136,134,187,84, +44,226,232,249,243,48,164,115,62,120,240,32,86,78,158,196,194,228,36,26, +153,12,56,128,249,43,87,218,130,82,251,5,92,157,53,79,19,68,180,12,129, +213,203,116,224,125,215,187,206,127,233,83,159,58,242,74,66,120,65,55,49, +109,219,197,249,243,171,56,112,96,50,2,38,46,108,251,179,176,172,115,176, +172,19,0,140,4,112,98,224,124,29,140,45,33,62,106,41,5,110,55,239,169,82, +225,184,114,37,190,56,206,3,15,240,47,6,191,9,141,220,0,36,76,81,180,250, +9,220,36,147,182,77,66,16,238,43,247,37,180,247,201,100,50,104,136,146, +133,148,25,215,169,164,192,1,60,184,123,55,114,165,18,174,63,127,30,68, +145,120,145,117,28,76,100,179,125,1,110,48,230,56,111,66,247,230,215,189, +14,135,239,189,23,204,113,240,253,47,125,9,43,39,79,194,5,96,250,209,30, +156,115,16,66,82,224,118,110,237,70,73,13,84,152,88,118,189,142,218,242, +50,255,222,174,93,252,118,253,156,226,184,112,97,13,211,211,5,140,140,100, +35,97,226,186,15,131,210,83,48,205,235,97,24,251,65,136,106,123,23,140, +45,131,243,203,224,188,158,2,183,15,192,245,166,52,199,19,79,80,196,181, +119,162,148,175,189,247,189,248,42,128,134,4,223,174,116,94,171,23,191, +98,32,186,249,97,212,165,112,210,201,26,116,21,14,73,17,134,161,44,178, +19,236,87,134,96,28,136,30,159,152,192,248,210,18,38,75,165,230,250,201, +195,135,49,247,180,167,33,55,57,9,183,82,193,250,249,243,168,47,47,131, +61,249,100,207,129,27,108,87,168,215,193,0,100,167,166,80,91,93,197,167, +255,195,127,128,153,205,194,44,20,224,2,216,111,154,224,11,11,0,128,134, +223,217,153,106,34,13,250,1,92,25,186,108,248,224,171,2,48,36,248,58,240, +60,89,54,128,198,59,223,121,241,99,239,120,199,238,167,27,6,50,186,75,81, +206,57,30,127,252,10,110,186,105,15,76,147,196,232,133,85,184,238,131,0, +30,4,33,99,32,164,232,79,199,58,56,175,129,243,202,6,45,92,96,227,14,169, +94,166,2,39,217,15,223,52,224,6,183,103,206,80,84,42,28,113,221,164,31, +123,140,124,150,49,222,16,126,23,42,139,55,54,113,162,167,22,47,239,208, +242,81,1,247,241,75,151,80,45,151,193,28,7,199,38,38,188,19,243,173,219, +203,245,58,22,42,21,112,219,198,46,198,48,227,191,38,151,203,97,5,192,169, +76,6,140,115,100,57,71,198,113,112,193,178,224,114,14,211,117,177,171,86, +11,157,159,77,8,46,251,90,41,0,204,86,42,48,25,131,75,8,202,140,97,175, +15,221,76,177,136,219,223,252,102,76,236,217,131,229,135,30,130,189,182, +134,226,212,20,246,92,119,29,172,145,17,60,240,235,191,238,233,62,153,12, +74,185,28,44,198,48,89,169,160,150,201,224,242,216,24,234,150,133,125,43, +43,40,218,54,92,195,192,106,177,136,106,46,135,186,101,1,156,163,216,104, +96,186,92,70,78,232,78,188,56,58,10,102,24,152,173,86,189,115,24,31,199, +63,126,241,139,224,153,12,56,99,48,202,101,208,241,113,92,61,54,134,170, +15,222,165,137,9,112,255,143,103,164,82,65,70,104,188,201,1,148,70,71,81, +25,25,241,52,106,199,193,104,169,132,130,95,32,62,248,181,52,114,57,52, +242,121,24,148,98,180,92,134,157,201,96,125,98,2,118,38,131,169,165,37, +100,253,214,73,242,31,218,144,2,55,137,212,64,37,248,54,30,122,168,118, +169,84,34,15,79,76,240,91,245,150,30,80,175,59,56,117,234,10,174,189,118, +22,132,36,131,19,231,107,190,126,139,24,168,164,192,237,21,112,1,142,133, +5,142,203,151,89,36,112,61,190,161,244,171,191,202,255,202,183,118,27,254, +111,66,182,120,59,234,74,209,211,46,195,113,181,91,101,224,138,214,215, +35,223,248,6,78,157,61,11,112,14,227,185,207,197,241,137,137,230,118,127, +255,228,147,88,184,114,5,224,28,115,99,99,248,17,225,185,39,1,124,179,86, +3,0,236,167,20,71,109,27,167,179,89,52,12,3,110,62,143,235,57,199,108,173, +214,60,214,191,76,79,35,176,103,167,107,53,204,81,10,16,130,139,197,34, +246,174,250,63,126,66,112,231,91,222,130,75,95,248,2,30,121,224,129,72, +73,97,57,151,195,98,62,239,95,28,2,167,119,237,194,244,218,26,10,245,58, +26,132,32,71,8,30,188,234,42,140,85,42,40,52,26,200,251,208,171,228,243, +56,183,127,63,230,215,215,177,103,121,25,0,176,82,40,120,224,245,91,22, +217,229,50,86,139,69,239,148,2,25,198,48,224,4,117,45,0,84,11,133,230,119, +96,57,14,76,31,188,118,38,131,51,251,246,33,239,186,152,168,84,96,49,134, +134,101,225,242,252,60,114,213,42,102,133,232,8,187,80,128,83,44,130,249, +133,70,151,231,230,48,187,190,142,201,90,13,142,105,42,191,55,54,220,192, +85,201,13,162,181,107,202,224,5,80,255,47,255,229,220,239,189,239,125,123, +223,111,154,40,234,47,223,129,149,149,26,78,157,90,196,145,35,211,190,179, +109,163,253,194,82,224,246,18,184,0,176,184,200,240,228,147,60,18,184,193, +248,202,87,240,23,142,131,138,0,221,224,183,33,198,242,38,173,13,218,59, +139,55,110,242,113,206,225,40,0,45,90,162,211,181,26,230,31,122,200,179, +126,103,102,112,252,206,59,91,153,104,79,60,129,125,23,47,2,0,156,61,123, +192,198,199,61,144,187,46,206,214,235,216,127,246,172,167,141,30,56,128, +233,201,73,28,56,123,22,174,127,185,126,114,255,126,140,53,26,200,50,134, +139,35,35,48,107,53,92,237,215,234,157,218,183,15,25,74,65,235,117,52,44, +11,57,191,74,218,222,59,238,192,83,127,245,87,88,121,228,17,229,251,11, +206,219,5,48,154,203,97,226,252,121,112,211,196,169,249,121,220,112,250, +116,83,159,181,14,30,4,189,120,17,183,252,235,191,54,221,40,226,56,4,224, +236,220,28,86,138,69,76,86,42,56,188,182,6,163,90,109,126,99,206,210,18, +174,9,142,73,8,120,161,0,163,90,133,152,203,119,244,252,249,230,253,242, +204,12,120,181,10,106,24,56,63,63,143,99,23,47,98,36,104,127,20,56,232, +22,23,113,97,106,10,107,147,147,152,240,255,104,230,242,121,140,92,184, +0,110,154,120,108,247,110,220,250,228,147,205,247,80,218,187,23,107,149, +74,155,244,176,141,170,147,17,133,212,64,21,224,205,62,254,184,179,248, +208,67,246,167,111,185,37,251,242,56,31,202,210,82,21,140,49,92,115,205, +52,12,3,41,112,55,4,92,160,151,105,210,23,47,114,156,57,195,98,129,11,0, +229,50,158,120,231,59,241,121,0,117,127,17,225,75,5,232,118,20,199,107, +244,19,186,148,243,54,45,48,184,84,149,11,213,220,252,163,63,218,124,232, +44,44,52,173,184,179,149,10,178,190,69,8,0,217,149,21,156,119,93,112,199, +65,163,94,15,57,192,142,223,121,39,120,185,140,231,190,229,45,128,97,192, +0,112,240,202,21,60,52,61,141,138,101,225,251,185,28,166,125,232,78,30, +61,138,27,126,252,199,225,212,235,112,1,76,10,242,195,200,252,60,86,30, +121,68,25,163,27,132,199,5,58,238,148,223,77,131,80,138,35,126,36,2,49, +12,20,118,237,194,100,177,8,43,147,129,1,96,108,255,126,236,187,243,78, +92,253,67,63,132,217,155,110,242,94,3,224,208,194,2,170,126,47,186,201, +153,25,100,198,198,90,199,51,12,100,198,198,144,25,27,67,126,114,18,19, +254,243,68,152,201,193,243,153,177,49,204,237,218,5,6,96,121,98,2,215,46, +44,52,161,59,119,235,173,56,116,239,189,200,77,122,30,247,189,43,43,32, +126,23,102,206,57,166,247,237,107,190,135,99,23,47,54,223,67,126,215,46, +140,143,140,180,127,95,49,127,178,210,182,124,72,0,44,85,37,107,183,120, +1,212,222,250,214,139,159,170,213,248,247,163,223,158,55,255,86,86,170, +120,248,225,203,168,86,29,168,67,197,84,254,189,184,98,58,170,12,183,36, +117,123,85,199,213,237,135,71,108,207,16,95,148,61,201,123,98,136,47,4, +20,119,220,206,222,19,165,28,167,78,49,1,186,209,161,183,140,161,254,187, +191,139,15,0,168,73,208,149,195,201,88,130,127,194,174,45,222,196,19,136, +106,226,76,163,180,224,233,221,187,81,156,159,71,245,226,69,224,236,89, +156,91,95,199,129,108,22,167,207,158,5,111,52,64,76,211,131,113,163,129, +39,215,214,176,183,80,192,89,74,1,223,18,30,153,159,135,245,248,227,160, +229,50,214,254,230,111,240,244,215,188,6,223,250,232,71,97,52,26,24,41, +149,240,224,236,44,174,245,45,227,236,232,40,110,125,245,171,241,208,111, +255,118,243,28,50,148,54,35,36,202,23,46,40,101,5,149,211,76,168,144,141, +108,62,143,155,95,251,90,28,120,206,115,192,108,27,15,188,251,221,48,8, +193,189,127,248,135,0,231,88,58,119,14,181,114,25,243,207,127,62,246,158, +62,141,239,254,222,239,1,0,118,103,179,112,1,156,248,149,95,193,200,236, +44,62,243,83,63,5,90,175,99,252,208,33,220,253,142,119,120,169,84,182,141, +250,234,42,70,230,230,240,181,183,189,173,105,141,191,224,247,127,31,134, +15,209,47,191,243,157,0,128,162,105,34,239,203,47,199,95,253,106,140,94, +123,45,202,11,11,120,230,139,95,140,175,190,249,205,160,245,58,14,57,14, +46,25,6,44,169,130,91,54,159,199,245,175,125,45,246,61,251,217,112,26,13, +252,221,219,223,30,235,132,211,57,87,135,72,110,144,37,7,42,192,215,110, +122,189,0,139,49,88,191,242,43,151,223,249,190,247,205,189,203,178,48,22, +119,169,90,173,58,120,248,225,203,152,159,31,197,222,189,163,190,211,173, +219,203,236,212,194,237,54,77,122,101,197,147,22,188,139,218,120,53,128, +115,176,47,124,1,31,253,135,127,192,247,99,192,219,177,181,187,81,169,33, +232,115,204,163,128,27,172,143,170,236,197,57,7,91,91,195,225,231,63,31, +143,124,252,227,96,229,50,30,61,121,18,7,110,188,17,53,95,239,156,188,246, +90,112,215,197,234,227,143,163,198,24,50,150,133,127,185,114,5,220,183, +234,14,222,118,27,234,95,249,10,40,231,168,158,60,137,233,163,71,177,239, +142,59,112,254,235,95,199,196,234,42,138,149,10,136,235,2,132,224,182,55, +190,17,39,63,250,81,48,33,82,130,8,0,42,45,47,195,140,1,174,106,220,248, +250,215,163,244,196,19,248,236,235,94,7,55,208,149,9,193,95,191,231,61, +120,196,117,97,248,89,104,212,52,113,227,93,119,53,47,55,70,179,89,148, +0,252,221,27,223,232,57,13,125,144,186,142,131,79,188,242,149,109,159,221, +238,171,175,110,62,254,95,175,126,117,211,234,231,156,131,3,216,227,63, +71,12,3,143,143,141,225,239,255,236,207,0,0,99,15,62,136,231,221,124,51, +150,30,120,0,230,218,26,104,38,211,6,222,227,175,127,61,206,156,60,137, +207,125,228,35,112,124,120,71,165,40,71,252,153,242,33,3,48,151,164,107, +215,191,34,52,252,9,103,250,243,197,60,117,170,113,241,211,159,174,252, +254,75,94,82,124,147,105,18,43,174,83,45,99,192,249,243,37,92,185,82,197, +222,189,35,152,155,43,250,242,67,10,220,141,3,55,250,189,173,172,48,92, +184,192,225,249,204,19,7,29,224,194,5,252,195,251,222,135,251,1,84,4,240, +170,172,93,218,169,181,219,45,120,121,18,11,55,102,82,42,183,57,114,219, +109,120,228,227,31,247,156,79,11,11,104,184,46,224,123,239,103,142,30,5, +117,28,172,62,254,56,200,218,26,176,107,23,108,193,100,153,207,102,81,69, +171,108,225,217,79,127,26,71,127,233,151,176,252,228,147,168,93,186,132, +140,31,247,122,253,125,247,97,225,254,251,81,21,156,75,12,64,182,88,68, +160,134,174,83,138,73,95,82,72,2,220,96,60,241,245,175,163,250,237,111, +135,102,239,210,232,40,150,75,37,92,119,233,18,242,66,162,8,59,125,186, +165,247,8,210,129,174,175,89,210,116,108,215,19,24,189,245,140,129,126, +232,67,184,75,212,30,133,251,133,177,49,52,22,23,67,95,232,35,95,251,26, +206,250,14,197,168,204,181,132,145,44,201,188,23,131,1,93,162,176,122,3, +248,58,2,124,77,0,230,135,63,188,252,141,241,113,242,209,231,61,175,240, +58,175,67,69,220,197,33,135,109,187,248,254,247,215,112,238,220,58,166, +167,243,216,181,43,143,177,177,140,160,1,111,71,224,198,1,178,183,192,229, +156,163,90,5,150,151,25,150,151,57,60,219,161,179,159,221,210,18,190,253, +186,215,225,67,0,170,146,182,219,64,242,104,134,13,91,188,122,17,75,122, +46,174,46,173,106,27,113,194,142,21,10,24,63,124,24,235,79,62,9,227,210, +37,60,114,249,50,156,139,23,65,0,204,238,222,13,199,113,240,4,0,122,225, +2,30,217,191,31,214,202,10,40,128,137,35,71,128,71,31,109,139,101,189,255, +47,254,2,179,71,142,160,118,233,82,243,24,103,25,3,190,253,109,100,164, +99,23,166,167,17,244,10,104,152,38,108,127,198,241,152,118,238,226,112, +124,135,158,120,14,229,108,22,215,156,59,215,130,108,38,3,35,147,129,235, +135,140,121,70,49,137,109,27,175,123,28,88,185,193,122,35,162,238,133,60, +38,10,5,44,72,235,108,233,61,32,230,207,135,37,251,253,112,12,143,214,27, +124,156,68,130,175,184,16,0,198,187,223,189,244,185,61,123,230,167,175, +187,142,252,24,33,196,136,142,5,109,221,119,93,142,133,133,42,22,22,42, +48,12,130,98,209,66,62,111,34,159,55,97,89,68,3,226,56,224,162,3,224,38, +5,31,18,2,53,9,112,187,57,110,252,255,54,231,28,174,11,52,26,12,141,6,80, +169,112,33,17,182,243,255,249,74,5,39,95,247,58,188,11,64,217,7,111,85, +178,118,117,224,237,232,128,86,23,63,202,208,194,188,37,82,231,99,64,162, +234,100,172,92,198,225,123,238,193,119,63,250,81,184,151,47,227,123,143, +61,134,49,206,193,13,3,51,35,35,112,29,199,51,77,24,195,247,22,23,49,190, +184,232,201,12,183,220,242,255,183,119,238,49,114,85,247,29,255,158,123, +231,185,187,179,59,94,175,55,235,247,154,215,18,178,16,19,106,106,187,133, +210,134,71,69,26,84,148,0,166,82,171,96,129,34,21,67,172,38,34,86,163,70, +65,52,142,100,254,104,32,9,5,66,131,144,74,69,37,112,132,210,210,66,16, +164,18,230,229,21,96,99,131,109,22,175,31,139,215,235,125,206,236,236,204, +220,215,57,253,99,238,157,61,115,246,220,199,236,139,93,124,126,210,213, +204,206,227,222,185,179,247,124,230,123,126,231,156,223,23,214,107,175, +213,28,111,44,145,64,191,105,66,219,183,175,230,24,227,191,253,45,250,219, +219,113,197,224,224,212,124,34,198,208,156,205,194,211,192,233,179,103, +113,116,197,10,92,124,238,220,180,229,184,81,138,158,243,207,173,241,102, +21,16,130,63,222,181,11,43,175,190,26,140,82,80,203,194,239,182,109,139, +180,223,32,192,89,132,212,44,45,142,165,211,128,91,72,62,221,209,129,173, +63,253,105,245,121,113,207,255,243,240,195,211,139,16,33,90,93,141,58,128, +59,227,177,130,69,162,122,137,176,105,220,125,124,255,251,3,207,61,240, +64,219,216,181,215,38,238,210,117,126,113,69,24,108,188,1,28,134,66,193, +66,161,96,70,208,58,81,59,15,81,224,25,245,245,179,253,59,204,9,39,186, +173,122,253,175,175,239,82,27,24,192,91,219,183,227,17,14,186,165,8,106, +151,206,228,154,142,205,224,34,157,118,70,97,3,43,161,174,180,156,67,196, +5,27,55,226,128,167,128,251,250,0,0,203,187,186,128,145,17,232,150,133, +236,69,23,33,215,219,139,102,87,197,50,0,29,241,56,74,92,158,211,212,52, +28,110,105,65,231,233,211,0,128,198,213,171,113,193,245,215,227,195,103, +158,65,172,92,70,235,248,56,250,178,89,108,24,27,171,230,112,169,97,32, +217,218,10,99,116,20,200,229,208,168,105,120,111,221,58,172,202,231,209, +84,46,131,80,10,91,211,96,196,98,40,164,82,232,28,26,146,27,65,11,249,216, +216,196,4,24,128,228,138,21,56,210,211,131,55,246,236,129,17,143,99,184, +179,19,157,17,82,10,52,228,123,206,103,179,104,202,229,192,8,169,248,146, +148,74,104,185,248,98,228,122,123,81,60,123,22,255,246,200,35,104,40,22, +145,156,156,132,198,24,40,33,48,147,73,88,137,4,208,219,27,252,207,246, +153,119,29,84,12,135,134,247,29,23,51,132,33,40,94,47,123,35,3,111,245, +245,123,246,12,191,156,203,101,115,183,220,210,248,247,154,70,27,103,6, +9,5,220,185,3,110,125,151,22,165,160,125,125,120,117,199,14,60,229,230, +116,139,130,218,229,151,9,203,150,8,215,77,123,173,142,134,32,157,51,98, +49,102,134,65,215,235,70,251,218,200,112,93,227,148,227,96,249,101,110, +193,127,119,21,89,123,119,119,165,14,111,161,128,47,121,207,185,139,8,86, +116,119,131,30,60,88,133,187,3,96,127,107,43,214,12,13,129,48,6,45,22,195, +85,119,223,141,184,109,99,213,150,45,0,128,230,124,30,101,74,49,228,46, +193,5,128,129,183,223,198,198,187,238,170,158,100,219,216,24,46,56,125, +26,121,93,199,177,182,54,124,212,209,129,227,109,109,24,106,104,128,110, +24,129,35,252,252,127,37,225,46,246,48,134,135,177,239,216,49,188,127,201, +37,149,185,197,220,252,91,134,240,25,3,140,251,14,99,137,41,239,69,61,153, +196,201,11,47,68,127,103,39,38,27,27,65,1,44,223,88,41,61,72,0,172,57,114, +4,35,165,18,14,55,55,227,64,54,139,67,153,12,250,25,67,105,116,20,150,101, +201,43,187,186,211,0,169,79,143,197,14,239,213,212,229,184,186,72,96,43, +222,138,69,115,188,134,87,230,182,162,219,80,11,79,60,49,190,239,222,123, +7,255,97,98,130,29,139,150,14,96,136,94,118,81,214,225,12,131,206,76,246, +61,23,127,135,165,62,102,251,221,204,228,187,244,15,219,198,196,222,189, +120,120,199,14,60,225,42,221,130,4,186,38,7,221,25,15,168,213,163,120,131, +86,99,80,0,180,76,233,36,116,61,176,107,108,133,88,236,240,53,121,169,97, +224,130,235,174,195,200,71,31,85,159,95,181,114,37,88,127,63,152,227,160, +163,163,3,199,184,125,173,235,238,134,253,250,235,213,253,30,110,105,65, +227,216,24,226,238,136,252,87,183,111,199,241,231,158,195,196,137,19,232, +254,222,247,48,218,219,139,242,208,16,86,15,13,161,119,237,90,164,77,179, +178,204,214,182,49,240,230,155,184,250,7,63,64,207,207,127,14,102,219,104, +48,77,116,114,249,225,169,159,43,13,84,211,42,159,57,164,68,227,186,175, +127,29,159,60,255,60,64,41,186,79,158,132,67,8,116,111,38,69,44,6,198,57, +105,32,164,155,239,221,54,175,95,143,252,199,31,3,0,54,12,12,96,131,59, +165,46,223,214,134,18,128,209,137,9,180,93,121,37,134,223,127,31,49,211, +196,151,93,200,59,140,65,119,11,234,208,76,6,39,67,84,174,159,218,118,2, +86,43,186,57,103,27,225,14,143,139,61,229,192,159,154,151,239,181,2,72, +98,159,56,97,59,183,223,126,246,159,30,125,180,253,111,46,186,72,251,75, +66,88,114,126,21,110,208,254,148,194,13,238,205,129,230,114,56,244,147, +159,224,177,163,71,113,214,77,43,240,155,151,215,53,80,91,151,193,153,77, +138,193,79,241,70,1,112,77,21,158,50,165,5,63,240,120,247,61,51,73,79,225, +138,5,101,156,145,145,26,221,191,182,171,11,222,8,67,188,177,17,25,110, +212,191,197,182,17,75,85,204,0,136,166,97,133,48,144,212,113,238,28,50, +238,20,180,213,91,182,192,25,26,66,190,175,15,140,49,28,122,234,41,92,245, +221,239,86,23,32,92,50,48,128,24,231,233,54,216,211,131,145,3,7,112,227, +175,126,133,13,55,221,84,179,152,129,143,198,21,43,170,231,144,226,222, +159,52,205,233,170,94,211,112,225,55,191,9,230,30,83,103,12,169,101,203, +176,233,135,63,68,91,119,119,229,60,220,247,81,174,149,3,128,230,150,185, +20,97,110,38,18,88,119,211,77,213,125,122,177,178,163,3,22,99,56,252,242, +203,88,115,203,45,184,120,219,54,196,184,115,240,160,75,52,13,237,93,93, +213,199,227,220,234,182,184,160,230,249,5,17,52,160,7,195,191,142,249,87, +108,90,74,83,204,0,249,188,94,79,249,26,110,3,245,84,239,36,128,9,0,249, +251,239,63,247,204,3,15,140,237,204,229,180,15,8,241,140,184,231,67,225, +178,69,160,112,177,164,20,46,42,101,188,63,123,254,121,236,185,243,78,60, +116,244,40,250,221,255,91,129,75,51,148,184,188,110,24,116,103,148,80,38, +62,143,121,143,235,46,156,227,0,18,0,146,0,210,0,154,0,52,3,104,185,34, +157,190,236,250,230,230,61,128,255,250,253,203,82,41,172,225,186,199,30, +112,189,134,122,249,166,77,104,221,182,13,180,88,172,248,170,57,14,178, +55,223,92,105,204,134,129,193,199,30,3,43,22,43,46,19,150,133,85,187,118, +65,139,199,65,45,11,39,239,191,31,246,240,48,12,203,66,201,113,208,250, +173,111,97,245,182,109,160,0,206,188,245,22,222,251,217,207,106,186,198, +203,46,189,20,91,119,239,134,166,235,48,114,57,188,190,115,39,202,35,35, +53,160,105,236,232,64,215,109,183,97,229,230,205,48,114,23,202,32,221,0, +0,13,243,73,68,65,84,57,148,198,199,65,77,19,241,134,6,164,219,219,65,77, +19,47,221,115,15,40,128,47,127,251,219,184,226,59,223,1,0,252,223,131,15, +226,204,254,253,85,85,232,205,227,221,116,207,61,88,183,101,11,242,167, +79,35,209,212,132,68,54,139,158,167,159,198,197,55,220,128,85,95,251,26, +70,143,31,199,139,247,221,87,253,62,254,118,239,94,196,83,41,12,31,63,142, +189,59,118,76,87,148,154,134,107,118,236,192,134,205,155,81,232,239,135, +99,89,72,45,91,134,15,95,125,21,31,188,240,2,24,99,208,227,113,252,209, +157,119,226,43,55,223,12,59,151,67,121,100,4,90,34,129,68,75,11,82,109, +109,232,123,247,93,188,180,123,55,40,128,77,119,220,129,107,182,111,7,0, +236,253,241,143,113,252,157,119,124,167,139,57,140,97,192,178,96,112,57, +117,73,111,103,248,247,249,252,189,0,198,221,205,235,194,149,133,65,138, +186,171,58,45,64,16,201,173,151,215,213,185,45,46,180,139,4,128,148,123, +63,229,221,223,188,57,189,122,231,206,236,223,181,180,208,175,2,52,254, +197,81,184,245,14,108,125,190,10,23,0,181,109,244,191,242,10,254,243,23, +191,192,126,76,173,70,228,55,47,173,32,155,193,224,204,54,175,91,15,120, +53,76,77,28,247,46,176,6,0,141,0,50,0,90,0,44,219,217,222,254,12,8,137, +249,229,40,87,198,227,184,60,157,158,6,92,175,65,111,72,38,209,185,123, +55,168,7,87,23,192,158,157,15,45,22,193,74,165,169,231,203,101,232,148, +194,24,31,7,43,149,224,148,74,48,92,155,246,18,99,40,82,138,34,165,53,182, +237,97,211,194,252,92,29,50,171,87,35,153,205,86,167,128,77,14,13,161,232, +46,97,142,82,234,210,219,111,178,181,21,217,117,235,96,78,78,98,244,211, +79,225,8,159,45,232,135,203,239,243,199,51,25,100,215,175,135,30,139,161, +56,54,134,145,147,39,171,149,202,170,41,29,66,176,108,237,90,52,45,95,14, +199,182,81,28,27,67,110,112,16,150,105,70,26,192,19,7,212,40,128,126,211, +244,53,13,5,0,155,177,99,175,79,76,252,163,11,221,188,171,40,120,37,193, +171,8,134,197,55,191,55,12,190,154,219,38,98,28,128,227,110,251,224,33, +236,181,153,100,38,163,53,252,232,71,217,27,47,189,84,223,154,72,96,205, +244,52,132,2,238,92,3,151,49,80,211,196,240,224,32,14,60,253,52,126,247, +246,219,24,112,161,202,167,17,12,31,224,138,57,221,57,131,110,148,28,175, +44,205,224,8,155,77,128,130,3,100,253,118,48,106,219,129,245,112,251,12, +3,171,7,7,161,139,93,251,16,231,9,177,88,186,215,13,230,107,68,204,20,184, +222,115,249,254,126,192,157,135,27,4,70,63,224,122,143,149,70,71,81,26, +29,13,124,77,84,224,122,199,178,242,121,20,63,252,48,216,10,136,49,140, +158,58,133,209,83,167,2,143,23,6,92,239,49,67,168,191,33,251,220,14,99, +131,152,238,194,74,23,33,96,163,230,123,249,153,14,128,220,50,136,63,95, +175,225,38,188,134,62,49,65,75,187,118,141,62,15,224,69,77,67,226,238,187, +51,87,108,218,148,188,186,181,149,172,142,197,216,242,100,18,153,74,10, +158,232,140,49,162,128,91,23,112,29,66,64,109,27,69,195,192,88,177,136, +193,163,71,113,232,55,191,193,155,103,206,96,2,83,53,55,248,26,203,166, +0,91,126,85,154,108,101,218,156,65,55,8,188,76,162,134,169,36,207,235,84, +6,6,113,134,248,128,151,49,134,50,99,152,112,28,52,105,154,175,137,164, +249,234,171,72,223,122,235,116,232,74,10,157,243,206,19,60,156,196,1,189, +32,85,22,6,92,217,123,102,2,220,32,85,57,83,224,34,194,57,32,226,241,162, +2,183,234,69,23,48,16,232,69,206,113,14,74,148,194,82,203,247,202,224,91, +115,9,193,223,54,40,46,52,242,56,175,142,41,69,236,201,39,39,246,61,249, +228,196,219,92,234,130,95,156,65,132,158,167,95,239,244,124,12,63,123,102, +42,249,1,180,133,188,188,223,198,151,121,148,21,191,153,115,209,16,171, +227,36,1,121,177,104,123,212,113,14,45,143,197,46,67,64,131,30,176,44,92, +152,76,78,3,174,23,239,190,247,30,182,110,221,10,157,171,181,59,109,230, +131,103,237,67,72,13,160,197,1,160,50,165,117,45,99,86,192,13,7,174,23, +101,206,215,78,218,71,103,204,254,184,92,222,207,93,244,84,242,163,29,101, +73,211,98,133,47,19,64,40,43,162,46,14,196,197,36,27,15,92,17,188,98,202, +79,65,215,159,73,226,117,37,130,151,7,176,45,168,90,91,162,112,41,252,139, +223,204,217,245,26,139,160,118,197,19,19,127,77,236,158,201,201,125,55, +54,55,223,70,8,33,126,13,250,140,105,98,93,34,1,157,16,233,128,140,197, +24,142,61,254,56,186,238,187,111,122,186,65,80,189,177,120,220,215,242, +167,236,230,119,235,1,46,224,111,124,169,128,59,21,147,142,83,29,84,243, +237,73,0,195,102,197,131,220,150,40,136,197,152,207,173,23,190,144,164, +29,248,54,162,115,231,173,187,13,93,231,198,74,98,2,112,117,46,135,172, +9,208,85,138,55,58,120,195,224,235,72,96,204,195,214,230,222,235,87,111, +115,206,68,66,61,243,120,101,57,94,27,128,125,180,92,30,184,161,185,249, +44,24,91,233,215,13,53,24,195,25,211,156,54,187,129,135,195,103,150,133, +214,95,255,26,109,238,44,1,121,11,167,208,189,57,180,66,154,193,98,12,227, +156,245,141,2,238,220,0,215,123,239,132,80,201,76,118,78,69,74,247,67,238, +73,197,80,167,19,235,34,133,47,124,242,190,30,116,121,229,235,57,89,120, +131,113,154,36,181,192,3,87,147,0,87,65,55,60,249,43,110,142,0,96,202,245, +190,196,20,152,19,210,43,155,147,156,110,189,224,149,169,94,89,254,196, +204,57,206,59,89,93,255,235,32,16,157,50,77,124,41,30,71,220,155,196,47, +1,228,193,124,30,235,30,127,28,157,183,223,14,18,143,7,127,40,14,26,19, +142,131,51,220,124,88,5,220,185,3,46,173,0,181,70,237,82,159,52,195,209, +82,233,191,36,249,179,165,172,120,101,61,65,49,245,192,132,180,128,247, +183,195,129,85,86,108,71,65,119,246,224,245,19,136,84,146,6,18,211,8,178, +113,135,121,83,185,81,193,43,254,202,243,191,38,98,133,126,235,149,92,238, +165,219,90,91,191,129,202,0,130,180,97,26,140,225,83,195,192,37,169,84, +160,35,238,9,211,196,192,179,207,226,242,245,235,209,176,113,227,52,120, +56,92,121,69,203,48,240,169,97,96,220,53,141,84,192,157,91,224,122,183, +98,79,66,246,122,155,177,147,99,148,142,4,64,183,46,11,236,69,220,224,101, +234,215,219,52,238,185,154,106,102,144,23,218,9,203,235,42,240,134,43,94, +63,248,66,2,97,134,112,27,143,121,81,185,245,42,94,63,23,86,30,190,198, +160,109,143,24,140,245,196,8,217,18,180,179,51,166,137,140,174,163,61,22, +243,85,79,222,76,136,183,250,250,16,63,113,2,235,18,9,44,111,108,172,174, +102,155,40,22,145,115,28,12,90,22,38,28,71,1,119,158,128,235,197,136,91, +211,33,168,199,193,24,99,131,134,241,239,152,154,31,41,86,114,114,80,167, +19,235,18,83,191,224,132,9,145,164,35,136,144,195,213,124,32,171,242,186, +179,135,47,36,0,14,243,41,194,66,166,193,162,78,39,147,229,121,197,169, +26,198,43,185,220,179,127,213,210,178,137,18,18,11,106,164,189,229,50,146, +233,52,50,66,141,7,113,41,49,0,152,148,226,88,185,12,8,166,141,80,41,133, +121,7,46,5,144,183,237,106,229,55,191,99,161,114,65,156,58,98,89,135,81, +91,201,73,92,40,65,23,66,77,124,206,234,23,66,250,129,223,168,0,216,176, +212,130,2,111,253,240,245,3,112,16,108,177,208,98,32,202,224,26,129,255, +124,197,26,23,214,147,166,57,144,163,116,95,70,215,255,44,16,42,140,225, +227,82,9,221,13,13,104,224,6,202,120,224,6,57,62,212,11,220,32,232,204, +6,184,97,48,91,202,192,101,140,161,64,41,242,146,21,118,146,253,216,125, +166,249,20,106,107,151,138,78,172,65,138,247,139,208,248,137,112,94,178, +233,103,81,211,8,10,184,179,203,249,202,126,220,163,172,244,88,176,235, +82,15,121,62,232,98,225,7,7,170,107,216,63,41,151,143,92,222,208,240,23, +164,178,100,178,182,49,215,42,36,12,219,54,50,186,142,36,33,213,33,71,15, +88,204,7,184,84,2,26,135,255,86,67,158,231,33,40,123,159,120,108,234,179, +111,191,253,202,62,191,223,177,162,236,11,240,153,197,45,171,248,230,30, +139,213,185,95,217,247,91,160,20,57,119,22,67,88,189,101,131,177,158,195, +229,242,139,168,45,167,231,45,203,52,33,31,57,94,170,105,6,68,104,51,126, +127,179,136,106,12,240,175,232,166,182,240,141,214,169,110,23,252,58,212, +35,94,68,60,108,197,28,85,205,26,118,27,64,123,60,110,180,104,218,85,132, +16,18,84,59,141,2,24,178,44,196,53,13,105,66,20,112,23,1,112,109,0,57,199, +65,65,88,142,13,255,255,97,225,96,177,248,207,6,99,227,152,170,199,80,226, +160,251,69,153,213,48,23,16,246,123,76,193,114,110,183,168,80,253,220,174, +193,122,193,43,123,92,132,176,214,107,24,253,95,73,167,215,234,132,172, +245,219,177,195,121,133,13,217,54,12,198,144,209,245,106,233,194,133,2, +174,216,213,62,95,129,75,1,152,140,97,220,45,54,20,49,236,83,166,249,47, +3,182,253,9,167,118,75,144,219,96,47,229,217,12,243,5,97,149,90,88,152, +180,195,162,128,109,61,224,21,211,13,162,234,37,126,240,253,176,84,58,120, +101,67,195,159,16,66,154,100,192,21,65,48,73,41,70,108,27,132,16,164,52, +77,170,122,231,3,184,108,142,129,91,51,130,180,4,128,11,84,22,158,76,82, +138,113,199,9,180,245,17,119,95,160,244,127,15,149,74,255,141,90,171,20, +209,159,202,198,44,76,1,207,83,16,171,88,24,8,47,122,240,250,169,94,223, +185,136,12,192,9,195,232,233,74,165,182,104,132,52,248,1,151,15,11,192, +152,227,224,156,109,195,100,12,49,66,16,115,43,73,47,21,224,178,37,164, +112,75,148,162,224,2,215,136,174,114,129,202,123,223,120,103,114,242,73, +76,21,1,23,43,247,243,106,247,139,56,168,166,66,197,188,255,234,202,82, +11,124,77,210,4,166,106,144,54,96,170,102,111,211,133,201,228,134,63,207, +100,30,98,149,250,189,145,173,210,61,128,36,52,13,205,154,134,180,174,35, +77,8,8,33,72,74,236,208,195,166,144,249,29,211,207,65,87,58,101,42,100, +250,88,216,113,195,156,150,253,142,107,135,164,70,224,3,107,254,53,22,87, +46,211,98,76,90,222,49,106,88,140,29,126,163,80,120,136,213,86,238,231, +193,203,215,220,229,11,229,40,181,171,66,197,12,193,11,76,159,205,192,23, +130,78,161,226,82,225,193,183,113,85,60,190,230,230,150,150,7,29,160,45, +42,112,163,194,25,51,132,96,24,20,131,34,172,30,109,216,241,88,200,251, +163,158,87,148,125,208,136,223,111,212,40,51,182,239,205,66,225,81,212, +90,165,20,37,106,87,116,100,93,74,230,151,42,84,124,238,169,6,25,124,89, +132,84,68,53,38,40,45,127,102,154,251,187,82,169,171,24,144,241,75,53,248, +1,151,133,128,137,5,0,55,172,133,251,165,7,252,128,203,2,142,29,118,60, +191,244,65,189,231,21,101,31,97,214,243,117,39,203,24,163,37,198,254,240, +214,228,228,47,67,210,11,124,229,254,160,181,239,42,84,40,240,206,64,245, +6,193,118,218,42,146,73,74,203,31,20,139,175,109,72,38,151,37,8,233,36, +100,106,250,130,2,238,226,5,174,123,254,147,103,44,235,95,15,148,74,47, +4,64,87,54,139,65,165,24,84,168,152,37,120,35,169,91,4,215,203,100,31,151, +203,31,100,99,177,161,22,93,239,130,176,200,226,124,6,174,152,22,88,12, +192,5,192,44,198,62,61,92,42,237,238,183,172,131,168,117,97,21,45,176,121, +3,75,71,165,20,84,168,8,7,233,108,224,43,150,184,227,13,0,61,179,63,207, +117,53,237,221,198,128,230,91,151,45,187,171,65,211,254,148,1,241,243,53, +135,91,15,112,163,62,62,7,192,5,5,198,207,89,214,127,124,84,46,255,129, +3,173,7,219,114,128,210,157,115,99,64,21,42,20,120,163,195,55,198,193,87, +4,112,117,107,214,245,229,215,101,50,119,52,106,218,86,157,144,180,2,238, +231,11,92,27,24,28,181,172,151,14,151,203,175,176,233,160,21,107,49,204, +171,5,182,10,21,10,188,254,239,11,131,175,12,192,226,150,202,234,122,203, +181,77,77,223,104,214,245,173,12,232,96,132,16,5,220,133,1,46,3,44,135, +177,222,162,101,253,190,199,48,246,113,96,53,36,176,229,171,143,205,171, +5,182,10,21,10,188,245,193,215,171,221,160,11,240,229,231,252,242,32,246, +110,227,0,18,157,137,68,71,119,58,125,77,70,215,187,117,66,86,49,198,26, +41,16,83,192,157,19,224,50,6,152,4,200,155,140,245,229,28,231,189,35,229, +242,155,86,197,39,205,146,0,214,16,82,10,50,149,59,47,22,216,42,84,40,240, +70,75,57,200,224,171,9,0,246,224,27,71,109,46,152,191,157,230,200,122,65, +34,209,209,30,143,111,72,18,210,156,210,180,12,33,68,115,49,66,120,56,49, +225,156,196,86,79,35,204,17,142,66,10,17,218,81,222,19,229,216,52,2,76, +153,207,62,136,79,21,38,10,152,22,99,249,50,165,163,231,76,243,147,60,99, +5,200,221,87,189,162,54,34,104,77,200,93,89,169,130,174,10,21,11,15,94, +63,229,59,173,118,3,106,45,173,121,21,28,151,168,226,32,27,236,32,187,148, +185,58,167,165,26,126,197,160,249,20,0,15,76,71,2,84,94,209,90,144,91,96, +139,211,197,22,196,167,74,133,10,5,222,104,240,37,18,245,43,131,176,104, +125,45,179,193,150,249,87,41,240,70,3,175,159,245,181,104,129,45,83,181, +50,119,214,48,11,108,5,92,21,42,22,0,188,97,169,7,177,198,3,15,224,154, +66,234,194,166,73,148,174,232,202,122,190,195,54,8,194,126,69,162,169,4, +190,178,141,127,142,9,192,157,119,11,108,21,42,20,120,103,7,95,209,236, +207,207,230,218,79,225,234,18,136,43,181,91,191,234,229,129,73,125,32,76, +37,160,245,179,193,86,169,5,21,42,22,9,120,17,0,67,63,0,203,114,194,154, +228,117,252,62,148,218,173,95,245,138,105,135,32,16,215,99,129,173,160, +171,66,197,34,0,111,84,0,203,106,250,202,224,236,167,114,149,218,173,95, +245,194,7,170,124,181,203,48,75,21,5,92,21,42,22,49,120,195,224,72,124, +20,44,137,0,91,5,218,250,65,44,131,40,69,184,233,162,31,100,21,116,85,168, +88,164,224,13,130,174,12,194,226,125,132,64,87,1,56,92,245,2,193,51,15, +252,156,111,149,194,85,161,98,137,131,55,42,128,21,104,23,70,249,206,68, +205,42,232,170,80,177,68,193,91,47,132,163,0,90,69,52,213,27,6,79,5,91, +21,42,206,3,240,206,20,184,42,230,15,204,10,184,42,84,156,39,224,85,192, +93,188,0,86,161,66,197,121,14,55,5,99,5,89,21,42,84,168,80,161,66,133,10, +21,42,84,168,80,161,66,133,10,21,42,84,76,197,255,3,84,68,254,84,118,80, +27,147,0,0,0,0,73,69,78,68,174,66,96,130}; + +static size_t xml_res_size_3 = 462; +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,100,103,101,116,115,46,111,114,103, +47,119,120,120,114,99,34,62,10,32,32,60,33,45,45,32,72,97,110,100,108,101, +114,32,71,101,110,101,114,97,116,105,111,110,32,105,115,32,79,78,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,117,115,116,111, +109,45,99,111,110,116,114,111,108,34,62,119,120,99,114,97,102,116,101,114, +95,119,120,99,114,97,102,116,101,114,95,98,105,116,109,97,112,115,46,99, +112,112,36,114,101,115,111,117,114,99,101,115,95,99,117,115,116,111,109, +45,99,111,110,116,114,111,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,105,110,102,111,34,62, +119,120,99,114,97,102,116,101,114,95,119,120,99,114,97,102,116,101,114, +95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,111,117,114,99, +101,115,95,105,110,102,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,119,120,99,45,108,111,103, +111,34,62,119,120,99,114,97,102,116,101,114,95,119,120,99,114,97,102,116, +101,114,95,98,105,116,109,97,112,115,46,99,112,112,36,114,101,115,111,117, +114,99,101,115,95,119,120,99,45,108,111,103,111,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 wxCA63InitBitmapResources() +{ + + // 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/wxcrafter_wxcrafter_bitmaps.cpp$resources_custom-control.png"), xml_res_file_0, xml_res_size_0, wxT("image/png")); + XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_info.png"), xml_res_file_1, xml_res_size_1, wxT("image/png")); + XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$resources_wxc-logo.png"), xml_res_file_2, xml_res_size_2, wxT("image/png")); + XRC_ADD_FILE(wxT("XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$C__src_codelite_wxcrafter_wxcrafter_wxcrafter_bitmaps.xrc"), xml_res_file_3, xml_res_size_3, wxT("text/xml")); + wxXmlResource::Get()->Load(wxT("memory:XRC_resource/wxcrafter_wxcrafter_bitmaps.cpp$C__src_codelite_wxcrafter_wxcrafter_wxcrafter_bitmaps.xrc")); +}