From e8f39da602b07761f76ca69fa6158e36ccee7862 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Fri, 14 Nov 2025 12:05:35 +0100 Subject: [PATCH] Replace Unicode character categories with blocks Signed-off-by: Simon Rozman --- ZRCola/locale/ZRCola.pot | 44 +++--- ZRCola/res/ZRCola.fbp | 28 ++-- ZRCola/res/zrcolagui.cpp | 54 ++++---- ZRCola/res/zrcolagui.h | 18 +-- ZRCola/zrcolaapp.cpp | 6 - ZRCola/zrcolaapp.h | 1 - ZRCola/zrcolachrslct.cpp | 82 ++++++----- ZRCola/zrcolachrslct.h | 14 +- ZRCola/zrcolagui.cpp | 54 ++++---- ZRCola/zrcolagui.h | 18 +-- ZRColaCompile/dbsource.cpp | 97 +------------ ZRColaCompile/dbsource.h | 69 +--------- ZRColaCompile/main.cpp | 51 ------- ZRColaWS/zrcolaws.cpp | 10 +- ZRColaWS/zrcolaws.hpp | 2 +- lib/libZRCola/include/zrcola/character.h | 166 +---------------------- lib/libZRCola/include/zrcola/idrec.h | 1 - lib/libZRCola/include/zrcola/tag.h | 4 +- lib/libZRCola/src/character.cpp | 6 +- lib/libZRCola/src/tag.cpp | 4 +- lib/libZRCola/test/test.cpp | 10 +- output/data/ZRCola.zrcdb | Bin 3864846 -> 3849102 bytes output/locale/ZRCola-zrcdb.pot | 81 ----------- 23 files changed, 179 insertions(+), 641 deletions(-) diff --git a/ZRCola/locale/ZRCola.pot b/ZRCola/locale/ZRCola.pot index b601504..37ddd3a 100644 --- a/ZRCola/locale/ZRCola.pot +++ b/ZRCola/locale/ZRCola.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ZRCola\n" -"POT-Creation-Date: 2022-02-17 13:32+0100\n" +"POT-Creation-Date: 2025-11-14 16:23+0100\n" "PO-Revision-Date: 2019-04-01 19:38+0200\n" "Last-Translator: Simon Rozman \n" "Language-Team: Amebis, d. o. o., Kamnik \n" @@ -21,7 +21,7 @@ msgstr "" msgid "© 2004-%s ZRC SAZU" msgstr "" -#: zrcolaapp.cpp:60 zrcolafrm.cpp:118 zrcolagui.cpp:232 zrcolagui.cpp:943 +#: zrcolaapp.cpp:60 zrcolafrm.cpp:110 zrcolagui.cpp:232 zrcolagui.cpp:943 #: zrcolagui.h:119 MSIBuild/en_US.ARM64.Debug.Feature-2.idtx:4 #: MSIBuild/en_US.ARM64.Debug.Shortcut-2.idtx:4 #: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4 @@ -45,7 +45,7 @@ msgstr "" msgid "Context" msgstr "" -#: zrcolachrreq.cpp:50 zrcolagui.h:376 +#: zrcolachrreq.cpp:50 zrcolagui.h:382 msgid "Request a New Character" msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "Invalid character in Unicode found: %c" msgstr "" -#: zrcolachrslct.cpp:201 zrcolachrslct.cpp:377 zrcolachrslct.cpp:874 +#: zrcolachrslct.cpp:201 zrcolachrslct.cpp:377 zrcolachrslct.cpp:870 msgid "▸ Search Options" msgstr "" @@ -70,35 +70,35 @@ msgstr "" msgid ", " msgstr "" -#: zrcolachrslct.cpp:380 zrcolachrslct.cpp:871 +#: zrcolachrslct.cpp:380 zrcolachrslct.cpp:867 msgid "▾ Search Options" msgstr "" -#: zrcolafrm.cpp:84 +#: zrcolafrm.cpp:76 msgid "No Translation" msgstr "" -#: zrcolafrm.cpp:97 +#: zrcolafrm.cpp:89 msgid "Custom Translation..." msgstr "" -#: zrcolafrm.cpp:217 +#: zrcolafrm.cpp:209 msgid "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available." msgstr "" -#: zrcolafrm.cpp:217 zrcolafrm.cpp:219 +#: zrcolafrm.cpp:209 zrcolafrm.cpp:211 msgid "Warning" msgstr "" -#: zrcolafrm.cpp:219 +#: zrcolafrm.cpp:211 msgid "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available." msgstr "" -#: zrcolafrm.cpp:513 +#: zrcolafrm.cpp:505 msgid "http://zrcola.zrc-sazu.si/en/info/instructions/" msgstr "" -#: zrcolafrm.cpp:538 +#: zrcolafrm.cpp:530 msgid "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf" msgstr "" @@ -399,7 +399,7 @@ msgid "Shows/hides additional search options" msgstr "" #: zrcolagui.cpp:517 -msgid "List of Unicode character categories to search in" +msgid "List of Unicode character blocks to search in" msgstr "" #: zrcolagui.cpp:524 @@ -415,7 +415,7 @@ msgid "None" msgstr "" #: zrcolagui.cpp:530 -msgid "Clear category selection" +msgid "Clear block selection" msgstr "" #: zrcolagui.cpp:534 @@ -423,7 +423,7 @@ msgid "Invert" msgstr "" #: zrcolagui.cpp:535 -msgid "Invert category selection" +msgid "Invert block selection" msgstr "" #: zrcolagui.cpp:574 @@ -467,7 +467,7 @@ msgid "Character tags" msgstr "" #: zrcolagui.cpp:691 -msgid "Unicode character category" +msgid "Unicode character block" msgstr "" #: zrcolagui.cpp:698 @@ -637,23 +637,23 @@ msgstr "" msgid "↓" msgstr "" -#: zrcolagui.h:260 +#: zrcolagui.h:262 msgid "Character Search" msgstr "" -#: zrcolagui.h:296 +#: zrcolagui.h:299 msgid "Settings" msgstr "" -#: zrcolagui.h:322 +#: zrcolagui.h:326 msgid "About ZRCola" msgstr "" -#: zrcolagui.h:347 zrcolaupdater.cpp:81 +#: zrcolagui.h:352 zrcolaupdater.cpp:81 msgid "Product Update" msgstr "" -#: zrcolagui.h:418 +#: zrcolagui.h:425 msgid "Custom Translation Sequence" msgstr "" @@ -661,7 +661,7 @@ msgstr "" msgid "INS key is pressed. Type the Unicode code of desired character now (up to four hexadecimal digits: 0-9, A-F), then release INS." msgstr "" -#: zrcolasettings.cpp:73 +#: zrcolasettings.cpp:72 msgid "Start ZRCola automatically on logon" msgstr "" diff --git a/ZRCola/res/ZRCola.fbp b/ZRCola/res/ZRCola.fbp index f38eb75..0e050c4 100644 --- a/ZRCola/res/ZRCola.fbp +++ b/ZRCola/res/ZRCola.fbp @@ -2216,7 +2216,7 @@ 0 1 - m_categories + m_blocks 1 @@ -2229,7 +2229,7 @@ 0 - List of Unicode character categories to search in + List of Unicode character blocks to search in wxFILTER_NONE wxDefaultValidator @@ -2237,7 +2237,7 @@ - OnCategoriesToggle + OnBlocksToggle @@ -2246,7 +2246,7 @@ 0 - bSizerCategoriesCtrl + bSizerBlocksCtrl wxHORIZONTAL none @@ -2291,7 +2291,7 @@ 0 1 - m_categoriesAll + m_blocksAll 1 @@ -2311,7 +2311,7 @@ - OnCategoriesAll + OnBlocksAll @@ -2356,7 +2356,7 @@ 0 1 - m_categoriesNone + m_blocksNone 1 @@ -2370,13 +2370,13 @@ wxHL_DEFAULT_STYLE 0 - Clear category selection + Clear block selection - OnCategoriesNone + OnBlocksNone @@ -2421,7 +2421,7 @@ 0 1 - m_categoriesInvert + m_blocksInvert 1 @@ -2435,13 +2435,13 @@ wxHL_DEFAULT_STYLE 0 - Invert category selection + Invert block selection - OnCategoriesInvert + OnBlocksInvert @@ -3137,7 +3137,7 @@ 0 1 - m_category + m_block 1 @@ -3150,7 +3150,7 @@ wxTE_READONLY|wxTE_CENTER 0 - Unicode character category + Unicode character block wxFILTER_NONE wxDefaultValidator diff --git a/ZRCola/res/zrcolagui.cpp b/ZRCola/res/zrcolagui.cpp index 956a10c..a82160d 100644 --- a/ZRCola/res/zrcolagui.cpp +++ b/ZRCola/res/zrcolagui.cpp @@ -512,32 +512,32 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, wxBoxSizer* sbSizerSearch; sbSizerSearch = new wxBoxSizer( wxVERTICAL ); - wxArrayString m_categoriesChoices; - m_categories = new wxCheckListBox( m_search_panel, wxID_ANY, wxDefaultPosition, wxSize( -1,60 ), m_categoriesChoices, 0 ); - m_categories->SetToolTip( _("List of Unicode character categories to search in") ); + wxArrayString m_blocksChoices; + m_blocks = new wxCheckListBox( m_search_panel, wxID_ANY, wxDefaultPosition, wxSize( -1,60 ), m_blocksChoices, 0 ); + m_blocks->SetToolTip( _("List of Unicode character blocks to search in") ); - sbSizerSearch->Add( m_categories, 0, wxALL|wxEXPAND, 5 ); + sbSizerSearch->Add( m_blocks, 0, wxALL|wxEXPAND, 5 ); - wxBoxSizer* bSizerCategoriesCtrl; - bSizerCategoriesCtrl = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizerBlocksCtrl; + bSizerBlocksCtrl = new wxBoxSizer( wxHORIZONTAL ); - m_categoriesAll = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("All"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesAll->SetToolTip( _("Select all categories") ); + m_blocksAll = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("All"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksAll->SetToolTip( _("Select all categories") ); - bSizerCategoriesCtrl->Add( m_categoriesAll, 0, wxALL, 5 ); + bSizerBlocksCtrl->Add( m_blocksAll, 0, wxALL, 5 ); - m_categoriesNone = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("None"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesNone->SetToolTip( _("Clear category selection") ); + m_blocksNone = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("None"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksNone->SetToolTip( _("Clear block selection") ); - bSizerCategoriesCtrl->Add( m_categoriesNone, 0, wxALL, 5 ); + bSizerBlocksCtrl->Add( m_blocksNone, 0, wxALL, 5 ); - m_categoriesInvert = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("Invert"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesInvert->SetToolTip( _("Invert category selection") ); + m_blocksInvert = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("Invert"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksInvert->SetToolTip( _("Invert block selection") ); - bSizerCategoriesCtrl->Add( m_categoriesInvert, 0, wxALL, 5 ); + bSizerBlocksCtrl->Add( m_blocksInvert, 0, wxALL, 5 ); - sbSizerSearch->Add( bSizerCategoriesCtrl, 0, wxALIGN_RIGHT, 5 ); + sbSizerSearch->Add( bSizerBlocksCtrl, 0, wxALIGN_RIGHT, 5 ); m_search_panel->SetSizer( sbSizerSearch ); @@ -687,10 +687,10 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, sbSizerPreview->Add( m_tags, 1, wxALL|wxEXPAND, 5 ); - m_category = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_CENTER ); - m_category->SetToolTip( _("Unicode character category") ); + m_block = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_CENTER ); + m_block->SetToolTip( _("Unicode character block") ); - sbSizerPreview->Add( m_category, 0, wxALL|wxEXPAND, 5 ); + sbSizerPreview->Add( m_block, 0, wxALL|wxEXPAND, 5 ); wxBoxSizer* bSizerNavigateButtons; bSizerNavigateButtons = new wxBoxSizer( wxHORIZONTAL ); @@ -780,10 +780,10 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) ); m_search->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this ); m_search_more->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), NULL, this ); - m_categories->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this ); - m_categoriesAll->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this ); - m_categoriesNone->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this ); - m_categoriesInvert->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this ); + m_blocks->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnBlocksToggle ), NULL, this ); + m_blocksAll->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksAll ), NULL, this ); + m_blocksNone->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksNone ), NULL, this ); + m_blocksInvert->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksInvert ), NULL, this ); m_gridResults->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this ); m_gridResults->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this ); m_gridResults->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this ); @@ -805,10 +805,10 @@ wxZRColaCharSelectBase::~wxZRColaCharSelectBase() this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) ); m_search->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this ); m_search_more->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), NULL, this ); - m_categories->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this ); - m_categoriesAll->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this ); - m_categoriesNone->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this ); - m_categoriesInvert->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this ); + m_blocks->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnBlocksToggle ), NULL, this ); + m_blocksAll->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksAll ), NULL, this ); + m_blocksNone->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksNone ), NULL, this ); + m_blocksInvert->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksInvert ), NULL, this ); m_gridResults->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this ); m_gridResults->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this ); m_gridResults->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this ); diff --git a/ZRCola/res/zrcolagui.h b/ZRCola/res/zrcolagui.h index a49f4cf..ec2f702 100644 --- a/ZRCola/res/zrcolagui.h +++ b/ZRCola/res/zrcolagui.h @@ -216,10 +216,10 @@ class wxZRColaCharSelectBase : public wxDialog wxSearchCtrl* m_search; wxHyperlinkCtrl* m_search_more; wxPanel* m_search_panel; - wxCheckListBox* m_categories; - wxHyperlinkCtrl* m_categoriesAll; - wxHyperlinkCtrl* m_categoriesNone; - wxHyperlinkCtrl* m_categoriesInvert; + wxCheckListBox* m_blocks; + wxHyperlinkCtrl* m_blocksAll; + wxHyperlinkCtrl* m_blocksNone; + wxHyperlinkCtrl* m_blocksInvert; wxZRColaCharGrid* m_gridResults; wxZRColaCharGrid* m_gridRecent; wxStaticText* m_labelUnicode; @@ -228,7 +228,7 @@ class wxZRColaCharSelectBase : public wxDialog wxGrid* m_gridPreview; wxTextCtrl* m_description; wxTextCtrl* m_tags; - wxTextCtrl* m_category; + wxTextCtrl* m_block; wxHyperlinkCtrl* m_navigateBack; wxHyperlinkCtrl* m_navigateForward; wxZRColaCharGrid* m_gridRelated; @@ -238,10 +238,10 @@ class wxZRColaCharSelectBase : public wxDialog virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); } virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); } virtual void OnSearchMore( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesToggle( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCategoriesAll( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesNone( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesInvert( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksToggle( wxCommandEvent& event ) { event.Skip(); } + virtual void OnBlocksAll( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksNone( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksInvert( wxHyperlinkEvent& event ) { event.Skip(); } virtual void OnResultCellDClick( wxGridEvent& event ) { event.Skip(); } virtual void OnResultSelectCell( wxGridEvent& event ) { event.Skip(); } virtual void OnResultsKeyDown( wxKeyEvent& event ) { event.Skip(); } diff --git a/ZRCola/zrcolaapp.cpp b/ZRCola/zrcolaapp.cpp index 22343c1..3c7fa13 100644 --- a/ZRCola/zrcolaapp.cpp +++ b/ZRCola/zrcolaapp.cpp @@ -126,12 +126,6 @@ bool ZRColaApp::OnInit() wxFAIL_MSG(wxT("Error reading character data from ZRCola.zrcdb.")); m_chr_db.clear(); } - } else if (id == ZRCola::chrcat_rec::id()) { - dat >> ZRCola::chrcat_rec(m_cc_db); - if (!dat.good()) { - wxFAIL_MSG(wxT("Error reading character category data from ZRCola.zrcdb.")); - m_cc_db.clear(); - } } else if (id == ZRCola::chrblk_rec::id()) { dat >> ZRCola::chrblk_rec(m_cb_db); if (!dat.good()) { diff --git a/ZRCola/zrcolaapp.h b/ZRCola/zrcolaapp.h index 5b32128..d15a9d1 100644 --- a/ZRCola/zrcolaapp.h +++ b/ZRCola/zrcolaapp.h @@ -70,7 +70,6 @@ public: ZRCola::language_db m_lang_db; ///< Language database ZRCola::keyseq_db m_ks_db; ///< Key sequence database ZRCola::character_db m_chr_db; ///< Character database - ZRCola::chrcat_db m_cc_db; ///< Character category database ZRCola::chrblk_db m_cb_db; ///< Character block database ZRCola::chrtag_db m_ct_db; ///< Character tag database ZRCola::tagname_db m_tn_db; ///< Tag name database diff --git a/ZRCola/zrcolachrslct.cpp b/ZRCola/zrcolachrslct.cpp index 4c85e7b..1711adc 100644 --- a/ZRCola/zrcolachrslct.cpp +++ b/ZRCola/zrcolachrslct.cpp @@ -202,13 +202,13 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) : m_unicode->SetValidator(wxZRColaUnicodeDumpValidator(&m_char)); - // Fill categories. + // Fill blocks. auto app = dynamic_cast(wxTheApp); - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) { - const auto &cc = app->m_cc_db.idxRank[i]; - int idx = m_categories->Insert(wxGetTranslation(wxString(cc.name(), cc.name_len()), wxT("ZRCola-zrcdb")), (unsigned int)i); - m_categories->Check(idx); - m_ccOrder.insert(std::make_pair(cc.id, idx)); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) { + const auto &cb = app->m_cb_db.idxRank[i]; + int idx = m_blocks->Insert(wxGetTranslation(wxString(cb.name(), cb.name_len()), wxT("ZRCola-zrcdb")), (unsigned int)i); + m_blocks->Check(idx); + m_cbOrder.insert(std::make_pair(cb.id, idx)); } ResetResults(); @@ -265,20 +265,20 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event) m_shortcut->SetValue(wxEmptyString); } { - // Update character category. - ZRCola::chrcat_db::indexChrId::size_type cc_start; - if (app->m_cc_db.idxChrId.find(ZRCola::chrcat_db::chrcls(chr.cat), cc_start)) { - const auto &cat = app->m_cc_db.idxChrId[cc_start]; - m_category->SetValue(wxGetTranslation(wxString(cat.name(), cat.name_len()), wxT("ZRCola-zrcdb"))); + // Update character block. + ZRCola::chrblk_db::indexChrId::size_type cb_start; + if (app->m_cb_db.idxChrId.find(ZRCola::chrblk_db::chrcls(chr.blk), cb_start)) { + const auto &blk = app->m_cb_db.idxChrId[cb_start]; + m_block->SetValue(wxGetTranslation(wxString(blk.name(), blk.name_len()), wxT("ZRCola-zrcdb"))); } else - m_category->SetValue(wxEmptyString); + m_block->SetValue(wxEmptyString); } // Update related characters. m_gridRelated->SetCharacters(wxString(chr.rel(), chr.rel_end())); } else { m_description->SetValue(wxEmptyString); m_shortcut->SetValue(wxEmptyString); - m_category->SetValue(wxEmptyString); + m_block->SetValue(wxEmptyString); m_gridRelated->ClearGrid(); } @@ -340,11 +340,11 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event) m_searchThread->m_search.assign(val.c_str(), val.Length()); - // Select categories. - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) { - const auto &cc = app->m_cc_db.idxRank[i]; - if (m_categories->IsChecked((unsigned int)i)) - m_searchThread->m_cats.insert(cc.id); + // Select blocks. + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) { + const auto &cb = app->m_cb_db.idxRank[i]; + if (m_blocks->IsChecked((unsigned int)i)) + m_searchThread->m_blks.insert(cb.id); } if (m_searchThread->Run() != wxTHREAD_NO_ERROR) { @@ -384,43 +384,43 @@ void wxZRColaCharSelect::OnSearchMore(wxHyperlinkEvent& event) } -void wxZRColaCharSelect::OnCategoriesAll(wxHyperlinkEvent& event) +void wxZRColaCharSelect::OnBlocksAll(wxHyperlinkEvent& event) { event.StopPropagation(); auto app = dynamic_cast(wxTheApp); - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) - m_categories->Check((unsigned int)i, true); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) + m_blocks->Check((unsigned int)i, true); m_searchChanged = true; } -void wxZRColaCharSelect::OnCategoriesNone(wxHyperlinkEvent& event) +void wxZRColaCharSelect::OnBlocksNone(wxHyperlinkEvent& event) { event.StopPropagation(); auto app = dynamic_cast(wxTheApp); - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) - m_categories->Check((unsigned int)i, false); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) + m_blocks->Check((unsigned int)i, false); m_searchChanged = true; } -void wxZRColaCharSelect::OnCategoriesInvert(wxHyperlinkEvent& event) +void wxZRColaCharSelect::OnBlocksInvert(wxHyperlinkEvent& event) { event.StopPropagation(); auto app = dynamic_cast(wxTheApp); - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) - m_categories->Check((unsigned int)i, !m_categories->IsChecked((unsigned int)i)); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) + m_blocks->Check((unsigned int)i, !m_blocks->IsChecked((unsigned int)i)); m_searchChanged = true; } -void wxZRColaCharSelect::OnCategoriesToggle(wxCommandEvent& event) +void wxZRColaCharSelect::OnBlocksToggle(wxCommandEvent& event) { event.Skip(); @@ -625,8 +625,8 @@ void wxZRColaCharSelect::ResetResults() val.reserve(n); for (i = 0; i < n; i++) { const auto &chr = app->m_chr_db.idxChr[i]; - auto idx = m_ccOrder.find(chr.cat); - if (idx == m_ccOrder.end() || m_categories->IsChecked(idx->second)) + auto idx = m_cbOrder.find(chr.blk); + if (idx == m_cbOrder.end() || m_blocks->IsChecked(idx->second)) val.Add(wxString(chr.chr(), chr.chr_len())); } m_gridResults->SetCharacters(val); @@ -720,13 +720,13 @@ wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry() // Search by tags: Get tags with given names. Then, get characters of found tags. std::map hits_tag; if (!app->m_tn_db.Search(m_search.c_str(), m_parent->m_locale, hits_tag, TestDestroyS, this)) return (wxThread::ExitCode)1; - if (!app->m_ct_db.Search(hits_tag, app->m_chr_db, m_cats, hits, TestDestroyS, this)) return (wxThread::ExitCode)1; + if (!app->m_ct_db.Search(hits_tag, app->m_chr_db, m_blks, hits, TestDestroyS, this)) return (wxThread::ExitCode)1; } { // Search by description and merge results. std::map hits_sub; - if (!app->m_chr_db.Search(m_search.c_str(), m_cats, hits, hits_sub, TestDestroyS, this)) return (wxThread::ExitCode)1; + if (!app->m_chr_db.Search(m_search.c_str(), m_blks, hits, hits_sub, TestDestroyS, this)) return (wxThread::ExitCode)1; for (auto i = hits_sub.cbegin(), i_end = hits_sub.cend(); i != i_end; ++i) { if (TestDestroy()) return (wxThread::ExitCode)1; auto idx = hits.find(i->first); @@ -820,11 +820,9 @@ void wxPersistentZRColaCharSelect::Save() const SaveValue(wxT("recentChars" ), str ); // Save in legacy format for backward compatibility. SaveValue(wxT("recentChars2"), str2); // Save in native format - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) { - const auto &cc = app->m_cc_db.idxRank[i]; - wxString name(wxT("category")); - name.Append(cc.id.data, _countof(cc.id.data)); - SaveValue(name, wnd->m_categories->IsChecked((unsigned int)i)); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) { + const auto &cb = app->m_cb_db.idxRank[i]; + SaveValue(wxString::Format(wxT("block%u"), cb.id), wnd->m_blocks->IsChecked((unsigned int)i)); } SaveValue(wxT("searchPanel"), wnd->m_search_panel->IsShown()); @@ -855,13 +853,11 @@ bool wxPersistentZRColaCharSelect::Restore() wnd->m_gridRecent->SetCharacters(val); } - for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) { - const auto &cc = app->m_cc_db.idxRank[i]; - wxString name(wxT("category")); - name.Append(cc.id.data, _countof(cc.id.data)); + for (size_t i = 0, n = app->m_cb_db.idxRank.size(); i < n; i++) { + const auto &cb = app->m_cb_db.idxRank[i]; bool val; - if (RestoreValue(name, &val)) - wnd->m_categories->Check((unsigned int)i, val); + if (RestoreValue(wxString::Format(wxT("block%u"), cb.id), &val)) + wnd->m_blocks->Check((unsigned int)i, val); } bool search_panel; diff --git a/ZRCola/zrcolachrslct.h b/ZRCola/zrcolachrslct.h index a6b0d59..f238327 100644 --- a/ZRCola/zrcolachrslct.h +++ b/ZRCola/zrcolachrslct.h @@ -140,10 +140,10 @@ protected: virtual void OnIdle(wxIdleEvent& event); virtual void OnSearchText(wxCommandEvent& event); virtual void OnSearchMore(wxHyperlinkEvent& event); - virtual void OnCategoriesAll(wxHyperlinkEvent& event); - virtual void OnCategoriesNone(wxHyperlinkEvent& event); - virtual void OnCategoriesInvert(wxHyperlinkEvent& event); - virtual void OnCategoriesToggle(wxCommandEvent& event); + virtual void OnBlocksAll(wxHyperlinkEvent& event); + virtual void OnBlocksNone(wxHyperlinkEvent& event); + virtual void OnBlocksInvert(wxHyperlinkEvent& event); + virtual void OnBlocksToggle(wxCommandEvent& event); void OnSearchComplete(wxThreadEvent& event); virtual void OnResultSelectCell(wxGridEvent& event); virtual void OnResultCellDClick(wxGridEvent& event); @@ -168,8 +168,8 @@ public: protected: LCID m_locale; ///< Locale for tag lookup - bool m_searchChanged; ///< Did Search field or category selection change? - std::map m_ccOrder; ///< Character category order + bool m_searchChanged; ///< Did Search field or block selection change? + std::map m_cbOrder; ///< Character block order bool m_unicodeChanged; ///< Did Unicode field change? @@ -188,7 +188,7 @@ protected: public: std::wstring m_search; ///< Search phrase - std::set m_cats; ///< Search categories + std::set m_blks; ///< Search blocks std::vector > m_hits; ///< Search results protected: diff --git a/ZRCola/zrcolagui.cpp b/ZRCola/zrcolagui.cpp index 4dffaa3..9d5b217 100644 --- a/ZRCola/zrcolagui.cpp +++ b/ZRCola/zrcolagui.cpp @@ -512,32 +512,32 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, wxBoxSizer* sbSizerSearch; sbSizerSearch = new wxBoxSizer( wxVERTICAL ); - wxArrayString m_categoriesChoices; - m_categories = new wxCheckListBox( m_search_panel, wxID_ANY, wxDefaultPosition, FromDIP(wxSize( -1,60 )), m_categoriesChoices, 0 ); - m_categories->SetToolTip( _("List of Unicode character categories to search in") ); + wxArrayString m_blocksChoices; + m_blocks = new wxCheckListBox( m_search_panel, wxID_ANY, wxDefaultPosition, FromDIP(wxSize( -1,60 )), m_blocksChoices, 0 ); + m_blocks->SetToolTip( _("List of Unicode character blocks to search in") ); - sbSizerSearch->Add( m_categories, 0, wxALL|wxEXPAND, FromDIP(5) ); + sbSizerSearch->Add( m_blocks, 0, wxALL|wxEXPAND, FromDIP(5) ); - wxBoxSizer* bSizerCategoriesCtrl; - bSizerCategoriesCtrl = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizerBlocksCtrl; + bSizerBlocksCtrl = new wxBoxSizer( wxHORIZONTAL ); - m_categoriesAll = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("All"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesAll->SetToolTip( _("Select all categories") ); + m_blocksAll = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("All"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksAll->SetToolTip( _("Select all categories") ); - bSizerCategoriesCtrl->Add( m_categoriesAll, 0, wxALL, FromDIP(5) ); + bSizerBlocksCtrl->Add( m_blocksAll, 0, wxALL, FromDIP(5) ); - m_categoriesNone = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("None"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesNone->SetToolTip( _("Clear category selection") ); + m_blocksNone = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("None"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksNone->SetToolTip( _("Clear block selection") ); - bSizerCategoriesCtrl->Add( m_categoriesNone, 0, wxALL, FromDIP(5) ); + bSizerBlocksCtrl->Add( m_blocksNone, 0, wxALL, FromDIP(5) ); - m_categoriesInvert = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("Invert"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); - m_categoriesInvert->SetToolTip( _("Invert category selection") ); + m_blocksInvert = new wxHyperlinkCtrl( m_search_panel, wxID_ANY, _("Invert"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); + m_blocksInvert->SetToolTip( _("Invert block selection") ); - bSizerCategoriesCtrl->Add( m_categoriesInvert, 0, wxALL, FromDIP(5) ); + bSizerBlocksCtrl->Add( m_blocksInvert, 0, wxALL, FromDIP(5) ); - sbSizerSearch->Add( bSizerCategoriesCtrl, 0, wxALIGN_RIGHT, FromDIP(5) ); + sbSizerSearch->Add( bSizerBlocksCtrl, 0, wxALIGN_RIGHT, FromDIP(5) ); m_search_panel->SetSizer( sbSizerSearch ); @@ -687,10 +687,10 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, sbSizerPreview->Add( m_tags, 1, wxALL|wxEXPAND, FromDIP(5) ); - m_category = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_CENTER ); - m_category->SetToolTip( _("Unicode character category") ); + m_block = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_CENTER ); + m_block->SetToolTip( _("Unicode character block") ); - sbSizerPreview->Add( m_category, 0, wxALL|wxEXPAND, FromDIP(5) ); + sbSizerPreview->Add( m_block, 0, wxALL|wxEXPAND, FromDIP(5) ); wxBoxSizer* bSizerNavigateButtons; bSizerNavigateButtons = new wxBoxSizer( wxHORIZONTAL ); @@ -780,10 +780,10 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id, this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) ); m_search->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this ); m_search_more->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), NULL, this ); - m_categories->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this ); - m_categoriesAll->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this ); - m_categoriesNone->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this ); - m_categoriesInvert->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this ); + m_blocks->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnBlocksToggle ), NULL, this ); + m_blocksAll->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksAll ), NULL, this ); + m_blocksNone->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksNone ), NULL, this ); + m_blocksInvert->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksInvert ), NULL, this ); m_gridResults->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this ); m_gridResults->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this ); m_gridResults->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this ); @@ -805,10 +805,10 @@ wxZRColaCharSelectBase::~wxZRColaCharSelectBase() this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) ); m_search->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this ); m_search_more->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), NULL, this ); - m_categories->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this ); - m_categoriesAll->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this ); - m_categoriesNone->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this ); - m_categoriesInvert->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this ); + m_blocks->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnBlocksToggle ), NULL, this ); + m_blocksAll->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksAll ), NULL, this ); + m_blocksNone->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksNone ), NULL, this ); + m_blocksInvert->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnBlocksInvert ), NULL, this ); m_gridResults->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this ); m_gridResults->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this ); m_gridResults->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this ); diff --git a/ZRCola/zrcolagui.h b/ZRCola/zrcolagui.h index de5c47f..d4e92e8 100644 --- a/ZRCola/zrcolagui.h +++ b/ZRCola/zrcolagui.h @@ -216,10 +216,10 @@ class wxZRColaCharSelectBase : public wxDialog wxSearchCtrl* m_search; wxHyperlinkCtrl* m_search_more; wxPanel* m_search_panel; - wxCheckListBox* m_categories; - wxHyperlinkCtrl* m_categoriesAll; - wxHyperlinkCtrl* m_categoriesNone; - wxHyperlinkCtrl* m_categoriesInvert; + wxCheckListBox* m_blocks; + wxHyperlinkCtrl* m_blocksAll; + wxHyperlinkCtrl* m_blocksNone; + wxHyperlinkCtrl* m_blocksInvert; wxZRColaCharGrid* m_gridResults; wxZRColaCharGrid* m_gridRecent; wxStaticText* m_labelUnicode; @@ -228,7 +228,7 @@ class wxZRColaCharSelectBase : public wxDialog wxGrid* m_gridPreview; wxTextCtrl* m_description; wxTextCtrl* m_tags; - wxTextCtrl* m_category; + wxTextCtrl* m_block; wxHyperlinkCtrl* m_navigateBack; wxHyperlinkCtrl* m_navigateForward; wxZRColaCharGrid* m_gridRelated; @@ -238,10 +238,10 @@ class wxZRColaCharSelectBase : public wxDialog virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); } virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); } virtual void OnSearchMore( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesToggle( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCategoriesAll( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesNone( wxHyperlinkEvent& event ) { event.Skip(); } - virtual void OnCategoriesInvert( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksToggle( wxCommandEvent& event ) { event.Skip(); } + virtual void OnBlocksAll( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksNone( wxHyperlinkEvent& event ) { event.Skip(); } + virtual void OnBlocksInvert( wxHyperlinkEvent& event ) { event.Skip(); } virtual void OnResultCellDClick( wxGridEvent& event ) { event.Skip(); } virtual void OnResultSelectCell( wxGridEvent& event ) { event.Skip(); } virtual void OnResultsKeyDown( wxKeyEvent& event ) { event.Skip(); } diff --git a/ZRColaCompile/dbsource.cpp b/ZRColaCompile/dbsource.cpp index f8eece1..49dc120 100644 --- a/ZRColaCompile/dbsource.cpp +++ b/ZRColaCompile/dbsource.cpp @@ -613,44 +613,6 @@ bool ZRCola::DBSource::GetLanguage(const com_obj& f, ZRCola::langid_t& } -bool ZRCola::DBSource::GetChrCat(const com_obj& f, chrcatid_t& cc) const -{ - wxASSERT_MSG(f.valid(), wxT("field is empty")); - - variant v; - wxVERIFY(SUCCEEDED(f->get_Value(&v))); - if (V_VT(&v) != VT_NULL) { - wxCHECK(SUCCEEDED(v.change_type(VT_BSTR)), false); - - // Parse the field. - size_t n = wcsnlen(V_BSTR(&v), ::SysStringLen(V_BSTR(&v))); - if (n < 1 || 2 < n) { - bstr fieldname; wxVERIFY(SUCCEEDED(f->get_Name(&fieldname))); - _ftprintf(stderr, wxT("%s: error ZCC0110: Syntax error in \"%.*ls\" field (\"%.*ls\"). Character category ID must be one (1) or two (2) characters long.\n"), m_filename.c_str(), fieldname.length(), (BSTR)fieldname, n, V_BSTR(&v)); - return false; - } - for (size_t i = 0;; i++) { - if (i < sizeof(cc)) { - if (i < n) { - wchar_t c = V_BSTR(&v)[i]; - if ((unsigned short)c > 0x7f) { - bstr fieldname; wxVERIFY(SUCCEEDED(f->get_Name(&fieldname))); - _ftprintf(stderr, wxT("%s: error ZCC0111: Syntax error in \"%.*ls\" field (\"%.*ls\"). Character category ID must contain ASCII characters only.\n"), m_filename.c_str(), fieldname.length(), (BSTR)fieldname, n, V_BSTR(&v)); - return false; - } - cc.data[i] = (char)c; - } else - cc.data[i] = 0; - } else - break; - } - } else - memset(cc.data, 0, sizeof(cc)); - - return true; -} - - bool ZRCola::DBSource::GetTagNames(const winstd::com_obj& f, LCID lcid, list& names) const { wxASSERT_MSG(f.valid(), wxT("field is empty")); @@ -1242,7 +1204,7 @@ bool ZRCola::DBSource::SelectCharacters(com_obj& rs) const // Open it. if (FAILED(rs->Open(variant( - L"SELECT DISTINCT [znak], [opis_en], [kat], [znak_v], [znak_m] " + L"SELECT DISTINCT [znak], [opis_en], [znak_v], [znak_m] " L"FROM [VRS_CharList] " L"WHERE " L"[aktiven]=1 AND " // Active characters only @@ -1303,12 +1265,6 @@ bool ZRCola::DBSource::GetCharacter(const com_obj& rs, character& } } - { - com_obj f; - wxVERIFY(SUCCEEDED(flds->get_Item(variant(L"kat"), &f))); - wxCHECK(GetChrCat(f, chr.second.cat), false); - } - return true; } @@ -1375,57 +1331,6 @@ bool ZRCola::DBSource::GetCharacterBlock(const com_obj& rs, chrblk } -bool ZRCola::DBSource::SelectCharacterCategories(com_obj& rs) const -{ - // Create a new recordset. - rs.free(); - wxCHECK(SUCCEEDED(::CoCreateInstance(CLSID_CADORecordset, NULL, CLSCTX_ALL, IID_IADORecordset, (LPVOID*)&rs)), false); - - // Open it. - if (FAILED(rs->Open(variant( - L"SELECT DISTINCT [kat], [opis_en], [Rang] " - L"FROM [VRS_CharCategory] " - L"WHERE [kat]<>'g' " // Ignore "Other, Control" category! - L"ORDER BY [Rang], [opis_en]"), variant((IDispatch*)m_db), adOpenStatic, adLockReadOnly, adCmdText))) - { - _ftprintf(stderr, wxT("%s: error ZCC0130: Error loading character categories from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str()); - LogErrors(); - return false; - } - - return true; -} - - -bool ZRCola::DBSource::GetCharacterCategory(const com_obj& rs, chrcat& cc) const -{ - wxASSERT_MSG(rs.valid(), wxT("recordset is empty")); - - com_obj flds; - wxVERIFY(SUCCEEDED(rs->get_Fields(&flds))); - - { - com_obj f; - wxVERIFY(SUCCEEDED(flds->get_Item(variant(L"kat"), &f))); - wxCHECK(GetChrCat(f, cc.cat), false); - } - - { - com_obj f; - wxVERIFY(SUCCEEDED(flds->get_Item(variant(L"Rang"), &f))); - wxCHECK(GetValue(f, cc.rank), false); - } - - { - com_obj f; - wxVERIFY(SUCCEEDED(flds->get_Item(variant(L"opis_en"), &f))); - wxCHECK(GetValue(f, cc.name), false); - } - - return true; -} - - bool ZRCola::DBSource::SelectCharacterTags(winstd::com_obj& rs) const { // Create a new recordset. diff --git a/ZRColaCompile/dbsource.h b/ZRColaCompile/dbsource.h index e832a0a..377da85 100644 --- a/ZRColaCompile/dbsource.h +++ b/ZRColaCompile/dbsource.h @@ -209,7 +209,6 @@ namespace ZRCola { /// Character data /// struct character_data { - ZRCola::chrcatid_t cat; ///< Category ID std::wstring desc; ///< Character description std::set terms; ///< Search terms std::set terms_rel; ///< Relevant terms for relating characters @@ -341,16 +340,6 @@ namespace ZRCola { }; - /// - /// Character category - /// - struct chrcat { - ZRCola::chrcatid_t cat; ///> Category ID - short rank = 0; ///< Rank - std::wstring name; ///< Name - }; - - /// /// Character tag /// @@ -522,18 +511,6 @@ namespace ZRCola { /// bool GetLanguage(const winstd::com_obj& f, langid_t& lang) const; - /// - /// Gets character category ID from ZRCola.zrc database - /// - /// \param[in] f Data field - /// \param[out] cc Character category - /// - /// \returns - /// - true when successful - /// - false otherwise - /// - bool GetChrCat(const winstd::com_obj& f, chrcatid_t& cc) const; - /// /// Gets tag names from ZRCola.zrc database /// @@ -777,10 +754,10 @@ namespace ZRCola { bool SelectCharacterBlocks(winstd::com_obj& rs) const; /// - /// Returns character category data + /// Returns character block data /// /// \param[in] rs Recordset with results - /// \param[out] cc Character category + /// \param[out] cb Character block /// /// \returns /// - true when succeeded @@ -788,29 +765,6 @@ namespace ZRCola { /// bool GetCharacterBlock(const winstd::com_obj& rs, chrblk& cb) const; - /// - /// Returns character categories - /// - /// \param[out] rs Recordset with results - /// - /// \returns - /// - true when query succeeds - /// - false otherwise - /// - bool SelectCharacterCategories(winstd::com_obj& rs) const; - - /// - /// Returns character category data - /// - /// \param[in] rs Recordset with results - /// \param[out] cc Character category - /// - /// \returns - /// - true when succeeded - /// - false otherwise - /// - bool GetCharacterCategory(const winstd::com_obj& rs, chrcat& cc) const; - /// /// Returns character tags /// @@ -826,7 +780,7 @@ namespace ZRCola { /// Returns character tag data /// /// \param[in] rs Recordset with results - /// \param[out] cc Character tag + /// \param[out] tc Character tag /// /// \returns /// - true when succeeded @@ -1041,7 +995,6 @@ inline ZRCola::chrgrp_db& operator<<(_Inout_ ZRCola::chrgrp_db &db, _In_ const Z inline ZRCola::character_db& operator<<(_Inout_ ZRCola::character_db &db, _In_ const ZRCola::DBSource::character &rec) { uint32_t idx = db.data.size(); - db.data.insert(db.data.end(), reinterpret_cast(&rec.second.cat), reinterpret_cast(&rec.second.cat + 1)); db.data.push_back((uint16_t)rec.second.blk); std::wstring::size_type n = rec.first.length(); wxASSERT_MSG(n <= 0xffff, wxT("character overflow")); @@ -1077,22 +1030,6 @@ inline ZRCola::chrblk_db& operator<<(_Inout_ ZRCola::chrblk_db &db, _In_ const Z } -inline ZRCola::chrcat_db& operator<<(_Inout_ ZRCola::chrcat_db &db, _In_ const ZRCola::DBSource::chrcat &rec) -{ - uint32_t idx = db.data.size(); - db.data.insert(db.data.end(), reinterpret_cast(&rec.cat), reinterpret_cast(&rec.cat + 1)); - db.data.push_back((uint16_t)rec.rank); - std::wstring::size_type n = rec.name.length(); - wxASSERT_MSG(n <= 0xffff, wxT("character category name overflow")); - db.data.push_back((uint16_t)n); - db.data.insert(db.data.end(), rec.name.cbegin(), rec.name.cend()); - db.idxChrId.push_back(idx); - db.idxRank .push_back(idx); - - return db; -} - - inline ZRCola::chrtag_db& operator<<(_Inout_ ZRCola::chrtag_db &db, _In_ const ZRCola::DBSource::chrtag &rec) { uint32_t idx = db.data.size(); diff --git a/ZRColaCompile/main.cpp b/ZRColaCompile/main.cpp index c8636e6..16256ec 100644 --- a/ZRColaCompile/main.cpp +++ b/ZRColaCompile/main.cpp @@ -745,8 +745,6 @@ int _tmain(int argc, _TCHAR *argv[]) } } - set categories_used; - { // Get characters. com_obj rs; @@ -809,9 +807,6 @@ int _tmain(int argc, _TCHAR *argv[]) // Add description (and keywords) to index. idxChrDsc.add_keywords(chr->second.terms, chr->first, 0); idxChrDscSub.add_keywords(chr->second.terms, chr->first, 3); - - // Mark category used. - categories_used.insert(chr->second.cat); } // Write characters to file. @@ -859,52 +854,6 @@ int _tmain(int argc, _TCHAR *argv[]) } } - { - // Get character categories. - com_obj rs; - if (src.SelectCharacterCategories(rs)) { - size_t count = src.GetRecordsetCount(rs); - if (count < 0xffffffff) { // 4G check (-1 is reserved for error condition) - ZRCola::DBSource::chrcat cc; - ZRCola::chrcat_db db; - - // Preallocate memory. - db.idxChrId.reserve(count); - db.idxRank .reserve(count); - db.data .reserve(count*4); - - // Parse character categories and build index and data. - for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) { - // Read character category from the database. - if (src.GetCharacterCategory(rs, cc)) { - if (build_pot) - pot.insert(cc.name); - - if (categories_used.find(cc.cat) == categories_used.end()) { - // Skip empty character categories. - continue; - } - - // Add character category to index and data. - db << cc; - } else - has_errors = true; - } - - // Write character categories to file. - db.idxChrId.sort(); - db.idxRank .sort(); - dst << ZRCola::chrcat_rec(db); - } else { - _ftprintf(stderr, wxT("%s: error ZCC0019: Error getting character category count from database or too many character categories.\n"), (LPCTSTR)filenameIn.c_str()); - has_errors = true; - } - } else { - _ftprintf(stderr, wxT("%s: error ZCC0018: Error getting character categories from database. Please make sure the file is ZRCola.zrc compatible.\n"), (LPCTSTR)filenameIn.c_str()); - has_errors = true; - } - } - { // Get characters tags. com_obj rs; diff --git a/ZRColaWS/zrcolaws.cpp b/ZRColaWS/zrcolaws.cpp index 38fe90a..f9ca1dc 100644 --- a/ZRColaWS/zrcolaws.cpp +++ b/ZRColaWS/zrcolaws.cpp @@ -23,7 +23,7 @@ transet_db ts_db; langchar_db lc_db; language_db lang_db; // character_db chr_db; -// chrcat_db cc_db; +// chrblk_db cb_db; // chrtag_db ct_db; // tagname_db tn_db; // highlight_db h_db; @@ -84,11 +84,11 @@ static void load_database() // OATPP_LOGE(__FUNCTION__, "Error reading character data from " PREFIX "/share/zrcola/ZRCola.zrcdb."); // chr_db.clear(); // } - // } else if (id == chrcat_rec::id()) { - // dat >> chrcat_rec(cc_db); + // } else if (id == chrblk_rec::id()) { + // dat >> chrblk_rec(cb_db); // if (!dat.good()) { - // OATPP_LOGE(__FUNCTION__, "Error reading character category data from " PREFIX "/share/zrcola/ZRCola.zrcdb."); - // cc_db.clear(); + // OATPP_LOGE(__FUNCTION__, "Error reading character block data from " PREFIX "/share/zrcola/ZRCola.zrcdb."); + // cb_db.clear(); // } // } else if (id == chrtag_rec::id()) { // dat >> chrtag_rec(ct_db); diff --git a/ZRColaWS/zrcolaws.hpp b/ZRColaWS/zrcolaws.hpp index 2f93571..cf87afd 100644 --- a/ZRColaWS/zrcolaws.hpp +++ b/ZRColaWS/zrcolaws.hpp @@ -18,7 +18,7 @@ extern ZRCola::transet_db ts_db; extern ZRCola::langchar_db lc_db; extern ZRCola::language_db lang_db; // extern ZRCola::character_db chr_db; -// extern ZRCola::chrcat_db cc_db; +// extern ZRCola::chrblk_db cb_db; // extern ZRCola::chrtag_db ct_db; // extern ZRCola::tagname_db tn_db; // extern ZRCola::highlight_db h_db; diff --git a/lib/libZRCola/include/zrcola/character.h b/lib/libZRCola/include/zrcola/character.h index 551df9a..65d36de 100644 --- a/lib/libZRCola/include/zrcola/character.h +++ b/lib/libZRCola/include/zrcola/character.h @@ -39,137 +39,6 @@ namespace ZRCola { size_t wcsnlen(_In_z_count_(count) const char_t* str, _In_ size_t count); #endif -#pragma pack(push) -#pragma pack(2) - /// - /// Character category ID type - /// Two letter abbreviation, non-terminated - /// - struct chrcatid_t { - char data[2]; - - chrcatid_t() - { - data[0] = 0; - data[1] = 0; - } - - chrcatid_t& operator=(const chrcatid_t &src) - { - data[0] = src.data[0]; - data[1] = src.data[1]; - return *this; - } - - chrcatid_t& operator=(const char *src) - { - data[1] = (data[0] = src[0]) != 0 ? src[1] : 0; - return *this; - } - }; -#pragma pack(pop) - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a == \p b - /// - false otherwise - /// - inline bool operator==(const chrcatid_t &a, const chrcatid_t & b) - { - return - a.data[0] == b.data[0] && - (a.data[0] == 0 || a.data[1] == b.data[1]); - } - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a != \p b - /// - false otherwise - /// - inline bool operator!=(const chrcatid_t &a, const chrcatid_t & b) - { - return !operator==(a, b); - } - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a < \p b - /// - false otherwise - /// - inline bool operator<(const chrcatid_t& a, const chrcatid_t& b) - { - if (a.data[0] < b.data[0]) return true; - else if (a.data[0] > b.data[0]) return false; - else if (a.data[1] < b.data[1]) return true; - else return false; - } - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a > \p b - /// - false otherwise - /// - inline bool operator>(const chrcatid_t& a, const chrcatid_t& b) - { - return operator<(b, a); - } - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a <= \p b - /// - false otherwise - /// - inline bool operator<=(const chrcatid_t &a, const chrcatid_t & b) - { - return !operator>(a, b); - } - - - /// - /// Compares two character category IDs - /// - /// \param[in] a First character category ID - /// \param[in] b Second character category ID - /// - /// \returns - /// - true when \p a >= \p b - /// - false otherwise - /// - inline bool operator>=(const chrcatid_t &a, const chrcatid_t & b) - { - return !operator<(a, b); - } - /// /// Character block ID @@ -189,7 +58,6 @@ namespace ZRCola { /// struct character { public: - chrcatid_t cat; ///> Character category ID chrblkid_t blk; ///> Character block ID protected: @@ -208,7 +76,6 @@ namespace ZRCola { /// /// \param[in] chr Character /// \param[in] chr_len Number of UTF-16 characters in \p chr - /// \param[in] cat Category /// \param[in] blk Unicode block /// \param[in] desc Description /// \param[in] desc_len Number of UTF-16 characters in \p desc @@ -218,14 +85,12 @@ namespace ZRCola { character( _In_opt_z_count_(chr_len) const char_t *chr = NULL, _In_opt_ size_t chr_len = 0, - _In_opt_ chrcatid_t cat = chrcatid_t(), _In_opt_ chrblkid_t blk = 0, _In_opt_z_count_(desc_len) const char_t *desc = NULL, _In_opt_ size_t desc_len = 0, _In_opt_z_count_(rel_len) const char_t *rel = NULL, _In_opt_ size_t rel_len = 0) { - this->cat = cat; this->blk = blk; this->chr_to = static_cast(chr_len); if (chr && chr_len) memcpy(this->data, chr, sizeof(char_t)*chr_len); @@ -310,35 +175,16 @@ namespace ZRCola { } /// - /// Search for characters by description in given categories + /// Search for characters by description in given blocks /// /// \param[in ] str Search string - /// \param[in ] cats Set of categories, character must be a part of + /// \param[in ] blks Set of blocks, character must be a part of /// \param[inout] hits (character, count) map to append full-word hits to /// \param[inout] hits_sub (character, count) map to append partial-word hits to /// \param[in ] fn_abort Pointer to function to periodically test for search cancellation /// \param[in ] cookie Cookie for \p fn_abort call /// - bool Search(_In_z_ const char_t *str, _In_ const std::set &cats, _Inout_ std::map &hits, _Inout_ std::map &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const; - - /// - /// Get character category - /// - /// \param[in] chr Character - /// \param[in] len Number of UTF-16 characters in \p chr - /// - /// \returns - /// - Character category if character found - /// - Zero `ZRCola::chrcatid_t` otherwise - /// - chrcatid_t GetCharCat(_In_z_count_(len) const char_t *chr, _In_ const size_t len) const - { - assert(len <= 0xffff); - std::unique_ptr c((character*)new char[sizeof(character) + sizeof(char_t)*len]); - new (c.get()) character(chr, len); - indexChr::size_type start; - return idxChr.find(*c, start) ? idxChr[start].cat : chrcatid_t(); - } + bool Search(_In_z_ const char_t *str, _In_ const std::set &blks, _Inout_ std::map &hits, _Inout_ std::map &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const; /// /// Get character block @@ -674,12 +520,6 @@ namespace ZRCola { } }; - - /// - /// Character category database - /// - using chrcat_db = chrclass_db; - /// /// Character block database /// diff --git a/lib/libZRCola/include/zrcola/idrec.h b/lib/libZRCola/include/zrcola/idrec.h index eee77a0..296d29b 100644 --- a/lib/libZRCola/include/zrcola/idrec.h +++ b/lib/libZRCola/include/zrcola/idrec.h @@ -15,7 +15,6 @@ namespace ZRCola { typedef stdex::idrec::record character_rec; - typedef stdex::idrec::record chrcat_rec; typedef stdex::idrec::record chrblk_rec; typedef stdex::idrec::record highlight_rec; typedef stdex::idrec::record langchar_rec; diff --git a/lib/libZRCola/include/zrcola/tag.h b/lib/libZRCola/include/zrcola/tag.h index 4b41b94..6f8225a 100644 --- a/lib/libZRCola/include/zrcola/tag.h +++ b/lib/libZRCola/include/zrcola/tag.h @@ -204,12 +204,12 @@ namespace ZRCola { /// /// \param[in ] tags Search tags /// \param[in ] ch_db Character database - /// \param[in ] cats Set of categories from \p ch_db, character must be a part of + /// \param[in ] blks Set of blocks from \p ch_db, character must be a part of /// \param[inout] hits (character, count) map to append hits to /// \param[in ] fn_abort Pointer to function to periodically test for search cancellation /// \param[in ] cookie Cookie for \p fn_abort call /// - bool Search(_In_ const std::map &tags, _In_ const character_db &ch_db, _In_ const std::set &cats, _Inout_ std::map &hits, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const; + bool Search(_In_ const std::map &tags, _In_ const character_db &ch_db, _In_ const std::set &blks, _Inout_ std::map &hits, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const; /// diff --git a/lib/libZRCola/src/character.cpp b/lib/libZRCola/src/character.cpp index 4d85f39..b7595e9 100644 --- a/lib/libZRCola/src/character.cpp +++ b/lib/libZRCola/src/character.cpp @@ -28,7 +28,7 @@ size_t ZRCola::wcsnlen(const char_t *str, size_t count) _Use_decl_annotations_ -bool ZRCola::character_db::Search(const char_t *str, const std::set &cats, std::map &hits, std::map &hits_sub, bool (__cdecl *fn_abort)(void *cookie), void *cookie) const +bool ZRCola::character_db::Search(const char_t *str, const std::set &blks, std::map &hits, std::map &hits_sub, bool (__cdecl *fn_abort)(void *cookie), void *cookie) const { assert(str); @@ -84,7 +84,7 @@ bool ZRCola::character_db::Search(const char_t *str, const std::set for (size_t i = 0, j = 0; i < val_len; i += j + 1) { if (fn_abort && fn_abort(cookie)) return false; j = wcsnlen(val + i, val_len - i); - if (cats.find(GetCharCat(val + i, j)) != cats.end()) { + if (blks.find(GetCharBlk(val + i, j)) != blks.end()) { string_t c(val + i, j); auto idx = hits.find(c); if (idx == hits.end()) { @@ -103,7 +103,7 @@ bool ZRCola::character_db::Search(const char_t *str, const std::set for (size_t i = 0, j = 0; i < val_len; i += j + 1) { if (fn_abort && fn_abort(cookie)) return false; j = wcsnlen(val + i, val_len - i); - if (cats.find(GetCharCat(val + i, j)) != cats.end()) { + if (blks.find(GetCharBlk(val + i, j)) != blks.end()) { string_t c(val + i, j); auto idx = hits_sub.find(c); if (idx == hits_sub.end()) { diff --git a/lib/libZRCola/src/tag.cpp b/lib/libZRCola/src/tag.cpp index 78f8728..aca832a 100644 --- a/lib/libZRCola/src/tag.cpp +++ b/lib/libZRCola/src/tag.cpp @@ -6,7 +6,7 @@ #include "pch.h" -bool ZRCola::chrtag_db::Search(_In_ const std::map &tags, _In_ const character_db &ch_db, _In_ const std::set &cats, _Inout_ std::map &hits, _In_opt_ bool (__cdecl *fn_abort)(void *cookie), _In_opt_ void *cookie) const +bool ZRCola::chrtag_db::Search(_In_ const std::map &tags, _In_ const character_db &ch_db, _In_ const std::set &blks, _Inout_ std::map &hits, _In_opt_ bool (__cdecl *fn_abort)(void *cookie), _In_opt_ void *cookie) const { for (auto tag = tags.cbegin(), tag_end = tags.cend(); tag != tag_end; ++tag) { if (fn_abort && fn_abort(cookie)) return false; @@ -18,7 +18,7 @@ bool ZRCola::chrtag_db::Search(_In_ const std::map &tags, _In if (fn_abort && fn_abort(cookie)) return false; const chrtag &ct = idxTag[i]; uint16_t len = ct.chr_len(); - if (cats.find(ch_db.GetCharCat(ct.chr(), len)) != cats.end()) { + if (blks.find(ch_db.GetCharBlk(ct.chr(), len)) != blks.end()) { string_t chr(ct.chr(), len); auto idx = hits.find(chr); if (idx == hits.end()) { diff --git a/lib/libZRCola/test/test.cpp b/lib/libZRCola/test/test.cpp index f6c211d..92f829c 100644 --- a/lib/libZRCola/test/test.cpp +++ b/lib/libZRCola/test/test.cpp @@ -12,7 +12,7 @@ transeq_db tsq_db; langchar_db lc_db; language_db lang_db; character_db chr_db; -chrcat_db cc_db; +chrblk_db cb_db; chrtag_db ct_db; tagname_db tn_db; highlight_db h_db; @@ -73,11 +73,11 @@ static void load_database() cerr << "Error reading character data from ZRCola.zrcdb.\n"; chr_db.clear(); } - } else if (id == chrcat_rec::id()) { - dat >> chrcat_rec(cc_db); + } else if (id == chrblk_rec::id()) { + dat >> chrblk_rec(cb_db); if (!dat.good()) { - cerr << "Error reading character category data from ZRCola.zrcdb.\n"; - cc_db.clear(); + cerr << "Error reading character block data from ZRCola.zrcdb.\n"; + cb_db.clear(); } } else if (id == chrtag_rec::id()) { dat >> chrtag_rec(ct_db); diff --git a/output/data/ZRCola.zrcdb b/output/data/ZRCola.zrcdb index 9cb82688b8ada044319aeb6fd92867b178c95286..fc8f3e819c9e815ca63e393de0d997679dada261 100644 GIT binary patch delta 131636 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�D zorV>u{uW}EQY<|ad))X_z*ZEg+faHIsdJeqOi5NsEeA!Ax7%v99q@}*V}fy|Q>)ch zOeQ+|U8`*m;Jr)M2--DIwQZwiCKguo+p#rpmacSnjitU|TwU@WEnlc6P~Kar9jKXa zsZ%X6H2j8r`8#S5mGso=Q`A~kLgre;=dR@OHh1gHw=p|_-`kilrS+vLJFUU=#Binf z-|){r>(o>brLD)jf(EQtdjW(LBgAo~HO1V!kBhm>hn6rnQo=nSSgP&@$+=QEFjtD+ z00$=Ph{P{6+&_*X__nIM)AgS32+xVk}om zdRL7D822vgbIZH%7_M~lUCiRBWFtaUSlLDv;LJw#S3H$(!cS+qQs8E_EmshY4*FEg zn{CN^6NccP&8iOkrOj5)1R!udE#}5p>iVA5^Ph;84;jNwYl-bV!HN)O*xiHn6Rop1#O&ter@)n|Z;+=f{~ z=qFrhi3J!B+4%3`tV#dYHpGpt&cN*|R`RaSv>n3z3F>&|E#)iWANx_>Xt?9EJJrt_ z(G(HX*OE=%4mC<*-FB;=qpmBv)n6^5DOj9wT|Rr%7S!?sb+N^^P`M=8UT+<3rinV>Ae z+gF}@eGW(YQ~Uw-YY@~usD=pd5q-$gLlfxXdm$TYI0Thf9m3q|NgzL*yk9OfQ&bpTJtumCl^7d_WWQ#BZ|6 zCEXA%?K%nmIVY_NAY3t(->ntFNwqNwo;%57#P<_5#Zp;Q~%8#;NYU%2{d>&p4Vm!K_ z)^@QNJVqo3vP5U zD5uX=)!jwt?Yf#P;H>Z9Cq)CkSFuehOEk23%M$TNnnpP*e#Drxn%2Npk9xU77M~BI zg7^LWFJgw`!$peTY7tC1nHZ7rx72qn`KBwr)TDAIMG0rlU9myp>YVh8ikASc&O`U$YArE+ZT_;fPgPu$Gv_`6FHpq&s%lbm zrZPkckQ5xwR=gGKM>~F3pF@8KK2Q%a8&eskG?qlWreN{SL{0xd(Bn$${!otr4F8jT zcj=$((69YzMM7e^5k?6b+Qma=@k2Ghk}OsUmn=(iVDQy*bp6`+iA|V6-M`d+OejWE z6G?deFRVb``iuR*?!P$rdGr@MlHrepBXJ&kr2ZtDx8T6f(-@NRgv18HrEf2 zX_ivrur!GlJ=BV3?@)Cb@1k8sp{!aO_N`r=YhATWsXbkZu{D)d=Y_?EJKMNvp28e5 z-L=6|dkJ6_UqjK7eCle#4c@M+VR-~M=%r2PMnovBl;)QC6(Me}^3pI9P?)#Yi}7KK zhBqv1o_Wtg!FgRYH`?#5d0N;=tY1r`wMaVu2Xw_)&w84S9Ye66){1ORv?LmdJg}Wn zPZJSgIRKY;VA!{jQWpA(wb(h`lluB-!b42*(Q+*jqp_~NABRfH9>jZ+kFO?!R?&sY zvNQ)`FZyc1Tp|X$IPE0@R)O6Uj8TqX6>#tyafie(EXnc{dQ6PHe2D0>8VlHW0uoNIL^?DM%Z|)L{_d8PWTZ zG`lSp4YPxxYr!T=X^s~;|01pjYw?T-#Z)$c3Yx=S`i5w|ZMB_SLNqTMm>vk#a`6}v zrq!`AsY4l#wJwv!M@vF6|D%1X7Wj0JS?b6Qxre+CzZ0s+P%QAxelcQm8$W_N$r?P-j$a zFhHcH4Fy=BX*~fhY1(#xMLNvBwzE>#2D;!eHc~qPa5GZt1&|!2?FP6XrL_Wxj@HHj ztO4MP!jvSu#bIf)_a^vLw-~JjBUE(83sy6Pn<|UZx}u<0tl;fD6{{iKK^;xC{!AXK z^uWrrG8V4owK#30K*ecJMm55#-j^h&_|ux3@177`4iKX#qOXKHrpqo5Ptc-Jtb2ks znTzSL>KTkGYNmApCbOC7B--AL&B3ENeyF=PO>eGEWAYH?2v(j#0B5rn=n;!Y52Zj# z)oxL1KRTVLWus6?OJ*^>rIwGUyDha@0Fzp2!vQK=!81wGRArtN&GkdQKIcW^73_SG z7fBPxVdJLkx*kfOx90Y?P15=?Q4kij3%R{T$FOFtNYZ>bKMbyLk)`Tl)t}5ZT0ANo z+=i>a(uR99t}TOtw%TLh3fgf`CMR308!3I16`1X@Cw07;E1gc(USie}@Puzx=hv5R za%p?b6D-!Xw|XcNo@ABKMG&DITq!g~Ya^;pvBpy%hAIhs2>qO*sX*0B)lvX@rE2E@ zBGR-~00+{9-kp&hG_0CoT^+6B!I-Vqv$`5(DOqp;MeU#VQmIQ17IfR5-bgE1l2K+(G$GhE@PDw3F42a0T1qa(Mp}42%7z6Svc= zvo?lx5vr)lCfP?z^P1JCgPj?FsY*%fn&5dq!)rNcEJ^~KjcT?q1EtX!&(xNy|%;9@v-nUtr zzm*rGd?548ZWdh_CaS$MFZHPIO{=?UO~Cs|H<&!$7j%awccaqo5ZaAycZbk!l+c5p zX7s@1?M7#MFlAg%ErTl&y9-C?ezw+}d?sUi@NiG~Z6T%DlszgC4*I7j3=oX6wSE8# zvf)|W=w>z)bcKp2*rGjNcGSMqL@ zGFV#zaAB~f0sJu-gWHX!579mVh#Lw!lgiNWCXkh}ekdjYH##-csvrR3-H?_rV3-yv z3J+sRjt%3Ei5SjOE*lO%0plB9!!bnpNyuf;GdWs)pvL8BXq{*w=5i^c>}+842A^0w8vYH zwphCrEYbqWy&pVH@N-(ag-FBFt=CwsAW|%q zh}KZ)ju(Bsrf7}G=VX){jlYbyU;m8Po&$%m6Etz3f;ei>81MN?1yR-UD0dn(5q(t0 znLkmh<-!CS{H{0UPeA|WEYX4~?|bY|e4eMJGB#9sRjDVjv)9FVQ+B>~8tg+}(3&$o z5brFp5Q7$+c`qPH2d;QBoV2LgA3n8#s5+XWrXWCtYNlY!*P%62Fv$yw5NOE1M!9}8 ze=5dQ9ojh+GcC06B08=P^?DHX&5kdDEB3F zcpcjM65=7jJ_7a?A+_u`9f4{c%9?J;=BIqDI7GVwY5#n@Ap2~(mSf{WjS-Wm0@H}1 z#%ox-4aM$k-VC8t=cO51glOWESK!O*(Da#FbAX*QVUcy{_Dt;>z`0iuK-Hm$S=@%1 zv$Q{$Z4^g7ip@0IJr6Fk{XDpWIy8J9t7XePi$d(@ zCrP_0TcL&0un%Ec?dEe24W18wQHPGqx6D5Pqq`kdz5#8h3lJ&`wbsW5Y_e4A$OV|& z>d=w}@CkM3?gID~LD3k0sj^@DF4P(WmA_DH3$Syc_6flBMOs@X6gxHPf-r)vFVdO< z<-1rTfUS$Ux9=^sIBIzBhl6F7l@0?%`4V_4Sy?F7Bs>tCEM;-BmRiya_T40E*HQ#7 z5OFCcMcBJ1UmuZbHp;Ww!<8hVuqQ;Y#KkdrK;AvN=xig8Fd3%xXG)$CN zSAb-3A-p=8SExk;Tq(4;i*50~RQe*Cm%UsY0MypyY_K6Kv;sVpuF%E+)O{0fxeg6| z(-J!vm#pB(m}qRpo7zaOu@Ri;VA+(uE3q^YEf3*$YfN|bTUb)~W_0AID>c(9ktp7+ z2`-_lv`(BCfJt+h%&S@j0}OA2Vps7QcVNnOMfvY{3QpfE%9-1WBKU_weZy<0V<2K! z5mtBt6|Qs;FWv<69Yq*A=s3dSQ=r0>p0*L9(T%9$Vw7Iw-Q1mCS*X9{Y`0pwj?v=` zdrOO`WsyeX_*yloO7Uh3yR&ee<|AEG7%nCs{WSWg7H(AbiRtRBD%SQ^)1=wP{7d7! zwL!y2pHhyEcxm@9^TN{(H|HxG5guCTWq5V>FS_E4!;LC7VQ-_3bLVCa8-S9@IK067 zmkQ_M@J^nv^bOyly>5{lQN}+-Qg{XRRBh3)=T^rVy;TdW=5!2a=V~}P7jDCP1A4o# z9jh^Snzchq0Qg{smTbp2&59q^iZ9oqri(S5n(V{^#GR(@gu8L4tvg{f?$mG>yrVk} z-i3M4oyvE?ExOa)U5IBzaTU7|3#fcId~a%$S-)rxjC9j(tO?!ez;3MR-6>)ZvsttU zk%2os#1j`xz;sYZzQ+*~WUn>jsZBXvynX!vY)Y^V!ZDoXl5OD-(@v>-wf9i^_Ffpg z#K$RbN_>24XzGOz;hfxQ-G{Jjfe*o#x~n9WS-9>>m-lOS;BW3{vZMoCcE$lX7&H#Rs;Q%RZS{c`MQ38_VWbG2 zB81%`bzRd*!^*gm^2;#L1WgM}N4uB?>%tg{FW0(&#f)<82Eg!-;2x!Pu~;2&ud&{* ze#CnBIL^{_KaS|qovs{b6$O2)9l_J3kFAyk;1t~fS+=AMvDdH@+G^k*o?tyBowUgO z;VJQoN*G4Bg;DNay>BRrsM;UD^mjz&R|F)v*2YhVDDL$5B;qT94ua!8Ceh*T(c@D- zvHC&qD`SLLwvwropqPn;pF7z;<$moYLFuQMT9A1Pb1c+-iY>%;8X^3zDxgOXDy~G#=|OiZv0>strJrF|!bfpv zcL>^2TA?LS=tbdkDDol~n*_iVA@G!Ssr)MDkgAI?L=SpgjnZI6Ub67@7@YB0`8nbu z4?6TY0&5TQ{Q^rb4;uT0CcZ!yRT+rExT@J-!rma$mxzizsNPpFI}cj&6@nf~I9+Kd z3CosZL%+$_+F{^te2vW$iEpJelK8@J5U_gCg>SHZ=0WSeMd&@wx%UU5&1y@+=Z?0%_@sxX&pAK9_4|-6@ zHSG|PIDLiQVPulNRD_bDeVn(Unx*J{p8T(+8O(Hg#839eYQua+u2WY@e zMCAf6W>y^e_t4wY>RSlNJ!t1G?y|7k43^!lktY$cmhBg~vBr0_He5JB$-zc4Ghcj1 zTYgKKC`8)1=7z(vI&Vl=GmZ|FTVN|F6Y306T!)EylmXxqHz4U%9I@ ze`8Sk8{#_{%I_Fv9yH^3=2iZ?mcq3;uoK+ZQfP-*9BzAnm6Zn_d%!|@{DG;`gAV+` zWgkkA^e6m3I7x8iPadhZhcygE5R~==`s0&$;UlreD}1P_T%FkU878_RiT-?ub)N@$ z{Ke`T`WF_~LQlb1f9A44MLjW#Jot+{%j*%3hjEWADhJjvBc;8FuLUl+tHRMtlxWJY4cc>pi9rw7|qI;TFyJ7xz*0YE&U#= z4(NE{LpGZ(9hlfLn%+DtI<1=ua2@Rp6)B z(uK!7QcD-z{J54b{KsHdU1~KFqwE#w9jaXQra(p1)<*#>sLjRB)#hSeZhB{{7ebW+ zD)rIhXsH{EvCd6z3;IiLOdnQ97e07`1cxN>aMy<;bDX=L$xMWH7s>`zx$7-~iuBOO zF-q+1EVkO}p^HAb@1aX2i}x~1g^$C#QoHU)tL?fcml1uwOd9%CyWWKJOsuR51)t_r zQdbYAL3LT!v2|IJGj;WGV4dWtk74RqY%Q#;q4ps@Uh}u7E^RX!n^LPNzpkEAgTTIs zm(Kp(OCJkPb-ndb%qa@n39F_2;Z->N^J+_Mx1IOq%CC6qBWj4=qTNp*T!jxhl!?~Y zW1{W#ETVYqpTAv06hkljaD{7pbm4M?eD$%+OPt#)79El--;RCls|zP~&sP_-W>$S& zPB>9YGi8IEAg=$@(yH>G`nnH@d>iOv0A@7M#SCz*fiC=0ik~j0BGFl!*+f^hZ}qQg z+{ve*?q`V*jblLhU!XZh8|wb_Qp2Y@W{b4$oQ8Tp!}nm_8d8R^a*QaUtoN;1%U{R& za_a8?l!~^ADH$i1{dIg3L?MkVlz64KL#p_2BVCS7ahwS!hwfu2hX&|6ixr1X-6iS% z4$xz0TYw(Gh*w^>{852D|%E zG%tekI=94u%ElOV`x~?VFErNW%p8e*BPZonK{>Am>CL!c0wmi{H?HGl%fw(kih_eJ zO~yg81Ckhs_GtCaV7+=G4#9UM?ET|IbP>h04Y90OoUlA1)m#y(H>Tf0ScJNvIxgSA zsegR|*BXfMq)arS0eNnR)n$iSwHi=pxomq$m@cOGGhu84(cughh3j&*7H>gM$o{(e z07euap$C9ED}u?kMzHHn&`P)t$5LRT8>V(JU(?5?$CW0E9yQYt$d=x>Nqjb z&q^P2{^`7Pvg)NOY^;m=l#QL2?17MjKMea#7o@+ z&!pLgCr5`;H{BZV272M5ES`EZI-EWQ0tN5sa!480kkYa6{!*$9F`Q3P3QnIqFmw@J zB$)aF(!b@9y@#*;>TYU{3?usUxeX75e<)gNm^&g z(AGM|N3mZ>iDE~yHR>rxb5-(UM>9Jru0BnSX4;w2met}M01i9x$PA6KTBl;z-H@%r zp!B2o7~QQQeqlzbjnvN)LcG=aPIAxwDYh{^h|z<&2`c=^_fO5@e4c(}tc8t)=6AQ+f8*5BoB^b13DJR1{4;ri->W1ygrX> zj)bGTBQ2n6SZpX2CU9Ge6D&K^F@k@gf?9}kOFqN_;AfigD45X9(uEj^RTh3a-Zx+0 zrPimI<~3s=0UO{P$;C(E;OuH3Q2Wm2`a4{El+sQ4RpNchpy}*csvqrYp{Fxe^x1E6 zK(9~KLmT3Ea})!qv!zZU`|omG124SUnMBKf3)CNSa=|npCcNU7JUMx_vW9m8KIHjJ zD787|d15N7NNkEXCathOyxxkZgeR@^0v1CIoWG^|*@>04*25VgX2{1<`f3C^K1mu@ zlBGaV`pHv7aDkpYr}*Qid}{nQz5+(57Nz*qrtB}ZczL?BM;lBecFJv|_XjxC2K{KK zu(s&Ox-_e;o@w)>Gi~+e0Je5|D}c7`^dt{YuoAm|D=9ZwkD!uvcuQNIx2h)3y+LOz zT+{IxUN?MmEB4wODn$YtLIKHe0wT{3eZuG-egu0r8k8jqSj=H60Lh2_}J9<6?sApc~}Zk=qd45iy-W zHNYR{whpNC?T)&8P2Pu;-$4(e(;aoYmDfnwC-Oq*?~dqjPpX%$Coswnn-BYGcREnd zrR&~6O;6|gx1_UBm(md(dQw;hXZFm{lkl`CgIjR`Ps~IdW-S-|!zj2D9ET^RbYj98 zow)R|PI_}okRYXku60IjRXuh0z^0EBB@QVbsV9~gXYPb?o!Jaa zCHSf{%TuQdXC?zM|N1EXl_(ogtFL%v)5YqX`Y^L^B+rUJRo8myN|IHZ*vk4=VrGAe z6-UcVRzl}Yy{)C60Ohj8SFKdtXjdl29_$i$fXA6u#lrZm{mZ6q52YVAo$!k+kRrb; z3%R)~o6ohbmgdFjjPL&~;-8IuJ^Wk?E)klDqLp$?s+vwrJ}u$v6HK0-~$kbT<_Gshi#pAf-Fj9-g$kJ3rm*&J3e_AXf2W zgKCIVcQ)^z?EuJXz=+*IHGSh9Ihul_ZRg0XJ^ zY6tD<4`=5^r}|?&K_>&yiC#2(fNlUR0ATJucvIP(Vh8Gh`20Cdw34n2&?7)%8^}N# z$dYy+s5_83S!U8eZp^8HdM{*#48p+mqJe{8|3XQPV1-z`4}$kuA0270$$M7jRUi-K z^#;TE1i2VaBPFWjOT6tVdqa2i!nOLWaDf~pk>g_`@wLfd-PK|kgl~tql9HH6JNXQ; z5F+v&BN3g3=-x~$@}84<=Sv;fiKr$PV{oiQw2zGxUHQcj?x4CuxlNq`n1fimPo#oT za95$NH17r-F!H)6rX{7oPWl&1f8iz`E+&Fge2XuPH)a@OGSOZkOujI3qfvjTybnw< zO))G^B0_k9k(g|8tnTbEES0?I(J(}UvTy{p2bf`-90YW45639?qMgGL_y~Lm=JgkA z@U1y70z9Y5JcK*mbpBPu)P*B-A3C2SZ7BzHxEH16@_5P5g|`vB#8fdumJ=h-OSD+z zi!VW5p@iNTrT!ra^=n57*(vB*{Y^00{j3}V&&n|{0^U@V5ubV$NM0P2j31$=3b{vM ztTiC$CY~2=K>TFi%JqMrU8r-D|Vd zG<_7eZObV38uvz7)y6@rMYMYqb~wUcPH?4?ae4sl8;vQ`i!O}jCfLSU>JSsfQkKT6 zpXEN9K_km#@z9C*KKD|HZ#&ZZdM5`jO%e+!HfPGH(SiKwY z#bXgcdC`-x2#?{{o@cLF`8;d$$@2)?MA>+R>Tk)i?0^0lhhD6hhi!))<1F(Mq3_!N zB}wP9?Qw?s?WYhE$LmFm5Zf^8B%%bc1BPs|y$po2191^zuoT_Ju~@m3Xo1TUVNwiB-qO|1ITB z-s7R(g?a4JO7kqEia_semXv?y>FHpdl5Ytng2XM9{|v0)PCmjMp*%6z-r3OXFacmeAZ`0^JJtP7Mc{FcT3>JSuSWH_IqfJwHXsxzh!O?;8Z`OFvfNnm+Tg4}6(3YQbQI>hA~ z^u`R(6Mu5H6R%1R^Pr@^r(wAQSO1bem&-U{WyfkpStm=vNbEUC-!xrs0rLFmJUi{4 zt`BF5F!+JvqEvJ0@v=431|tysSd_vW!)`6zJ-R?!_=OjElANrUFbbJrO^Ciw z9KNY~6*_)(1_E%=bm3ER!G-AV9W$)1)v<6nEgAna!x|i-PtQmZg~dU{UaweM5OUxU z+pF+uWv}Rsfx7Yv58T+9dOn^?XIgzM>=P%_Kv?uDwr$`yU&R(K=G0d?nECZpJ(gt> za(*FPd04#+B^K}4grIHE!C#7KsTHl5#U}gBEPW1251);lPeBoc(=*=)3WI)_tv3P6 zqrjSk#MRGR`ce(Z&_A^8+8n(l~ zqslp`W$A3pGkJ5c*6^Zbb2ywj1z@!yNcmAP3L^b=y|I<&z`CCEM!&8{ah^X0(oeF& zve&JS6=A^7oaa?-RGqkAedlsum^qi#wtTMM88u&;YgH*etNN8@y@8hl?FVD$YUCR{ z!%cgG8}O9`t>)>2xnl8E&|k7cOZuW6AJ5Y}2$jueFFJibcir9j90DaQKnUbba~8m? z8q@IwkRpm60eGZCBOyw68@?7QLeJcq8})|s&xQJB8)HIoHG@rJJa=H3yn2(H4>el? zPneFcRP|m=B;NevVgpfp-wurY7E7_|CHabbCj`Rz#!`fKR^}4iIlfCNYS_9Cn>gu|v>yG6(?#nM@Tb$I^>_z?%wkN5>9np`KL;?O z1lt{gld7~9pX_k8rPxhNclIjP8`=QJZqVntfb{;m@Ew9Q3Z$V=Rl0H`UM8f|xsB-Q zbZ7D=y#U3ie6xOo$wL$pALIzmKfI?u0P4yX{RqIi_c71}Loq%zK@rqI2KYlTMg<}Q zHlW?BxnWKEw`IIxYH;>;2|KtHLns^`=wA4|vu3 z@;=NR>9lqq)8CaK#mP_0om}jilbLki&zZ&hG0O<4Rm^GKB$M$gvHjx?nX*`}f&WMyxtqy?-Kl1n63@t8i_yLns)M3mkB2S!+?MD%}koWRoc+GTLbC|`xeVE&lbi^`l z5qA%i48J~t$S0lZ9%Y@6JIeG&j#|4{>3xiWoSTcQtU6OPP`Uo4> zFxHP)w#tvN%1@`r;|vOpTkcIn)#G^d)fUkTD*RaA!s;-vf|(%4$U4apO zTHgqec}CA-+F-b$m&7=5(1UQiBKz!&-VS)*vpn!~&+-sHa+Y1q%yX9aj)0Gz`IKN4 zGoxIour0pA4?k~B6OlLo_NpKWEHZHXwQ#!l{Pw(_Z3!5y%;NGmjntUL_glWZZHltc z1@G5j5C%fF*_2j{2JHG1GgRIM{W)6(UAmwj@TkVWCd-QsSfAP|fbLZ2*`P_O)VBcK zuGBYLqi=;fQaa>EtQ}mVI1teKt)rg#>EU{P=fd$Jv!iQv3AO@=?CyM^EyAp-oPuK3|eyogD->b-N14$gL-|3SSW+meg|)uK_1`3 z=7fwfSof7mN3!^POh_42{ym0g1_l1WApZxfdIX{P;9;XAjQJ7sjK~YeiN;M-`6FIv zFZ~fyYzCeB5i9i!8vY-|t9bek=9vs?`;$HbpcH_MHNiZyO|okDGuDF{G~s8K_?w?G z;bu_gO}xaH{9~}>0smye%;HVwMly(Gu)$Mp+^K7atfaLw0#Va-O~gE*aN+C4DtMCSnPols01ru!&_@}AfHD76aH zV<#F~h27dtw6;o5WD;@l(g}D^oK~jw_i^ax?<%yj6V<){6u~DJkDU7mx;xQ~``9Y& zL`N7npWKH=@HpmIxQb5X{8gW8>+DSVO%HJa9R5HL6mZ6$h`>EMLnu`#LPWXT#W1Mw zZ{5GBC0;qY{-yr_qT7FAdH~G*8+~UN#D+3Qal<>d23l(he}au6^B;Xbv(c0S1;^Y4 z8+k3u6aB2MGu?ZlZ?$z^wa(bgR61@Qu+xQFMj92`j0fPoz{S9oU7eku)H3D?*sHcN zM+#=(Rt0ZCiwJ#7Ge3%{V}PUcQ5^%H8Fr>14`T#Cfrl}iS>sDKM2k#bVc=7VoOXsM zrQ3}P#zy0Uga$%9+{#shol@7R0LRXr2F_cE=HZ1uj?noA7>Q2YZDtC2g6bK|1>EUl zED#FWO{k|1 z1zmp$f%EfWMip2M4L5KZT4!f*gfUCN2!}BPkcw4f5`eE}j02dZ86%jBSO`VRj*IVx z2`{?`rlxq^@B>k2-S`S1!Z0p!_nXSMN=zu_b!eJiG%U*Q>|q)srPR9eHA2tI%g}Gx zp;&*XdlWFJd{VSgPr!m012^e(re(2Kwc6HpbdhTzjaT zuX9|HY^bQ>K(f%O(`avW6aq|0kv*_8)tFq}j=lI~yF3}{!G=nG=addcxU5rjVtOc* zZF58sfBTPZHoS%HX#536SJEY;uuj#3LRAjqT3%L2HFbUGZ=H?!>hZZs>GCu;9yzaM z8kfOsa91N%h_@(9!b9DRNb&qrcVn7>xjn1JjfYS@=w5fDJ5B73%O~3RVg@0-r8vX; z7`W)HvvX}<=!Fd<7GK)-4yCHv@C&K2xE-LyGiV@pVYG4x@$T{)XgXu|_6G(!`)YtO zm6 zCQva6J#}!b(N2&&d|n#Wyz$0GR5NsfaRDH1qOlX;#zX^Nj+RX_{s35zXZ(s1v+`jL zmKDE^sFp?Gy8+7bp;N!fMiuK$S3Xk4htl;2s1g`=XZ92W-zrPrT!x_ce+s%oEZy$> zVXA>I5IQ@xg4#3S<7m!hSkij`z6N3>-+6zVsb&bP!a|vN`Bc z<{YCGDlh%Z8Pnjf7&|qa%K|-~Yd9oX02rU^@p{#LIwRbIDv@x5w|moZ)JGMFip zD*)jALTRl%SHQyXeBe#YT7Y4zbshU#F*6v zE;I*|HAa?Hlz}~jLTkL^@-^!Mz9DOkV8}XStuX=Ax7SLyICC9au(NJ4PoU1|5(6Kv z$RRQh#~;{q_$EvqB7b+n+UVUg6oR+6ER*xY$(O>? z$olk8f6cRYe|&G$na;e6ITQ2NMq|2V61XD7s;3|BbqU>MG+||iAkA%gx5$)nlZItyD6_X_HJV-&D-afmlIN=CRCqzU<4z-@Z%cCyVq+9|2) z?dB1 zuNkAPPm6@XuNQ*FLXy zbBVYY>7*p6(X4aImxjBjd)8ORR6zRUYvV4n)0BK{*mGFIcW$r+wEosuZCTX=<#Z^O z^jA}*SJf{WC4$eX%f>wc4_!6R2-PgOVSFM(IRp1;ou_5L8_7~B@BLtWE-L;JR>V9L zupwAs&4gv;Elu+IiF@tZPewvD#T?}`iz4TiVbUu%jdxkvIKr&eZ@qO4OYbyWMcn|X3{?#}KaOgMV6u`XSjW+>89>C$i zE*}^-0oMLu{Ajgq72X9f+kfhq_37t7En|;GZ2o->TX+zG4fxAAYjx6J$`3pjv=i@5 zy`60yp=#!+Du3d&0j8K%>=dZ1f4r-+^<(2*(RbJWsUD0P7A-&VOtdQAtX>X`!b^jl zE~eGQ9Gf}CYT^id7|(NCxOH71mi-WkEwh{p#A7e_j^uRs2pq;+ zuBOR|rZ~!Z_y2NY60^2N60MBF@j{kjM(wOT6&qgr~PD{I%h2_5+yZZT9l$0-pG|1fSR6 z_c5_(Zve6;^~^4|E;ON@`6lDV!U$Kn3w-$NW+;vJF=qpR)5rXY@v*pI)m7qm8D=oG zsBg}$LE!!xAF~(vG%)9*%-RO#HGr9Z=J!mY<31*QCl+L;$*T7?o z{aRO$^@ERwgm)U5uXFi0*t(}I&sBdNz@iNfG=F4#ONj1W!#|4lH8%6WI5Nm$tm7^v zA6g!a`gh?+l4x`=)Zc{`1e=oqo&=j`0M3P&7XXSw%~Js5!pw63ZNtrJT!o1(o=6i;=8rve~F4Fn2l*bTc)|t)~Ym7 z8H0Po{)bV0tGUVMNYSQbwy*mDEM+{t)ayWLInoSYv+_n_G0J(ct5AA7#e9wtaZ0Xu z$0UehNphsc!MZYJ9ve~XG>ceRC%)P52z^$inNg@aq=RL+&7jDx5(V22C6|sY+t`k* z$dq(eWW5ZlO*%YPHkIa9kCc|3;7f40tdltd;6f)JDeF3$U)9LiS5lXCsgZFER*(s$ zW=B@qdzsvCL0!#HxJXN7G%o)VXrXvZUjwq>*t*c6EOQn>ayRo5Ku~w{8!plseKB0> zd3GmLrK%}rI8E%qMJjukYe74yCj+l+%W#{*li6+YxJ3ONQw7JQ9Ja-sIc9!M z)h}BeJrw0%%w>PJCYS5?de)q0Rg;3{9F&$!%#?ZfLy4kqsc{7`{J0g3b$W9Y}Go7wK&rHI`u`|Ct&a%D^xGr*u zAnPZlDl7%Yn>wXV;5N;eAU)7TYbdlp(+X>xs~=r0K>JoqGIO{>fn6@J-DT58=2?jL zsA7dIR^9MHXwH&+tIf%1^Gb=YZnK;rl9j>u3XM6kY^;pclg)NqUpjmTmW5(s$Qfhy zpwUyFLXa%RuGVL&B}gk=k+)hp=h?5}dV!y(A}GO(_M&-$Ii>;smc+Bl7Efc9otb9g zQ_&Edp%;?}3(C4`Je`RKPB)K(SJ=z!J?=?xY=-$2GS|Ffc?V$v8{~isA7wVBzh-jp zC%Q#pUzK2Z|!=`?92QFVv8J{h2!AvXV0+^!fxIdCHmo#e<*3>>sCbqv6V{{&1Kmp z%{4!Ph)Hi)(q|%G+#yPi6C&Da_B@NFK1lTUIu(wJ zG7NEPS1z_{>WerYs96*x6atsc9 zv3t#4V0s3A^A!HO-y}_f(o6YF&>&zg$19?%I?UkeTWsVJYt7A&=geAjCP3EP=7*M& zV{mIWhYTF2aNQM8@fLN99|`!zB8qMmPW#uHK7!XeD|k{dYv2R2nqY^GV#RuP^9RKe0^YT!dy%wG^eS>9v zVxR5@VM_-2yn_k*d;(f|eglhiV}m)IOXG(}a6XK~hKVa-iJRUrgBj5V=cs;?Y}q1G z-(~+X>s`z0#OKL3Wm~FBgfHG``fx!J(cEGLzy2=S$kXGwjWs%Gij^Mg08$0h%1x#p znzMBi2e`j)GBfa$yxCfRw1g+Z9oJ$OW7|Huz>J~w@0r~|boV{;9j-AE?&vp3#2UT6 z#e50)!S8c~e*b-I#uI}5X~k1w;tbu!6KC2sb1JA0Y_s$)Zc%zf%llzM0=HDIAr9XZ z{4Mf2Qs@q|2goPwup)U+WijqXLw7aW{K8JtmYfMY@KEY1F5wwCm>G`q7TI9f5mq0L z?a^v%EnvI<|5*BPmziM8q?^0UIDnwtW-LI~Zd0?1lH%(M_i(Dn&;#oIAHKA4w;2K2 zQxe?WZ8pb~V~-gP&}$F#DUe{d1UL4W%>xBjcl`NT@}%<__b&M9mV^&X4Mhij0GF3Z z2R>ka_dYOt;i==Bk6t^UOgr5Sc$6G*g044s-3l z9yVJcGxms?$PEj?E9~y!RHjGz(=QA0r9|NoxLU|{#MD?r_$g>5JG>)KuJ?om3ESxh zJIbW*kC>UDi#y7KPdLh=E;-6F9zV*JJeE(*kFltujj`nq>1prJa zzEF9Q3G4I$vjJGZTq}nSb|tTm7_|M!q7+x#yewI6J7G5F(&C8u49;uN9i_!LR(&wH z%EREe3qjQHbJA=KcD~2qD7w|QV$1gL@|#}kmwmMc=zdo^B7z7ktxb0 zpD+z(DatL7EQfr=3R`vps_#mtswu=NhQ*S?YEtY;GYu5^C(Vuk&XX8;U8&J045od8 zEupS-;S+2L35DRxE5xG5PGXVmvkXTK@;*f+Sv2EQm~a*qe~SLiq7$E*(IHu&#;@Aq zC#t)l0lhKigip%Exa%Q)h3S+T1j@KmFr+N%dCCj}$d^ycPr>H1X!|MCNUG+t6{A+@ zuk+JftQxk3XQ0D+1OIdl4Nk*Cx>3q$w4)mppEidB*v_CG-B3=P>QWM|B=0Cmqo6}X%3ER4PztvhRGScO7yV44d}JZt)q|2Zxcea`I1cpQxs-%$&u zCFih@!(@NbBDs!4ROJMfEwlQ=7cp9~aDO07h!DDs4Zy;sA%rL8-is)X3x zsm^C`Pu(f*GqVvu=4WQKM|aTI!=V^E*)Ewu^www4Sa;g_nVG;S@u{LGP5RP|ZqP;9 zg>z~x@ET8)5npt9QDvnWi|;*Z5H#u{Tx@q*cF{}$sJ!?T8(+yLQ%MAiO%@yRsbhW0 z{l*NV@t|OR|6}V-;JPlJ|M55G z!6Ax@7ao9ey-vV`Lp;DEMMc01P(jH1M6yyd4>D8p!b&DGQ@hMeg%01EmD*)yUR~ab zmYFw}mFD$(&g={7^Z$PzK5*Wz*Urw)?#|B6%dvAlNB1?}#+TrXv_E=z$}u2aaMqrBL`$!R&JssyKya9ffS6%10wo0KAT2 zjG~i{N%pK`(9bEf^q8RRJq9JIx~w6hanfZ?jz`o1hIU-qE$=ucw-j1&+-Z4kkhV^P z99NZB7}^Oz%sK%#ZqbQ|UY@8}GyEG!D^9?|yn7;|p?VdJlN0d@r=s_OkfxoCz*i0@ zBhsksWJGVecQOK_;Z#HngHsXh7^4BW8NnEV zH0*SQ4~;t=(U~@!2F8ig5$&+W?q9UAiqOO}C~qd-Q`wn_7`n*+1(z$d01U553a!q0 z_$JSnM+7UL!?95nrG(Pl^B7aVmt%VHJsXijlg>sAWDNd>sDOt55@A8<=LNg48^hyV zL?S2gHz-pn^*kg#RkYR!PL>4zW)BI`^zpffdUWtyL`U-dIUTnh;5BwD@=l>cp zjQ0Nu>j_(dGaI~}|CwMaIvEy6UtPfbn2MKv@bro(`hG;i;@=|1d!%BQAB-(d zsRt+Ec?!OXF1_+w#9SohU&JDVO42Y@?7oJiq9Vh0mP*l=U^JxCm`f3z0M;vT zL4okg7#*CqIo!gRr9djb9MOv2x(wGdm3Ci-;gd=&u0SCxv>+T8h|(KVhbs|5UeBW~ zU&UW4ZMgyskxDnNL?j7jQ|Pfb6v2wCu>L1sh4r6G^RGg~r_$l85vdMZFoFdKE5LKk zRkYKvYcT#$r)#jSQgNRzLS3n3T^H6TU5}WAr&HG>@&QsSpvO~bPesHufTSCkM^b6i z4OpnD)cAK8f2lO*cj5lT?-9%KH0cj4-5|ps5vc%8Zz9;1O3QD;%i)@FobRiu2Ec)q ze@67?On+jSr_#nhp>$-NKBx>@r6^9>5)6@;4T|m@1ztbAWraF@3s3!zYEe;PzenJHiB= z7Pk<(WTeKfVED-_E4bZKlCIy9_KLhMH7&gDbV(CX!?jZXOKt8Opj-Q&h~^+^`~$lL zjsK72+YKNE@bS7w>G~ybQT`7YEq@(L-2LugPE<7yfh!z&8L7)SHR=tduB}YvuZ@l? z<|;naYSQsL5sjQ|0q~HeAuAK=*I;piz}^-13+_gA@#PZu6T8#FFpJ6KrXEcdccqen z_e2_&-xGm4aWA3|Sl8}LcZ~sX+9r@MgJOC0egKVf{Jx0SRfT3esOtPEIE+ARO+}Y6 zeV_Kjodmx=5Q)9_z!_fbK>s6ESvgmGM95pPKkle}ejeIjFfh(To8^&47d^CSfELxX zV1T4*T6BCGYQpAOjaKXsrnv@UH#D11J@BhCt!68>g}Y%oWE^%Ykw#_Jv<9HErS=imtr?y+)zAU~4yu>8YiKR-)U>7+3oxLjke*Rf@~y8aR1Vh^25&16TuW;V z%!FE6)8xwfwQDsHp&Op=dmw(8Dv;CIF>T+9Ki=*Jvz2{;9?~W?T{T@Xt=NKSvljlvqeU~3lc#S?;PjxD)*dCtdP+l0^3)>nw8m2yKjtZE^}OV% zkC)aBX)C<6bb#|-(xgqjrEXokwdfX=jAx;U0m4LzFe8=%t?-r#Z&%=~w={4)AFYcQ z=i}2pMp3k{7EDk1Xw6Z;DkK4%^3i$#gw~eaDYZ4DX=Ni!lt$ni&wJosKU8LAZQ*7| zZRxKIwS|J_D`0}J^w3gYL3!U-Dtg{ms@<%P)NoK8Edgb{P)D-wtRtA`74WI6#Urg} zU8(lWx{~3;x{~3Ky24yDKWXkR3XJfR?28oG;wSlj_7hB>dXg4hPefs;dMd0ZytwNL z=4Ax}>uar>slM}aeT@pIqPpC_JzU>wE>tq}Q9G|-a3^PC1+ zkA~@JWR{R>t$TrnlA3fn)c`D~lZQX}NvCjsh;2Ic^hZmj(>Q-EvMFa{foss3#jI!5 zKuf0&{lRBCT?7_DvxX3rbQ;hQ<)>3&LsTrCHa0{;$t{c2-v96(kRZGxcj5d)|@qt$Gx zg&`@jsbH*Xs$~fVe;k^xFk%9)!N;t=LaEKP)?_ymjGoQ3RA7`e z(^3E~HbWzVaC3Q@(_G8K(~0I<20;53^0cCbHWW|S)l;9A^0c9)P`RT(N}xQg3539; z)3HDdo^-N;1QaUpV~{q%n=8*=Pg(2Y6x4fUu+|%hWx>*(XM(k0!C-6tkaOC8L@O;o zDpD6?2eI7{tpVk>(sX27+DaQFNlnoT-%C<)YpnxPI<*!aS1EA2wRA$K5b39JA<|DJ z3hWKhLYpyHHSq65>xV0425)eK7J{5R!?a`?9I6F@?2J%t0>Fh(Z3I9{m^KE$9i}Z6 zE@H4-1t(pFYCUOgF3jk}5wTb(t%G|9J_^^G2udte(sd?j(3D&)h)Q2EaBvi(^p4P) zfY_)AEwBZ%!_&eINaH|OaTpA&?z%xyrqi210p^|v5il>!k(E%mn}1S0O@o7{X}zU5 zz6I+q_0I3K7D45yn1^F@DJfl-y6n_3w$tgJ0tp752GR@zGCYtrDsals+IkHHPs*|{ zG_)2}b^J$F!bp+?KKcV$XPQD`lj&sTgNVi`jH+WjfY#K)=o&~V7P@30&9WS9^$FVz z3u^MDg(FA?(nU*)m7+L!Hi?iFNWEDY@MV&Gdl_5!A_DpytB&I85(LJ?dyy|uS(EuJOBQ06 zlcBORD73eh?Uey;ebK|~sNN%5Q+lhnX3D!(aD`succFws3jC;kAGCJ{8GW<@fHi%< ze+HfHgR(LxurI_YgJ$-{5Xqo3078N%stvRz2V`+1VomaU8CR@6k)pK%(yA1Ustl^t zPjZgvhshv=Rw%HuA1abT4;1K<3bm4f6RNaGZ)TPc_I@vvDnhjoI+UtKAni`7)Q zv1s~%lQtzyYlpP;Y3P2Sq+xc*psaMQr(lLaO>PV2fIKe5P1Bm=TMf<6Yip>>^)+0! z4D#)-4G=^=)!`!t@pyl&j?|1_?x4JM=yZMu!k7C?F)Z#$r#7Nl78B}i+%+?G_9wkq6M#(_^ zM1eb_oKX+}*YiH2X_^*5El0yRn>!j)c?K;Xjm(*}XEbd3Ou9ZAGj=Am9s_NYNhu0U z8-s?#$s6)@W<8oSMnl|T3>0rBof-r6l1YunLi#gl!dU34Oe!0Tk&#Ka$3o*}QqOVn za_KnecVrlcp30=~@lwvv@tW3vDYJPN8pg+-^?@j7(kdjh-~>+?O5tH_8YQCw{Q(i} zL*zM=&X0#8$)pAoU|eKUw+Zr8pun05T5vPY&T-zzuqT3fmQ0|e)V*3BAhkFiKnYemD{+KO$ zxsJDHCRa?-V&_!m?iSV?`S`Mjff!Kz`7jglX1j+C5Cf2D_N#i^BaEM!VfJ$>X*?Xp z3tSva;4=!@3sxRc&#*KM)IoTkTJ^3M8WhWZbAYA@udMs=}NNvws#n>)vAR# zUfNTP^+Cfk1MFxkcB|ud(!ODR@%(QwDPe}0Jez`eXffFZCqK@0PxRxO!@SgRFIEBpGm6~*qblnaxY(cEqsck4Nzdt6cJ$e z6iGWf1+!l!)hLjX!V9E-vkC-dMS-B~D3IR1Tp&~$KPrOL13)^;2kZND!@7eRUYUIu z{4+}yCV6I+Qw#r()HYSAPyZjOZL3n}{U53ADpR|-p7}qL+gB#L=Kmk5F_OwlZO?{L z+6YXPxl?6i&YG(AkU`6=Rt+QqDoarcWQ5nHGwCprt5iXWh$Blcga$>R!0>6(qsh~xeM4q+oARz-Oi?xgIlx;LMp)*zTFa*5#Q}#|BSnNmcDoieZxq(cuY|n=}6@VSU9@ zTEm9i-WkqLw~vxM_K|Hb<>tSbbbNipQ9A46$2xX+^S z*+9>tR0XEZ))Ja!fnip#Uf~?LVitLG0Uw2$MTcjjFS6***_!3ec)WgCnB@b|MQx)6gp zi^dhAAF}9$LIi)ZXnP?#CyO2wVwTCGpoFI-ZO79PmMnT`o>at`hfd9+QS)Gt zWzk**tY@?gFJ>2q3*lIr!}DMp^?OFsegA;@mKN@ErQ;7L$vlJckwvZNLy=_Bfce7Y zeD(C;dO zE1+)hQi0Ux<>iLwwJh&!lxE^z7Z}O!V7pAn3tA#D$GjjYyI;^!y>o!V3rq7fu2my? z=0(^qeP7i4C510%c}An0H(<{o#g>=605RV|AILjOaOL!i5TG22TnURLhi0t=Lpij6 zCF+xdE8XCzaxwgwKh8oSw9MvWEkxe&tp`hJ3u*27ogcL#%^!K<35}XV>q(mm(BdT+ zkvX*DCG=Sid6Y;YsU_%0pp-y)=Fo)_Gz=Jc8HPWX#kY$VYh+U>zVTchTC@0N80ec{ z)>=s_f0;x$0_UFIm0GSsY$}J6RtfR4Rgj<@`f(M8P7c+31#*}}17495*C}xQ6{x8k z3SBKFPFju8l|v<~wOAqD5K)v*aS!v?FobWdMvx?jd|t&^L!Dm5$iw>TtLV@ia=!{$ z%b|zXK*V#X?HVaBe~qBLj+ag?LR|-N|GOK+zIg%%FjrqI%!aSkhD!7CA*kO` z4hmn>l7xc*ET*2oRpt%#0Q&7U6rM{yucLQ!X{Z7l6}Y27pEuxy)moRj5-_&d*t$0(Yo>d_FEqN+b;P6`*&$(o+M{nd( z{(21gT)Ma(E)v*yTYFqc@(sN8q(rKCTTAn1E}CIuQ+<3KlLPUcyc7pipWX-&hkw!> zIoE8!u*@ZocOYt@`VKTmE}c-I=SDaxOrbd(l_r$B5re*xKpRQmQ@@(3gqU~XM&;79 zchSwc^ya%zo4IsKfrgue=L`i(HlZJKY40Y;OfLPo32HN!nr+s?gi^k56rZ7#)^3Yc0d8MY{Jxl}T=E)y`c z4BjBujn5Lt0^kbE(BPL=c!|K4@$-g1?v0MBi*jyy4?*(w8T;X``wT#u`+? z2%C2TVaawu*tp%PG;8tk%td=j`$)=|^O2Jjf%WQ%wBiTE-;mUVI`5FI**k=X{W~xZ zFb{k(Z9aBkX`Se)kKv-`(uR+*LYYh2Cs0$lwE7cmo*?pm?x|dzB+A{1K`{MO89%E& z)usuryr*`WL8T6_aWrwKAS~Z00`9d-np*TlA$?2GHp%r{Q>q_k7MDP32!n!};!!K{sQMgTagQ3uO#LYcPrAuVsvG{90Nz zaIZE(N^Oe|-! zz=V4<4j|fsVSPXwDrx-L!K-N7s*S3%4{9+$a37RPH9e%Q!PAaI+MB{d3_9vH)x1$Z zK;h3mgrf|ad=Ejqc34KI$9LMgD$F;OKnSMy_gai3@abJRKi~&#IKA_|)Lb$5&5jBIIw}O39@CN~CtogKM#0D64?TZOYboyHYJ*=u6w|ZB49K);n3C+*nBCJ51tfF>2nGO4CL(;rg0Vs*2SMYy7;wIqKiL2h50g< zuAb7S3W|y0`<0;rKF^-k1|sd$X_35)Gtw~MpApR*T`uZyWw|hMrd(cjIxA{)&RLj9 zxpY`PH8=;B@~F!>VCK=Hb7;^!@Dhm1SECi@ptATVU!0TI!_~%g;pF+?pRr2GC_!lR z>I$XwX9Q96aBdnDbRO0H1qI-U`d{Q}%P*K#^XS1Zu*f(YOQ^TXR&*W~8NX`|QaM^;>UD`ZuY;90m6OCNEoDgnV$xT>r*& z_&QYgBsEN?@RhuLRxq1mzk4w_VeJ;U?uVlR$6<*fjv9OWk>LW;J6q0sX z3Y&4+DU7R$#D*51wQx1Q{5~7k0^})%M zMOUG@^5~PR&@OotdCfsHfflZs317^3(#O|eB<0c7YtS5dlzJUvmPdQ9JLPc%!cf?9 zlU{CxR$Un3L%O3V{U$W-+6wrDd90#AAWz)Kv;KA(j@uMp zg>ZH5|1E9ma|`}5dga!CF#2Lw6P8AKvv_kU;nXcDLAxzn<=_5KH{dF8rdDxV3VKkP z)Ee#5UvUa4s$Zj(&{_456n5qx5t#Hlu%Pm2=N&{{xFz{ky9`CHQf>k$=dR{2sX<83 zRH>WqYOUlQ8$DV7o5Pcu-xH}!zNeb^o@(BE(yrQlgrd; z6vUTljWH=L3(2ZR|9>B9j|Jfx2R zNUE+6mqK}k`!QAMuE*N=(Ue}HHR-qNlI2cyeE@LNYv`$h%PMLb<7)In4L!hPEZsm7 zK)0HD7QmXCdKZARHT5Kb&{}#rz>HcTGL{b3(z^jP^puz5JOy*3r``!KFRLfZOE>T| z)JyLH@Vb}Y6X2?P+00vSji)4Uy*GQ=XQ)knjbLx2`lFsyy=i@^!l3$kGN`PpueSi$U0?X{X&}T>8|W5Z z&S@aET-QMI?P;LL3s?MgO(%P0x#3Si{(2oCM*9oNN&b4I$3$A=4<07c8Gp3OL<(() zo}Eb38tQ`p4mJdv6Un!cprkaCv^9bu0uN1F>G1 zp461d@lsNQ@-%o%9L!C2?c`5UDL+ha46H?A`s)CZ;gEe0SK#$<^l}OP7_LVHctz+| zV5$jjPrr^3pMTSqsd>bBk;eDtv)MkO@K)Mh7;30;oVf9C2&>3;(3jn-d4iw|$3 zCs)Jc#&-H;fRgt5VSq_77;h!yj?ojOpt>*&+Lu#qtlol}#p>bmvIz!6Y&k`Zw}Ofn z;Kby)u^9Lz?!~bfq{w_QPVWQIB3?QoJswK0gyzIc@07)3beGV*cqyi52R$551sw!s zO$Ur_WbYtpO%wFT@w6gAUhYni&iOk*Xc`^$6r|1Uh~ZH}7dk>AmQdYJ7{U<9PI`Oc zvIPXXe>o+_82G}Vlin9;4Lb{!KAkb1N@z!C>Hel&^bE=12fdboo@){BPeom1Se11V zn%BEXv8@w@mjQ{;DkZc$5!EfB?-Ql;JBb+eCDb$tYO93e705~wSz3|A)pYMj(#z03 z?)+|G8%QU*>pwajx6?J6&JM=BysKRs-0+x*Fk$V3w&&J|bsXPV;!fy^f{|lFFMWoS zBiuDk<-jrL)hQrZZ-w+O$xt>Wv?f{4bI`g$JqckPYKeVuz4akZf`%<-l7OQotJ7D# z^)O_--dito(hbB;d3NRkZ6#Xn|s@IW6%-Ncp3FdOKvk(NB*SgnIDypTeL!gwN3Crt5XQ zUODS>nHN}?vs3j!4o)-IYz(K9W=O!%FD}=U`0M*C&@k{hbT$VxoX_rXNL(6= zDH&;)%S&iMn)Kr5Y0|ZSr-@`(=^~}W(}nHT>C(ez)Adv-u?`%gh2<2~8P}2?*oO^M zIsGwpLLK!NQeXBLNx0gdE99)FBB^1nw_M9q zYQ>=#Y)SC2s?*vOP~ZHWo=Y)<^|dJC*kFAfz^n|t0JLvp=yQ~|;d3BgET_`@I*yQg z2>0(KX6m(@zK+%!i=jUrE%xl6syTGmT7*x83tTN5Lj9V>^`a?5^mjovaH#$OAb6Nm zd-yP^&Z=SZa&@*m9m|&Cn4Tl!cXbYCJoFbppi;6vt~bloj)1>WC}3dUN3UYZwQ zhI)YFD7`7rH;xiPIyFi(o6qPf##^}dmKXmDwnmN?wib*Q6<9V}RLj}XlC8lQk)(t% zl6%~kD!m)wI)qw9w6*D*F_Qi27^y(pu`m=%C}XVNLMA=l&hSGyFWd8O2;7jsoQ>6I z0LN#Xi2s;z`Y1dd94Bh)>Nw%rYrH&#j~6A@bG*I}C=Dm*TLAV)kd)MKSNc=^ahdDC=++ggX$A^%BwOG#k2#)Ii;Iw+@3Mj>D|c~AwwqXO$3E6*QmkdoAG_v{+!BvesHqB z03a)0p9gRzUr!fo_IAA#Gey;LLBZrHdVNXY&*H|AAqAiRpC>pqp$lP8c6g84dYRLlrX?cZS^=^!v$c_66KG= zb>b%CuPX3?DRUOp9_PJBP1S27W0$FVlBApHVt-DzC@P~3jJJnkWCLOon(~zS<_^W+CELDaIfk5G^f-NICl;B5Rjx$ z_=eNJb zG7}!kl$m;n5aq2b@d|BQXlV0F4As^_Q1cyB0|Z^S>r=0%q@%N*(odnp_*r^}&%-bOe*X zxa_Mk%e4`4i}V0d$gSb}r=6vuS7X{x(IRE{ED~ku^_=Lwq0c#LwS{Z3$H22Rw|!^~ z^;;44JRLf3db*b^*1K1esy2roGf1^u+8{__{be#gc3LJ1b@4Kuyy(F)Q9whNJ4E?Y z|Dk88yl->_6@7r=Sg{-t0SH`?K1ir0xI(cYUiOaOh5RZaW8CFM`VVSmO>ptjFH$B@ z(3iNFJ9ndA+dc3F{Wmt2x~$X(NdA_Ppj@Xvmm%y>v``PTdOLE;A7tm99e~9Y-iE_R zL-5yW1F*o-TXa(>wt_z5G&x@$B4=K{8w+9T7}Um-W*5WmFQHS#G9N~hz8+5}0HkCS zhLWT|J|4L2ubCEhU-3AaR=2E;yq7ah2?M#BApdTCZ1A z8N1;)-X}OEg^Ju3-0$gj2)*|pj;DD*FW3<+CGk%;9G^ zHn?;9NKdMmY{N1tgZ2B*CjDzEw43V;FRU^0T3kBrPTZpRW^zkQ;mtY~9fMUh!6;o4 z8APvqZhKPhdwM3YcD$!2@mP59f&Qi-$GhIgF&ctA_h7paoZO<{lmrt;`OTG9E}noh zR$FEpxZc1WSDngVFoGztE{x=N+~S|zaO=ArT0^m}rsVR7*@o=xdUr_(#ekZp5_0Q= zczd08xm@@0hdFJ#z6b2A`pA)e8y^-td)B!-Nyp{ygLkkyOnY~T?X~Y?{REyie4=jx z$of>D4{-KVr$0<&UQ*TS-ZXoo6+|_6=>vh3y-Vh9V>et5%zV4W{to<19G+R9$*4Z~ znP?5|a}nKH3LO4ixx`-xO5qpIj2R4FS3=RBL!09^k=k_s3mMqjm*Pin_)-E4H@*}F z-{~tMxZ*4E08V@*21@WAgxGi@+=Pvo$D*y zzo|%M>J#bQ0sR*U*xrLsvVxER?|us-BvY=38C3kN;h6Ci1N9*K;jm-wN8zdpTu{TT z{I9vc9_Bs^cG>sn0l>OH>J1d-=7>JMkFyWZWZi$#)g;a5WqhFC75}8$!a*PwMLtxW zv}`im@}kuUD%3vW2qkYr*{V{f9MKb<9Fh3?C;CfhAit??8quvIVm389DyClQQO5w| zFQ`A_!dla=qtYyQj*6IM9do8#{#N-@g>mhe-Wd%Sd0a1)GQzMGa+gXveO#Z2q?8l- z2uW&*iS{!m>4XTB*GYZ5Bt_wR*e_I4#Yz1|c~=+1>Px9X@o5-;@1D}z$$K0j!QZe$ zIPtz03g~lMoVmi&`XW5}o)K9denx!P#b@-hXx;pB*sp-=&#IWk<#TM6xcmI9<3w+G zvFG*O03N@JkumdEG0r#sDrC?8D$=f95VA8b=<&iu0Ak10so*kXP%aHPjJ?n6G0Awq z53A2%7|0=;3^geF0@}N%IuuOeZ+asXll9wwXw(uK#Z7VO&7t2M3FUk^rMN0z%Zqv= zDU`no^x_N+@Kso zN&kvt;PBPJ^;L~_t&M3;rB|enPFxYMIPj`cCRg>xg%vh08aZWMbL6WvdZsbeyMoWx zmt2!^zT=ucye&5c|7&`#@>f9BuVz)hnpgd5aSm;CT{zxyT{!ltkj5WcA%?|<3Sr#i zhCWEVQKlVIl{>WRR~YEbx}h&pE=Aw_UC*0S z`97v9XKdB4xT;_ARlhn^{Yt3%)v@YVr>b9_tA2H<`juGqD@lHtuuA{_Lw~%Axo%)? z=1qN8)r%f@QR`1}?DGEsekE(V(SIs)BWD(D90BH5MOnOV)dhlzjaeOF&OgH zhw^@dAGP_0-UcGFV*tw5ZH9xGGbI{Nke;u>y7nJbZmytmFr`mBsjvgtHI-Baw*Y zJ6Pude|H?$Nyjdl9L^R_6;1Uh+WZe}w9FShYtyp3Vppxc>!@-a_ul5J0(#wJGl5>e zr_btC$18yo#e2LtmNL`J;I)QLUea_YybKFZKHdgLM`Ho1 z@?D@V-v7zBSfRMRg_kqx$;U^Y+WJW6O!6_>N_PI9_!^z{FloVslIt2g|M~hEI{^;*83jV133NQ}H?C{og8B}66W=ai>30a= zzRS$ox_VOFgL;lA1i>o1r;1xv-^c}_8})_yrUp#iUEpub^Z>lx(3r0*oer+82n0oU zH~LVJ8HY`3jnM!7%s5Y~*2MS?s8^d9Jrt_#`WDk|SqGziaW)qGc5Tw@)0D%8r+aOH z(N3X6y1wN7tyL&{qy60-n;RyVIiZCyhvC(h=y^aZ2=X9x`tMSkJNQDnRv4#5H(su}T> z1eW65e?g2|80Aejb>j;l>@bX43L(n%HYQ&|@QcBc+}ovbK{U`Zz6MsHZG5P(OxF;E zeYlErpu5#XT^aXwU9$<5?hN;&!BIv>hp$x#`>2K;VS5u${Am1O!;hL9hy@?tj>hgC zZ7dXI+cg_A`HHg)fxY#&`+kpJ-#$MRn+ETjPS{XzyCVR}gTH z@*+D52U^1Tl^kj9jZ#60#f2;Z3MJ@yyB(!1L*WZ!jGLf0C)TK;>SN+0zdr368O1i2^Ct#=0)wcV4`joNU5-LnQ5Q5nQPORr+yCD;$8}9(jj^ECXPlu{)57r)UNA^%tdGRjho{S2Yat8u(U0{#DJITN* zgL~g3B{`QTJEM9E8c7(9!-{Ypq3`y4)acB$NuLU(2)N}jW2!<5!*w+M6cdS0Vtq@M z|Ag@hmmfHt8=Aak7}t^M&J3d)zfGEH+`(g)r_lUTP&;UcfmCmX(TSj>{BguL2n~MH zh@xeG*Fgkrmch$9Yi1j_0and1{*+wNh-GDPJI2!K*~lfu-<@mp1?@hChA;Cu^l8IO zm63pbUqk+b{cl0Y5<+X=u34M>pE1E6f%h7Sj2IxR9(P{zRd#={v;wKWwrM=Woyhv`YZpOblG({sissR1^BV+T{g+eV(! zum7s1qQ%BYL1_yU09$%k1s@8E3iyvM0*WU+w!{c>@P=X|yHeFHA_J&%Tck$a!vObR zYAE-(4ZdC*S%p%QN|zc4WV^2}H3GS*>MpOGjN0RLx-mR9Q)zRN(O>9C;0BbjPB*VG zUPXP+t}uRfiXMdh?V^o`9l~0o6y5O!gH7X^FUZ{3(a!ByE zmQ$Rj-G#24eAf=3VO`K<&%FfAfk@L!#!e}$BQO!}<0;}$iSZC7APt&B$#$|w^Tcq^^OJN}6F}ut-iz1WWGuA298Rsg(Vy*PtD<5MJ z4ExY11w!4eMl)>Lc5pq%8{K(o z%?&}IF0CC5h39{O?kjOe|7dJvF3Oh%C^ng9}&L=N(iN$aEuRT>D_-(+?XB33S5557@^kDV_hpfHvdfJOK==z^Vc~v zQyFTf+>ypGDqV$@utOs;(%yKbmLHX`(ml71GMcj*)6O~OHLv8CRyAgA_n~uQKGLb5 zjSZ;JqF;;!l`V7(0X=2gA-L&Y@~e@^H9mO3=mJRfE*hWU@$g0Cb(J9!_LW;v#=Pav zo3uS|JOz80XQb*pt>KIhXZk>- zVQ*ARnpn-`X>CU}b4(@UV{p>PzgSbMo6iB^UUierKx$FbTm!JPrnw3ryOya|aAM(7 ze#gc{7FC?Z%EnWkW)#x5c$$9$Z16HK3JYB@SN^DMj&g5vHj?su9PaqSpCepuI#n!+ z^rp9Jn+s8Hw6EEd%bi)rtTbD)abzSLIfOnI6Mdr4ZjVO5r3y0Ks^nY3+(C^nTNU}4 zXcPAxKNB}Yv$bR(41B6;-fl_H*EdZd?5=Ot;(poJz#PudYG|%h8TdZqv$R4p2390Ar-P zyt(-4avfd!#v3KzUPOfk?Y!c6Ap zMVc85NSkz%?W;A0xr1M4Tc|4FVcSend}_E3_z%TN&^+A54Qu@hBSxFc8S#1>Q{2YL zcBZ(IW$jI8sOp&ZZ_$keRAJYTSn?~c6PHHq>c*MAKRFw5!d@=r4>B*DN?@Np^^Xm}St4OeeUx~cq{_O6X^`h|(KJ#k~{Zh!L)r&{~r z^-F@Re4gGM+mQwibZB;Uy@3rO(qKV6T?)!~gG~1KO9n#=I4sRaKw#Zqa{zVDG`GsT zIM*}S4I=OEZ;FIZnPsy3?KQ*{`_mX|&g4$pFbtgrcs;vvJld{H@ZiganaMo;(#NY} z`?_xqhZ+#Frt2|81|2P?WnOeiK0H(bjM^0nZ&}{szV-j5aS;B9y|v_m}|TDf)xs zBd20*Iycrl39Q}Y%=TQ3+vCj-8J0~n9V^9z!y2Soa7riKB%OgFKjl-5tCuI6OMt26 zn>=s2CrmNtF}zV=o>Ao)m^ee6wrAZL^_clB5FR{cI%{jT>m}S%Sg_s1O*w6GEJH;% zRCn$Zj76!_%s-sIAp`^jDQY_wX)6W;>3CvX99^1j7J=TZ8K%S#%ATxLnQh={8dX`a zpL7>42`_reoXGq=m}NQ+V+TVwPGT`wHcfsbX#k7?#~s!rD!&76WjYbSL|95aRhC4SiqR>pGXzTX+*-npweQxNZ=*u9 z)|rP5L~VWp(Iy2`OHNA!b)V_?5FcbC42P6OKYw@lfkov^{YhsT6>z$9S7Ml-T9 z_XjxJk_&a0Z!+6FB%CC=PUEvA;RG+k6cf8P#*Qq0&pZkqPP}JM0_gL;xe?&@`zCBL zTKa*BAOkJ_&{V+^%~gnX7>|F<*y5@9Zf0#i#7aaP4Bjdg@o;0#z>0+%!VIOf4Ra6R zxb0>k!>b=vYPL|g3pf$tAF~UkZ3B&KpF!yteQY{W+AstOhO>kux&1yhRm^0knamNO z)t{MzRKr`YpW)O?g^CWf#X)!*5d89+7aieV_C+P3IM-%4^wN&vn@!$^&guS@`3oo+ zdrS#Ab@|%73Z5hPnp*(Q?lqT7dqrZ47C!4a1JO@}A45mKam1G|fxSV%y_6p(p*mkH;59e`_9;B;M13P1pM|ROQx@Qa|Z9v{sjFCxc{iRn&G75V)l@6lI;areA1kSw?3!Tbh7BQ*iLlp z40;kKPq~@RZq6s?Op^MALN4agicqTyz528Hne%QYymo#k3)eZhRxbIUcV?7O*8=|j zJQUM9fMx$CZ|_WXO$r&3}&*If=Iu%HC}7861CW(@o*_u>9XavN;%cwHHT z61`&0yz-LO7gdkxdQ`kh_5vedCGh(@u_yyv1AU}UDq1Qqyy_&g{qS6u?DqO z0mSf39xqfhM7sFEsA82kZA45X9=qfndO_7suWLn7 zoo^w0L9MJ|pfIPEmCuxJw6<0SHMxl#^3MzZdO+xBApTi*0wGL6%y*4~2bkoeJ`tc~d&^&>&0M z7`%I?g2`YHev%73f2R*10dSG5E4*2+WHz;GsjrY!f`D2^;TC{ zVsYOZYuyso_%`GkloVuV)2>*%B|S0TQhu(DCA6A!<9pCmA%*urH)?`)1#|-^T8@8c zpesG8-XROo4h{(9+1=@>DTW)}vQ&^=^et~sf3f2*{@uhXYfqu~< z3_JUKjOEWB6>XL`)oQIo#c<8S2O&&fZ6vq^q+#(`ACGw4%0(fIAGgYQ1)&3P#!HS=Mi0uw=G%M;NqS(>V+< z8$+dHj>QX9E9P3KP*y>qnjp_UZ3QcOxQ+)Oa|pfriS`q;?HP+*r;YP1=M%RCD6ST? zqQdG1chmX@X(mp7mhWSwWBB zTR6comsn$k;W$`KII?4ng(dcjvCXN@Qfn7VI=s}Xr`(=St^po6xC038#1&S5HEAV6 zX@#nn6)#}&6H=Y9Y#pWwirR-g=egO~Gk$la^^BxyxRW`Y3a?xL@q8+{XRZ`mBL$;9 zVyqG5u^zgtWgb>tzaXm#SUE$M1R{b_v##Bq6$&Ry6klDNsj(xCg3O_r>| zOxPk7p-rV0c3;q;-;B*i{nyDbu%C18IUbO1VCq(A8i{!Q^IUdclDn!*IaDEksEsL*PPk^@>*DYUe;zboa$J5XoPJMU_&s3$m(|)&jpH!zm zWQbZfts_!s6awH+sOe|+awuH>YKSKPY5gLp(a?X>RA~^1Ao807NAJ_WtT!Yz0@SA~ zP2%@GG)dG)_<|v7P{>o1d5iTHZM@}7a*;SQ<|(F=Oye)27jE6QGMzd3HO zG?piQ`j1tFN~Pbi5_q64ziX-0q5G9m-ve@r)9ZNNIz7-{NS7WsS@*6ezRiJ z=;ZcT&y^K6%rp0L58GL@;boF%6cUGtspTW~bb99@8?xm-^^h$w^9R-Kaa{I z(!tfsW1%V&^C&(y=P>22Nc(GdXKy=~ao73SE0iK>i{bK|8Wlx#?Q2LY^s^5u;o;+; zmhhwzPf_czV|DWWsM_>FecK;c`|8`yMA;VB3^ow3Xcwi1x1ylYSjjCf$87egzf>o? zq0QbY?Qdj%E-l&J)!$=<@aI0%*q+P=XHtN@Lekp9zJEc9RE=)A9*3h7-P(?)LzmD&MJuD(4)deG%B+FZE5=q^ z*Db`MkN%5RTxR8v8EZ#KrCHIJt3;ey@i3i^wK>jU#o36-xG%@qju{#4`o!aB+TG30 zaQoG^YkE+{=@379D%@`3o||CbtnBH@@G*oT5Nk<4b+S3GklopKd{SPo_*Eg48d$E6 zddZqiy%X&z!1^T7USFxf-hih8GAXi1bD*mY^US@yo86Gx=kUX}V|-Z{tCtlu5m4D! zDwF%W)2)v5*sGy_baT38(&=7yh}71CnBoe0X)zXQUTTpR+cpEb`#`eIlWux%TVfSk z`cxJai-pPSDw{ar9aC(jEy7(N!VwXA74OGj*9M1iKiy(s+gv}$x0D&_+K+w6f>T6R z_2R9%N%j-ILB;3vD9V}PixtE)`wNttkZ#Z74&Tw=KErVJK$H)-dyp+!;lW_rS$2*` zP~dNeWYt%NGUIj|uKl*sO25LzlbP6Z7hA*qdv|+Bby+uTtRy z_eUa~CDqe2?ApcS?Ol@C9vY*D%KGoJYNi?KN8KmbAE1;w6YLGDly-=S)%ur}pz}6P z2AOOt>)Cew4o?OwwEzEnb?L@emyTK76$g2F2>}^p6x9)m>HZWOGnG5Lz@DdyF(6(( z4!aysNStc3(-irb?HIH1u0Rjps-pa<-$zEo)+g+5xk(RBv&$429lLt!QuG6R0HMN4 z(s<$0kKd_<%eDJsJ>5|=F>s_Q;vr-BIv(v*xw8oOUjrj#mK{{d+8X{$USW9C+#YDA zpucf|$+p?{4=8>49JCb%enKG+e7ap|Z+CiNJ{C+5&qMdh+SioBh)o2{v)@IYz4PoZ zne!F%Z6}Nrhk#sDh0UIoyUqeTM3vtj^I-rt;5d3~p&�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 delta 146452 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 z z<{PCfx`Figd1qL36C7;8{dkiln0kvfwOMQ?xNS1Av2o64z|<7kY4C-ld`uEPuj*4hW=WS6K7r|vRiov}j6NPb7e z9Ds|tF4GKN*wN}oMLu6G3mwKTct2342{ON z+%N>I2Huc>H{|baSjlSd))xyomnZ~jQ)CQws(Wb(bP;TR>4%YFW_ zxt8kpui`#At(gb0mq0Q9Epw{Z2)0%zPL4LPW}vZBZ#dd{9KI@PY^93iP`kDFQi$aX z)3n3#=qK|QeHLFs3^t-Fh~PIMkuxvC#I3zADo7j(vs^co+{VWgrTm#zLs7G_bzIJz ztBoz6hBYDEvf^U2l_oZ|M|fsag!Qve?<_%3NOJO0S?tBDN}{Z7oS&fWM_@?itMxw| zR!fG*qLVo=gK~81f`ZabYrBFf*;bm{&}cl$Q&C(zkA}*)(u6=9W@tDrAzWN>EM-%j zj<#qv@=~xC;UI~wxG^!3ljp%WITUM2!^bSX;W z1v$R6<%@SkYbO!3k(l%AB-Rt{M%A&JLK~ETLeZk`Z z7XjdAjYnAsfbF2Bh&DqkHzeX{FW{V<#EF@Y{s>F}YxAG9-jr=_Fx2u>+=L8!)cPiH z@8X!77%Wy&9Tg0>y2>(DM!2J@!AQ$zbWxZvfyQKS5oq9?$(5*tmg43p>mA>~pR6TP z{$Lg2EUFHqvQJr9V!&|jQ5rSZk=;pRw8)ttFLB70{{(&Go}^g%?IZ zS(F`TNmtf8WSmu3HDt!e$-rS?C3DJsVYHrA>tgk_VgJPC=gXDrvXkJk=rZAnbc zrKix1ltA{gR=7(k39c1_ILH^9Rz$ZXEfgp|7;04(4WGB%0A4fg3w%*3iL5elB$NW% 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 diff --git a/output/locale/ZRCola-zrcdb.pot b/output/locale/ZRCola-zrcdb.pot index cfca3f8..3acb2cf 100644 --- a/output/locale/ZRCola-zrcdb.pot +++ b/output/locale/ZRCola-zrcdb.pot @@ -499,21 +499,6 @@ msgstr "" msgid "Letter u" msgstr "" -msgid "Letter, Lowercase" -msgstr "" - -msgid "Letter, Modifier" -msgstr "" - -msgid "Letter, Other" -msgstr "" - -msgid "Letter, Titlecase" -msgstr "" - -msgid "Letter, Uppercase" -msgstr "" - msgid "Letterlike Symbols" msgstr "" @@ -529,15 +514,6 @@ msgstr "" msgid "Maltese" msgstr "" -msgid "Mark, Enclosing" -msgstr "" - -msgid "Mark, Non-Spacing" -msgstr "" - -msgid "Mark, Spacing Combining" -msgstr "" - msgid "Mathematical And Physical Symbols" msgstr "" @@ -610,15 +586,6 @@ msgstr "" msgid "Number Forms" msgstr "" -msgid "Number, Decimal Digit" -msgstr "" - -msgid "Number, Letter" -msgstr "" - -msgid "Number, Other" -msgstr "" - msgid "Numbers" msgstr "" @@ -628,12 +595,6 @@ msgstr "" msgid "Other Modifiers" msgstr "" -msgid "Other, Format" -msgstr "" - -msgid "Other, Surrogate" -msgstr "" - msgid "Parentheses" msgstr "" @@ -655,27 +616,6 @@ msgstr "" msgid "Punctuation" msgstr "" -msgid "Punctuation, Close" -msgstr "" - -msgid "Punctuation, Connector" -msgstr "" - -msgid "Punctuation, Dash" -msgstr "" - -msgid "Punctuation, Final quote" -msgstr "" - -msgid "Punctuation, Initial quote" -msgstr "" - -msgid "Punctuation, Open" -msgstr "" - -msgid "Punctuation, Other" -msgstr "" - msgid "Quotes" msgstr "" @@ -685,15 +625,6 @@ msgstr "" msgid "Russian" msgstr "" -msgid "Separator, Line" -msgstr "" - -msgid "Separator, Paragraph" -msgstr "" - -msgid "Separator, Space" -msgstr "" - msgid "Serbian – Cyrillic" msgstr "" @@ -796,18 +727,6 @@ msgstr "" msgid "Symbol ?" msgstr "" -msgid "Symbol, Currency" -msgstr "" - -msgid "Symbol, Math" -msgstr "" - -msgid "Symbol, Modifier" -msgstr "" - -msgid "Symbol, Other" -msgstr "" - msgid "Syriac" msgstr ""