diff --git a/common/build/Utilities/utilities.vcproj b/common/build/Utilities/utilities.vcproj index 76ae3bbc00..3d50126e04 100644 --- a/common/build/Utilities/utilities.vcproj +++ b/common/build/Utilities/utilities.vcproj @@ -222,18 +222,6 @@ RelativePath="..\..\src\Utilities\vssprintf.cpp" > - - - - - - @@ -350,6 +338,22 @@ + + + + + + + + _< // #define IniEntry( varname, defval ) ini.Entry( wxT(#varname), varname, defval ) -#define IniEntryBitfield( varname, defval ) varname = ini.EntryBitfield( wxT(#varname), defval ) +#define IniBitfield( varname, defval ) varname = ini.EntryBitfield( wxT(#varname), varname, defval ) +#define IniBitBool( varname, defval ) varname = ini.EntryBitBool( wxT(#varname), varname, defval ) // ------------------------------------------------------------------------ void AppConfig::LoadSaveUserMode( IniInterface& ini ) @@ -365,7 +366,7 @@ void AppConfig::LoadSaveUserMode( IniInterface& ini ) void AppConfig::LoadSave( IniInterface& ini ) { IniEntry( MainGuiPosition, wxDefaultPosition ); - IniEntry( LanguageId, wxLANGUAGE_DEFAULT ); + ini.EnumEntry( L"LanguageId", LanguageId ); IniEntry( RecentFileCount, 6 ); IniEntry( DeskTheme, L"default" ); IniEntry( Listbook_ImageSize, 32 ); @@ -466,6 +467,12 @@ void AppConfig::SpeedhackOptions::LoadSave( IniInterface& ini ) { ini.SetPath( L"Speedhacks" ); + IniBitfield( EECycleRate, 0 ); + IniBitfield( VUCycleSteal, 0 ); + IniBitBool( IopCycleRate_X2, false ); + IniBitBool( IntcStat, false ); + IniBitBool( BIFC0, false ); + ini.SetPath( L".." ); } @@ -498,13 +505,13 @@ void AppConfig::FolderOptions::LoadSave( IniInterface& ini ) IniEntry( RunIso, PathDefs::GetDocuments() ); // raw default is always the Documents folder. - IniEntryBitfield( UseDefaultPlugins, true ); - IniEntryBitfield( UseDefaultSettings, true ); - IniEntryBitfield( UseDefaultBios, true ); - IniEntryBitfield( UseDefaultSnapshots, true ); - IniEntryBitfield( UseDefaultSavestates, true ); - IniEntryBitfield( UseDefaultMemoryCards, true ); - IniEntryBitfield( UseDefaultLogs, true ); + IniBitBool( UseDefaultPlugins, true ); + IniBitBool( UseDefaultSettings, true ); + IniBitBool( UseDefaultBios, true ); + IniBitBool( UseDefaultSnapshots, true ); + IniBitBool( UseDefaultSavestates, true ); + IniBitBool( UseDefaultMemoryCards, true ); + IniBitBool( UseDefaultLogs, true ); if( ini.IsLoading() ) ApplyDefaults(); diff --git a/pcsx2/gui/CheckedStaticBox.cpp b/pcsx2/gui/CheckedStaticBox.cpp index 2d3856c557..c1891fcfcb 100644 --- a/pcsx2/gui/CheckedStaticBox.cpp +++ b/pcsx2/gui/CheckedStaticBox.cpp @@ -20,10 +20,10 @@ #include "CheckedStaticBox.h" CheckedStaticBox::CheckedStaticBox( wxWindow* parent, int orientation, const wxString& title, int id ) : - wxPanel( parent ), - m_MasterSizer( *new wxBoxSizer( wxVERTICAL ) ), - ThisToggle( *new wxCheckBox( this, id, title, wxPoint( 8, 0 ) ) ), - ThisSizer( *new wxStaticBoxSizer( orientation, this ) ) + wxPanelWithHelpers( parent, wxDefaultCoord ) +, m_MasterSizer( *new wxBoxSizer( wxVERTICAL ) ) +, ThisToggle( *new wxCheckBox( this, id, title, wxPoint( 8, 0 ) ) ) +, ThisSizer( *new wxStaticBoxSizer( orientation, this ) ) { m_MasterSizer.Add( &ThisToggle ); m_MasterSizer.Add( &ThisSizer, wxSizerFlags().Expand() ); @@ -39,9 +39,9 @@ CheckedStaticBox::CheckedStaticBox( wxWindow* parent, int orientation, const wxS // Adds a checkbox to this group panel's base sizer. // This is a helper function which saves some typographic red tape over using manual // checkbox creation and sizer appendage. -wxCheckBox& CheckedStaticBox::AddCheckBox( const wxString& label, wxWindowID id ) +wxCheckBox& CheckedStaticBox::AddCheckBox( const wxString& label, const wxString& subtext, const wxString& tooltip ) { - return wxHelpers::AddCheckBoxTo( this, ThisSizer, label, id ); + return wxPanelWithHelpers::AddCheckBox( ThisSizer, label, subtext, tooltip ); } ////////////////////////////////////////////////////////////////////////////////////////// diff --git a/pcsx2/gui/CheckedStaticBox.h b/pcsx2/gui/CheckedStaticBox.h index e674bee9a7..a25d49f9fe 100644 --- a/pcsx2/gui/CheckedStaticBox.h +++ b/pcsx2/gui/CheckedStaticBox.h @@ -20,7 +20,7 @@ #include "wxHelpers.h" -class CheckedStaticBox : public wxPanel +class CheckedStaticBox : public wxPanelWithHelpers { protected: wxBoxSizer& m_MasterSizer; @@ -35,7 +35,8 @@ public: void SetValue( bool val ); bool GetValue() const; - wxCheckBox& AddCheckBox( const wxString& label, wxWindowID id=wxID_ANY ); + using wxPanelWithHelpers::AddCheckBox; // allows access to overloaded parent :) + wxCheckBox& AddCheckBox( const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString ); public: // Event handler for click events for the main checkbox (default behavior: enables/disables all child controls) diff --git a/pcsx2/gui/Dialogs/ConfigurationDialog.cpp b/pcsx2/gui/Dialogs/ConfigurationDialog.cpp index 5a1e61c96e..08a6107dbc 100644 --- a/pcsx2/gui/Dialogs/ConfigurationDialog.cpp +++ b/pcsx2/gui/Dialogs/ConfigurationDialog.cpp @@ -39,9 +39,11 @@ using namespace Panels; Dialogs::ConfigurationDialog::ConfigurationDialog( wxWindow* parent, int id ) : - wxDialogWithHelpers( parent, id, _T("PCSX2 Configuration"), true ) + wxDialogWithHelpers( parent, id, _("PCSX2 Configuration"), true ) , m_listbook( *new wxListbook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, s_orient ) ) { + static const int IdealWidth = 460; + wxBoxSizer& mainSizer = *new wxBoxSizer( wxVERTICAL ); m_listbook.SetImageList( &wxGetApp().GetImgList_Config() ); @@ -50,16 +52,16 @@ Dialogs::ConfigurationDialog::ConfigurationDialog( wxWindow* parent, int id ) : g_ApplyState.StartBook( &m_listbook ); g_ApplyState.SetCurrentPage( m_listbook.GetPageCount() ); - m_listbook.AddPage( new PathsPanel( m_listbook ), _("Folders"), false, cfgid.Paths ); + m_listbook.AddPage( new PathsPanel( m_listbook, IdealWidth ), _("Folders"), false, cfgid.Paths ); g_ApplyState.SetCurrentPage( m_listbook.GetPageCount() ); - m_listbook.AddPage( new PluginSelectorPanel( m_listbook ), _("Plugins"), false, cfgid.Plugins ); + m_listbook.AddPage( new PluginSelectorPanel( m_listbook, IdealWidth ), _("Plugins"), false, cfgid.Plugins ); g_ApplyState.SetCurrentPage( m_listbook.GetPageCount() ); - m_listbook.AddPage( new SpeedHacksPanel( m_listbook ), _("Speedhacks"), false, cfgid.Speedhacks ); + m_listbook.AddPage( new SpeedHacksPanel( m_listbook, IdealWidth ), _("Speedhacks"), false, cfgid.Speedhacks ); g_ApplyState.SetCurrentPage( m_listbook.GetPageCount() ); - m_listbook.AddPage( new GameFixesPanel( m_listbook ), _("Game Fixes"), false, cfgid.Gamefixes ); + m_listbook.AddPage( new GameFixesPanel( m_listbook, IdealWidth ), _("Game Fixes"), false, cfgid.Gamefixes ); mainSizer.Add( &m_listbook ); AddOkCancel( mainSizer, true ); diff --git a/pcsx2/gui/Dialogs/LogOptionsDialog.cpp b/pcsx2/gui/Dialogs/LogOptionsDialog.cpp index e510e05f5e..4ed7f252a9 100644 --- a/pcsx2/gui/Dialogs/LogOptionsDialog.cpp +++ b/pcsx2/gui/Dialogs/LogOptionsDialog.cpp @@ -40,13 +40,13 @@ namespace Dialogs ////////////////////////////////////////////////////////////////////////////////////////// // LogOptionsDialog::eeLogOptionsPanel::eeLogOptionsPanel( wxWindow* parent ) : - CheckedStaticBox( parent, wxHORIZONTAL, L"EE Logs", LogID_EEBox ) + CheckedStaticBox( parent, wxHORIZONTAL, L"EE Logs" ) { wxBoxSizer& eeMisc = *new wxBoxSizer( wxVERTICAL ); - AddCheckBoxTo( this, eeMisc, L"Memory", LogID_Memory ); - AddCheckBoxTo( this, eeMisc, L"Bios", LogID_Bios ); - AddCheckBoxTo( this, eeMisc, L"Elf", LogID_ELF ); + AddCheckBox( eeMisc, L"Memory" ); + AddCheckBox( eeMisc, L"Bios" ); + AddCheckBox( eeMisc, L"Elf" ); wxBoxSizer& eeStack = *new wxBoxSizer( wxVERTICAL ); eeStack.Add( new DisasmPanel( this ), SizerFlags::StdSpace() ); @@ -60,29 +60,29 @@ LogOptionsDialog::eeLogOptionsPanel::eeLogOptionsPanel( wxWindow* parent ) : } LogOptionsDialog::eeLogOptionsPanel::DisasmPanel::DisasmPanel( wxWindow* parent ) : - CheckedStaticBox( parent, wxVERTICAL, L"Disasm" , LogID_Disasm ) + CheckedStaticBox( parent, wxVERTICAL, L"Disasm" ) { - AddCheckBox( L"Core", LogID_CPU ); - AddCheckBox( L"Fpu", LogID_FPU ); - AddCheckBox( L"VU0", LogID_VU0 ); - AddCheckBox( L"Cop0", LogID_COP0 ); - AddCheckBox( L"VU Macro", LogID_VU_Macro ); + AddCheckBox( L"Core" ); + AddCheckBox( L"Fpu" ); + AddCheckBox( L"VU0" ); + AddCheckBox( L"Cop0" ); + AddCheckBox( L"VU Macro" ); SetValue( false ); Fit(); } LogOptionsDialog::eeLogOptionsPanel::HwPanel::HwPanel( wxWindow* parent ) : - CheckedStaticBox( parent, wxVERTICAL, L"Hardware", LogID_Hardware ) + CheckedStaticBox( parent, wxVERTICAL, L"Hardware" ) { - AddCheckBox( L"Registers", LogID_Registers ); - AddCheckBox( L"Dma", LogID_DMA ); - AddCheckBox( L"Vif", LogID_VIF ); - AddCheckBox( L"SPR", LogID_SPR ); - AddCheckBox( L"GIF", LogID_GIF ); - AddCheckBox( L"Sif", LogID_SIF ); - AddCheckBox( L"IPU", LogID_IPU ); - AddCheckBox( L"RPC", LogID_RPC ); + AddCheckBox( L"Registers" ); + AddCheckBox( L"Dma" ); + AddCheckBox( L"Vif" ); + AddCheckBox( L"SPR" ); + AddCheckBox( L"GIF" ); + AddCheckBox( L"Sif" ); + AddCheckBox( L"IPU" ); + AddCheckBox( L"RPC" ); SetValue( false ); Fit(); @@ -98,16 +98,16 @@ void LogOptionsDialog::eeLogOptionsPanel::OnLogChecked(wxCommandEvent &event) ////////////////////////////////////////////////////////////////////////////////////////// // LogOptionsDialog::iopLogOptionsPanel::iopLogOptionsPanel( wxWindow* parent ) : - CheckedStaticBox( parent, wxVERTICAL, L"IOP Logs", LogID_IopBox ) + CheckedStaticBox( parent, wxVERTICAL, L"IOP Logs" ) { - AddCheckBox( L"Disasm", LogID_Disasm); - AddCheckBox( L"Memory", LogID_Memory ); - AddCheckBox( L"Bios", LogID_Bios ); - AddCheckBox( L"Registers", LogID_Hardware ); - AddCheckBox( L"Dma", LogID_DMA ); - AddCheckBox( L"Pad", LogID_Pad ); - AddCheckBox( L"Cdrom", LogID_Cdrom ); - AddCheckBox( L"GPU (PSX)", LogID_GPU ); + AddCheckBox( L"Disasm" ); + AddCheckBox( L"Memory" ); + AddCheckBox( L"Bios" ); + AddCheckBox( L"Registers" ); + AddCheckBox( L"Dma" ); + AddCheckBox( L"Pad" ); + AddCheckBox( L"Cdrom" ); + AddCheckBox( L"GPU (PSX)" ); SetValue( true ); Fit(); @@ -122,8 +122,8 @@ LogOptionsDialog::LogOptionsDialog(wxWindow* parent, int id, const wxPoint& pos, iopLogOptionsPanel& iopSizer = *new iopLogOptionsPanel( this ); wxStaticBoxSizer& miscSizer = *new wxStaticBoxSizer( wxHORIZONTAL, this, _T("Misc") ); - AddCheckBox( miscSizer, L"Log to STDOUT", LogID_StdOut ); - AddCheckBox( miscSizer, L"SYMs Log", LogID_Symbols ); + AddCheckBox( miscSizer, L"Log to STDOUT" ); + AddCheckBox( miscSizer, L"SYMs Log" ); wxBoxSizer& mainsizer = *new wxBoxSizer( wxVERTICAL ); wxBoxSizer& topSizer = *new wxBoxSizer( wxHORIZONTAL ); diff --git a/pcsx2/gui/Dialogs/LogOptionsDialog.h b/pcsx2/gui/Dialogs/LogOptionsDialog.h index 3d8345fffd..1193d03499 100644 --- a/pcsx2/gui/Dialogs/LogOptionsDialog.h +++ b/pcsx2/gui/Dialogs/LogOptionsDialog.h @@ -32,30 +32,11 @@ public: LogOptionsDialog( wxWindow* parent, int id, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize ); protected: - enum LogChecks - { - LogID_StdOut = 100, - LogID_Symbols - }; - + ///////////////////////////////////////////////////////////////////////////////////// // class iopLogOptionsPanel : public CheckedStaticBox { - protected: - enum LogCheckIDs - { - LogID_IopBox = 100, - LogID_Disasm, - LogID_Memory, - LogID_Hardware, - LogID_Bios, - LogID_DMA, - LogID_Pad, - LogID_Cdrom, - LogID_GPU - }; - public: iopLogOptionsPanel( wxWindow* parent ); void OnLogChecked(wxCommandEvent &event); @@ -66,34 +47,6 @@ protected: // class eeLogOptionsPanel : public CheckedStaticBox { - protected: - enum LogCheckIDs - { - // Group boxes and misc logs - LogID_EEBox = 100, - LogID_Disasm, - LogID_Hardware, - LogID_Memory, - LogID_Bios, - LogID_ELF, - - // Disasm section - LogID_CPU = 200, - LogID_FPU, - LogID_VU0, - LogID_COP0, - LogID_VU_Macro, - - LogID_Registers = 300, - LogID_DMA, - LogID_VIF, - LogID_SPR, - LogID_GIF, - LogID_SIF, - LogID_IPU, - LogID_RPC - }; - public: eeLogOptionsPanel( wxWindow* parent ); void OnLogChecked(wxCommandEvent &event); diff --git a/pcsx2/gui/Dialogs/ModalPopups.h b/pcsx2/gui/Dialogs/ModalPopups.h index 290c95be67..62aab9bcea 100644 --- a/pcsx2/gui/Dialogs/ModalPopups.h +++ b/pcsx2/gui/Dialogs/ModalPopups.h @@ -41,6 +41,7 @@ namespace Dialogs { protected: Panels::UsermodeSelectionPanel* m_panel_usersel; + Panels::LanguageSelectionPanel* m_panel_langsel; public: PickUserModeDialog( wxWindow* parent, int id=wxID_ANY ); diff --git a/pcsx2/gui/Dialogs/PickUserModeDialog.cpp b/pcsx2/gui/Dialogs/PickUserModeDialog.cpp index 9320cc275f..01a36facdd 100644 --- a/pcsx2/gui/Dialogs/PickUserModeDialog.cpp +++ b/pcsx2/gui/Dialogs/PickUserModeDialog.cpp @@ -23,37 +23,34 @@ using namespace wxHelpers; + + Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) : wxDialogWithHelpers( parent, id, _("PCSX2 First Time configuration"), false ) , m_panel_usersel( new Panels::UsermodeSelectionPanel( this ) ) +, m_panel_langsel( new Panels::LanguageSelectionPanel( this ) ) { wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL ); AddStaticText( s_main, _("PCSX2 is starting from a new or unknown folder and needs to be configured."), 0, wxALIGN_CENTRE ); + + s_main.Add( m_panel_langsel, SizerFlags::StdCenter() ); s_main.Add( m_panel_usersel, wxSizerFlags().Expand().Border( wxALL, 8 ) ); AddOkCancel( s_main ); SetSizerAndFit( &s_main ); Connect( wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PickUserModeDialog::OnOk_Click ) ); + + // TODO : Add a command event handler for language changes, that dynamically re-update contents of this window. } void Dialogs::PickUserModeDialog::OnOk_Click( wxCommandEvent& evt ) { - AppConfig confcopy( *g_Conf ); - - try + if( Panels::g_ApplyState.ApplyAll() ) { - m_panel_usersel->Apply( confcopy ); - *g_Conf = confcopy; - g_Conf->Apply(); - Close(); evt.Skip(); } - catch( Exception::CannotApplySettings& ex ) - { - wxMessageBox( ex.DisplayMessage() + L"\n" + _("You may press Cancel to close the program."), _("Cannot apply settings...") ); - } } diff --git a/pcsx2/gui/IniInterface.cpp b/pcsx2/gui/IniInterface.cpp index 316e2652ad..24ac4f545f 100644 --- a/pcsx2/gui/IniInterface.cpp +++ b/pcsx2/gui/IniInterface.cpp @@ -99,7 +99,7 @@ void IniLoader::Entry( const wxString& var, bool& value, const bool defvalue ) value = (dest == L"enabled") || (dest != L"0"); } -bool IniLoader::EntryBitfield( const wxString& var, bool value, const bool defvalue ) +bool IniLoader::EntryBitBool( const wxString& var, bool value, const bool defvalue ) { // Note: 'value' param is used by inisaver only. bool result; @@ -107,6 +107,13 @@ bool IniLoader::EntryBitfield( const wxString& var, bool value, const bool defva return result; } +int IniLoader::EntryBitfield( const wxString& var, int value, const int defvalue ) +{ + int result; + Entry( var, result, defvalue ); + return result; +} + void IniLoader::Entry( const wxString& var, wxPoint& value, const wxPoint& defvalue ) { TryParse( value, m_Config.Read( var, ToString( defvalue ) ), defvalue ); @@ -122,7 +129,7 @@ void IniLoader::Entry( const wxString& var, wxRect& value, const wxRect& defvalu TryParse( value, m_Config.Read( var, ToString( defvalue ) ), defvalue ); } -void IniLoader::EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ) +void IniLoader::_EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ) { wxString retval; m_Config.Read( var, &retval, enumArray[defvalue] ); @@ -184,12 +191,18 @@ void IniSaver::Entry( const wxString& var, bool& value, const bool defvalue ) m_Config.Write( var, value ? L"enabled" : L"disabled" ); } -bool IniSaver::EntryBitfield( const wxString& var, bool value, const bool defvalue ) +bool IniSaver::EntryBitBool( const wxString& var, bool value, const bool defvalue ) { m_Config.Write( var, value ? L"enabled" : L"disabled" ); return value; } +int IniSaver::EntryBitfield( const wxString& var, int value, const int defvalue ) +{ + m_Config.Write( var, value ); + return value; +} + void IniSaver::Entry( const wxString& var, wxPoint& value, const wxPoint& defvalue ) { m_Config.Write( var, ToString( value ) ); @@ -205,7 +218,7 @@ void IniSaver::Entry( const wxString& var, wxRect& value, const wxRect& defvalue m_Config.Write( var, ToString( value ) ); } -void IniSaver::EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ) +void IniSaver::_EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ) { m_Config.Write( var, enumArray[value] ); } diff --git a/pcsx2/gui/IniInterface.h b/pcsx2/gui/IniInterface.h index 64e9254286..bdfcf49e27 100644 --- a/pcsx2/gui/IniInterface.h +++ b/pcsx2/gui/IniInterface.h @@ -55,13 +55,26 @@ public: virtual void Entry( const wxString& var, bool& value, const bool defvalue=false )=0; // This special form of Entry is provided for bitfields, which cannot be passed by reference. - virtual bool EntryBitfield( const wxString& var, bool value, const bool defvalue=false )=0; + virtual bool EntryBitBool( const wxString& var, bool value, const bool defvalue=false )=0; + virtual int EntryBitfield( const wxString& var, int value, const int defvalue=0 )=0; virtual void Entry( const wxString& var, wxPoint& value, const wxPoint& defvalue=wxDefaultPosition )=0; virtual void Entry( const wxString& var, wxSize& value, const wxSize& defvalue=wxDefaultSize )=0; virtual void Entry( const wxString& var, wxRect& value, const wxRect& defvalue=wxDefaultRect )=0; - virtual void EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue=0 )=0; + template< typename T > + void EnumEntry( const wxString& var, T& value, const wxChar* const* enumArray=NULL, const T defvalue=(T)0 ) + { + int tstore = (int)value; + if( enumArray == NULL ) + Entry( var, tstore, defvalue ); + else + _EnumEntry( var, tstore, enumArray, defvalue ); + value = (T)tstore; + } + +protected: + virtual void _EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue )=0; }; ////////////////////////////////////////////////////////////////////////////////////////// @@ -88,13 +101,15 @@ public: void Entry( const wxString& var, uint& value, const uint defvalue=0 ); void Entry( const wxString& var, bool& value, const bool defvalue=false ); - bool EntryBitfield( const wxString& var, bool value, const bool defvalue=false ); + bool EntryBitBool( const wxString& var, bool value, const bool defvalue=false ); + int EntryBitfield( const wxString& var, int value, const int defvalue=0 ); void Entry( const wxString& var, wxPoint& value, const wxPoint& defvalue=wxDefaultPosition ); void Entry( const wxString& var, wxSize& value, const wxSize& defvalue=wxDefaultSize ); void Entry( const wxString& var, wxRect& value, const wxRect& defvalue=wxDefaultRect ); - void EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue=0 ); +protected: + void _EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ); }; ////////////////////////////////////////////////////////////////////////////////////////// @@ -121,12 +136,14 @@ public: void Entry( const wxString& var, uint& value, const uint defvalue=0 ); void Entry( const wxString& var, bool& value, const bool defvalue=false ); - bool EntryBitfield( const wxString& var, bool value, const bool defvalue=false ); + bool EntryBitBool( const wxString& var, bool value, const bool defvalue=false ); + int EntryBitfield( const wxString& var, int value, const int defvalue=0 ); void Entry( const wxString& var, wxPoint& value, const wxPoint& defvalue=wxDefaultPosition ); void Entry( const wxString& var, wxSize& value, const wxSize& defvalue=wxDefaultSize ); void Entry( const wxString& var, wxRect& value, const wxRect& defvalue=wxDefaultRect ); - void EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue=0 ); +protected: + void _EnumEntry( const wxString& var, int& value, const wxChar* const* enumArray, const int defvalue ); }; diff --git a/pcsx2/gui/MainFrame.cpp b/pcsx2/gui/MainFrame.cpp index 0a57611969..94b82e3a85 100644 --- a/pcsx2/gui/MainFrame.cpp +++ b/pcsx2/gui/MainFrame.cpp @@ -27,8 +27,8 @@ wxMenu* MainEmuFrame::MakeStatesMenu() { wxMenu* mnuStates = new wxMenu(); - m_LoadStatesSubmenu.Append( Menu_State_LoadOther, _T("Other..."), wxEmptyString, wxITEM_NORMAL ); - m_SaveStatesSubmenu.Append( Menu_State_SaveOther, _T("Other..."), wxEmptyString, wxITEM_NORMAL ); + m_LoadStatesSubmenu.Append( Menu_State_LoadOther, _("Other..."), wxEmptyString, wxITEM_NORMAL ); + m_SaveStatesSubmenu.Append( Menu_State_SaveOther, _("Other..."), wxEmptyString, wxITEM_NORMAL ); mnuStates->Append( Menu_State_Load, _("Load"), &m_LoadStatesSubmenu, wxEmptyString ); mnuStates->Append( Menu_State_Save, _("Save"), &m_SaveStatesSubmenu, wxEmptyString ); @@ -79,12 +79,12 @@ wxMenu* MainEmuFrame::MakeCdvdMenu() // ------------------------------------------------------------------------ void MainEmuFrame::PopulateVideoMenu() { - m_menuVideo.Append( Menu_Video_Basics, _T("Basic Settings..."), wxEmptyString, wxITEM_CHECK ); + m_menuVideo.Append( Menu_Video_Basics, _("Basic Settings..."), wxEmptyString, wxITEM_CHECK ); m_menuVideo.AppendSeparator(); // Populate options from the plugin here. - m_menuVideo.Append( Menu_Video_Advanced, _T("Advanced..."), wxEmptyString, wxITEM_NORMAL ); + m_menuVideo.Append( Menu_Video_Advanced, _("Advanced..."), wxEmptyString, wxITEM_NORMAL ); } // ------------------------------------------------------------------------ @@ -92,7 +92,7 @@ void MainEmuFrame::PopulateAudioMenu() { // Populate options from the plugin here. - m_menuAudio.Append( Menu_Audio_Advanced, _T("Advanced..."), wxEmptyString, wxITEM_NORMAL ); + m_menuAudio.Append( Menu_Audio_Advanced, _("Advanced..."), wxEmptyString, wxITEM_NORMAL ); } // ------------------------------------------------------------------------ @@ -100,7 +100,7 @@ void MainEmuFrame::PopulatePadMenu() { // Populate options from the plugin here. - m_menuPad.Append( Menu_Pad_Advanced, _T("Advanced..."), wxEmptyString, wxITEM_NORMAL ); + m_menuPad.Append( Menu_Pad_Advanced, _("Advanced..."), wxEmptyString, wxITEM_NORMAL ); } // ------------------------------------------------------------------------ @@ -122,6 +122,11 @@ void MainEmuFrame::OnMoveAround( wxMoveEvent& evt ) // ... makes for a good test of the message pump's responsiveness. //Console::Notice( "Mess o' crashiness? It can't be!" ); + // evt.GetPosition() returns the client area position, not the window frame position. + // So read the window position directly... hope there's no problem with this too. :| --air + + g_Conf->MainGuiPosition = GetPosition(); + // wxGTK note: X sends gratuitous amounts of OnMove messages for various crap actions // like selecting or deselecting a window, which muck up docking logic. We filter them // out using 'lastpos' here. :) @@ -137,8 +142,6 @@ void MainEmuFrame::OnMoveAround( wxMoveEvent& evt ) wxGetApp().ProgramLog_PostEvent( conevt ); } - g_Conf->MainGuiPosition = evt.GetPosition(); - //evt.Skip(); } @@ -275,16 +278,16 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title): m_menuRun.Append(Menu_RunELF, _("Run ELF File..."), _("For running raw PS2 binaries.")); m_menuRun.AppendSeparator(); - m_menuRun.Append(Menu_SkipBiosToggle,_("Skip Bios on Boot"), _("Enable this to skip PS2 bootup screens (may hurt compat)")); + m_menuRun.Append(Menu_SkipBiosToggle,_("Skip Bios on Boot"), _("Enable this to skip PS2 bootup screens (may hurt compat)")); m_menuRun.AppendSeparator(); - m_menuRun.Append(Menu_SuspendExec, _("Suspend"), _T("Stops emulation dead in its tracks")); - m_menuRun.Append(Menu_ResumeExec, _("Resume"), _T("Resumes suspended emulation")); + m_menuRun.Append(Menu_SuspendExec, _("Suspend"), _("Stops emulation dead in its tracks")); + m_menuRun.Append(Menu_ResumeExec, _("Resume"), _("Resumes suspended emulation")); m_menuRun.Append(Menu_States, _("States"), MakeStatesMenu(), wxEmptyString); - m_menuRun.Append(Menu_Reset, _("Reset"), _T("Resets emulation state and reloads plugins")); + m_menuRun.Append(Menu_Reset, _("Reset"), _("Resets emulation state and reloads plugins")); m_menuRun.AppendSeparator(); - m_menuRun.Append(Menu_Run_Exit, _("Exit"), _T("Closing PCSX2 may be hazardous to your health")); + m_menuRun.Append(Menu_Run_Exit, _("Exit"), _("Closing PCSX2 may be hazardous to your health")); // ------------------------------------------------------------------------ @@ -309,8 +312,8 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title): // ------------------------------------------------------------------------ m_menuMisc.Append( &m_MenuItem_Console ); - m_menuMisc.Append(Menu_Patches, _T("Enable Patches"), wxEmptyString, wxITEM_CHECK); - m_menuMisc.Append(Menu_Profiler,_T("Enable Profiler"), wxEmptyString, wxITEM_CHECK); + m_menuMisc.Append(Menu_Patches, _("Enable Patches"), wxEmptyString, wxITEM_CHECK); + m_menuMisc.Append(Menu_Profiler,_("Enable Profiler"), wxEmptyString, wxITEM_CHECK); m_menuMisc.AppendSeparator(); // No dialogs implemented for these yet... diff --git a/pcsx2/gui/Panels/ConfigurationPanels.h b/pcsx2/gui/Panels/ConfigurationPanels.h index b2492b6145..6c561fb59f 100644 --- a/pcsx2/gui/Panels/ConfigurationPanels.h +++ b/pcsx2/gui/Panels/ConfigurationPanels.h @@ -138,8 +138,8 @@ namespace Panels g_ApplyState.PanelList.remove( this ); } - BaseApplicableConfigPanel( wxWindow* parent ) : - wxPanelWithHelpers( parent, wxID_ANY ) + BaseApplicableConfigPanel( wxWindow* parent, int idealWidth ) : + wxPanelWithHelpers( parent, idealWidth ) , m_OwnerPage( g_ApplyState.CurOwnerPage ) , m_OwnerBook( g_ApplyState.ParentBook ) { @@ -172,8 +172,23 @@ namespace Panels public: virtual ~UsermodeSelectionPanel() { } - UsermodeSelectionPanel( wxWindow* parent ); - + UsermodeSelectionPanel( wxWindow* parent, int idealWidth=wxDefaultCoord ); + + void Apply( AppConfig& conf ); + }; + + ////////////////////////////////////////////////////////////////////////////////////////// + // + class LanguageSelectionPanel : public BaseApplicableConfigPanel + { + protected: + LangPackList m_langs; + wxComboBox* m_picker; + + public: + virtual ~LanguageSelectionPanel() { } + LanguageSelectionPanel( wxWindow* parent, int idealWidth=wxDefaultCoord ); + void Apply( AppConfig& conf ); }; @@ -181,15 +196,26 @@ namespace Panels // class SpeedHacksPanel : public BaseApplicableConfigPanel { + protected: + wxSlider* m_slider_eecycle; + wxSlider* m_slider_vustealer; + wxStaticText* m_msg_eecycle; + wxStaticText* m_msg_vustealer; + + wxCheckBox* m_check_intc; + wxCheckBox* m_check_b1fc0; + wxCheckBox* m_check_IOPx2; + public: - SpeedHacksPanel(wxWindow& parent); + SpeedHacksPanel( wxWindow& parent, int idealWidth ); void Apply( AppConfig& conf ); protected: - void IOPCycleDouble_Click(wxCommandEvent &event); - void WaitCycleExt_Click(wxCommandEvent &event); - void INTCSTATSlow_Click(wxCommandEvent &event); - void IdleLoopFF_Click(wxCommandEvent &event); + const wxChar* GetEEcycleSliderMsg( int val ); + const wxChar* GetVUcycleSliderMsg( int val ); + + void EECycleRate_Scroll(wxScrollEvent &event); + void VUCycleRate_Scroll(wxScrollEvent &event); }; ////////////////////////////////////////////////////////////////////////////////////////// @@ -197,15 +223,8 @@ namespace Panels class GameFixesPanel: public BaseApplicableConfigPanel { public: - GameFixesPanel(wxWindow& parent); + GameFixesPanel( wxWindow& parent, int idealWidth ); void Apply( AppConfig& conf ); - - void FPUCompareHack_Click(wxCommandEvent &event); - void FPUMultHack_Click(wxCommandEvent &event); - void TriAce_Click(wxCommandEvent &event); - void GodWar_Click(wxCommandEvent &event); - void Ok_Click(wxCommandEvent &event); - void Cancel_Click(wxCommandEvent &event); }; ////////////////////////////////////////////////////////////////////////////////////////// @@ -235,27 +254,27 @@ namespace Panels wxBoxSizer& s_main; public: - MyBasePanel(wxWindow& parent, int id=wxID_ANY); + MyBasePanel( wxWindow& parent, int idealWidth=wxDefaultCoord ); protected: - void AddDirPicker( wxBoxSizer& sizer, FoldersEnum_t folderid, const wxString& label, - const wxString& popupLabel, enum ExpandedMsgEnum tooltip ); + DirPickerPanel& AddDirPicker( wxBoxSizer& sizer, FoldersEnum_t folderid, + const wxString& label, const wxString& popupLabel ); }; class StandardPanel : public MyBasePanel { public: - StandardPanel(wxWindow& parent, int id=wxID_ANY); + StandardPanel( wxWindow& parent ); }; class AdvancedPanel : public MyBasePanel { public: - AdvancedPanel(wxWindow& parent, int id=wxID_ANY); + AdvancedPanel( wxWindow& parent, int idealWidth ); }; public: - PathsPanel(wxWindow& parent); + PathsPanel( wxWindow& parent, int idealWidth ); void Apply( AppConfig& conf ); }; @@ -342,7 +361,7 @@ namespace Panels public: virtual ~PluginSelectorPanel(); - PluginSelectorPanel(wxWindow& parent); + PluginSelectorPanel( wxWindow& parent, int idealWidth ); virtual void OnShow( wxShowEvent& evt ); virtual void OnRefresh( wxCommandEvent& evt ); virtual void OnProgress( wxCommandEvent& evt ); diff --git a/pcsx2/gui/Panels/GameFixesPanel.cpp b/pcsx2/gui/Panels/GameFixesPanel.cpp index ebe7671803..1e1913703b 100644 --- a/pcsx2/gui/Panels/GameFixesPanel.cpp +++ b/pcsx2/gui/Panels/GameFixesPanel.cpp @@ -21,62 +21,31 @@ using namespace wxHelpers; -#define FLAG_VU_ADD_SUB 0x1 //Tri-Ace - IDC_GAMEFIX2 -#define FLAG_VU_CLIP 0x2 // Persona3/4 - IDC_GAMEFIX4 -#define FLAG_FPU_Compare 0x4 // Digimon Rumble Arena - IDC_GAMEFIX3 -#define FLAG_FPU_MUL 0x8 //Tales of Destiny - IDC_GAMEFIX5 - -Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent ) : - BaseApplicableConfigPanel( &parent ) +Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent, int idealWidth ) : + BaseApplicableConfigPanel( &parent, idealWidth) { - wxStaticText* label_Title = new wxStaticText( - this, wxID_ANY, _T("Some games need special settings.\nConfigure them here."), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE - ); - wxBoxSizer& mainSizer = *new wxBoxSizer( wxVERTICAL ); + AddStaticText( mainSizer, _("Some games need special settings.\nEnable them here."), wxALIGN_CENTRE ); + wxStaticBoxSizer& groupSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("PCSX2 Gamefixes") ); + AddCheckBox( groupSizer, _("DMA Execution Hack - for Fatal Frame.") ); + AddCheckBox( groupSizer, _("FPU Compare Hack - for Digimon Rumble Arena 2.") ); + AddCheckBox( groupSizer, _("FPU Multiply Hack - for Tales of Destiny.") ); + AddCheckBox( groupSizer, _("VU Add Hack - for Tri-Ace games!") ); + AddCheckBox( groupSizer, _("VU XGkick Hack - for Erementar Gerad") ); - AddCheckBox( groupSizer, _T("FPU Compare Hack - Special fix for Digimon Rumble Arena 2.") ); - AddCheckBox( groupSizer, _T("FPU Multiply Hack - Special fix for Tales of Destiny.") ); - AddCheckBox( groupSizer, _T("VU Add / Sub Hack - Special fix for Tri-Ace games!") ); - AddCheckBox( groupSizer, _T("VU Clip Hack - Special fix for God of War") ); + mainSizer.Add( &groupSizer, wxSizerFlags().Centre() ); - mainSizer.Add( label_Title, SizerFlags::StdCenter() ); - mainSizer.Add( &groupSizer, SizerFlags::StdSpace() ); + AddStaticText( mainSizer, pxE( "Gamefixes Dialog:Compat Warning", + L"Enabling game fixes can cause compatibility or performance issues in other games. You " + L"will need to turn off fixes manually when changing games." + ), wxALIGN_CENTRE ); SetSizerAndFit( &mainSizer ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GameFixesPanel::FPUCompareHack_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GameFixesPanel::FPUMultHack_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GameFixesPanel::TriAce_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GameFixesPanel::GodWar_Click ) ); } void Panels::GameFixesPanel::Apply( AppConfig& conf ) { -} - -void Panels::GameFixesPanel::FPUCompareHack_Click(wxCommandEvent &event) -{ - //Config.GameFixes |= is_checked ? FLAG_FPU_Compare : 0; - event.Skip(); -} - -void Panels::GameFixesPanel::FPUMultHack_Click(wxCommandEvent &event) -{ - //Config.GameFixes |= is_checked ? FLAG_FPU_MUL : 0; - event.Skip(); -} - -void Panels::GameFixesPanel::TriAce_Click(wxCommandEvent &event) -{ - //Config.GameFixes |= is_checked ? FLAG_VU_ADD_SUB : 0; - event.Skip(); -} - - -void Panels::GameFixesPanel::GodWar_Click(wxCommandEvent &event) -{ - //Config.GameFixes |= is_checked ? FLAG_VU_CLIP : 0; - event.Skip(); + } diff --git a/pcsx2/gui/Panels/MiscPanelStuff.cpp b/pcsx2/gui/Panels/MiscPanelStuff.cpp index d73d320f02..a99918ab2c 100644 --- a/pcsx2/gui/Panels/MiscPanelStuff.cpp +++ b/pcsx2/gui/Panels/MiscPanelStuff.cpp @@ -21,6 +21,7 @@ #include +using namespace wxHelpers; Panels::StaticApplyState Panels::g_ApplyState; @@ -83,8 +84,8 @@ bool Panels::StaticApplyState::ApplyAll() } // ----------------------------------------------------------------------- -Panels::UsermodeSelectionPanel::UsermodeSelectionPanel( wxWindow* parent ) : - BaseApplicableConfigPanel( parent ) +Panels::UsermodeSelectionPanel::UsermodeSelectionPanel( wxWindow* parent, int idealWidth ) : + BaseApplicableConfigPanel( parent, idealWidth ) , m_radio_user( NULL ) , m_radio_cwd( NULL ) { @@ -93,9 +94,10 @@ Panels::UsermodeSelectionPanel::UsermodeSelectionPanel( wxWindow* parent ) : L"Please select your preferred default location for PCSX2 user-level documents below " L"(includes memory cards, screenshots, settings, and savestates). " L"These folder locations can be overridden at any time using the Core Settings panel.", - 480, wxALIGN_CENTRE ); + wxALIGN_CENTRE ); m_radio_user = &AddRadioButton( s_boxer, _("User Documents (recommended)"), _("Location: ") + wxStandardPaths::Get().GetDocumentsDir() ); + s_boxer.AddSpacer( 4 ); m_radio_cwd = &AddRadioButton( s_boxer, _("Current working folder (intended for developer use only)"), _("Location: ") + wxGetCwd() ); s_boxer.AddSpacer( 4 ); @@ -108,3 +110,54 @@ void Panels::UsermodeSelectionPanel::Apply( AppConfig& conf ) throw Exception::CannotApplySettings( this, wxLt( "You must select one of the available user modes before proceeding." ) ); conf.UseAdminMode = m_radio_cwd->GetValue(); } + +// ----------------------------------------------------------------------- +Panels::LanguageSelectionPanel::LanguageSelectionPanel( wxWindow* parent, int idealWidth ) : + BaseApplicableConfigPanel( parent, idealWidth ) +, m_langs() +, m_picker( NULL ) +{ + i18n_EnumeratePackages( m_langs ); + + int size = m_langs.size(); + int cursel = 0; + wxString* compiled = new wxString[size]; + wxString configLangName( wxLocale::GetLanguageName( wxLANGUAGE_DEFAULT ) ); + + for( int i=0; iSetSelection( cursel ); + + wxBoxSizer& s_lang = *new wxBoxSizer( wxHORIZONTAL ); + AddStaticText( s_lang, _("Select a language: "), wxALIGN_CENTRE_VERTICAL ); + s_lang.AddSpacer( 5 ); + s_lang.Add( m_picker, SizerFlags::StdSpace() ); + + SetSizerAndFit( &s_lang ); +} + +void Panels::LanguageSelectionPanel::Apply( AppConfig& conf ) +{ + // The combo box's order is sorted and may not match our m_langs order, so + // we have to do a string comparison to find a match: + + wxString sel( m_picker->GetString( m_picker->GetSelection() ) ); + + conf.LanguageId = wxLANGUAGE_DEFAULT; // use this if no matches found + int size = m_langs.size(); + for( int i=0; iFolders.IsDefault( m_FolderId ); @@ -73,93 +73,123 @@ Panels::PathsPanel::DirPickerPanel::DirPickerPanel( wxWindow* parent, FoldersEnu void Panels::PathsPanel::DirPickerPanel::Apply( AppConfig& conf ) { - throw Exception::CannotApplySettings( this ); conf.Folders.Set( m_FolderId, m_pickerCtrl->GetPath(), m_checkCtrl->GetValue() ); } // ------------------------------------------------------------------------ -Panels::PathsPanel::MyBasePanel::MyBasePanel( wxWindow& parent, int id ) : - wxPanelWithHelpers( &parent, id ) +Panels::PathsPanel::MyBasePanel::MyBasePanel( wxWindow& parent, int idealWidth ) : + wxPanelWithHelpers( &parent, idealWidth-12 ) , s_main( *new wxBoxSizer( wxVERTICAL ) ) { } -void Panels::PathsPanel::MyBasePanel::AddDirPicker( wxBoxSizer& sizer, FoldersEnum_t folderid, const wxString& label, const wxString& popupLabel, ExpandedMsgEnum tooltip ) +Panels::PathsPanel::DirPickerPanel& Panels::PathsPanel::MyBasePanel::AddDirPicker( wxBoxSizer& sizer, + FoldersEnum_t folderid, const wxString& label, const wxString& popupLabel ) { DirPickerPanel* dpan = new DirPickerPanel( this, folderid, label, popupLabel ); - dpan->SetToolTip( pxE(tooltip) ); - sizer.Add( dpan, SizerFlags::StdGroupie() ); + sizer.Add( dpan, SizerFlags::SubGroup() ); + return *dpan; } // ------------------------------------------------------------------------ -Panels::PathsPanel::StandardPanel::StandardPanel( wxWindow& parent, int id ) : - MyBasePanel( parent, id ) +Panels::PathsPanel::StandardPanel::StandardPanel( wxWindow& parent ) : + MyBasePanel( parent ) { // TODO : Replace the callback mess here with the new FolderId enumeration setup. :) AddDirPicker( s_main, FolderId_Bios, _("Bios:"), - _("Select folder with PS2 Bios"), Msg_Tooltips_Bios ); + _("Select folder with PS2 Bios") ). + SetToolTip( pxE( "Setting Tooltip:Bios Folder", + L"This folder is where PCSX2 looks to find PS2 bios files. The actual bios used can be " + L"selected from the CPU dialog." + ) ); s_main.AddSpacer( BetweenFolderSpace ); AddDirPicker( s_main, FolderId_Savestates, _("Savestates:"), - _("Select folder for Savestates"), Msg_Tooltips_Savestates ); + _("Select folder for Savestates") ). + SetToolTip( pxE( "Setting Tooltip:Savestates Folder", + L"This folder is where PCSX2 records savestates; which are recorded either by using " + L"menus/toolbars, or by pressing F1/F3 (load/save)." + ) ); s_main.AddSpacer( BetweenFolderSpace ); AddDirPicker( s_main, FolderId_Snapshots, _("Snapshots:"), - _("Select a folder for Snapshots"), Msg_Tooltips_Snapshots ); + _("Select a folder for Snapshots") ). + SetToolTip( pxE( "Setting Tooltip:Snapshots Folder", + L"This folder is where PCSX2 saves screenshots. Actual screenshot image format and style " + L"may vary depending on the GS plugin being used." + ) ); s_main.AddSpacer( BetweenFolderSpace ); AddDirPicker( s_main, FolderId_Logs, _("Logs/Dumps:" ), - _("Select a folder for logs/dumps"), Msg_Tooltips_Logs ); + _("Select a folder for logs/dumps") ). + SetToolTip( pxE( "Setting Tooltip:Logs Folder", + L"This folder is where PCSX2 saves its logfiles and diagnostic dumps. Most plugins will " + L"also adhere to this folder, however some older plugins may ignore it." + ) ); s_main.AddSpacer( BetweenFolderSpace ); AddDirPicker( s_main, FolderId_MemoryCards, _("Memorycards:"), - _("Select a default Memorycards folder"), Msg_Tooltips_Memorycards ); + _("Select a default Memorycards folder") ). + SetToolTip( pxE( "Setting Tooltip:Memorycards Folder", + L"This is the default path where PCSX2 loads or creates its memory cards, and can be " + L"overridden in the MemoryCard Configuration by using absolute filenames." + ) ); s_main.AddSpacer( 5 ); SetSizerAndFit( &s_main ); - } // ------------------------------------------------------------------------ -Panels::PathsPanel::AdvancedPanel::AdvancedPanel( wxWindow& parent, int id ) : - MyBasePanel( parent, id ) +Panels::PathsPanel::AdvancedPanel::AdvancedPanel( wxWindow& parent, int idealWidth ) : + MyBasePanel( parent, idealWidth-9 ) { wxStaticBoxSizer& advanced = *new wxStaticBoxSizer( wxVERTICAL, this, _("Advanced") ); - AddStaticText( advanced, pxE(Msg_Dialog_AdvancedPaths), 420, wxALIGN_CENTRE ); + AddStaticText( advanced, pxE( "Settings Dialog:Advanced Paths", + L"Warning!! These advanced options are provided for developers and advanced testers only. " + L"Changing these settings can cause program errors, so please be weary." + ), wxALIGN_CENTRE ); AddDirPicker( advanced, FolderId_Plugins, _("Plugins:"), - _("Select folder for PCSX2 plugins"), Msg_Tooltips_PluginsPath ); + _("Select folder for PCSX2 plugins") ). + SetToolTip( pxE( "Setting Tooltip:Plugins Path", + L"This is the location where PCSX2 will expect to find its plugins. Plugins found in this folder " + L"will be enumerated and are selectable from the Plugins panel." + ) ); advanced.AddSpacer( BetweenFolderSpace ); AddDirPicker( advanced, FolderId_Settings, _("Settings:"), - _("Select a folder for PCSX2 settings/inis"), Msg_Tooltips_SettingsPath ); + _("Select a folder for PCSX2 settings/inis") ). + SetToolTip( pxE( "Settings Tooltip:Settings Path", + L"This is the folder where PCSX2 saves all settings, including settings generated " + L"by most plugins.\n\nWarning: Some older versions of plugins may not respect this value." + ) ); advanced.AddSpacer( 4 ); - advanced.Add( new UsermodeSelectionPanel( this ), SizerFlags::StdGroupie() ); + advanced.Add( new UsermodeSelectionPanel( this, GetIdealWidth()-9 ), SizerFlags::SubGroup() ); - s_main.Add( &advanced, SizerFlags::StdGroupie() ); + s_main.Add( &advanced, SizerFlags::SubGroup() ); s_main.AddSpacer( 5 ); SetSizerAndFit( &s_main ); } // ------------------------------------------------------------------------ -Panels::PathsPanel::PathsPanel( wxWindow& parent ) : - BaseApplicableConfigPanel( &parent ) +Panels::PathsPanel::PathsPanel( wxWindow& parent, int idealWidth ) : + BaseApplicableConfigPanel( &parent, idealWidth ) { wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL ); wxNotebook& notebook = *new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_BOTTOM | wxNB_FIXEDWIDTH ); notebook.AddPage( new StandardPanel( notebook ), _("Standard") ); - notebook.AddPage( new AdvancedPanel( notebook ), _("Advanced") ); + notebook.AddPage( new AdvancedPanel( notebook, GetIdealWidth() ), _("Advanced") ); s_main.Add( ¬ebook, SizerFlags::StdSpace() ); diff --git a/pcsx2/gui/Panels/PluginSelectorPanel.cpp b/pcsx2/gui/Panels/PluginSelectorPanel.cpp index ecf016bd0e..cea3b8a67e 100644 --- a/pcsx2/gui/Panels/PluginSelectorPanel.cpp +++ b/pcsx2/gui/Panels/PluginSelectorPanel.cpp @@ -66,7 +66,7 @@ DECLARE_EVENT_TYPE(wxEVT_EnumeratedNext, -1) DECLARE_EVENT_TYPE(wxEVT_EnumerationFinished, -1) DEFINE_EVENT_TYPE(wxEVT_EnumeratedNext) -DEFINE_EVENT_TYPE(wxEVT_EnumerationFinished) +DEFINE_EVENT_TYPE(wxEVT_EnumerationFinished); ////////////////////////////////////////////////////////////////////////////////////////// // @@ -158,7 +158,7 @@ Panels::PluginSelectorPanel::StatusPanel::StatusPanel( wxWindow* parent, int plu { wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL ); - AddStaticText( s_main, _( "Enumerating available plugins..." ), 0, wxALIGN_CENTRE ); + AddStaticText( s_main, _( "Enumerating available plugins..." ), wxALIGN_CENTRE ); s_main.Add( &m_gauge, wxSizerFlags().Expand().Border( wxLEFT | wxRIGHT, 32 ) ); s_main.Add( &m_label, SizerFlags::StdExpand() ); @@ -208,8 +208,8 @@ void Panels::PluginSelectorPanel::ComboBoxPanel::Reset() } // ------------------------------------------------------------------------ -Panels::PluginSelectorPanel::PluginSelectorPanel( wxWindow& parent ) : - BaseApplicableConfigPanel( &parent ) +Panels::PluginSelectorPanel::PluginSelectorPanel( wxWindow& parent, int idealWidth ) : + BaseApplicableConfigPanel( &parent, idealWidth ) , m_FileList() , m_StatusPanel( *new StatusPanel( this, wxDir::GetAllFiles( g_Conf->Folders.Plugins.ToString(), &m_FileList, wxsFormat( L"*%s", wxDynamicLibrary::GetDllExt()), wxDIR_FILES ) @@ -223,7 +223,7 @@ Panels::PluginSelectorPanel::PluginSelectorPanel( wxWindow& parent ) : s_main.Add( &m_ComboBoxes, SizerFlags::StdExpand().ReserveSpaceEvenIfHidden() ); s_main.AddSpacer( 4 ); - AddStaticText( s_main, _("Tip: Any installed plugins that are not compatible with your hardware or operating system will be listed below a separator."), 388, wxALIGN_CENTRE ); + AddStaticText( s_main, _("Tip: Installed plugins that are not compatible with your hardware or operating system will be listed below a separator."), wxALIGN_CENTRE ); s_main.AddSpacer( 4 ); s_main.Add( &m_StatusPanel, SizerFlags::StdExpand().ReserveSpaceEvenIfHidden() ); @@ -315,8 +315,11 @@ void Panels::PluginSelectorPanel::OnEnumComplete( wxCommandEvent& evt ) if( emptyBoxes > 0 ) { - wxMessageBox( pxE( Msg_Popup_MissingPlugins), - _("PCSX2 Error - Plugin components not found") ); + wxMessageBox( pxE( "Popup Error:Missing Plugins", + L"Critical Error: A valid plugin for one or more components of PCSX2 could not be found. " + L"Your installation of PCSX2 is incomplete, and will be unable to run games."), + _("PCSX2 Error - Plugin components not found") + ); } m_ComboBoxes.Show(); diff --git a/pcsx2/gui/Panels/SpeedhacksPanel.cpp b/pcsx2/gui/Panels/SpeedhacksPanel.cpp index 83befa9957..239bfd2324 100644 --- a/pcsx2/gui/Panels/SpeedhacksPanel.cpp +++ b/pcsx2/gui/Panels/SpeedhacksPanel.cpp @@ -24,83 +24,186 @@ using namespace wxHelpers; -Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow& parent ) : - BaseApplicableConfigPanel( &parent ) +static int pxGetTextHeight( const wxWindow* wind, int rows ) +{ + wxClientDC dc(wx_const_cast(wxWindow *, wind)); + dc.SetFont( wind->GetFont() ); + return (dc.GetCharHeight() + 1 ) * rows; +} + +const wxChar* Panels::SpeedHacksPanel::GetEEcycleSliderMsg( int val ) +{ + switch( val ) + { + case 1: + return pxE( ":Panels:Speedhacks:EECycleX1", + L"1 - Default cyclerate. This closely matches the actual speed of a real PS2 EmotionEngine." + ); + + case 2: + return pxE( ":Panels:Speedhacks:EECycleX2", + L"2 - Reduces the EE's cyclerate by about 33%. Mild speedup for most games with high compatibility." + ); + + case 3: + return pxE( ":Panels:Speedhacks:EECycleX3", + L"3 - Reduces the EE's cyclerate by about 50%. Moderate speedup, but *will* cause studdering " + L"audio on many FMVs." + ); + + jNO_DEFAULT + } + + return L"Unreachable Warning Suppressor!!"; +} + +const wxChar* Panels::SpeedHacksPanel::GetVUcycleSliderMsg( int val ) +{ + switch( val ) + { + case 0: + return pxE( ":Panels:Speedhacks:VUCycleStealOff", + L"0 - Disables VU Cycle Stealing. Most compatible setting!" + ); + + case 1: + return pxE( ":Panels:Speedhacks:VUCycleSteal1", + L"1 - Mild VU Cycle Stealing. High compatibility with some speedup for most games." + ); + + case 2: + return pxE( ":Panels:Speedhacks:VUCycleSteal2", + L"2 - Moderate VU Cycle Stealing. Moderate compatibility with significant speedups in some games." + ); + + case 3: + // TODO: Mention specific games that benefit from this setting here. + return pxE( ":Panels:Speedhacks:VUCycleSteal3", + L"3 - Maximum VU Cycle Stealing. Usefulness is limited, as this will cause flickering " + L"visuals or slowdown in most games." + ); + + jNO_DEFAULT + } + + return L"Unreachable Warning Suppressor!!"; +} + +Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow& parent, int idealWidth ) : + BaseApplicableConfigPanel( &parent, idealWidth ) { wxBoxSizer& mainSizer = *new wxBoxSizer( wxVERTICAL ); + wxFlexGridSizer& cycleHacksSizer = *new wxFlexGridSizer( 2 ); + + cycleHacksSizer.AddGrowableCol( 0, 1 ); + cycleHacksSizer.AddGrowableCol( 1, 1 ); - wxStaticBoxSizer& sliderSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("Cycle Hacks") ); - wxStaticBoxSizer& miscSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("Misc Speed Hacks") ); + wxStaticBoxSizer& cyclerateSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("EE Cyclerate") ); + wxStaticBoxSizer& stealerSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("VU Cycle Stealing") ); + wxStaticBoxSizer& miscSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("Other Hacks") ); - wxStaticText* label_Title = new wxStaticText( - this, wxID_ANY, - L"These hacks will affect the speed of PCSX2, but compromise compatibility.\n" - L"If you have issues, disable all of these and try again.", - wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE + AddStaticText( mainSizer, pxE( ":Panels:Speedhacks:Overview", + L"These hacks will usually improve the speed of PCSX2 emulation, but compromise compatibility. " + L"If you have issues, always try disabling these hacks first." + ), wxALIGN_CENTRE ); + + const wxChar* tooltip; // needed because we duplicate tooltips across multiple controls. + const wxSizerFlags sliderFlags( wxSizerFlags().Border( wxLEFT | wxRIGHT, 8 ).Expand() ); + + // ------------------------------------------------------------------------ + // EE Cyclerate Hack Section: + + m_slider_eecycle = new wxSlider( this, wxID_ANY, g_Conf->Speedhacks.EECycleRate+1, 1, 3, + wxDefaultPosition, wxDefaultSize, wxHORIZONTAL | wxSL_AUTOTICKS | wxSL_LABELS ); + + tooltip = pxE( ":Tooltips:Speedhacks:EECycleRate Slider", + L"Setting higher values on this slider effectively reduces the clock speed of the EmotionEngine's " + L"R5900 core cpu, and typically brings big speedups to games that fail to utilize " + L"the full potential of the real PS2 hardware." ); + + cyclerateSizer.Add( m_slider_eecycle, sliderFlags ); + m_msg_eecycle = &AddStaticText( cyclerateSizer, GetEEcycleSliderMsg( g_Conf->Speedhacks.EECycleRate+1 ), wxALIGN_CENTRE, (GetIdealWidth()-24)/2 ); + m_msg_eecycle->SetForegroundColour( wxColour( L"Red" ) ); + m_msg_eecycle->SetSizeHints( wxSize( wxDefaultCoord, pxGetTextHeight(m_msg_eecycle, 4) ) ); - mainSizer.Add( label_Title, SizerFlags::StdCenter() ); + m_slider_eecycle->SetToolTip( tooltip ); + m_msg_eecycle->SetToolTip( tooltip ); - wxSlider* vuScale = new wxSlider(this, wxID_ANY, Config.Hacks.VUCycleSteal, 0, 4 ); - wxSlider* eeScale = new wxSlider(this, wxID_ANY, Config.Hacks.EECycleRate, 0, 2); + // ------------------------------------------------------------------------ + // VU Cycle Stealing Hack Section: - AddStaticText(sliderSizer, _T("EE Cycle")); - sliderSizer.Add( eeScale, wxEXPAND ); - AddStaticText(sliderSizer, _T("Placeholder text for EE scale position.")); + m_slider_vustealer = new wxSlider( this, wxID_ANY, g_Conf->Speedhacks.VUCycleSteal, 0, 4, wxDefaultPosition, wxDefaultSize, + wxHORIZONTAL | wxSL_AUTOTICKS | wxSL_LABELS ); - AddStaticText(sliderSizer, _T("VU Cycle")); - sliderSizer.Add( vuScale, wxEXPAND ); - AddStaticText(sliderSizer, _T("Placeholder text for VU scale position.")); + tooltip = pxE( ":Tooltips:Speedhacks:VUCycleStealing Slider", + L"This slider controls the amount of cycles the VU unit steals from the EmotionEngine. Higher values increase the number of " + L"cycles stolen from the EE for each VU microprogram the game runs." + ); + // Misc help text that I might find a home for later: + // Cycle stealing works by 'fast-forwarding' the EE by an arbitrary number of cycles whenever VU1 micro-programs + // are run, which works as a rough-guess skipping of what would normally be idle time spent running on the EE. + + stealerSizer.Add( m_slider_vustealer, wxSizerFlags().Border( wxLEFT | wxRIGHT, 8 ).Expand() ); + m_msg_vustealer = &AddStaticText(stealerSizer, GetVUcycleSliderMsg( g_Conf->Speedhacks.VUCycleSteal ), wxALIGN_CENTRE, (GetIdealWidth()-24)/2 ); + m_msg_vustealer->SetForegroundColour( wxColour( L"Red" ) ); + m_msg_vustealer->SetSizeHints( wxSize( wxDefaultCoord, pxGetTextHeight(m_msg_vustealer, 4) ) ); - AddCheckBox(miscSizer, _T("Enable IOP x2 Cycle rate")); - AddStaticText(miscSizer, _T(" Small Speedup, and works well with most games."), 400); + m_slider_vustealer->SetToolTip( tooltip ); + m_msg_vustealer->SetToolTip( tooltip ); - AddCheckBox(miscSizer, _T("WaitCycles Sync Hack") ); - AddStaticText(miscSizer, _T(" Small Speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes."), 400); + // ------------------------------------------------------------------------ + // All other hacks Section: - AddCheckBox(miscSizer, _T("INTC Sync Hack") ); - AddStaticText(miscSizer, _T(" Huge speedup in many games, and a pretty high compatability rate (some games still work better with EE sync hacks)."), 400); + m_check_intc = &AddCheckBox(miscSizer, _("Enable INTC Spin Detection"), + _("Huge speedup for some games, with almost no compatibility side effects. [Recommended]"), + pxE( ":Tooltips:Speedhacks:INTC", + L"This hack works best for games that use the INTC Status register to wait for vsyncs, which includes primarily non-3D " + L"RPG titles. Games that do not use this method of vsync will see little or no speeup from this hack." + ) ); - AddCheckBox(miscSizer, _T("Idle Loop Fast-Forward (experimental)") ); - AddStaticText(miscSizer, _T(" Speedup for a few games, including FFX with no known side effects. More later."), 400); + m_check_b1fc0 = &AddCheckBox(miscSizer, _("Enable BIFC0 Spin Detection"), + _("Moderate speedup for some games, with no known side effects. [Recommended]" ), + pxE( ":Tooltips:Speedhacks:BIFC0", + L"This hack works especially well for Final Fantasy X and Kingdom Hearts. BIFC0 is the address of a specific block of " + L"code in the EE kernel that's run repeatedly when the EE is waiting for the IOP to complete a task. This hack detects " + L"that and responds by fast-forwarding the EE until the IOP signals that the task is complete." + ) ); - //secondarySizer.Add( &sliderSizer, wxEXPAND ); - //secondarySizer.Add( &miscSizer, wxEXPAND ); - //mainSizer.Add( &secondarySizer, stdCenteredFlags ); - mainSizer.Add( &sliderSizer, wxEXPAND ); - mainSizer.Add( &miscSizer, wxEXPAND ); + m_check_IOPx2 = &AddCheckBox(miscSizer, _("IOP x2 cycle rate hack"), + _("Small Speedup and works well with most games; may cause some games to hang during startup."), + pxE( ":Tooltips:Speedhacks:IOPx2", + L"Halves the cycle rate of the IOP, giving it an effective emulated speed of roughly 18 MHz. " + L"The speedup is very minor, so this hack is generally not recommended." + ) ); + + cycleHacksSizer.Add( &cyclerateSizer, SizerFlags::TopLevelBox() ); + cycleHacksSizer.Add( &stealerSizer, SizerFlags::TopLevelBox() ); + + mainSizer.Add( &cycleHacksSizer, wxSizerFlags().Expand() ); + mainSizer.Add( &miscSizer, SizerFlags::TopLevelBox() ); SetSizerAndFit( &mainSizer ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SpeedHacksPanel::IOPCycleDouble_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SpeedHacksPanel::WaitCycleExt_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SpeedHacksPanel::INTCSTATSlow_Click ) ); - Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SpeedHacksPanel::IdleLoopFF_Click ) ); + Connect( m_slider_eecycle->GetId(), wxEVT_SCROLL_CHANGED, wxScrollEventHandler( SpeedHacksPanel::EECycleRate_Scroll ) ); + Connect( m_slider_vustealer->GetId(), wxEVT_SCROLL_CHANGED, wxScrollEventHandler( SpeedHacksPanel::VUCycleRate_Scroll ) ); } void Panels::SpeedHacksPanel::Apply( AppConfig& conf ) { + conf.Speedhacks.EECycleRate = m_slider_eecycle->GetValue()-1; + conf.Speedhacks.VUCycleSteal = m_slider_vustealer->GetValue(); + + conf.Speedhacks.BIFC0 = m_check_b1fc0->GetValue(); + conf.Speedhacks.IopCycleRate_X2 = m_check_IOPx2->GetValue(); + conf.Speedhacks.IntcStat = m_check_intc->GetValue(); } -void Panels::SpeedHacksPanel::IOPCycleDouble_Click(wxCommandEvent &event) +void Panels::SpeedHacksPanel::EECycleRate_Scroll(wxScrollEvent &event) { - //Config.Hacks.IOPCycleDouble = if it is clicked. event.Skip(); } -void Panels::SpeedHacksPanel::WaitCycleExt_Click(wxCommandEvent &event) +void Panels::SpeedHacksPanel::VUCycleRate_Scroll(wxScrollEvent &event) { - //Config.Hacks.WaitCycleExt = if it is clicked. - event.Skip(); -} - -void Panels::SpeedHacksPanel::INTCSTATSlow_Click(wxCommandEvent &event) -{ - //Config.Hacks.INTCSTATSlow = if it is clicked. - event.Skip(); -} - -void Panels::SpeedHacksPanel::IdleLoopFF_Click(wxCommandEvent &event) -{ - //Config.Hacks.IdleLoopFF = if it is clicked. event.Skip(); } diff --git a/pcsx2/gui/Resources/ConfigIcon_Gamefixes.h b/pcsx2/gui/Resources/ConfigIcon_Gamefixes.h index e87d2714dc..ce3a3c0970 100644 --- a/pcsx2/gui/Resources/ConfigIcon_Gamefixes.h +++ b/pcsx2/gui/Resources/ConfigIcon_Gamefixes.h @@ -6,7 +6,7 @@ class png_ConfigIcon_Gamefixes { public: - static const uint Length = 14415; + static const uint Length = 16191; static const u8 Data[Length]; static wxBitmapType GetFormat() { return wxBITMAP_TYPE_PNG; } }; @@ -15,850 +15,955 @@ const u8 png_ConfigIcon_Gamefixes::Data[Length] = { 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,0x00, 0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x08,0x06,0x00,0x00,0x00,0xc3,0x3e,0x61,0xcb,0x00, - 0x00,0x38,0x16,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x7d,0x07,0x5c,0x14,0xd7,0xf6,0xff, - 0xd9,0x42,0xef,0x08,0x28,0x08,0x8a,0x1d,0x11,0xb0,0x8b,0xbd,0x63,0xf7,0x59,0x62,0xcd, - 0x33,0xc5,0xa8,0x31,0x2f,0xa6,0x68,0x5e,0x7a,0x79,0x49,0xcc,0x7b,0x79,0x89,0xa9,0xbe, - 0x24,0x9a,0x18,0x63,0x89,0x26,0xf6,0xc4,0x82,0x35,0xc6,0xde,0x15,0x29,0x16,0x04,0x45, - 0xc1,0x8a,0x15,0x44,0xa4,0xef,0xf2,0x3f,0xe7,0x4e,0xd9,0x69,0x0b,0xbb,0x48,0xf1,0x17, - 0xff,0xc7,0xcf,0x38,0xcc,0xcc,0xee,0xcc,0xec,0x3d,0xdf,0x7b,0xee,0x69,0xf7,0x5c,0x1d, - 0xfc,0x7f,0x7a,0xa4,0x49,0x57,0xd3,0x2f,0x50,0x1e,0x4d,0x99,0xf6,0xb2,0x2b,0xee,0x84, - 0xcd,0xbd,0x8c,0xcd,0x95,0xff,0x4a,0x01,0x6e,0x79,0xfc,0x96,0x83,0xdb,0x45,0x7e,0xbb, - 0xf9,0xe3,0x77,0xb3,0x4b,0x6b,0xfa,0xf7,0x3c,0x6c,0xf4,0x50,0x00,0x00,0x99,0xdc,0x0f, - 0x77,0x6f,0xe0,0xe6,0x0d,0x72,0xa6,0xba,0xe1,0x66,0xa8,0xa4,0xc7,0x14,0xe2,0x96,0x86, - 0xdb,0x3e,0xdc,0xf6,0xd3,0x1e,0x01,0x71,0xbe,0xa6,0x7f,0x7b,0x4d,0x53,0x8d,0x02,0x00, - 0x19,0x1f,0x80,0xbb,0x2f,0x70,0x9b,0x50,0x43,0xaf,0x90,0x81,0xdb,0x62,0xdc,0x16,0x20, - 0x18,0x32,0x6a,0xb2,0x2d,0x6a,0x8a,0x6a,0x04,0x00,0xc8,0x78,0x7a,0xee,0x53,0xb8,0x7d, - 0x8e,0x5b,0x2d,0x6b,0x9f,0x33,0x1a,0x8d,0x92,0xcd,0x00,0x46,0x83,0xe5,0xd8,0xc1,0xc1, - 0x01,0x1c,0x70,0x5f,0x8a,0xff,0x8a,0x8b,0x8a,0xa1,0xa8,0x18,0xb7,0xa2,0x22,0x71,0x2b, - 0xc4,0xad,0xb4,0xd4,0x66,0x89,0x6f,0xc2,0x6d,0x2b,0x6e,0xdf,0x20,0x10,0xb6,0xd4,0x44, - 0x9b,0xd4,0x14,0x55,0x3b,0x00,0x90,0xf9,0x4d,0x71,0xf7,0x3d,0x6e,0xbd,0xca,0xfb,0xec, - 0xf0,0xa1,0x43,0xa0,0x76,0x40,0x80,0xd5,0xeb,0x06,0xbd,0x1e,0x0c,0x06,0x6e,0x84,0x30, - 0x20,0x18,0xe8,0x6f,0x23,0x6e,0xb4,0xd7,0xe1,0x2f,0x33,0x99,0x4c,0x70,0x37,0x27,0x07, - 0x6e,0xde,0xba,0x05,0x37,0x6f,0xde,0x82,0xab,0x99,0xd7,0x21,0x3d,0x23,0x03,0x8a,0x11, - 0x2c,0x65,0x50,0x2c,0x6e,0x33,0x10,0x08,0xe7,0xaa,0xbb,0x6d,0x6a,0x82,0xaa,0x0d,0x00, - 0xc8,0x78,0x47,0xdc,0xbd,0x8e,0xdb,0x3b,0xb8,0x39,0x2b,0xaf,0x37,0x6a,0xd8,0x00,0xba, - 0x77,0xe9,0x0c,0x0b,0x97,0xfc,0x22,0x9e,0x6b,0x18,0x1a,0x0a,0x31,0x7d,0x7a,0x6b,0xbf, - 0x38,0x72,0x98,0x00,0xa0,0xc7,0x4d,0xc7,0x03,0x41,0x60,0xbe,0xc1,0xc0,0x9d,0x37,0x48, - 0x8e,0x0d,0x7a,0x03,0xe8,0x71,0x4f,0xa0,0x48,0xcf,0xb8,0x08,0xa9,0xe7,0xd2,0x20,0x3e, - 0x31,0x11,0xb2,0xb2,0xb2,0xb5,0x6e,0x4f,0xfa,0xc2,0x57,0xb8,0x7d,0x84,0x40,0xc8,0xab, - 0xae,0x36,0xaa,0x09,0xaa,0x16,0x00,0x20,0xf3,0x3b,0xe3,0xee,0x07,0xdc,0x22,0x94,0xd7, - 0xbc,0xbd,0xbc,0xe0,0xb1,0xe1,0x43,0x21,0xba,0x7d,0x3b,0x76,0xfc,0x9f,0x4f,0xbf,0xc8, - 0xce,0xb8,0x74,0xc9,0x9b,0xbd,0x1c,0x32,0x79,0xdc,0xe8,0x51,0xe0,0xe9,0xe1,0xa1,0xba, - 0x67,0x59,0xbd,0x5f,0xaf,0xd7,0x69,0x30,0x9f,0x3b,0xcf,0x3e,0x4f,0xe7,0x19,0x78,0x74, - 0x70,0xfa,0x4c,0x2a,0xec,0x3b,0x70,0x10,0x4e,0x9e,0x4e,0x06,0xb3,0xd9,0xac,0x7c,0xcc, - 0x51,0xdc,0x86,0x21,0x08,0xae,0x55,0x13,0x3f,0xaa,0x9d,0xaa,0x14,0x00,0xc8,0x78,0x62, - 0xe4,0x7f,0x71,0x7b,0x16,0x37,0xbd,0xf4,0x1a,0x8d,0xdf,0x7d,0x7a,0xf5,0x84,0x01,0xfd, - 0xfa,0x82,0x93,0xa3,0xa3,0x78,0x3e,0xf1,0xc4,0x09,0xf8,0x7e,0xfe,0x42,0xf1,0x38,0x22, - 0x3c,0x1c,0xba,0x74,0xea,0xa8,0xba,0xb7,0x08,0x00,0x9d,0x4e,0xd1,0xfb,0x6d,0x07,0x00, - 0x27,0x29,0xb8,0xcf,0x5c,0xbd,0x96,0x09,0x2b,0x7f,0x5b,0x0b,0xa7,0x93,0xcf,0x28,0x1f, - 0x75,0x09,0xb7,0xbf,0x21,0x08,0x12,0xaa,0x93,0x31,0xd5,0x45,0x55,0x06,0x00,0x64,0xfe, - 0x28,0xdc,0xcd,0xc6,0x2d,0x48,0x79,0xad,0x65,0x64,0x04,0x8c,0x1c,0x36,0x14,0x6a,0xd5, - 0xf2,0x65,0xbd,0x5c,0x4a,0xa4,0xb8,0xbd,0xfd,0xfe,0x47,0x85,0x39,0x39,0x39,0x4e,0x74, - 0x4c,0xca,0xde,0xdf,0xc7,0x8d,0x95,0x81,0x44,0xcf,0x33,0x9d,0xbe,0xab,0xe7,0x19,0x6d, - 0x4b,0xef,0x67,0x9f,0x27,0xc6,0x2b,0x98,0x2f,0x7d,0x87,0xa4,0x93,0xa7,0x60,0xe5,0x9a, - 0xdf,0xe1,0x06,0xea,0x0c,0x12,0xca,0xc5,0x6d,0x3c,0x82,0x20,0xb6,0x66,0xd8,0x54,0x75, - 0x54,0xe9,0x00,0x40,0xc6,0x87,0xe0,0xee,0x5b,0xdc,0xfe,0xa6,0xbc,0x56,0xa7,0x76,0x6d, - 0x78,0x0c,0x19,0x1f,0xd6,0xac,0x89,0xe5,0x05,0x74,0xea,0x57,0xd8,0xbe,0x73,0x37,0xac, - 0xdd,0xb0,0x51,0x3c,0xa6,0xe1,0xa1,0x55,0x54,0x94,0x78,0x5c,0xd9,0xbd,0x5f,0x49,0x05, - 0x05,0x85,0xb0,0x60,0xc9,0x52,0x48,0x48,0x3c,0x21,0x3d,0x4d,0x7a,0x41,0x0c,0x82,0x60, - 0x6f,0x35,0xf0,0xa5,0xda,0xa8,0x52,0x01,0x80,0xcc,0xef,0x04,0x9c,0x39,0x25,0x1b,0xb4, - 0x5d,0x5c,0x5c,0x60,0x20,0x8a,0xfa,0xae,0x28,0xca,0xa9,0x07,0xca,0x5e,0x40,0x01,0x00, - 0x3a,0xcc,0xcf,0xcf,0x87,0x77,0x67,0x7e,0x6c,0x46,0x6d,0x9d,0x7d,0xd8,0xd5,0xd5,0x15, - 0xfe,0x3e,0x76,0x0c,0xa7,0xf0,0x55,0x50,0xf9,0xa3,0xef,0xe9,0x78,0xc0,0x48,0x01,0x20, - 0x00,0x43,0x8b,0x36,0x6e,0xd9,0x06,0x1b,0x36,0x6d,0x91,0xea,0x06,0x24,0x16,0x3a,0xfd, - 0x95,0x2c,0x84,0xca,0x06,0x00,0xd9,0xf4,0x34,0x66,0xba,0xd0,0x31,0x31,0x23,0xba,0x7d, - 0x5b,0x64,0x7e,0x0c,0xb8,0xb9,0xb9,0xb1,0xcf,0x9c,0xbf,0x90,0x0e,0xb5,0x7c,0x7d,0xc1, - 0xdb,0xdb,0x8b,0x7b,0x01,0x9d,0xf6,0x2b,0xac,0xc2,0xf1,0xf8,0xc0,0xa1,0xc3,0xe2,0x71, - 0xaf,0xee,0xdd,0xa1,0x69,0x93,0xc6,0x95,0xa2,0xfc,0x95,0xd5,0xfb,0x95,0x74,0xf0,0xf0, - 0x51,0x58,0xb4,0xf4,0x57,0xa9,0x4f,0x21,0x15,0x38,0x10,0xdc,0xa9,0x68,0x3b,0x75,0x98, - 0xf6,0x93,0x11,0x77,0xcd,0x70,0xf3,0xc7,0xcd,0x97,0xdf,0x04,0x2f,0x28,0x0d,0x37,0xd9, - 0x92,0xed,0xec,0x91,0xef,0x26,0x55,0x99,0x93,0xaa,0x2a,0x86,0x80,0x45,0xc0,0x39,0x79, - 0x20,0x30,0xb0,0x0e,0xcc,0x78,0x61,0x1a,0x14,0x16,0x16,0xc2,0xb1,0xe3,0xf1,0x8c,0xa1, - 0x64,0x93,0x13,0x05,0x05,0x06,0x42,0xeb,0x96,0x51,0xa8,0xe0,0x45,0x83,0x93,0x93,0x93, - 0xea,0x3e,0xd7,0x6f,0xdc,0x84,0x59,0x5f,0x7e,0x2d,0x1e,0x13,0x68,0x46,0x8f,0x1c,0x51, - 0x6d,0xbd,0x5f,0x4a,0x3b,0x76,0xef,0x85,0xe5,0xab,0xd6,0x48,0x4f,0xed,0xc2,0xad,0x2f, - 0x82,0xc0,0x64,0xcb,0xf7,0x91,0xe1,0xe4,0xcc,0x20,0x4b,0x28,0x1a,0x37,0xd2,0x68,0xdb, - 0x03,0xe7,0xe6,0x2e,0x93,0x4a,0x4b,0x4c,0x50,0x78,0x20,0xe1,0xd7,0xa4,0x13,0x73,0xfe, - 0x5e,0xd9,0x7c,0x12,0xa8,0x2a,0x00,0xd0,0x01,0x77,0xac,0xeb,0x52,0xa3,0xb7,0x6b,0xd3, - 0x1a,0x35,0xfb,0x93,0xcc,0x3b,0xa7,0x45,0x2e,0xce,0xce,0xd0,0x0d,0xed,0xff,0x5e,0x3d, - 0xba,0x8b,0x0e,0x1c,0xe1,0xd5,0xe6,0x2d,0x58,0x08,0x67,0xcf,0xa5,0x89,0x9f,0x1d,0x3a, - 0x70,0x00,0xd4,0xaf,0x57,0xaf,0x4a,0x94,0xbf,0xb2,0x88,0xbc,0x8c,0xcb,0x56,0xae,0x86, - 0xfd,0x07,0x0f,0x4b,0x4f,0xbf,0x82,0x00,0xf8,0xca,0xda,0x77,0x90,0xe9,0x24,0x05,0x49, - 0x11,0x26,0x37,0x77,0x1f,0x28,0x23,0xa6,0xe1,0xe5,0xe6,0x04,0xc1,0x7e,0x1e,0x70,0xf5, - 0x4e,0x2e,0x64,0xdd,0x2b,0x10,0xcf,0x17,0x1e,0x3b,0x0d,0xa6,0x2b,0xd7,0xf3,0xf1,0xcf, - 0xd0,0x93,0x97,0x97,0xde,0xa8,0x6c,0x5e,0x71,0xad,0x5c,0x89,0x84,0xcc,0x27,0xd1,0x46, - 0x48,0xff,0x14,0x1b,0xb7,0xa3,0x1d,0xae,0x58,0x26,0x11,0xc6,0x8f,0x7e,0x0c,0x02,0xfc, - 0xfd,0xf9,0x37,0xd3,0x41,0xf2,0x99,0x14,0x14,0xbf,0x16,0xc7,0x50,0xbd,0xe0,0x60,0x18, - 0x36,0x64,0x70,0x95,0x29,0x7f,0x44,0x24,0x79,0xce,0xa5,0x9d,0x87,0x73,0xe7,0xcf,0x43, - 0xc6,0xc5,0xcb,0x90,0x95,0x95,0x05,0xf7,0xf3,0x34,0x7d,0x41,0x24,0xaa,0x23,0x94,0x31, - 0x04,0x64,0x3c,0xe9,0x3f,0xff,0xc0,0x6d,0x06,0x6e,0x75,0xb4,0xbe,0xe8,0xe3,0xe1,0x0c, - 0x61,0x21,0x3e,0x10,0x12,0xe0,0x09,0x75,0x91,0xf1,0x9e,0xae,0x8e,0x90,0x70,0xee,0x06, - 0xac,0x3b,0x60,0x51,0x2d,0x4a,0x32,0xae,0x41,0x51,0x82,0x68,0x92,0xce,0x44,0x00,0xbc, - 0x5f,0x99,0xbc,0x12,0xc8,0x2e,0x00,0x20,0x83,0x49,0x56,0xfb,0x00,0x37,0x66,0x91,0x58, - 0x0b,0xe5,0xb7,0xfa,0xfc,0xbe,0x25,0x7f,0x5d,0x45,0xe4,0xbf,0xaf,0x1f,0x12,0xc2,0x5c, - 0xb3,0xb7,0x6e,0xdf,0xd6,0xbc,0xbf,0xb3,0xb3,0x13,0x3c,0xf3,0xe4,0x04,0x08,0x41,0x46, - 0x63,0xbf,0x65,0xe3,0xee,0xe7,0xb3,0xbf,0x81,0xdb,0x77,0x2c,0xc3,0xed,0xe3,0x63,0x46, - 0x83,0x3f,0x82,0xa4,0x32,0x7b,0x7f,0xe6,0xf5,0x1b,0x70,0xe8,0xc8,0x51,0x38,0x7c,0x34, - 0x4e,0xf6,0x2c,0x1b,0x68,0x23,0x02,0x60,0x88,0x70,0x80,0xcc,0xb7,0x6a,0xfa,0xd2,0xbb, - 0x34,0x0f,0xf1,0x85,0xe8,0xb0,0x3a,0xd0,0x38,0xd8,0x87,0xfd,0x36,0xea,0x1f,0x66,0xfc, - 0x2f,0xed,0xea,0x5d,0x58,0xb2,0xfd,0x34,0x2a,0x9b,0x5c,0x87,0x31,0xe7,0xdc,0x87,0x82, - 0xdd,0xc7,0xf0,0x0f,0x51,0xf9,0xa4,0x06,0xab,0x87,0x20,0xa8,0x74,0xaf,0xa4,0x0a,0x00, - 0xbc,0xf3,0x66,0x1c,0x6e,0x6d,0x71,0x6b,0x0c,0x6a,0x25,0xc5,0x2e,0x22,0x5f,0x7e,0xb3, - 0xa6,0x4d,0xa0,0x69,0xa3,0x46,0xe2,0x58,0x9f,0x95,0x9d,0x0d,0x09,0x49,0x27,0xe0,0x4c, - 0x6a,0xaa,0xca,0xfb,0x46,0x9f,0x99,0xfc,0xf4,0x13,0x28,0x11,0xb8,0x36,0x3c,0x70,0xe8, - 0x10,0xd3,0xc6,0x05,0x0a,0x0f,0x6b,0x06,0xfd,0xfa,0xf6,0xad,0x14,0xe5,0x8f,0x6c,0xfe, - 0xcd,0xdb,0xb6,0x43,0xda,0xf9,0x0b,0x0f,0xd2,0x86,0x63,0x13,0x21,0xea,0x4f,0xdc,0x2f, - 0xc2,0x6d,0x88,0xf2,0xa2,0x01,0xdf,0xa1,0x47,0x54,0x08,0x74,0x8f,0x0c,0x02,0x0f,0x17, - 0x47,0xc6,0x78,0x33,0xcf,0x78,0x62,0xf7,0xb5,0x3b,0xf7,0x61,0xde,0xc6,0x13,0x50,0x50, - 0x54,0xc2,0x3e,0x4f,0xe3,0x3e,0x31,0xbf,0x34,0x57,0xc6,0x6b,0x3a,0x88,0x40,0x00,0x3c, - 0xd0,0x8b,0x6a,0x91,0x0c,0x00,0xc8,0xfc,0x17,0x71,0x37,0x13,0x38,0x66,0x57,0x88,0x9c, - 0x9c,0x1c,0x21,0xb0,0x4e,0x20,0x04,0xd7,0x0d,0x62,0x3d,0x99,0xdc,0xb8,0x06,0xbd,0xa5, - 0xc7,0x71,0x0c,0x43,0x26,0x18,0x0d,0x70,0xfb,0xf6,0x1d,0x88,0xdd,0xbc,0x59,0x25,0x11, - 0x7c,0x7d,0x7d,0x60,0xda,0xb3,0x53,0xc0,0xd1,0xd1,0x91,0x29,0x90,0xb3,0xbe,0x9a,0x2d, - 0xea,0x10,0xf4,0xfd,0x49,0x4f,0x3f,0x05,0x5e,0x74,0xdf,0x0a,0x2a,0x7f,0xe4,0xed,0x5b, - 0xbf,0x69,0x33,0x8b,0x09,0xd8,0x48,0xc4,0x9d,0x74,0xe0,0x2c,0x80,0x4c,0xb0,0x24,0x9c, - 0x14,0xdc,0x01,0x1f,0xd7,0x4b,0x10,0x32,0x1a,0x38,0x29,0x28,0xa3,0x06,0x75,0xbc,0x60, - 0x5c,0xcf,0x66,0x50,0xc7,0xd7,0x15,0x84,0xd1,0x90,0x01,0xc0,0x5c,0xca,0x00,0x90,0x93, - 0x57,0x0c,0xdf,0xac,0x8b,0x87,0xec,0xdc,0x42,0xf1,0x3b,0x85,0xc7,0x93,0xc1,0x74,0x29, - 0x53,0x79,0xab,0x67,0x90,0xf9,0x0b,0xc1,0x06,0x42,0x29,0xe4,0x84,0x56,0x43,0xa1,0x2d, - 0x9f,0x95,0x01,0x00,0x99,0xff,0x19,0xee,0x5e,0xb5,0xe5,0x4b,0x3e,0xde,0xde,0xcc,0x24, - 0x73,0x71,0x76,0xe1,0xc2,0xb4,0x46,0x07,0x70,0x77,0x77,0x03,0x0f,0x77,0x77,0xc6,0x34, - 0x81,0xf4,0xbc,0xf8,0x65,0x7f,0xeb,0x85,0xde,0xc7,0x31,0xc7,0xc8,0x33,0x8b,0x82,0x33, - 0xe4,0x79,0x3b,0x9f,0x9e,0x2e,0x7b,0x06,0x39,0x7f,0x06,0xf5,0xef,0xc7,0xfe,0xde,0xb8, - 0x65,0x2b,0x1c,0x39,0x16,0x27,0xb9,0xd6,0x1e,0x7a,0x76,0xeb,0x6a,0x77,0xef,0xcf,0xb9, - 0x97,0x0b,0x2b,0x56,0xff,0xc6,0xa4,0x8f,0x0d,0x44,0x63,0x01,0xe5,0x0a,0x6c,0xc2,0x6d, - 0x2f,0x8a,0x7a,0x55,0xa3,0x62,0x63,0x53,0xa4,0x8a,0x3c,0x56,0xb2,0xe0,0x96,0x03,0xb6, - 0xc9,0xe8,0x6e,0x4d,0xa0,0x6b,0x8b,0xba,0xac,0x85,0xcd,0x8c,0xe9,0x66,0x30,0x4b,0x54, - 0xa2,0xc2,0x22,0x13,0x7c,0xb7,0x21,0x01,0x2e,0xde,0xb8,0x27,0x9e,0x2b,0xb9,0x98,0x09, - 0x45,0xf1,0xc9,0xca,0xc7,0x2c,0x45,0xe6,0x3f,0x61,0x2b,0x43,0xf1,0x9d,0x7e,0xc4,0xdd, - 0x5a,0x04,0xc1,0x46,0x5b,0x3e,0xaf,0xe3,0x99,0x4f,0x08,0x5e,0xa9,0xbc,0xd8,0xb7,0x57, - 0x0f,0x66,0xaa,0x5d,0xb9,0x76,0x0d,0xb5,0xf1,0xf3,0x10,0x9f,0x90,0x08,0x25,0x26,0xce, - 0xf2,0x71,0x74,0x70,0x80,0xc8,0x88,0x16,0xd0,0xa6,0x55,0x2b,0x95,0x73,0x87,0x35,0xbc, - 0xa2,0xd7,0x1b,0x0c,0x46,0xc6,0x78,0x29,0x43,0x38,0x06,0xea,0x59,0xaf,0x20,0x8d,0x9f, - 0xfc,0xf1,0xe2,0xf7,0xf1,0xda,0x4b,0xcf,0x3f,0xc7,0x24,0x08,0x8d,0xcb,0xdf,0x7e,0x3f, - 0x4f,0xbc,0xe6,0x8c,0x96,0xc3,0xf3,0x53,0x26,0xb3,0xbd,0xad,0x00,0x38,0x70,0xf8,0x08, - 0xf3,0x2e,0x16,0x14,0x14,0x40,0x39,0x44,0x3f,0x90,0xe2,0x17,0xb3,0x90,0xe9,0xf7,0xac, - 0x7d,0x08,0x1b,0x3a,0x1c,0x77,0x87,0x40,0xe1,0xf4,0x22,0x31,0xff,0xd2,0xb0,0xd6,0xd8, - 0xfb,0x3d,0x39,0x31,0xcf,0x8b,0x7b,0x61,0xa3,0xdf,0x6a,0xc2,0x73,0x0b,0xb7,0x9c,0x82, - 0xa4,0x0b,0x37,0xc5,0xef,0x99,0xef,0xe5,0x71,0xe3,0xbe,0x49,0x66,0x59,0xa6,0xe0,0xd6, - 0x0e,0x01,0x90,0x6b,0x23,0xf3,0x03,0x71,0x47,0xc3,0x04,0x81,0xb5,0x33,0x82,0xe0,0x54, - 0xb9,0x00,0xe0,0x15,0x3b,0xfa,0x52,0xa0,0xf4,0xc2,0xe3,0x63,0x46,0x41,0xcf,0xee,0x5d, - 0x65,0x1f,0xce,0xb9,0x77,0x0f,0xb6,0xfd,0xb9,0x13,0xb6,0xef,0xd8,0x25,0x8e,0xdd,0x7e, - 0xb5,0x6a,0x41,0xbf,0x3e,0x7d,0xc0,0xc3,0x83,0x53,0x0f,0xac,0xf5,0x7a,0x12,0xf9,0x16, - 0x31,0xac,0x97,0x68,0xef,0x9c,0x82,0x76,0xeb,0xd6,0x6d,0xf8,0xea,0xbb,0x39,0x4c,0x22, - 0x08,0xd4,0xb5,0x73,0x27,0xd6,0xd3,0x89,0x96,0xad,0x5a,0x2d,0x1b,0xab,0xfb,0xf5,0xed, - 0x03,0xed,0xd1,0xc4,0x2c,0x4f,0xf9,0x33,0x95,0x94,0xe0,0x77,0xd7,0xc0,0x71,0x04,0xaf, - 0x0d,0x44,0x1c,0x79,0x1c,0x19,0xbf,0xdd,0x86,0xc6,0xfe,0x03,0x77,0x7d,0xa5,0xe7,0x6a, - 0x7b,0xbb,0xc2,0xab,0xa3,0xda,0x41,0x80,0x97,0x8b,0x38,0xce,0x0b,0x4c,0x67,0x62,0x1f, - 0xb8,0x21,0x60,0xcd,0xbe,0xb3,0xb0,0x23,0xe1,0x92,0xf8,0xbd,0x52,0x93,0x19,0x0a,0xf6, - 0xe0,0xb8,0x8f,0xca,0x9f,0x84,0x08,0xa9,0x1d,0x91,0xf9,0x36,0xbd,0x38,0xff,0x4e,0x04, - 0xdc,0x37,0xf9,0x43,0x4a,0x77,0x8b,0x46,0x10,0xdc,0x2a,0xeb,0x3b,0x04,0x80,0x67,0x70, - 0xff,0x93,0xf4,0x24,0x05,0x6b,0xa6,0x4d,0x9d,0x6c,0xf5,0x4b,0x14,0x4b,0xff,0x69,0xd1, - 0x12,0xa6,0xcc,0x11,0x91,0xe8,0x27,0xf3,0x8c,0x7a,0xab,0xb5,0x5e,0x6f,0x94,0x30,0x5e, - 0x04,0x80,0x44,0x4a,0xd0,0xe7,0xd6,0xac,0x5d,0x8f,0x9a,0xf8,0x31,0x4b,0x83,0xa2,0x02, - 0x39,0xe9,0xa9,0x27,0xd9,0xdf,0x69,0x17,0x2e,0xa0,0xf8,0xb6,0x38,0x63,0x7c,0x7c,0xbc, - 0x99,0x14,0x30,0xf2,0xde,0x40,0xad,0xde,0x7f,0x07,0x4d,0xb8,0x85,0x3f,0x2f,0x85,0x6b, - 0x99,0xd7,0x6d,0x69,0x3f,0x6a,0xe8,0xa1,0xc8,0xfc,0x4b,0xe5,0x7d,0x10,0x1b,0xba,0x35, - 0xee,0x8e,0x4b,0xcf,0xf9,0x7b,0xb9,0xc2,0x47,0x4f,0x75,0x01,0x57,0x47,0x8b,0xb9,0x2f, - 0x95,0x00,0x26,0xec,0x30,0xf4,0xf7,0xae,0xa4,0x4b,0xb0,0x6c,0x57,0x8a,0xec,0x7e,0x64, - 0xee,0x91,0xd9,0xa7,0xa0,0xe7,0x91,0xf9,0x73,0xed,0x60,0x3e,0x49,0x22,0x32,0x49,0xa5, - 0x56,0x18,0x29,0xa7,0x31,0x08,0x02,0xab,0xf6,0x38,0x01,0x80,0x52,0xa0,0xfa,0x0b,0x27, - 0xa8,0x31,0x3f,0x78,0xe7,0x8d,0x32,0x33,0x71,0x88,0x48,0x71,0x9b,0xf5,0xd5,0xff,0x20, - 0x3b,0xfb,0x2e,0xc7,0x10,0xd4,0x0b,0xc6,0x8c,0x1c,0xc1,0x74,0x00,0xad,0x5e,0x2f,0x65, - 0xbc,0xd0,0xeb,0xd9,0x0b,0x30,0xa7,0x0e,0x77,0xfe,0x42,0x46,0x06,0x7c,0x33,0xe7,0x07, - 0xd9,0x73,0x66,0xbc,0xf8,0x02,0x8b,0x04,0x52,0xcf,0xf9,0x71,0xe1,0x22,0xc6,0x54,0x81, - 0xe8,0x79,0xe1,0xcd,0xc3,0x34,0x95,0xbf,0x0b,0xe9,0x19,0xb0,0x00,0x99,0x4f,0x71,0x05, - 0x05,0x91,0x42,0x67,0x54,0x9c,0xa3,0x24,0xd1,0x21,0xc8,0x7c,0xcd,0xec,0x10,0x8d,0xc6, - 0xfe,0x17,0xee,0x3e,0x94,0x9e,0x7b,0x73,0x4c,0x07,0x68,0xd5,0x28,0x80,0x67,0x74,0xa9, - 0x68,0xd2,0x09,0x40,0xa0,0xe3,0x84,0xf3,0x37,0xe1,0xdb,0xf5,0x09,0xec,0x58,0x7c,0x99, - 0xcb,0xd7,0xa1,0x28,0xee,0xb4,0xf2,0x11,0xab,0x90,0xf9,0x63,0x6c,0x65,0x3e,0xff,0x4e, - 0xd3,0x81,0x4b,0x62,0x61,0xbf,0xdf,0xc5,0xc9,0x08,0x79,0x05,0x2c,0xf3,0xe9,0x29,0x04, - 0xc0,0xcf,0x65,0x01,0x80,0x5a,0x48,0x54,0x62,0x22,0xc2,0x9b,0xe3,0xd8,0x3b,0xd5,0xa6, - 0x87,0x66,0x5e,0xbf,0x0e,0x9f,0x7c,0xfe,0x35,0xe4,0xf1,0x8d,0x1c,0x85,0x3a,0x41,0x9f, - 0x9e,0xbd,0x34,0x7b,0xbd,0x94,0xf1,0xd2,0x5e,0x2f,0x95,0x06,0x44,0xd3,0x5f,0x7f,0x4b, - 0x66,0x1a,0x3e,0xf3,0xe4,0x13,0xcc,0x0d,0x4c,0x44,0x19,0x3c,0xdb,0x77,0xee,0x12,0xaf, - 0x91,0x95,0x31,0x65,0xe2,0x53,0xaa,0xde,0x9f,0x9c,0x92,0x02,0x4b,0x7e,0x59,0xce,0x3c, - 0x78,0x52,0x72,0x2e,0xbc,0x05,0x9e,0x39,0x67,0xbf,0xba,0xe1,0xdf,0x89,0x14,0x8a,0x36, - 0xc0,0x99,0xba,0x34,0x76,0xcd,0xb0,0x27,0xf3,0x07,0x1b,0x7b,0x29,0xee,0x44,0xf7,0xac, - 0xab,0x93,0x03,0x2c,0x79,0x7d,0x10,0x37,0xbe,0x9b,0xcc,0x96,0x31,0xdf,0x5c,0x2a,0xc6, - 0x10,0xee,0xde,0x2f,0x84,0x37,0x16,0xec,0x83,0xbc,0x42,0xcb,0x3b,0x99,0x73,0xf3,0x71, - 0xdc,0x3f,0x8a,0x28,0x90,0x8d,0xfb,0x24,0xba,0xdb,0x20,0x00,0xee,0xda,0xf1,0x3e,0x04, - 0x68,0xf2,0x22,0x31,0x4b,0xa4,0x59,0x88,0x2f,0xd4,0xf5,0x77,0x87,0x1d,0xc7,0x99,0x95, - 0x43,0xe2,0x2f,0x0c,0x41,0xa0,0x09,0x6e,0x02,0x80,0x4c,0x3c,0x8c,0x1e,0x39,0x1c,0x62, - 0x7a,0xf7,0xb4,0xf5,0xd9,0x68,0xa7,0x1f,0x61,0xc1,0x12,0x81,0x26,0x8c,0x1b,0xc7,0x4c, - 0x40,0x65,0xaf,0x17,0x7c,0xf8,0xec,0xa1,0x92,0x5e,0x2f,0x80,0x42,0x00,0xc3,0x1b,0xef, - 0x7e,0x00,0x39,0x39,0x39,0xe2,0xfd,0xc6,0x8e,0x1a,0x05,0x75,0x83,0x38,0xf5,0xa4,0x18, - 0xc7,0xf3,0x79,0xf3,0x7f,0x62,0x09,0x9f,0x02,0x4d,0x9d,0x34,0x11,0xea,0xd7,0x0b,0x11, - 0x7b,0x3f,0x69,0xf8,0xe4,0xb7,0x37,0xc9,0x95,0x29,0xa8,0xa5,0xbf,0x0b,0x0e,0x99,0x49, - 0xf4,0x27,0x7d,0x39,0xe2,0xa3,0x55,0xc7,0xcf,0xda,0xfc,0x23,0xd5,0x0d,0x4e,0x1a,0xf6, - 0x20,0xe1,0xb8,0x49,0x5d,0x1f,0xf8,0x6c,0x72,0x4f,0x0e,0x00,0x12,0x09,0x60,0x92,0x8c, - 0xff,0x0b,0xb6,0x9d,0x84,0x9d,0x89,0xf2,0xd1,0xa5,0xf0,0x50,0x12,0x98,0xae,0xcb,0x4c, - 0x60,0x7a,0xb7,0xae,0xc8,0xfc,0xa3,0x76,0xbe,0xcf,0x78,0xdc,0x89,0x4c,0x78,0x22,0x26, - 0x1c,0x6a,0xfb,0xb8,0xc1,0xb7,0x6b,0xe3,0x05,0xff,0xc2,0x77,0x08,0x80,0x17,0x6c,0x02, - 0xc0,0xbf,0xde,0x7a,0x9d,0x31,0xd0,0x1e,0xfa,0xfa,0xbb,0xef,0xc5,0x4c,0x1a,0xca,0xed, - 0x1b,0x3f,0x7a,0x94,0xcd,0xbd,0x5e,0xcf,0x33,0x5f,0xf8,0xcc,0xf4,0xd7,0xdf,0x86,0x3c, - 0x89,0xeb,0x75,0xc2,0xf8,0x71,0x4c,0xd1,0x14,0x80,0xb3,0x6b,0xef,0x5e,0x66,0x8d,0x08, - 0x44,0x12,0x8b,0x85,0x8a,0x0d,0x64,0xdf,0x27,0xc3,0x92,0x65,0xcb,0x65,0xe2,0x97,0x28, - 0xa6,0x67,0x27,0x68,0x17,0xaa,0x83,0x85,0xb3,0x3e,0x15,0x4e,0x6d,0x40,0x00,0xfc,0x0d, - 0x2a,0x48,0xd8,0xe0,0xa4,0x33,0x3d,0x23,0x05,0xc0,0x97,0xcf,0xf6,0x62,0x63,0xbc,0x08, - 0x00,0x89,0xbd,0x4f,0xdb,0x4b,0x73,0x76,0xc0,0xad,0x1c,0xcb,0x70,0x64,0xbe,0x9b,0x0b, - 0x05,0xbb,0x54,0x7c,0x9e,0x81,0xcc,0xff,0xda,0xb6,0xb7,0x90,0xbd,0x0f,0x29,0x4e,0x24, - 0xcd,0xa0,0x8e,0xaf,0x1b,0x4c,0x1d,0xd2,0x92,0x3d,0x7b,0x47,0xfc,0x45,0xd8,0x7f,0xea, - 0x0a,0x7b,0x1c,0x6e,0xed,0x10,0x04,0xf1,0xe5,0x02,0xe0,0xdb,0xaf,0x3e,0x63,0x26,0x9e, - 0x3d,0x44,0x21,0xde,0x4f,0xbe,0xb0,0xbc,0xf7,0x73,0x93,0x27,0xb1,0x5e,0x2b,0xeb,0xf5, - 0x7a,0x9d,0x4a,0x07,0x10,0xc1,0xc0,0x7f,0x86,0x86,0x92,0x19,0x08,0x00,0x69,0x0c,0xe1, - 0xd9,0x89,0x13,0x45,0x0f,0x22,0x01,0xe0,0xee,0xdd,0xbb,0xf0,0xf3,0xb2,0x65,0xe2,0x67, - 0xe8,0xdc,0x6b,0xd3,0x5f,0x82,0x2c,0x3c,0x4f,0x0a,0x5f,0x49,0x49,0x89,0xec,0xdd,0x86, - 0x0d,0xea,0x05,0x3d,0xbb,0x70,0xf9,0x86,0xb1,0x73,0xde,0x82,0x53,0xf1,0xa2,0x65,0x34, - 0x00,0x41,0xb0,0xb5,0x82,0x00,0x20,0xbf,0xfc,0x07,0xc2,0xb1,0xb7,0xbb,0x33,0x2c,0x7d, - 0x63,0x30,0xc7,0x58,0x53,0xa9,0x05,0x00,0xbc,0x04,0x28,0x29,0x31,0xc3,0xf8,0x4f,0x37, - 0xca,0x7e,0x97,0xc2,0xd7,0x4f,0xb4,0x1e,0xb7,0xe1,0x08,0x00,0xbb,0x66,0x2f,0xf1,0xbe, - 0x88,0x3f,0x85,0xe3,0xe1,0x5d,0x1a,0x43,0xcb,0x46,0x9c,0xfe,0x96,0x9b,0x5f,0x0c,0xb3, - 0x7f,0x8b,0xc3,0x11,0x86,0x0d,0xa9,0xcb,0x11,0x00,0xe3,0xcb,0x04,0x80,0xa3,0xa3,0x03, - 0x7c,0xfd,0xd9,0x27,0x9c,0x07,0x8d,0x6f,0x5c,0x5b,0x23,0x66,0x04,0x00,0x02,0x02,0x11, - 0x45,0xf7,0x06,0xf5,0x8b,0x91,0xf5,0x7a,0x19,0xe3,0x15,0xbd,0x5e,0xa0,0xb8,0xf8,0x04, - 0xf8,0xe1,0xa7,0x45,0xe2,0xb1,0xaf,0x8f,0x0f,0x93,0x26,0xe2,0xcb,0xf2,0x9f,0x8d,0xdd, - 0xb2,0x45,0xe6,0xc5,0x23,0xa7,0x14,0x1d,0x4b,0x23,0x8e,0x7a,0x5d,0x29,0xf4,0x08,0xbe, - 0x00,0x31,0x8f,0xbd,0x04,0xce,0x7e,0xcd,0xd8,0xb9,0xfb,0xb7,0xd2,0x60,0xee,0x3b,0xaf, - 0x0a,0x4a,0x18,0x79,0x5c,0x5a,0x22,0x08,0xca,0xcc,0x11,0xb7,0xd2,0xe8,0x43,0x79,0x86, - 0x89,0xb4,0xe0,0x9f,0x03,0x21,0xc0,0x9b,0x9b,0x9d,0xc6,0xfc,0xfc,0x66,0xb0,0x98,0x80, - 0xb8,0x4d,0xfb,0x76,0x3b,0x64,0x66,0x59,0xcc,0xbc,0xe2,0x0b,0x57,0xa0,0x38,0x29,0x55, - 0x38,0xa4,0x1f,0xd3,0x1a,0x99,0x6f,0x77,0x8e,0x01,0xbe,0x0b,0x39,0xaa,0x06,0xd2,0xdf, - 0x6e,0xce,0x0e,0xf0,0xea,0xe8,0x76,0xd8,0xd6,0x3a,0x66,0x86,0xd2,0xcf,0xdc,0x70,0x30, - 0x0d,0x8e,0x9f,0x45,0x35,0x00,0x47,0x24,0x64,0x6a,0x28,0x82,0xe0,0xb2,0x55,0x00,0x90, - 0x69,0xf5,0xd1,0x7b,0x6f,0xb3,0x68,0x9b,0x8e,0x6b,0x71,0x11,0x0c,0x50,0x0e,0x28,0x76, - 0xef,0x3b,0x00,0xbf,0x2c,0x5f,0x29,0x32,0xee,0xf5,0x19,0x2f,0xcb,0x7a,0xbd,0x94,0xf1, - 0xd2,0x5e,0x2f,0xa5,0xaf,0xbe,0x9d,0x03,0xc9,0x67,0xc4,0x46,0x61,0x4e,0xa6,0xe8,0x76, - 0x6d,0x55,0x00,0xb8,0x7c,0xe5,0x0a,0x73,0xe5,0x5a,0x23,0x83,0xce,0x0c,0x31,0xf5,0xd3, - 0x20,0xd4,0x2b,0x0b,0x5c,0xfd,0x9b,0x43,0x70,0x8f,0x7f,0x89,0xd7,0x0e,0xaf,0xfb,0x0e, - 0x76,0x6f,0x12,0x3b,0xcc,0x74,0x04,0xc0,0xec,0x0a,0x34,0x3a,0x29,0xcd,0xa4,0x5c,0x79, - 0x0a,0xe7,0x9e,0x1b,0xdc,0x1a,0x86,0x77,0x6e,0x82,0x43,0x80,0x09,0x84,0x06,0x2d,0x35, - 0x5b,0xcc,0xc0,0xcf,0x56,0x1f,0x11,0xc4,0x31,0x23,0xd3,0xcd,0x2c,0x8a,0xf5,0x0b,0x87, - 0x43,0x90,0xf9,0x36,0x79,0xee,0x14,0xef,0x41,0x59,0xd6,0xa4,0xd8,0xb0,0x86,0xe9,0xdd, - 0x2a,0x04,0xfa,0xb6,0xa9,0xc7,0x33,0x9f,0x8b,0x35,0x5c,0xbe,0x49,0xb1,0x06,0x6e,0xc8, - 0x2c,0x2d,0x2e,0xf9,0xe0,0xe8,0xbc,0xa9,0x32,0xeb,0x45,0x06,0x00,0x2f,0x4f,0x4f,0xf8, - 0xf0,0xdd,0xb7,0x78,0x26,0x2b,0x98,0xad,0x01,0x0a,0xe9,0x75,0x4a,0xa2,0x7c,0x6f,0xe6, - 0x7f,0xc4,0x1b,0xbf,0xfd,0xda,0x3f,0x59,0xd2,0xa7,0x96,0xb8,0xd7,0x02,0x50,0xca,0xd9, - 0x73,0xf0,0xc5,0xec,0x6f,0xc5,0x63,0x72,0x28,0x3d,0x8e,0x63,0xbb,0x90,0x49,0xa4,0xa4, - 0x95,0x6b,0x7e,0x13,0xfd,0x10,0x52,0x72,0x34,0x98,0x60,0x40,0xe8,0x59,0x08,0x72,0xb7, - 0x28,0x92,0x75,0xbb,0xbd,0x09,0xae,0x01,0x91,0xec,0xef,0x92,0x82,0x6c,0xf8,0xe1,0xed, - 0x17,0x50,0xcf,0x60,0x1e,0x41,0xb2,0x29,0x9b,0x20,0x08,0xb4,0xc3,0x93,0x65,0x37,0xbe, - 0xcc,0x12,0x68,0x1c,0xe4,0x03,0x73,0x5f,0xea,0xcf,0xac,0x00,0xae,0xd7,0x9b,0x65,0x40, - 0xd8,0x99,0x78,0x11,0xbe,0xfc,0xcd,0xe2,0xe3,0x60,0xce,0x9f,0x3f,0x0e,0x42,0x69,0x61, - 0xd1,0x11,0x64,0x7e,0xb4,0xbd,0xcf,0xe7,0xdf,0x81,0xe2,0x03,0x4f,0xb3,0xf6,0xc2,0xce, - 0xf6,0xf6,0xb8,0x0e,0xe0,0xe1,0xe2,0xc0,0x06,0x7c,0xc1,0x07,0x41,0x8a,0xe8,0xa7,0xcb, - 0x8f,0x32,0x93,0xd0,0x7c,0x3f,0x3f,0xf3,0xd8,0xa2,0x17,0x64,0x0e,0x3f,0x19,0x00,0x88, - 0x41,0xb3,0xfe,0x33,0x93,0x35,0xbe,0xbc,0xc7,0xb3,0x8f,0xaa,0x40,0xa1,0xe3,0x3f,0x27, - 0xfc,0xfd,0xd6,0xbf,0x3e,0xc4,0x31,0x9a,0x6b,0xf8,0x89,0x4f,0x4e,0x80,0x56,0x91,0x11, - 0x32,0x71,0xaf,0xe5,0x32,0x26,0xca,0x2f,0x28,0x80,0x99,0xff,0x9d,0xc5,0x82,0x43,0x02, - 0x45,0x45,0x44,0x40,0xa7,0xe8,0x0e,0x56,0x7f,0x3c,0x0d,0x17,0xc7,0x8e,0xcb,0x7c,0x31, - 0x60,0x28,0x2d,0x86,0x61,0x4d,0x52,0x21,0xc0,0x4d,0xe6,0x51,0x03,0x67,0x9f,0x86,0x10, - 0xd2,0x6b,0xa6,0x78,0x7c,0x66,0xef,0x0a,0xd8,0xf0,0xeb,0x6a,0xe1,0xf0,0x33,0x04,0xc0, - 0xeb,0x15,0x68,0x7c,0x52,0x2c,0x64,0x5a,0xdc,0xa7,0x93,0x7b,0x41,0x9b,0xc6,0xb5,0x25, - 0x01,0x1f,0xb3,0x68,0xf3,0xd3,0xf1,0xcb,0x73,0xff,0x84,0x0b,0x99,0x16,0xeb,0xae,0x38, - 0xed,0x12,0x14,0x9f,0x3c,0xf7,0x25,0x02,0xe0,0x9f,0x15,0x78,0x3e,0x69,0xea,0xe4,0x1a, - 0x65,0xc1,0x97,0x36,0x8d,0x03,0xe0,0xef,0xbd,0xc3,0x54,0xd1,0x46,0x13,0x1e,0xac,0xd8, - 0x95,0x02,0x27,0x2e,0xdc,0xa2,0x61,0x80,0xf4,0x8e,0xe8,0x84,0x03,0x9f,0x1d,0xd1,0x04, - 0x00,0xd1,0xbb,0x6f,0xbe,0x8e,0x92,0xc0,0x43,0xc6,0x70,0x8e,0xfd,0xa0,0x02,0x85,0x12, - 0x0c,0x5f,0x7e,0x33,0x47,0xd4,0x03,0x28,0x90,0x33,0x68,0x40,0x4c,0x99,0xbd,0x1e,0x80, - 0xd3,0x9a,0xbf,0x99,0x3b,0x4f,0x96,0x8f,0x4f,0x1e,0xc5,0x51,0x23,0x47,0xb0,0xb9,0x03, - 0x4a,0x22,0x47,0x50,0x5c,0x7c,0x3c,0x73,0xf4,0x48,0x95,0x2a,0x83,0xa9,0x00,0x7c,0xb2, - 0x4f,0x42,0xcb,0x86,0x45,0xd0,0x24,0x54,0xfd,0xbd,0xc0,0x8e,0xd3,0xc1,0x2d,0xb0,0x0d, - 0xc7,0x8c,0x62,0x14,0x8b,0xef,0xbc,0x00,0xb9,0x5c,0xc8,0x95,0xfe,0x6b,0x8c,0x20,0xb0, - 0x7b,0xf2,0x47,0xfb,0x49,0x73,0x77,0xe9,0x9c,0x1d,0x7b,0x08,0xc7,0x11,0xa1,0xfe,0x30, - 0xfb,0xf9,0x18,0x3e,0xd6,0x6f,0xf1,0x03,0x08,0x40,0x88,0x3f,0x77,0x03,0xde,0x5b,0x2c, - 0x49,0x2a,0x26,0x86,0x9c,0x39,0xff,0x6b,0xc2,0x8e,0xff,0xd8,0x9d,0xf2,0x85,0x00,0xa0, - 0xe9,0x75,0xa2,0xc3,0x66,0xc6,0x63,0x6d,0xa1,0x7e,0x80,0x87,0x2c,0xda,0x28,0x48,0x80, - 0x6d,0xc7,0x32,0x44,0x13,0xb4,0x28,0x31,0x65,0x7d,0xc2,0xbe,0x59,0xc3,0xac,0x02,0x60, - 0xda,0xd4,0x29,0x10,0x12,0x5c,0x97,0x07,0x80,0x94,0xc1,0xa0,0x06,0x85,0x30,0x2c,0xf0, - 0x7f,0x93,0xe7,0x8d,0x62,0xec,0x44,0x3d,0xbb,0x77,0x83,0x71,0xa3,0x46,0x58,0xed,0xf5, - 0x02,0x2d,0xfe,0x65,0x99,0x2c,0xd5,0x8a,0x3c,0x89,0x23,0x86,0x0e,0x15,0x93,0x46,0xcb, - 0x63,0x3c,0x91,0xb1,0x24,0x0f,0x99,0x7f,0x02,0x0c,0xe6,0x22,0x30,0x1a,0x00,0xfa,0x76, - 0x71,0x04,0x67,0x27,0x39,0xe0,0x9c,0x7d,0x1b,0x43,0x70,0xf7,0x77,0xc5,0xe3,0xd4,0x03, - 0xbf,0xc1,0xfa,0x5f,0x56,0x09,0x87,0xdf,0x20,0x00,0x5e,0xb2,0x1b,0x00,0x93,0xe7,0xb6, - 0xd4,0x39,0x3a,0x24,0x48,0xf2,0xd8,0xe0,0xb5,0x31,0x1d,0x61,0x50,0x87,0x46,0x22,0xf3, - 0x45,0x86,0xb0,0x68,0xa0,0x19,0x56,0xec,0x49,0x81,0x9f,0xff,0x38,0x29,0x01,0x01,0x9e, - 0xd4,0xe9,0x48,0x02,0xcd,0x46,0x05,0xad,0xc4,0x96,0xe7,0x22,0xf3,0xc9,0x07,0x11,0x0b, - 0x7c,0xbf,0x0c,0xad,0xed,0x09,0xaf,0x3c,0xd6,0x46,0x16,0x6d,0x14,0x9e,0x4f,0x12,0x60, - 0xff,0xa9,0xab,0xb0,0xee,0x20,0x97,0x5a,0x57,0x9c,0x7c,0xbe,0xa8,0x38,0x35,0xc3,0x0f, - 0xa5,0xce,0x3d,0x01,0x00,0xa4,0x15,0xd6,0x15,0xbe,0x38,0x7e,0xcc,0x68,0xb4,0xad,0xc3, - 0x14,0xcc,0x96,0x0e,0x03,0xf2,0x5e,0x6f,0x51,0x11,0x74,0xb0,0x62,0xd5,0x1a,0x38,0x12, - 0xc7,0x89,0xe5,0x8e,0x1d,0xda,0xb1,0xec,0x9e,0xb2,0x28,0x76,0xf3,0x56,0x58,0xbf,0x51, - 0xae,0xcc,0xf5,0xed,0xdd,0x0b,0x1a,0x35,0x68,0x20,0x1e,0xd3,0x38,0x7f,0x1c,0xc5,0x3d, - 0xc5,0x02,0xac,0xa4,0x98,0x1d,0xf1,0xbf,0x75,0xe4,0x8c,0xc1,0x5c,0xf8,0xa4,0x70,0x22, - 0x24,0x50,0x0f,0x6d,0x23,0xd4,0xa6,0x6c,0x70,0xf7,0xb7,0x10,0x08,0xdc,0x9c,0x04,0x73, - 0x71,0x3e,0xcc,0xfb,0xd7,0xcb,0x90,0xcb,0x05,0x60,0x28,0x7a,0xd6,0x14,0x41,0x60,0x73, - 0x82,0x80,0x40,0x6d,0x86,0xfd,0x77,0x87,0x31,0x38,0x40,0x9c,0xe8,0x4a,0xd1,0xc0,0x9f, - 0xdf,0xfc,0x1b,0xf8,0xa0,0x69,0x28,0x07,0x81,0x59,0x3c,0xfe,0x66,0x7d,0x1c,0x6c,0x3a, - 0xa2,0x2a,0x4d,0x40,0x27,0x28,0x98,0xb3,0x18,0x81,0x60,0xd5,0x32,0x41,0xe6,0xd3,0x2c, - 0x2b,0x9a,0x52,0x2f,0x26,0xe7,0x3c,0xd3,0x3f,0x02,0xda,0x36,0x09,0x90,0x58,0x1d,0x96, - 0xcf,0x93,0x4e,0x72,0xf8,0x4c,0x26,0xac,0xdc,0xc3,0x29,0xd7,0x25,0xe9,0x57,0x49,0x0a, - 0x8c,0x45,0x00,0xac,0x14,0x00,0x40,0x7f,0x8c,0x16,0xbe,0xd0,0xb1,0x43,0x7b,0x96,0xc6, - 0x2d,0x30,0xda,0xba,0x04,0x50,0x83,0x61,0xf1,0xd2,0x5f,0xe0,0x14,0x2f,0xca,0x3b,0x45, - 0xb7,0x87,0x89,0x4f,0x58,0x97,0x6c,0x9b,0xb7,0xfe,0x01,0xbf,0x6f,0x50,0x2b,0xbe,0xc2, - 0xd8,0x6f,0x03,0xe3,0x89,0x28,0x6a,0x37,0xa2,0xce,0x8d,0xbd,0x94,0x80,0x49,0xbf,0x90, - 0x9b,0x53,0x88,0x5b,0xaf,0x4e,0x0e,0xe0,0xe9,0x2e,0x97,0x3e,0x6e,0x75,0x5a,0x41,0x9d, - 0xe8,0x17,0xc5,0xe3,0x73,0x87,0xd7,0xc3,0xba,0x25,0x62,0x14,0x7c,0x3e,0x02,0x60,0x8a, - 0xbd,0x00,0x88,0x6c,0x3c,0x29,0xd8,0xb1,0x7d,0x8b,0x8b,0x06,0x5f,0x2f,0x51,0x0c,0xb4, - 0x6c,0x54,0x1b,0xbe,0xfe,0x47,0x0c,0x53,0xcc,0xa4,0x12,0x40,0x2a,0x11,0x36,0x1f,0x4d, - 0x83,0x1f,0x36,0x25,0x8a,0x99,0x40,0x12,0xa2,0x80,0xce,0x37,0xc0,0xe5,0x21,0x90,0xdc, - 0xa6,0x1f,0x41,0x93,0x6d,0x08,0x64,0xd4,0xa3,0x64,0x0a,0x23,0x25,0x9d,0xbc,0x31,0xa6, - 0x1d,0x1b,0x4e,0x84,0x68,0xa3,0xc5,0x07,0xc1,0x7d,0x66,0xeb,0xb1,0x74,0x7c,0x5e,0x3a, - 0x07,0x80,0x2b,0x37,0xa0,0xe8,0xd8,0xa9,0xe5,0x08,0x80,0xf1,0x02,0x00,0x26,0xe2,0x7e, - 0x81,0x70,0x43,0x7f,0x3f,0x3f,0xf8,0xc7,0x94,0x49,0x22,0x53,0xd5,0x3d,0xde,0xba,0x04, - 0x98,0xfb,0xe3,0x02,0xb8,0x78,0x89,0x1b,0x6b,0xfa,0xf4,0xec,0x0e,0x63,0x47,0x8d,0xd4, - 0x6c,0x34,0xad,0x9e,0x2f,0x10,0x4d,0x05,0xa3,0xe4,0x4f,0x4a,0x10,0x29,0x83,0xf1,0x74, - 0x81,0x5c,0x9f,0x93,0x84,0x44,0x8d,0xf7,0x46,0xb7,0xa1,0x24,0xcc,0x2f,0x85,0x0f,0x04, - 0x05,0xe8,0xa1,0x43,0x4b,0xb9,0x14,0xa0,0x77,0x24,0x65,0xd0,0xc1,0x9d,0xcb,0xd5,0x34, - 0x97,0x14,0xc0,0x4f,0x1f,0xbc,0x02,0x39,0x77,0x59,0xb8,0x9d,0x7a,0x5d,0x38,0x82,0xc0, - 0xee,0x49,0x1f,0x51,0x2d,0x9e,0x5b,0xe3,0xd4,0xa9,0xe5,0x48,0x9d,0x93,0x25,0x19,0xe6, - 0x6f,0x9d,0x9b,0xc2,0xeb,0x63,0x3a,0x49,0xbc,0x82,0x66,0xd5,0xb0,0x40,0x7e,0x81,0x5f, - 0x77,0x9c,0x82,0xed,0xf1,0x19,0x4c,0x17,0xb2,0x97,0x1c,0x71,0xbc,0xfb,0xf0,0x89,0x4e, - 0xcc,0xff,0x20,0x44,0x1b,0xd9,0xbd,0xc1,0xe2,0x83,0xa0,0x21,0x60,0xe5,0xee,0x54,0x38, - 0x70,0xfa,0x2a,0xfb,0x8e,0xe9,0xc6,0x1d,0x28,0x3c,0x98,0x78,0x03,0x01,0x50,0x5b,0x00, - 0x00,0x99,0x05,0x64,0xa0,0x5a,0xb2,0x83,0x26,0x3e,0x05,0x01,0xfe,0x01,0xaa,0xf1,0x5e, - 0x09,0x02,0xa5,0x4f,0xe0,0xe3,0x59,0x9f,0x33,0x8d,0x9e,0x68,0xd4,0xf0,0xbf,0x41,0xbf, - 0xbe,0xea,0xa9,0xdd,0xeb,0x62,0x37,0xc9,0x72,0xfc,0xec,0x24,0x72,0xf0,0xd3,0xc0,0x4d, - 0xc9,0x1a,0x32,0xb7,0x26,0x02,0x80,0xb8,0x4d,0x61,0xb5,0xc6,0xc2,0xb9,0xde,0x1d,0x51, - 0x0a,0x78,0xc8,0xa5,0x80,0x67,0xbd,0xae,0xe0,0xd7,0xd2,0x92,0x60,0x73,0x21,0x6e,0x33, - 0xfc,0xbe,0x78,0x85,0x70,0xf8,0x0b,0x02,0xc0,0xee,0x6a,0x25,0x11,0xc1,0x13,0xfc,0xf5, - 0xbe,0x5e,0xa9,0x08,0x02,0x6f,0x9d,0xd1,0x12,0x0e,0x9e,0x34,0xa0,0x15,0x4c,0x1a,0xd8, - 0x4a,0x92,0x11,0x24,0x57,0x0e,0x85,0xe0,0xd1,0x75,0x04,0xc2,0x8a,0x3d,0xc9,0xb0,0x2d, - 0x2e,0x5d,0xf0,0xda,0x95,0x4b,0x14,0x7e,0x7e,0x76,0x60,0x24,0x34,0x0b,0xf6,0x51,0xb9, - 0x9d,0x4b,0x65,0x56,0x80,0x19,0xfe,0xb7,0x36,0x1e,0xce,0x5e,0xe1,0x4c,0x66,0x5e,0x02, - 0xd0,0x9f,0x21,0x08,0x82,0xcb,0x42,0x46,0x10,0x89,0xd2,0x3e,0xc2,0xcd,0xdb,0xb6,0x6e, - 0x05,0x31,0xbd,0x7b,0xdb,0xa6,0x04,0xf2,0x7f,0x53,0xcc,0x9d,0xb2,0x7a,0x04,0x7a,0xe5, - 0xc5,0x69,0xb2,0x39,0x80,0x54,0x94,0x61,0xe9,0xf2,0x95,0x6c,0xa6,0x8d,0x82,0x28,0xd7, - 0xab,0x2d,0x94,0x4d,0x84,0xaa,0x45,0xb8,0x7d,0x8e,0x8c,0x4f,0xb3,0xf6,0x21,0x04,0x81, - 0x2c,0xb7,0x41,0x53,0x0a,0xe8,0x8d,0x50,0xaf,0xcf,0xc7,0x60,0x70,0xe2,0x7c,0x38,0xa5, - 0xa6,0x42,0x58,0xf8,0xef,0xd7,0x20,0xfb,0x0e,0xd3,0x89,0xa8,0xf5,0xa3,0x10,0x04,0xe5, - 0x66,0xd2,0x68,0x80,0x60,0xac,0xa1,0x76,0xad,0xe5,0x4e,0xd1,0x91,0x20,0x55,0x0a,0x9f, - 0xea,0x17,0x05,0x53,0x07,0xb7,0x11,0x25,0x81,0x34,0x4e,0x20,0xe8,0x06,0x02,0x28,0xae, - 0x67,0xdf,0x87,0xdf,0xf7,0xa7,0xc2,0xde,0x93,0x97,0xe1,0x76,0x4e,0xbe,0xe6,0x73,0x68, - 0xfe,0x40,0xc7,0xb0,0x40,0x54,0x34,0x1b,0x80,0x83,0x41,0x2f,0x4a,0x49,0x61,0xec,0xe7, - 0x32,0x8e,0x04,0x80,0xa1,0x89,0x83,0x43,0xcc,0xab,0xf3,0xf6,0x88,0x12,0x86,0x37,0x3d, - 0xe9,0xcf,0xc1,0x08,0x80,0x4d,0x02,0x00,0x46,0xe0,0xee,0x37,0xe1,0x21,0x94,0x64,0x31, - 0xf9,0xe9,0xa7,0x58,0xa2,0x87,0xad,0x43,0xc0,0xfe,0x43,0x87,0x61,0xe7,0xee,0x3d,0xe2, - 0xf7,0xbf,0xf8,0xe4,0xdf,0x6c,0xd2,0x07,0xd1,0x9d,0x3b,0x59,0x30,0x77,0xfe,0x02,0xc8, - 0xb8,0xa8,0xca,0xb5,0x20,0x66,0x3d,0xe7,0xec,0xec,0xbc,0xab,0xa0,0xa0,0xa0,0x8b,0xc6, - 0xef,0x25,0xa3,0x99,0x92,0x22,0x66,0x23,0xe3,0x33,0xa1,0x1c,0xe2,0xa5,0x00,0xe9,0x02, - 0xa1,0xc2,0xb9,0x5e,0x28,0x05,0xbc,0x14,0x52,0xc0,0xbb,0x71,0x7f,0xf0,0x09,0x13,0x2d, - 0x21,0xc8,0x48,0xf8,0x03,0x7e,0x5b,0xb8,0x5c,0x38,0x5c,0x83,0x00,0x18,0x55,0xde,0xb3, - 0xac,0x80,0xe0,0x37,0xc7,0xb6,0xe1,0x23,0x8c,0xc1,0xb5,0x65,0xe7,0x47,0x74,0x0d,0x83, - 0xe9,0x23,0x3a,0xa0,0x59,0xab,0x57,0xc5,0x09,0x04,0xc7,0x91,0x54,0x32,0x10,0xb3,0xd2, - 0xae,0x65,0xc1,0x8d,0xec,0x3c,0x96,0x30,0x4a,0x99,0xc5,0xde,0x6e,0x4e,0x2c,0xd0,0xe3, - 0xef,0xe5,0xa2,0x19,0x6d,0x54,0x02,0x41,0x78,0xc6,0x71,0x34,0x3d,0xe7,0xc6,0x5a,0x82, - 0x67,0x45,0xa7,0xd2,0xa0,0xe4,0x1c,0xd3,0x75,0x59,0xa2,0xa9,0x00,0x00,0x59,0x3c,0x99, - 0x28,0x3c,0x2c,0x0c,0xfa,0xf7,0xed,0xcb,0xdc,0xb9,0x5a,0xae,0x60,0xe9,0x46,0x28,0x9e, - 0x3b,0xff,0x27,0x31,0x8c,0xdb,0xa6,0x55,0x14,0x3c,0x37,0x99,0x0b,0x96,0x9d,0x49,0x3d, - 0x0b,0x3f,0x2e,0x58,0x0c,0xf7,0x72,0x65,0x69,0x6d,0xf4,0xb6,0x14,0x9a,0x7b,0x9b,0x4a, - 0xb7,0xf1,0xc5,0xa2,0xc8,0xa5,0x29,0xb4,0x1c,0x0d,0x58,0xe4,0xa2,0xfd,0x01,0xaf,0xdb, - 0x1c,0x17,0xe7,0x41,0xf0,0x1c,0x0f,0x1a,0x46,0x81,0x28,0x05,0xa2,0x15,0x52,0xc0,0xe0, - 0xe0,0x0a,0x21,0x7d,0x3e,0x02,0x9d,0x81,0x0b,0x32,0x95,0x9a,0x8a,0xe0,0xe7,0x8f,0xdf, - 0x82,0x3b,0xb7,0x73,0x84,0x77,0x6b,0x87,0x20,0x38,0x6e,0xfb,0x53,0x39,0x6a,0x37,0xf1, - 0xbb,0x89,0x7a,0x57,0xe7,0x05,0x5a,0xd7,0x9a,0xd7,0xf7,0x83,0xff,0x3c,0xdd,0x13,0x99, - 0xc8,0x29,0xef,0x96,0x31,0xda,0xac,0x1a,0x16,0xa4,0x66,0xa3,0xd2,0xad,0x6c,0x2d,0xda, - 0x28,0xe8,0x18,0x02,0x09,0x43,0x01,0x85,0xa1,0xf7,0x9e,0xb4,0xb8,0xa0,0xf9,0xd9,0x46, - 0xf4,0xe7,0x2b,0x08,0x80,0xaf,0xa4,0x59,0xc1,0xb2,0x98,0x32,0xd1,0x00,0x04,0x40,0xd3, - 0x26,0x4d,0x2c,0x3d,0x5e,0x2f,0x61,0xbc,0x04,0x0c,0xa7,0x92,0x93,0x61,0xd3,0x56,0xcb, - 0xb8,0x3e,0xfd,0x85,0x7f,0xb0,0x90,0xf2,0xef,0xeb,0x63,0x59,0xbe,0x80,0x42,0x99,0x23, - 0xc7,0xcb,0x64,0x64,0xec,0x32,0xe9,0x49,0x7c,0x3e,0x05,0x34,0x28,0xa3,0x85,0x0a,0x47, - 0x2d,0xd1,0xca,0xc2,0xb5,0x11,0x00,0xc4,0x55,0x1a,0x26,0x44,0xd3,0x56,0x4b,0x0a,0xd4, - 0x0a,0x1f,0x09,0x9e,0xa1,0x3d,0xc5,0xe3,0x4b,0x27,0x76,0xc2,0xea,0x05,0xa2,0x14,0xd8, - 0x84,0x00,0x18,0x6c,0xcf,0x73,0xd1,0x3c,0xa3,0xf9,0x7e,0xbb,0xc0,0x52,0xaf,0x50,0x45, - 0x1e,0xae,0x4e,0xf0,0xdc,0x90,0x36,0x30,0x0c,0x15,0x44,0x3d,0xdf,0xa6,0x4a,0x86,0x6a, - 0x99,0x8d,0xa6,0x52,0x8b,0x5e,0xa0,0x15,0x6d,0x64,0xd2,0x40,0xa1,0x63,0x10,0xe5,0x16, - 0x14,0xc3,0x2b,0xf3,0x76,0xcb,0x2c,0x8d,0xfc,0xed,0x87,0xa0,0xf4,0x3e,0x1b,0x5e,0xde, - 0x44,0x00,0x7c,0x2a,0x05,0x00,0xfd,0xbd,0x1b,0xb7,0x6e,0xc2,0x39,0x12,0xe5,0x03,0x63, - 0x62,0xa0,0x5e,0x48,0x88,0xca,0x0f,0x20,0x6c,0x14,0x7e,0x5d,0xb2,0x7c,0x99,0xe8,0x02, - 0x6e,0x1e,0xd6,0x94,0x49,0x0f,0x52,0xf4,0x34,0x32,0x70,0xc9,0x75,0x39,0xd2,0x5a,0xb5, - 0x0d,0x7a,0x87,0xca,0x28,0xe6,0x88,0x20,0x20,0xa7,0x8e,0x18,0xe4,0x09,0xf4,0x47,0x29, - 0xd0,0x4a,0x2e,0x05,0x8c,0x2e,0x3e,0x10,0xdc,0xf3,0x3d,0xfc,0x49,0x9c,0xd2,0x56,0x6a, - 0xc6,0xdf,0xf1,0xdf,0x77,0xe0,0xce,0x2d,0x51,0xe0,0x74,0x46,0x10,0x1c,0xb4,0x91,0xf9, - 0xa4,0xec,0x50,0xfd,0x41,0x59,0x1e,0x1d,0xa5,0x88,0x51,0x1b,0xc5,0x9f,0x93,0xe7,0x24, - 0x36,0x0d,0xae,0x05,0x2f,0x8f,0xec,0x00,0xad,0x1b,0x71,0x02,0x4f,0x8b,0xa1,0x4a,0xb3, - 0x51,0xea,0x56,0xd6,0x8a,0x36,0x0a,0x80,0x91,0x66,0x23,0xcd,0xdb,0x9c,0x24,0xeb,0xfd, - 0xe6,0xec,0x7b,0x5c,0xe6,0x31,0x47,0x13,0x11,0x00,0x8b,0x94,0x13,0x43,0xc8,0x03,0x44, - 0xa9,0xce,0xa2,0x1b,0x8e,0x90,0xda,0xb6,0x75,0x6b,0x88,0x8a,0x8c,0x60,0x79,0x02,0x16, - 0x1d,0x80,0xdb,0xef,0xd8,0xbd,0x1b,0x4e,0x9f,0xb1,0xb8,0x71,0xc9,0x8c,0xd3,0xa8,0xc2, - 0x45,0x6f,0x4e,0xc9,0x7e,0x6f,0x20,0x83,0x73,0xa0,0x8a,0x09,0x01,0x40,0x7e,0x01,0x02, - 0x9b,0x38,0x18,0xf7,0x8c,0x76,0x00,0x6f,0x4f,0xb9,0x14,0xf0,0x6f,0x39,0x01,0xdc,0x82, - 0x2c,0xfa,0xe7,0x85,0xb8,0x6d,0xb0,0xee,0x97,0xb5,0xc2,0x61,0x2c,0x02,0x60,0xa8,0x0d, - 0xcc,0x27,0x2b,0x8a,0x72,0x0a,0x1b,0x48,0xcf,0x07,0xd5,0x72,0x87,0xa7,0xfb,0x47,0x00, - 0xe5,0xa7,0x26,0x5f,0xba,0x03,0x5b,0xd1,0x0e,0xcf,0xcd,0x97,0x4f,0x90,0x0d,0xaf,0xef, - 0x0f,0x8f,0x75,0x0b,0x83,0x3e,0xad,0x43,0x99,0x49,0xa7,0xc5,0x50,0xb5,0x7e,0xa0,0x1d, - 0x6d,0x94,0x5a,0x19,0x25,0x28,0x25,0x96,0xef,0x3e,0x03,0xeb,0x0e,0xca,0x2d,0xda,0xc2, - 0x83,0x49,0x68,0x06,0x8a,0x71,0xaf,0xfe,0x08,0x80,0x6d,0x5a,0x53,0xc3,0xc8,0xcd,0x48, - 0xb1,0x6e,0xd9,0x6c,0x56,0x4a,0xca,0xa8,0x17,0x12,0xcc,0xaa,0x7c,0xb8,0xba,0xb8,0x30, - 0xff,0xfe,0xed,0xac,0x2c,0x59,0x16,0xaf,0x15,0x22,0x46,0x4c,0x41,0xc6,0xff,0x59,0xde, - 0x07,0x2b,0x93,0x10,0x04,0x34,0xc9,0xe5,0x33,0xe1,0xb8,0x8e,0x9f,0x1e,0x3a,0xb6,0x96, - 0x4b,0x01,0x47,0xcf,0xba,0x10,0xd8,0xe9,0x15,0xf1,0xd8,0x5c,0x9c,0x07,0xf3,0x67,0xbe, - 0x07,0xf9,0xf9,0x6c,0xf4,0xa1,0x76,0x8e,0x2c,0xcb,0x22,0x40,0xe6,0x93,0xe3,0x89,0xa4, - 0x66,0x94,0xf4,0xbc,0xab,0xb3,0x03,0x4c,0x19,0x14,0x05,0x5e,0x6e,0x8e,0xa2,0x6d,0x5e, - 0x58,0x62,0x86,0x83,0xa7,0xae,0xc0,0xa1,0xe4,0x6b,0x2a,0x53,0x8f,0x12,0x4a,0xfa,0xb7, - 0x6b,0x08,0x5d,0x23,0xea,0xa1,0xd4,0xa8,0xcd,0xa4,0x6d,0x59,0x66,0xa3,0x56,0xb4,0x51, - 0xe8,0xfd,0x19,0x37,0x72,0x60,0xc1,0xd6,0x13,0xb2,0x39,0x07,0x44,0x25,0x17,0xae,0x40, - 0x91,0x25,0xff,0x80,0x28,0x0a,0x01,0x70,0x42,0x33,0x42,0x83,0x20,0x20,0x43,0x99,0x66, - 0x98,0x38,0x41,0xc5,0x89,0xe4,0x1e,0x8d,0xe7,0x73,0x6a,0xa2,0xd4,0x1a,0x02,0x80,0xb4, - 0x2d,0x02,0x9f,0x9f,0x70,0x4e,0x4b,0x0a,0xd4,0x89,0x7e,0x01,0x9c,0xbc,0x2c,0xb3,0xba, - 0x4e,0xed,0xfd,0x1d,0xb6,0xaf,0xdf,0x29,0x1c,0x2e,0x46,0x00,0x3c,0xad,0x75,0x7f,0x3e, - 0x27,0x80,0x32,0x8a,0xba,0x4b,0xcf,0x53,0x22,0xec,0x93,0x31,0x2d,0x20,0x84,0x0f,0xcc, - 0x10,0x95,0x4a,0xe2,0xf3,0x77,0xef,0x17,0xc1,0x7e,0x14,0xcb,0x27,0xd3,0x6f,0x42,0x71, - 0x89,0xda,0xe6,0x77,0x73,0x76,0x84,0xe8,0xb0,0x20,0x88,0x6c,0x10,0x00,0x0d,0x03,0xbd, - 0xd9,0xe6,0xe1,0xea,0xa8,0x69,0x36,0x0a,0xc3,0x02,0x31,0xfd,0x50,0xf2,0x55,0x38,0x9a, - 0x92,0x09,0x29,0x97,0xef,0xa8,0x1c,0x68,0xc5,0xe7,0x2f,0x43,0xf1,0x09,0x59,0x0a,0x24, - 0x89,0x68,0x8a,0x07,0xe4,0x58,0x4d,0xf7,0x41,0x10,0x90,0xcb,0x91,0x9c,0x2e,0x21,0x76, - 0xb6,0x3d,0xc5,0x16,0x68,0xfc,0xad,0x11,0xc6,0x4b,0x09,0x41,0xf0,0x36,0xee,0xc4,0x24, - 0x85,0x3a,0xa8,0x0b,0x74,0x54,0xe8,0x02,0xee,0x38,0x04,0xd4,0x8a,0x18,0xcb,0x1f,0xa1, - 0xf8,0xcc,0xcf,0x82,0xef,0x3f,0xfc,0x88,0xf5,0x34,0xbe,0xa1,0x1a,0x21,0x08,0x64,0xf6, - 0x2b,0x32,0x9f,0xa4,0x23,0xc5,0x93,0x87,0x2b,0x9f,0x39,0xba,0x47,0x53,0x88,0x08,0xf5, - 0xe3,0x98,0x0e,0xa0,0x02,0x01,0xf7,0x14,0x80,0x82,0x62,0x13,0x9b,0x12,0x4e,0xd9,0x3a, - 0xd2,0x9a,0x00,0x5a,0xe4,0xeb,0xe1,0x02,0x5e,0xee,0x4e,0xe0,0xe9,0xe2,0x04,0xee,0x14, - 0xef,0xc7,0xfb,0x90,0x79,0x98,0x95,0x5b,0x80,0xfb,0x02,0x2d,0x77,0x32,0xf7,0x9c,0x82, - 0x42,0x28,0x3a,0x71,0x0e,0x4c,0x57,0x55,0xa5,0x05,0x36,0x23,0xf3,0x59,0x52,0x6b,0x99, - 0xf9,0x5e,0xfc,0xac,0x21,0xb2,0x0e,0x68,0xbe,0x3b,0x0d,0x96,0xd6,0x8a,0x1c,0xd0,0x60, - 0x43,0x7e,0x84,0xdf,0x71,0x3b,0x82,0x8c,0xb7,0xdf,0xaf,0x59,0x05,0x84,0x00,0x20,0x6f, - 0x4f,0x3a,0xf0,0x93,0x25,0xe8,0xc7,0xf6,0xe9,0xe2,0x08,0xee,0xae,0x96,0x9f,0xad,0x33, - 0x38,0x40,0x70,0xf7,0xb7,0x41,0x6f,0x74,0x01,0xc1,0x79,0x7e,0x64,0xd3,0x52,0x38,0xb8, - 0x5b,0xb4,0x02,0xbf,0x42,0x00,0x88,0xe3,0x04,0x32,0x9f,0xbe,0x4c,0xd2,0x71,0x92,0xf2, - 0x79,0x94,0x8d,0xd3,0x3d,0x2a,0x58,0x32,0x11,0x54,0x0d,0x02,0x00,0x8b,0x34,0x60,0x7f, - 0xe3,0xbf,0x23,0x67,0x32,0x61,0x7b,0xdc,0x45,0x00,0x78,0x60,0xfd,0x97,0x91,0xf9,0xde, - 0x7d,0x16,0xf4,0x29,0xb9,0x78,0x4d,0x99,0x72,0x2e,0xd0,0x40,0x04,0xc0,0x16,0xa1,0x4d, - 0x6c,0x22,0x04,0x03,0x89,0x54,0x9a,0xff,0x4f,0x15,0x1c,0xc8,0xd4,0x21,0xc7,0x0c,0xf5, - 0xf6,0x2b,0xc8,0xf0,0xfb,0xb6,0xde,0xa7,0xba,0x09,0x41,0xf0,0x01,0xee,0xc4,0xe2,0x0a, - 0x0d,0x43,0x0c,0x10,0x15,0x26,0xcf,0x17,0xf0,0x6d,0x3a,0x18,0x3c,0xea,0x59,0xfc,0x50, - 0xf9,0xd9,0x57,0x60,0xde,0x7f,0xc5,0xb0,0x02,0x39,0x30,0xea,0x23,0x08,0x58,0xb6,0x0a, - 0x02,0xe0,0x63,0xdc,0xbd,0xa5,0x7c,0x4e,0xdb,0xa6,0xb5,0x61,0x78,0x67,0xce,0x0b,0x4d, - 0x4c,0xb5,0x06,0x02,0xf1,0x1c,0x0f,0x02,0xea,0xc9,0x3f,0x6d,0x3e,0x21,0xeb,0xc5,0xc5, - 0xa9,0x19,0xac,0x36,0x80,0xce,0xc3,0x0d,0xf4,0x9e,0x6e,0xa0,0x73,0x71,0x06,0xa9,0x8b, - 0x59,0x4a,0x94,0x59,0x54,0x7a,0x3f,0x8f,0xcd,0x31,0x30,0xdf,0xce,0x66,0xa9,0x66,0xa5, - 0xf7,0xca,0x64,0xc7,0x62,0x64,0xfe,0xd3,0xc2,0xc1,0x43,0x51,0x2e,0xbe,0x2a,0x09,0x01, - 0x40,0xb3,0x4a,0xa8,0x7b,0xb1,0xdc,0x32,0x6a,0xc7,0x01,0xdd,0x1d,0xd1,0xc4,0xb5,0xfc, - 0x74,0x07,0x37,0x7f,0x54,0x06,0x69,0x62,0x8d,0x85,0x49,0x7f,0x2e,0x9b,0x07,0xa7,0x12, - 0xc4,0x71,0xf3,0x3d,0x04,0xc0,0xbf,0xb5,0x66,0x04,0x11,0x35,0x0a,0xf2,0x86,0xa7,0x71, - 0xdc,0xd7,0xf1,0xea,0x05,0xc7,0xf4,0xf2,0x41,0x50,0x8c,0xbd,0x73,0xe1,0xd6,0x53,0x2c, - 0x16,0x20,0x10,0x1f,0xae,0x55,0xff,0x10,0xd2,0x0c,0x1d,0x8c,0x08,0x04,0x23,0x30,0xd3, - 0x82,0x18,0x4f,0x19,0xd0,0xc5,0x36,0xa5,0x10,0x08,0x44,0x12,0x7a,0x3c,0x02,0x40,0xf4, - 0xb1,0xfc,0xe5,0x01,0x40,0x84,0x20,0x98,0x0f,0x12,0x91,0x1d,0xd9,0xd4,0x08,0x8d,0xea, - 0xcb,0x7b,0x54,0xed,0x36,0xcf,0x80,0x93,0x77,0xa8,0x78,0x7c,0x37,0x33,0x15,0x16,0xcf, - 0x16,0xc3,0x0a,0x37,0xfe,0xf0,0x9f,0x3a,0xc7,0xac,0x33,0x7e,0xa0,0xbc,0x77,0x6d,0x1f, - 0x57,0x96,0x87,0xef,0x24,0xe9,0xa1,0x02,0xf3,0xb5,0x40,0xc0,0xfd,0xcd,0xfd,0xb5,0xee, - 0x40,0x1a,0x24,0xa6,0x59,0xc6,0x67,0x73,0x6e,0x1e,0x14,0xec,0x52,0xcd,0x10,0xae,0x0c, - 0x22,0x25,0x83,0x24,0xd7,0xc7,0xc8,0x7c,0xd9,0xcd,0x1f,0x15,0x00,0xc8,0xf2,0xf7,0xdc, - 0x5c,0x74,0x10,0xd3,0xd5,0x51,0xf6,0x19,0xd7,0xda,0x11,0x50,0x2b,0x5c,0x1e,0x02,0x58, - 0xff,0xe3,0x6c,0xc8,0xb8,0x90,0x09,0x17,0x5c,0x5b,0x43,0xaa,0x7b,0x67,0xd5,0x7d,0x29, - 0xf9,0x63,0xda,0xb0,0x56,0x12,0x73,0xcf,0x72,0xcd,0x1a,0x08,0xb8,0x6b,0x00,0x71,0xa9, - 0x99,0x10,0x7b,0xc8,0x92,0x14,0x42,0xa6,0x5c,0xe1,0x9e,0x38,0x30,0xdf,0xb5,0x3a,0x23, - 0xbd,0x22,0x44,0x5e,0x2d,0x2a,0xb2,0x44,0x79,0x87,0x9a,0x41,0xb4,0x47,0x02,0x00,0x44, - 0x08,0x02,0x02,0x40,0x3b,0xe1,0x98,0xac,0x01,0xb2,0x0a,0xc4,0x86,0xd0,0x1b,0x20,0xa8, - 0xd3,0x0c,0xd0,0x3b,0x58,0xb2,0x90,0x6f,0x9c,0x8f,0x87,0x4f,0x97,0x9d,0x85,0x14,0x77, - 0x75,0x9c,0xca,0xd9,0xd1,0x08,0x53,0x07,0x47,0x41,0x60,0x2d,0xee,0xf3,0x42,0xf4,0x8d, - 0xfb,0x9b,0xdf,0x6b,0x80,0x80,0xe8,0xd2,0xcd,0x5c,0x14,0xfd,0x27,0x05,0x4b,0x83,0x51, - 0xd1,0xe9,0x34,0x28,0x39,0xab,0x4a,0x48,0x22,0x6b,0x8a,0xc6,0x87,0x08,0x7e,0x0b,0x05, - 0x45,0xcd,0x65,0x05,0xd1,0x67,0xc9,0xd8,0xa7,0xc4,0x43,0xb2,0x65,0xb7,0x97,0x57,0x5b, - 0xe0,0x51,0x02,0x00,0x0d,0x01,0xf3,0x85,0x63,0x7f,0x5f,0x3d,0x74,0x69,0x2b,0x37,0x09, - 0xbd,0x1a,0xf6,0x41,0x65,0xd0,0xd2,0xd3,0xd7,0xc7,0xe7,0xc2,0x8f,0x7b,0xd4,0x3d,0xd2, - 0xd1,0xc1,0x00,0xcf,0x0e,0x8a,0x84,0x7a,0xfe,0x1e,0xdc,0xd8,0xce,0x9f,0x97,0x9b,0x7c, - 0xfc,0x39,0x05,0x08,0x72,0xf2,0x8a,0xe0,0x87,0xd8,0x24,0x99,0x57,0xd0,0x74,0x2b,0x0b, - 0x0a,0xf7,0xab,0xbc,0xe3,0x1b,0x70,0x1b,0x26,0x9d,0x29,0x14,0x11,0x3c,0x81,0x3c,0x9c, - 0x64,0xd1,0x78,0xf2,0x1b,0xa1,0x8f,0xc6,0x73,0x62,0x32,0xd5,0x01,0xb8,0x66,0xef,0xcc, - 0xa2,0x47,0x09,0x00,0xd4,0x58,0x64,0xb5,0x88,0xf5,0x8f,0x7a,0x2b,0xd2,0xc6,0x8c,0xce, - 0xde,0x50,0xa7,0xc3,0xf3,0xac,0x59,0x36,0x26,0xe5,0xc3,0xf7,0xbb,0xd5,0x5e,0x6b,0x72, - 0xf4,0x4c,0x1a,0x10,0x01,0x8d,0x83,0xb8,0xdb,0x08,0xda,0xbc,0xb4,0xd5,0x05,0x69,0xa0, - 0x04,0x41,0x11,0x8e,0xed,0xf3,0x37,0x9d,0x84,0x6b,0xb7,0x2d,0x9d,0xb2,0x14,0xb5,0xff, - 0x82,0x5d,0x47,0xa0,0x34,0x5f,0x16,0xfb,0xa2,0x0c,0xe5,0x96,0xc8,0xcc,0x9b,0x50,0xc5, - 0xf4,0xc8,0x00,0x80,0x08,0x41,0x40,0x22,0x55,0xcc,0xfe,0xad,0x5f,0x57,0x0f,0xad,0xc3, - 0xe5,0x52,0xc0,0x3f,0x72,0x2c,0x6c,0xbf,0x14,0x88,0xcc,0x57,0x4b,0x4e,0x8a,0xcb,0x3f, - 0xdd,0xaf,0x05,0x84,0xd7,0xf3,0xe5,0xb5,0x7a,0xee,0xbc,0xad,0x20,0x58,0xbe,0x33,0x05, - 0x4e,0xa6,0x4b,0x0a,0x76,0xe0,0xb5,0xc2,0xc3,0xaa,0x19,0xc2,0xf4,0x8d,0x01,0xe4,0xa7, - 0xaf,0x8e,0x36,0x79,0xd4,0x00,0x40,0x75,0x7d,0x4e,0x0a,0xbf,0x9b,0xaa,0xc5,0xf5,0x47, - 0x93,0xd0,0xd1,0xc1,0xd2,0x0c,0x3b,0xee,0xf7,0x86,0x55,0xe7,0x1a,0xaa,0xbe,0x4b,0x81, - 0xaf,0x09,0xbd,0xc3,0xa0,0x75,0x63,0x2e,0xe0,0x27,0x32,0x5d,0xd3,0xb9,0x23,0x39,0xc7, - 0x83,0x80,0x4a,0xc2,0xfc,0x19,0x2f,0x2f,0xf9,0x4b,0xf6,0x7e,0x71,0xb2,0x2a,0x3b,0xf8, - 0x0b,0x64,0xbe,0x4d,0xc5,0xba,0x2a,0x83,0x1e,0x29,0x00,0x10,0x21,0x08,0x76,0xe1,0x4e, - 0x9c,0xcc,0xd1,0xa2,0x89,0x41,0x9c,0x48,0xb2,0xee,0x5a,0x3b,0xd8,0x72,0xa3,0x95,0xe6, - 0xf7,0xc6,0xf4,0x68,0x06,0x9d,0x9a,0x73,0xc9,0xa4,0xaa,0x9e,0x2f,0x39,0x66,0x7b,0x90, - 0x83,0xe0,0xc4,0x85,0xdb,0xf0,0xeb,0x0e,0x79,0xf5,0x2f,0x36,0x37,0xf0,0x60,0xa2,0xdc, - 0x74,0x00,0xa0,0x3c,0x47,0xaa,0x0b,0xa4,0x5d,0x57,0xb7,0x0a,0xe8,0x51,0x04,0x00,0x15, - 0xc1,0x14,0x93,0x51,0x5c,0x9c,0x01,0x4d,0x42,0x67,0x58,0x79,0xb5,0x13,0xec,0xbe,0x15, - 0xae,0xf9,0x1d,0xf2,0xf0,0xf5,0x6a,0x19,0xac,0xea,0xd9,0xe2,0xdf,0xa0,0x30,0x01,0x25, - 0x43,0xc2,0xb5,0xdb,0xf7,0x61,0xee,0x86,0x44,0x28,0x92,0xb8,0x64,0xc9,0x47,0x4f,0xf6, - 0x7e,0x69,0xa1,0x8c,0xcf,0xa4,0xc1,0x53,0x45,0xb0,0x33,0x50,0x8d,0xf4,0x28,0x02,0x80, - 0x1c,0x00,0x14,0xdc,0x61,0xb2,0xbc,0x14,0x9b,0xe0,0x46,0x68,0x5f,0x48,0xc8,0x6b,0xaa, - 0xf9,0xf9,0x11,0x5d,0x88,0xf9,0x21,0x72,0x2f,0x1e,0xd8,0x06,0x82,0x7b,0xf9,0xea,0x42, - 0x90,0x94,0xb0,0x57,0xb0,0x3f,0x1e,0xcc,0x77,0x54,0x99,0x6e,0xcf,0x22,0xf3,0x7f,0xac, - 0xee,0xf6,0x78,0xe4,0x00,0x40,0x84,0x20,0x60,0xe5,0xd4,0xcc,0x68,0x52,0x27,0x79,0xf5, - 0x87,0xeb,0x4e,0x0d,0x35,0x3f,0x37,0xba,0x7b,0x53,0xe8,0xc1,0x82,0x3b,0xa5,0xa2,0xff, - 0x5e,0x20,0x6b,0x20,0xe0,0xfe,0x46,0x8d,0xbf,0xc4,0x0c,0xdf,0xc7,0x26,0xa2,0xcd,0x2f, - 0x37,0x23,0x8b,0x4e,0x9e,0x83,0x92,0x34,0x55,0x72,0xec,0x12,0x64,0xfe,0x93,0x50,0x03, - 0xf4,0xa8,0x02,0xa0,0x81,0x49,0x67,0x4c,0x4b,0xf0,0x1a,0xa8,0xbb,0xe5,0x58,0x4f,0x75, - 0x9d,0x14,0xbe,0xc7,0x7b,0x85,0x41,0xe7,0xf0,0x40,0xab,0x62,0x9f,0xed,0xad,0x9c,0xa7, - 0x94,0xbc,0x85,0xdb,0x4e,0xc1,0xe9,0x0c,0xf9,0xac,0xf3,0x92,0xab,0x37,0xa1,0xe8,0xe8, - 0x49,0xe5,0xe3,0xa8,0x6c,0x69,0xc7,0xaa,0x28,0x04,0x6d,0x0b,0x3d,0x92,0x00,0xa0,0x05, - 0x1c,0xdc,0x4b,0xee,0xa4,0xe5,0x1a,0x7d,0x55,0xc5,0xaf,0x29,0x05,0xee,0x89,0xbe,0xe1, - 0xd0,0x31,0xac,0x8e,0x85,0xc1,0xfc,0x35,0x6b,0xb1,0x7d,0x29,0x08,0x88,0xa8,0x10,0x24, - 0x4d,0xc8,0x94,0x12,0xf3,0xf3,0xef,0x8e,0x43,0x14,0xc8,0x82,0x37,0xe4,0x68,0x68,0x8f, - 0xcc,0x4f,0x85,0x1a,0xa2,0x47,0x0e,0x00,0xc8,0x7c,0x8a,0xd9,0xd2,0xbc,0xb4,0xc6,0xca, - 0x6b,0x34,0x97,0x6f,0x12,0x9b,0x68,0x59,0x5b,0xcd,0x60,0xc9,0xe7,0x94,0x43,0x82,0x14, - 0x04,0x34,0x0d,0x7b,0xc3,0x21,0xb9,0x69,0x57,0x5a,0x5c,0xc2,0x98,0x4f,0x61,0x5b,0xe9, - 0x69,0xdc,0x46,0x23,0xf3,0xd7,0x40,0x0d,0xd2,0x23,0x05,0x00,0x64,0x3e,0x2d,0xd7,0x42, - 0xf9,0x8e,0xfe,0xca,0x6b,0x54,0xd6,0x6e,0xca,0xc0,0x48,0x56,0x68,0x81,0x25,0x5b,0x02, - 0xd8,0x0d,0x02,0x9a,0xff,0xff,0xf3,0xf6,0x64,0x79,0x4a,0x16,0xfe,0x5d,0x70,0x30,0x09, - 0xcc,0x37,0x55,0xe5,0x7f,0x2a,0x54,0x18,0xa2,0xb2,0xe9,0x91,0x01,0x00,0x32,0x9f,0xca, - 0xc2,0x91,0xf9,0xa7,0xca,0xdb,0xa7,0x8c,0xdc,0xe7,0x06,0x47,0x41,0x44,0x03,0x31,0x7d, - 0xd0,0x2a,0x08,0x84,0xbf,0x01,0xe4,0x20,0x48,0xbb,0x76,0x17,0xe6,0x6c,0x48,0x54,0x25, - 0x7c,0x16,0x9d,0x38,0x0b,0x25,0xe7,0x2f,0x2b,0x1f,0x49,0x29,0xe4,0xbd,0x11,0x00,0x76, - 0x17,0xa8,0xaa,0x6c,0x7a,0x24,0x00,0x80,0xcc,0x27,0x07,0xff,0xff,0x40,0x23,0xa5,0xcd, - 0xdd,0xc5,0x11,0x5e,0x1e,0xd6,0x1a,0x1a,0x06,0x7a,0xa9,0x5c,0xba,0x5a,0x20,0x00,0x50, - 0xeb,0x05,0x99,0x59,0x79,0xf0,0xd5,0x9a,0xe3,0xb2,0x2a,0xa0,0x44,0x25,0x19,0x57,0xa1, - 0x28,0x41,0x95,0xdc,0x41,0xc9,0xb2,0x54,0x09,0xf4,0x2a,0x3c,0x04,0xf4,0x97,0x06,0x00, - 0x9f,0xbf,0x47,0x89,0x10,0x6f,0x6a,0x5d,0xf7,0xf3,0x72,0x81,0x57,0x47,0xb6,0x83,0x00, - 0x6f,0x17,0x99,0x78,0x37,0x2b,0x18,0x6c,0xd5,0x04,0x04,0xae,0x04,0xec,0x17,0xab,0xe3, - 0xe0,0x8e,0x22,0xb1,0xd3,0x74,0x3b,0x9b,0x8b,0xf0,0xc9,0x3d,0x7d,0xe4,0x10,0xe8,0x85, - 0xcc,0xb7,0x69,0xc2,0x49,0x75,0xd0,0x5f,0x16,0x00,0xc8,0x7c,0x12,0xf5,0x34,0x5d,0x59, - 0xb3,0xe8,0x72,0xbd,0x00,0x4f,0xf8,0xe7,0x63,0x6d,0xc1,0xcb,0xd5,0x92,0xbb,0x6f,0x2f, - 0x08,0xee,0x17,0x14,0xc3,0x97,0x6b,0xe2,0xd8,0xb2,0x2f,0x52,0x32,0xe7,0x15,0x70,0x33, - 0x70,0x8a,0x54,0x12,0xfe,0x69,0x64,0xfe,0xe2,0x9a,0x6e,0x1b,0x29,0xfd,0x25,0x01,0x80, - 0xcc,0xa7,0x54,0xf6,0x75,0xb8,0xb5,0xd6,0xba,0xde,0xa2,0xbe,0x1f,0xbc,0x34,0xac,0x15, - 0x4b,0xea,0x20,0x92,0x32,0xb8,0x3c,0x10,0x08,0x7f,0x17,0x16,0x9b,0xe0,0xeb,0xb5,0xf1, - 0x90,0x9e,0x29,0xf7,0xe8,0xb1,0x35,0x7f,0xf6,0xc6,0x29,0x6b,0xff,0x13,0x7d,0x86,0xcc, - 0xb7,0xbb,0x1a,0x59,0x55,0xd3,0x5f,0x0e,0x00,0xc8,0x7c,0x5a,0xbe,0x96,0x52,0xd4,0x35, - 0x97,0x6c,0xeb,0x1c,0x1e,0x04,0xcf,0x0e,0x8a,0x02,0x83,0x4e,0xa7,0x1a,0xcb,0x05,0x06, - 0x4b,0xcb,0xb9,0x0b,0x15,0x37,0x84,0xbf,0xe9,0x0b,0xc5,0xa6,0x52,0xf8,0x6e,0x43,0x3c, - 0x24,0x5f,0x54,0x68,0xf6,0x04,0x8c,0xc3,0x27,0x94,0xe1,0x5d,0x22,0xaa,0x85,0x33,0x4c, - 0x99,0x8f,0xf7,0x30,0xd0,0x5f,0x0a,0x00,0xc8,0x7c,0x72,0xa7,0x52,0x29,0x78,0xcd,0x19, - 0x4d,0x43,0xa2,0x1b,0xc2,0xb8,0x1e,0xcd,0xc4,0x63,0x65,0xaf,0x97,0x3a,0x7a,0xac,0x81, - 0x80,0xbc,0x7c,0xf3,0x36,0x26,0xc1,0xf1,0x73,0xea,0x45,0x28,0x8a,0xe2,0xcf,0x70,0xb9, - 0xf8,0x72,0xa2,0xa9,0x65,0x9d,0x69,0x16,0x4e,0x4d,0xb7,0x8f,0x16,0xfd,0x25,0x00,0x80, - 0x8c,0xa7,0xb4,0x1e,0xf2,0xef,0x6b,0x8a,0x58,0xca,0xe2,0x99,0x3c,0x20,0x12,0xba,0x47, - 0x06,0xcb,0x0a,0x29,0x70,0x7b,0xeb,0x36,0xbe,0x16,0x08,0x96,0xa0,0x9d,0x4f,0x15,0x3c, - 0x94,0x54,0x7c,0x26,0x1d,0x8a,0x53,0x2e,0x28,0x4f,0x93,0x28,0x88,0xb6,0x96,0x90,0xf9, - 0x30,0xd0,0xff,0x79,0x00,0x20,0xf3,0x29,0x37,0x8e,0x32,0x5f,0x87,0x68,0x5d,0xf7,0x74, - 0x73,0x62,0xca,0x5e,0xd3,0x20,0x6e,0x25,0x15,0xb9,0xc8,0x2f,0x1f,0x04,0xd2,0xf3,0xab, - 0xf7,0x9d,0x85,0xcd,0x47,0x55,0x4c,0xd6,0xaa,0xfc,0x4d,0x44,0xb1,0x5e,0x9a,0x81,0xbb, - 0xab,0xa6,0xdb,0xa8,0x2c,0xaa,0x34,0x00,0x20,0x23,0x28,0xe7,0x8e,0x0a,0xf2,0x52,0x98, - 0x95,0x12,0xe6,0x68,0x80,0xa4,0xd9,0x43,0x57,0x8f,0x7c,0x37,0xa9,0x4a,0x6c,0x5e,0x7c, - 0x66,0x73,0xe0,0xc6,0xfb,0x30,0xad,0xeb,0xf5,0x51,0xd3,0x7f,0x63,0x6c,0x34,0xf8,0x79, - 0x3a,0xcb,0x0a,0x27,0x10,0x59,0xdc,0xb7,0xda,0xfe,0x7d,0x00,0x39,0x08,0x36,0x22,0xe3, - 0xc9,0xc7,0xaf,0x24,0x56,0x75,0xeb,0x50,0x92,0xd2,0xdc,0xa3,0x83,0x09,0xc8,0xfc,0x5f, - 0xe1,0x21,0xa7,0x07,0x02,0x00,0x6f,0x67,0x53,0x2d,0x38,0x5a,0x61,0xaa,0x27,0x28,0xd6, - 0xcf,0x93,0x10,0xc9,0xcc,0x5d,0xc0,0xa5,0x2a,0xc7,0x22,0x20,0x1e,0x78,0x21,0x64,0x7c, - 0x36,0xd5,0x36,0xa4,0x99,0x1b,0x1e,0x9a,0xd7,0x9b,0x05,0xc2,0x4b,0xc3,0xdb,0x80,0xb3, - 0x83,0x41,0xc6,0xec,0xf2,0x40,0x00,0xa0,0xd6,0x0b,0xb6,0x1c,0xcb,0x60,0xf3,0xed,0x95, - 0xc4,0x0a,0x2e,0xec,0x8b,0xd7,0x9a,0xc8,0xf1,0x16,0x32,0xff,0x93,0x07,0xfd,0x8d,0xd5, - 0x41,0x15,0x06,0x00,0x1f,0x54,0x21,0x9b,0xb6,0xb3,0x9d,0x5f,0x25,0xd1,0x48,0x55,0x18, - 0x88,0x79,0xdb,0x11,0x0c,0x76,0x4d,0x24,0xc5,0xe7,0x52,0x16,0xe7,0x2c,0xdc,0xa6,0x5b, - 0xfb,0xcc,0xa8,0x6e,0xcd,0x60,0x7c,0x4f,0x4e,0x28,0xa8,0x03,0x36,0xd6,0x02,0x39,0xda, - 0x73,0xf7,0xfe,0x38,0x9e,0x01,0x4b,0x77,0xa8,0x16,0x73,0xa4,0xca,0xdb,0x50,0xb8,0xf7, - 0xb8,0x32,0xab,0x07,0x82,0x7c,0x73,0xd2,0xb7,0x25,0xad,0x6f,0x00,0xff,0x47,0xa8,0x42, - 0x00,0x40,0x26,0xb4,0xc0,0x1d,0x65,0xad,0xda,0xb7,0xb6,0x8c,0x9a,0x48,0xa6,0xd2,0x7c, - 0xbb,0x95,0xb6,0x00,0x81,0xaf,0xc6,0x41,0x45,0xfd,0xba,0x69,0x5d,0x77,0xc2,0xde,0xfe, - 0xfc,0xd0,0xd6,0x4c,0xd9,0x23,0xb2,0xc6,0x6c,0x22,0x59,0x65,0x2d,0xd0,0x06,0xc1,0xf6, - 0xf8,0x8b,0xb0,0x78,0xbb,0xba,0x3e,0x04,0x31,0xbd,0x60,0x6f,0xbc,0x32,0xba,0x07,0x81, - 0x3e,0xf7,0x20,0xba,0xd9,0x25,0x13,0x5a,0x98,0xc1,0x1f,0xad,0x3a,0x5e,0x6e,0x55,0xb3, - 0x87,0x81,0xec,0x06,0x00,0x32,0x81,0x26,0x5b,0x52,0x12,0x83,0x8a,0xf9,0x54,0xc8,0xa0, - 0x45,0xfd,0x5a,0x10,0xe2,0xef,0x01,0xee,0xce,0x0e,0xac,0x70,0x51,0x16,0x9b,0xc7,0x5e, - 0x08,0xe7,0xaf,0xdd,0x65,0x1e,0x33,0x2b,0xd5,0x3f,0x29,0x19,0xf2,0x6d,0x04,0xc1,0x96, - 0x32,0x9e,0x4b,0x4c,0x27,0xe6,0x07,0x6a,0x5d,0xa7,0x92,0x2c,0x6f,0x8e,0x89,0x66,0x1e, - 0x3e,0x22,0x41,0x88,0x6b,0x81,0x40,0x38,0xaf,0x05,0x02,0xe1,0xda,0xae,0xa4,0xcb,0x30, - 0x7f,0x8b,0x7a,0x89,0x59,0x0a,0xed,0x16,0xa2,0xd8,0x37,0xe7,0xc8,0xd3,0xc6,0x7d,0x3d, - 0xf2,0xa1,0x6b,0x78,0x3a,0x18,0xf4,0xec,0x1e,0xaf,0x21,0x00,0x3e,0xaf,0x1a,0x96,0x55, - 0x2e,0x55,0x04,0x00,0xb2,0x85,0x12,0x88,0x28,0x9a,0x36,0xbc,0x73,0x23,0xe8,0xd2,0x22, - 0x88,0xc5,0xd4,0x4d,0x66,0xcb,0x58,0x2b,0xd4,0xb3,0x33,0xf3,0x39,0x72,0x94,0x25,0x73, - 0x38,0xf9,0x9a,0xca,0x7d,0xca,0x13,0xc5,0xc6,0xa7,0x21,0x10,0xae,0x4b,0x9e,0x47,0xef, - 0x48,0xe2,0x9e,0xca,0xca,0x69,0x2e,0x66,0xd4,0xa9,0x79,0x5d,0x98,0x3e,0xa2,0x2d,0xb8, - 0x3a,0x19,0x65,0xf9,0x79,0xd6,0x40,0xc0,0xce,0x81,0x5a,0x2f,0x10,0xae,0xee,0x39,0x71, - 0x19,0x7e,0xd8,0x94,0xa4,0x02,0x2b,0x79,0xf9,0x68,0x95,0x0f,0x73,0x96,0xdc,0xa4,0x0f, - 0xac,0xed,0x00,0x4f,0x0d,0xbe,0x0d,0x29,0xc9,0xa2,0x79,0x78,0x1a,0x01,0xd0,0xa2,0xba, - 0x98,0xf8,0x20,0x64,0x17,0x00,0x90,0x19,0xb2,0x82,0x92,0x44,0x5e,0x68,0x66,0x4d,0x1f, - 0xd9,0x06,0xc7,0x3e,0x37,0x56,0xbe,0xc4,0xc4,0xd7,0xaa,0x31,0x99,0x2d,0x8d,0x2e,0x05, - 0x81,0x89,0x8f,0xb0,0xa5,0x67,0xe6,0xc0,0xae,0xc4,0xcb,0x28,0x19,0x54,0xab,0x7e,0x90, - 0xed,0xfc,0x12,0x82,0xe0,0x57,0x5e,0xda,0x90,0x3f,0x5f,0x73,0x85,0x2f,0xca,0xde,0x79, - 0x32,0x26,0x02,0xc7,0xfc,0xa6,0x8c,0x7b,0x52,0x86,0x09,0x75,0xf2,0xec,0x05,0xc1,0xfe, - 0xd3,0x57,0x61,0xce,0x06,0xf9,0xe2,0x8e,0xec,0xb3,0x26,0x33,0xd3,0xf6,0xcd,0xb7,0xb2, - 0x64,0xe7,0x7d,0xbc,0x0d,0x30,0xeb,0xbd,0x20,0x70,0xd5,0xdf,0x86,0xd5,0x2b,0x65,0xf5, - 0x92,0xda,0x23,0x08,0xca,0x2d,0xa0,0x54,0xd3,0x64,0x33,0x00,0x90,0x19,0x14,0x2c,0xa7, - 0x84,0x36,0xb1,0xf2,0x96,0xb7,0xbb,0x13,0xbc,0x3e,0xba,0x3d,0x57,0xbd,0x92,0x6f,0x4c, - 0x13,0x5f,0xdd,0xca,0x24,0x8a,0x58,0xe1,0x3c,0x0f,0x00,0xe1,0x3c,0x70,0x5e,0xb5,0x94, - 0x8b,0x77,0x98,0xa2,0x75,0xeb,0xae,0xaa,0x34,0x2a,0xe9,0x18,0x94,0xa7,0x1d,0xac,0xf5, - 0x3e,0x54,0x58,0xe9,0xad,0xb1,0x1d,0x59,0x39,0x16,0x22,0x76,0x47,0x1b,0x41,0x20,0xfc, - 0xcd,0x7d,0xcf,0x02,0x02,0x2a,0xa9,0x36,0x27,0x36,0x41,0xb5,0xec,0x1c,0xbd,0x68,0xe1, - 0xd1,0x93,0x60,0xca,0x94,0x2f,0xc3,0xeb,0xee,0xa6,0x87,0x4f,0xde,0xa9,0x03,0xf5,0x83, - 0x1d,0x29,0x76,0x0c,0xcb,0x16,0xfd,0x01,0xf9,0x05,0xa2,0x45,0xf0,0x25,0x02,0xa0,0xc6, - 0x13,0x3e,0xca,0x23,0x7b,0x00,0x40,0x9a,0xf7,0x6b,0xc2,0x31,0xad,0x50,0xf5,0xfe,0xdf, - 0x3b,0xb1,0x50,0xaa,0x89,0x67,0x38,0x6b,0x2b,0x85,0x14,0xd0,0x1a,0x0a,0x84,0xeb,0x44, - 0x94,0x3f,0x41,0x49,0x14,0xbb,0x93,0x2e,0xc1,0x81,0x93,0x57,0x55,0x3d,0x4f,0x8b,0xc2, - 0xeb,0xfb,0xc1,0x3b,0xe3,0x3b,0x41,0x2d,0x0f,0x17,0x7e,0xde,0x9d,0x84,0xd1,0xaa,0x04, - 0x4d,0x35,0x08,0xb8,0xbd,0x1c,0x04,0xb4,0xa6,0x0f,0x65,0xf1,0xaa,0x9e,0x4f,0xd3,0xb7, - 0xe2,0xc4,0xea,0x9a,0x22,0xb9,0x38,0xeb,0xe0,0xdf,0x6f,0xd4,0x86,0x26,0x0d,0x1d,0xc5, - 0x0f,0x9e,0x8c,0x3b,0x01,0x47,0x8f,0x8a,0x2e,0x0f,0x1a,0x0f,0xa8,0xb2,0xc8,0x43,0x51, - 0x2e,0xc7,0x1a,0xd9,0x04,0x00,0x3e,0xb4,0x4a,0xb9,0xcc,0x6c,0x0d,0x57,0x1a,0xe7,0x69, - 0xad,0x5c,0x9a,0x23,0x27,0x54,0xa9,0x34,0x49,0x56,0xc7,0xb6,0x67,0x28,0xa0,0x6b,0x02, - 0x50,0x2e,0xde,0xbc,0x07,0xeb,0x0f,0x9c,0x93,0xe7,0xd1,0x4b,0x5f,0x16,0x45,0xfe,0xe8, - 0xee,0x61,0xf0,0x74,0xbf,0x48,0xd0,0x0b,0x6f,0x2e,0xce,0xbc,0x95,0x33,0x5a,0x2a,0x0d, - 0xc4,0x42,0xca,0x12,0x5f,0x9f,0x74,0x48,0xa0,0x72,0xed,0x5a,0x63,0x3e,0x11,0x25,0x74, - 0x50,0x62,0x87,0x94,0x1c,0x8c,0xa5,0xf0,0xc1,0x3f,0xfd,0x20,0xb2,0xb9,0xdc,0xed,0x91, - 0x9b,0x7d,0x1b,0x56,0xad,0x90,0x55,0x98,0xed,0x81,0x00,0xd8,0x53,0xd3,0x4c,0x2e,0x8b, - 0x6c,0x05,0x00,0x39,0x7a,0xc4,0x49,0x0b,0xe3,0xd0,0xc6,0x1e,0xde,0xa9,0xb1,0x85,0xd1, - 0xfc,0xde,0xc4,0x2b,0x60,0x66,0xc5,0x30,0x60,0x92,0x48,0x01,0xe9,0x30,0x60,0x91,0x1a, - 0x3c,0x08,0x50,0x8c,0xe6,0x15,0x99,0xe0,0xb7,0x3d,0x67,0x21,0xe3,0xba,0x3c,0xcc,0x4a, - 0xc5,0x18,0xde,0x79,0xbc,0x33,0xb4,0x6d,0xc2,0xd7,0xfa,0x97,0x9a,0x6d,0x0a,0x10,0x70, - 0xa7,0x4a,0x6d,0x02,0xc1,0xa6,0x23,0x17,0x50,0xdb,0x4f,0xd2,0xfc,0xdd,0x54,0x61,0xab, - 0xe4,0xbc,0x3c,0x87,0x9f,0xb4,0xfc,0x17,0xc7,0x64,0x42,0xb7,0xee,0xa1,0x60,0x74,0xf1, - 0x95,0x7f,0x01,0xdf,0x7f,0xd5,0x2f,0x7b,0xe1,0x7e,0x9e,0x98,0xf9,0x3b,0x17,0x01,0xf0, - 0x7c,0x4d,0x33,0xb9,0x2c,0xb2,0x15,0x00,0x34,0x79,0x9d,0x0a,0x44,0x41,0x30,0x9a,0x78, - 0xb3,0x26,0xf5,0x00,0x23,0x2d,0x4e,0x68,0x96,0x8c,0xf9,0x12,0x10,0x10,0x55,0x64,0x28, - 0xe0,0xae,0x99,0xa1,0x04,0xf7,0x5b,0x8f,0xa4,0xcb,0xca,0xa7,0x38,0x39,0x18,0xe1,0xe3, - 0x67,0xba,0x43,0xcb,0x86,0xc2,0xe4,0xcc,0x8a,0x83,0x40,0xb8,0x46,0x95,0x34,0x17,0x6d, - 0x3b,0xa9,0xf9,0x9b,0xb5,0x98,0x4f,0x65,0x7a,0xa6,0x0e,0xbf,0x0e,0x9d,0x22,0x73,0xc1, - 0xc9,0xa3,0x0e,0xb8,0xd4,0x92,0x4e,0x28,0xe1,0x6e,0x9c,0x9c,0x94,0x02,0x87,0x0f,0x8b, - 0x11,0x41,0x9a,0xde,0x1d,0x84,0x20,0xb0,0xab,0x90,0x4f,0x75,0x52,0xb9,0x00,0x40,0xe6, - 0x53,0xfc,0x54,0xf4,0x83,0xbe,0xf7,0xf7,0xce,0x10,0xd5,0xc0,0x4f,0x54,0x9c,0x64,0x12, - 0x80,0xdf,0x57,0x54,0x21,0x14,0xa4,0x85,0x70,0x6d,0xff,0x89,0x2b,0xac,0xa8,0xa2,0x40, - 0x04,0x82,0x4f,0x26,0xf7,0x80,0xc8,0x50,0x7f,0x9e,0xa1,0xda,0x20,0x20,0xb2,0x98,0x76, - 0x6a,0x10,0xd0,0x5f,0xab,0xf6,0xa4,0xc2,0xd2,0x1d,0xda,0x45,0x40,0xb5,0x98,0x4f,0xf4, - 0xd4,0xe0,0x9b,0xd0,0xbb,0x2d,0x67,0x02,0xea,0x8d,0x8e,0xe0,0x51,0x57,0x9d,0x6f,0x92, - 0x97,0x93,0x0d,0xab,0x56,0xca,0x24,0xca,0x40,0x04,0x80,0x55,0xff,0x46,0x4d,0x93,0x2d, - 0x00,0x10,0x17,0x61,0x20,0x27,0xcb,0xff,0xfe,0xd1,0x87,0x67,0xb4,0x59,0x6c,0xe8,0xaa, - 0x90,0x02,0x66,0x5e,0x37,0xd8,0x87,0x36,0xf9,0x41,0xc9,0x24,0x0b,0x32,0x3b,0xbf,0x7b, - 0xb1,0x3f,0xd4,0xf1,0x11,0x96,0x69,0x15,0x7a,0xb6,0x05,0x04,0xdc,0xae,0xd4,0x2a,0x08, - 0x96,0xed,0x4a,0x86,0x5f,0x77,0x26,0x6b,0xfe,0x5e,0x2b,0x59,0xbc,0x30,0x30,0xfa,0x06, - 0x8c,0xeb,0x2f,0x9f,0xe6,0xe5,0x11,0xd8,0x02,0xf4,0x0e,0xca,0x24,0xe3,0x52,0xf8,0x6d, - 0xe5,0x11,0xb8,0x77,0x4f,0x4c,0x07,0xb3,0x5a,0x6d,0xf4,0x61,0x20,0x5b,0x00,0x20,0xae, - 0x94,0xfd,0xec,0xa0,0x96,0x30,0xa4,0x43,0x43,0xb1,0xb7,0xab,0xca,0x95,0x2b,0x14,0x42, - 0x2a,0x86,0x90,0x72,0xe9,0x0e,0x5c,0xcb,0xca,0x63,0x19,0xb3,0xb5,0x3c,0x9c,0xa1,0x96, - 0xa7,0x0b,0x34,0xa8,0xed,0xc9,0x96,0x3a,0x2b,0x4b,0x21,0x14,0xae,0x11,0x0f,0x77,0x25, - 0x5c,0x84,0xa3,0x67,0x2c,0x9e,0xd5,0x06,0x75,0xbc,0xe1,0x7f,0xcf,0xc7,0x80,0x8b,0x13, - 0x5f,0xe9,0x5b,0x09,0x02,0x8e,0x0f,0x2a,0x10,0x50,0x85,0xed,0xf9,0x5b,0x12,0x55,0x45, - 0x94,0x05,0xb2,0xc6,0xfc,0x96,0x0d,0x32,0xa1,0x6b,0x54,0xb6,0x6a,0xf5,0x11,0x67,0xaf, - 0xba,0xe0,0xe8,0x59,0x07,0xe4,0xa5,0x21,0x00,0xce,0x25,0xa7,0xc3,0x81,0x83,0xe2,0x30, - 0x40,0xca,0x4c,0x1d,0x04,0x41,0xd9,0xe5,0x40,0x6b,0x88,0x6c,0x01,0x00,0x89,0x7f,0x96, - 0x46,0xf3,0xd3,0x2b,0x03,0xa1,0x36,0xbf,0x40,0x91,0x00,0x02,0xad,0xa1,0x20,0xf5,0x4a, - 0x16,0xac,0xd8,0x9d,0x02,0xe7,0xae,0x66,0x5b,0xbd,0xaf,0x3f,0xde,0xa7,0x43,0xb3,0xda, - 0x10,0x1d,0x16,0xc8,0x2d,0x76,0x5c,0xc6,0x50,0x40,0x7c,0x5d,0xb7,0xef,0x2c,0xa4,0x5e, - 0xb6,0x38,0x61,0xba,0xb4,0x08,0x86,0x0f,0x9f,0xec,0x26,0x36,0x7e,0x59,0x20,0xa0,0xf3, - 0x34,0x59,0xf3,0x8b,0x35,0x47,0x61,0xef,0x89,0x4b,0x9a,0xef,0x43,0x85,0x94,0xa9,0xa0, - 0xb2,0x92,0xa2,0x42,0x33,0xa1,0x51,0xe0,0x1d,0x70,0x44,0xde,0x0f,0xea,0x29,0x4f,0x34, - 0x32,0x38,0xba,0x82,0xab,0x7f,0x13,0xd5,0x77,0x0a,0xee,0xe7,0xc2,0xaa,0x55,0xa7,0xa5, - 0xa7,0x46,0x22,0x00,0x7e,0xaf,0x6e,0xe6,0xda,0x42,0x65,0x02,0x00,0x99,0x4f,0x46,0x2e, - 0x21,0x57,0x17,0xe0,0xed,0x06,0x3f,0xbf,0x36,0x98,0xef,0xe9,0xd2,0x31,0x5f,0x3e,0x14, - 0xc4,0x1e,0x3e,0xcf,0x98,0x6f,0x8b,0x3d,0x4f,0xe4,0x83,0x52,0x81,0xa6,0x60,0x53,0x5e, - 0x7e,0x59,0x43,0x01,0x15,0x56,0x5e,0xfa,0xc7,0x69,0xb8,0x75,0xd7,0x12,0x80,0x79,0x73, - 0x5c,0x67,0xe8,0xdb,0xba,0x3e,0x28,0x41,0x20,0xf5,0xeb,0xd3,0xc1,0x7d,0x94,0x3e,0x1f, - 0xfd,0xb2,0x1f,0x12,0xd2,0xb4,0xa3,0xd0,0xe5,0x31,0x5f,0x20,0xad,0x85,0x27,0xdc,0xeb, - 0x34,0x67,0xeb,0x10,0x29,0x29,0x76,0x5d,0x22,0x64,0x65,0x8b,0xc3,0xc0,0x4a,0x04,0xc0, - 0x58,0x78,0x08,0xa9,0x3c,0x00,0x90,0x7c,0x63,0xb2,0xac,0x43,0xb3,0x20,0x98,0xf9,0x64, - 0x57,0x89,0x72,0x67,0x96,0x0d,0x05,0x54,0x00,0xe1,0x87,0x8d,0x49,0x9a,0xe9,0x52,0xb6, - 0x10,0x45,0xf0,0x62,0xda,0xd6,0x2b,0x73,0x28,0xa0,0xc2,0xc8,0x8b,0xb7,0x9e,0x82,0xa2, - 0x62,0xce,0xdb,0x46,0xde,0xc0,0x45,0xaf,0x0d,0x61,0x81,0x27,0x29,0x08,0x88,0x84,0xe1, - 0x89,0xf2,0xf5,0xdf,0x5d,0xb4,0x47,0xcb,0xe5,0xcc,0x3e,0x5c,0x94,0x98,0xaa,0xb2,0xf3, - 0xe9,0x8a,0x8f,0x7b,0xfe,0xd7,0x3d,0x23,0x2f,0xcc,0x90,0x9e,0x8c,0x68,0x6a,0x84,0xc6, - 0x8a,0x02,0x93,0xce,0xde,0x75,0xd1,0x1c,0xf4,0x56,0xdd,0x3a,0xfd,0xdc,0x15,0xd8,0x77, - 0x40,0x74,0x1e,0x11,0x6a,0x6b,0x23,0x08,0xca,0x2c,0xd9,0x56,0x13,0x54,0x1e,0x00,0xc8, - 0x15,0xcb,0x54,0xe5,0xc7,0xba,0x35,0x83,0x29,0x03,0x5a,0x72,0x8d,0xcb,0xf7,0x7c,0xa1, - 0xd7,0xdf,0xc4,0x5e,0x39,0x6b,0xf5,0x51,0x48,0xd3,0x10,0xf9,0x54,0x0d,0xc3,0x7c,0x37, - 0x97,0xc5,0xcf,0xa9,0xcc,0xa9,0xce,0xcd,0x19,0xf4,0x3e,0x9e,0xd8,0x6b,0xd4,0xe5,0xee, - 0x68,0x2e,0x7e,0x9f,0x36,0xf5,0xf8,0x67,0x58,0x7c,0x03,0x26,0x7e,0x58,0x20,0xde,0x92, - 0x2e,0x40,0x3a,0x81,0x40,0x43,0xa2,0x1b,0xc3,0x2b,0x8f,0x75,0xe0,0xa5,0x87,0x3c,0x9c, - 0x7b,0xe9,0x66,0x0e,0xbc,0xbd,0x60,0x37,0x5b,0x9f,0x4f,0x45,0xe4,0xde,0x3d,0x4e,0x1e, - 0x3e,0x95,0x54,0xa0,0x9b,0xbc,0x32,0xa2,0xd3,0xe9,0x39,0xb8,0xa7,0x1f,0xe4,0x22,0x5c, - 0xa8,0xed,0xa7,0x87,0x4e,0x8a,0x35,0x07,0x8c,0xce,0x9e,0x0c,0x04,0x4a,0x3d,0xa0,0x30, - 0x3f,0x0f,0x56,0xad,0x96,0x65,0x10,0x4d,0x40,0x00,0xfc,0x52,0x6d,0x9c,0xb5,0x91,0xca, - 0x03,0x40,0x57,0xe0,0x8a,0x0e,0xc2,0x94,0x41,0xad,0x60,0x34,0x82,0x40,0x50,0xaa,0x04, - 0x29,0x70,0x2a,0xe3,0x36,0x7c,0xb2,0xf2,0x30,0xeb,0x9d,0xb2,0x56,0xcc,0x2f,0x84,0xe2, - 0x94,0x74,0x2e,0x4b,0x56,0x39,0x1c,0xa0,0x39,0x67,0x0c,0x0a,0x00,0x87,0x66,0xa1,0xa0, - 0x73,0x91,0x8f,0xab,0xa3,0xba,0x37,0x85,0xa8,0x86,0x7e,0xfc,0x33,0xd4,0x43,0x01,0x31, - 0xfa,0x67,0x94,0x02,0x37,0xb3,0xb9,0xa1,0x80,0xbc,0x83,0xdf,0x4c,0x8b,0x81,0xf0,0x7a, - 0x7e,0x32,0x10,0x50,0xdd,0x7c,0x62,0x3e,0xcd,0xdc,0x51,0x12,0x05,0x76,0x68,0x9e,0xbe, - 0x46,0xfa,0x36,0x89,0x96,0x69,0x27,0x2f,0x2f,0xa5,0xd5,0x4d,0xa8,0x8e,0x00,0xfd,0xf6, - 0xae,0xc2,0x45,0xaa,0x06,0x3b,0xb8,0x97,0x93,0x74,0x55,0x38,0x06,0x64,0x57,0xff,0x46, - 0x1a,0x4d,0x59,0x0a,0xb1,0xeb,0xcf,0xc0,0xdd,0x1c,0xd1,0x05,0xb0,0x0e,0x01,0xa0,0x2a, - 0x2f,0x5f,0xd3,0x54,0x1e,0x00,0x62,0x80,0x0b,0xca,0xc0,0x4b,0xc3,0xdb,0xc3,0xd0,0x8e, - 0x8d,0xf8,0x05,0x0b,0x38,0x11,0xbb,0xe5,0xd8,0x79,0x98,0xbb,0x21,0x1e,0x8a,0x15,0x13, - 0x22,0x29,0x68,0x52,0x78,0x3c,0xb9,0xfc,0x42,0xc6,0x06,0x03,0x38,0x46,0x36,0x01,0x63, - 0x7d,0x4b,0x88,0xdf,0x91,0x25,0x75,0xb4,0x04,0x5f,0x4f,0x67,0xab,0x0a,0xe1,0xe5,0x9b, - 0xf7,0x60,0xd9,0x9f,0x16,0x33,0x8e,0x16,0x55,0x98,0x3f,0x83,0x95,0xbf,0x67,0x9f,0x3b, - 0x92,0x72,0x0d,0x66,0x2e,0xdd,0xa7,0x59,0x47,0x9f,0x85,0x74,0x29,0xaa,0x77,0x5b,0x25, - 0xad,0x28,0xb5,0xe7,0x49,0x64,0xbe,0xb8,0x8a,0x24,0x02,0x80,0x42,0xd0,0xb2,0x4c,0xe3, - 0xee,0x1d,0x1c,0xc0,0xd7,0x4b,0x2e,0xbd,0x5c,0x7c,0xea,0xa2,0x39,0xe8,0xa2,0x7c,0x12, - 0x9c,0x4b,0xc9,0x84,0xc3,0xc7,0x44,0x1d,0x82,0xa2,0x5d,0xfe,0x08,0x82,0x87,0xaa,0xb2, - 0x7a,0x79,0x00,0xa0,0x35,0x02,0x58,0x48,0xf3,0x8d,0xb1,0x9d,0x20,0xa6,0x4d,0x28,0x03, - 0x00,0x29,0x64,0x3f,0x6c,0x4c,0x80,0xf5,0x87,0x14,0x49,0x92,0x34,0xa6,0x26,0x5f,0x80, - 0x92,0xb3,0x19,0xd6,0x6e,0x49,0xf7,0xa2,0xb5,0xeb,0x69,0x02,0x3d,0xe5,0xf2,0x51,0xea, - 0x54,0x8c,0x63,0xcb,0x66,0x81,0xc6,0x50,0x4b,0x7e,0x09,0x25,0x77,0x4c,0x19,0x1c,0xc9, - 0xea,0xf2,0x69,0x49,0x01,0xa2,0xd8,0x83,0x69,0x90,0x2c,0xa9,0xc0,0xf1,0xdf,0x67,0x7a, - 0x42,0xc7,0xe6,0x41,0xb0,0xf5,0xd8,0x05,0xf8,0x6c,0xf5,0x61,0x59,0x19,0x56,0xf1,0xf5, - 0x8a,0x8a,0x59,0x65,0x2e,0xca,0xe5,0x53,0x10,0x31,0xe5,0x31,0x64,0xfe,0x56,0xe9,0x49, - 0x04,0x00,0xf5,0x58,0x99,0xf6,0x1e,0xde,0xd8,0x00,0x4d,0x1b,0xc8,0x95,0x3e,0x07,0x57, - 0x2f,0x70,0x70,0xab,0xa5,0x6a,0x8b,0xfc,0xfb,0x79,0xf0,0xfb,0x7a,0x59,0xf9,0xd7,0x51, - 0x08,0x80,0x1a,0xad,0x07,0xa0,0xa4,0xf2,0x00,0x40,0x2a,0x76,0x3a,0xfd,0xfd,0xfe,0x13, - 0xdd,0xa0,0x47,0x64,0x08,0x5b,0xa5,0xe2,0x43,0xec,0x5d,0x49,0xe7,0xe5,0x63,0x67,0x29, - 0x6a,0xda,0x85,0x71,0xa7,0xc0,0x7c,0x33,0x4b,0xeb,0x56,0xe4,0x1a,0xa3,0x44,0xc9,0x4d, - 0xca,0x0b,0x11,0xc1,0x13,0xf4,0x3a,0x27,0xc7,0x7e,0x4e,0x5d,0x5a,0xaf,0xd1,0x7b,0xb8, - 0x8a,0x5e,0x95,0x8e,0xcd,0x03,0x61,0x50,0x74,0x03,0xab,0x0a,0x21,0x55,0xdb,0x24,0xab, - 0x40,0xa0,0xf6,0xa8,0xa4,0xd2,0x2a,0x5d,0x3f,0x6e,0xd2,0x5c,0x90,0x8c,0xab,0xcc,0x75, - 0x20,0x51,0xab,0x96,0x3e,0x75,0x51,0x5a,0x45,0xf3,0x90,0xf2,0x02,0x02,0x80,0x42,0xdf, - 0xb2,0xd4,0x2e,0x2d,0x3d,0x40,0x6f,0x70,0x00,0x27,0xef,0xba,0xca,0x27,0xb2,0x6d,0xed, - 0xda,0x34,0xc8,0x2f,0x10,0xc1,0x58,0xa1,0xa5,0x69,0xab,0x92,0xca,0x03,0x00,0xa5,0x7a, - 0x33,0xcd,0xf5,0xd3,0x29,0xbd,0xc1,0xcf,0xd3,0x05,0xde,0x59,0xb0,0x4b,0xa5,0x54,0x51, - 0x86,0x4c,0xe1,0xd1,0x53,0x38,0xee,0x6b,0xfa,0x3a,0xa8,0x3e,0xef,0x8b,0xd8,0xc0,0x65, - 0x3a,0x42,0xda,0x3f,0x37,0xaf,0x19,0x0e,0xa8,0x49,0x3a,0xbd,0x4e,0x2c,0xe3,0x3d,0xa1, - 0x4f,0x73,0x68,0x1a,0xe2,0x63,0x75,0x28,0xf8,0x59,0x51,0x6b,0xdf,0x1a,0xb1,0x04,0x4e, - 0x62,0x7e,0x9e,0x2a,0xe7,0x80,0xd4,0x7f,0xca,0xdd,0x3f,0x69,0xed,0xbb,0x08,0x02,0xf2, - 0x1a,0x35,0x12,0x8e,0x69,0x7d,0xe8,0x81,0x3d,0xd4,0x13,0x8f,0x9c,0xbd,0x83,0x58,0xc1, - 0x69,0x25,0x25,0x9f,0xbe,0x0e,0x09,0x27,0x44,0x89,0x43,0xe3,0x0e,0x59,0x03,0xd5,0x56, - 0x07,0xb0,0x3c,0xb2,0xc5,0x11,0x44,0xda,0x96,0xcb,0xc8,0x6e,0x61,0xb0,0xe9,0xf0,0x39, - 0xd5,0xb8,0xca,0x16,0x38,0xa0,0x05,0x89,0xd4,0xab,0x5f,0x53,0x6b,0x93,0x42,0xb5,0xd0, - 0xd6,0x97,0xe1,0xa7,0x76,0x89,0xb3,0x67,0x3d,0x5d,0x1d,0xe1,0xe5,0x91,0x6d,0xd8,0x92, - 0xab,0x5a,0x43,0x41,0x52,0xda,0x4d,0xd8,0xaa,0x31,0x51,0x43,0x4a,0x24,0xee,0x69,0xcc, - 0x57,0x66,0xef,0x02,0xb7,0xcc,0x4d,0x3f,0x7c,0xbf,0x32,0x6f,0x80,0x00,0xf8,0x19,0x77, - 0x4f,0x48,0xcf,0xf5,0xef,0xe6,0xc8,0xf2,0x01,0xa4,0xe4,0xe0,0xe6,0xc3,0x1c,0x43,0x16, - 0xe2,0x86,0xaa,0xdc,0x9c,0x3c,0x88,0xdd,0x22,0xcb,0x25,0x18,0x80,0x00,0xd8,0x0a,0x0f, - 0x09,0xd9,0x02,0x00,0x9a,0xd6,0xa4,0xaa,0xa3,0xc6,0x34,0xe9,0xc4,0x14,0x30,0x5d,0xd2, - 0x4c,0x7e,0xa5,0x31,0x7e,0x14,0x36,0x6e,0x7c,0x79,0xf7,0xd7,0x78,0x1e,0xc5,0xcf,0xc5, - 0xac,0xdf,0xfe,0xed,0x42,0xa1,0x4b,0x44,0x90,0xe6,0x50,0x50,0x58,0x6c,0x86,0x39,0x6b, - 0xe3,0x65,0x45,0x18,0xa5,0xc4,0x26,0x6d,0x1c,0x39,0xa9,0x95,0xb7,0x4f,0xe3,0x04,0xd5, - 0xe3,0xbd,0x0e,0xe5,0x10,0x02,0x80,0xd6,0x4b,0x9a,0x23,0x7b,0xc7,0x96,0x46,0x08,0x0a, - 0x90,0xf7,0x76,0x83,0xa3,0x0b,0xea,0x02,0x52,0x7f,0x80,0xe0,0x88,0x32,0xc3,0xea,0xdf, - 0x2f,0xb3,0xb5,0xfc,0x78,0xfa,0x1e,0x01,0xf0,0x0f,0x7b,0xdb,0xa5,0xaa,0xc8,0x16,0x00, - 0x90,0x56,0x2c,0x9b,0x63,0x4f,0xf3,0xdf,0x8b,0x8e,0x9c,0x60,0xf6,0xbd,0x06,0x51,0x99, - 0x73,0xd2,0xa6,0xb3,0xcb,0xbb,0xb7,0x95,0xe7,0xd1,0x92,0xad,0xb1,0xc2,0x31,0xad,0xc8, - 0xf1,0xc2,0xb0,0x56,0x56,0xdd,0xc4,0xab,0x77,0xa7,0xc2,0x79,0x0d,0xff,0x43,0xc9,0xc5, - 0x4c,0x6e,0xba,0x96,0xda,0x23,0x49,0xe5,0x59,0x86,0xda,0xfa,0x7e,0x08,0x00,0x5a,0x12, - 0xf6,0x88,0xf4,0x5c,0xd3,0x06,0x06,0x54,0x06,0xe5,0x8a,0x20,0x99,0x83,0x8e,0x1e,0xd2, - 0xd2,0x43,0x96,0xe7,0x26,0x25,0xdd,0x82,0xe4,0x54,0x71,0xf8,0x21,0xc7,0x5a,0xf0,0xc3, - 0x92,0x29,0x64,0x0b,0x00,0x68,0xc5,0xac,0x2f,0x84,0x63,0xb2,0x9d,0x29,0x45,0x4a,0xc3, - 0xc4,0xa3,0x6e,0xf6,0x01,0x6e,0xff,0xb1,0xb7,0x66,0xbd,0xe2,0x79,0xd4,0x8d,0x64,0x9a, - 0xe4,0x6b,0x63,0xda,0xb1,0x94,0x73,0xf6,0x10,0xc5,0x50,0x70,0xe0,0xd4,0x55,0xd8,0x93, - 0x28,0xf7,0xef,0x93,0xff,0xa1,0xf8,0x8c,0xa6,0x64,0xa7,0x69,0xda,0x63,0xec,0xa9,0xc9, - 0x87,0x00,0x20,0xb9,0x4e,0x31,0x60,0xb1,0xcb,0x07,0xd4,0xd2,0x43,0xe7,0x36,0xea,0x04, - 0x65,0x07,0x77,0x6f,0x8b,0x5b,0x58,0xd2,0x02,0x77,0xb3,0xf3,0x60,0xeb,0x0e,0xd9,0x4f, - 0xea,0x82,0x00,0x38,0x50,0xd1,0x36,0xaa,0x4c,0xb2,0x05,0x00,0xb4,0x5c,0xc6,0x3e,0x36, - 0x2f,0x3e,0x45,0x73,0x06,0x2c,0x11,0x25,0x3e,0x3c,0x8e,0x0d,0xbb,0xbd,0x32,0x5e,0x0a, - 0x9f,0x49,0xf7,0x13,0x2b,0x36,0x8d,0xef,0xd5,0x0c,0xc2,0xeb,0xd7,0xd2,0x74,0x13,0x5f, - 0xbc,0x71,0x0f,0x7e,0xd9,0x6e,0xb1,0x06,0x4a,0x0b,0x8a,0x20,0x7f,0xeb,0x7e,0xad,0xdb, - 0x92,0x17,0x6e,0x62,0x45,0x0a,0x33,0x21,0x08,0xc4,0x80,0x18,0x91,0x56,0x60,0x88,0xc8, - 0xe8,0xe4,0x0a,0x7a,0x07,0xf5,0xec,0xb8,0x52,0x04,0xeb,0x9a,0xb5,0xd7,0x41,0xd2,0xe5, - 0x3f,0x47,0x00,0xbc,0x06,0x0f,0x01,0xd9,0x02,0x00,0x97,0xd2,0xa2,0x92,0x9c,0xa2,0xe3, - 0xa7,0x8d,0x1a,0x9e,0x33,0xa2,0xc3,0xc0,0xd5,0xbb,0xbb,0x54,0xde,0xbd,0x6c,0x25,0x7c, - 0x26,0x8d,0xcd,0xe2,0x42,0xcc,0xfd,0xdb,0x87,0x42,0xf7,0x88,0xba,0x9a,0x29,0x64,0x45, - 0x38,0xb6,0x7e,0xb9,0xea,0x98,0xcc,0xee,0xcf,0xdf,0x7a,0x80,0x99,0x7d,0x12,0xfa,0x06, - 0xb7,0xe9,0xf8,0x8e,0x15,0x12,0xbb,0x08,0x80,0x95,0xf4,0x1b,0xa5,0xe7,0x68,0xcd,0x21, - 0x5a,0x7b,0x48,0x4a,0x7a,0x83,0x11,0x0c,0xce,0x9a,0x53,0x15,0x21,0x2e,0xfe,0x0e,0x9c, - 0xcf,0x10,0x15,0xd1,0x34,0x04,0x40,0x63,0x78,0x08,0xc8,0xa6,0x94,0xb0,0xc8,0x66,0xcf, - 0x7e,0x59,0x7a,0x3f,0x6f,0xba,0xc6,0xe7,0x49,0x39,0x7a,0x45,0xba,0x0c,0xd9,0x83,0x12, - 0x9f,0x80,0x9a,0x2b,0x7d,0x16,0x2d,0xc6,0x38,0x10,0x41,0x60,0x2d,0x79,0x64,0x5e,0x6c, - 0x92,0x2c,0xad,0x9c,0xbc,0x90,0x12,0xe5,0xf4,0x43,0x7c,0xbf,0x0f,0x1e,0xe4,0x9d,0x10, - 0x00,0xef,0xe2,0xee,0x23,0xe9,0xb9,0xf6,0x91,0x46,0xa8,0x5b,0x47,0xae,0x08,0xd2,0x0b, - 0x1b,0x5d,0xbd,0xf8,0xbf,0xe4,0xa3,0xe0,0xed,0xdb,0xf9,0xb0,0x63,0x9f,0xcc,0x01,0xd5, - 0x12,0x41,0xa0,0x9d,0x8c,0x58,0x8d,0x64,0x73,0x5a,0x78,0x44,0xf0,0x04,0x9a,0x05,0xbc, - 0x08,0x38,0x0f,0x1e,0x8d,0xa1,0x53,0xb1,0x61,0x97,0x56,0xf6,0x0b,0x21,0x00,0x48,0xe1, - 0x5c,0x21,0x3d,0xd7,0xab,0x55,0x08,0xf4,0x6f,0x5b,0xdf,0x6a,0x0a,0xd9,0x92,0x3f,0x4e, - 0xe3,0x50,0x60,0x99,0xad,0x53,0x7c,0xee,0x22,0x14,0x9f,0x62,0x35,0x19,0xae,0xe2,0x3b, - 0xd6,0xb5,0xeb,0x05,0x34,0x08,0x01,0x40,0x13,0x53,0xd6,0x49,0xcf,0x35,0xa9,0x6f,0x80, - 0x16,0x4d,0xd5,0x61,0x60,0xa3,0xb3,0x9b,0x66,0x78,0xd8,0x84,0x96,0xc8,0x6f,0xb1,0x32, - 0x09,0xfa,0x01,0x02,0x40,0xb5,0x06,0x61,0x75,0x93,0x5d,0x33,0x83,0x10,0x04,0x34,0x1f, - 0x9f,0x56,0xe4,0x7e,0xb3,0x2c,0xe7,0x49,0x45,0x89,0xaf,0xf4,0x41,0xab,0x71,0x77,0x95, - 0x9e,0xa7,0x7a,0xfd,0x9d,0xc2,0x03,0xad,0xa6,0x90,0xad,0xda,0x93,0x02,0x67,0x24,0xf5, - 0x7a,0x4a,0xb0,0xf7,0x17,0x1d,0x17,0x63,0x05,0x41,0xf8,0xae,0xd7,0x6c,0x7b,0x03,0x6d, - 0x42,0x00,0x84,0x02,0xb7,0x10,0xb5,0x48,0x7e,0x3e,0x3a,0xe8,0xda,0xce,0x51,0xf5,0x59, - 0xca,0x15,0xe4,0xf4,0x00,0xb5,0x1e,0xbc,0x6b,0x5f,0x16,0xdc,0xba,0x23,0x9a,0xa4,0xc7, - 0x11,0x00,0x6d,0xa1,0x86,0xe9,0xa1,0xaa,0x10,0x82,0x00,0x78,0x0f,0x77,0x33,0x95,0xe7, - 0x29,0x38,0xd4,0xa0,0x8c,0x14,0x32,0x5a,0x7f,0x8f,0x16,0x61,0x16,0x88,0xd9,0xff,0xb4, - 0x1a,0x07,0x47,0x23,0x10,0x00,0x6b,0x1f,0xe4,0xbd,0x10,0x00,0xd4,0x4e,0xa4,0xc6,0x7b, - 0x09,0xe7,0x68,0x01,0xcf,0x21,0xbd,0xd4,0x8a,0x20,0x99,0x83,0x72,0x87,0x90,0x85,0x2e, - 0x5f,0xc9,0x87,0x43,0xc7,0x45,0x03,0x84,0x7e,0x02,0x99,0x83,0x35,0x5a,0x30,0xf2,0xa1, - 0x00,0x00,0x32,0x9e,0x86,0x15,0x5a,0xac,0x77,0xb2,0xf2,0x1a,0x79,0x03,0xdf,0x9f,0x40, - 0x85,0xbf,0xac,0x67,0x13,0x6f,0x44,0x00,0xd0,0xd2,0xe9,0x02,0xd1,0xcc,0xdd,0x82,0x9d, - 0xe2,0x3a,0x91,0x9f,0x20,0x00,0xde,0xb2,0xe1,0x35,0xca,0x24,0x04,0x81,0xcc,0x41,0x45, - 0xd4,0xb7,0xb3,0x23,0xb8,0xbb,0xa9,0x9b,0xd0,0xe0,0x44,0x0b,0x51,0x4b,0xcf,0x73,0xd2, - 0xa0,0xb0,0xd0,0x04,0xb1,0xdb,0x65,0x7a,0xc0,0x14,0x04,0xc0,0x7c,0xa8,0x41,0xaa,0x51, - 0x00,0xf0,0xb1,0x86,0xa9,0xb8,0xd1,0x1c,0x3a,0xcd,0x5a,0x03,0xc3,0x3a,0x35,0x62,0x89, - 0x22,0x44,0xd6,0xb2,0x89,0x57,0xec,0x4a,0x85,0x53,0x92,0xd5,0xb8,0xc8,0xed,0x9b,0xbf, - 0x45,0x34,0x05,0x63,0x11,0x00,0x43,0x1f,0xf4,0x5d,0x11,0x00,0xdf,0xe2,0x6e,0x9a,0xec, - 0xfd,0x35,0x3c,0x82,0x44,0x14,0x1c,0x02,0xbd,0xf6,0x62,0xcf,0xb1,0xdb,0xef,0x42,0x91, - 0xc5,0x2b,0xfd,0x3b,0x02,0x60,0x64,0x75,0xb5,0xb7,0x16,0xd5,0x08,0x00,0xf8,0x1e,0x4f, - 0x8d,0x49,0x4e,0x26,0x7f,0x6b,0x9f,0x6b,0x5e,0xcf,0x17,0x9e,0x1b,0x12,0x25,0x9b,0x53, - 0xa0,0x35,0xbd,0x6c,0xc1,0x96,0x53,0xb2,0x82,0x8d,0x34,0x87,0x3f,0x7f,0xd3,0x5e,0xe1, - 0xf0,0x30,0x02,0xa0,0xe3,0x83,0xbe,0x33,0x02,0xe0,0x59,0xdc,0xfd,0x20,0x3d,0x27,0x5d, - 0x70,0x4a,0xd6,0xa8,0xc8,0x7c,0x9d,0x15,0x00,0x9c,0x39,0x57,0x00,0xa7,0xcf,0x8a,0xae, - 0x08,0x12,0x07,0x94,0x23,0x50,0x69,0x56,0x94,0xbd,0x54,0xad,0x00,0x40,0xc6,0x53,0xa9, - 0xae,0x17,0x71,0x7b,0x19,0xf8,0x79,0x86,0x5a,0x44,0xa5,0xdb,0x49,0xeb,0x1f,0x80,0x9b, - 0x4e,0xaf,0x2b,0x77,0x7a,0xd9,0xff,0x7e,0x8f,0x97,0x99,0x81,0x94,0x8d,0x94,0xbf,0x4d, - 0x74,0xb4,0x9d,0x43,0x00,0x34,0x81,0x07,0x24,0x04,0x00,0x81,0x48,0x56,0xe3,0xb7,0x5e, - 0x90,0x1e,0xda,0xb4,0xd0,0x28,0x59,0xa0,0xd3,0x59,0x05,0xc0,0xbd,0x5c,0x13,0x6c,0xdf, - 0x27,0x0b,0x8c,0xf6,0x43,0x00,0xfc,0x51,0x0d,0xcd,0xaf,0x49,0xd5,0x02,0x00,0x64,0x3c, - 0xf5,0x72,0xf2,0x23,0xbc,0x00,0xdc,0x92,0xa7,0x9a,0x44,0x95,0xbb,0xa9,0xc8,0x04,0x25, - 0x88,0xd2,0x94,0x73,0x5b,0x26,0x96,0xd0,0x44,0xd2,0x4f,0x57,0x1c,0x95,0xdd,0x87,0x62, - 0x14,0x05,0xbb,0xc4,0x73,0xd9,0x08,0x00,0x9f,0x07,0xfd,0x0d,0x08,0x00,0x5a,0x5d,0x84, - 0xc4,0x8c,0x98,0x0e,0xe4,0xeb,0xa5,0x83,0xee,0x1d,0x1c,0x35,0x3f,0x6f,0x0d,0x00,0x24, - 0xc5,0xd6,0x6e,0x93,0x85,0xa5,0xbf,0x46,0x00,0xcc,0x80,0x1a,0xa2,0x2a,0x05,0x00,0x5f, - 0xd3,0x87,0x16,0x41,0xa4,0x71,0xde,0xcd,0xda,0xe7,0xc2,0xeb,0xd5,0x82,0xde,0x68,0xeb, - 0xb7,0x6e,0x14,0xc0,0xf2,0xed,0xec,0x99,0x5e,0x76,0xe8,0x4c,0x26,0xac,0xdd,0x2f,0x9f, - 0xe8,0x51,0x72,0xf9,0x3a,0x14,0xc5,0x89,0xee,0xe1,0x7b,0x08,0x00,0xab,0xa0,0xb3,0x87, - 0x10,0x04,0x64,0x0a,0x86,0x0a,0xc7,0xd6,0x5c,0xc2,0x5c,0xcb,0xea,0xac,0x36,0xef,0x91, - 0xc4,0x42,0xb8,0x7a,0x5d,0x74,0x4a,0x9e,0x45,0x00,0x68,0x2f,0x59,0x56,0x0d,0x54,0x25, - 0x00,0x40,0xc6,0x53,0x6a,0xef,0x1b,0xc0,0xcd,0x28,0xd2,0x2c,0x1d,0x47,0xc1,0x9d,0x9e, - 0x51,0x21,0x2c,0xaf,0x5f,0x98,0x6c,0x52,0x91,0xe9,0x65,0x0b,0xb6,0x9c,0x84,0x94,0xcb, - 0xf2,0x2c,0x24,0xc5,0x4a,0xdc,0x29,0x08,0x80,0x30,0xa8,0x04,0x42,0x00,0x90,0xa8,0xee, - 0x2b,0x3d,0x37,0xa8,0xa7,0x7c,0xe5,0x51,0x5b,0xe8,0xc6,0x6d,0x33,0x1c,0x38,0x2e,0x0b, - 0x49,0x34,0x43,0x10,0xd4,0xc8,0xba,0x41,0x95,0x0a,0x00,0x64,0x3c,0xe5,0x0d,0x10,0xe3, - 0x27,0x82,0x95,0x7a,0x3e,0x91,0x0d,0xfc,0xa1,0x5f,0x9b,0x50,0xe8,0x18,0x16,0xc8,0x3a, - 0x49,0x79,0xd3,0xcb,0xca,0xaa,0x37,0x70,0x2a,0xfd,0x36,0x2c,0xd8,0xa6,0x9e,0xe0,0x49, - 0x26,0xa0,0xa4,0x88,0xd3,0x0e,0x04,0x40,0x9f,0xca,0xf8,0x7d,0x08,0x00,0x72,0x7d,0xcb, - 0x62,0xf9,0xdd,0xdb,0x3b,0x80,0xaf,0xb7,0xde,0xae,0xfb,0x94,0x94,0x94,0x42,0xec,0x4e, - 0x59,0x82,0xca,0x0c,0x04,0xc0,0xd7,0x95,0xc9,0x0b,0x5b,0xa9,0xd2,0x00,0xd0,0x6e,0xc2, - 0xec,0x99,0x7a,0x4f,0xf7,0x77,0xf1,0x8e,0xaa,0x7b,0x52,0xb9,0xd6,0x98,0xd6,0xa1,0x30, - 0xa0,0x5d,0x43,0xa8,0xeb,0xe7,0x2e,0xce,0x2b,0x28,0x6b,0x7a,0x59,0x79,0x33,0x8d,0xef, - 0x17,0x94,0xc0,0x67,0xab,0x8e,0xa9,0xd2,0xbe,0x29,0xfd,0xab,0x60,0xbb,0x2c,0xbd,0xaf, - 0xd2,0xd6,0xe4,0x43,0x00,0xc8,0x42,0xe3,0x44,0xad,0xc3,0x8d,0x50,0xbf,0xae,0xc1,0xee, - 0x7b,0xfd,0xb1,0xaf,0x10,0xee,0x5b,0x54,0x81,0xed,0x08,0x80,0x98,0xca,0xe2,0x85,0x3d, - 0x54,0x69,0x00,0x88,0x6c,0x38,0xd1,0xdd,0xd8,0x30,0x78,0xb3,0x31,0xb4,0x6e,0x57,0x9d, - 0x93,0xa5,0xf3,0x77,0x6c,0x5e,0x17,0x5e,0x1c,0xd6,0x96,0x57,0xea,0xe4,0x73,0x0a,0xac, - 0x4d,0x2f,0x2b,0x6f,0x28,0xa0,0xf5,0x79,0x96,0xed,0x3c,0x03,0xd7,0xb3,0xd4,0x61,0x7d, - 0x36,0xd3,0x27,0x5d,0x36,0xcd,0x6b,0x26,0x02,0xe0,0xfd,0xca,0xf8,0x8d,0x9a,0x31,0x81, - 0x50,0x03,0x9a,0x83,0x46,0xbb,0xee,0x53,0x8c,0x12,0x60,0xcb,0xee,0x22,0x90,0x04,0x30, - 0x49,0x1c,0xf8,0x21,0x08,0xee,0xd9,0x75,0xa3,0x4a,0xa0,0x4a,0xd7,0x01,0x22,0x9b,0x4f, - 0x7d,0xc6,0xa1,0x61,0xf0,0x5c,0x63,0xfd,0x20,0x47,0xe9,0xdd,0xeb,0x07,0x78,0x41,0x4b, - 0x54,0xf2,0xa8,0xc0,0x43,0x64,0xa8,0x1f,0x2b,0xe9,0xa6,0x9c,0x5e,0x66,0x6d,0x28,0xc8, - 0xba,0x5f,0xc4,0x26,0x7a,0xa4,0xe2,0x46,0xe3,0xbd,0x16,0xe3,0x89,0xd8,0xda,0x7c,0xe4, - 0x01,0x94,0xe7,0x27,0x76,0x45,0x00,0xec,0x87,0x4a,0x20,0x04,0x00,0xc5,0x42,0x64,0xb3, - 0x3e,0x03,0x03,0xf4,0x10,0xdd,0xd2,0xc1,0xe6,0x7b,0x10,0x9e,0xff,0x3c,0x50,0x08,0xb9, - 0xea,0x9f,0x50,0x23,0x13,0x48,0xab,0x44,0x09,0x8c,0x08,0x9e,0x10,0xa2,0xf7,0xf3,0x59, - 0x64,0x0c,0x0d,0xea,0x6d,0x0c,0xf2,0x07,0xd9,0x54,0x1a,0xe0,0x66,0xf3,0x04,0xfa,0xb8, - 0xb1,0x2a,0x63,0x34,0xbf,0xcf,0x1b,0x87,0x08,0x72,0xf9,0xba,0xb9,0x38,0xa0,0x58,0x2c, - 0x66,0x62,0x3d,0x1b,0xb7,0x9c,0xbc,0x42,0x66,0xdf,0x5f,0xcf,0x2e,0x3f,0x81,0x87,0x16, - 0x78,0x2a,0xdc,0x1b,0xa7,0xcc,0xf9,0xa7,0x89,0x8a,0xa1,0x95,0xb5,0x50,0x03,0x02,0x80, - 0x54,0x7e,0x4a,0x43,0x16,0x65,0xbe,0x87,0x9b,0x0e,0xfa,0x74,0x76,0xb4,0xe9,0xfb,0xc4, - 0xfc,0xc3,0x09,0xc5,0x90,0x79,0x4b,0x33,0x2d,0x61,0x04,0x02,0xe0,0x81,0x62,0x16,0x15, - 0xa1,0x2a,0x35,0x03,0x11,0x08,0x03,0x75,0x6e,0x2e,0xdf,0xe3,0xd0,0x50,0xcf,0x58,0x0f, - 0x95,0x3e,0xa3,0xfd,0x63,0xa5,0x2d,0x54,0xc6,0x54,0xaf,0x7f,0x22,0xf3,0xbf,0xac,0xcc, - 0x67,0x29,0x4d,0x41,0x2a,0x56,0x35,0xb4,0x8f,0x93,0x12,0xe3,0x2a,0x32,0x99,0x4a,0x61, - 0x7f,0x5c,0x31,0xdc,0xb9,0xab,0x99,0x2d,0xb7,0x0b,0x99,0xdf,0xab,0x4a,0x1a,0xa7,0x1c, - 0xaa,0x72,0x47,0x10,0x82,0x80,0xcc,0xc0,0x37,0xc1,0xc1,0xf8,0x3a,0x82,0xc0,0xc5,0x80, - 0x12,0xc1,0xe0,0xe3,0x09,0xe5,0xb6,0x98,0x8d,0x44,0x3d,0x9e,0x2a,0x79,0x99,0xef,0xaa, - 0x86,0x4f,0x5a,0xaf,0xad,0x4d,0x65,0xaf,0xc9,0xab,0x65,0x0a,0x36,0xaa,0x67,0x60,0x89, - 0xa2,0x4e,0x8e,0xea,0xdf,0x44,0x43,0xd9,0xcd,0x3b,0xa5,0x70,0x34,0xb1,0x18,0x4a,0xb4, - 0xf3,0x91,0x48,0x15,0x8c,0x46,0x00,0x9c,0x80,0x1a,0xa0,0x6a,0x73,0x05,0x23,0x10,0x28, - 0xc7,0x8f,0x2a,0x66,0x4d,0x43,0x30,0x04,0x18,0x02,0x7c,0xc1,0x10,0x50,0x0b,0x68,0xaf, - 0x73,0xb6,0x4d,0x84,0x0a,0x44,0x79,0x7f,0xa6,0x5b,0x59,0x60,0xba,0x7c,0x9d,0x85,0x7e, - 0x35,0x32,0x7f,0x89,0xe9,0xdd,0x91,0xf9,0x71,0x95,0xfd,0x3b,0x10,0x00,0x73,0x71,0xf7, - 0x9c,0xf2,0xbc,0x01,0x85,0x5b,0x80,0xaf,0x9e,0x0d,0x09,0xce,0x4e,0x3a,0xc8,0x2f,0x2c, - 0x85,0xdc,0x5c,0x62,0xbe,0xd9,0x1a,0xe3,0xd9,0x4f,0xc1,0x6d,0x3c,0x32,0x7f,0x05,0xd4, - 0x10,0x55,0x7b,0x30,0x88,0x97,0x08,0x64,0x96,0x91,0x49,0xc5,0x12,0x2d,0x71,0x98,0x00, - 0xbd,0xbb,0x2b,0xee,0x5d,0x19,0x18,0x74,0x0e,0x46,0x6e,0x2a,0x2e,0x51,0x71,0x09,0x94, - 0x96,0xe0,0x56,0x84,0x1b,0xda,0xf6,0xe4,0xe6,0xd5,0x98,0xe4,0x21,0x25,0x72,0xd7,0x52, - 0xda,0xf7,0x5e,0xa8,0x02,0xd2,0x32,0x05,0x2b,0x48,0xc4,0xfc,0xd7,0x6b,0xba,0xa8,0x74, - 0x8d,0x85,0x83,0x69,0x4e,0x20,0x70,0xf1,0xf5,0x41,0xfc,0x16,0xf1,0x80,0xb7,0xa4,0x7e, - 0xb6,0x0a,0xb7,0x57,0x91,0xf9,0x15,0xab,0x52,0x61,0x03,0x69,0x99,0x82,0x15,0x20,0x42, - 0xf0,0x24,0x64,0x7e,0xa5,0xa7,0xd4,0xd9,0x4b,0x0f,0x45,0x42,0x08,0x11,0x02,0x82,0x82, - 0xfe,0x04,0x84,0xfe,0xb8,0x45,0x01,0x37,0x73,0xb8,0x2c,0xad,0x91,0x34,0x7b,0x4a,0xfc, - 0xa3,0xc4,0x4a,0xf2,0xfc,0xac,0xac,0xcc,0xcc,0x64,0x6b,0xa4,0x65,0x0a,0xda,0x49,0x14, - 0xa5,0xa2,0x44,0x90,0xc4,0x07,0xb8,0x47,0xa5,0xd1,0x43,0x03,0x00,0x25,0x21,0x20,0x48, - 0x31,0x08,0x05,0x6e,0xfd,0x21,0x8a,0xc4,0x51,0x30,0x89,0x14,0x26,0x9a,0xd1,0x43,0x62, - 0xfe,0x32,0x32,0x3c,0xbf,0xc2,0x0f,0xa8,0x20,0x21,0x00,0xe8,0xbd,0x68,0xfe,0x43,0x37, - 0x3b,0xbf,0x4a,0x73,0xe9,0xa9,0xde,0xc0,0x22,0x64,0xfe,0x43,0xb3,0x7e,0xe0,0x43,0x0b, - 0x80,0x87,0x99,0x78,0x7f,0x00,0xe5,0x34,0x50,0x6e,0x43,0x70,0x19,0x1f,0xa5,0x28,0x15, - 0x4d,0x95,0xa3,0x9a,0x00,0x1b,0x1f,0x26,0xc6,0x0b,0xf4,0xff,0x00,0xce,0xab,0xde,0x52, - 0xda,0x9d,0xf4,0x9f,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82 + 0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xd9,0x07,0x15,0x0f,0x13,0x1d,0x25,0xb7,0xf6, + 0x8c,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x1e,0xc2,0x00,0x00,0x1e,0xc2, + 0x01,0x6e,0xd0,0x75,0x3e,0x00,0x00,0x00,0x04,0x67,0x41,0x4d,0x41,0x00,0x00,0xb1,0x8f, + 0x0b,0xfc,0x61,0x05,0x00,0x00,0x3e,0xce,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x7d,0x09, + 0xb4,0x24,0xd5,0x79,0xde,0x7f,0x6b,0xef,0xea,0xfd,0xf5,0xeb,0xb7,0xce,0xbc,0x59,0x18, + 0x06,0x66,0x40,0x0c,0x12,0x8b,0x40,0x20,0x36,0x09,0x30,0xd8,0x42,0x96,0x65,0x4b,0x27, + 0xb2,0x2d,0x1d,0xd9,0x4e,0xf0,0x71,0xbc,0x44,0x4e,0xe2,0x24,0x27,0x8e,0x89,0x4e,0x92, + 0xa3,0xf8,0xc4,0x76,0x22,0x27,0xf1,0x89,0x2c,0xdb,0x5a,0x2c,0x59,0xd6,0xd8,0x5a,0x6c, + 0x19,0x0c,0xb2,0x80,0x61,0x15,0x42,0x08,0x24,0x18,0x0c,0x0c,0xc3,0xec,0xcb,0xdb,0x5f, + 0xef,0x5d,0xfb,0xcd,0xff,0xdf,0xaa,0xea,0xae,0xee,0xd7,0xef,0xcd,0xc2,0x0c,0x6f,0xc0, + 0x73,0xe7,0xdc,0xa9,0xea,0x7a,0xd5,0xd5,0x55,0xf7,0xff,0xfe,0xf5,0xfe,0xf7,0x2f,0x80, + 0xf3,0xed,0x7c,0x3b,0xdf,0xce,0xb7,0xf3,0xed,0x7c,0x3b,0xdf,0xce,0xb7,0xf3,0xed,0x7c, + 0x3b,0xdf,0xce,0xb7,0xf3,0xed,0x7c,0x3b,0xdf,0xfe,0xa9,0x34,0x76,0xa6,0x2f,0x78,0xcf, + 0x3d,0xf7,0x48,0xf2,0x45,0xef,0xd8,0x56,0x2a,0x4c,0xde,0x91,0xcb,0x14,0x2f,0x31,0x53, + 0xe9,0xe7,0xe5,0xcc,0xe8,0x9f,0xfc,0xe4,0x36,0x56,0x5f,0xeb,0x87,0x3d,0xdf,0x96,0x37, + 0xe5,0x4c,0x5e,0xec,0x9e,0x3f,0xf9,0x8b,0x89,0x7c,0x69,0xe3,0xaf,0x14,0x87,0xc6,0x7f, + 0x35,0x93,0xc9,0xe7,0x64,0x49,0x02,0x49,0x62,0x0e,0xb3,0x6a,0x73,0xf8,0xe7,0x2f,0xad, + 0xf5,0xc3,0x9e,0x6f,0xcb,0xdb,0x19,0x01,0xc0,0xbf,0xf8,0xcc,0x67,0xd4,0x75,0xe6,0xfa, + 0x0f,0x97,0xca,0x9b,0xff,0x9b,0x69,0xe6,0xd7,0x2b,0x8a,0x02,0x8e,0x1b,0x30,0x59,0xe2, + 0x08,0x00,0x29,0x00,0x0e,0xd6,0x5a,0x3f,0xe8,0xf9,0x36,0xb8,0xbd,0x6e,0x00,0xfc,0xc6, + 0xff,0xfc,0x5c,0x61,0x24,0xb7,0xf9,0xf7,0xf3,0x43,0x53,0x3f,0x2b,0x2b,0xba,0xe6,0xfa, + 0xc0,0x38,0xf7,0x80,0x11,0xf7,0x33,0x86,0xdb,0xe0,0x15,0x03,0xd4,0x87,0xd6,0xfa,0x41, + 0xcf,0xb7,0xc1,0xed,0x75,0x01,0xe0,0xd7,0x3f,0xfb,0x17,0xa3,0xa5,0xf4,0xfa,0xcf,0x18, + 0xd9,0x89,0xf7,0xf9,0x5c,0x66,0x81,0xe7,0x33,0xdf,0x0f,0x40,0xe6,0x2e,0x94,0x72,0x3a, + 0xb4,0x3c,0xd9,0x97,0xb8,0xfc,0xc7,0x1f,0xbd,0xb9,0xb0,0xb8,0xd6,0x0f,0x7a,0xbe,0x0d, + 0x6e,0xa7,0x0d,0x80,0xff,0xf0,0xe9,0x3f,0x2d,0xab,0xc6,0x86,0xaf,0xc8,0x46,0xf9,0x26, + 0xd7,0x67,0xcc,0x0f,0x90,0xf5,0x25,0x00,0xcb,0xf1,0x21,0x08,0x38,0x9e,0x61,0x41,0x39, + 0xab,0x3d,0x32,0xdb,0x68,0x7c,0x79,0xad,0x1f,0xf2,0x7c,0x5b,0xb9,0x9d,0x16,0x00,0xfe, + 0xfd,0x1f,0x7d,0xb9,0x28,0x99,0xa3,0xdf,0x62,0x5a,0xe1,0x6a,0xcf,0xe7,0xcc,0x0b,0x3c, + 0x32,0xf6,0x80,0x23,0xdd,0xa9,0x53,0x5b,0x6a,0xe3,0xc5,0x25,0x67,0xfb,0xe5,0xe3,0xf2, + 0xc5,0xf8,0xf1,0xe9,0xd3,0xbd,0xc1,0x8f,0x7d,0xee,0x73,0xc6,0x55,0xe9,0x8d,0x85,0x11, + 0x98,0x9b,0xfb,0xd0,0x87,0x3e,0xe4,0xaf,0xf5,0x80,0xbd,0xd5,0x9a,0x74,0xaa,0x5f,0x20, + 0x37,0x4f,0xd2,0x8b,0x9f,0x92,0xf5,0xe1,0xab,0x90,0xdc,0x8c,0x23,0xf1,0x39,0x72,0x7f, + 0x80,0xa2,0x9f,0x07,0xbc,0xe7,0xdc,0x85,0x16,0x8c,0xbe,0x36,0x1f,0x7c,0xf6,0xa9,0xdd, + 0x7b,0xb6,0x9f,0xce,0xcd,0xfd,0xd7,0xcf,0x7f,0xfd,0xea,0x3b,0x2f,0xbc,0xf6,0x9b,0xdb, + 0x2f,0xbb,0xfc,0x47,0xeb,0xde,0xf9,0x81,0x9b,0xd7,0x7a,0xb0,0xde,0x8a,0xed,0x94,0x25, + 0x80,0x3b,0xf9,0xb6,0x8f,0xca,0x5a,0xe1,0xe3,0x8c,0xfb,0x92,0x2a,0xc9,0xa0,0x28,0x2a, + 0x30,0x26,0x83,0x8b,0xc4,0x47,0x0c,0x74,0x1a,0xda,0x7f,0x68,0xfc,0x03,0x3b,0x56,0x87, + 0xb7,0xa1,0x2f,0xf0,0x37,0xbb,0x9e,0x79,0xe9,0xa7,0x6e,0xba,0x72,0xdb,0x0b,0x27,0xf3, + 0x1b,0xff,0xed,0x4f,0x77,0x96,0xcb,0xe3,0x53,0xff,0x6e,0xe3,0xd4,0x05,0xbf,0x98,0xcf, + 0x15,0xf3,0x8c,0x8c,0x49,0x26,0x5d,0xc6,0x39,0x7f,0x10,0xf7,0xf9,0xc9,0x5c,0xe3,0x7c, + 0x3b,0xb9,0x76,0x4a,0x12,0x00,0xdd,0x3d,0x13,0x94,0xf4,0x27,0x91,0x1a,0x2a,0x70,0x1b, + 0x86,0xb2,0x1a,0xe4,0x4c,0x03,0x34,0x45,0x06,0x55,0x26,0xab,0x3f,0x3c,0x2f,0x8e,0x2e, + 0x21,0xd9,0x10,0x04,0x8c,0x4d,0xd7,0xf9,0x05,0xfb,0x2b,0xf2,0x67,0xbe,0xb7,0x7b,0xff, + 0xd8,0x89,0x7e,0xe3,0xb7,0xbf,0xf0,0x95,0x6d,0x53,0x17,0x6c,0xfb,0xfa,0xc5,0x5b,0x77, + 0xfc,0xab,0x6c,0xb6,0x98,0xe7,0x9c,0xb1,0x20,0x00,0xe6,0xfa,0x7e,0xeb,0x3c,0xf1,0xcf, + 0x7c,0x3b,0x25,0x09,0x90,0xf7,0x33,0xbf,0x26,0xe9,0xfa,0x7a,0x08,0x1c,0x16,0x20,0x76, + 0x16,0x16,0x67,0x60,0x64,0x78,0x12,0x34,0x55,0x26,0x42,0xa3,0xfe,0x97,0xc0,0x25,0x55, + 0xc0,0x23,0x10,0xb0,0x70,0x1b,0x81,0xe0,0x1a,0x53,0xf1,0xbe,0xf4,0xc4,0x8b,0xfb,0x7e, + 0xf1,0xba,0x4b,0x36,0x1f,0xec,0xbf,0xf6,0x3d,0xa8,0xeb,0x87,0x8b,0x9b,0xee,0x5e,0x37, + 0x79,0xc1,0x7f,0x18,0x1a,0x2a,0x8f,0x30,0x49,0x46,0xdb,0x82,0x8b,0x6f,0x63,0x6b,0xe3, + 0x75,0x0e,0xad,0xf5,0x60,0xbd,0x15,0xdb,0xa9,0x48,0x00,0x94,0xf8,0xfa,0x4d,0x00,0xbe, + 0xf0,0xf3,0x39,0xba,0x7a,0xb6,0xeb,0xc2,0xec,0xcc,0xab,0xa0,0xcb,0x0c,0x74,0x45,0x42, + 0x29,0xc0,0x84,0x24,0x80,0x50,0xfc,0x0b,0xfe,0xa7,0x46,0xea,0x00,0x01,0xc3,0xf6,0x57, + 0xe0,0x96,0x7d,0x33,0xfe,0x9f,0x3d,0xbb,0x67,0x4f,0x39,0x79,0xe1,0x7b,0x3e,0xfd,0xe7, + 0xb9,0x89,0xb1,0xed,0x9f,0xdd,0xb2,0x65,0xc7,0x7f,0x2f,0x0e,0x8d,0x8c,0xa0,0xca,0x40, + 0xaf,0x82,0x54,0x4a,0xdc,0x83,0x25,0x2e,0x79,0x2f,0xaf,0xf5,0x60,0xbd,0x15,0xdb,0xc9, + 0x4a,0x00,0x02,0x8a,0xde,0xa8,0x55,0x9e,0xcf,0x0f,0xa5,0xd0,0x18,0x93,0x15,0xd7,0x73, + 0x8f,0x57,0xe7,0x66,0x9e,0x6a,0x55,0x8e,0xcc,0xa3,0x68,0xfe,0xf8,0xc8,0xe8,0x56,0x9d, + 0x24,0x00,0x91,0x1a,0xc5,0x36,0x4a,0x02,0x2e,0xc8,0x2f,0xb1,0x10,0x0a,0x0c,0x42,0x10, + 0x1c,0xab,0xf1,0x9b,0x9d,0x43,0xfc,0x8b,0x7f,0x78,0xff,0xfe,0x4f,0x3c,0x56,0xdb,0xf8, + 0xea,0x15,0xee,0xb7,0xae,0x1d,0x1b,0xdb,0xfc,0x07,0xe3,0xe3,0x1b,0xae,0x90,0x25,0x49, + 0xf2,0xbd,0x20,0x44,0x4c,0x4f,0xe3,0xdf,0x6b,0xf9,0xc6,0xd1,0xb5,0x1e,0xac,0xb7,0x62, + 0x3b,0xd9,0xc9,0x20,0x19,0x7b,0x3e,0x33,0x34,0x34,0xf6,0xb6,0x6b,0x6f,0xbd,0x04,0x89, + 0x64,0xcc,0x1c,0xda,0x53,0x3f,0xb2,0xef,0xe5,0x06,0x78,0x9e,0xff,0x33,0xff,0xf2,0xdf, + 0xde,0x70,0xf9,0xb5,0xb7,0xff,0xd6,0x50,0x79,0x53,0xca,0xf6,0x80,0x39,0x6e,0x00,0x0e, + 0x12,0x92,0x40,0x20,0x49,0x20,0x22,0x82,0x44,0xd4,0xae,0x6d,0x80,0x4a,0x82,0x07,0xb3, + 0x32,0xd4,0x5f,0xdd,0x38,0x31,0x72,0x51,0xda,0xcc,0x0e,0x7b,0x56,0x8b,0xb5,0xdb,0x75, + 0x50,0x35,0x1d,0xd2,0xb9,0x61,0x11,0x49,0x8c,0x5a,0x9d,0x81,0x72,0xe7,0xad,0x17,0x6b, + 0x8f,0xaf,0xf5,0x60,0xbd,0x15,0xdb,0xa9,0xd8,0x00,0x41,0x63,0x71,0xb1,0xf9,0xdd,0x7b, + 0xbf,0xfa,0x22,0xee,0xa7,0xb0,0xeb,0xd8,0x55,0xfa,0xc3,0x5f,0xff,0xd1,0xef,0xdd,0x9f, + 0x29,0x96,0xd4,0x6d,0x9a,0xf9,0x5b,0xd9,0xdc,0x98,0xca,0x83,0xd0,0x1e,0xe0,0xc8,0xf3, + 0x1e,0x82,0x00,0x9d,0x84,0x8e,0xae,0x11,0xde,0x81,0xef,0x31,0x43,0x69,0x8d,0x4e,0x4d, + 0x4c,0x8e,0xa2,0x35,0x09,0x0e,0x12,0xde,0x43,0x4c,0xb8,0x08,0x0d,0xab,0xd9,0x00,0x3a, + 0x3b,0x95,0x1d,0xa2,0xb3,0x51,0x1c,0xf0,0x2f,0xd4,0xb9,0x7a,0xda,0x71,0x84,0xf3,0x6d, + 0xf5,0x26,0x9f,0xe2,0xf9,0x14,0x88,0x71,0x81,0xa4,0x79,0x08,0x1e,0xea,0x52,0x10,0x04, + 0xfe,0x2b,0x3f,0xfa,0xfe,0x0f,0x2f,0x7c,0xfb,0x95,0x72,0x3a,0x9d,0xbd,0xd4,0x30,0xd2, + 0x4a,0x6c,0xae,0x93,0x41,0xe8,0xf3,0x48,0x12,0xd0,0xe7,0xc0,0x82,0x82,0x19,0xc0,0x44, + 0x79,0x04,0xc8,0xbc,0x57,0x74,0x03,0xb8,0xac,0x82,0x8b,0x12,0x83,0x6c,0x06,0x3a,0xdf, + 0xb6,0xda,0x1c,0xcf,0xaf,0x4b,0x8a,0xf6,0xa7,0x8a,0x07,0xff,0xe5,0xfd,0x97,0xe9,0xb5, + 0xb5,0x1e,0xa8,0xb7,0x6a,0x3b,0x15,0x00,0x10,0xf1,0x3d,0xec,0x4e,0xf4,0x59,0x83,0x50, + 0x0a,0x10,0x5d,0x99,0x6b,0x59,0xee,0xbe,0xe7,0x9e,0x7d,0x78,0xf3,0xdb,0x2f,0xe7,0xe9, + 0x4c,0xfe,0x9d,0x86,0x9e,0x92,0x84,0x0d,0x1f,0x45,0x07,0x11,0x24,0x20,0xf3,0x3a,0x8c, + 0x16,0x4d,0xc8,0x9b,0x69,0xa8,0x35,0x5d,0x70,0xb8,0x02,0xa8,0x32,0x44,0xfc,0xc0,0xc3, + 0xff,0x5c,0xd7,0x03,0x59,0x66,0xbe,0xe3,0x5a,0x2f,0xcc,0x1f,0xdb,0xf7,0xf5,0xc6,0xf4, + 0x9e,0x2f,0xfe,0xb3,0xdb,0x76,0xec,0x5d,0xeb,0x41,0x7a,0x2b,0xb7,0x53,0x95,0x00,0xc4, + 0xf9,0x44,0x57,0xe2,0x7c,0x23,0xea,0x74,0x0d,0xe1,0xed,0x35,0x9b,0x55,0x67,0xef,0x4b, + 0xcf,0x3d,0xbc,0xed,0xca,0xeb,0x26,0xd3,0xe9,0xdc,0x25,0xaa,0xa2,0x45,0x20,0x08,0x89, + 0xbf,0x6e,0x6c,0x04,0x24,0x34,0x10,0x67,0xaa,0x36,0xa2,0x48,0x85,0x80,0x87,0xe6,0x21, + 0xa9,0x05,0x55,0x56,0xc4,0x65,0x02,0xcf,0x07,0x4d,0xb2,0x9f,0xab,0xb7,0x1b,0x2f,0xb7, + 0xad,0xd6,0xd8,0x07,0x7f,0xf2,0x83,0x33,0xf7,0xfe,0xcd,0xd7,0x2a,0x6b,0x3d,0x50,0x6f, + 0xd5,0x76,0xaa,0x00,0x88,0x1b,0xe9,0x7e,0xb2,0x03,0x08,0x00,0x21,0xe5,0x42,0x60,0x04, + 0xcd,0x4a,0xc5,0x1e,0x9f,0xd8,0xf4,0x50,0xaa,0x90,0xdb,0x9a,0xcf,0x16,0x2f,0x0c,0x02, + 0x97,0xc9,0xac,0x05,0xa3,0xe5,0x51,0xb0,0x5b,0x6d,0x24,0x3e,0x72,0x7e,0xf4,0xb3,0x31, + 0xf1,0xc5,0x56,0x42,0x53,0x0f,0x41,0x10,0x50,0xb4,0x87,0x4b,0x93,0x59,0x5d,0x59,0x6a, + 0xbb,0xde,0x92,0xe5,0xda,0x93,0x77,0xbd,0xef,0xa7,0x8e,0xff,0xfd,0xdf,0x7e,0xed,0x7c, + 0x46,0xd1,0x59,0x68,0xa7,0x03,0x00,0x16,0x7d,0x2f,0x96,0x00,0x31,0x00,0xa8,0x11,0x08, + 0xbc,0x17,0x9f,0x79,0xac,0xf2,0xf6,0x1b,0x7e,0xec,0x79,0xdd,0xd0,0x3e,0x6a,0x9a,0x29, + 0xb5,0x50,0x2c,0x83,0xd3,0x6a,0xc1,0x42,0x13,0x0d,0xbe,0x40,0x8a,0x62,0x3b,0x42,0xe3, + 0x47,0x00,0x08,0xbb,0x24,0x4b,0xa0,0x28,0x22,0xa8,0x84,0x36,0x84,0xbc,0x25,0x9b,0x52, + 0x1a,0x4d,0xc7,0x59,0x0a,0x7c,0x77,0xea,0x7d,0xe7,0x41,0x70,0x56,0xda,0x29,0x4f,0x06, + 0x41,0x48,0x3e,0xea,0x7e,0xd4,0x3b,0xe1,0x3a,0x08,0x81,0xa1,0x9b,0x66,0x39,0x65,0x1a, + 0xda,0xe5,0x66,0xa6,0x20,0x99,0x99,0x22,0xb8,0xed,0x26,0x34,0x1d,0x9a,0x3a,0x92,0x40, + 0x96,0xc2,0xf0,0x10,0xd9,0x04,0x3e,0x7a,0x08,0xae,0xc7,0x45,0xf4,0x90,0x3a,0x7a,0x94, + 0x62,0x2a,0x59,0x51,0x35,0x06,0xb2,0x91,0x62,0x72,0xf6,0x3d,0xc3,0xc5,0xd2,0x06,0x5f, + 0x35,0x8b,0x0e,0x83,0x5b,0xbe,0xf8,0xc5,0x2f,0xa6,0xd7,0x7a,0xc0,0xde,0x6a,0xed,0x74, + 0x55,0x00,0x7d,0x8f,0x8c,0xc0,0x54,0xb4,0xed,0xc4,0x13,0xa6,0x36,0x6f,0x4d,0xff,0xea, + 0xa7,0xfe,0xe8,0xb7,0xd7,0x6f,0x79,0xfb,0xbf,0x36,0x52,0x79,0xc3,0xb7,0x9b,0x8c,0x0c, + 0xbd,0x20,0xf9,0x53,0xc2,0x33,0x88,0x76,0x44,0x8b,0x62,0x04,0x51,0xac,0x80,0x72,0x09, + 0x49,0x12,0xf8,0x1c,0xbd,0x45,0x59,0xd9,0x68,0xe8,0xf2,0x91,0xba,0xeb,0x70,0xdb,0xf1, + 0x4b,0x77,0xfe,0xcc,0x4f,0x1e,0xb9,0xff,0x1b,0xdf,0xb0,0xd7,0x7a,0xe0,0xde,0x2a,0xed, + 0x74,0x01,0x40,0x92,0x23,0x09,0x00,0x21,0x49,0x2e,0xb9,0xf2,0x9a,0xf2,0xcf,0xfe,0xe6, + 0xa7,0x7e,0x67,0x72,0xd3,0x8e,0x3b,0x14,0x55,0xd7,0x02,0xd7,0x12,0x41,0x21,0x2e,0x69, + 0x20,0x47,0xb2,0x86,0x27,0xa6,0x73,0x02,0x32,0x29,0x29,0x2e,0xc0,0x23,0x55,0x10,0x01, + 0x80,0x02,0x47,0xa4,0x0e,0x64,0x99,0xe6,0x03,0x98,0xa9,0x2a,0xca,0x06,0x5d,0x66,0x87, + 0x6a,0xb6,0xad,0x30,0x87,0x97,0xae,0xfd,0xc0,0x8f,0xef,0x7b,0xe4,0x6f,0xfe,0xc6,0x5b, + 0xeb,0xc1,0x7b,0x2b,0xb4,0xd3,0x4d,0x0b,0x27,0xbd,0x9f,0xc1,0x5e,0xc2,0x5e,0xc0,0xae, + 0xbe,0xeb,0xc7,0x3e,0x70,0xc1,0x8f,0x7f,0xf4,0x13,0xff,0xb9,0x34,0xb2,0xe9,0x02,0x49, + 0x56,0xc4,0x6c,0x40,0x60,0xd5,0xc1,0x93,0x52,0x42,0xec,0x2b,0x52,0x28,0xee,0x29,0x30, + 0x14,0x8a,0xfc,0x30,0xce,0x1f,0x20,0xf1,0x15,0x99,0x91,0xfb,0x27,0x66,0x15,0x45,0x57, + 0x15,0xd0,0x55,0x09,0x54,0x55,0xa6,0xa8,0x11,0x38,0xb6,0xc5,0x55,0xde,0xda,0x5f,0xa9, + 0xcc,0xec,0xac,0x54,0x17,0x2a,0xba,0xeb,0xfe,0x20,0xed,0x55,0x1f,0xb9,0xfb,0xee,0xbb, + 0xdd,0x33,0x3d,0x20,0x3b,0x77,0xee,0x94,0x8b,0xc5,0x62,0x41,0xd3,0xb4,0x1c,0x02,0xd3, + 0x40,0x50,0xa6,0x70,0x9b,0x66,0x61,0xb3,0x51,0x75,0xb5,0xf0,0x73,0xdb,0x75,0xdd,0x96, + 0xaa,0xaa,0x8b,0x37,0xdf,0x7c,0xf3,0x9b,0x3a,0xe1,0xf5,0x74,0x01,0x40,0xfc,0x4c,0xfa, + 0x58,0x00,0x20,0x53,0x2c,0x66,0x7e,0xf3,0xf7,0xbf,0xf2,0xa9,0xb1,0xf5,0x97,0x5c,0xc7, + 0x28,0x35,0x88,0x44,0xba,0x53,0x07,0x17,0x85,0x03,0x67,0x48,0x50,0x31,0x59,0x04,0x11, + 0xf1,0xbb,0x00,0xf0,0xfa,0x40,0xa0,0x20,0xd7,0x87,0x00,0x08,0x81,0xa0,0x6b,0x08,0x02, + 0x32,0x0a,0x11,0x04,0xae,0xdd,0xe6,0x32,0x6f,0xee,0xae,0xd7,0x16,0xee,0xad,0x2c,0xce, + 0xce,0xab,0xb6,0xfb,0x74,0xf5,0xe8,0xcb,0xdf,0xfd,0xe4,0x27,0x3f,0x79,0xca,0x92,0x00, + 0x09,0xc8,0xfe,0xea,0xaf,0xfe,0xca,0x40,0x42,0x9b,0xba,0xae,0x97,0xf0,0xf3,0x85,0x28, + 0x8e,0x36,0x49,0x92,0xb4,0xce,0xe7,0x7c,0x1d,0x23,0xc9,0xc8,0x58,0x1b,0xdd,0x11,0x8a, + 0x79,0xb8,0x1c,0x09,0x8f,0x52,0x09,0x6f,0x93,0x6b,0x28,0xc0,0x34,0x46,0x5b,0xc6,0x28, + 0x06,0x42,0xfb,0x73,0x78,0xfc,0x20,0x7e,0xe7,0xb0,0xc7,0xf9,0x7e,0xbc,0xde,0x7e,0xc7, + 0x71,0x5a,0xf8,0x37,0x0b,0xc1,0x71,0xce,0x4b,0xa9,0xd3,0x05,0x00,0x7d,0xcf,0xc4,0x5e, + 0xa4,0x7e,0xc5,0x4d,0x77,0x6e,0xfe,0xc8,0x27,0xfe,0xc7,0x97,0xf5,0x54,0x3e,0x32,0xd2, + 0x50,0xa4,0xdb,0x55,0xf0,0x95,0x0c,0xee,0x49,0x40,0xd3,0xf8,0x19,0x2d,0xcc,0x17,0xe8, + 0x00,0xc0,0x0b,0xc1,0x40,0x53,0xbe,0xd4,0x49,0x0d,0xa8,0x0a,0xea,0x7e,0x3c,0x49,0x00, + 0xa0,0x03,0x02,0x59,0x1c,0x0f,0x02,0x1f,0x3c,0xbb,0x1d,0xc8,0x41,0xe3,0xa5,0x85,0xa5, + 0x99,0xaf,0x35,0xaa,0x8b,0xf5,0xb4,0xe7,0x3c,0x31,0x7f,0x78,0xcf,0xf7,0x10,0x04,0xc1, + 0x89,0x6e,0x98,0x88,0xbe,0x6b,0xd7,0x2e,0x02,0xec,0xa5,0x0a,0x63,0x9b,0x71,0x5b,0x46, + 0x97,0x33,0x47,0xc4,0x64,0x44,0x5c,0xec,0x32,0x63,0x3e,0x48,0x92,0x8f,0x18,0xc6,0x67, + 0xe3,0x59,0xc6,0x24,0xf4,0x72,0x48,0x0a,0xc8,0xb4,0x95,0x64,0x26,0xd9,0xf8,0x77,0x0b, + 0x1f,0xc3,0x42,0x20,0x10,0x91,0xeb,0x78,0x5d,0x1f,0xa5,0x82,0x82,0x1b,0xc9,0x75,0x7d, + 0x89,0x3e,0x63,0xa7,0xdc,0x85,0x2a,0x6e,0x0f,0x21,0xa8,0x5e,0x38,0x7e,0xfc,0xf8,0xc1, + 0x73,0x35,0x9d,0xed,0x74,0x93,0x42,0x63,0x2f,0x80,0x10,0xee,0x6f,0xba,0x64,0xc7,0x94, + 0xa4,0xa4,0x74,0x3f,0x56,0xea,0xf4,0xbf,0x8c,0x63,0xe8,0xb5,0x21,0x90,0x8c,0x6a,0xe0, + 0x7b,0x4f,0x07,0x8a,0xb2,0x43,0xd5,0xd4,0x32,0xc5,0x7e,0x08,0x14,0x14,0x1c,0x8a,0xdd, + 0x07,0x11,0x2e,0x86,0x50,0x42,0xd0,0xb7,0x45,0x58,0x38,0x72,0x0f,0x29,0x84,0x4c,0xfb, + 0x8a,0x2c,0x83,0xac,0xe9,0x92,0xef,0xf2,0x8b,0x87,0x0a,0x23,0x37,0xf9,0xbe,0xff,0x60, + 0xab,0x51,0xb9,0x7a,0x78,0xc3,0x85,0x34,0x79,0xb0,0x5a,0xa6,0x11,0x7b,0xea,0xa9,0xa7, + 0x26,0x1f,0x7d,0xf4,0xd1,0xf7,0x23,0x17,0xef,0x80,0x90,0x63,0xa7,0x39,0x52,0x19,0x89, + 0x43,0x6a,0x6c,0x04,0x77,0xc7,0x69,0x8b,0xa7,0x0e,0xe1,0x6f,0x11,0xa8,0x55,0xc6,0xa4, + 0xc8,0x2e,0x95,0xc4,0xef,0x4b,0x62,0x2b,0x85,0x76,0x4a,0x34,0x5b,0x49,0x93,0x97,0xb8, + 0x5f,0xc7,0x3e,0x8f,0xe8,0x58,0x44,0xcb,0x65,0x26,0xf0,0xfd,0x23,0x78,0x6f,0x4e,0xb3, + 0xd1,0xe0,0xae,0xef,0x6f,0xc7,0xdf,0xfa,0xb1,0xf1,0xd1,0xd1,0x85,0x47,0x1e,0x79,0xe4, + 0xdb,0x33,0x33,0x33,0x4f,0x21,0x10,0x1c,0x38,0x87,0xda,0xeb,0x59,0x1a,0x46,0xc1,0xa0, + 0x3c,0xf6,0xa1,0x5f,0xba,0xe7,0x7f,0xff,0xdc,0xf6,0xab,0xdf,0xf7,0x1f,0xc5,0x08,0x25, + 0x9a,0x6f,0xd5,0x0f,0xb8,0xb5,0xd9,0x7f,0xf0,0x95,0xdc,0xb4,0x6e,0xe8,0x93,0xc3,0x43, + 0xd9,0x0f,0xa2,0x41,0x97,0xa3,0x44,0x52,0x37,0x9a,0x2d,0x8c,0xbb,0x17,0xb9,0x85,0x22, + 0x2a,0x48,0x92,0x20,0xa9,0x0e,0xa2,0x4e,0xf9,0x06,0xbe,0xef,0x82,0xef,0x58,0x2e,0xf3, + 0xab,0x8f,0xce,0xcc,0xcd,0xec,0xb2,0x5b,0xd5,0x4a,0xc6,0x85,0xfb,0x7f,0xf5,0x9f,0x7f, + 0xe8,0xb5,0x08,0x4f,0x82,0xdb,0x1f,0x7f,0xfc,0xf1,0x02,0x72,0xe6,0x55,0xb8,0x7f,0x33, + 0x12,0x68,0x0a,0x45,0xc8,0xcb,0x4c,0x96,0xe7,0xf1,0xcf,0xef,0x44,0x89,0x74,0x15,0xde, + 0x2a,0xe5,0x24,0x90,0xc4,0x22,0x3d,0x2f,0x25,0x09,0xdb,0xbf,0x95,0xc2,0x94,0x34,0x22, + 0x78,0xcf,0xdf,0xe2,0x2e,0x8e,0x4b,0x22,0x9c,0x85,0xb8,0x92,0x1c,0xdc,0x6f,0xe3,0xf9, + 0x35,0x94,0x2e,0x2f,0xa3,0x38,0x78,0xa8,0x59,0xaf,0xb7,0x5a,0x96,0xb5,0x1d,0xc1,0x21, + 0xe3,0xb1,0x87,0xa5,0x20,0x78,0xda,0x95,0xa4,0x83,0xe7,0x82,0x8a,0x78,0x3d,0x00,0x20, + 0xe9,0x91,0x25,0x00,0xfc,0xea,0xef,0x7e,0xf1,0x57,0x36,0x6c,0xbf,0xfe,0x13,0xc0,0xe2, + 0xa4,0x30,0xce,0x5d,0xdb,0x3e,0xf8,0xd4,0x03,0x7f,0xf1,0x5b,0x72,0xed,0x48,0xeb,0x92, + 0x6b,0xef,0xb8,0x06,0xb2,0x23,0x9a,0x69,0x66,0x2e,0x1a,0x1b,0x29,0xbd,0x57,0x95,0x95, + 0x74,0x8f,0x2a,0x08,0xc2,0x7d,0x3f,0xb2,0x09,0xc8,0x8c,0x50,0x15,0x26,0xb8,0x3e,0x54, + 0x05,0x92,0xd8,0xea,0xd8,0xc9,0x56,0x70,0x5d,0x07,0x02,0xaf,0xed,0x81,0x57,0x7f,0xe0, + 0xf8,0xdc,0xb1,0xef,0x06,0xf5,0x7a,0xc5,0x50,0xd9,0x7d,0xbf,0xfe,0xd1,0x0f,0xed,0x7f, + 0xf8,0xe1,0x87,0x0b,0x48,0x94,0xab,0x10,0x89,0x57,0xa1,0x58,0x1f,0xc6,0x01,0xaf,0xf2, + 0x90,0xc0,0xef,0xc4,0xdb,0x7a,0x3b,0x6e,0xf3,0xf8,0xd4,0x2a,0x0b,0x29,0xc9,0x56,0x23, + 0x7c,0x87,0xc8,0xc0,0x3a,0xc4,0x4f,0x70,0x7f,0x2f,0x00,0xe2,0x7d,0xb9,0xb3,0xcf,0x65, + 0x49,0xf6,0x24,0x59,0x6e,0xe3,0x73,0xec,0x45,0x64,0x3e,0xd5,0x68,0x34,0x8e,0x57,0x96, + 0x96,0xf2,0xae,0xe3,0xa0,0xfc,0x83,0xdd,0xe8,0xe5,0xec,0xba,0xfe,0xfa,0xeb,0x0f,0xaf, + 0x65,0xaa,0xdb,0xeb,0x59,0x18,0x22,0xe2,0x39,0xd4,0x5d,0xd7,0x6e,0xd1,0x64,0x4e,0x9c, + 0xc7,0xd1,0x6e,0x54,0x9f,0x7e,0xec,0x5b,0x9f,0xfb,0xdd,0x87,0xfe,0xf2,0x0f,0xf7,0xa3, + 0xa5,0x4c,0xd3,0x41,0xcf,0x6e,0x7d,0xe7,0x9d,0xd7,0xd4,0x1c,0x7b,0x1f,0x9e,0xf3,0xc8, + 0xc4,0x68,0xf9,0x3d,0xc8,0xe1,0x3a,0xd9,0x92,0x34,0x65,0xcc,0x3d,0x10,0xd3,0xc7,0x10, + 0xa9,0x05,0x02,0x01,0x6a,0x63,0x9a,0x19,0x00,0x37,0x8e,0x14,0xd2,0xe0,0x46,0x9c,0xa8, + 0xaa,0x1a,0x4d,0x49,0x2a,0x68,0x95,0xdd,0x32,0x32,0x34,0xda,0x9c,0xf5,0x83,0xe7,0x02, + 0xdb,0xfa,0xf1,0x7b,0xef,0xbf,0xbf,0x86,0x57,0xb9,0x0e,0xcf,0x9f,0xc5,0xaf,0x2c,0x49, + 0xa1,0xae,0x7f,0x1b,0xf6,0xf5,0x24,0x58,0x62,0xbd,0xd2,0x4f,0xe8,0x95,0x88,0x2f,0xb6, + 0x09,0x20,0x0c,0x3a,0x97,0x25,0x42,0x99,0xdd,0x73,0xc4,0x71,0x82,0x9d,0x8a,0x44,0x56, + 0x11,0x20,0xef,0x40,0x60,0x5c,0x5e,0x1e,0x1e,0x5e,0x44,0x75,0xb0,0xdb,0xf1,0xbc,0xa7, + 0x0f,0x1d,0x38,0x30,0xd4,0xb6,0xac,0xff,0x84,0xaa,0x61,0xf7,0x93,0x4f,0x3e,0xf9,0xd7, + 0x47,0x8e,0x1c,0x99,0x5e,0x0b,0x3b,0xe1,0x74,0xe3,0x00,0xd4,0x08,0x3c,0x64,0x09,0x1b, + 0x5b,0x2e,0xbd,0x6a,0xb8,0x3c,0x75,0xc9,0x1d,0x48,0x10,0xd6,0xaa,0x55,0xbe,0xfb,0xcd, + 0xff,0xfb,0x3b,0xbf,0xf3,0xbd,0xfb,0xbf,0x74,0x9c,0x4e,0xa2,0x88,0xdf,0x6b,0xaf,0xbc, + 0x58,0x99,0x18,0x1d,0xf2,0x0b,0xe5,0xa9,0x71,0x27,0xe0,0x0b,0x01,0x53,0x9d,0x6c,0x5a, + 0x9f,0x92,0xfa,0x54,0x46,0xb2,0x09,0x10,0x24,0x3e,0x47,0x39,0x25,0x21,0x37,0x52,0xc8, + 0x58,0x26,0x17,0x91,0x29,0x92,0x24,0x6f,0xc8,0xe8,0xcc,0x52,0x98,0xff,0x36,0xcf,0xf5, + 0x76,0x18,0xaa,0xf2,0x82,0xa2,0x2a,0x5b,0x71,0xf8,0x3f,0x8c,0xe2,0xff,0xed,0xf8,0xd5, + 0x12,0xa3,0xb4,0x65,0xe8,0x27,0x52,0xaf,0x18,0x5f,0x89,0xb8,0x27,0xe2,0x7e,0x12,0x7a, + 0xe2,0x33,0x24,0xf6,0x23,0xa9,0x20,0xcb,0x0a,0x84,0x0b,0x64,0xc3,0x98,0x06,0x76,0x53, + 0x56,0xd5,0xf5,0xa9,0x54,0x6a,0xc7,0xe8,0xd8,0x58,0x19,0xbd,0x90,0xa7,0x9b,0xcd,0x66, + 0xc9,0x6a,0xb7,0x6f,0x4e,0xa7,0xd3,0xca,0xc7,0x3e,0xf6,0xb1,0xa3,0x5f,0xf8,0xc2,0x17, + 0xde,0x50,0x1b,0xe1,0x74,0x01,0x40,0x23,0x41,0x36,0x00,0x79,0x02,0xa6,0xd3,0xb2,0xad, + 0x2d,0x57,0xdc,0x74,0x71,0xab,0x5e,0x7b,0xf6,0xc1,0xaf,0xfe,0xaf,0x3f,0x78,0xee,0x91, + 0x6f,0xcc,0x46,0xe7,0xf1,0x08,0x04,0xfc,0xf0,0xfe,0x3d,0x4b,0x5b,0x36,0x6d,0x32,0xcc, + 0xc2,0x58,0x9e,0xcb,0xc6,0x11,0x49,0x56,0x52,0x86,0xae,0x8c,0x92,0x7d,0xd5,0x9d,0x49, + 0x60,0xd0,0x93,0x47,0x40,0xea,0x80,0x75,0x7f,0x32,0x49,0x30,0x11,0x5b,0x40,0x7d,0x80, + 0xe6,0x04,0x7a,0x99,0xd2,0x05,0xaa,0xcc,0xdb,0x8e,0x47,0x29,0x25,0xfe,0xad,0x86,0xa2, + 0x5c,0x49,0xc6,0x1c,0x11,0x9e,0xf5,0x50,0xf7,0xe4,0x00,0x30,0x48,0xf7,0xf7,0x9f,0xdf, + 0x01,0x81,0x14,0x7d,0x66,0x91,0x1d,0x20,0xce,0xa7,0xbf,0x53,0xca,0xbc,0x22,0xce,0x23, + 0xc0,0x8a,0xcf,0x08,0x5a,0x45,0x25,0x81,0x20,0x69,0xf8,0xb7,0x49,0x74,0x19,0x2f,0x1f, + 0x1a,0x1a,0xaa,0xe2,0xf8,0xec,0x6d,0xb7,0xdb,0x5b,0x51,0x5d,0xed,0xf8,0xe8,0xc7,0x3e, + 0x76,0x1c,0x41,0xb0,0xf4,0x46,0x01,0xe0,0xf5,0x04,0x82,0xc8,0x80,0xca,0x41,0x18,0x10, + 0xd2,0xa6,0xb6,0x5e,0x91,0x41,0xd7,0xcc,0x5d,0x9c,0xd9,0x9f,0x0c,0xd3,0xf2,0xc4,0x96, + 0x17,0xca,0x65,0xf9,0xe7,0x7f,0xf1,0x13,0x97,0x8e,0x6f,0xbf,0x69,0x8b,0x92,0x2d,0x49, + 0x19,0x53,0x7b,0x6f,0x36,0xa5,0xbe,0x93,0x52,0x05,0xe2,0xd8,0x40,0x6c,0x1c,0x7a,0x7e, + 0xd7,0x3d,0xd4,0x54,0x72,0x0f,0x25,0xb1,0xa5,0xb8,0x00,0xd9,0x02,0x9a,0x16,0xda,0x06, + 0x04,0x19,0xc7,0xb1,0x39,0xf3,0x6a,0xb6,0xbd,0x70,0x50,0x5a,0x9a,0x9f,0xd1,0x4c,0xa4, + 0xd7,0x96,0x8d,0xeb,0x51,0x55,0xa8,0xcb,0x9e,0x74,0x99,0xf8,0x86,0x53,0xd3,0xfd,0x49, + 0xe2,0xf7,0x4b,0x82,0x18,0x2c,0x52,0x34,0xb3,0x19,0x03,0x40,0xc6,0x7b,0x26,0x69,0x40, + 0xf7,0x43,0x3d,0x3e,0x4e,0xd2,0x11,0xed,0x19,0xcf,0x71,0x9c,0xfd,0xcd,0x66,0xeb,0xc9, + 0xa3,0x47,0x8f,0xee,0x43,0x20,0xe4,0x59,0x10,0x3c,0x56,0xa9,0xd7,0xbf,0x7d,0xd7,0x5d, + 0x77,0xb5,0xce,0x36,0x00,0x4e,0x77,0x36,0xd0,0x88,0x00,0x40,0x12,0x40,0x84,0x82,0xab, + 0x0b,0xc7,0x9d,0x76,0xb3,0x12,0x4f,0x0e,0x0d,0x04,0x80,0xd5,0x6a,0x39,0x47,0x8f,0xed, + 0x3f,0x72,0xc5,0x3b,0xae,0x48,0xeb,0xd9,0x11,0xd3,0x03,0xf9,0x20,0x0e,0xde,0x84,0xae, + 0x4a,0x25,0x60,0xbd,0x60,0x4c,0x7e,0x31,0x94,0x04,0x49,0xfd,0xda,0xd5,0xcd,0x68,0x68, + 0x81,0x63,0xb7,0xd9,0xc1,0xd7,0xf6,0x2a,0x95,0xc5,0x05,0x39,0x9b,0x4e,0x81,0x96,0xc2, + 0xae,0x50,0x34,0x51,0xe9,0x72,0x37,0x5b,0x99,0xd0,0xcb,0x8e,0x75,0xfe,0x36,0xd8,0xf2, + 0xef,0x58,0xfd,0x31,0xe7,0x27,0x00,0x20,0x8b,0xbf,0x49,0x09,0xee,0x27,0xe2,0x77,0xb8, + 0x5f,0xec,0x53,0x27,0x60,0x13,0x00,0x3c,0xcf,0x95,0xd0,0x6d,0x44,0xf7,0x93,0x5d,0x94, + 0x36,0x4d,0x0a,0x40,0xfd,0xa3,0x65,0xdb,0x97,0x19,0xaa,0x3a,0xfa,0x4b,0x1f,0xf9,0xc8, + 0x91,0x3f,0xfb,0xd2,0x97,0x9a,0xe7,0x1a,0x00,0x88,0xfb,0x53,0x11,0x00,0x8c,0xbe,0x6b, + 0xf4,0x5b,0xb3,0xfd,0x9f,0xbd,0xfa,0xd2,0x52,0xb3,0xa0,0x1b,0xfb,0x2e,0xd8,0x7a,0x41, + 0x19,0xd4,0x9c,0x61,0xfb,0x70,0x04,0xc5,0xf9,0x84,0xa6,0xb0,0x02,0xeb,0x58,0x54,0xbd, + 0xcd,0x75,0x5d,0x94,0x08,0x7e,0xa8,0xf7,0xc5,0x0a,0x84,0x70,0xf0,0xd1,0xad,0x82,0x99, + 0xa3,0x07,0x60,0xfe,0xd8,0x21,0x28,0x96,0xc7,0x60,0x64,0x6a,0x0b,0xe4,0x0b,0x05,0xd0, + 0xd1,0x83,0xb0,0xf0,0x3b,0x34,0xd9,0x40,0x12,0x23,0x26,0xd6,0x89,0x88,0xdf,0x43,0xe4, + 0x08,0x00,0x2b,0x72,0x3f,0xeb,0xb8,0x7e,0x7d,0x76,0x40,0x48,0x7c,0x39,0x12,0xfd,0x32, + 0x75,0x04,0xa9,0xac,0x84,0x12,0x81,0x88,0x4f,0xdf,0x27,0x00,0x78,0x9e,0x87,0x9e,0x0f, + 0x76,0x5a,0x55,0x1d,0x04,0x2a,0x3e,0xe7,0x46,0x5d,0xd7,0xa6,0x0a,0x85,0xc2,0x91,0x4a, + 0xb5,0xaa,0x06,0x8a,0x72,0xfd,0xc7,0x3f,0xfe,0xf1,0x17,0x3f,0xff,0xf9,0xcf,0x37,0xce, + 0x16,0x00,0x4e,0x67,0x3a,0x38,0xce,0x07,0x88,0x09,0xcf,0x57,0xe9,0xc9,0xbf,0xc7,0xd9, + 0x44,0xc1,0x37,0xbe,0xf1,0x65,0x14,0x18,0xfb,0xee,0x53,0xdb,0xc7,0x8f,0x48,0x8c,0xcf, + 0xd7,0xda,0xde,0xd7,0x6c,0x97,0x1f,0x46,0x85,0xcd,0xc9,0xfd,0x53,0x85,0x91,0x87,0x5b, + 0x89,0x32,0x84,0x6c,0x68,0x2e,0xcd,0x40,0x75,0xfe,0x38,0xd8,0xae,0x1f,0x4d,0x21,0xfb, + 0x50,0xaf,0xd7,0xe1,0xb5,0x97,0x7f,0x04,0xad,0x66,0x13,0xd6,0x5f,0x78,0x29,0x8c,0x4e, + 0x6e,0x04,0x33,0x9d,0x05,0x57,0xce,0x42,0xdb,0x57,0x60,0x6e,0x6e,0x1e,0x5e,0xd9,0x7f, + 0x10,0x8e,0x1c,0x9b,0x8e,0x56,0x2b,0x9f,0xc4,0x83,0x25,0x2c,0xff,0xd8,0xe6,0xe8,0x07, + 0x46,0xd2,0xf2,0x67,0x90,0xb4,0x21,0xba,0xd2,0xa1,0xab,0x1a,0xa4,0x1e,0x29,0x10,0x1f, + 0x8f,0xb9,0x1f,0x39,0x1f,0x68,0x39,0x3d,0xed,0x13,0x98,0x89,0x01,0x52,0x29,0x73,0x4b, + 0x26,0x93,0xfe,0xb9,0xd1,0x72,0x79,0x42,0x93,0xe5,0x1a,0x9e,0xfb,0x1f,0x77,0xed,0xda, + 0xb5,0x8d,0x62,0x1b,0xe7,0x0a,0x00,0xa8,0xc5,0xc9,0xa1,0xd4,0xbd,0xe8,0x73,0x4c,0xe0, + 0x93,0x01,0x05,0x7c,0xf2,0xdf,0xdc,0xbd,0x28,0x39,0x07,0xff,0x41,0xb5,0xe7,0x2b,0xc8, + 0x6d,0x04,0x82,0x7b,0x51,0xe7,0x2f,0x29,0x42,0x7f,0x32,0x11,0xf4,0xe1,0xbe,0x0d,0xf5, + 0xf9,0xa3,0xe0,0x3b,0x6d,0xd0,0x8d,0x94,0x30,0x0c,0xc3,0x74,0x73,0x1f,0x8e,0x1e,0xd8, + 0x03,0x8a,0x66,0xc2,0xe8,0xd4,0x85,0x20,0xa9,0x86,0xb0,0x17,0x24,0x49,0x21,0x6e,0x82, + 0x7d,0x87,0x8e,0x03,0xd3,0x32,0x30,0x34,0x32,0x06,0x81,0x66,0x88,0x05,0x2c,0x3c,0x31, + 0x0d,0x99,0x24,0xec,0x20,0x10,0xac,0xa8,0x1a,0xe2,0xfd,0x3e,0x89,0xd2,0xef,0x11,0x48, + 0x1d,0x55,0x11,0x4a,0x8a,0x18,0x14,0xbd,0x00,0xf0,0x05,0x00,0x88,0xf0,0x02,0x00,0x78, + 0x0c,0x8d,0x42,0x92,0x12,0x0c,0xed,0x01,0xc3,0x71,0xdd,0x9f,0xd6,0x0d,0xe3,0x6a,0x04, + 0xce,0x11,0xfc,0xce,0x2f,0x3e,0xf1,0xc4,0x13,0x57,0x9c,0x0d,0x00,0x9c,0x0e,0xaa,0xc4, + 0x22,0x11,0x08,0xc5,0x7f,0x9c,0x1a,0x4e,0x9d,0x54,0x83,0x3c,0xe0,0x9a,0x49,0x50,0x10, + 0x60,0xda,0xd8,0x29,0xb3,0x87,0x0c,0x1c,0xff,0xd3,0x9f,0xff,0xfa,0x05,0x2c,0xbb,0xee, + 0x76,0x4f,0x2f,0xe5,0xd0,0xd0,0xdb,0x9e,0x4d,0x29,0xef,0x47,0x00,0x64,0x5d,0x8f,0x33, + 0xc7,0xf5,0x60,0x1a,0xc5,0xbb,0xa2,0x67,0x40,0x4b,0x17,0x00,0x07,0x85,0x0c,0x3e,0x30, + 0xcd,0x34,0xb0,0xc0,0x86,0x14,0x82,0x42,0xd7,0xd5,0x9e,0x68,0xa1,0xcc,0x38,0xd8,0xed, + 0x16,0xad,0x2d,0x02,0xd5,0xab,0x82,0xd7,0x46,0x83,0xda,0x73,0x60,0xc8,0xd4,0xc0,0xd0, + 0xd4,0x55,0x09,0x2c,0x1e,0xee,0x44,0xba,0xff,0x04,0x96,0x3f,0x19,0x79,0x72,0xc4,0xf5, + 0x42,0xef,0xa3,0xd8,0x57,0x35,0xad,0x23,0xfe,0x05,0xf7,0x20,0xd1,0xe9,0x39,0x1c,0xc7, + 0x45,0xc0,0x7a,0x42,0x15,0x90,0xea,0x30,0x0c,0x03,0x5a,0xad,0x16,0xd4,0xaa,0x55,0xb0, + 0x6d,0x9b,0x7b,0xbe,0xeb,0xb9,0xae,0xf7,0xb8,0xef,0xb8,0x7f,0xef,0x71,0x7e,0x11,0x7e, + 0xf5,0xd3,0x37,0xde,0x78,0xe3,0xee,0x33,0x19,0x38,0x3a,0x1d,0x1b,0x20,0x16,0xe7,0x1e, + 0x74,0xa5,0x80,0x0f,0x5d,0xd5,0xb0,0x1a,0x00,0x92,0xdf,0x15,0x92,0xe3,0xfe,0x6f,0x7e, + 0x75,0xe9,0x8e,0x9f,0xb8,0x75,0x5e,0x62,0xc6,0x46,0x57,0x32,0x6a,0xe8,0x01,0xcc,0x6b, + 0xb2,0x74,0x01,0x32,0x82,0x2e,0x06,0x25,0x95,0xa1,0x0c,0x21,0xe4,0x14,0x0f,0x6a,0x8b, + 0x33,0xd0,0xac,0x2d,0x22,0xb7,0xe0,0x71,0x33,0x23,0xf4,0x6b,0x8c,0xe2,0x48,0x1b,0x0b, + 0x22,0x11,0x27,0xd1,0x62,0x04,0x8f,0xe3,0xe0,0x4b,0x01,0xaa,0x89,0x3a,0xcc,0xce,0xce, + 0x81,0xc4,0x03,0xc8,0xa4,0xd3,0x03,0x09,0x7f,0x4a,0x51,0xbf,0x48,0xf7,0x77,0xa3,0x7e, + 0x21,0x00,0xe4,0x88,0xe0,0x04,0x22,0x39,0xcc,0x67,0xe8,0xd1,0xfd,0xf4,0x5d,0xe2,0x7e, + 0x02,0x00,0x65,0x40,0x07,0x7e,0x28,0x05,0xc8,0xaa,0xd5,0x10,0x24,0xe8,0x0d,0x40,0x03, + 0x55,0x1b,0xd9,0x3c,0x78,0x9c,0xa1,0xdd,0x43,0x06,0xe2,0xfa,0x80,0xa6,0xa3,0x39,0x3c, + 0x86,0x77,0x73,0xc7,0x81,0x83,0x07,0x0f,0xa2,0x4d,0x30,0x77,0xa6,0x00,0x70,0xba,0x2a, + 0x20,0x88,0x08,0x4f,0x2e,0x5f,0x3b,0xea,0x76,0x44,0xd4,0x58,0x15,0x0c,0x12,0xfd,0x31, + 0x48,0x62,0x89,0x21,0x7e,0x9f,0x42,0xb8,0x86,0x35,0xf3,0xb8,0xe2,0x35,0xda,0xa8,0x13, + 0x5f,0x69,0x38,0xc1,0x23,0x38,0x4e,0x8e,0x98,0x19,0xd4,0xd0,0x9a,0xd7,0x71,0x70,0x5a, + 0x35,0xf0,0x5d,0x2b,0x74,0xed,0xb8,0x17,0x86,0x90,0xbd,0x20,0x4c,0x27,0x17,0x21,0x65, + 0x3f,0xec,0x14,0x52,0x0e,0x20,0xf4,0x0e,0x70,0x90,0x0f,0x1c,0x99,0x83,0x63,0x68,0x07, + 0x34,0xda,0x16,0xd4,0x2c,0x57,0x9c,0x13,0xb7,0xd5,0xa2,0x7e,0x2b,0xaa,0x80,0x84,0xee, + 0x8f,0x1f,0x29,0x0c,0x52,0x45,0x1e,0x00,0x1d,0x11,0x6a,0xa0,0x13,0x00,0x1a,0xa0,0xfb, + 0xbd,0x50,0xec,0x07,0xe1,0x24,0x26,0x11,0x9f,0x5a,0xb3,0xd9,0x10,0xc4,0x8f,0xff,0x86, + 0x9d,0xf1,0x80,0x2b,0xd8,0xaf,0xf6,0x82,0xe0,0xbd,0x78,0xe4,0x55,0x1c,0xb0,0x9f,0x7f, + 0xe0,0x81,0x07,0x7a,0xd6,0x56,0xbe,0x9e,0xf6,0x7a,0x22,0x81,0xd0,0x47,0xdc,0x98,0xb0, + 0xab,0x49,0x81,0x24,0x80,0xe2,0x9c,0x42,0x31,0x0a,0xef,0x78,0xdb,0x85,0xb3,0xb9,0x4c, + 0x8e,0x73,0x45,0x9f,0x44,0xe1,0xbd,0x24,0xb3,0xa0,0x8c,0xc6,0x60,0x59,0x62,0x61,0x7e, + 0x81,0xac,0xa8,0xe0,0xb9,0x0e,0xa4,0x32,0x79,0x30,0x69,0xd5,0x10,0x1e,0xf5,0xa2,0x40, + 0x51,0xbf,0x0b,0xe7,0x7b,0x2e,0x4c,0x1f,0x7e,0x0d,0x16,0x66,0x8e,0x41,0xa6,0x30,0x0c, + 0x23,0xeb,0x2e,0x80,0x91,0xe1,0x82,0xe0,0x58,0x1a,0x60,0x8a,0x23,0xc8,0x83,0x26,0x76, + 0x4e,0x96,0xfb,0x7b,0xc4,0x7f,0x37,0xe8,0x23,0x88,0x2d,0x0c,0x3e,0xa9,0x23,0x0d,0xe4, + 0x01,0x96,0xbf,0xb0,0xfe,0xbd,0x10,0x04,0x04,0x68,0xba,0x4e,0xa3,0x51,0x87,0x76,0xbb, + 0x2d,0x0a,0x6d,0x90,0x54,0xf0,0xc8,0x3b,0xf0,0xc3,0xc2,0x1b,0x01,0x17,0x99,0xb4,0x9b, + 0x49,0x6a,0xa0,0x0f,0xf4,0x8a,0xae,0xaa,0x3f,0xf6,0xf1,0x5f,0xf8,0x85,0x67,0x3f,0xf7, + 0xb9,0xcf,0xbd,0xee,0x38,0xc1,0xe9,0x4a,0x80,0x7e,0xe2,0xc6,0x53,0xc3,0xab,0x49,0x80, + 0xb8,0xd3,0xc8,0x2a,0xd0,0x95,0x02,0x62,0xa4,0x69,0x4e,0x7f,0x66,0x5d,0xea,0x19,0xc3, + 0x9a,0x7e,0x32,0xc7,0xaa,0x23,0x46,0xd0,0xe4,0xbe,0x63,0x55,0x49,0x6a,0xa2,0x3a,0x40, + 0x7d,0x6f,0x40,0x79,0x7c,0x1d,0xe4,0xf2,0x85,0x30,0x83,0x48,0x0a,0x5d,0x35,0xcb,0x0d, + 0xa5,0x80,0x17,0x49,0x81,0x6a,0xa5,0x02,0xaf,0x3c,0xff,0x0c,0x90,0x64,0xdd,0x74,0xf1, + 0x0e,0x98,0x58,0xbf,0x19,0x34,0xb3,0x00,0x9e,0x3a,0x84,0xb6,0x44,0x1a,0x5a,0x28,0x39, + 0xe6,0x6b,0x4d,0xe1,0x56,0xc6,0xc4,0x07,0x38,0x85,0x98,0x3f,0x44,0x19,0x8c,0xd1,0xfa, + 0xf7,0xe5,0x96,0x7f,0x64,0xf8,0x45,0x60,0x48,0xda,0x12,0x21,0x57,0x87,0x96,0x3f,0x81, + 0x21,0x06,0x0c,0x11,0xde,0xb6,0x6c,0x51,0x61,0x25,0xc1,0xfd,0xa1,0xc4,0xe0,0x82,0x3f, + 0x18,0x7e,0x96,0x50,0x65,0xdc,0xe8,0x38,0xd6,0x25,0x3e,0xe7,0x4d,0xfc,0xdb,0xcf,0xa2, + 0x24,0x78,0xdd,0x49,0xb2,0x67,0x02,0x00,0x49,0x10,0xf4,0x67,0x0a,0x0f,0xf4,0x00,0xa2, + 0xdf,0xed,0x2c,0x2d,0x8b,0x0f,0x7e,0xf2,0xe6,0x9b,0xbd,0x4d,0x25,0x69,0xae,0x24,0x55, + 0x2f,0x66,0xe0,0xa2,0x60,0xb4,0x34,0x72,0x03,0x45,0xd8,0x17,0xe5,0x0a,0x45,0xfe,0xd4, + 0x68,0x19,0x3a,0xa9,0x07,0x39,0xe2,0x5a,0x0b,0xdd,0x43,0x9a,0x4e,0x6e,0xd4,0x6b,0x70, + 0xe0,0xd5,0x17,0x21,0x8d,0x5c,0x3f,0x8c,0x6e,0x21,0x53,0x34,0x11,0x35,0x20,0x23,0xac, + 0xd6,0xb4,0x60,0xdf,0x81,0xe3,0x70,0xfc,0xd8,0x31,0x38,0x78,0xf4,0x38,0xcc,0x2e,0x56, + 0x3b,0x22,0xf8,0xa4,0x2c,0x7f,0xc6,0x3a,0x76,0x46,0xcc,0xf9,0x49,0xc9,0x10,0x2f,0x80, + 0x95,0x24,0xd6,0x63,0xf5,0x27,0xc5,0xbf,0x1f,0xe9,0x7c,0xfa,0x5d,0x11,0xc4,0xa2,0x7a, + 0x8a,0xa8,0xf7,0xc9,0xf0,0x8b,0x8f,0x0b,0x15,0x11,0x44,0xfb,0x11,0x50,0x22,0xd5,0xc1, + 0x70,0x9b,0xc2,0x63,0x77,0x35,0x9b,0x4d,0x52,0xbf,0x1b,0x0d,0x55,0x7d,0x2f,0xa5,0xb0, + 0xbd,0x1e,0xc2,0x9d,0xa9,0x4a,0xa1,0xb1,0x48,0x8f,0x5d,0xc2,0x7e,0x35,0x30,0x28,0x3a, + 0x98,0xb4,0x05,0x84,0xd4,0x78,0xec,0xb1,0xc7,0x8a,0xf8,0xa0,0x3f,0xab,0x72,0x66,0x31, + 0xbb,0x31,0xdc,0xe6,0x69,0x53,0x42,0xf7,0xd8,0x03,0x49,0x94,0xa2,0xe9,0xce,0x13,0x44, + 0xb3,0x88,0xe2,0x62,0x61,0x3e,0x41,0xa3,0xd1,0x06,0xd3,0xd0,0xd0,0x2d,0xdc,0x0a,0xd9, + 0x5c,0x1e,0xc4,0x2a,0x73,0x2a,0x5a,0x48,0x3f,0xa2,0xe2,0xf9,0x38,0xa0,0xf9,0xb1,0xcd, + 0x90,0x4d,0xa1,0xa5,0xee,0x57,0x85,0x6b,0x59,0x41,0x50,0x14,0xb3,0x26,0x28,0x09,0x3f, + 0x7e,0x35,0xdd,0xbf,0x7c,0xc6,0x0f,0x7a,0x88,0x9c,0x24,0xfe,0x4a,0xba,0xdf,0x8f,0xea, + 0xe8,0x10,0xf1,0x3d,0x54,0x55,0x8d,0x46,0x63,0x30,0xf1,0x85,0x6b,0x18,0x9e,0x2b,0xa4, + 0x41,0x04,0x56,0xbc,0x56,0x06,0x0d,0xe2,0x8f,0xb5,0x1a,0x8d,0xcf,0x99,0xe9,0xf4,0xed, + 0xa5,0x52,0xe9,0x00,0x1e,0xfe,0xd1,0xe9,0x12,0xee,0x4c,0x49,0x80,0x24,0x08,0x92,0x31, + 0x81,0x41,0x01,0xa1,0x58,0x0d,0xf4,0x48,0x81,0x67,0x9e,0x79,0x46,0xc5,0x81,0xb8,0x15, + 0xc7,0x6a,0x07,0xea,0xd4,0xa9,0x8c,0x2e,0x15,0x75,0x51,0x18,0x04,0x2f,0xe5,0xb7,0xc4, + 0xe0,0x25,0x63,0x04,0x71,0x47,0xcb,0x10,0x16,0x8f,0xed,0x83,0xb9,0xa3,0xfb,0xc1,0x09, + 0xd0,0x68,0x4c,0x65,0xc3,0xdc,0x43,0x52,0x0d,0x14,0x33,0x88,0x7a,0x69,0x74,0x1d,0x0c, + 0x8f,0x4e,0x02,0x33,0x0a,0xe8,0xc0,0x0e,0x81,0xaa,0xa7,0xa0,0x89,0xea,0xa0,0xde,0xb2, + 0xc2,0x8a,0x26,0x7d,0xb1,0x81,0x95,0xb8,0x3f,0x06,0x41,0x3f,0xf7,0x77,0x44,0x7f,0x2c, + 0xfe,0x07,0xfa,0xfd,0x91,0xe8,0x97,0xc2,0x8c,0x28,0xe2,0x7c,0x02,0x41,0x92,0xf8,0x31, + 0x18,0x44,0xc1,0x2d,0x0e,0x3d,0x2a,0x21,0x52,0x0b,0x94,0x9c,0x38,0xd5,0x6a,0xb7,0x6f, + 0xb3,0xda,0xed,0x03,0xaa,0x2c,0x7f,0xf0,0xf1,0xc7,0x1f,0xcf,0x9e,0x2b,0x00,0x88,0x25, + 0xc0,0xc9,0x44,0x07,0x63,0x8f,0x40,0xc4,0x0f,0x2a,0xb3,0xb3,0x17,0xe2,0xf6,0x0e,0xb4, + 0xa6,0xf3,0xa4,0xbe,0x29,0xb5,0x46,0xd7,0x90,0xe0,0x41,0x4b,0xe4,0x05,0xf8,0xbe,0x25, + 0x38,0x22,0x06,0x81,0x12,0x45,0x0b,0x9b,0x95,0x59,0x60,0xdc,0x47,0x57,0x51,0x11,0x04, + 0xa7,0x3a,0x85,0x7e,0x94,0x60,0xe2,0xa0,0x4d,0x40,0x5d,0x80,0x81,0xb2,0x8d,0x24,0x9a, + 0x44,0x32,0xc0,0x65,0x26,0xd4,0x2d,0x0e,0x33,0x33,0xb3,0xf0,0xc2,0x4b,0x7b,0x60,0x7e, + 0xb1,0x77,0xe9,0xe1,0x6a,0xdc,0xdf,0x8d,0xfa,0x41,0xe4,0xfe,0xc9,0xbd,0x41,0xa0,0x81, + 0xc4,0x0f,0x7a,0x44,0x3f,0x7d,0xd9,0xb2,0x2c,0x21,0xfe,0x85,0x88,0x8f,0x75,0xbf,0x1f, + 0xf4,0x70,0x3f,0x75,0xf1,0x7d,0xfc,0x6e,0xac,0x0a,0xc2,0xeb,0x71,0x1a,0xb7,0xab,0xea, + 0xcd,0xe6,0xc5,0x78,0x5d,0x13,0xfb,0x6d,0x3c,0xac,0xce,0xb1,0xe6,0x00,0x48,0x4a,0x80, + 0xd5,0x8c,0xc1,0xe4,0xef,0x2b,0x57,0x5f,0x7d,0xb5,0xc1,0x54,0xf5,0xc3,0x9c,0x49,0xa3, + 0x81,0x48,0xe2,0x60,0x7a,0x10,0xa6,0xd7,0x00,0x81,0x40,0x46,0x10,0x88,0xf4,0x70,0xd7, + 0xea,0x64,0x10,0xc7,0xe5,0x68,0x48,0xdc,0x53,0x40,0xa8,0x3c,0xb6,0x5e,0xc4,0xfd,0xc9, + 0x33,0x88,0x0d,0x43,0xc1,0xfd,0x2e,0x7d,0x2f,0x74,0x11,0xc9,0x2d,0x6c,0xa2,0xb5,0x7d, + 0xe4,0xc0,0x6b,0x70,0x74,0xa6,0x02,0x7a,0xb6,0x0c,0x93,0x1b,0x36,0x43,0x1b,0xc7,0x8e, + 0x24,0x41,0x12,0x00,0x83,0x3c,0x84,0x2e,0x08,0xe2,0x89,0xa8,0x64,0xd4,0x4f,0x5a,0x51, + 0xfc,0xc7,0xba,0x3f,0x3e,0x8f,0x3c,0x91,0x36,0xba,0xa5,0x31,0xa7,0x0f,0x12,0xff,0x09, + 0xdd,0xdf,0xb9,0xaf,0x88,0xf8,0xf1,0xdf,0x34,0x54,0x0b,0xef,0x6f,0xb4,0x5a,0x55,0xfc, + 0xd3,0x75,0x4f,0x3c,0xf1,0xc4,0xa6,0xd3,0x21,0xda,0x99,0xac,0x16,0x1e,0x07,0x79,0x62, + 0x10,0xb0,0x15,0xce,0x49,0x36,0x21,0x05,0x7e,0xf9,0x97,0x7f,0xf9,0x7a,0x7c,0xce,0x2b, + 0x70,0x28,0xd1,0xbf,0x65,0x13,0xa4,0xb9,0x45,0x27,0x57,0x0b,0x8d,0x3e,0x9d,0x0a,0x4d, + 0x38,0x16,0xf8,0x48,0x70,0x0b,0x8d,0xc2,0x94,0x6a,0x08,0x49,0x40,0x17,0xcb,0x17,0x8a, + 0xe8,0x16,0x16,0xa2,0xd4,0xb2,0x40,0xfc,0xb2,0x10,0xfd,0x51,0x02,0x89,0xeb,0x85,0xbf, + 0xc2,0x2d,0x1f,0x6a,0x0b,0xc7,0xa1,0x3a,0x7f,0x0c,0xc6,0x26,0xa7,0x60,0x68,0x64,0x1b, + 0x72,0x96,0x03,0x06,0xda,0x03,0x81,0x5d,0x83,0x4a,0xdb,0x11,0x00,0x32,0x0d,0xbd,0x17, + 0x04,0x89,0x69,0xe4,0xfe,0x49,0x21,0x49,0x8e,0xb9,0x5f,0x8a,0xdc,0x42,0x69,0xc5,0x98, + 0x3f,0x11,0x8e,0x8e,0x91,0x0b,0x68,0x59,0x6d,0xa1,0xd2,0xe2,0xbf,0x27,0x89,0x4f,0x80, + 0xe0,0x01,0xef,0x01,0x40,0x2f,0x28,0x3a,0xb6,0x00,0xf5,0x02,0xda,0x10,0xd7,0xe9,0xba, + 0xfe,0x7d,0xec,0x1f,0xc2,0xc3,0x9f,0x3a,0x55,0xa2,0x9d,0x49,0x09,0x00,0xd0,0x35,0x04, + 0x4f,0xe4,0x0a,0x76,0x24,0xc1,0x4f,0xfc,0xc4,0x4f,0x0c,0x65,0xb3,0xd9,0x0f,0xba,0xe1, + 0x91,0xad,0x38,0x4c,0x2a,0xa5,0xda,0xc6,0x20,0xa0,0xb2,0x11,0x20,0xd3,0x3c,0x3a,0xf9, + 0x42,0x0e,0x4a,0x00,0x1f,0xda,0xa8,0x37,0xe9,0x30,0x4d,0x16,0x91,0x14,0xe8,0xd8,0x04, + 0x82,0x00,0xa1,0x8b,0x68,0x23,0x08,0x68,0x55,0x12,0x79,0x07,0x6d,0xe4,0xee,0x03,0x7b, + 0xff,0x11,0x2a,0x4b,0x8b,0xb0,0x6e,0xcb,0xa5,0x50,0x1a,0x47,0x69,0x81,0xaa,0x40,0x41, + 0x20,0xd5,0x3d,0x0d,0x16,0x2b,0x0d,0x38,0x7c,0xf4,0x18,0xbc,0xb8,0xe7,0x35,0xa8,0x37, + 0x9a,0x7d,0x73,0xfc,0x83,0x2c,0xff,0x50,0xf4,0xf7,0x1b,0x7f,0xf2,0x80,0x49,0x9f,0x90, + 0xf8,0x21,0xf7,0xd3,0xbe,0x6d,0xdb,0x42,0x02,0xf4,0x13,0x37,0x29,0xfa,0x93,0xc4,0xe7, + 0x7d,0xd2,0x20,0xac,0xb7,0xc0,0x43,0x5b,0x20,0x74,0x0d,0xaf,0x5d,0x58,0x58,0x90,0xf1, + 0xbc,0x1d,0x8f,0x3e,0xfa,0xe8,0x29,0x17,0xe4,0x3c,0xd3,0x00,0x48,0xc6,0x04,0x06,0x4d, + 0x0e,0xf5,0xef,0xb3,0x6b,0xae,0xba,0x6a,0x9b,0xef,0xa3,0x38,0xe3,0xfc,0x22,0x54,0xd3, + 0xe9,0x50,0x7c,0x10,0xe1,0xa5,0xb0,0xf4,0x5c,0x24,0x09,0xb8,0xaa,0xa1,0xe8,0xc7,0xbf, + 0xf8,0x36,0x38,0xc8,0x3d,0x2d,0x11,0x3f,0x4f,0xd8,0x03,0x4a,0xb4,0x2f,0x49,0x9d,0x18, + 0x81,0xed,0x85,0x49,0xa7,0xb5,0xca,0x22,0xfe,0x92,0x02,0x63,0x1b,0x2f,0x16,0xb1,0x00, + 0x3a,0x16,0x26,0x9f,0xca,0x30,0x37,0x33,0x8d,0xdc,0xcf,0x60,0x08,0x8d,0xc4,0xdc,0xf0, + 0x28,0x2c,0xa1,0x24,0xb0,0x9d,0xee,0x82,0xa3,0xe5,0x51,0xbf,0x2e,0xc1,0x3b,0x51,0xbf, + 0x84,0xe8,0x8f,0xa5,0x43,0x4c,0x34,0x5f,0xe8,0xef,0xf0,0xdb,0x1e,0x12,0x5e,0x24,0xb4, + 0xc6,0x44,0x8d,0xc4,0xff,0x32,0xee,0x07,0xde,0x6f,0xf9,0xf7,0xf4,0x78,0xf8,0x22,0x89, + 0x90,0x75,0x1d,0xe7,0x86,0x66,0xab,0xf5,0x2c,0xc5,0x06,0x1e,0x7e,0xf8,0xe1,0x53,0x92, + 0xea,0x67,0x1a,0x00,0x41,0x5f,0x5f,0x55,0x02,0x5c,0x79,0xe5,0x95,0xe6,0xc4,0xe4,0xe4, + 0xbb,0xd1,0x38,0x1b,0xc5,0xe7,0x9e,0x40,0x11,0x2e,0x79,0x1c,0x89,0xcf,0x43,0xce,0x0f, + 0x62,0x29,0xc0,0xc2,0x7d,0xae,0xea,0xc0,0x64,0x32,0x8d,0x1d,0xb0,0xd0,0xfa,0x6f,0xa1, + 0x7c,0x27,0x42,0x53,0x8c,0x40,0xc4,0x06,0x22,0x49,0x10,0xc6,0x08,0x00,0x5a,0xb5,0x25, + 0xc0,0x81,0x81,0x54,0xbe,0x04,0x43,0xe3,0x1b,0xc5,0x22,0x95,0xd0,0x2b,0xf0,0xc5,0x96, + 0x40,0xb6,0x6e,0xe3,0x45,0x42,0x2a,0x68,0x85,0x75,0xa0,0x9b,0x59,0x98,0xaf,0xd4,0xe0, + 0xb9,0xdd,0x2f,0x89,0xef,0x2d,0x9f,0xf1,0xeb,0x1a,0x7e,0x5d,0xcb,0x9f,0x2d,0xb3,0xfc, + 0x63,0xe2,0xc4,0x21,0xdf,0x98,0xf8,0x4e,0x18,0xe3,0x5f,0xae,0xfb,0xe3,0x88,0x5f,0x82, + 0xdb,0x79,0x34,0x43,0xd8,0x09,0x08,0x05,0x3c,0x9a,0xd6,0x8e,0xf7,0x83,0x70,0x6d,0x85, + 0x48,0x9d,0xe4,0x57,0x2c,0xce,0xcf,0xab,0xf8,0x9d,0x51,0x04,0xe1,0xd6,0xb5,0x04,0xc0, + 0x20,0x09,0xb0,0x62,0xbf,0xe3,0x8e,0x3b,0xb6,0x1a,0xa6,0xf9,0x76,0xe4,0xa2,0x75,0x5e, + 0xe0,0x1b,0x68,0xb9,0x8b,0xe2,0x90,0xb1,0xe8,0x27,0x02,0x79,0xe8,0x28,0xf8,0xb8,0x0d, + 0xa2,0xee,0xab,0x34,0xd1,0xe3,0x0a,0x75,0x60,0xa1,0x34,0x20,0x20,0x10,0xd7,0x53,0x8f, + 0x41,0x40,0x73,0x44,0x8d,0xa5,0x19,0x68,0x57,0xe7,0x44,0x1e,0x41,0x0b,0xb9,0xda,0xa7, + 0xd2,0x75,0x11,0xf1,0x9d,0x8e,0x61,0x18,0xd0,0x62,0x13,0x11,0x28,0x6a,0xa2,0xe8,0xdf, + 0xb7,0xef,0x20,0xbc,0xba,0x67,0x2f,0xfc,0xe0,0xf9,0xdd,0x70,0xff,0x77,0x1e,0x46,0x1f, + 0xbd,0x99,0xb0,0x03,0xfa,0xb8,0x3f,0xd6,0xfd,0x27,0x98,0xef,0x8f,0xa5,0x00,0x11,0x3f, + 0x4c,0x00,0xf1,0x7b,0x75,0x7f,0x67,0x3a,0x38,0x12,0xff,0xd0,0xfd,0x1b,0x1f,0x60,0x0c, + 0xf6,0x79,0x03,0xf1,0x96,0x16,0xe5,0xfc,0x82,0x63,0x59,0x4f,0x31,0xce,0x6f,0xde,0xbd, + 0x7b,0xb7,0xb6,0x56,0x00,0x88,0x41,0x10,0x1b,0x83,0x83,0x40,0x10,0x9f,0x03,0x9b,0x36, + 0x6d,0xba,0x1d,0xb9,0xb2,0x8d,0x23,0x37,0x82,0x84,0x67,0xb4,0x3e,0xc0,0x23,0x06,0x17, + 0xbd,0x2b,0x05,0x78,0x52,0x1a,0xd0,0x67,0x24,0x1a,0x9a,0x83,0x20,0x71,0x54,0x07,0x41, + 0x13,0x5c,0xee,0x0e,0x8c,0x0f,0x50,0x0e,0x41,0x36,0x3f,0x84,0x04,0x52,0xc0,0x76,0x83, + 0xd0,0x3d,0xec,0xc4,0x06,0x7c,0xe1,0x21,0xb4,0x9b,0x2d,0x98,0x3b,0xb4,0x17,0x96,0x0e, + 0xef,0x81,0xb9,0xa3,0x87,0x60,0x76,0xfa,0xb8,0x88,0xd3,0xcf,0x56,0xea,0xf0,0x83,0x1f, + 0xed,0xc6,0xef,0x39,0xbd,0x7e,0x3f,0xeb,0x9b,0xef,0x5f,0x35,0xea,0x17,0x12,0xd1,0x8b, + 0x38,0x3f,0x26,0xfe,0x6a,0x96,0x7f,0xbf,0x17,0xd0,0x25,0x7e,0xaf,0x0a,0x48,0x9e,0xa3, + 0xe0,0x3d,0x15,0x34,0x73,0x4a,0x6b,0x07,0xdb,0xf1,0xcc,0xed,0xd3,0xd3,0xd3,0xc5,0x93, + 0x25,0xd6,0x19,0x7d,0x67,0x50,0xd4,0x92,0xc4,0x8f,0x7d,0x98,0xb8,0x84,0x4c,0x07,0x24, + 0x77,0xdf,0x7d,0xf7,0x3a,0xc3,0x30,0x36,0x33,0x45,0x1d,0xe2,0x8c,0x99,0xc8,0xa1,0xb4, + 0x42,0x0f,0x75,0x7c,0x58,0x51,0x8c,0x93,0xd1,0x44,0x5c,0x4f,0x5b,0x1e,0x77,0x08,0xe3, + 0x7f,0xc4,0x94,0xba,0x0a,0x8a,0xdb,0xc4,0x4f,0x1a,0xd8,0x38,0xb0,0x92,0x9c,0x45,0x10, + 0xa8,0xd1,0x52,0x33,0x19,0x4a,0xe5,0x51,0x68,0xa1,0xaf,0xad,0xa6,0xb2,0x38,0xc8,0x4c, + 0x10,0x9f,0x42,0xc6,0x86,0x86,0x7a,0xda,0x0f,0x61,0x65,0x35,0x2a,0xd0,0x9a,0x3f,0x0c, + 0xcd,0x85,0x23,0x50,0x5b,0x9c,0x05,0x4d,0x53,0x61,0xd3,0x05,0x17,0x52,0x65,0x52,0x74, + 0xd3,0x5a,0xb0,0xf7,0xf0,0x31,0x31,0x59,0x73,0xd9,0xf6,0x8b,0xd0,0x43,0x50,0x44,0x72, + 0xa7,0x86,0xb6,0x08,0x4d,0x37,0xeb,0xe8,0x2d,0xc4,0x29,0x60,0x83,0xb8,0x9f,0xb8,0x5d, + 0x4c,0xfe,0x88,0x89,0x1d,0x3f,0x52,0x07,0xfe,0xca,0xc4,0x0f,0x12,0x7a,0xbd,0x0f,0x00, + 0x61,0x87,0x08,0x04,0x10,0x7a,0x14,0x40,0xeb,0xd7,0x64,0x28,0x9b,0x05,0x18,0x37,0x0b, + 0x2c,0xaf,0x9a,0xb2,0x1d,0xb8,0xd7,0x1e,0x70,0x9b,0x2f,0xe0,0xfd,0x5d,0x86,0x7f,0xfe, + 0x87,0xb5,0x02,0x40,0x52,0x0d,0x24,0x43,0xc2,0x1d,0x00,0xa4,0x52,0x29,0x76,0xd9,0x65, + 0x97,0x5d,0x8b,0x0a,0xdd,0x66,0x8a,0x32,0x15,0xa0,0x11,0x20,0x82,0xb6,0x64,0x98,0x89, + 0x01,0xa2,0xa5,0x98,0x11,0xc7,0x0b,0xc2,0x4b,0x10,0x1b,0x87,0x10,0x29,0x03,0x32,0x08, + 0x15,0x05,0x07,0xc4,0x6e,0xe0,0x39,0x29,0x74,0x01,0xd1,0x28,0x94,0x8b,0xa8,0x0a,0x34, + 0x5a,0x32,0x02,0x66,0x3a,0x0d,0x9a,0x61,0x86,0xdc,0x1e,0xe5,0x4f,0x08,0x10,0x38,0x3e, + 0xe8,0x68,0x47,0xd4,0xe6,0x67,0xc1,0x5a,0x3a,0x06,0xb5,0xd9,0x43,0x28,0x2c,0x6c,0x18, + 0x1d,0x1d,0x85,0x5c,0x2e,0x2b,0x4a,0xdf,0xb7,0xad,0x16,0xf8,0x68,0xad,0xfb,0xd5,0x1a, + 0xec,0xd9,0xf5,0x18,0xe8,0x95,0x0a,0x5c,0x74,0xcd,0x55,0x38,0xf8,0xaa,0x98,0xc7,0x6f, + 0x36,0x9b,0x82,0xe8,0xf8,0x1c,0x90,0xcf,0xe7,0xc5,0x74,0x6e,0x0c,0x00,0x31,0x93,0x17, + 0xcd,0xf4,0x09,0xae,0xf7,0xba,0xf3,0xfe,0xfd,0xae,0x5d,0xd2,0x1e,0xe8,0xf1,0x0a,0x06, + 0x88,0xf9,0xb8,0x23,0xd4,0x20,0x8b,0x20,0x2c,0x69,0x19,0x28,0xeb,0x39,0x30,0x11,0xf4, + 0x0e,0xde,0xf3,0x82,0x55,0x67,0x07,0x6a,0x73,0xeb,0x83,0xb4,0x72,0xef,0xd0,0xd0,0xd0, + 0x9d,0x3b,0x77,0xee,0x7c,0xe8,0x64,0x16,0x9a,0x9c,0x2d,0x00,0xf4,0x1b,0x81,0xc9,0xbf, + 0xc1,0xed,0xb7,0xdf,0x5e,0xc8,0x64,0x32,0x17,0xe1,0xc3,0x3a,0x68,0xb1,0xe7,0x42,0x92, + 0x86,0x2f,0x9c,0xa0,0x87,0x17,0xf4,0xe2,0xc4,0xfd,0x92,0x48,0xfe,0x10,0xc4,0xe7,0x51, + 0x4d,0x21,0xa0,0x50,0x2a,0x5a,0x06,0x92,0x4b,0x0b,0x79,0x81,0x19,0x38,0xb0,0x56,0x0d, + 0xbf,0x6f,0x88,0xf8,0xbf,0x26,0x0f,0xe3,0x43,0xa1,0x15,0x1e,0x4d,0x91,0xf0,0x68,0xad, + 0x01,0xe7,0x11,0x32,0x91,0x20,0xd5,0xca,0x2c,0x78,0xb5,0x69,0xa8,0x2f,0x1c,0x07,0xab, + 0xdd,0x86,0xc9,0xf5,0x53,0xa0,0x21,0x57,0x53,0xaa,0x80,0xaa,0xa8,0x90,0x96,0x50,0x65, + 0xcc,0xcd,0x83,0xb9,0x54,0x01,0x0d,0x89,0x5a,0x3f,0x3a,0x0d,0xde,0xfc,0x12,0xac,0x7b, + 0xc7,0x8e,0xce,0x94,0x2e,0x7d,0xcf,0x42,0x90,0xb4,0x8e,0x1f,0x17,0x06,0xe3,0xc8,0xc8, + 0x88,0xc8,0xe8,0x89,0xa7,0x7b,0x3b,0x6a,0x20,0x69,0xe5,0xf3,0xc1,0xdc,0xdf,0xaf,0xfb, + 0xa1,0x4f,0xfc,0xd3,0xbd,0x13,0xb7,0x97,0xb4,0x1c,0x94,0xd4,0x34,0x8c,0xe8,0x59,0x34, + 0x72,0x65,0x58,0xb0,0xeb,0xf0,0x4a,0xf5,0x38,0x4c,0xb7,0x96,0xa0,0x66,0x8b,0x09,0xa5, + 0x51,0xa9,0x85,0x03,0x5a,0x28,0xac,0x2b,0x95,0x4a,0x5b,0xf0,0x71,0x5f,0x59,0x0b,0x00, + 0x00,0xf4,0x06,0x84,0x92,0x76,0x86,0x00,0xc0,0x15,0x57,0x5c,0xb1,0x01,0x37,0x0e,0xad, + 0x97,0x50,0x21,0x50,0x90,0xc4,0xc2,0xdb,0x26,0x0f,0xc0,0x8f,0x38,0x82,0x45,0x62,0x4f, + 0xc4,0x03,0x84,0x3d,0x10,0x62,0x49,0x62,0x48,0x7c,0x34,0x02,0x25,0x31,0x45,0xe4,0x23, + 0x27,0xa2,0xf8,0x4f,0x59,0xe0,0xd9,0x68,0xe8,0xd1,0xbf,0x80,0xe6,0x0c,0x46,0xf1,0xc1, + 0xe4,0x0e,0x00,0x3a,0x37,0x45,0xdc,0x5d,0x9b,0x81,0xfa,0xf4,0x5e,0xc8,0xa4,0x53,0x90, + 0xce,0x16,0x20,0x9b,0x2b,0x08,0x17,0x91,0xe6,0x68,0xa8,0xe0,0x75,0x09,0x89,0x5f,0xce, + 0xe4,0xa0,0xb5,0x61,0x13,0xf0,0xf1,0x09,0x90,0x90,0xbb,0xe9,0x9a,0x47,0xd1,0x33,0x40, + 0x83,0x15,0xc6,0x2f,0xde,0x2a,0x08,0x4d,0x6a,0x20,0x8b,0xf7,0x2a,0xb2,0x78,0x1a,0x0d, + 0x38,0xb0,0x7f,0x3f,0x0c,0x0f,0x0f,0x0b,0xc9,0xd3,0xf1,0xff,0xa3,0x9e,0x9c,0xec,0x59, + 0x89,0xfb,0x63,0xd1,0x9f,0x24,0x3e,0x95,0xd4,0xcb,0xc8,0x1a,0x94,0x89,0xdb,0xd5,0x2c, + 0x18,0x38,0x5a,0x3e,0x82,0xe5,0x48,0x6b,0x11,0x8e,0x22,0xd1,0xeb,0x4e,0x0b,0xda,0x68, + 0xa3,0x78,0x51,0xa0,0x89,0x04,0x84,0xeb,0x7b,0xef,0xf5,0x1c,0xe7,0x3e,0x3d,0x95,0xba, + 0x75,0x2d,0x01,0x90,0x34,0x04,0xe5,0x7e,0x10,0x14,0x8b,0xc5,0x09,0xdc,0x5a,0x8a,0xa2, + 0xac,0x93,0x28,0x9e,0x43,0x84,0xa4,0xfa,0x00,0x2c,0x10,0x5c,0xec,0x06,0x0a,0x72,0x05, + 0x12,0x05,0xd9,0x38,0x69,0x48,0x48,0xf8,0x77,0x99,0x08,0x2f,0x3a,0x05,0x57,0xfc,0x10, + 0x10,0x0a,0x1d,0x77,0xc0,0xb5,0x7c,0x5a,0x4d,0x28,0xc0,0x22,0x4b,0xf4,0x13,0x4c,0xb8, + 0x7e,0xa1,0xd1,0xe4,0x81,0x53,0x9d,0x86,0xd6,0xdc,0x7e,0xf0,0xac,0x3a,0xb8,0x6a,0xb8, + 0xc6,0x50,0x70,0x19,0xcd,0x36,0xe2,0xb9,0x63,0xb6,0x07,0xa3,0x28,0x01,0x84,0xf1,0x38, + 0x3a,0x01,0x5c,0x41,0xe0,0x21,0x4a,0x9b,0x95,0x25,0xd1,0xf7,0x7d,0xff,0x39,0x04,0x84, + 0x0a,0x63,0x5b,0x36,0x87,0xa1,0x60,0x54,0x03,0x04,0x06,0x52,0x01,0x34,0xa7,0x3f,0x3f, + 0x3f,0x0f,0x79,0x34,0xf8,0xd2,0x99,0xcc,0xb2,0x09,0x9e,0x7e,0xe3,0x2f,0x49,0xfc,0x10, + 0x9c,0x5d,0xd1,0x8f,0x56,0x0a,0xe4,0xe4,0x14,0x1a,0x76,0x29,0x18,0x56,0x32,0x54,0xa6, + 0x1d,0xed,0x1c,0x17,0x0e,0xb5,0x16,0xe0,0x78,0xbb,0x22,0xb8,0xdd,0x11,0x91,0xc4,0x6e, + 0xe0,0x28,0x16,0xb6,0xb8,0xbf,0xa3,0xd6,0x68,0x7c,0xa6,0xac,0xeb,0xd7,0xed,0xb9,0xef, + 0x3e,0x7d,0xeb,0x9d,0x77,0xae,0x5a,0x4f,0xe9,0x6c,0x03,0x60,0x90,0x1a,0x80,0x6c,0x36, + 0x4b,0xeb,0x02,0xd1,0x5d,0x67,0x63,0x2c,0x02,0x87,0x42,0x72,0x9f,0x7b,0xa0,0xe3,0x03, + 0x51,0x09,0x59,0x34,0x9d,0xc1,0x55,0x52,0xd0,0x92,0x74,0x68,0xe1,0x6d,0xd2,0xa2,0x2f, + 0xf4,0xe2,0x43,0xee,0x47,0x15,0x40,0x16,0x42,0x28,0x09,0x9c,0x10,0x04,0xaa,0x0b,0x2a, + 0x9e,0x69,0xdb,0x08,0x00,0xe6,0x0a,0xae,0x96,0xa5,0x91,0x50,0x05,0xa0,0xce,0x6f,0x55, + 0x97,0xc0,0xaa,0x1e,0x02,0xab,0x39,0x4b,0xf9,0x45,0xe0,0xda,0x16,0x8a,0x7d,0x43,0xa4, + 0x8e,0x19,0x0e,0xda,0x00,0xf3,0x55,0xd4,0xad,0x72,0xa8,0xc3,0xf1,0x58,0xba,0x5c,0x82, + 0x4c,0xa9,0x08,0x76,0xb3,0x2e,0x12,0x38,0xdb,0x8b,0x0b,0x30,0x3d,0x33,0x0d,0xc7,0xfe, + 0xf6,0x5e,0xb8,0xf5,0xc3,0x3f,0x0d,0xe5,0x0d,0xeb,0x3b,0xf1,0x7d,0x02,0x42,0x1a,0x39, + 0x9f,0xa4,0x42,0x05,0xed,0x05,0x9a,0xe8,0xc1,0x67,0xec,0xd8,0x03,0xfd,0x41,0x9f,0x1e, + 0x89,0xc0,0x23,0x03,0x10,0x3b,0x92,0x1a,0x8a,0x6a,0x0a,0x72,0x4c,0x47,0xce,0xd7,0x91, + 0x11,0x7c,0x98,0x73,0xea,0x30,0x87,0xa2,0x7e,0xc9,0x6e,0x42,0x8b,0xe6,0x42,0x82,0x70, + 0x66,0x31,0x59,0x81,0x35,0x61,0x2f,0x50,0x4c,0x20,0x53,0x5d,0x5a,0xda,0x5a,0x2e,0x95, + 0xdc,0xa3,0xa9,0x14,0xcd,0x0f,0xac,0x5a,0x66,0xff,0x6c,0x02,0x20,0xe9,0x09,0xf4,0xac, + 0xf3,0x44,0xce,0x1f,0xa5,0xbf,0xe3,0xc0,0x15,0x97,0xe5,0xde,0x03,0x15,0x1f,0x46,0xe2, + 0x06,0x36,0x18,0xf8,0x70,0x19,0x24,0xa6,0x83,0xc4,0xb4,0xd0,0x1e,0x70,0x10,0x24,0x1e, + 0x0b,0x27,0x1c,0x59,0x47,0x12,0x04,0x42,0x12,0x10,0x18,0x14,0xdd,0x46,0x20,0x59,0xd0, + 0xb2,0x0b,0x78,0x1e,0xfe,0xac,0x44,0x8b,0x49,0xc6,0x44,0x01,0x6a,0xab,0x81,0x16,0xbd, + 0xee,0x82,0x91,0x41,0x83,0x8d,0x1b,0x90,0xc9,0x0e,0x09,0xe2,0xa7,0x5a,0x6d,0x18,0x39, + 0x72,0x1c,0x52,0x56,0x1b,0x3c,0x33,0x25,0x5c,0x3c,0x2d,0x97,0xc3,0x9e,0x47,0x20,0x48, + 0x30,0x87,0x86,0xe0,0x91,0xb9,0x59,0x90,0xd0,0x0b,0x98,0x9a,0xda,0x08,0x3e,0x72,0xfa, + 0xde,0x27,0x9f,0x86,0x5c,0x21,0x0f,0xb9,0x91,0xb2,0x08,0xed,0xc6,0x40,0xa0,0x14,0xb0, + 0x02,0x1a,0x85,0xb5,0x5a,0x4d,0xa8,0x05,0x5a,0x09,0xd4,0x1f,0xf4,0x11,0x29,0x5f,0x91, + 0x37,0x20,0xaa,0xa2,0x20,0xac,0x0d,0xd4,0xe7,0x05,0x24,0x78,0x41,0x35,0xc4,0xf3,0xdb, + 0x28,0xad,0x5e,0x6b,0xcd,0xc1,0x92,0xdb,0x82,0xa6,0x17,0x46,0x3e,0xfd,0x28,0x83,0x29, + 0x96,0x18,0xf1,0xbc,0x40,0xd7,0x3b,0xe8,0xf0,0x99,0xe4,0x78,0xee,0x3b,0x70,0xfb,0x34, + 0x8a,0xde,0x8d,0x6b,0x05,0x80,0x24,0x08,0xe2,0x89,0x21,0x41,0xe9,0x0f,0x7f,0xf8,0xc3, + 0x45,0x45,0x92,0x4c,0x4e,0xeb,0xe7,0x65,0x39,0x93,0xfc,0x42,0x0c,0x06,0x1e,0xc1,0x9b, + 0xe1,0x03,0xaa,0xe8,0x4c,0xd0,0x64,0x10,0xe5,0x3e,0x89,0x60,0x0e,0x65,0x8b,0x92,0x21, + 0xc6,0x22,0xd4,0x93,0x5a,0x00,0x02,0x42,0x68,0x17,0xc8,0x06,0xad,0x35,0x9f,0x45,0x31, + 0x59,0x42,0x0e,0xb2,0x10,0x7e,0x3e,0x34,0x2a,0x68,0x24,0x06,0x35,0x74,0x15,0x51,0xb4, + 0x16,0x4a,0x08,0x30,0xe2,0x7c,0x05,0x4c,0xe4,0xd4,0xf1,0xa3,0xc7,0x40,0x41,0xe2,0x13, + 0x41,0xbc,0x36,0xba,0x8d,0x48,0x7c,0x49,0xd5,0x61,0x71,0x66,0x16,0x0e,0x2f,0x4e,0x43, + 0x0a,0x41,0x71,0xe9,0xa5,0x97,0x03,0x43,0x4e,0x6e,0x2c,0x2d,0xe0,0xb5,0x16,0x85,0x3a, + 0xf8,0xe1,0x03,0x0f,0xc2,0x8e,0xdb,0xdf,0x03,0x45,0xf4,0x1e,0x1c,0xd4,0xc3,0x14,0xdf, + 0x17,0x03,0x8a,0x44,0xcf,0xe2,0x35,0x48,0x12,0xa8,0xd1,0x1c,0x80,0x08,0xf2,0x24,0x54, + 0x82,0x58,0xef,0x88,0xc6,0xad,0x89,0x2e,0x6c,0x81,0x69,0x08,0x72,0x7c,0x4a,0x3c,0xa7, + 0xe6,0x59,0xb0,0xe0,0x35,0x60,0xc1,0x69,0x42,0xdb,0x73,0x7a,0xbe,0x27,0xc4,0x7d,0x10, + 0x8b,0xf9,0x70,0x78,0x43,0xbd,0xdf,0x8d,0x14,0xc6,0x2d,0xf0,0xbd,0x8b,0x6c,0xd7,0x7d, + 0x08,0x25,0xd2,0x86,0x13,0x11,0xe9,0x6c,0x03,0x20,0xa9,0x06,0x44,0xbb,0xf6,0xaa,0xab, + 0xb6,0xe2,0x81,0xb6,0xa6,0x28,0x24,0x9e,0xe4,0x24,0xe1,0xfb,0x41,0x10,0x8b,0x37,0x4a, + 0x83,0x97,0x85,0xe0,0x46,0x8e,0xc1,0x2b,0x99,0x01,0x79,0x07,0x1a,0x82,0x40,0x58,0x0f, + 0xe8,0x30,0xd0,0xe5,0x9d,0x48,0xcc,0xa0,0x5d,0xa0,0xd9,0xa0,0x8a,0xb8,0xfb,0x10,0x34, + 0x6a,0x47,0x44,0xc0,0x47,0x58,0x03,0x22,0x88,0xa3,0x8b,0x04,0x53,0xd3,0x42,0xb1,0x7f, + 0x7c,0x06,0xc5,0xbf,0x2b,0xbc,0x0d,0xba,0x86,0x8c,0x62,0x5c,0x4e,0x99,0x30,0x8f,0xa2, + 0x7e,0xa6,0x55,0x83,0xd1,0x75,0xeb,0x60,0xe3,0xc6,0x2d,0xe8,0xee,0x19,0xe0,0x23,0x58, + 0x62,0x5f,0x9e,0xb8,0xb8,0x89,0x2a,0x65,0xf7,0x83,0x8f,0xc0,0x25,0xb7,0xde,0x04,0xc5, + 0x72,0x59,0xa8,0x01,0x12,0xfd,0xd4,0x28,0x76,0x40,0x2a,0xa0,0x89,0x52,0x80,0x12,0x51, + 0xc3,0x18,0x3f,0x5a,0x1a,0x3e,0x8a,0x79,0x5f,0x06,0xd3,0xd3,0xc0,0x44,0x1b,0x47,0xa3, + 0x70,0x16,0xaa,0xbd,0x63,0x7e,0x0d,0xaa,0x5e,0x1b,0x2a,0xc8,0xf1,0x6e,0xac,0x22,0x56, + 0x70,0x03,0x07,0xf5,0x2e,0x30,0xc2,0x12,0xac,0xb8,0xc9,0xa3,0x14,0xca,0x8c,0x0c,0x0f, + 0x9f,0x30,0x67,0xf0,0x8d,0x02,0x00,0x75,0x51,0x55,0x3c,0x37,0x34,0xb4,0x11,0x89,0xdc, + 0x94,0x25,0x69,0x64,0x50,0x16,0x4e,0xbc,0x4d,0xba,0x41,0x9d,0x74,0xec,0x28,0xf6,0x4e, + 0x8d,0x2c,0x64,0x1a,0x42,0xe6,0x93,0x21,0x47,0xab,0x86,0xd0,0xf0,0x92,0x50,0x5f,0xb3, + 0x0a,0xfe,0x32,0xa9,0x83,0x1a,0x28,0xa8,0x33,0xbd,0xd6,0x84,0xb0,0x07,0x68,0xe2,0x48, + 0x0e,0x68,0x71,0xa6,0x0e,0x26,0xda,0x09,0x93,0xc7,0xa7,0x41,0x43,0x82,0x51,0xbc,0x81, + 0xf2,0x0e,0xe4,0x4c,0x16,0x14,0x14,0xeb,0x14,0xf0,0xaf,0x2d,0x2c,0xc0,0xc8,0x70,0x09, + 0x46,0x33,0x05,0x08,0x5a,0x0e,0xf7,0x34,0x9d,0xcb,0x68,0xec,0x99,0xb9,0x02,0x8b,0x06, + 0x58,0x70,0x5e,0x15,0x5d,0xc3,0x97,0x77,0x3d,0x01,0xdb,0x6e,0x79,0x37,0x14,0x4a,0x25, + 0x61,0x03,0x10,0x08,0xe8,0x3e,0xc9,0x38,0x24,0xf5,0x40,0xde,0x09,0x3a,0x2a,0x90,0x72, + 0x25,0xc8,0x38,0x78,0xc7,0x7e,0xe8,0xd1,0xb4,0xf0,0x1e,0x8f,0x05,0x75,0x41,0x78,0x32, + 0xf0,0x84,0x6d,0x10,0x71,0x79,0xaf,0x58,0x87,0x0e,0x97,0x77,0x03,0x42,0xd0,0x01,0x46, + 0xcc,0x2c,0x9d,0x41,0x0f,0x31,0xa0,0xb7,0x9b,0xcd,0x2c,0x2b,0x97,0x4f,0xb8,0x80,0xe4, + 0x6c,0x02,0xa0,0x1f,0x04,0x82,0x72,0xa6,0x61,0x6c,0x42,0xa2,0x36,0x99,0x2c,0xf7,0xe4, + 0xb6,0xc7,0x93,0x28,0x3d,0x5f,0x4e,0xa0,0xbc,0x6f,0xf1,0x70,0x22,0x9b,0x17,0x41,0x41, + 0x4e,0x3f,0x02,0x01,0x82,0x34,0x3e,0xd0,0x30,0xfa,0xee,0x75,0x84,0xc6,0x22,0xc8,0xe6, + 0x1c,0xd8,0x99,0x79,0xa8,0xd4,0xca,0x62,0xa1,0x88,0x24,0x69,0x60,0x78,0x1c,0xc6,0x51, + 0xbc,0xa7,0x90,0x30,0x44,0x7c,0x4e,0xcb,0xb6,0x0b,0x45,0x90,0xd2,0xa6,0x48,0x22,0x21, + 0x80,0x8d,0x16,0x87,0xf1,0xfa,0x32,0xb7,0x96,0x6a,0x16,0xf7,0x83,0x26,0x69,0x1c,0x2d, + 0x9f,0xa1,0x77,0x1b,0x48,0x66,0x26,0x67,0xe0,0xe8,0xa7,0xb9,0xef,0xcb,0x74,0x5f,0x0b, + 0xc7,0x66,0xe0,0xb5,0xa7,0x9f,0x85,0x6d,0x37,0x5e,0x27,0x0c,0x41,0x45,0xe4,0xfa,0x79, + 0xe2,0xfe,0xd2,0xe8,0x36,0xb6,0xea,0x36,0x8c,0x58,0x0a,0x28,0x48,0xf8,0x36,0xaa,0xa8, + 0x79,0xb0,0xa0,0xca,0x6d,0xa8,0x63,0xf7,0xa8,0xf2,0x59,0x10,0x49,0x95,0xc4,0x7c,0x7f, + 0x6f,0x9c,0x3f,0xe8,0x99,0x08,0xea,0x0f,0x03,0x77,0x8f,0xf7,0x8c,0x9b,0x81,0xe0,0xcb, + 0x9e,0xb0,0x74,0xda,0x1b,0x00,0x80,0x1e,0x09,0x30,0x3e,0x3e,0x2e,0xa3,0x78,0x9c,0xb4, + 0x1c,0xe7,0x05,0x94,0x00,0xc5,0x95,0x24,0x40,0xbc,0x1f,0x0f,0xc0,0x20,0x70,0xf4,0x9f, + 0x1f,0x82,0x41,0x16,0xff,0x14,0xb4,0x1a,0x0c,0x36,0x84,0x96,0xf4,0x24,0x1a,0x6a,0x0d, + 0x38,0xca,0xd1,0x45,0xab,0xa3,0x57,0xe0,0xc9,0x30,0x3a,0x37,0x0f,0xb9,0x88,0xf3,0x39, + 0x1a,0x5d,0x72,0xa1,0x00,0x40,0x9c,0xeb,0x58,0xd0,0xa0,0x08,0x9f,0x24,0xf1,0x8c,0x6e, + 0x7a,0x41,0xdd,0x59,0x74,0xea,0x56,0xcd,0x69,0xda,0xae,0xe7,0xa2,0x36,0x46,0xb1,0xac, + 0xe7,0x73,0xa0,0x68,0x86,0xa2,0x9b,0xd9,0x14,0x3e,0x43,0xd9,0xb7,0x1c,0xa3,0xa9,0x07, + 0x6c,0x51,0xca,0x8b,0xb8,0x3f,0x71,0x3c,0xb9,0x84,0xb1,0xdb,0x47,0x89,0x9f,0x3a,0xaa, + 0x8f,0x16,0x7a,0x1c,0x75,0xf4,0x52,0xea,0x81,0x03,0x6d,0xe2,0x76,0xee,0x77,0x67,0xfa, + 0x06,0xcc,0xf7,0xc7,0xdc,0xdf,0x9d,0xf5,0xeb,0xea,0xfe,0x58,0xfa,0x74,0x8f,0x2d,0x97, + 0x02,0xd8,0x34,0xc7,0x71,0xd2,0xf4,0xdd,0x9d,0x3b,0x77,0x6a,0xab,0x55,0x26,0x7b,0x23, + 0x25,0x40,0x70,0xc3,0x0d,0x37,0x64,0x90,0x98,0xe4,0x05,0x50,0xe5,0x4d,0x35,0x26,0xe2, + 0x20,0x1b,0xa0,0xf7,0x22,0xbc,0x9b,0x45,0x08,0x83,0x6d,0x86,0x65,0x6b,0xfc,0x28,0x14, + 0xc4,0x72,0xa0,0x6b,0x79,0x30,0x27,0x1c,0x50,0x8f,0x56,0xc0,0x3b,0x54,0x81,0x52,0xbd, + 0x8e,0x4f,0x8d,0x8f,0x8d,0xdc,0x29,0x53,0xe8,0x57,0xa4,0x68,0x79,0xb0,0x58,0xab,0x84, + 0xc6,0x99,0xac,0x78,0xae,0x65,0xcf,0x71,0xdb,0xab,0x86,0x69,0xfc,0x7e,0xb7,0xf6,0x15, + 0x45,0x26,0xb3,0x69,0xbf,0x66,0x07,0xfe,0x74,0xad,0x6d,0xb5,0x5c,0x4f,0x0e,0xd2,0xa6, + 0x3a,0xb9,0x65,0xbd,0xa8,0x8f,0x29,0x16,0x9d,0x84,0x0b,0x3c,0xc5,0xbe,0xb8,0x17,0x53, + 0x83,0x99,0x66,0x15,0xc5,0xbc,0x27,0x26,0xad,0x88,0xf8,0x3d,0x51,0x3f,0x80,0x1e,0x6e, + 0x1e,0x34,0xf7,0xdf,0x7b,0x2c,0xe8,0x80,0xa0,0x4f,0xf7,0x87,0xe0,0x09,0xff,0xc8,0x50, + 0xba,0x64,0x11,0x88,0x95,0xf1,0x62,0x91,0xde,0xd5,0xb8,0xe2,0x2b,0xf7,0xce,0x36,0x00, + 0x00,0x12,0xb1,0x80,0xcd,0x93,0x93,0x06,0xbd,0x11,0x86,0xea,0xf3,0xad,0xc6,0xfd,0xc9, + 0x63,0x3c,0x8a,0xe1,0xf2,0x44,0x5d,0x80,0x7e,0xe0,0x0c,0xbe,0x56,0xb4,0xbe,0x1f,0xa8, + 0x4a,0x69,0x0a,0xd6,0x0f,0x73,0x70,0x8f,0xcd,0xa1,0x32,0x36,0xd0,0x53,0xce,0x82,0x64, + 0xa6,0xc4,0x39,0x14,0xfb,0xa7,0x49,0x1e,0xca,0x2b,0x44,0xa2,0x05,0x59,0x2d,0xbd,0x14, + 0x58,0x4e,0x95,0x87,0xef,0x2b,0x02,0x1f,0xed,0x05,0x1b,0x5d,0x41,0x71,0x2f,0xe8,0xbe, + 0xb4,0x5a,0xad,0xac,0xe3,0x58,0x06,0xca,0x7f,0x0f,0xa5,0x45,0xd3,0x1c,0x9b,0xc8,0x94, + 0x87,0x32,0x9d,0x52,0x24,0x44,0x78,0x32,0x02,0x63,0x00,0xc8,0x61,0xb2,0x82,0x98,0x6f, + 0xe8,0x49,0xf5,0x22,0x29,0xd1,0x37,0x0b,0xb8,0x9c,0xe0,0x41,0x0f,0x28,0x7a,0x2d,0xff, + 0x41,0xba,0x9f,0xc7,0x95,0xf8,0x69,0xe0,0x28,0x59,0x74,0x0e,0xd1,0x58,0x5c,0x0d,0x00, + 0x67,0x63,0x3a,0xb8,0xbf,0x75,0x62,0x02,0x5a,0x36,0x4b,0xa5,0x56,0x5d,0x1c,0x47,0x1d, + 0xfa,0x4a,0xb4,0x0d,0x22,0x7e,0xb8,0x13,0x3e,0xd6,0x0a,0xa2,0x6e,0xe0,0x77,0xc2,0x55, + 0x3e,0xbd,0xc0,0x30,0x90,0xf0,0xe3,0xd7,0x5f,0x01,0xa9,0x8b,0xd6,0xa1,0xbe,0x37,0xc2, + 0xb7,0x92,0x25,0xe6,0xf9,0x87,0xf2,0x45,0x28,0xe5,0x87,0x1c,0x16,0xf0,0x3a,0x1e,0x09, + 0x88,0xa3,0xa3,0x55,0x69,0xe8,0x1e,0xda,0xa4,0x1e,0xd4,0x79,0xdb,0x2d,0xa6,0x54,0xcd, + 0x28,0x98,0x69,0x6e,0xe8,0x68,0x18,0xa6,0x73,0x95,0xe2,0xf8,0xf8,0xcb,0x29,0xb5,0xfb, + 0x3b,0xa4,0xff,0xe3,0x55,0xc0,0x62,0x80,0xe5,0xb0,0x3c,0x4c,0x97,0x88,0xbd,0x51,0xbf, + 0x5e,0x6e,0x87,0x81,0xc4,0xef,0x8a,0xff,0xc1,0x99,0x41,0x3d,0x23,0x1d,0x1f,0x43,0x61, + 0x16,0xe0,0xcd,0x78,0x92,0xb4,0x6a,0xca,0xf8,0x1b,0x05,0x00,0xa1,0x0a,0xf2,0xf9,0xbc, + 0x26,0x91,0xbf,0x26,0x51,0x09,0xd6,0x2e,0xd1,0x06,0xae,0xb5,0x4f,0xf4,0xe4,0x00,0xf5, + 0x80,0x63,0x45,0x10,0x84,0xdc,0xdf,0x7f,0x6e,0xba,0x54,0x84,0x91,0xcb,0xb7,0x82,0x9e, + 0xd3,0x81,0x31,0xe8,0xff,0x4d,0x0a,0xa3,0x59,0xc8,0xa5,0x56,0xe8,0x72,0x84,0x2b,0x7e, + 0x45,0x22,0xa7,0xa1,0xe9,0xcd,0x7c,0xb1,0xa0,0x99,0x39,0x64,0x68,0x8d,0xeb,0x9a,0x01, + 0x9a,0x99,0xb1,0xdd,0xc2,0xc4,0x3f,0x66,0x4c,0xe3,0xab,0x41,0xc2,0x09,0x4f,0xae,0x36, + 0x12,0x03,0x1c,0xe5,0x09,0x74,0x92,0x3e,0x56,0x48,0xf6,0xe8,0x25,0x30,0xf4,0xa9,0x83, + 0xee,0xb5,0xfb,0x19,0xa1,0x47,0x0a,0xc4,0x5b,0x2e,0x24,0x81,0xe6,0x73,0xee,0xe2,0x7d, + 0x9c,0x13,0x00,0x10,0x6a,0x20,0x67,0x9a,0xb4,0x40,0xdf,0x41,0xd1,0x99,0x62,0x61,0x1b, + 0xb8,0x2c,0x2b,0xc9,0xfd,0x3d,0x17,0xe2,0x7c,0x45,0x9d,0x1f,0x47,0x11,0x57,0x5a,0xe1, + 0x1b,0xa7,0x6c,0xa5,0x50,0xef,0x0f,0x5f,0xb2,0x09,0xd4,0x94,0x9c,0x10,0x15,0x12,0x44, + 0xa2,0xc6,0x0f,0x69,0x1f,0x71,0x3f,0x9e,0xef,0x99,0x86,0x5e,0x2f,0x8d,0xe4,0x7d,0x35, + 0xcd,0x50,0x8d,0x8b,0x44,0x12,0x49,0x56,0x3d,0x18,0x1a,0x3d,0x56,0x53,0x73,0x4f,0xe7, + 0x54,0x67,0x8f,0xef,0xfb,0xbc,0xff,0x3e,0x63,0x29,0x90,0xcc,0x11,0xec,0x10,0x67,0x95, + 0x5c,0xbf,0xfe,0xf0,0x6e,0x57,0x25,0x74,0x0d,0xc4,0x15,0x75,0x7f,0x12,0x10,0xe8,0x09, + 0x90,0x00,0x60,0x41,0x90,0x5b,0x6b,0x00,0x00,0xc4,0x86,0x60,0xb8,0x76,0x9e,0x43,0x42, + 0xfc,0xaf,0x06,0x82,0x24,0xf7,0xf6,0x4b,0x81,0x81,0x2d,0xb1,0xc4,0xab,0xf7,0x30,0xeb, + 0x64,0xf1,0x50,0xcf,0x8e,0x94,0x60,0x6c,0xc7,0x16,0xd0,0x52,0xb2,0x08,0x32,0x75,0x16, + 0x76,0x44,0x36,0x43,0xb4,0xe4,0x18,0x3c,0x5d,0xd3,0x6a,0x43,0xc3,0x39,0x57,0x4d,0x03, + 0x65,0x2d,0xa3,0x33,0xc0,0x69,0xdd,0x89,0x9d,0xc9,0xcd,0x58,0x99,0xd2,0x81,0xba,0xe5, + 0x3f,0xa0,0x89,0x57,0xe9,0x9e,0xa0,0x7c,0x0b,0xef,0x5b,0xe5,0xd3,0x93,0xeb,0x37,0x28, + 0xf9,0xa3,0xd7,0xf2,0x1f,0x0c,0x96,0x81,0x3f,0xd4,0x05,0x84,0x18,0xf5,0x20,0x1c,0xe8, + 0x73,0x00,0x00,0xe2,0xbe,0x90,0x53,0xc8,0x00,0xa4,0x97,0x09,0xb4,0x85,0xc8,0x5d,0x41, + 0xf4,0xf7,0x13,0xaf,0x1f,0x08,0xc9,0xbf,0xf5,0x6c,0x61,0x25,0x83,0xb0,0x1b,0x59,0x8c, + 0xdb,0xf0,0x86,0x75,0x30,0xf2,0xb6,0x4d,0x20,0x29,0xd0,0x01,0x01,0x21,0x80,0x56,0x0f, + 0x11,0xf1,0x03,0x4d,0x51,0xaa,0xa5,0xe1,0xbc,0xa7,0x67,0xc5,0x02,0x15,0xce,0x24,0x6e, + 0x05,0xcc,0xad,0xa7,0x72,0x47,0xea,0xe9,0xc2,0xf1,0xf9,0x9a,0xf3,0xe2,0x06,0xc5,0xde, + 0x63,0x7b,0xde,0x15,0x54,0x04,0xb2,0xff,0x37,0x93,0x16,0xbe,0x98,0xfb,0xe7,0x5d,0x82, + 0xf7,0xce,0xf7,0xf7,0x86,0x76,0x57,0x02,0x44,0x32,0xec,0xbb,0x8c,0xfb,0x63,0xe3,0x2f, + 0x81,0x0b,0xfc,0xbb,0xa3,0x68,0x1a,0xc5,0xa0,0x56,0x2d,0x30,0xf5,0x46,0x01,0x40,0xa8, + 0x01,0x24,0x3e,0x11,0x9e,0xca,0xb3,0xb7,0x57,0x22,0x78,0x77,0x14,0x97,0x13,0x78,0xb5, + 0x76,0x22,0x69,0x22,0xf4,0xb0,0xdf,0x4d,0x90,0xa1,0x21,0x2b,0xae,0x1b,0x87,0xe2,0x85, + 0x13,0xe2,0xcd,0xa6,0x42,0x70,0x28,0x72,0x4a,0x56,0x65,0x83,0xc9,0xb2,0x54,0x2f,0x0c, + 0x65,0xfd,0x74,0x49,0x0a,0xb2,0x05,0xa3,0x92,0xce,0x67,0x1b,0xaa,0x1e,0xcc,0x1b,0xb9, + 0xfd,0x0b,0x4a,0x7a,0x7a,0xb6,0x62,0xcd,0xcf,0xd7,0x5b,0xdf,0xde,0x34,0xd4,0xd8,0x84, + 0xea,0xec,0xb6,0x1e,0xa3,0x2f,0xca,0x0c,0x8a,0x01,0x10,0xa6,0x87,0xf9,0x1d,0xcb,0xbf, + 0x3f,0xd9,0x23,0x31,0x8d,0xdb,0xc3,0xfd,0xbd,0x46,0xe3,0x6a,0x51,0xbf,0x24,0x08,0xba, + 0x12,0x03,0x6f,0xc4,0x16,0x53,0xed,0x92,0xb4,0xea,0x4b,0x37,0xdf,0x08,0x37,0xb0,0x73, + 0xbf,0xe8,0x1f,0xb7,0x25,0xfc,0x0f,0xad,0xd3,0x1a,0x2c,0x5f,0x25,0xb4,0x8c,0xf8,0x49, + 0xc2,0x27,0xd3,0xad,0xfb,0x09,0x1f,0x7d,0x05,0x06,0x55,0xf6,0x4a,0x82,0xc0,0x45,0x0b, + 0x9d,0x32,0x7f,0xa8,0x91,0xb5,0x4e,0xd9,0xc0,0xc3,0x5b,0xa6,0x20,0x70,0x3d,0xa8,0xee, + 0x9f,0x21,0xf7,0x59,0x97,0x35,0xa5,0x50,0x4b,0x9b,0x96,0x5d,0x18,0xd1,0x4a,0xeb,0xd7, + 0xa5,0x79,0xca,0x34,0xac,0xd9,0x1a,0xab,0x36,0x54,0xf4,0x1b,0xe5,0xbd,0xad,0x6a,0xfb, + 0x41,0x27,0xf0,0x9e,0x7c,0x77,0xe1,0xb0,0x2d,0xcb,0xd9,0x4f,0xa5,0x4c,0xf3,0xa2,0xe4, + 0x6f,0xc6,0x91,0xc0,0xb8,0x85,0xe5,0x60,0x9c,0x41,0x8b,0x3c,0x3b,0xdc,0xdf,0xcf,0xe9, + 0xc9,0x49,0x1f,0xce,0x83,0x3e,0x69,0x71,0xc2,0xe8,0x6e,0x3c,0x1e,0x36,0xde,0x8b,0x22, + 0xd3,0x2c,0xd8,0x2a,0xed,0x0d,0x55,0x01,0xd5,0x6a,0x95,0x4a,0xc9,0x10,0x05,0x56,0x2c, + 0x7e,0xb8,0xaa,0x51,0xb8,0xca,0x77,0x00,0x96,0xc7,0x05,0x7a,0xbf,0xcb,0x45,0x76,0x6e, + 0x3c,0x80,0xe4,0xa7,0xcb,0x51,0xf1,0xc6,0xd2,0xd6,0x0d,0x90,0x5d,0x5f,0xa2,0x05,0x25, + 0x8c,0xa7,0xd4,0x62,0xbb,0x50,0x2e,0x72,0x23,0x23,0x21,0xf1,0xb5,0x5c,0xd6,0x60,0x63, + 0xa5,0x2c,0x64,0xd3,0x19,0x13,0x7f,0x62,0xff,0xb0,0xb2,0xf4,0xf5,0xf7,0x8c,0xcc,0x28, + 0xd9,0x74,0xfa,0x93,0x85,0x42,0xe1,0x27,0x75,0x5d,0x4f,0x25,0xef,0x25,0x8e,0x01,0x88, + 0x5f,0xe4,0x3c,0x5c,0x07,0xd8,0x6a,0xad,0x9a,0xe9,0x1b,0x03,0xa1,0xdf,0xed,0xa3,0xd6, + 0x7b,0x6c,0x80,0x2b,0xdc,0x63,0x28,0xc6,0x87,0xa8,0xf9,0x16,0x32,0x8d,0xea,0x4b,0x52, + 0x75,0xb5,0xb1,0x7b,0x43,0x25,0xc0,0xd2,0xd2,0x52,0x95,0xf4,0x65,0xe0,0xba,0x84,0x4a, + 0x62,0x93,0x4e,0x34,0xb0,0x4b,0xcd,0xd5,0x5d,0xc3,0x78,0x00,0xba,0x8b,0x36,0x57,0xaf, + 0xed,0x43,0x66,0x9d,0x42,0x53,0xaf,0x0e,0x13,0xb3,0x71,0x7e,0xc6,0x17,0x5c,0x1a,0xe7, + 0xf6,0x51,0xe4,0x8e,0xb8,0x74,0x78,0xdb,0x66,0x04,0x88,0x07,0x0b,0x0d,0x44,0x41,0x6e, + 0xc8,0x30,0x64,0xd6,0x70,0x9a,0xd5,0xe7,0xdb,0x32,0x5c,0x32,0x9c,0x4f,0x51,0x9e,0xbd, + 0x7a,0x74,0x2e,0xb8,0x3b,0x0d,0xcd,0x8c,0x2c,0xa9,0x57,0xe7,0x8b,0xc5,0xab,0xb3,0xd9, + 0x6c,0xaa,0x9f,0xfb,0xe3,0x74,0xb0,0xf8,0x3e,0xed,0x1a,0x3e,0x6a,0xa3,0x29,0x06,0x5a, + 0xa4,0x6b,0x0c,0xc8,0xf4,0x0d,0x09,0xdd,0x9b,0xfa,0xbd,0xdc,0x18,0x1c,0x6c,0xf9,0xf7, + 0xeb,0x7e,0xfa,0x40,0x9e,0x33,0x3e,0x6d,0x43,0x56,0x55,0xc4,0xb7,0x3a,0x7d,0xae,0x00, + 0x80,0xca,0xc0,0x38,0xdf,0xbe,0xff,0xfe,0x23,0xc8,0x7a,0x2a,0x93,0xa4,0x25,0x16,0x56, + 0x1c,0xed,0xd2,0x3e,0x31,0xeb,0x77,0xd2,0x12,0x60,0x05,0xcb,0x5f,0xc6,0x21,0x48,0x7b, + 0x32,0xa4,0x7c,0x74,0xfd,0x3c,0xf4,0xc5,0x71,0x90,0x9a,0x06,0x72,0xa4,0xe3,0x76,0x96, + 0x70,0x51,0xec,0x9e,0x32,0x7b,0xe3,0x22,0x4d,0xa5,0xed,0x17,0x82,0x53,0xf3,0xd9,0xd6, + 0x8c,0xc6,0xd2,0x2a,0x2f,0x39,0xb6,0x65,0x56,0xad,0xf9,0xa0,0xcd,0x8b,0x6e,0xb9,0x90, + 0x56,0x4d,0x90,0x26,0x4a,0x9e,0xf1,0x1b,0xdc,0x9e,0x53,0x32,0xe9,0xac,0x94,0x2c,0xff, + 0x12,0x57,0x27,0xa3,0x1c,0xc1,0xce,0x6a,0x20,0xdc,0xaf,0xcf,0xcf,0x83,0x4c,0xaa,0x07, + 0x3f,0xa7,0x29,0x6b,0x18,0x3b,0x4d,0x5c,0xb7,0xa9,0xb2,0x09,0x2d,0x7a,0xed,0x78,0x02, + 0x41,0x9f,0xe8,0xef,0x46,0xfd,0xba,0x6a,0x61,0x50,0xeb,0xd3,0xfd,0x21,0x98,0x5c,0xdd, + 0x30,0x1a,0x74,0x67,0xef,0x7a,0xd7,0xbb,0xda,0xe7,0x0c,0x00,0x40,0xa8,0xb4,0x60,0xaf, + 0x22,0x49,0x1b,0x71,0x6f,0x16,0x41,0x30,0xb1,0x12,0x00,0x3a,0x9f,0x13,0x7f,0x1b,0xe8, + 0x25,0x24,0xfe,0x46,0xdc,0xae,0x05,0x92,0x20,0xbc,0x89,0x84,0xd7,0x71,0x5f,0x44,0x77, + 0x54,0x0e,0x6d,0x1d,0x6d,0x00,0x2a,0x30,0xe6,0xda,0x20,0x6b,0x61,0xcd,0x5e,0x1a,0x78, + 0x02,0x01,0x4d,0xdd,0xd2,0xbe,0x69,0x02,0x5c,0x60,0x76,0x31,0x64,0x68,0x4a,0x26,0x9b, + 0xc1,0xef,0xa2,0x18,0x9f,0xae,0xb4,0xa1,0x18,0xe8,0x50,0xc8,0xa5,0xb5,0x6a,0xcd,0x87, + 0x85,0xd9,0x16,0x8c,0x4e,0x64,0x3b,0xf7,0x1b,0x5f,0x23,0x29,0xfe,0x1b,0x8b,0x4b,0xe0, + 0x34,0x9b,0x42,0xcf,0x86,0xf9,0x0c,0x0c,0x11,0xcf,0x44,0xd8,0x81,0xf2,0x18,0x1c,0xaa, + 0x6f,0x80,0x1e,0x42,0x0d,0x09,0xd8,0x16,0x0b,0x9b,0x93,0x11,0xbe,0xfe,0x88,0xdf,0x0a, + 0x61,0xdf,0x7e,0x30,0x84,0xc5,0x2e,0xac,0x54,0xca,0xa8,0x4b,0x27,0x51,0x4f,0xf0,0x0d, + 0x07,0x00,0x0a,0xc7,0x03,0x68,0x39,0xd3,0x2a,0xd6,0x9e,0x5a,0x77,0xfd,0xc4,0xef,0x27, + 0xfc,0xb2,0x73,0x13,0xfb,0x94,0x06,0xae,0x07,0x32,0x64,0x5c,0xec,0x48,0x78,0x59,0xac, + 0x20,0x02,0xa8,0xeb,0x01,0x12,0x1e,0x39,0x31,0x4a,0x4b,0x15,0xe1,0x5f,0xde,0xd5,0xff, + 0xd4,0x48,0x0d,0xd0,0x67,0x22,0x20,0xcd,0xe5,0x27,0x0d,0xb8,0xf8,0xb7,0x0d,0x99,0x83, + 0x56,0xaf,0x43,0xab,0x66,0x81,0xe2,0xe5,0x21,0x9f,0x1f,0x81,0x4a,0x7d,0x06,0xe6,0x67, + 0x9b,0x50,0x1e,0xcb,0x0a,0x29,0xc2,0xa2,0xa2,0x0f,0x31,0xf1,0x1d,0xdc,0x6f,0x2c,0x2e, + 0x0a,0x5f,0x5c,0x8a,0x54,0x95,0x70,0x36,0xc8,0xdb,0xe4,0x20,0xca,0xd2,0x18,0x78,0x3f, + 0x69,0xa4,0xc0,0x90,0x86,0x40,0xf0,0x19,0x2c,0xb4,0x39,0x34,0x5d,0x2e,0x96,0xb4,0xfb, + 0x7d,0x5e,0x40,0x7c,0xdd,0x65,0x20,0x18,0x70,0x0c,0x9b,0x8d,0xf7,0xd4,0x08,0x56,0x33, + 0xb4,0xd7,0x08,0x00,0xc4,0x71,0x2f,0x65,0x32,0x99,0x9f,0xe6,0xbe,0x7f,0x0c,0xe5,0x26, + 0xd5,0x81,0x18,0x68,0x88,0x9e,0x28,0x4a,0x48,0xdc,0x6e,0x70,0xe2,0x76,0x15,0x32,0x81, + 0x82,0x1c,0xaf,0x08,0x9e,0xb0,0x14,0x0e,0x2d,0xd5,0x87,0x36,0x72,0x7d,0xa0,0xf4,0x56, + 0xf4,0x8e,0x01,0x16,0x27,0x6b,0x92,0xce,0x8e,0x55,0x01,0x0d,0x24,0x81,0xc0,0x15,0x99, + 0x44,0x6e,0x4f,0xcc,0x80,0x5e,0x83,0x38,0x36,0xa5,0xc1,0xb1,0xfd,0x28,0xd2,0x1b,0x35, + 0x04,0x52,0x1e,0x25,0x01,0x82,0xa0,0x36,0x83,0x84,0xe6,0x08,0x00,0x2e,0xb2,0x82,0x3b, + 0x2b,0x82,0xc9,0x96,0x38,0x72,0x14,0xac,0x7a,0x4d,0x14,0xb2,0xa2,0x7b,0x8d,0x62,0x4b, + 0xd1,0x42,0xb7,0x38,0xf6,0xc0,0x41,0x91,0x40,0xac,0x66,0xa6,0xb7,0xa3,0x15,0x33,0x1a, + 0xd8,0x24,0x11,0x6c,0x0f,0x16,0x9b,0x01,0x34,0xad,0x00,0x5a,0x6d,0x4a,0x7b,0x5b,0x3d, + 0xea,0x97,0xb4,0x25,0x78,0x18,0x07,0x6e,0xe4,0xb3,0xf9,0x7a,0xf4,0xda,0xbb,0x73,0x0b, + 0x00,0x3f,0xfc,0xe1,0x0f,0x8f,0xbe,0xfb,0xdd,0xef,0x6e,0x53,0x80,0x42,0x0e,0x83,0x14, + 0x61,0xa8,0xf2,0x24,0x8c,0xbf,0x98,0xdb,0x53,0x5c,0x81,0x1c,0x11,0x9e,0x2a,0x81,0xd2, + 0xe2,0x51,0x64,0xa9,0x25,0x0d,0xad,0x6d,0x05,0x45,0xb0,0x1c,0xae,0x2a,0x4a,0x46,0xff, + 0xc4,0x77,0xa5,0xe4,0xb5,0x42,0x43,0x2d,0x19,0xae,0x25,0xdd,0x4d,0xa0,0x20,0x7b,0xc0, + 0x44,0x5d,0x10,0xba,0x6f,0x6e,0xc7,0x7a,0xd7,0x74,0x19,0x26,0x37,0x1b,0x30,0x73,0xc8, + 0x15,0x35,0xfd,0x64,0x39,0x27,0x40,0xb0,0x34,0x37,0x0b,0x8a,0x16,0xbe,0xe7,0x28,0x36, + 0x00,0x17,0x17,0x17,0xa0,0x56,0xa9,0x74,0xf2,0xe1,0x45,0x54,0x39,0x02,0x42,0x12,0x00, + 0xb4,0x02,0x86,0x47,0x5b,0x90,0x02,0x71,0xcc,0x40,0x63,0x41,0x4f,0x49,0x30,0x34,0xa4, + 0x80,0x83,0x18,0x6c,0x59,0x28,0x19,0x2a,0x3e,0x2c,0xa1,0xda,0xb1,0x2d,0x2e,0x16,0xaf, + 0xf4,0x12,0x3c,0x39,0xba,0xe1,0x07,0x49,0x66,0xaf,0xe2,0x33,0xa0,0xd2,0x83,0x3d,0xe7, + 0x1c,0x00,0xa8,0x1e,0xe0,0x83,0x0f,0x3e,0x78,0x5c,0x4c,0x52,0x30,0xb6,0x20,0x00,0x70, + 0x02,0xe2,0x8b,0x29,0x5d,0x22,0x3c,0x72,0x7a,0x21,0x40,0x02,0xa1,0xb8,0x0f,0xf0,0x54, + 0x07,0x09,0x5f,0xd1,0x1c,0x68,0x21,0xe1,0x03,0x16,0x8e,0xf4,0x32,0xc2,0xaf,0x50,0xd5, + 0x53,0xa4,0x96,0x91,0x37,0x11,0xc5,0xe9,0xe3,0xe0,0x0d,0x89,0x71,0x02,0x06,0xb9,0x73, + 0x24,0x11,0x3a,0x53,0xd2,0xf4,0xed,0x0c,0x83,0x4c,0x26,0x80,0x03,0x7b,0x6a,0x50,0xaf, + 0x35,0x28,0x03,0x1b,0x24,0xc5,0x80,0x56,0xc3,0x82,0x74,0x36,0x4c,0x04,0xa1,0xb5,0x01, + 0xd5,0xca,0x12,0x78,0xf4,0xae,0x02,0xe4,0x66,0x29,0x08,0x3a,0x15,0xb1,0xc4,0x6f,0xf3, + 0x98,0xf8,0x10,0x05,0x2f,0x22,0x00,0xc4,0xdb,0x58,0x32,0x28,0x81,0x58,0xf6,0x9e,0x42, + 0x30,0x14,0x8b,0x14,0x86,0x66,0x08,0x2c,0x0e,0x0b,0x4b,0x1c,0xea,0x75,0xba,0x4f,0x1f, + 0xba,0x45,0x4f,0x7b,0x8c,0x40,0x9a,0xac,0x7a,0x06,0x2f,0x52,0x66,0xbe,0xbf,0xff,0x9c, + 0x03,0x00,0x35,0x1c,0xe8,0xc3,0x38,0xc8,0x17,0x40,0x68,0x07,0x6c,0xec,0x9f,0x18,0x8a, + 0x41,0x20,0xc7,0xdc,0xce,0x43,0x31,0xaf,0xa3,0xc8,0xb7,0x91,0x53,0x2a,0x8a,0x0b,0x2d, + 0x19,0x39,0x42,0x94,0x97,0x4a,0x58,0xe2,0x83,0xd4,0x05,0x5b,0x0e,0xa8,0x78,0x49,0x77, + 0xfc,0x02,0x87,0x38,0x77,0x3f,0x6e,0xf1,0x4a,0xde,0x7e,0x30,0xc6,0xd2,0x60,0x78,0x12, + 0xb9,0x52,0xb2,0x10,0x04,0x0e,0xa4,0xcd,0x3c,0xb4,0xaa,0x54,0xac,0x02,0x3f,0xd7,0x2b, + 0x50,0xa9,0x56,0xc2,0xef,0xd3,0x02,0x65,0xa4,0xa0,0xe4,0x71,0x30,0x39,0x74,0x24,0x0f, + 0xeb,0xf8,0xad,0x10,0x71,0x3f,0x44,0x84,0x8f,0xb6,0x52,0xd4,0x23,0xfb,0x4d,0x80,0x41, + 0xe6,0x42,0x4d,0x8c,0x8d,0xcb,0x50,0x1e,0xa1,0xaa,0xa2,0x80,0xbf,0x13,0x40,0xad,0x4e, + 0xcb,0xdc,0x3c,0xb0,0xec,0xd0,0x85,0x0c,0x02,0x11,0x00,0xb0,0x72,0xd9,0xec,0xcb,0x78, + 0xb9,0xeb,0x3d,0x49,0x3a,0x78,0x4e,0x02,0x00,0x7f,0xf4,0x20,0x2a,0xff,0x6d,0xa8,0xa3, + 0xf6,0x22,0x07,0x5e,0x1e,0x85,0x87,0xc3,0x07,0x06,0x7a,0x05,0x09,0x5a,0xf1,0x48,0xf4, + 0x7c,0xa0,0xa2,0xd5,0x2c,0x0b,0x97,0xae,0x2d,0x08,0x6f,0x43,0x4b,0xa2,0x85,0x1b,0x5c, + 0xac,0x1e,0xa6,0xbc,0xfe,0x0e,0x6f,0x0f,0x22,0x7c,0xa2,0xb4,0x5b,0xb2,0xae,0x9f,0xe0, + 0xf0,0xa8,0x88,0x33,0x1d,0x8b,0x5f,0x2d,0xd3,0x59,0xc4,0xd1,0x63,0x58,0x2d,0x8f,0xbe, + 0x29,0xa8,0xb8,0x47,0xd6,0xa9,0xc8,0xf9,0x28,0xee,0x8f,0xd5,0x20,0xa3,0xe6,0xa0,0xdd, + 0x9a,0x86,0x6a,0xb5,0xba,0x2c,0xda,0xd7,0x88,0x24,0x4d,0x96,0xb2,0x92,0x79,0x57,0xf7, + 0x43,0x7f,0x4f,0x12,0x5e,0x0a,0x12,0xfb,0xbc,0x73,0xff,0x34,0xe7,0x14,0xe6,0x1a,0xca, + 0x60,0xa4,0x18,0x0c,0x95,0x34,0xfc,0x5d,0x8e,0x40,0x40,0x30,0x20,0x18,0xa9,0x7b,0x9e, + 0xbf,0xa7,0x38,0x3c,0x54,0xc2,0x07,0xdd,0x77,0xf3,0x0d,0x37,0x9c,0xf0,0x45,0x13,0x6b, + 0x02,0x00,0x27,0x08,0xf6,0xa0,0x2b,0xf8,0x01,0x1c,0xa4,0xef,0xe3,0x60,0xde,0x86,0x87, + 0x4a,0x44,0x8a,0x14,0x6a,0xf4,0x1c,0x12,0xbd,0xc0,0x75,0xb1,0x60,0xc2,0x62,0x68,0x10, + 0x49,0x88,0x72,0xc9,0x15,0x9c,0x9f,0xcc,0x0c,0xee,0xcf,0x13,0xec,0x9f,0x46,0xee,0x54, + 0xf5,0x1a,0x50,0xdb,0x87,0x88,0x1f,0x13,0x9d,0xb2,0x74,0xe4,0xe8,0x73,0x2c,0x0d,0xc8, + 0x1e,0xe8,0x37,0x04,0x93,0x60,0xe0,0xd1,0xf2,0x6f,0x3f,0xb0,0x81,0x99,0x6d,0xf0,0x94, + 0x96,0x20,0x48,0x3c,0xcb,0x17,0xcf,0xf7,0x8b,0xcf,0xd8,0x17,0x45,0xf2,0x27,0x83,0x61, + 0xaa,0x21,0x9c,0xe4,0x7e,0x6a,0x52,0x44,0xf0,0x24,0x08,0xa2,0x67,0xed,0x02,0x24,0xac, + 0x97,0x10,0x82,0x40,0x8a,0x96,0xca,0x31,0x51,0x16,0x27,0x9d,0x96,0x85,0x9a,0x28,0x97, + 0x33,0x68,0x88,0x06,0xdc,0x71,0xd9,0x3e,0xc3,0x30,0x6f,0x46,0x29,0xf4,0xdb,0x27,0xc9, + 0x8c,0x6f,0x7c,0x7b,0xf2,0xc9,0x27,0xe7,0x6f,0xbc,0xf1,0xc6,0xd7,0xc8,0x92,0xc2,0x61, + 0x7f,0x31,0x0f,0xfa,0xf5,0x79,0xae,0xc9,0x06,0x57,0x84,0x0b,0xd7,0x40,0x82,0x37,0x99, + 0x07,0x4d,0xe4,0x76,0x97,0x05,0xc2,0x97,0xef,0x88,0x6f,0x36,0xf8,0x55,0x2e,0x49,0x10, + 0x2c,0x77,0x29,0x63,0xee,0x0f,0x5f,0x46,0x49,0x73,0x00,0x04,0x8c,0x30,0xe1,0xb4,0x5b, + 0xdd,0x83,0x3a,0x19,0x81,0x71,0xa0,0x48,0x80,0x20,0xb1,0xbe,0x9f,0x26,0x75,0x82,0xc8, + 0x83,0x20,0x90,0x88,0xee,0x3a,0xd0,0xb6,0x6a,0x60,0x78,0x26,0xa4,0xcc,0x34,0xaa,0x85, + 0xca,0xb2,0xf9,0x7e,0x72,0xe9,0x2a,0x3c,0x5c,0xd9,0x5c,0xa2,0x6a,0x26,0xb1,0xc8,0x4f, + 0x12,0x3b,0xe6,0x7a,0x39,0xda,0x42,0x6c,0x0f,0x40,0x68,0x36,0xf2,0x50,0x02,0x74,0xba, + 0xf8,0x01,0x29,0xda,0x67,0x62,0x49,0xbd,0xa6,0x29,0x8e,0x69,0xa6,0x35,0xd7,0x61,0x4b, + 0x1e,0xe7,0x2f,0x9f,0x0c,0x2d,0xde,0xc8,0xb9,0x80,0x4e,0x23,0x43,0x10,0x07,0xe6,0x09, + 0x1c,0xf0,0x2d,0xa5,0xc0,0xf8,0xfe,0x18,0x4f,0xf9,0xb4,0x50,0x82,0xd2,0xa6,0x8f,0xc8, + 0x4d,0x38,0x2e,0xb7,0x61,0x49,0x76,0xc0,0x46,0x09,0xc0,0xfb,0x74,0x78,0x1c,0xf5,0x5b, + 0x29,0x77,0x20,0x36,0x1a,0x93,0xaf,0x73,0x49,0x72,0x3f,0x4d,0x06,0xc9,0x51,0x86,0x0e, + 0x00,0x1b,0x58,0xdd,0xa3,0x3b,0x4b,0x17,0x4d,0xe7,0x76,0x08,0x6e,0x77,0x08,0x1f,0x4a, + 0x80,0x78,0x96,0x2f,0x10,0x75,0xfe,0xa9,0x4a,0xb8,0x69,0x66,0xa3,0xe5,0xe8,0xbd,0x69, + 0xdd,0x54,0xad,0x6c,0x1e,0xdd,0x43,0xea,0x2e,0x4f,0x18,0x7d,0xe2,0xa6,0xfb,0xd4,0x41, + 0xe2,0x58,0x18,0x3e,0x0e,0x89,0x1c,0xe5,0x7b,0x46,0xf7,0x05,0xbd,0x80,0x08,0x84,0x08, + 0xa9,0xfb,0xbe,0x96,0x41,0xa9,0xf6,0xf7,0x27,0xfb,0x5a,0xda,0x35,0x01,0x00,0xb5,0x5b, + 0x6e,0xb9,0xe5,0x79,0x1c,0x19,0x34,0x6a,0xad,0xda,0x31,0xd6,0x3a,0xba,0x47,0xae,0xf2, + 0x83,0x72,0x03,0xea,0xb2,0x27,0x96,0x7d,0xc1,0x0a,0x09,0x23,0xc9,0x42,0x4c,0x6c,0x05, + 0xa3,0x6f,0xa5,0x9a,0xbe,0x64,0xd5,0x93,0xde,0x8f,0x97,0xa0,0x27,0x8b,0x3a,0xc6,0x59, + 0x3b,0x71,0x75,0x8f,0x98,0xdb,0x93,0xa5,0xdb,0xfb,0x8b,0x3b,0x74,0x8a,0x3f,0xf3,0xb0, + 0x0a,0x78,0x0d,0x0d,0x40,0xaa,0x1c,0x92,0xc9,0xe6,0x7a,0x56,0xf6,0x84,0x2d,0x04,0xc1, + 0x74,0xdb,0x81,0x03,0xe8,0x35,0xb4,0xe8,0x7a,0x24,0xdd,0x24,0xde,0xc7,0xfd,0x41,0xd7, + 0x1b,0x88,0xa8,0x13,0xf0,0x88,0xf8,0x14,0xd9,0x84,0x08,0x04,0xa4,0x0a,0x82,0x90,0xf8, + 0xe2,0xb5,0x02,0xf4,0x55,0x49,0x3d,0x18,0xf8,0xca,0x1c,0x97,0xa4,0x5d,0x27,0x4b,0x87, + 0x35,0x03,0x00,0x25,0x84,0xa0,0x21,0x77,0x1f,0x72,0xf9,0xc4,0x12,0xb3,0x7f,0x80,0x44, + 0xf7,0x07,0xbd,0xa3,0xaf,0x87,0xf8,0xab,0x88,0xfd,0x7e,0x6b,0xbf,0xff,0x33,0x89,0x76, + 0xea,0x21,0x51,0xa2,0x55,0xbd,0x09,0xee,0xef,0x72,0xac,0x1f,0x95,0x72,0x89,0xd7,0xf2, + 0x05,0xab,0xd6,0xf6,0x49,0x66,0xfa,0x12,0x70,0x16,0xe7,0xe7,0x40,0xd7,0x0d,0xd4,0xcd, + 0xd9,0x81,0xa9,0xdd,0x04,0x96,0xaa,0xed,0xc1,0xe1,0x1a,0x1a,0xb4,0x5e,0xd0,0x6b,0x04, + 0xb2,0xae,0xcd,0xc1,0xa4,0x30,0xd4,0x1b,0xf0,0x78,0x1a,0x3c,0x96,0x02,0x51,0x21,0x8d, + 0x20,0x12,0xfd,0x3c,0x14,0xff,0xe4,0x86,0xc8,0xb2,0x71,0x1c,0x0f,0x7e,0x6f,0x7c,0x7c, + 0x7c,0xf1,0x9c,0x07,0x40,0x44,0xbc,0x1f,0x71,0x11,0x0b,0xe0,0x3f,0x40,0x22,0x2c,0x41, + 0x22,0x74,0xb9,0x4c,0xb4,0x27,0x8e,0x43,0xdf,0x7e,0x2c,0xf6,0x93,0x96,0x7f,0x57,0x5d, + 0x84,0xb3,0x74,0x34,0x51,0x13,0x13,0x29,0x7e,0x31,0xc4,0xa0,0x7a,0xfe,0xc4,0xf9,0xf1, + 0x9b,0xbc,0x62,0xe2,0xaf,0x54,0xdd,0x83,0xf7,0x25,0x6a,0x44,0x2f,0x82,0x84,0x85,0xf9, + 0x59,0x94,0x02,0x59,0xf1,0x16,0x33,0x60,0xdd,0xa4,0xd6,0xe4,0xc4,0x0e,0x81,0xe0,0xe0, + 0xa2,0x03,0x75,0xdc,0x72,0x29,0xe8,0xb3,0xfc,0x43,0xbb,0x07,0x12,0x62,0x3f,0x36,0xfe, + 0xa2,0x50,0x4f,0x42,0xfc,0x8b,0xbf,0x73,0x34,0x6c,0xf7,0x39,0x8e,0x56,0x43,0xe7,0xf5, + 0xd1,0xad,0x5b,0xb7,0xae,0x5a,0x13,0xe0,0x9c,0x01,0xc0,0xae,0x5d,0xbb,0x6a,0x38,0xf8, + 0x4f,0x80,0x18,0x6b,0xfe,0x7d,0xdc,0x77,0x93,0xc4,0xef,0x25,0xf4,0xe0,0x4c,0xdf,0x65, + 0x96,0x7f,0x07,0x2d,0xe1,0x35,0xc2,0x5a,0x3e,0xa6,0xd8,0xfa,0x22,0xce,0xcf,0x57,0x2c, + 0xea,0xec,0xf7,0x57,0xf3,0x88,0x8c,0xbf,0x65,0xdc,0xdf,0x57,0xda,0xad,0x3f,0xd3,0xd7, + 0x75,0x42,0x10,0x94,0xa8,0x62,0x88,0x99,0x5e,0x96,0xe9,0x1b,0xfa,0xec,0x00,0xd5,0xb6, + 0x0f,0xfb,0x66,0x1d,0x58,0x6c,0x52,0x6d,0x93,0xa0,0xa3,0xbe,0x62,0xcf,0xb5,0x6b,0xf9, + 0xb3,0x28,0x04,0x1c,0x1a,0x83,0xb1,0xe8,0x47,0xbd,0x2f,0xc4,0x3f,0x8e,0x4b,0x1d,0x98, + 0xfe,0x12,0xe2,0xb6,0x8e,0xd7,0x7f,0xe1,0x54,0x68,0xb0,0xa6,0x00,0x88,0x8c,0xc1,0xef, + 0xe3,0x13,0x6c,0x45,0x42,0xdc,0x8b,0x84,0x98,0x5e,0x6e,0xd0,0xad,0x3c,0xdf,0xbf,0x2c, + 0x5c,0xdc,0x27,0xf6,0xe5,0x48,0xef,0x6b,0xe8,0xe2,0x85,0x46,0x5b,0x10,0x15,0x75,0x5c, + 0xad,0xa6,0xaf,0x3f,0x90,0xd3,0x57,0xaa,0xe9,0x4b,0x6d,0x50,0x55,0x4f,0x4a,0x02,0x99, + 0x39,0x7e,0x0c,0x86,0xcb,0xc3,0xe8,0x22,0x9a,0x2b,0xce,0xf7,0x37,0x5a,0x08,0x82,0xa3, + 0x0e,0xcc,0x2f,0xf9,0xa2,0x3c,0x5e,0x1c,0x09,0x8c,0xa3,0xbd,0x49,0x43,0x0f,0x78,0x22, + 0x0d,0x0c,0x3a,0xb5,0x8f,0x28,0xd5,0xee,0x65,0xdf,0xd7,0x69,0xb1,0xed,0x67,0xd1,0xf8, + 0xb3,0x4e,0x81,0x04,0x6b,0x0b,0x00,0x6a,0x78,0xc3,0xf3,0x78,0xe3,0x7f,0x87,0x04,0xba, + 0x04,0x39,0xe4,0xeb,0x78,0xa8,0xf7,0x01,0x4e,0x90,0x2c,0x1a,0x67,0xf4,0xf6,0xef,0x93, + 0xbd,0xa0,0x23,0xf1,0x0d,0x23,0xd5,0xa9,0xd6,0xd5,0xad,0xeb,0x37,0x98,0xfb,0xe3,0xa5, + 0xdf,0x5d,0xd7,0x6f,0x70,0x6d,0x9f,0x64,0x36,0x6f,0xf7,0xd5,0x2e,0xbd,0x55,0x3d,0x89, + 0x50,0xad,0x56,0x13,0xe6,0x67,0xe7,0x60,0x64,0x74,0x5c,0x2c,0x4c,0xe9,0x5d,0xdf,0x1f, + 0x4a,0x04,0x92,0x20,0x2d,0x2b,0x80,0x3d,0x07,0x5d,0x98,0x99,0x77,0x43,0x03,0x95,0xf1, + 0x50,0xb7,0xf3,0x84,0x0a,0x80,0x28,0xb7,0x5e,0x48,0x00,0x29,0x92,0x28,0xb4,0xb2,0x4d, + 0x9a,0x65,0x2c,0xbd,0x88,0xb6,0xc2,0x13,0xe8,0x5a,0x3f,0x7b,0xaa,0xe3,0xbf,0xe6,0x00, + 0x08,0x07,0x22,0x78,0x00,0x37,0x6d,0xdc,0x52,0x51,0xdf,0x1f,0x50,0x3c,0xf3,0x64,0x72, + 0xfd,0x12,0x27,0x74,0xa3,0x7e,0xd1,0x27,0x7a,0x7f,0x00,0x4d,0xd3,0xc6,0x69,0x59,0x90, + 0x08,0x01,0x0f,0xb2,0xfc,0xe3,0xb7,0x79,0x74,0x89,0xbd,0x7a,0x65,0xaf,0x70,0xd2,0xad, + 0xbb,0xcc,0x0b,0xf8,0xf2,0x4c,0x1e,0xea,0xb5,0x5a,0x15,0xaa,0x95,0x45,0x98,0x5c,0x37, + 0x25,0x00,0xd9,0x35,0x0a,0x7b,0x53,0xc4,0xe8,0x9d,0x06,0xaf,0x1d,0xf4,0xe0,0xe8,0x34, + 0x55,0x30,0x8d,0x38,0x3e,0x0a,0xfc,0xc4,0x71,0x00,0x88,0x6c,0x81,0xc8,0x08,0xa4,0x51, + 0xf2,0x65,0x59,0x3f,0x80,0xae,0xdf,0x22,0x73,0xfd,0xaf,0x9e,0xce,0xd8,0x9f,0x13,0x00, + 0x20,0xb1,0x85,0x4f,0xf3,0x55,0xec,0x43,0x9c,0xfb,0xdf,0x45,0x02,0x53,0x1e,0x1b,0x5f, + 0x29,0xcd,0xab,0x7f,0xa2,0xa8,0xdf,0xfd,0x53,0xa8,0xec,0x7b,0x2a,0xcc,0xec,0x70,0xa3, + 0x97,0x32,0x0c,0x7a,0x8b,0x67,0x27,0x50,0xd3,0xe1,0x76,0xbf,0xc3,0xe5,0x71,0xad,0xbf, + 0x81,0xba,0xdf,0xef,0xd3,0xfd,0xcb,0x24,0x02,0x40,0x52,0xdc,0x2f,0xa0,0x67,0xb0,0xb4, + 0xb8,0x00,0x93,0x93,0xeb,0x40,0x55,0xf5,0x84,0x3d,0x10,0x67,0x0e,0x87,0x22,0xc1,0xb6, + 0x39,0x1c,0x3c,0xe4,0xc3,0xfe,0xfd,0x34,0x13,0x99,0x14,0xff,0xd0,0x71,0xff,0x82,0xae, + 0x37,0x80,0xdc,0x2f,0x1f,0x0e,0x7c,0xfd,0x18,0x1e,0xfb,0x4e,0x71,0x61,0xe1,0xa5,0x37, + 0x2d,0x00,0xa8,0x0d,0x0f,0x0f,0xff,0x08,0x07,0xef,0x39,0xdf,0x15,0xec,0x44,0x12,0xc1, + 0x49,0x72,0xff,0xaa,0xee,0x5f,0xc2,0xf2,0x27,0xf1,0x4e,0x86,0x17,0x45,0xfb,0xdc,0x28, + 0x3d,0x2b,0xf9,0x36,0x0f,0x79,0x80,0xe5,0xdf,0x79,0x87,0xaf,0xdf,0x4b,0xe8,0x7e,0xbf, + 0xbf,0xff,0x5d,0x3e,0x83,0x16,0x76,0xf4,0x2f,0xe9,0x0a,0x01,0x16,0xc0,0xec,0xcc,0xb4, + 0x98,0x46,0x5e,0xbf,0x61,0x83,0x90,0x4e,0xfd,0xeb,0xfb,0x63,0x6f,0xc2,0x76,0x00,0x0e, + 0x1f,0x45,0xbb,0x60,0x3f,0xbd,0x54,0x82,0x0b,0xbb,0x80,0xf7,0x45,0x01,0x83,0x30,0xe8, + 0x53,0x61,0x52,0xea,0x05,0x3f,0x50,0x8f,0xe0,0x3d,0x7c,0xf3,0xd2,0x55,0x96,0x80,0xbf, + 0x29,0x00,0x70,0xe9,0xa5,0x97,0x3a,0xb6,0x6d,0xdf,0x0f,0xa2,0xb0,0xb6,0xff,0x43,0x1c, + 0x93,0x1f,0x10,0x7d,0x56,0xcb,0x10,0xea,0xd9,0x8f,0x74,0x7f,0x5c,0xb6,0x2d,0x7a,0xfb, + 0x66,0xf8,0x90,0x89,0x17,0x39,0x0e,0x8a,0xfa,0xf5,0xf8,0xfd,0xa2,0xb8,0x63,0x9f,0xdf, + 0xcf,0x83,0x9e,0x63,0xc9,0x55,0x3e,0xbd,0x6b,0xfc,0xfa,0x4b,0xb7,0xf4,0xd6,0xfd,0x9d, + 0x9d,0x99,0x11,0xaa,0x86,0xd4,0x41,0xf8,0x0a,0xf9,0xc1,0x8b,0x5d,0xe9,0x37,0xa6,0xa7, + 0x3d,0xd8,0x7f,0xc0,0x06,0xcb,0xe2,0x5d,0xee,0x0f,0x75,0x3f,0xf9,0x8a,0xb6,0xaa,0x18, + 0x2f,0xfa,0x7e,0x0a,0x9f,0x5b,0xf9,0x4b,0x94,0xa0,0x15,0x38,0xcd,0x76,0xce,0x00,0x80, + 0xda,0xed,0xb7,0xdf,0x3e,0xcb,0x64,0xf9,0xaf,0xf1,0x49,0x37,0xe1,0x93,0xde,0x87,0x44, + 0xa2,0x65,0xcd,0x7c,0x35,0xee,0x4f,0x7e,0xa6,0x00,0x0c,0xe9,0xfd,0x38,0x99,0x23,0x04, + 0xc6,0x89,0xdf,0xe2,0x99,0xd4,0xfd,0xb1,0xf1,0xd7,0x5f,0xd9,0x2b,0x29,0xfa,0x3b,0xba, + 0x7f,0xd9,0x2a,0x9e,0x38,0x90,0xc3,0x13,0xc4,0xed,0x0d,0x14,0x1d,0xd8,0xb7,0x4f,0xdc, + 0xf6,0xfa,0x0d,0x1b,0xa3,0x88,0xe6,0xe0,0x55,0x3e,0xb4,0xdc,0x70,0x76,0xce,0x81,0xbd, + 0x7b,0x9b,0xd0,0x6a,0x06,0xc2,0xe5,0x8b,0xc2,0xc1,0x81,0x22,0xa9,0xaf,0x78,0x41,0x6a, + 0x16,0x01,0x71,0x5f,0xbd,0x5e,0x7f,0xee,0xf5,0x8c,0xf9,0x39,0x05,0x00,0x6a,0x48,0xb8, + 0xdd,0x3e,0xe7,0xf7,0x5a,0x8e,0x53,0x42,0x1a,0x7c,0x89,0xac,0x5c,0x1e,0x8d,0xd0,0x20, + 0x77,0x2f,0x7e,0x83,0x27,0xcd,0xe6,0xa5,0xa3,0x2a,0x9d,0x94,0xe2,0x15,0x27,0x7b,0x74, + 0x5e,0xe6,0x40,0xeb,0x12,0x57,0xf2,0xfb,0x7d,0x1f,0x92,0x6e,0x60,0x3f,0x07,0x27,0x8d, + 0x3f,0xe0,0x5d,0xd1,0x0f,0x7d,0xdc,0x9e,0x24,0x78,0x32,0xd3,0x37,0x19,0x11,0x14,0x20, + 0xd8,0xff,0x9a,0x78,0x1d,0xee,0xba,0xf5,0x1b,0x12,0x0b,0x5e,0xa0,0x0f,0x04,0x61,0xac, + 0x60,0x71,0xc9,0x83,0x3d,0xaf,0x36,0x60,0xa9,0xe2,0x51,0x29,0x83,0x40,0x96,0xd4,0x43, + 0x01,0xcf,0xbc,0xe2,0x79,0xca,0x0f,0x75,0x5d,0xff,0xca,0x9d,0x27,0x28,0x04,0xf9,0xa6, + 0x03,0x00,0x4d,0x62,0xe0,0x60,0x3d,0x84,0x36,0xee,0x11,0xbb,0xdd,0xd6,0x90,0x38,0x7f, + 0x8b,0x04,0xb3,0x59,0x94,0xe1,0xda,0x1f,0xf5,0x13,0x0f,0x21,0x49,0xe1,0x1b,0xc5,0xa3, + 0xfc,0x3e,0x48,0xac,0x1b,0x88,0xa7,0x8e,0x57,0x7a,0x93,0x97,0xe0,0xfe,0xf8,0x73,0xa2, + 0xaa,0xe7,0xb2,0x95,0x3c,0x31,0x21,0x61,0xb9,0x68,0xef,0xd7,0xf9,0x2b,0xad,0xe3,0xef, + 0x5a,0xfc,0x2e,0xec,0x7d,0x75,0x0f,0xaa,0x2b,0x1d,0x4a,0xc3,0xe5,0x28,0xb5,0x7d,0xe5, + 0xd6,0x68,0xb8,0x7c,0xdf,0xfe,0x2a,0x9f,0x9b,0x6f,0x1f,0x00,0x30,0x7e,0x60,0xbb,0x4a, + 0x1b,0x9f,0xf3,0xcf,0xae,0xb9,0xe6,0x9a,0x55,0x57,0xfd,0xbc,0x29,0x01,0x10,0x81,0xa0, + 0x81,0x52,0xe0,0x8f,0x90,0x01,0xea,0xcd,0x76,0xfb,0x28,0xea,0xd9,0xbf,0x88,0x40,0x10, + 0x9e,0x90,0x24,0xbe,0x2c,0x09,0xce,0x27,0xbd,0x2f,0xaa,0x72,0x45,0x05,0x9a,0x92,0x13, + 0x47,0x2b,0x47,0xfd,0xbc,0x44,0xc4,0xef,0xc4,0xf5,0xfc,0xfb,0xa3,0x7e,0x2b,0x57,0xf7, + 0x80,0x3e,0xee,0x87,0x9e,0x48,0x20,0x75,0xab,0x6d,0xc1,0xcb,0x2f,0xbd,0x08,0x8b,0x0b, + 0xf3,0xdd,0x55,0xf0,0x03,0x56,0xf9,0x44,0x9f,0xb9,0xd5,0x76,0x9f,0xf7,0xbd,0xec,0xef, + 0xb5,0xed,0xf4,0x82,0xaa,0x6a,0xf7,0xdc,0x76,0xdb,0x6d,0xc7,0xce,0xc4,0x58,0x9f,0x93, + 0x00,0x88,0x40,0x40,0xb5,0x84,0xff,0x18,0x47,0x4d,0xb6,0xda,0xed,0xbd,0x38,0x1e,0x0f, + 0x20,0xf1,0x9a,0x2c,0x5e,0x55,0x9c,0x98,0xe1,0xa3,0x60,0x4f,0x98,0xc4,0xe1,0xf4,0xbd, + 0xec,0x99,0x0d,0x8c,0xfa,0x71,0x1e,0xfb,0xf9,0x03,0x22,0x7c,0xab,0xf8,0xfd,0x21,0x8d, + 0x56,0x5a,0xdf,0x0f,0x9d,0x6d,0x12,0x10,0xbd,0xeb,0xfb,0x97,0xaf,0xf2,0x09,0xdd,0x4d, + 0x3e,0x70,0x95,0x4f,0xa4,0xfa,0xe8,0xc7,0x5e,0x1e,0x1a,0x2e,0x7d,0xb9,0x34,0x3c,0xfc, + 0x76,0x7c,0x86,0x9d,0xef,0x7a,0xd7,0xbb,0x0e,0x9d,0xca,0x58,0xbe,0x29,0x01,0x40,0xed, + 0xba,0xeb,0xae,0x9b,0xb5,0x5d,0xf7,0x4f,0x1c,0xdf,0x1f,0x69,0x36,0x9b,0xdf,0xc5,0x11, + 0xf9,0x73,0x24,0x7c,0x0b,0xc9,0x4b,0xc9,0x51,0xa0,0xa1,0x1e,0x4d,0xa7,0x33,0x82,0x73, + 0xe9,0x05,0x0f,0x62,0x7e,0xbf,0x13,0x11,0x8c,0x8d,0xbf,0xe5,0xdc,0x4f,0x13,0x3e,0xe1, + 0xa4,0x4f,0x62,0xca,0xd7,0xeb,0x8d,0xfa,0x25,0xe7,0x05,0x7a,0xea,0xf9,0xfb,0x83,0xde, + 0xf0,0xd1,0x6f,0x0b,0x74,0x27,0x7d,0x62,0x9d,0x7e,0xaa,0xab,0x7c,0x12,0xc4,0x7f,0x76, + 0xa4,0x3c,0xf2,0x67,0x53,0x53,0x1b,0x77,0xb0,0x20,0xf8,0xd3,0x87,0x1e,0x7a,0x68,0x17, + 0x3b,0x89,0x05,0x1f,0x27,0xdb,0x4e,0xbc,0xee,0xfa,0x1c,0x68,0xdf,0xfd,0xce,0x77,0x46, + 0x1d,0x55,0xfd,0x4d,0x99,0x31,0x27,0x57,0x28,0x8c,0xa9,0x8a,0xf2,0x41,0x94,0x0e,0x85, + 0x7c,0xa1,0xc0,0x28,0xde,0x4f,0xe5,0xdd,0x88,0xa3,0xe9,0xfd,0xc2,0x72,0x9c,0xf0,0x19, + 0x25,0x7d,0x92,0x71,0x18,0xbf,0xda,0x9d,0x9a,0x78,0x7f,0x4f,0x24,0x2d,0x68,0x2d,0xa0, + 0xc8,0xee,0x71,0x9d,0xce,0x92,0x2e,0xdf,0xf3,0x3b,0x8b,0x45,0x5c,0xcf,0xed,0x29,0xf8, + 0x2c,0xf6,0xa3,0x05,0xa6,0x31,0x38,0xe2,0xa5,0xdf,0x31,0x71,0x63,0xb5,0x12,0xbe,0x26, + 0x36,0xe8,0x91,0x32,0xb1,0x81,0xd9,0x2b,0x51,0x22,0xc2,0xf7,0x06,0x8f,0x84,0xa9,0x80, + 0x84,0x7e,0x7c,0x72,0x62,0xe2,0xde,0x91,0x91,0x91,0xcd,0x88,0xe0,0xbf,0xba,0xe1,0x86, + 0x1b,0x1e,0x39,0xd3,0x63,0x7b,0x4e,0x4b,0x80,0xb8,0x5d,0xfb,0xde,0xf7,0xce,0xe0,0xe6, + 0xff,0xe0,0xa0,0xb7,0x6a,0xb5,0xda,0x34,0x8e,0xd5,0x97,0x52,0xa6,0xb9,0x80,0x44,0xe5, + 0xb4,0x20,0xc3,0x13,0x71,0x7e,0xb9,0xe7,0x5d,0x3e,0xe2,0x55,0x2e,0x03,0x8d,0xbf,0xfe, + 0x09,0x9f,0xe0,0x84,0xba,0x3f,0xa9,0x16,0xa8,0x25,0x63,0xfe,0x61,0xeb,0xf7,0xff,0x97, + 0xad,0xd6,0xed,0x10,0x3c,0xc9,0xfd,0xcb,0x2c,0xff,0x68,0x47,0x10,0x5f,0x92,0xee,0x5b, + 0x37,0x39,0xf9,0xed,0xe1,0x91,0x11,0x4a,0x9e,0xfd,0xeb,0xe9,0xe9,0xe9,0xc7,0xcf,0xc6, + 0xd8,0xbe,0x29,0x24,0x40,0xdc,0x76,0xef,0xdc,0xa9,0x2d,0x8d,0x8c,0xfc,0x1a,0x1a,0x01, + 0xeb,0x47,0xca,0xe5,0x05,0x33,0x93,0x79,0x3f,0x72,0xf2,0x65,0xb4,0x0c,0x9a,0xde,0xf4, + 0xd1,0x49,0xf7,0x56,0x64,0x21,0x0d,0xe2,0xfc,0xbe,0xe4,0xaa,0x5d,0x4a,0xeb,0xa2,0xba, + 0x80,0x5e,0xb4,0x02,0x88,0xb8,0x5c,0x70,0xbf,0xdf,0x0d,0x01,0xd3,0x31,0x11,0x48,0x8a, + 0xd4,0x44,0x0c,0x06,0x2f,0x7a,0xfd,0x4b,0x6f,0x74,0xb0,0x2b,0xf6,0x7d,0x3f,0x19,0x45, + 0x4c,0x72,0x7f,0xef,0x79,0x31,0x95,0x93,0x00,0x09,0xd5,0x84,0x78,0x69,0xe0,0x61,0x94, + 0x5c,0xdf,0xda,0xb6,0x7d,0xfb,0x31,0xbc,0xf7,0x49,0xfc,0xc3,0x7f,0xbf,0xf1,0xc6,0x1b, + 0x0f,0x9f,0xad,0x31,0x7d,0x53,0x01,0x80,0xda,0x33,0xcf,0x3c,0x63,0xa2,0x3d,0xf0,0x3e, + 0x1c,0xb4,0x77,0x67,0x32,0x99,0xd9,0x42,0xa1,0x70,0x29,0x8a,0xf9,0x3b,0x50,0xe4,0xa7, + 0x43,0x7f,0x5f,0x66,0x8a,0xac,0x08,0xf1,0x1f,0x03,0x20,0xae,0xd2,0xe5,0x46,0x2f,0x6e, + 0x4c,0x02,0x80,0xc4,0x7f,0xfc,0x3a,0xb7,0x8e,0xf8,0x8f,0x01,0x90,0x88,0x0f,0x74,0xde, + 0xff,0x33,0x80,0xf8,0xcb,0xde,0x02,0x92,0xf0,0x00,0x42,0x95,0xc0,0x3b,0x00,0x19,0xbc, + 0xc4,0x3b,0x5c,0xd0,0x8f,0x1f,0x9e,0xcb,0xe6,0x72,0x7f,0xb7,0x71,0x6a,0x63,0x0e,0xef, + 0x79,0x06,0xcf,0xfe,0x0a,0x1a,0xc3,0x47,0xce,0xe6,0x78,0xbe,0x29,0x54,0x40,0xb2,0x5d, + 0x79,0xe5,0x95,0xad,0x99,0x99,0x99,0x6f,0xe0,0xee,0x17,0x5a,0x8d,0xc6,0xc8,0xdc,0xdc, + 0xdc,0xf3,0xb8,0xff,0xfb,0x22,0x97,0x40,0x92,0x82,0xe4,0x7c,0x7f,0xec,0x0d,0x24,0x43, + 0xbe,0xfe,0x32,0x0e,0x3e,0xc1,0x5b,0x3c,0x63,0x9d,0xbd,0x4a,0x65,0xaf,0xf8,0xf8,0xf2, + 0xf9,0x7e,0xde,0x27,0xde,0x07,0xae,0xef,0xa7,0x3d,0x8b,0x49,0xec,0x81,0xf1,0x89,0x75, + 0x9f,0xdd,0xb4,0x61,0xd3,0x16,0x49,0x51,0x5e,0x5d,0xaa,0x56,0xff,0xdf,0xd9,0x26,0x3e, + 0xb5,0x37,0x9d,0x04,0x48,0xb6,0xef,0x7d,0xef,0x7b,0x25,0xf4,0xfd,0x3f,0x82,0x83,0xba, + 0x2d,0x9b,0x4e,0xef,0x1b,0x19,0x1b,0xbb,0x38,0x6d,0x9a,0xb7,0xcb,0x8a,0x32,0x8e,0x52, + 0x81,0xaa,0xd1,0xb0,0x24,0xf7,0xc7,0xe2,0x5f,0x64,0xf9,0x46,0x9f,0x63,0xee,0x16,0x06, + 0xa1,0x1f,0x1a,0x7f,0x42,0x22,0x78,0xdd,0xac,0x9f,0x38,0x3d,0xbc,0xd7,0x43,0x08,0xb9, + 0xb9,0x1b,0x46,0xee,0xa6,0x92,0xc5,0x2e,0x5f,0xf8,0xb9,0x2b,0x29,0xfa,0x8c,0x3c,0x6a, + 0x0d,0x32,0xf4,0x86,0x8a,0xc5,0xc7,0xc6,0x27,0xc7,0xd3,0x32,0x93,0x75,0xd7,0xf7,0x3f, + 0x7f,0xcb,0x2d,0xb7,0xfc,0xe3,0x99,0xb4,0xf4,0x57,0x6b,0x6f,0x6a,0x00,0x50,0xbb,0xef, + 0xbe,0xfb,0xf4,0x74,0x3a,0xbd,0x03,0x47,0xf4,0x03,0x9a,0xa2,0x98,0xe3,0x93,0x93,0x87, + 0xca,0xe5,0xf2,0xf5,0x48,0xfc,0x9b,0xb1,0x8b,0x85,0xa7,0x38,0xf8,0xcc,0xb6,0xad,0x90, + 0xb8,0xb1,0xe5,0x1f,0xe5,0xf4,0xf7,0x58,0xfe,0x7d,0xba,0x5f,0x4c,0x02,0x45,0x96,0x7f, + 0x52,0xd4,0x27,0x2d,0xff,0x98,0xc8,0x49,0xe2,0x27,0x45,0x7e,0x0c,0x80,0x84,0xee,0xa7, + 0x46,0x75,0x21,0x5e,0xc1,0xfb,0xdd,0xb9,0x7e,0xe3,0x46,0x0d,0xef,0x9f,0xb2,0x79,0x1e, + 0x43,0x30,0x7f,0xeb,0xd6,0x5b,0x6f,0xad,0xbe,0xae,0x01,0x39,0xc5,0xf6,0xa6,0x07,0x40, + 0xdc,0x1e,0x7b,0xec,0xb1,0x22,0x12,0xe0,0x36,0x7c,0xa0,0xbb,0x34,0x5d,0x7f,0x65,0x6a, + 0x6a,0x6a,0x1e,0x81,0x40,0xaf,0x54,0xdf,0x86,0xc4,0x2e,0xa1,0xee,0x97,0x63,0xee,0x27, + 0x22,0xdb,0x09,0xee,0xf7,0xc5,0xbb,0x84,0xdd,0x1e,0xee,0xf7,0x13,0xb9,0x01,0xcb,0x75, + 0x7f,0xd7,0x33,0x48,0x1a,0x7e,0xc9,0xf0,0x70,0xd2,0x1e,0x88,0x5c,0x42,0xe2,0xe8,0x06, + 0xfe,0xb7,0x5f,0x57,0xb5,0xef,0x8c,0x4d,0x4c,0xbc,0x8c,0x52,0xeb,0x06,0x26,0xcb,0xb4, + 0x82,0xf7,0x4b,0xb4,0x5e,0xf2,0x64,0x73,0xf9,0xcf,0x64,0x7b,0xcb,0x00,0x20,0x6e,0x8f, + 0x7f,0xfb,0xdb,0x13,0x81,0xaa,0xbe,0x3f,0x60,0xec,0x12,0xc3,0x30,0x0e,0x4c,0x4c,0x4c, + 0xa4,0x73,0xb9,0xdc,0x16,0x1c,0xe0,0x1d,0xc8,0xc9,0x5b,0x5c,0xcf,0xd3,0x5d,0xc7,0x61, + 0x11,0xf7,0xb3,0x7e,0xbf,0x3f,0xb4,0xf4,0x83,0x0e,0xf7,0xfb,0x91,0x81,0xd8,0x6f,0xfc, + 0x75,0xfd,0x7e,0x7f,0x80,0xf1,0x27,0x88,0xce,0x23,0x77,0xd3,0xc3,0x1d,0xca,0x75,0xdc, + 0x6d,0x18,0xa9,0x17,0x47,0xc6,0x46,0xa6,0x33,0x99,0x9c,0x78,0x57,0x82,0x1c,0x04,0x7f, + 0x79,0xdd,0x4d,0x37,0x3d,0x8f,0x7f,0x3b,0x99,0xd2,0xfe,0x67,0xa5,0xbd,0xe5,0x00,0x40, + 0xed,0x9e,0x7b,0xee,0x91,0xde,0xf3,0x9e,0xf7,0x94,0x58,0x10,0xbc,0x1b,0x39,0xee,0x16, + 0x90,0xd8,0x84,0x69,0xa6,0xbf,0x3f,0x3c,0x3c,0x3c,0x8b,0x36,0xc1,0xad,0x9e,0xe7,0xdc, + 0x84,0xd2,0xa0,0x84,0x84,0x93,0x10,0x00,0x8c,0x2a,0xaa,0x76,0xbc,0x81,0x84,0xee,0x8f, + 0xbd,0x83,0xa0,0xc7,0x1b,0xe8,0xbe,0xd8,0xa1,0x67,0x42,0x29,0x04,0x00,0x8f,0xde,0xea, + 0x45,0x1e,0x9d,0x83,0xff,0xfd,0x08,0x07,0xf8,0x6b,0xa5,0x72,0xb9,0x56,0xc8,0xe7,0xaf, + 0x54,0x35,0x2d,0x23,0x71,0xbe,0x0b,0xbf,0xf0,0xc4,0xf1,0x85,0x85,0x57,0x3f,0x74,0x9a, + 0x49,0x1c,0x67,0xb2,0xbd,0x25,0x01,0xd0,0xff,0x8c,0x8f,0x3c,0xf2,0xc8,0x46,0xc6,0xf9, + 0x47,0xd0,0x25,0xb8,0x0c,0x01,0xf1,0x92,0x0c,0xf0,0xaa,0x99,0x4e,0x97,0x64,0x55,0xdd, + 0x8e,0xc4,0xdc,0x8c,0x92,0x61,0x14,0xb9,0xbf,0x80,0xc4,0xcf,0x22,0xd1,0x33,0x48,0x46, + 0x05,0x09,0xcb,0xfc,0xa8,0xa4,0xfb,0xca,0x51,0x3f,0x54,0x14,0xbe,0xdf,0xc2,0xff,0xa9, + 0xcc,0x4f,0x0d,0xcf,0xad,0x30,0x59,0x7a,0x4d,0x95,0x95,0x57,0xf3,0xc5,0x22,0x15,0x69, + 0x28,0xa1,0x9b,0x75,0x25,0x72,0x78,0x8b,0x33,0xf6,0x4d,0x74,0x5f,0x77,0xbd,0xde,0xe9, + 0xdb,0x33,0x3e,0x38,0x6b,0x7d,0x03,0x6f,0x54,0xa3,0x0c,0xca,0x47,0x1f,0x7d,0x74,0x0c, + 0xa5,0xc2,0x3b,0xb9,0x24,0x5d,0x8c,0x9f,0xf3,0xa2,0x2a,0x01,0x52,0x93,0x22,0x8a,0x34, + 0xc3,0x14,0x16,0x7d,0x16,0x04,0x27,0x20,0xe4,0x90,0xe8,0x29,0x64,0x66,0x03,0xa9,0x6c, + 0x7a,0x41,0x40,0xd2,0xc2,0x46,0x22,0x53,0xd5,0xad,0x16,0x9e,0xd3,0xc4,0x6b,0xd4,0x50, + 0x87,0x7b,0x68,0xcc,0x31,0x8a,0x39,0x50,0xd2,0x27,0x72,0x39,0xb9,0x1d,0x80,0xc7,0x6d, + 0xee,0x79,0x07,0x25,0x55,0x7d,0x0a,0xaf,0xf5,0xca,0x5a,0xe8,0xf7,0x93,0x69,0xff,0x64, + 0x00,0x90,0x6c,0x0f,0x3f,0xfc,0x30,0x71,0x78,0x09,0x89,0x36,0x8a,0x22,0x79,0x0c,0x4d, + 0xf2,0x75,0x28,0x15,0xe8,0x0d,0x4b,0x25,0x54,0xc6,0x43,0x10,0x2e,0xbd,0x71,0x78,0x58, + 0xcb,0xd0,0xe3,0xbe,0x4f,0xe9,0x45,0x64,0xc7,0x53,0x49,0x1f,0xca,0x2c,0x51,0xa2,0x32, + 0xac,0x0a,0x02,0x87,0x6a,0xf1,0xcc,0xd3,0x0a,0x27,0x04,0xc4,0x2c,0x9e,0x77,0x40,0xf5, + 0xfd,0xd9,0x85,0x66,0x73,0xee,0xae,0xbb,0xee,0x6a,0xad,0xf5,0xb3,0x9e,0xa8,0xfd,0x93, + 0x04,0xc0,0x6a,0x6d,0xe7,0xce,0x9d,0xf2,0xd0,0xd0,0xd0,0xb0,0xc1,0x58,0xc1,0x93,0x65, + 0x13,0x65,0x43,0x1a,0x81,0x90,0x41,0xa3,0x92,0xea,0x4a,0xb7,0x11,0x11,0x0d,0x12,0xfb, + 0x40,0xe5,0x1f,0xdf,0x24,0x44,0x3e,0xdf,0xce,0xb7,0xf3,0xed,0x7c,0x3b,0xdf,0xce,0xb7, + 0x01,0xed,0xff,0x03,0x26,0x71,0x5d,0xaf,0x1b,0xcd,0xc8,0x86,0x00,0x00,0x00,0x00,0x49, + 0x45,0x4e,0x44,0xae,0x42,0x60,0x82 }; diff --git a/pcsx2/gui/Resources/ConfigIcon_Gamefixes.png b/pcsx2/gui/Resources/ConfigIcon_Gamefixes.png index 961a147b1d..ec699b7f93 100644 Binary files a/pcsx2/gui/Resources/ConfigIcon_Gamefixes.png and b/pcsx2/gui/Resources/ConfigIcon_Gamefixes.png differ diff --git a/pcsx2/gui/i18n.cpp b/pcsx2/gui/i18n.cpp index cb92e0fed7..5ea8199da4 100644 --- a/pcsx2/gui/i18n.cpp +++ b/pcsx2/gui/i18n.cpp @@ -18,115 +18,54 @@ #include "PrecompiledHeader.h" #include "i18n.h" -#include "HashMap.h" #include "Utilities/SafeArray.h" - -using namespace HashTools; - -////////////////////////////////////////////////////////////////////////////////////////// -// Notes to Translators: -// * The first line of each entry consists of an enumerated index (used internally), and -// the gettext lookup string (which you'll find in the PO data). The resulting translation -// should match the text underneath. -// -// * Text marked as Tooltips are usually tertiary information that is not critical to PCSX2 -// use, and translations are not required. -// -const EnglishExpansionEntry m_tbl_English[] = -{ - { Msg_Dialog_AdvancedPaths, wxLt(L"Settings Dialog:Advanced Paths"), - L"Warning!! These advanced options are provided for developers and advanced testers only. " - L"Changing these settings can cause program errors, so please be weary." - }, - - { Msg_Tooltips_SettingsPath, wxLt(L"Settings Tooltip:Settings Path"), - L"This is the folder where PCSX2 saves all settings, including settings generated " - L"by most plugins.\n\nWarning: Some older versions of plugins may not respect this value." - }, - - { Msg_Popup_MissingPlugins, wxLt(L"Popup Error:Missing Plugins"), - L"Critical Error: A valid plugin for one or more components of PCSX2 could not be found. " - L"Your installation of PCSX2 is incomplete, and will be unable to run games." - }, - - // ------------------------------------------------------------------------ - // Begin Tooltips Section - // (All following texts are non-critical for a functional PCSX2 translation). - - { Msg_Tooltips_PluginsPath, wxLt(L"Setting Tooltip:Plugins Path"), - L"This is the location where PCSX2 will expect to find its plugins. Plugins found in this folder " - L"will be enumerated and are selectable from the Plugins panel." - }, - - { Msg_Tooltips_Savestates, wxLt(L"Setting Tooltip:Savestates Folder"), - L"This folder is where PCSX2 records savestates; which are recorded either by using " - L"menus/toolbars, or by pressing F1/F3 (load/save)." - }, - - { Msg_Tooltips_Snapshots, wxLt(L"Setting Tooltip:Snapshots Folder"), - L"This folder is where PCSX2 saves screenshots. Actual screenshot image format and style " - L"may vary depending on the GS plugin being used." - }, - - { Msg_Tooltips_Bios, wxLt(L"Setting Tooltip:Bios Folder"), - L"This folder is where PCSX2 looks to find PS2 bios files. The actual bios used can be " - L"selected from the CPU dialog." - }, - - { Msg_Tooltips_Logs, wxLt(L"Setting Tooltip:Logs Folder"), - L"This folder is where PCSX2 saves its logfiles and diagnostic dumps. Most plugins will " - L"also adhere to this folder, however some older plugins may ignore it." - }, - - { Msg_Tooltips_Memorycards, wxLt(L"Setting Tooltip:Memorycards Folder"), - L"This is the default path where PCSX2 loads or creates its memory cards, and can be " - L"overridden in the MemoryCard Configuration by using absolute filenames." - }, - -}; - -C_ASSERT( ArraySize( m_tbl_English ) == ExpandedMsg_Count ); - -static HashMap m_EnglishExpansions( -1, 0xcdcdcd, ArraySize( m_tbl_English ) ); - static bool IsEnglish( int id ) { return ( id == wxLANGUAGE_ENGLISH || id == wxLANGUAGE_ENGLISH_US ); } -// ------------------------------------------------------------------------ -// Builds an internal hashtable for English iconized description lookups. -// -void i18n_InitPlainEnglish() +LangPackEnumeration::LangPackEnumeration( wxLanguage langId ) : + wxLangId( langId ) +, englishName( wxLocale::GetLanguageName( wxLangId ) ) +, xlatedName( IsEnglish( wxLangId ) ? wxEmptyString : wxGetTranslation( L"NativeName" ) ) { - static bool IsInitialized = false; - - IsInitialized = true; - for( int i=0; iIsOk() && locale->AddCatalog( L"pcsx2ident" ) ) - { - // Should be a valid language, so add it to the list. + // Force the msgIdLanguage param to wxLANGUAGE_UNKNOWN to disable wx's automatic english + // matching logic, which will bypass the catalog loader for all english-based dialects, and + // (wrongly) enumerate a bunch of locales that don't actually exist. + + if( locale->IsOk() && locale->AddCatalog( L"pcsx2ident", wxLANGUAGE_UNKNOWN, NULL ) ) + langs.push_back( LangPackEnumeration( wxLangId ) ); - destEng.Add( wxLocale::GetLanguageName( wxLangId ) ); - destTrans.Add( wxGetTranslation( L"NativeName" ) ); - } delete locale; } @@ -139,15 +78,18 @@ static void i18n_DoPackageCheck( int wxLangId, wxArrayString& destEng, wxArraySt // database. Anything which hasn't been installed will fail to load. // // Because loading and hashing the entire pcsx2 translation for every possible language would -// assinine and slow, I've decided to use a two-file translation system. One file is very -// small and simply contains the name of the language in the language native. The second file -// is loaded only if the user picks it (or if it's the default language of the OS). +// assinine and slow, I've decided to use a two-file translation system. One file (pcsx2ident.mo) +// is very small and simply contains the name of the language in the language native. The +// second file (pcsx2.mo) is loaded only if the user picks the language (or if it's the default +// language of the user's OS installation). // -void i18n_EnumeratePackages( wxArrayString& englishNames, wxArrayString& xlatedNames) +void i18n_EnumeratePackages( LangPackList& langs ) { + langs.push_back( LangPackEnumeration() ); + for( int li=wxLANGUAGE_UNKNOWN+1; liLanguageId )->Language; if( IsEnglish( curlangid ) ) - return data.Expanded; + return englishContent; - const wxChar* retval = wxGetTranslation( data.gettextKey ); + const wxChar* retval = wxGetTranslation( key ); // Check if the translation failed, and fall back on an english lookup. - return ( wxStrcmp( retval, data.gettextKey ) == 0 ) ? data.Expanded : retval; + return ( wxStrcmp( retval, key ) == 0 ) ? englishContent : retval; } // ------------------------------------------------------------------------ @@ -200,7 +140,7 @@ const wxChar* __fastcall pxGetTranslation( const wxChar* message ) { if( wxStrlen( message ) > 96 ) { - Console::Notice( "pxGetTranslation: Long message detected, maybe use pxExpandMsg instead?" ); + Console::Notice( "pxGetTranslation: Long message detected, maybe use pxE() instead?" ); Console::Status( wxsFormat( L"\tMessage: %s", message ) ); } } diff --git a/pcsx2/gui/i18n.h b/pcsx2/gui/i18n.h index 38e092f12b..db3c0d810a 100644 --- a/pcsx2/gui/i18n.h +++ b/pcsx2/gui/i18n.h @@ -20,45 +20,33 @@ #include -////////////////////////////////////////////////////////////////////////////////////////// -// -enum ExpandedMsgEnum -{ - Msg_Dialog_AdvancedPaths, - Msg_Popup_MissingPlugins, - Msg_Tooltips_Savestates, - Msg_Tooltips_Snapshots, - Msg_Tooltips_Bios, - Msg_Tooltips_Logs, - Msg_Tooltips_Memorycards, - Msg_Tooltips_SettingsPath, - Msg_Tooltips_PluginsPath, +class LangPackEnumeration +{ +public: + wxLanguage wxLangId; + wxString englishName; + wxString xlatedName; - ExpandedMsg_Count +public: + LangPackEnumeration( wxLanguage langId ); + LangPackEnumeration(); }; -////////////////////////////////////////////////////////////////////////////////////////// -// English Tables for "Translating" iconized UI descriptions. -// -struct HashedExpansionPair -{ - const wxChar* gettextKey; // send this to wxGetTranslation() - const wxChar* Expanded; -}; +typedef std::vector LangPackList; -struct EnglishExpansionEntry -{ - ExpandedMsgEnum Key; - const wxChar* gettextKey; // send this to wxGetTranslation() - const wxChar* Expanded; -}; - -extern void i18n_InitPlainEnglish(); extern bool i18n_SetLanguage( int wxLangId ); +extern void i18n_EnumeratePackages( LangPackList& langs ); -extern const wxChar* __fastcall pxExpandMsg( ExpandedMsgEnum key ); +extern const wxChar* __fastcall pxExpandMsg( const wxChar* key, const wxChar* englishContent ); extern const wxChar* __fastcall pxGetTranslation( const wxChar* message ); -#define pxE(n) pxExpandMsg( n ) +////////////////////////////////////////////////////////////////////////////////////////// +// Translation Feature: pxE is used as a method of dereferencing very long english text +// descriptions via a "key" identifier. In this way, the english text can be revised without +// it breaking existing translation bindings. Make sure to add pxE to your PO catalog's +// source code identifiers, and then reference the source code to see what the current +// english version is. +// +#define pxE(key,english) pxExpandMsg( wxT(key), english ) diff --git a/pcsx2/gui/main.cpp b/pcsx2/gui/main.cpp index 83ba2f11cd..9c387bcead 100644 --- a/pcsx2/gui/main.cpp +++ b/pcsx2/gui/main.cpp @@ -188,7 +188,6 @@ bool Pcsx2App::OnInit() g_Conf = new AppConfig(); - i18n_InitPlainEnglish(); wxLocale::AddCatalogLookupPathPrefix( wxGetCwd() ); // User/Admin Mode Dual Setup: diff --git a/pcsx2/gui/wxHelpers.cpp b/pcsx2/gui/wxHelpers.cpp index 01559c69c9..db8cb6b45d 100644 --- a/pcsx2/gui/wxHelpers.cpp +++ b/pcsx2/gui/wxHelpers.cpp @@ -53,7 +53,19 @@ namespace wxHelpers return StdSpace().Expand(); } - wxSizerFlags StdGroupie() + // A good sizer flags setting for top-level static boxes or top-level picture boxes. + // Gives a generous border to the left, right, and bottom. Top border can be configured + // manually by using a spacer. + wxSizerFlags TopLevelBox() + { + return wxSizerFlags().Border( wxLEFT | wxBOTTOM | wxRIGHT, 6 ).Expand(); + } + + // Flags intended for use on grouped StaticBox controls. These flags are ideal for + // StaticBoxes that are part of sub-panels or children of other static boxes, but may + // not be best for parent StaticBoxes on dialogs (left and right borders feel a bit + // "tight"). + wxSizerFlags SubGroup() { // Groups look better with a slightly smaller margin than standard. // (basically this accounts for the group's frame) @@ -73,27 +85,58 @@ namespace wxHelpers return StdExpand(); } }; + + // This method is used internally to create multi line checkboxes and radio buttons. + void _appendStaticSubtext( wxWindow* parent, wxSizer& sizer, const wxString& subtext, const wxString& tooltip, int wrapLen ) + { + static const int Indentation = 23; + + if( subtext.IsEmpty() ) return; + + wxStaticText* joe = new wxStaticText( parent, wxID_ANY, subtext ); + if( wrapLen > 0 ) joe->Wrap( wrapLen-Indentation ); + if( !tooltip.IsEmpty() ) + joe->SetToolTip( tooltip ); + sizer.Add( joe, wxSizerFlags().Border( wxLEFT, Indentation ) ); + sizer.AddSpacer( 9 ); + } + // ------------------------------------------------------------------------ - // Creates a new checkbox and adds it to the specified sizer/parent combo. - // Uses the default spacer setting for adding checkboxes. + // Creates a new checkbox and adds it to the specified sizer/parent combo, with optional tooltip. + // Uses the default spacer setting for adding checkboxes, and the tooltip (if specified) is applied + // to both the checkbox and it's static subtext (if present). // - wxCheckBox& AddCheckBoxTo( wxWindow* parent, wxSizer& sizer, const wxString& label, wxWindowID id ) + wxCheckBox& AddCheckBoxTo( wxWindow* parent, wxSizer& sizer, const wxString& label, const wxString& subtext, const wxString& tooltip, int wrapLen ) { - wxCheckBox* retval = new wxCheckBox( parent, id, label ); + wxCheckBox* retval = new wxCheckBox( parent, wxID_ANY, label ); sizer.Add( retval, SizerFlags::Checkbox() ); + + if( !tooltip.IsEmpty() ) + retval->SetToolTip( tooltip ); + + _appendStaticSubtext( parent, sizer, subtext, tooltip, wrapLen ); + return *retval; } // ------------------------------------------------------------------------ - // Creates a new Radio Button and adds it to the specified sizer/parent combo. - // The first item in a group should pass True for the isFisrt parameter. - // Uses the default spacer setting for checkboxes. + // Creates a new Radio button and adds it to the specified sizer/parent combo, with optional tooltip. + // Uses the default spacer setting for adding checkboxes, and the tooltip (if specified) is applied + // to both the radio button and it's static subtext (if present). // - wxRadioButton& AddRadioButtonTo( wxWindow* parent, wxSizer& sizer, const wxString& label, wxWindowID id, bool isFirst ) + // The first item in a group should pass True for the isFirst parameter. + // + wxRadioButton& AddRadioButtonTo( wxWindow* parent, wxSizer& sizer, const wxString& label, const wxString& subtext, const wxString& tooltip, int wrapLen, bool isFirst ) { - wxRadioButton* retval = new wxRadioButton( parent, id, label, wxDefaultPosition, wxDefaultSize, isFirst ? wxRB_GROUP : 0 ); + wxRadioButton* retval = new wxRadioButton( parent, wxID_ANY, label, wxDefaultPosition, wxDefaultSize, isFirst ? wxRB_GROUP : 0 ); sizer.Add( retval, SizerFlags::Checkbox() ); + + if( !tooltip.IsEmpty() ) + retval->SetToolTip( tooltip ); + + _appendStaticSubtext( parent, sizer, subtext, tooltip, wrapLen ); + return *retval; } @@ -109,12 +152,12 @@ namespace wxHelpers // alignFlags - Either wxALIGN_LEFT, RIGHT, or CENTRE. All other wxStaticText flags are ignored // or overridden. [default is left alignment] // - wxStaticText& AddStaticTextTo(wxWindow* parent, wxSizer& sizer, const wxString& label, int size, int alignFlags ) + wxStaticText& AddStaticTextTo(wxWindow* parent, wxSizer& sizer, const wxString& label, int alignFlags, int size ) { // No reason to ever have AutoResize enabled, quite frankly. It just causes layout and centering problems. alignFlags |= wxST_NO_AUTORESIZE; wxStaticText *temp = new wxStaticText(parent, wxID_ANY, label, wxDefaultPosition, wxDefaultSize, alignFlags ); - if (size > 0) temp->Wrap(size); + if( size > 0 ) temp->Wrap( size ); sizer.Add(temp, SizerFlags::StdSpace().Align( alignFlags & wxALIGN_MASK ) ); return *temp; @@ -155,6 +198,60 @@ namespace wxHelpers } } +// ---------------------------------------------------------------------------- +void pxTextWrapperBase::Wrap( const wxWindow *win, const wxString& text, int widthMax ) +{ + const wxChar *lastSpace = NULL; + wxString line; + line.Alloc( widthMax+12 ); + + const wxChar *lineStart = text.c_str(); + for ( const wxChar *p = lineStart; ; p++ ) + { + if ( IsStartOfNewLine() ) + { + OnNewLine(); + + lastSpace = NULL; + line.clear(); + lineStart = p; + } + + if ( *p == L'\n' || *p == L'\0' ) + { + DoOutputLine(line); + + if ( *p == L'\0' ) + break; + } + else // not EOL + { + if ( *p == L' ' ) + lastSpace = p; + + line += *p; + + if ( widthMax >= 0 && lastSpace ) + { + int width; + win->GetTextExtent(line, &width, NULL); + + if ( width > widthMax ) + { + // remove the last word from this line + line.erase(lastSpace - lineStart, p + 1 - lineStart); + DoOutputLine(line); + + // go back to the last word of this line which we didn't + // output yet + p = lastSpace; + } + } + //else: no wrapping at all or impossible to wrap + } + } +} + ////////////////////////////////////////////////////////////////////////////////////////// // wxDialogWithHelpers::wxDialogWithHelpers( wxWindow* parent, int id, const wxString& title, bool hasContextHelp, const wxPoint& pos, const wxSize& size ) : @@ -170,9 +267,14 @@ wxDialogWithHelpers::wxDialogWithHelpers( wxWindow* parent, int id, const wxStr // any good. } -wxCheckBox& wxDialogWithHelpers::AddCheckBox( wxSizer& sizer, const wxString& label, wxWindowID id ) +// ------------------------------------------------------------------------ +// Creates a new checkbox and adds it to the specified sizer/parent combo, with optional tooltip. +// Uses the default spacer setting for adding checkboxes, and the tooltip (if specified) is applied +// to both the checkbox and it's static subtext (if present). +// +wxCheckBox& wxDialogWithHelpers::AddCheckBox( wxSizer& sizer, const wxString& label, const wxString& subtext, const wxString& tooltip ) { - return wxHelpers::AddCheckBoxTo( this, sizer, label, id ); + return wxHelpers::AddCheckBoxTo( this, sizer, label, subtext, tooltip); } wxStaticText& wxDialogWithHelpers::AddStaticText(wxSizer& sizer, const wxString& label, int size, int alignFlags ) @@ -214,32 +316,61 @@ void wxDialogWithHelpers::AddOkCancel( wxSizer &sizer, bool hasApply ) ////////////////////////////////////////////////////////////////////////////////////////// // -wxPanelWithHelpers::wxPanelWithHelpers( wxWindow* parent, int id, const wxPoint& pos, const wxSize& size ) : - wxPanel( parent, id, pos, size ) +wxPanelWithHelpers::wxPanelWithHelpers( wxWindow* parent, int idealWidth ) : + wxPanel( parent, wxID_ANY ) +, m_idealWidth( idealWidth ) , m_StartNewRadioGroup( true ) { } -wxCheckBox& wxPanelWithHelpers::AddCheckBox( wxSizer& sizer, const wxString& label, wxWindowID id ) +wxPanelWithHelpers::wxPanelWithHelpers( wxWindow* parent, const wxPoint& pos, const wxSize& size ) : + wxPanel( parent, wxID_ANY, pos, size ) +, m_idealWidth( wxDefaultCoord ) +, m_StartNewRadioGroup( true ) { - return wxHelpers::AddCheckBoxTo( this, sizer, label, id ); } -wxStaticText& wxPanelWithHelpers::AddStaticText(wxSizer& sizer, const wxString& label, int size, int alignFlags ) + +// ------------------------------------------------------------------------ +// Creates a new checkbox and adds it to the specified sizer, with optional tooltip. Uses the default +// spacer setting for adding checkboxes, and the tooltip (if specified) is applied to both the checkbox +// and it's static subtext (if present). +// +// Static subtext, if specified, is displayed below the checkbox and is indented accordingly. +// +wxCheckBox& wxPanelWithHelpers::AddCheckBox( wxSizer& sizer, const wxString& label, const wxString& subtext, const wxString& tooltip ) { - return wxHelpers::AddStaticTextTo( this, sizer, label, size, alignFlags ); + return wxHelpers::AddCheckBoxTo( this, sizer, label, subtext, tooltip, GetIdealWidth()-8 ); } -wxRadioButton& wxPanelWithHelpers::AddRadioButton( wxSizer& sizer, const wxString& label, const wxString& subtext, wxWindowID id ) +// ------------------------------------------------------------------------ +// Creates a static text box that generally "makes sense" in a free-flowing layout. Specifically, this +// ensures that that auto resizing is disabled, and that the sizer flags match the alignment specified +// for the textbox. +// +// Parameters: +// Size - allows forcing the control to wrap text at a specific pre-defined pixel width; +// or specify zero to let wxWidgets layout the text as it deems appropriate (recommended) +// +// alignFlags - Either wxALIGN_LEFT, RIGHT, or CENTRE. All other wxStaticText flags are ignored +// or overridden. [default is left alignment] +// +wxStaticText& wxPanelWithHelpers::AddStaticText(wxSizer& sizer, const wxString& label, int alignFlags, int size ) { - wxRadioButton& retval = wxHelpers::AddRadioButtonTo( this, sizer, label, id, m_StartNewRadioGroup ); + return wxHelpers::AddStaticTextTo( this, sizer, label, alignFlags, (size > 0) ? size : GetIdealWidth()-24 ); +} + +// ------------------------------------------------------------------------ +// Creates a new Radio button and adds it to the specified sizer, with optional tooltip. Uses the +// default spacer setting for adding checkboxes, and the tooltip (if specified) is applied to both +// the radio button and it's static subtext (if present). +// +// Static subtext, if specified, is displayed below the checkbox and is indented accordingly. +// The first item in a group should pass True for the isFirst parameter. +// +wxRadioButton& wxPanelWithHelpers::AddRadioButton( wxSizer& sizer, const wxString& label, const wxString& subtext, const wxString& tooltip ) +{ + return wxHelpers::AddRadioButtonTo( this, sizer, label, subtext, tooltip, GetIdealWidth()-8, m_StartNewRadioGroup ); m_StartNewRadioGroup = false; - - if( !subtext.IsEmpty() ) - { - sizer.Add( new wxStaticText( this, wxID_ANY, subtext ), wxSizerFlags().Border( wxLEFT, 25 ) ); - sizer.AddSpacer( 4 ); - } - return retval; } diff --git a/pcsx2/gui/wxHelpers.h b/pcsx2/gui/wxHelpers.h index ad687397f5..aa8ca22d45 100644 --- a/pcsx2/gui/wxHelpers.h +++ b/pcsx2/gui/wxHelpers.h @@ -6,21 +6,117 @@ namespace wxHelpers { - extern wxCheckBox& AddCheckBoxTo( wxWindow* parent, wxSizer& sizer, const wxString& label, wxWindowID id=wxID_ANY ); - extern wxRadioButton& AddRadioButtonTo( wxWindow* parent, wxSizer& sizer, const wxString& label, wxWindowID id=wxID_ANY, bool isFirst = false ); - extern wxStaticText& AddStaticTextTo(wxWindow* parent, wxSizer& sizer, const wxString& label, int size=0, int alignFlags=wxALIGN_LEFT ); + extern wxCheckBox& AddCheckBoxTo( wxWindow* parent, wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString, int wrapLen=wxDefaultCoord ); + extern wxRadioButton& AddRadioButtonTo( wxWindow* parent, wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString, int wrapLen=wxDefaultCoord, bool isFirst = false ); + extern wxStaticText& AddStaticTextTo(wxWindow* parent, wxSizer& sizer, const wxString& label, int alignFlags=wxALIGN_LEFT, int wrapLen=wxDefaultCoord ); namespace SizerFlags { extern wxSizerFlags StdSpace(); extern wxSizerFlags StdCenter(); extern wxSizerFlags StdExpand(); - extern wxSizerFlags StdGroupie(); + extern wxSizerFlags TopLevelBox(); + extern wxSizerFlags SubGroup(); extern wxSizerFlags StdButton(); extern wxSizerFlags Checkbox(); }; } +////////////////////////////////////////////////////////////////////////////////////////// +// pxTextWrapper +// this class is used to wrap the text on word boundary: wrapping is done by calling +// OnStartLine() and OnOutputLine() functions. This class by itself can be used as a +// line counting tool, but produces no formatted text output. +// +// [class "borrowed" from wxWidgets private code, and renamed to avoid possible conflicts +// with future editions of wxWidgets which might make it public. Why this isn't publicly +// available already in wxBase I'll never know-- air] +// +class pxTextWrapperBase +{ +protected: + bool m_eol; + int m_linecount; + +public: + virtual ~pxTextWrapperBase() { } + + pxTextWrapperBase() : + m_eol( false ) + , m_linecount( 0 ) + { + } + + // win is used for getting the font, text is the text to wrap, width is the + // max line width or -1 to disable wrapping + void Wrap( const wxWindow *win, const wxString& text, int widthMax ); + + int GetLineCount() const + { + return m_linecount; + } + +protected: + // line may be empty + virtual void OnOutputLine(const wxString& line) { } + + // called at the start of every new line (except the very first one) + virtual void OnNewLine() { } + + void DoOutputLine(const wxString& line) + { + OnOutputLine(line); + m_linecount++; + m_eol = true; + } + + // this function is a destructive inspector: when it returns true it also + // resets the flag to false so calling it again wouldn't return true any + // more + bool IsStartOfNewLine() + { + if ( !m_eol ) + return false; + + m_eol = false; + return true; + } +}; + +////////////////////////////////////////////////////////////////////////////////////////// +// pxTextWrapper +// This class extends pxTextWrapperBase and adds the ability to retrieve the formatted +// result of word wrapping. +// +class pxTextWrapper : public pxTextWrapperBase +{ +protected: + wxString m_text; + +public: + pxTextWrapper() : pxTextWrapperBase() + , m_text() + { + } + + const wxString& GetResult() const + { + return m_text; + } + +protected: + virtual void OnOutputLine(const wxString& line) + { + m_text += line; + } + + virtual void OnNewLine() + { + m_text += L'\n'; + } +}; + + ////////////////////////////////////////////////////////////////////////////////////////// // class wxDialogWithHelpers : public wxDialog @@ -31,10 +127,11 @@ protected: public: wxDialogWithHelpers(wxWindow* parent, int id, const wxString& title, bool hasContextHelp, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize ); -protected: - wxCheckBox& AddCheckBox( wxSizer& sizer, const wxString& label, wxWindowID id=wxID_ANY ); - wxStaticText& AddStaticText(wxSizer& sizer, const wxString& label, int size=0, int alignFlags=wxALIGN_LEFT ); + wxCheckBox& AddCheckBox( wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString ); + wxStaticText& AddStaticText(wxSizer& sizer, const wxString& label, int alignFlags=wxALIGN_LEFT, int size=wxDefaultCoord ); void AddOkCancel( wxSizer& sizer, bool hasApply=false ); + +protected: }; ////////////////////////////////////////////////////////////////////////////////////////// @@ -42,16 +139,21 @@ protected: class wxPanelWithHelpers : public wxPanel { protected: + const int m_idealWidth; bool m_StartNewRadioGroup; public: - wxPanelWithHelpers( wxWindow* parent, int id=wxID_ANY, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize ); + wxPanelWithHelpers( wxWindow* parent, int idealWidth=wxDefaultCoord ); + wxPanelWithHelpers( wxWindow* parent, const wxPoint& pos, const wxSize& size=wxDefaultSize ); -protected: - wxCheckBox& AddCheckBox( wxSizer& sizer, const wxString& label, wxWindowID id=wxID_ANY ); - wxRadioButton& AddRadioButton( wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, wxWindowID id=wxID_ANY ); - wxStaticText& AddStaticText(wxSizer& sizer, const wxString& label, int size=0, int alignFlags=wxALIGN_LEFT ); - + wxCheckBox& AddCheckBox( wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString ); + wxRadioButton& AddRadioButton( wxSizer& sizer, const wxString& label, const wxString& subtext=wxEmptyString, const wxString& tooltip=wxEmptyString ); + wxStaticText& AddStaticText(wxSizer& sizer, const wxString& label, int alignFlags=wxALIGN_LEFT, int size=wxDefaultCoord ); + + int GetIdealWidth() const { return m_idealWidth; } + bool HasIdealWidth() const { return m_idealWidth != wxDefaultCoord; } + +protected: void StartRadioGroup() { m_StartNewRadioGroup = true;