aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrig <grig@yandex-team.ru>2022-02-10 16:50:24 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:50:24 +0300
commitbeb63ece3a6872dfbe113104f524ab6fdbec0adc (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8
parentda383a4f674027527827ad076134241fc5da0cbf (diff)
downloadydb-beb63ece3a6872dfbe113104f524ab6fdbec0adc.tar.gz
Restoring authorship annotation for <grig@yandex-team.ru>. Commit 2 of 2.
-rw-r--r--library/cpp/charset/codepage.cpp210
-rw-r--r--library/cpp/charset/codepage_ut.cpp204
-rw-r--r--library/cpp/charset/doccodes.h2
-rw-r--r--library/cpp/charset/generated/cp_data.cpp28
-rw-r--r--library/cpp/charset/generated/encrec_data.cpp2994
-rw-r--r--library/cpp/containers/comptrie/comptrie.h2
-rw-r--r--library/cpp/containers/comptrie/comptrie_builder.h20
-rw-r--r--library/cpp/containers/comptrie/comptrie_builder.inl8
-rw-r--r--library/cpp/containers/comptrie/comptrie_impl.cpp12
-rw-r--r--library/cpp/containers/comptrie/comptrie_impl.h4
-rw-r--r--library/cpp/containers/comptrie/comptrie_trie.h42
-rw-r--r--library/cpp/containers/comptrie/comptrie_ut.cpp190
-rw-r--r--library/cpp/containers/comptrie/leaf_skipper.h4
-rw-r--r--library/cpp/containers/comptrie/make_fast_layout.cpp24
-rw-r--r--library/cpp/containers/comptrie/make_fast_layout.h4
-rw-r--r--library/cpp/containers/comptrie/minimize.cpp86
-rw-r--r--library/cpp/containers/comptrie/minimize.h4
-rw-r--r--library/cpp/containers/comptrie/node.cpp16
-rw-r--r--library/cpp/containers/comptrie/node.h10
-rw-r--r--library/cpp/containers/comptrie/opaque_trie_iterator.cpp2
-rw-r--r--library/cpp/containers/comptrie/opaque_trie_iterator.h6
-rw-r--r--library/cpp/containers/comptrie/write_trie_backwards.cpp24
-rw-r--r--library/cpp/containers/comptrie/writeable_node.cpp22
-rw-r--r--library/cpp/mime/types/mime.cpp4
-rw-r--r--library/cpp/packers/packers.h6
-rw-r--r--library/cpp/packers/ut/packers_ut.cpp2
-rw-r--r--util/charset/generated/unidata.cpp4
-rw-r--r--util/charset/unidata.h18
-rw-r--r--util/thread/pool.cpp2
29 files changed, 1977 insertions, 1977 deletions
diff --git a/library/cpp/charset/codepage.cpp b/library/cpp/charset/codepage.cpp
index 209de0c216..0431bef31b 100644
--- a/library/cpp/charset/codepage.cpp
+++ b/library/cpp/charset/codepage.cpp
@@ -264,10 +264,10 @@ void DoDecodeUnknownPlane(TxChar* str, TxChar*& ee, const ECharset enc) {
TxChar* d;
for (s = d = str; s < e;) {
- size_t l = 0;
+ size_t l = 0;
- if (utf8_read_rune_from_unknown_plane(*d, l, s, e) == RECODE_OK) {
- d++, s += l;
+ if (utf8_read_rune_from_unknown_plane(*d, l, s, e) == RECODE_OK) {
+ d++, s += l;
} else {
*d++ = BROKEN_RUNE;
++s;
@@ -317,7 +317,7 @@ void DecodeUnknownPlane(wchar16* str, wchar16*& ee, const ECharset enc) {
void DecodeUnknownPlane(wchar32* str, wchar32*& ee, const ECharset enc) {
DoDecodeUnknownPlane(str, ee, enc);
}
-
+
namespace {
class THashSetType: public THashSet<TString> {
public:
@@ -332,37 +332,37 @@ namespace {
}
class TWindowsPrefixesHashSet: public THashSetType {
-public:
- inline TWindowsPrefixesHashSet() {
+public:
+ inline TWindowsPrefixesHashSet() {
Add("win");
Add("wincp");
Add("window");
- Add("windowcp");
+ Add("windowcp");
Add("windows");
Add("windowscp");
- Add("ansi");
- Add("ansicp");
- }
-};
-
+ Add("ansi");
+ Add("ansicp");
+ }
+};
+
class TCpPrefixesHashSet: public THashSetType {
-public:
- inline TCpPrefixesHashSet() {
- Add("microsoft");
- Add("microsoftcp");
- Add("cp");
- }
-};
-
+public:
+ inline TCpPrefixesHashSet() {
+ Add("microsoft");
+ Add("microsoftcp");
+ Add("cp");
+ }
+};
+
class TIsoPrefixesHashSet: public THashSetType {
-public:
- inline TIsoPrefixesHashSet() {
- Add("iso");
- Add("isolatin");
- Add("latin");
- }
-};
-
+public:
+ inline TIsoPrefixesHashSet() {
+ Add("iso");
+ Add("isolatin");
+ Add("latin");
+ }
+};
+
class TLatinToIsoHash: public THashMap<const char*, TString, ci_hash, ci_equal_to> {
public:
inline TLatinToIsoHash() {
@@ -377,57 +377,57 @@ public:
insert(value_type("latin9", "iso-8859-15"));
insert(value_type("latin10", "iso-8859-16"));
}
-};
-
+};
+
static inline void NormalizeEncodingPrefixes(TString& enc) {
- size_t preflen = enc.find_first_of("0123456789");
+ size_t preflen = enc.find_first_of("0123456789");
if (preflen == TString::npos)
- return;
-
+ return;
+
TString prefix = enc.substr(0, preflen);
- for (size_t i = 0; i < prefix.length(); ++i) {
- if (prefix[i] == '-') {
- prefix.remove(i--);
- }
- }
-
+ for (size_t i = 0; i < prefix.length(); ++i) {
+ if (prefix[i] == '-') {
+ prefix.remove(i--);
+ }
+ }
+
if (Singleton<TWindowsPrefixesHashSet>()->Has(prefix)) {
- enc.remove(0, preflen);
- enc.prepend("windows-");
- return;
- }
-
+ enc.remove(0, preflen);
+ enc.prepend("windows-");
+ return;
+ }
+
if (Singleton<TCpPrefixesHashSet>()->Has(prefix)) {
if (enc.length() > preflen + 3 && !strncmp(enc.c_str() + preflen, "125", 3) && isdigit(enc[preflen + 3])) {
- enc.remove(0, preflen);
- enc.prepend("windows-");
- return;
- }
- enc.remove(0, preflen);
- enc.prepend("cp");
- return;
- }
-
+ enc.remove(0, preflen);
+ enc.prepend("windows-");
+ return;
+ }
+ enc.remove(0, preflen);
+ enc.prepend("cp");
+ return;
+ }
+
if (Singleton<TIsoPrefixesHashSet>()->Has(prefix)) {
- if (enc.length() == preflen + 1 || enc.length() == preflen + 2) {
+ if (enc.length() == preflen + 1 || enc.length() == preflen + 2) {
TString enccopy = enc.substr(preflen);
- enccopy.prepend("latin");
- const TLatinToIsoHash* latinhash = Singleton<TLatinToIsoHash>();
+ enccopy.prepend("latin");
+ const TLatinToIsoHash* latinhash = Singleton<TLatinToIsoHash>();
TLatinToIsoHash::const_iterator it = latinhash->find(enccopy.data());
- if (it != latinhash->end())
- enc.assign(it->second);
- return;
- } else if (enc.length() > preflen + 5 && enc[preflen] == '8') {
- enc.remove(0, preflen);
- enc.prepend("iso-");
- return;
- }
- }
-}
-
+ if (it != latinhash->end())
+ enc.assign(it->second);
+ return;
+ } else if (enc.length() > preflen + 5 && enc[preflen] == '8') {
+ enc.remove(0, preflen);
+ enc.prepend("iso-");
+ return;
+ }
+ }
+}
+
class TEncodingNamesHashSet: public THashSetType {
-public:
- TEncodingNamesHashSet() {
+public:
+ TEncodingNamesHashSet() {
Add("iso-8859-1");
Add("iso-8859-2");
Add("iso-8859-3");
@@ -468,44 +468,44 @@ public:
Add("big5");
Add("tis-620");
Add("tis620");
- }
-};
-
+ }
+};
+
ECharset EncodingHintByName(const char* encname) {
- if (!encname)
- return CODES_UNKNOWN; // safety check
-
- // Common trouble: spurious "charset=" in the encoding name
- if (!strnicmp(encname, "charset=", 8)) {
- encname += 8;
- }
-
- // Strip everything up to the first alphanumeric, and after the last one
- while (*encname && !isalnum(*encname))
- ++encname;
-
- if (!*encname)
- return CODES_UNKNOWN;
-
- const char* lastpos = encname + strlen(encname) - 1;
- while (lastpos > encname && !isalnum(*lastpos))
- --lastpos;
-
- // Do some normalization
+ if (!encname)
+ return CODES_UNKNOWN; // safety check
+
+ // Common trouble: spurious "charset=" in the encoding name
+ if (!strnicmp(encname, "charset=", 8)) {
+ encname += 8;
+ }
+
+ // Strip everything up to the first alphanumeric, and after the last one
+ while (*encname && !isalnum(*encname))
+ ++encname;
+
+ if (!*encname)
+ return CODES_UNKNOWN;
+
+ const char* lastpos = encname + strlen(encname) - 1;
+ while (lastpos > encname && !isalnum(*lastpos))
+ --lastpos;
+
+ // Do some normalization
TString enc(encname, lastpos - encname + 1);
- enc.to_lower();
+ enc.to_lower();
for (char* p = enc.begin(); p != enc.end(); ++p) {
- if (*p == ' ' || *p == '=' || *p == '_')
- *p = '-';
- }
-
- NormalizeEncodingPrefixes(enc);
-
+ if (*p == ' ' || *p == '=' || *p == '_')
+ *p = '-';
+ }
+
+ NormalizeEncodingPrefixes(enc);
+
ECharset hint = CharsetByName(enc.c_str());
- if (hint != CODES_UNKNOWN)
- return hint;
-
+ if (hint != CODES_UNKNOWN)
+ return hint;
+
if (Singleton<TEncodingNamesHashSet>()->Has(enc))
- return CODES_UNSUPPORTED;
- return CODES_UNKNOWN;
-}
+ return CODES_UNSUPPORTED;
+ return CODES_UNKNOWN;
+}
diff --git a/library/cpp/charset/codepage_ut.cpp b/library/cpp/charset/codepage_ut.cpp
index f854d338ea..c3ac3ac478 100644
--- a/library/cpp/charset/codepage_ut.cpp
+++ b/library/cpp/charset/codepage_ut.cpp
@@ -6,7 +6,7 @@
#include <util/charset/utf8.h>
#include <util/system/yassert.h>
-
+
#if defined(_MSC_VER)
#pragma warning(disable : 4309) /*truncation of constant value*/
#endif
@@ -30,8 +30,8 @@ namespace {
}
class TCodepageTest: public TTestBase {
-private:
- UNIT_TEST_SUITE(TCodepageTest);
+private:
+ UNIT_TEST_SUITE(TCodepageTest);
UNIT_TEST(TestUTF);
UNIT_TEST(TestUTFFromUnknownPlane);
UNIT_TEST(TestBrokenMultibyte);
@@ -42,14 +42,14 @@ private:
UNIT_TEST(TestUpperLower);
UNIT_TEST(TestBrokenRune);
UNIT_TEST(TestCanEncode);
- UNIT_TEST_SUITE_END();
-
-public:
- void TestUTF();
- void TestUTFFromUnknownPlane();
+ UNIT_TEST_SUITE_END();
+
+public:
+ void TestUTF();
+ void TestUTFFromUnknownPlane();
void TestBrokenMultibyte();
void TestSurrogatePairs();
- void TestEncodingHints();
+ void TestEncodingHints();
void TestToLower();
void TestToUpper();
@@ -71,55 +71,55 @@ public:
void TestBrokenRune() {
UNIT_ASSERT_VALUES_EQUAL(BROKEN_RUNE, 0xFFFDu);
}
-};
-
-UNIT_TEST_SUITE_REGISTRATION(TCodepageTest);
-
-void TCodepageTest::TestUTF() {
+};
+
+UNIT_TEST_SUITE_REGISTRATION(TCodepageTest);
+
+void TCodepageTest::TestUTF() {
for (wchar32 i = 0; i <= 0x10FFFF; i++) {
- unsigned char buffer[32];
+ unsigned char buffer[32];
Zero(buffer);
- size_t rune_len;
- size_t ref_len = 0;
-
- if (i < 0x80)
- ref_len = 1;
- else if (i < 0x800)
- ref_len = 2;
- else if (i < 0x10000)
- ref_len = 3;
- else
- ref_len = 4;
-
+ size_t rune_len;
+ size_t ref_len = 0;
+
+ if (i < 0x80)
+ ref_len = 1;
+ else if (i < 0x800)
+ ref_len = 2;
+ else if (i < 0x10000)
+ ref_len = 3;
+ else
+ ref_len = 4;
+
RECODE_RESULT res = SafeWriteUTF8Char(i, rune_len, buffer, buffer + 32);
- UNIT_ASSERT(res == RECODE_OK);
- UNIT_ASSERT(rune_len == ref_len);
-
+ UNIT_ASSERT(res == RECODE_OK);
+ UNIT_ASSERT(rune_len == ref_len);
+
res = SafeWriteUTF8Char(i, rune_len, buffer, buffer + ref_len - 1);
- UNIT_ASSERT(res == RECODE_EOOUTPUT);
-
- wchar32 rune;
+ UNIT_ASSERT(res == RECODE_EOOUTPUT);
+
+ wchar32 rune;
res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + 32);
- UNIT_ASSERT(res == RECODE_OK);
- UNIT_ASSERT(rune == i);
- UNIT_ASSERT(rune_len == ref_len);
-
+ UNIT_ASSERT(res == RECODE_OK);
+ UNIT_ASSERT(rune == i);
+ UNIT_ASSERT(rune_len == ref_len);
+
res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len - 1);
- UNIT_ASSERT(res == RECODE_EOINPUT);
-
- if (ref_len > 1) {
+ UNIT_ASSERT(res == RECODE_EOINPUT);
+
+ if (ref_len > 1) {
res = SafeReadUTF8Char(rune, rune_len, buffer + 1, buffer + ref_len);
- UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
-
- buffer[1] |= 0xC0;
+ UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
+
+ buffer[1] |= 0xC0;
res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len);
- UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
-
- buffer[1] &= 0x3F;
+ UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
+
+ buffer[1] &= 0x3F;
res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len);
- UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
- }
- }
+ UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
+ }
+ }
const char* badStrings[] = {
"\xfe",
"\xff",
@@ -158,8 +158,8 @@ void TCodepageTest::TestUTF() {
RECODE_RESULT res = SafeReadUTF8Char(rune, len, p, p + strlen(badStrings[i]));
UNIT_ASSERT(res == RECODE_BROKENSYMBOL);
}
-}
-
+}
+
void TCodepageTest::TestBrokenMultibyte() {
const ECharset cp = CODES_EUC_JP;
@@ -180,24 +180,24 @@ void TCodepageTest::TestBrokenMultibyte() {
UNIT_ASSERT(nread == Y_ARRAY_SIZE(bigSample));
}
-void TCodepageTest::TestUTFFromUnknownPlane() {
+void TCodepageTest::TestUTFFromUnknownPlane() {
static const wchar32 sampletext[] = {0x61, 0x62, 0x63, 0x20,
0x430, 0x431, 0x432, 0x20,
0x1001, 0x1002, 0x1003, 0x20,
0x10001, 0x10002, 0x10003};
-
- static const size_t BUFFER_SIZE = 1024;
- char bytebuffer[BUFFER_SIZE];
-
- size_t readchars = 0;
- size_t writtenbytes = 0;
+
+ static const size_t BUFFER_SIZE = 1024;
+ char bytebuffer[BUFFER_SIZE];
+
+ size_t readchars = 0;
+ size_t writtenbytes = 0;
size_t samplelen = Y_ARRAY_SIZE(sampletext);
RECODE_RESULT res = RecodeFromUnicode(CODES_UTF8, sampletext, bytebuffer, samplelen, BUFFER_SIZE, readchars, writtenbytes);
-
+
UNIT_ASSERT(res == RECODE_OK);
UNIT_ASSERT(samplelen == readchars);
-
+
size_t writtenbytes2 = 0;
char bytebuffer2[BUFFER_SIZE];
for (size_t i = 0; i != samplelen; ++i) {
@@ -209,45 +209,45 @@ void TCodepageTest::TestUTFFromUnknownPlane() {
}
UNIT_ASSERT_VALUES_EQUAL(TStringBuf(bytebuffer, writtenbytes), TStringBuf(bytebuffer2, writtenbytes2));
- wchar32 charbuffer[BUFFER_SIZE];
- size_t readbytes = 0;
- size_t writtenchars = 0;
-
+ wchar32 charbuffer[BUFFER_SIZE];
+ size_t readbytes = 0;
+ size_t writtenchars = 0;
+
res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer, writtenbytes, BUFFER_SIZE, readbytes, writtenchars);
-
+
UNIT_ASSERT(res == RECODE_OK);
UNIT_ASSERT(readbytes == writtenbytes);
-
- wchar32* charbufferend = charbuffer + writtenchars;
+
+ wchar32* charbufferend = charbuffer + writtenchars;
DecodeUnknownPlane(charbuffer, charbufferend, CODES_UTF8);
-
+
UNIT_ASSERT(charbufferend == charbuffer + samplelen);
for (size_t i = 0; i < samplelen; ++i)
UNIT_ASSERT(sampletext[i] == charbuffer[i]);
-
- // Now, concatenate the thing with an explicit character and retest
+
+ // Now, concatenate the thing with an explicit character and retest
res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer, writtenbytes, BUFFER_SIZE, readbytes, writtenchars);
UNIT_ASSERT(res == RECODE_OK);
UNIT_ASSERT(readbytes == writtenbytes);
-
- charbuffer[writtenchars] = 0x1234;
-
- size_t morewrittenchars = 0;
+
+ charbuffer[writtenchars] = 0x1234;
+
+ size_t morewrittenchars = 0;
res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer + writtenchars + 1, writtenbytes, BUFFER_SIZE, readbytes, morewrittenchars);
UNIT_ASSERT(res == RECODE_OK);
UNIT_ASSERT(readbytes == writtenbytes);
UNIT_ASSERT(writtenchars == morewrittenchars);
-
- charbuffer[2 * writtenchars + 1] = 0x5678;
-
- charbufferend = charbuffer + 2 * writtenchars + 2;
+
+ charbuffer[2 * writtenchars + 1] = 0x5678;
+
+ charbufferend = charbuffer + 2 * writtenchars + 2;
DecodeUnknownPlane(charbuffer, charbufferend, CODES_UTF8);
-
+
UNIT_ASSERT(charbufferend == charbuffer + 2 * samplelen + 2);
- for (size_t i = 0; i < samplelen; ++i) {
+ for (size_t i = 0; i < samplelen; ++i) {
UNIT_ASSERT(sampletext[i] == charbuffer[i]);
UNIT_ASSERT(sampletext[i] == charbuffer[samplelen + 1 + i]);
- }
+ }
UNIT_ASSERT(0x1234 == charbuffer[samplelen]);
UNIT_ASSERT(0x5678 == charbuffer[2 * samplelen + 1]);
@@ -265,8 +265,8 @@ void TCodepageTest::TestUTFFromUnknownPlane() {
UNIT_ASSERT_VALUES_EQUAL(wtr[i], sampletext[i]);
}
}
-}
-
+}
+
static void TestSurrogates(const char* str, const wchar16* wide, size_t wideSize) {
size_t sSize = strlen(str);
size_t wSize = sSize * 2;
@@ -298,24 +298,24 @@ void TCodepageTest::TestSurrogatePairs() {
TestSurrogates(utf8NonBMP2, wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2));
}
-void TCodepageTest::TestEncodingHints() {
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("windows-1251"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("Windows1251"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("WIN1251"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("window-cp1251"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("!!!CP1251???"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("'ansi-cp1251;'"));
- UNIT_ASSERT(CODES_WIN == EncodingHintByName("charset=Microsoft-CP1251;"));
-
- UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-8859-2"));
- UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-2"));
- UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-latin-2"));
- UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("charset=\"Latin2\";"));
-
- UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("widow1251"));
- UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("default"));
- UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("$phpcharset"));
-
+void TCodepageTest::TestEncodingHints() {
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("windows-1251"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("Windows1251"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("WIN1251"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("window-cp1251"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("!!!CP1251???"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("'ansi-cp1251;'"));
+ UNIT_ASSERT(CODES_WIN == EncodingHintByName("charset=Microsoft-CP1251;"));
+
+ UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-8859-2"));
+ UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-2"));
+ UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-latin-2"));
+ UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("charset=\"Latin2\";"));
+
+ UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("widow1251"));
+ UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("default"));
+ UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("$phpcharset"));
+
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ShiftJIS"));
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("Shift_JIS"));
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("Big5"));
@@ -324,7 +324,7 @@ void TCodepageTest::TestEncodingHints() {
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("charset='Shift_JIS';;"));
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ISO-2022-KR"));
UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ISO-2022-jp"));
-}
+}
void TCodepageTest::TestToLower() {
TTempBuf buf;
diff --git a/library/cpp/charset/doccodes.h b/library/cpp/charset/doccodes.h
index 5314a167ee..75c87adf9e 100644
--- a/library/cpp/charset/doccodes.h
+++ b/library/cpp/charset/doccodes.h
@@ -1,7 +1,7 @@
#pragma once
enum ECharset {
- CODES_UNSUPPORTED = -2, // valid but unsupported encoding
+ CODES_UNSUPPORTED = -2, // valid but unsupported encoding
CODES_UNKNOWN = -1, // invalid or unspecified encoding
CODES_WIN, // [ 0] WINDOWS_1251 Windows
CODES_KOI8, // [ 1] KOI8_U Koi8-u
diff --git a/library/cpp/charset/generated/cp_data.cpp b/library/cpp/charset/generated/cp_data.cpp
index e60169ed26..202362c596 100644
--- a/library/cpp/charset/generated/cp_data.cpp
+++ b/library/cpp/charset/generated/cp_data.cpp
@@ -1,7 +1,7 @@
#include <library/cpp/charset/codepage.h>
-
-extern const char defchars[][DEFCHAR_BUF];
-
+
+extern const char defchars[][DEFCHAR_BUF];
+
static const CodePage CODES_ALT_CODE_PAGE = {
CODES_ALT,
{"IBM866", "csIBM866", "cp866", "866", "dos-866", "alt", "windows-866",},
@@ -3244,9 +3244,9 @@ static const CodePage CODES_TIS620_CODE_PAGE = {
}; // generated from tis620.txt
static const CodePage CODES_UNKNOWNPLANE_CODE_PAGE = {
- CODES_UNKNOWNPLANE,
+ CODES_UNKNOWNPLANE,
{"unknownplane", "unknown-plane",},
- {
+ {
0x0000, 0xF001, 0xF002, 0xF003, 0xF004, 0xF005, 0xF006, 0xF007,
0xF008, 0xF009, 0xF00A, 0xF00B, 0xF00C, 0xF00D, 0xF00E, 0xF00F,
0xF010, 0xF011, 0xF012, 0xF013, 0xF014, 0xF015, 0xF016, 0xF017,
@@ -3279,10 +3279,10 @@ static const CodePage CODES_UNKNOWNPLANE_CODE_PAGE = {
0xF0E8, 0xF0E9, 0xF0EA, 0xF0EB, 0xF0EC, 0xF0ED, 0xF0EE, 0xF0EF,
0xF0F0, 0xF0F1, 0xF0F2, 0xF0F3, 0xF0F4, 0xF0F5, 0xF0F6, 0xF0F7,
0xF0F8, 0xF0F9, 0xF0FA, 0xF0FB, 0xF0FC, 0xF0FD, 0xF0FE, 0xF0FF,
- },
- defchars[0],
+ },
+ defchars[0],
}; // generated from unknown.txt
-
+
static const CodePage CODES_UTF8_CODE_PAGE = {
CODES_UTF8,
{"utf-8",},
@@ -3307,7 +3307,7 @@ static const CodePage CODES_UTF_16LE_CODE_PAGE = {
static const CodePage CODES_VISCII_CODE_PAGE = {
CODES_VISCII,
{"VISCII", "VISCII1.1-1", "CSVISCII",},
- {
+ {
0x0000, 0x0001, 0x1EB2, 0x0003, 0x0004, 0x1EB4, 0x1EAA, 0x0007,
0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x1EF6, 0x0015, 0x0016, 0x0017,
@@ -3660,15 +3660,15 @@ static const CodePage CODES_YANDEX_CODE_PAGE = {
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
- },
+ },
defchars[1],
}; // generated from yandex.txt
-
+
const char defchars[][DEFCHAR_BUF] = {
{"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"}, // generated from ascii_dc.txt
{"\077\xA6\xB6\xA6\055\xB6\x9F\x9F\x9F\x9F\x9F\x9F\x9F\200\200\200\071\130\077\071\040\040\n\n\x1A\x1A\x1A\x1A\x1A\x1A\x1A\077\077\055\055\050\042\051\042\042\042\137\052\042\056\055\055\075\055\044\140\xB0\047\047\047\047\047"}, // generated from yandex_dc.txt
-};
-
+};
+
const CodePage* const NCodepagePrivate::TCodePageData::AllCodePages[] = {
&CODES_ALT_CODE_PAGE,
&CODES_ARMSCII_CODE_PAGE,
@@ -3783,6 +3783,6 @@ const CodePage* const NCodepagePrivate::TCodePageData::AllCodePages[] = {
&CODES_WINDOWS_1257_CODE_PAGE,
&CODES_WIN_EAST_CODE_PAGE,
&CODES_YANDEX_CODE_PAGE,
-};
+};
const CodePage& csYandex = CODES_YANDEX_CODE_PAGE;
diff --git a/library/cpp/charset/generated/encrec_data.cpp b/library/cpp/charset/generated/encrec_data.cpp
index 58ce2e5064..ca59f8ddef 100644
--- a/library/cpp/charset/generated/encrec_data.cpp
+++ b/library/cpp/charset/generated/encrec_data.cpp
@@ -1,101 +1,101 @@
#include <library/cpp/charset/codepage.h>
-
-extern const char defchars[][DEFCHAR_BUF];
+
+extern const char defchars[][DEFCHAR_BUF];
static const char PP_00[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
-#define P00 (char*)PP_00
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
+#define P00 (char*)PP_00
static const char PP_01[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000"
"\000\000\244\000\246\247\000\251\000\253\254\255\256\000\260\261\000\000"
"\000\265\266\267\000\000\000\273\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P01 (char*)PP_01
static const char PP_02[257] =
"\000\250\200\201\252\275\262\257\243\212\214\216\215\000\241\217\300\301"
- "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
- "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
+ "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
"\370\371\372\373\374\375\376\377\000\270\220\203\272\276\263\277\274\232"
"\234\236\235\000\242\237\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\245\264\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\245\264\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P02 (char*)PP_02
static const char PP_03[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000"
- "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000"
- "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000"
+ "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000"
+ "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P03 (char*)PP_03
static const char PP_04[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\271\000\000\000\000\000\000\000\000\000\000\000\231\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000";
#define P04 (char*)PP_04
static const char PP_05[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\232\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\232\000"
"\000\000\000\000\000\000\000\277\000\000\000\000\000\000\234\000\235\000"
"\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -105,82 +105,82 @@ static const char PP_05[257] =
#define P05 (char*)PP_05
static const char PP_06[257] =
"\000\263\000\000\264\000\266\267\000\000\000\000\000\000\000\000\341\342"
- "\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365"
- "\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305"
- "\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336"
+ "\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365"
+ "\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305"
+ "\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336"
"\333\335\337\331\330\334\300\321\000\243\000\000\244\000\246\247\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\275\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\275\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000";
#define P06 (char*)PP_06
static const char PP_07[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\225\226\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\230\231\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\225\226\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\230\231\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P07 (char*)PP_07
static const char PP_08[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\233\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\233\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P08 (char*)PP_08
static const char PP_09[257] =
- "\200\000\201\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000"
- "\000\000\204\000\000\000\205\000\000\000\206\000\000\000\000\000\000\000"
- "\207\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\211\000"
- "\000\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\240\241\242\000\245\000\000\250\251\252"
- "\253\254\000\256\257\260\261\262\000\265\000\000\270\271\272\273\274\000"
- "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\213\000\000\000\214\000\000\000\215\000\000\000\216\000\000\000"
- "\217\220\221\222\000\000\000\000\000\000\000\000\000\000\000\000\224\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\200\000\201\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000"
+ "\000\000\204\000\000\000\205\000\000\000\206\000\000\000\000\000\000\000"
+ "\207\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\211\000"
+ "\000\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\240\241\242\000\245\000\000\250\251\252"
+ "\253\254\000\256\257\260\261\262\000\265\000\000\270\271\272\273\274\000"
+ "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\213\000\000\000\214\000\000\000\215\000\000\000\216\000\000\000"
+ "\217\220\221\222\000\000\000\000\000\000\000\000\000\000\000\000\224\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P09 (char*)PP_09
static const char PP_10[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000"
"\000\000\375\000\000\000\000\000\000\000\000\000\000\000\370\000\000\000"
"\000\000\000\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -190,20 +190,20 @@ static const char PP_10[257] =
#define P10 (char*)PP_10
static const char PP_11[257] =
"\000\360\000\000\362\000\000\364\000\000\000\000\000\000\366\000\200\201"
- "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223"
- "\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245"
- "\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347"
+ "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223"
+ "\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245"
+ "\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347"
"\350\351\352\353\354\355\356\357\000\361\000\000\363\000\000\365\000\000"
"\000\000\000\000\367\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P11 (char*)PP_11
static const char PP_12[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -214,64 +214,64 @@ static const char PP_12[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P12 (char*)PP_12
static const char PP_13[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\371\373\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\371\373\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P13 (char*)PP_13
static const char PP_14[257] =
- "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000"
- "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000"
- "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000"
- "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\315\272\325\326\311\270\267\273\324\323"
- "\310\276\275\274\306\307\314\265\266\271\321\322\313\317\320\312\330\327"
- "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000"
- "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000"
+ "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000"
+ "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000"
+ "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\315\272\325\326\311\270\267\273\324\323"
+ "\310\276\275\274\306\307\314\265\266\271\321\322\313\317\320\312\330\327"
+ "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000"
+ "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P14 (char*)PP_14
static const char PP_15[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000"
"\000\243\000\000\000\244\000\251\000\307\302\000\250\000\241\261\000\000"
"\000\265\246\000\000\000\000\310\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\326\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000";
#define P15 (char*)PP_15
static const char PP_16[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -292,82 +292,82 @@ static const char PP_16[257] =
#define P16 (char*)PP_16
static const char PP_17[257] =
"\000\335\253\256\270\301\247\272\267\274\276\313\315\000\330\332\200\201"
- "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223"
- "\224\225\226\227\230\231\232\233\234\235\236\237\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223"
+ "\224\225\226\227\230\231\232\233\234\235\236\237\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
"\370\371\372\373\374\375\376\337\000\336\254\257\271\317\264\273\300\275"
"\277\314\316\000\331\333\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\242\266\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P17 (char*)PP_17
static const char PP_18[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\320\321\000\000\000\324\325\000\000\322\323\327\000\240\000\245\000"
- "\000\000\311\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\320\321\000\000\000\324\325\000\000\322\323\327\000\240\000\245\000"
+ "\000\000\311\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P18 (char*)PP_18
static const char PP_19[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\334\000\000\000\000\000\000\000\000\000\000\000\252\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P19 (char*)PP_19
static const char PP_20[257] =
"\000\000\000\000\000\000\306\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\303\000\000\000\260\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\303\000\000\000\260\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P20 (char*)PP_20
static const char PP_21[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000"
"\000\000\000\000\000\375\000\000\000\000\000\255\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -377,20 +377,20 @@ static const char PP_21[257] =
#define P21 (char*)PP_21
static const char PP_22[257] =
"\000\241\242\243\244\245\246\247\250\251\252\253\254\000\256\257\260\261"
- "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303"
- "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
- "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347"
+ "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303"
+ "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
+ "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347"
"\350\351\352\353\354\355\356\357\000\361\362\363\364\365\366\367\370\371"
"\372\373\374\000\376\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P22 (char*)PP_22
static const char PP_23[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -401,124 +401,124 @@ static const char PP_23[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P23 (char*)PP_23
static const char PP_24[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377";
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377";
#define P24 (char*)PP_24
static const char PP_25[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000"
"\000\000\000\000\000\000\212\232\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\216"
"\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P25 (char*)PP_25
static const char PP_26[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000";
#define P26 (char*)PP_26
static const char PP_27[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000"
- "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000"
- "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000"
+ "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000"
+ "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P27 (char*)PP_27
static const char PP_28[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\231\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P28 (char*)PP_28
static const char PP_29[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P29 (char*)PP_29
static const char PP_30[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000"
"\000\000\244\000\246\247\250\251\000\253\254\255\256\000\260\261\000\000"
@@ -543,35 +543,35 @@ static const char PP_31[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000";
#define P31 (char*)PP_31
static const char PP_32[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\242\377\000\262\000\275\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P32 (char*)PP_32
static const char PP_33[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000"
"\000\000\244\000\000\247\250\000\000\000\000\255\000\000\260\000\000\000"
"\264\000\000\000\270\000\000\000\000\000\000\000\000\301\302\000\304\000"
"\000\307\000\311\000\313\000\315\316\000\000\000\000\323\324\000\326\327"
@@ -594,7 +594,7 @@ static const char PP_34[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000";
#define P34 (char*)PP_34
static const char PP_35[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -616,36 +616,36 @@ static const char PP_35[257] =
static const char PP_36[257] =
"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000"
- "\000\000\000\000\000\247\000\000\141\000\000\217\000\000\260\000\062\063"
- "\000\000\000\000\000\061\157\000\061\061\063\000\101\101\101\101\201\101"
- "\000\103\105\105\105\105\111\111\111\111\000\116\117\242\117\117\202\000"
- "\000\125\125\125\203\131\000\220\210\141\211\141\221\141\000\212\213\214"
- "\215\230\151\151\231\232\000\156\157\262\233\157\222\000\000\234\165\235"
- "\223\171\000\171";
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000"
+ "\000\000\000\000\000\247\000\000\141\000\000\217\000\000\260\000\062\063"
+ "\000\000\000\000\000\061\157\000\061\061\063\000\101\101\101\101\201\101"
+ "\000\103\105\105\105\105\111\111\111\111\000\116\117\242\117\117\202\000"
+ "\000\125\125\125\203\131\000\220\210\141\211\141\221\141\000\212\213\214"
+ "\215\230\151\151\231\232\000\156\157\262\233\157\222\000\000\234\165\235"
+ "\223\171\000\171";
#define P36 (char*)PP_36
static const char PP_37[257] =
- "\101\141\101\141\204\224\205\225\103\143\103\143\103\143\104\144\000\000"
- "\105\145\105\145\105\145\206\226\105\145\107\147\107\147\107\147\107\147"
- "\110\150\000\000\111\151\111\151\111\151\111\151\111\000\111\151\112\152"
- "\113\153\000\114\154\114\154\114\154\114\154\207\227\241\261\116\156\116"
- "\156\000\000\000\117\157\117\157\117\157\000\000\122\162\122\162\122\162"
- "\243\263\123\163\123\163\123\163\124\164\124\164\000\000\125\165\125\165"
- "\125\165\125\165\125\165\125\165\127\167\131\171\131\245\265\244\264\132"
- "\172\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\117\157"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\125\165\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\104\104"
+ "\101\141\101\141\204\224\205\225\103\143\103\143\103\143\104\144\000\000"
+ "\105\145\105\145\105\145\206\226\105\145\107\147\107\147\107\147\107\147"
+ "\110\150\000\000\111\151\111\151\111\151\111\151\111\000\111\151\112\152"
+ "\113\153\000\114\154\114\154\114\154\114\154\207\227\241\261\116\156\116"
+ "\156\000\000\000\117\157\117\157\117\157\000\000\122\162\122\162\122\162"
+ "\243\263\123\163\123\163\123\163\124\164\124\164\000\000\125\165\125\165"
+ "\125\165\125\165\125\165\125\165\127\167\131\171\131\245\265\244\264\132"
+ "\172\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\117\157"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\125\165\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\104\104"
"\144\114\114\154\116\116\156\101\141\111\151\117\157\125\165\125\165\125"
"\165\125\165\125\165\000\101\141\101\141\000\000\000\000\107\147\113\153"
- "\117\157\117\157\000\000\152\104\104\144\107\147\000\000\116\156\101\141"
- "\000\000\000\000";
+ "\117\157\117\157\000\000\152\104\104\144\107\147\000\000\116\156\101\141"
+ "\000\000\000\000";
#define P37 (char*)PP_37
static const char PP_38[257] =
"\101\141\101\141\105\145\105\145\111\151\111\151\117\157\117\157\122\162"
@@ -665,38 +665,38 @@ static const char PP_38[257] =
"\000\000\000\000";
#define P38 (char*)PP_38
static const char PP_39[257] =
- "\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P39 (char*)PP_39
static const char PP_40[257] =
- "\305\250\000\303\256\000\255\257\000\000\000\000\312\310\254\000\300\301"
- "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
- "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\345\270\000\343\276\000\275\277\000\000"
- "\000\000\352\350\274\000\000\000\251\271\000\000\000\000\000\000\000\000"
- "\246\266\000\000\000\000\252\272\253\273\253\273\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\216\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\306\346\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\300\340\300\340\000\000\305\345"
- "\000\000\000\000\306\346\307\347\000\000\310\350\310\350\316\356\000\000"
- "\000\000\335\375\323\363\323\363\323\363\327\367\000\000\333\373\000\000"
- "\000\000\000\000";
+ "\305\250\000\303\256\000\255\257\000\000\000\000\312\310\254\000\300\301"
+ "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
+ "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\345\270\000\343\276\000\275\277\000\000"
+ "\000\000\352\350\274\000\000\000\251\271\000\000\000\000\000\000\000\000"
+ "\246\266\000\000\000\000\252\272\253\273\253\273\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\216\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\306\346\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\300\340\300\340\000\000\305\345"
+ "\000\000\000\000\306\346\307\347\000\000\310\350\310\350\316\356\000\000"
+ "\000\000\335\375\323\363\323\363\323\363\327\367\000\000\333\373\000\000"
+ "\000\000\000\000";
#define P40 (char*)PP_40
static const char PP_41[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -750,42 +750,42 @@ static const char PP_43[257] =
"\000\000\000\000";
#define P43 (char*)PP_43
static const char PP_44[257] =
- "\000\000\103\000\000\000\000\000\000\000\147\110\110\110\150\000\111\111"
- "\114\154\000\116\267\000\000\120\121\122\122\122\000\000\000\000\000\000"
- "\132\000\000\000\132\000\113\101\102\103\000\145\105\106\000\115\157\000"
- "\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\104\144\145"
+ "\000\000\103\000\000\000\000\000\000\000\147\110\110\110\150\000\111\111"
+ "\114\154\000\116\267\000\000\120\121\122\122\122\000\000\000\000\000\000"
+ "\132\000\000\000\132\000\113\101\102\103\000\145\105\106\000\115\157\000"
+ "\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\104\144\145"
"\151\152\000\000\000\000\000\000\061\061\061\061\062\061\062\063\064\061"
- "\065\061\063\065\067\061\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\065\061\063\065\067\061\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\060\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P44 (char*)PP_44
static const char PP_45[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\061\062\063\064\065\066\067\070\071\061\061\061"
"\061\061\061\061\061\061\061\062\061\062\063\064\065\066\067\070\071\061"
"\061\061\061\061\061\061\061\061\061\062\061\062\063\064\065\066\067\070"
"\071\061\061\061\061\061\061\061\061\061\061\062\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\060\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000";
#define P45 (char*)PP_45
static const char PP_46[257] =
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -829,10 +829,10 @@ static const char PP_48[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P48 (char*)PP_48
static const char PP_49[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -886,15 +886,15 @@ static const char PP_51[257] =
"\000\000\000\000";
#define P51 (char*)PP_51
static const char PP_52[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000"
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000"
"\000\000\317\000\000\375\000\000\000\256\000\360\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\257\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -904,20 +904,20 @@ static const char PP_52[257] =
#define P52 (char*)PP_52
static const char PP_53[257] =
"\000\205\201\203\207\211\213\215\217\221\223\225\227\000\231\233\241\243"
- "\354\255\247\251\352\364\270\276\307\321\323\325\327\335\342\344\346\350"
- "\253\266\245\374\366\372\237\362\356\370\235\340\240\242\353\254\246\250"
- "\351\363\267\275\306\320\322\324\326\330\341\343\345\347\252\265\244\373"
+ "\354\255\247\251\352\364\270\276\307\321\323\325\327\335\342\344\346\350"
+ "\253\266\245\374\366\372\237\362\356\370\235\340\240\242\353\254\246\250"
+ "\351\363\267\275\306\320\322\324\326\330\341\343\345\347\252\265\244\373"
"\365\371\236\361\355\367\234\336\000\204\200\202\206\210\212\214\216\220"
"\222\224\226\000\230\232\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P53 (char*)PP_53
static const char PP_54[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
@@ -928,47 +928,47 @@ static const char PP_54[257] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P54 (char*)PP_54
static const char PP_55[257] =
- "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000"
- "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000"
- "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000"
- "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\315\272\000\000\311\000\000\273\000\000"
- "\310\000\000\274\000\000\314\000\000\271\000\000\313\000\000\312\000\000"
- "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\000\000\000\000"
- "\000\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000"
+ "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000"
+ "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000"
+ "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\315\272\000\000\311\000\000\273\000\000"
+ "\310\000\000\274\000\000\314\000\000\271\000\000\313\000\000\312\000\000"
+ "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\000\000\000\000"
+ "\000\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000";
#define P55 (char*)PP_55
static const char PP_56[257] =
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377";
+ "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377";
#define P56 (char*)PP_56
static const char PP_57[257] =
"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
@@ -989,20 +989,20 @@ static const char PP_57[257] =
#define P57 (char*)PP_57
static const char PP_58[257] =
"\000\250\000\000\252\000\262\257\000\000\000\000\000\000\241\000\300\301"
- "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
- "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323"
+ "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
"\370\371\372\373\374\375\376\377\000\270\000\000\272\000\263\277\000\000"
"\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\201\203\000\000\243\274\000\000\215\235\000\000\000\000\000\000"
- "\214\234\000\000\000\000\000\000\000\000\000\000\217\237\200\220\245\264"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ "\000\000\201\203\000\000\243\274\000\000\215\235\000\000\000\000\000\000"
+ "\214\234\000\000\000\000\000\000\000\000\000\000\217\237\200\220\245\264"
"\000\000\000\000\000\000\216\236\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\275\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\232"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000";
+ "\000\000\000\000";
#define P58 (char*)PP_58
static const char PP_59[257] =
"\000\250\000\201\252\275\262\257\243\000\000\000\000\000\241\000\300\301"
@@ -4897,9 +4897,9 @@ static const char PP_287[257] =
"\273\327\274\330\377\346\271\361\237\317\036\334\024\326\031\333\000\000"
"\000\000\000\000";
#define P287 (char*)PP_287
-
-static const Encoder encoder_00 = { //windows-1251
- {
+
+static const Encoder encoder_00 = { //windows-1251
+ {
P01, P00, P00, P00, P02, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -4932,13 +4932,13 @@ static const Encoder encoder_00 = { //windows-1251
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
+ },
+ defchars[0],
+ P00,
+};
+
static const Encoder encoder_01 = { //KOI8-U
- {
+ {
P05, P00, P00, P00, P06, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -4971,13 +4971,13 @@ static const Encoder encoder_01 = { //KOI8-U
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_02 = { //IBM866
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_02 = { //IBM866
+ {
P10, P00, P00, P00, P11, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5010,13 +5010,13 @@ static const Encoder encoder_02 = { //IBM866
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_03 = { //MacCyrillic
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_03 = { //MacCyrillic
+ {
P15, P16, P00, P00, P17, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5049,13 +5049,13 @@ static const Encoder encoder_03 = { //MacCyrillic
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_04 = { //ISO-8859-5
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_04 = { //ISO-8859-5
+ {
P21, P00, P00, P00, P22, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5088,13 +5088,13 @@ static const Encoder encoder_04 = { //ISO-8859-5
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_05 = { //windows-1252
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_05 = { //windows-1252
+ {
P24, P25, P26, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5127,13 +5127,13 @@ static const Encoder encoder_05 = { //windows-1252
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
+ },
+ defchars[0],
+ P00,
+};
+
static const Encoder encoder_06 = { //reserved3
- {
+ {
P29, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5166,13 +5166,13 @@ static const Encoder encoder_06 = { //reserved3
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_07 = { //windows-1250
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_07 = { //windows-1250
+ {
P30, P31, P32, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5205,13 +5205,13 @@ static const Encoder encoder_07 = { //windows-1250
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_08 = { //iso-2
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_08 = { //iso-2
+ {
P33, P34, P35, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5244,13 +5244,13 @@ static const Encoder encoder_08 = { //iso-2
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_09 = { //yandex
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_09 = { //yandex
+ {
P36, P37, P38, P39, P40, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5283,13 +5283,13 @@ static const Encoder encoder_09 = { //yandex
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P50, P00, P00, P00, P51,
- },
- defchars[1],
- P00,
-};
-
-static const Encoder encoder_12 = { //IBM855
- {
+ },
+ defchars[1],
+ P00,
+};
+
+static const Encoder encoder_12 = { //IBM855
+ {
P52, P00, P00, P00, P53, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5322,13 +5322,13 @@ static const Encoder encoder_12 = { //IBM855
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_14 = { //unknownplane
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_14 = { //unknownplane
+ {
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5361,13 +5361,13 @@ static const Encoder encoder_14 = { //unknownplane
P00, P00, P00, P00, P00, P00, P00, P00,
P56, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
-static const Encoder encoder_15 = { //windows-1251-k
- {
+ },
+ defchars[0],
+ P00,
+};
+
+static const Encoder encoder_15 = { //windows-1251-k
+ {
P57, P00, P00, P00, P58, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
@@ -5400,11 +5400,11 @@ static const Encoder encoder_15 = { //windows-1251-k
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
P00, P00, P00, P00, P00, P00, P00, P00,
- },
- defchars[0],
- P00,
-};
-
+ },
+ defchars[0],
+ P00,
+};
+
static const Encoder encoder_16 = { //windows-1251-t
{
P57, P00, P00, P00, P59, P00, P00, P00,
@@ -8292,22 +8292,22 @@ static const Encoder encoder_89 = { //VISCII
};
const Encoder* const NCodepagePrivate::TCodePageData::EncodeTo[] = {
- &encoder_00,
- &encoder_01,
- &encoder_02,
- &encoder_03,
- &encoder_04,
- &encoder_05,
- &encoder_06,
- &encoder_07,
- &encoder_08,
- &encoder_09,
+ &encoder_00,
+ &encoder_01,
+ &encoder_02,
+ &encoder_03,
+ &encoder_04,
+ &encoder_05,
+ &encoder_06,
+ &encoder_07,
+ &encoder_08,
+ &encoder_09,
nullptr,
nullptr,
- &encoder_12,
+ &encoder_12,
nullptr,
- &encoder_14,
- &encoder_15,
+ &encoder_14,
+ &encoder_15,
&encoder_16,
&encoder_17,
&encoder_18,
@@ -8405,108 +8405,108 @@ const Encoder* const NCodepagePrivate::TCodePageData::EncodeTo[] = {
nullptr,
nullptr,
nullptr,
-};
-
-const struct Encoder &WideCharToYandex = encoder_09;
-
+};
+
+const struct Encoder &WideCharToYandex = encoder_09;
+
const Recoder NCodepagePrivate::TCodePageData::rcdr_to_yandex[] = {
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\246\303\047\343\042\056\052\052\044\052\246\042\246\312\246\246"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\246\303\047\343\042\056\052\052\044\052\246\042\246\312\246\246"
"\266\047\047\042\042\052\055\055\260\260\266\042\266\352\266\266\240\254"
- "\274\246\044\216\260\247\250\260\256\042\075\217\260\257\260\075\255\275"
+ "\274\246\044\216\260\247\250\260\256\042\075\217\260\257\260\075\255\275"
"\236\266\052\055\270\267\276\042\266\246\266\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
- "\260\260\260\075\260\075\075\075\075\075\240\075\260\062\055\075\260\260"
- "\260\270\276\260\275\277\260\260\260\260\260\236\260\260\260\260\260\250"
- "\256\260\255\257\260\260\260\260\260\216\260\260\376\340\341\366\344\345"
- "\364\343\365\350\351\352\353\354\355\356\357\377\360\361\362\363\346\342"
- "\374\373\347\370\375\371\367\372\336\300\301\326\304\305\324\303\325\310"
- "\311\312\313\314\315\316\317\337\320\321\322\323\306\302\334\333\307\330"
- "\335\331\327\332"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
- "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341"
- "\342\343\344\345\346\347\350\351\352\353\354\355\356\357\260\260\260\260"
- "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
- "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
- "\260\260\260\260\260\260\260\260\360\361\362\363\364\365\366\367\370\371"
- "\372\373\374\375\376\377\250\270\256\276\257\277\254\274\260\075\055\075"
- "\267\044\260\240"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
- "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\052\260"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
+ "\260\260\260\075\260\075\075\075\075\075\240\075\260\062\055\075\260\260"
+ "\260\270\276\260\275\277\260\260\260\260\260\236\260\260\260\260\260\250"
+ "\256\260\255\257\260\260\260\260\260\216\260\260\376\340\341\366\344\345"
+ "\364\343\365\350\351\352\353\354\355\356\357\377\360\361\362\363\346\342"
+ "\374\373\347\370\375\371\367\372\336\300\301\326\304\305\324\303\325\310"
+ "\311\312\313\314\315\316\317\337\320\321\322\323\306\302\334\333\307\330"
+ "\335\331\327\332"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
+ "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341"
+ "\342\343\344\345\346\347\350\351\352\353\354\355\356\357\260\260\260\260"
+ "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
+ "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
+ "\260\260\260\260\260\260\260\260\360\361\362\363\364\365\366\367\370\371"
+ "\372\373\374\375\376\377\250\270\256\276\257\277\254\274\260\075\055\075"
+ "\267\044\260\240"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
+ "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\052\260"
"\216\044\247\052\052\255\260\260\260\246\266\075\303\343\075\075\075\075"
"\275\266\236\246\256\276\257\277\246\266\246\266\266\246\075\075\266\075"
- "\075\042\042\056\240\246\266\312\352\266\055\055\042\042\047\047\075\042"
- "\254\274\246\266\267\250\270\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\044"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032"
- "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\250"
- "\246\303\256\246\255\257\246\246\246\246\312\217\254\246\300\301\302\303"
- "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
- "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347"
- "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371"
- "\372\373\374\375\376\377\267\270\266\343\276\266\275\277\266\266\266\266"
- "\352\247\274\266"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\075\042\042\056\240\246\266\312\352\266\055\055\042\042\047\047\075\042"
+ "\254\274\246\266\267\250\270\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\044"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032"
+ "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\250"
+ "\246\303\256\246\255\257\246\246\246\246\312\217\254\246\300\301\302\303"
+ "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325"
+ "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347"
+ "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371"
+ "\372\373\374\375\376\377\267\270\266\343\276\266\275\277\266\266\266\266"
+ "\352\247\274\266"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\044\260\047\266\042\056\052\052\266\052\123\042\246\260\132\260"
"\260\047\047\042\042\052\055\055\140\260\163\042\266\260\172\131\240\052"
- "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063"
+ "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063"
"\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101"
- "\246\103\105\105\105\105\111\111\111\111\246\116\117\242\117\117\202\075"
- "\246\125\125\125\203\131\246\220\210\141\211\141\221\141\266\212\213\214"
- "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235"
- "\223\171\266\171"},},
+ "\246\103\105\105\105\105\111\111\111\111\246\116\117\242\117\117\202\075"
+ "\246\125\125\125\203\131\246\220\210\141\211\141\221\141\266\212\213\214"
+ "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235"
+ "\223\171\266\171"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
"\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
"\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260"
@@ -8517,97 +8517,97 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_to_yandex[] = {
"\260\260\260\260"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\044\260\047\260\042\056\052\052\260\052\123\042\243\124\132\245"
"\260\047\047\042\042\052\055\055\260\260\163\042\263\164\172\265\240\055"
- "\140\207\044\204\260\247\140\260\123\042\075\217\260\244\260\075\140\227"
+ "\140\207\044\204\260\247\140\260\123\042\075\217\260\244\260\075\140\227"
"\140\266\052\055\140\224\163\042\114\140\154\264\122\101\101\101\201\114"
- "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075"
- "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214"
- "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165"
- "\223\171\164\140"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032"
- "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204"
- "\140\207\044\114\243\247\140\123\123\124\245\217\132\244\260\224\140\227"
- "\140\154\263\055\140\163\163\164\265\140\172\264\122\101\101\101\201\114"
- "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075"
- "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214"
- "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165"
- "\223\171\164\140"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\266\246\343\303\270\250\276\256\266\246\275\255\277\257\266\246"
- "\266\246\266\246\266\246\352\312\274\254\266\246\376\336\372\332\340\300"
- "\341\301\366\326\344\304\345\305\364\324\343\303\042\042\260\260\260\260"
- "\260\365\325\350\310\260\260\260\260\351\311\260\260\260\260\260\260\260"
- "\352\312\260\260\260\260\260\260\260\044\353\313\354\314\355\315\356\316"
- "\357\260\260\260\260\317\377\260\337\360\320\361\321\362\322\363\323\346"
- "\306\342\302\374\334\267\217\373\333\347\307\370\330\375\335\371\331\367"
- "\327\247\260\240"},},
-{{},},
-{{"\000\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\246\246\047\266\042\056\052\052\044\052\246\042\246\246\246\246"
- "\266\047\047\042\042\052\055\055\032\260\266\042\266\266\266\266\240\254"
- "\274\246\044\246\260\247\250\260\256\042\075\217\260\257\260\075\255\275"
+ "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075"
+ "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214"
+ "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165"
+ "\223\171\164\140"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032"
+ "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204"
+ "\140\207\044\114\243\247\140\123\123\124\245\217\132\244\260\224\140\227"
+ "\140\154\263\055\140\163\163\164\265\140\172\264\122\101\101\101\201\114"
+ "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075"
+ "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214"
+ "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165"
+ "\223\171\164\140"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\266\246\343\303\270\250\276\256\266\246\275\255\277\257\266\246"
+ "\266\246\266\246\266\246\352\312\274\254\266\246\376\336\372\332\340\300"
+ "\341\301\366\326\344\304\345\305\364\324\343\303\042\042\260\260\260\260"
+ "\260\365\325\350\310\260\260\260\260\351\311\260\260\260\260\260\260\260"
+ "\352\312\260\260\260\260\260\260\260\044\353\313\354\314\355\315\356\316"
+ "\357\260\260\260\260\317\377\260\337\360\320\361\321\362\322\363\323\346"
+ "\306\342\302\374\334\267\217\373\333\347\307\370\330\375\335\371\331\367"
+ "\327\247\260\240"},},
+{{},},
+{{"\000\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\246\246\047\266\042\056\052\052\044\052\246\042\246\246\246\246"
+ "\266\047\047\042\042\052\055\055\032\260\266\042\266\266\266\266\240\254"
+ "\274\246\044\246\260\247\250\260\256\042\075\217\260\257\260\075\255\275"
"\266\266\052\055\270\267\276\042\266\246\266\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
"\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
@@ -9741,184 +9741,178 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_to_yandex[] = {
{{},},
{{},},
{{},},
-};
-
+};
+
const Recoder NCodepagePrivate::TCodePageData::rcdr_from_yandex[] = {
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\245\255"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\264\077\240\077"
"\077\077\077\077\077\247\250\077\077\077\241\262\252\257\260\077\077\077"
"\077\077\077\271\270\077\077\077\242\263\272\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\275\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255\077\232\077"
"\077\077\077\077\077\077\263\077\077\077\077\266\264\267\234\077\077\077"
"\077\077\077\077\243\077\077\077\077\246\244\247\341\342\367\347\344\345"
- "\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376"
- "\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312"
- "\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331"
- "\330\334\300\321"},},
+ "\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376"
+ "\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312"
+ "\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331"
+ "\330\334\300\321"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077"
"\077\077\077\077\077\077\360\077\077\077\366\077\362\364\370\077\077\077"
"\077\077\077\374\361\077\077\077\367\077\363\365\200\201\202\203\204\205"
- "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227"
- "\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251"
- "\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353"
- "\354\355\356\357"},},
+ "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227"
+ "\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251"
+ "\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353"
+ "\354\355\356\357"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\242\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\266\077\312\077"
"\077\077\077\077\077\244\335\077\077\077\330\247\270\272\241\077\077\077"
"\077\077\077\334\336\077\077\077\331\264\271\273\200\201\202\203\204\205"
- "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227"
- "\230\231\232\233\234\235\236\237\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\337"},},
+ "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227"
+ "\230\231\232\233\234\235\236\237\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\337"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077"
"\077\077\077\077\077\375\241\077\077\077\256\246\244\247\077\077\077\077"
"\077\077\077\360\361\077\077\077\376\366\364\367\260\261\262\263\264\265"
- "\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307"
- "\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331"
- "\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353"
- "\354\355\356\357"},},
+ "\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307"
+ "\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331"
+ "\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353"
+ "\354\355\356\357"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255"
"\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077"
"\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\304\326\334\245\306\312\243\077\342\347\077\351\077\077\255"
"\337\344\366\374\271\346\352\263\353\356\077\364\077\077\077\077\240\321"
- "\323\214\257\217\077\247\077\077\077\077\077\077\077\077\260\361\363\234"
- "\277\237\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\323\214\257\217\077\247\077\077\077\077\077\077\077\077\260\361\363\234"
+ "\277\237\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\304\326\334\241\306\312\243\077\342\347\077\351\077\077\255"
"\337\344\366\374\261\346\352\263\353\356\077\364\077\077\077\077\240\321"
- "\323\246\257\254\077\247\077\077\077\077\077\077\077\077\260\361\363\266"
- "\277\274\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\323\246\257\254\077\247\077\077\077\077\077\077\077\077\260\361\363\266"
+ "\277\274\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\360"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077"
"\077\077\077\077\077\375\205\077\077\077\231\213\207\215\077\077\077\077"
"\077\077\077\357\204\077\077\077\230\212\206\214\241\243\354\255\247\251"
- "\352\364\270\276\307\321\323\325\327\335\342\344\346\350\253\266\245\374"
- "\366\372\237\362\356\370\235\340\240\242\353\254\246\250\351\363\267\275"
- "\306\320\322\324\326\330\341\343\345\347\252\265\244\373\365\371\236\361"
- "\355\367\234\336"},},
+ "\352\364\270\276\307\321\323\325\327\335\342\344\346\350\253\266\245\374"
+ "\366\372\237\362\356\370\235\340\240\242\353\254\246\250\351\363\267\275"
+ "\306\320\322\324\326\330\341\343\345\347\252\265\244\373\365\371\236\361"
+ "\355\367\234\336"},},
{{},},
{{"\000\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
@@ -9926,22 +9920,28 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_from_yandex[] = {
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
- "\077\077\077\077"},},
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"
+ "\077\077\077\077"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255"
"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077"
"\077\077\077\077\077\247\250\077\077\077\241\262\252\257\260\077\077\077"
"\077\077\077\271\270\077\077\077\242\263\272\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
"\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
@@ -11075,207 +11075,207 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_from_yandex[] = {
{{},},
{{},},
{{},},
-};
-
+};
+
const Recoder NCodepagePrivate::TCodePageData::rcdr_to_lower[] = {
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242"
- "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263"
- "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
- "\244\265\246\247\270\271\272\273\274\255\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257"
- "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\361\361\363\363\365\365\367\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357"
- "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\337\240\241"
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242"
+ "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263"
+ "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
+ "\244\265\246\247\270\271\272\273\274\255\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257"
+ "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\361\361\363\363\365\365\367\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357"
+ "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\337\240\241"
"\266\243\244\245\246\264\250\251\252\254\254\255\257\257\260\261\262\263"
- "\264\265\266\300\271\271\273\273\275\275\277\277\300\317\302\303\304\305"
- "\306\307\310\311\312\314\314\316\316\317\320\321\322\323\324\325\326\327"
- "\331\331\333\333\334\336\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\361"
- "\362\363\364\365\366\367\370\371\372\373\374\255\376\377\320\321\322\323"
- "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\236\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
- "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\264\265\266\300\271\271\273\273\275\275\277\277\300\317\302\303\304\305"
+ "\306\307\310\311\312\314\314\316\316\317\320\321\322\323\324\325\326\327"
+ "\331\331\333\333\334\336\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\361"
+ "\362\363\364\365\366\367\370\371\372\373\374\255\376\377\320\321\322\323"
+ "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\236\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
+ "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
"\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
"\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
"\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
"\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
"\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
"\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\263\244\271\246\247\250\251\272\253\254\255\256\277\260\261\262\263"
- "\264\265\266\267\270\271\272\273\276\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
- "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261"
- "\242\263\244\265\266\247\250\271\272\273\274\255\276\277\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
- "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\221\222\223\224\225\226\227\210\211\212\213\214\215\236\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261"
- "\262\263\264\265\266\247\270\271\272\273\274\275\276\277\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\200\202\202\204\204\206\206\210\210\212\212\214\214\216\216"
- "\220\220\222\222\224\224\226\226\230\230\232\232\234\234\236\236\240\240"
- "\242\242\244\244\246\246\250\250\252\252\254\254\256\257\260\261\262\263"
- "\264\265\265\267\267\271\272\273\274\275\275\277\300\301\302\303\304\305"
- "\306\306\310\311\312\313\314\315\316\317\320\320\322\322\324\324\326\326"
- "\330\331\332\333\334\330\336\337\336\341\341\343\343\345\345\347\347\351"
- "\351\353\353\355\355\357\360\361\361\363\363\365\365\367\367\371\371\373"
- "\373\375\376\377"},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
- "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
- "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242"
- "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263"
- "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\263\244\271\246\247\250\251\272\253\254\255\256\277\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\276\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
+ "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261"
+ "\242\263\244\265\266\247\250\271\272\273\274\255\276\277\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327"
+ "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\221\222\223\224\225\226\227\210\211\212\213\214\215\236\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261"
+ "\262\263\264\265\266\247\270\271\272\273\274\275\276\277\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\200\202\202\204\204\206\206\210\210\212\212\214\214\216\216"
+ "\220\220\222\222\224\224\226\226\230\230\232\232\234\234\236\236\240\240"
+ "\242\242\244\244\246\246\250\250\252\252\254\254\256\257\260\261\262\263"
+ "\264\265\265\267\267\271\272\273\274\275\275\277\300\301\302\303\304\305"
+ "\306\306\310\311\312\313\314\315\316\317\320\320\322\322\324\324\326\326"
+ "\330\331\332\333\334\330\336\337\336\341\341\343\343\345\345\347\347\351"
+ "\351\353\353\355\355\357\360\361\361\363\363\365\365\367\367\371\371\373"
+ "\373\375\376\377"},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147"
+ "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171"
+ "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242"
+ "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263"
+ "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
"\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
@@ -12409,207 +12409,207 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_to_lower[] = {
{{},},
{{},},
{{},},
-};
-
+};
+
const Recoder NCodepagePrivate::TCodePageData::rcdr_to_upper[] = {
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
- "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
- "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201"
- "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231"
- "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263"
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
+ "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201"
+ "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231"
+ "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263"
"\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305"
- "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327"
- "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211"
- "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233"
- "\234\235\236\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267"
- "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253"
- "\254\375\256\257"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\237"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327"
+ "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211"
+ "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233"
+ "\234\235\236\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267"
+ "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253"
+ "\254\375\256\257"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\237"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
+ "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243"
+ "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217"
+ "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243"
+ "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
+{{},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217"
+ "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241"
+ "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263"
+ "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305"
+ "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327"
+ "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352"
+ "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374"
+ "\374\375\376\377"},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
"\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
"\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
"\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
- "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243"
- "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217"
- "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243"
- "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
-{{},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217"
- "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241"
- "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263"
- "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305"
- "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327"
- "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352"
- "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374"
- "\374\375\376\377"},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
- "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
- "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
+ "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
"\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
@@ -13743,207 +13743,207 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_to_upper[] = {
{{},},
{{},},
{{},},
-};
-
+};
+
const Recoder NCodepagePrivate::TCodePageData::rcdr_to_title[] = {
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
- "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
- "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
- "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
- "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201"
- "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231"
- "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263"
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
+ "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345"
+ "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367"
+ "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201"
+ "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231"
+ "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263"
"\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305"
- "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327"
- "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211"
- "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233"
- "\234\235\236\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267"
- "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253"
- "\254\375\256\257"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\237"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327"
+ "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211"
+ "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233"
+ "\234\235\236\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267"
+ "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253"
+ "\254\375\256\257"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\237"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
+ "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
+ "\374\375\376\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
+ "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243"
+ "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
+ "\334\335\336\377"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217"
+ "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243"
+ "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
+{{},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217"
+ "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241"
+ "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263"
+ "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305"
+ "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327"
+ "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352"
+ "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374"
+ "\374\375\376\377"},},
+{{},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
+ "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
+ "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
+ "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
+ "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
"\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
"\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
"\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243"
- "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243"
- "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333"
- "\334\335\336\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217"
- "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243"
- "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
-{{},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217"
- "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241"
- "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263"
- "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305"
- "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327"
- "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352"
- "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374"
- "\374\375\376\377"},},
-{{},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153"
- "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175"
- "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
- "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241"
- "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263"
- "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351"
- "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373"
- "\374\375\376\377"},},
-{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
- "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
- "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
- "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
- "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
- "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
- "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
- "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
- "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
- "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
- "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
- "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
- "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
- "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
- "\334\335\336\337"},},
+{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
+ "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
+ "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
+ "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107"
+ "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131"
+ "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113"
+ "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175"
+ "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217"
+ "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241"
+ "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262"
+ "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305"
+ "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327"
+ "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311"
+ "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333"
+ "\334\335\336\337"},},
{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021"
"\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043"
"\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065"
@@ -15077,4 +15077,4 @@ const Recoder NCodepagePrivate::TCodePageData::rcdr_to_title[] = {
{{},},
{{},},
{{},},
-};
+};
diff --git a/library/cpp/containers/comptrie/comptrie.h b/library/cpp/containers/comptrie/comptrie.h
index a37dcee421..f77024327e 100644
--- a/library/cpp/containers/comptrie/comptrie.h
+++ b/library/cpp/containers/comptrie/comptrie.h
@@ -1,4 +1,4 @@
#pragma once
-
+
#include "comptrie_trie.h"
#include "comptrie_builder.h"
diff --git a/library/cpp/containers/comptrie/comptrie_builder.h b/library/cpp/containers/comptrie/comptrie_builder.h
index 156f93db39..cf7d2e39a3 100644
--- a/library/cpp/containers/comptrie/comptrie_builder.h
+++ b/library/cpp/containers/comptrie/comptrie_builder.h
@@ -1,5 +1,5 @@
#pragma once
-
+
#include "comptrie_packer.h"
#include "minimize.h"
#include "key_selector.h"
@@ -12,7 +12,7 @@
// is created incrementally. It actually helps a lot to have the input data prefix-grouped
// by key; otherwise, memory consumption becomes a tough issue.
// NOTE: building and serializing the automaton may be lengthy, and takes lots of memory.
-
+
// PREFIX_GROUPED means that if we, while constructing a trie, add to the builder two keys with the same prefix,
// then all the keys that we add between these two also have the same prefix.
// Actually in this mode the builder can accept even more freely ordered input,
@@ -45,16 +45,16 @@ public:
typedef S TPacker;
typedef typename TCompactTrieKeySelector<TSymbol>::TKey TKey;
typedef typename TCompactTrieKeySelector<TSymbol>::TKeyBuf TKeyBuf;
-
+
explicit TCompactTrieBuilder(TCompactTrieBuilderFlags flags = CTBF_NONE, TPacker packer = TPacker(), IAllocator* alloc = TDefaultAllocator::Instance());
-
+
// All Add.. methods return true if it was a new key, false if the key already existed.
bool Add(const TSymbol* key, size_t keylen, const TData& value);
bool Add(const TKeyBuf& key, const TData& value) {
return Add(key.data(), key.size(), value);
}
-
+
// add already serialized data
bool AddPtr(const TSymbol* key, size_t keylen, const char* data);
bool AddPtr(const TKeyBuf& key, const char* data) {
@@ -80,14 +80,14 @@ public:
bool FindLongestPrefix(const TKeyBuf& key, size_t* prefixLen, TData* value = nullptr) const {
return FindLongestPrefix(key.data(), key.size(), prefixLen, value);
}
-
+
size_t Save(IOutputStream& os) const;
size_t SaveAndDestroy(IOutputStream& os);
size_t SaveToFile(const TString& fileName) const {
TFixedBufferFileOutput out(fileName);
return Save(out);
}
-
+
void Clear(); // Returns all memory to the system and resets the builder state.
size_t GetEntryCount() const;
@@ -101,8 +101,8 @@ public:
protected:
class TCompactTrieBuilderImpl;
THolder<TCompactTrieBuilderImpl> Impl;
-};
-
+};
+
//----------------------------------------------------------------------------------------------------------------------
// Minimize the trie. The result is equivalent to the original
// trie, except that it takes less space (and has marginally lower
@@ -119,7 +119,7 @@ protected:
template <class TPacker>
size_t CompactTrieMinimize(IOutputStream& os, const char* data, size_t datalength, bool verbose = false, const TPacker& packer = TPacker(), NCompactTrie::EMinimizeMode mode = NCompactTrie::MM_DEFAULT);
-
+
template <class TTrieBuilder>
size_t CompactTrieMinimize(IOutputStream& os, const TTrieBuilder& builder, bool verbose = false);
diff --git a/library/cpp/containers/comptrie/comptrie_builder.inl b/library/cpp/containers/comptrie/comptrie_builder.inl
index a0c1097862..f273fa6571 100644
--- a/library/cpp/containers/comptrie/comptrie_builder.inl
+++ b/library/cpp/containers/comptrie/comptrie_builder.inl
@@ -1,5 +1,5 @@
#pragma once
-
+
#include "comptrie_impl.h"
#include "comptrie_trie.h"
#include "make_fast_layout.h"
@@ -618,7 +618,7 @@ typename TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::TNode*
} else {
ConvertSymbolArrayToChar(key, keylen, ckeybuf, ckeylen);
}
-
+
char* ckey = ckeybuf.Data();
TNode* next;
@@ -907,9 +907,9 @@ ui64 TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::ArcMeasure(
size_t leftoffsetsize = leftsize ? MeasureOffset(coresize + treesize) : 0;
size_t rightoffsetsize = rightsize ? MeasureOffset(coresize + treesize + leftsize) : 0;
leftoffsetsize = leftsize ? MeasureOffset(coresize + treesize + leftoffsetsize + rightoffsetsize) : 0;
- rightoffsetsize = rightsize ? MeasureOffset(coresize + treesize + leftsize + leftoffsetsize + rightoffsetsize) : 0;
+ rightoffsetsize = rightsize ? MeasureOffset(coresize + treesize + leftsize + leftoffsetsize + rightoffsetsize) : 0;
leftoffsetsize = leftsize ? MeasureOffset(coresize + treesize + leftoffsetsize + rightoffsetsize) : 0;
- rightoffsetsize = rightsize ? MeasureOffset(coresize + treesize + leftsize + leftoffsetsize + rightoffsetsize) : 0;
+ rightoffsetsize = rightsize ? MeasureOffset(coresize + treesize + leftsize + leftoffsetsize + rightoffsetsize) : 0;
coresize += leftoffsetsize + rightoffsetsize;
thiz->LeftOffset = leftsize ? coresize + treesize : 0;
diff --git a/library/cpp/containers/comptrie/comptrie_impl.cpp b/library/cpp/containers/comptrie/comptrie_impl.cpp
index a8c1f76bfb..a116ab6d1e 100644
--- a/library/cpp/containers/comptrie/comptrie_impl.cpp
+++ b/library/cpp/containers/comptrie/comptrie_impl.cpp
@@ -8,26 +8,26 @@
namespace NCompactTrie {
size_t MeasureOffset(size_t offset) {
int n = 0;
-
+
while (offset) {
offset >>= 8;
++n;
}
return n;
- }
+ }
size_t PackOffset(char* buffer, size_t offset) {
size_t len = MeasureOffset(offset);
size_t i = len;
-
+
while (i--) {
buffer[i] = (char)(offset & 0xFF);
offset >>= 8;
}
return len;
- }
+ }
void ShowProgress(size_t n) {
if (n % 1000000 == 0)
@@ -35,5 +35,5 @@ namespace NCompactTrie {
else if (n % 20000 == 0)
Cerr << ".";
}
-
-}
+
+}
diff --git a/library/cpp/containers/comptrie/comptrie_impl.h b/library/cpp/containers/comptrie/comptrie_impl.h
index 9a3e7f7d90..f41c38311a 100644
--- a/library/cpp/containers/comptrie/comptrie_impl.h
+++ b/library/cpp/containers/comptrie/comptrie_impl.h
@@ -1,7 +1,7 @@
#pragma once
-
+
#include <util/stream/output.h>
-
+
#ifndef COMPTRIE_DATA_CHECK
#define COMPTRIE_DATA_CHECK 1
#endif
diff --git a/library/cpp/containers/comptrie/comptrie_trie.h b/library/cpp/containers/comptrie/comptrie_trie.h
index 6665dfdf4d..40ec1e52b3 100644
--- a/library/cpp/containers/comptrie/comptrie_trie.h
+++ b/library/cpp/containers/comptrie/comptrie_trie.h
@@ -1,11 +1,11 @@
#pragma once
-
+
#include "comptrie_impl.h"
#include "comptrie_packer.h"
#include "opaque_trie_iterator.h"
#include "leaf_skipper.h"
#include "key_selector.h"
-
+
#include <util/generic/buffer.h>
#include <util/generic/ptr.h>
#include <util/generic/vector.h>
@@ -30,12 +30,12 @@ class TPrefixIterator;
// in case of <char> specialization cannot distinguish between "" and "\0" keys
template <class T = char, class D = ui64, class S = TCompactTriePacker<D>>
-class TCompactTrie {
-public:
- typedef T TSymbol;
+class TCompactTrie {
+public:
+ typedef T TSymbol;
typedef D TData;
typedef S TPacker;
-
+
typedef typename TCompactTrieKeySelector<TSymbol>::TKey TKey;
typedef typename TCompactTrieKeySelector<TSymbol>::TKeyBuf TKeyBuf;
@@ -50,8 +50,8 @@ protected:
const char* EmptyValue = nullptr;
TPacker Packer;
NCompactTrie::TPackerLeafSkipper<TPacker> Skipper = &Packer; // This should be true for every constructor.
-
-public:
+
+public:
TCompactTrie() = default;
TCompactTrie(const char* d, size_t len, TPacker packer);
@@ -76,7 +76,7 @@ public:
void Init(const char* d, size_t len, TPacker packer = TPacker());
void Init(const TBlob& data, TPacker packer = TPacker());
-
+
bool IsInitialized() const;
bool IsEmpty() const;
@@ -142,14 +142,14 @@ public:
inline bool FindTails(TSymbol label, TCompactTrie<T, D, S>& res) const;
class TConstIterator {
- private:
+ private:
typedef NCompactTrie::TOpaqueTrieIterator TOpaqueTrieIterator;
typedef NCompactTrie::TOpaqueTrie TOpaqueTrie;
- friend class TCompactTrie;
+ friend class TCompactTrie;
TConstIterator(const TOpaqueTrie& trie, const char* emptyValue, bool atend, TPacker packer); // only usable from Begin() and End() methods
TConstIterator(const TOpaqueTrie& trie, const char* emptyValue, const TKeyBuf& key, TPacker packer); // only usable from UpperBound() method
- public:
+ public:
TConstIterator() = default;
bool IsEmpty() const {
return !Impl;
@@ -162,7 +162,7 @@ public:
TConstIterator& operator--();
TConstIterator operator--(int /*unused*/);
TValueType operator*();
-
+
TKey GetKey() const;
size_t GetKeySize() const;
TData GetValue() const;
@@ -172,13 +172,13 @@ public:
private:
TPacker Packer;
TCopyPtr<TOpaqueTrieIterator> Impl;
- };
-
+ };
+
TConstIterator Begin() const;
TConstIterator begin() const;
TConstIterator End() const;
TConstIterator end() const;
-
+
// Returns an iterator pointing to the smallest key in the trie >= the argument.
// TODO: misleading name. Should be called LowerBound for consistency with stl.
// No. It is the STL that has a misleading name.
@@ -203,22 +203,22 @@ protected:
return LookupLongestPrefix(key, keylen, prefixLen, valuepos, hasNext);
}
void LookupPhrases(const char* datapos, size_t len, const TSymbol* key, size_t keylen, TVector<TPhraseMatch>& matches, TSymbol separator) const;
-};
-
+};
+
template <class T = char, class D = ui64, class S = TCompactTriePacker<D>>
class TCompactTrieHolder: public TCompactTrie<T, D, S>, NNonCopyable::TNonCopyable {
private:
typedef TCompactTrie<T, D, S> TBase;
TArrayHolder<char> Storage;
-
+
public:
TCompactTrieHolder(IInputStream& is, size_t len);
};
-
+
//------------------------//
// Implementation section //
//------------------------//
-
+
// TCompactTrie
template <class T, class D, class S>
diff --git a/library/cpp/containers/comptrie/comptrie_ut.cpp b/library/cpp/containers/comptrie/comptrie_ut.cpp
index 0afb79113f..74bee09b5d 100644
--- a/library/cpp/containers/comptrie/comptrie_ut.cpp
+++ b/library/cpp/containers/comptrie/comptrie_ut.cpp
@@ -116,25 +116,25 @@ private:
UNIT_TEST_SUITE_END();
static const char* SampleData[];
-
- template <class T>
+
+ template <class T>
void CreateTrie(IOutputStream& out, bool minimize, bool useFastLayout);
-
- template <class T>
+
+ template <class T>
void CheckData(const char* src, size_t len);
- template <class T>
+ template <class T>
void CheckUpperBound(const char* src, size_t len);
template <class T>
- void CheckIterator(const char* src, size_t len);
-
- template <class T>
+ void CheckIterator(const char* src, size_t len);
+
+ template <class T>
void TestTrie(bool minimize, bool useFastLayout);
-
- template <class T>
- void TestTrieIterator(bool minimize);
-
+
+ template <class T>
+ void TestTrieIterator(bool minimize);
+
template <class T, bool minimize>
void TestRandom(const size_t n, const size_t maxKeySize);
@@ -167,34 +167,34 @@ private:
class TDummyPacker;
class TStrokaPacker;
-public:
+public:
void TestPackers();
- void TestTrie8();
- void TestTrie16();
- void TestTrie32();
+ void TestTrie8();
+ void TestTrie16();
+ void TestTrie32();
void TestFastTrie8();
void TestFastTrie16();
void TestFastTrie32();
- void TestMinimizedTrie8();
- void TestMinimizedTrie16();
- void TestMinimizedTrie32();
+ void TestMinimizedTrie8();
+ void TestMinimizedTrie16();
+ void TestMinimizedTrie32();
void TestFastMinimizedTrie8();
void TestFastMinimizedTrie16();
void TestFastMinimizedTrie32();
- void TestTrieIterator8();
- void TestTrieIterator16();
- void TestTrieIterator32();
+ void TestTrieIterator8();
+ void TestTrieIterator16();
+ void TestTrieIterator32();
- void TestMinimizedTrieIterator8();
- void TestMinimizedTrieIterator16();
- void TestMinimizedTrieIterator32();
+ void TestMinimizedTrieIterator8();
+ void TestMinimizedTrieIterator16();
+ void TestMinimizedTrieIterator32();
- void TestPhraseSearch();
+ void TestPhraseSearch();
void TestAddGet();
void TestEmpty();
void TestUninitializedNonEmpty();
@@ -279,13 +279,13 @@ const char* TCompactTrieTest::SampleData[] = {
template <class T>
typename TCompactTrie<T>::TKey MakeWideKey(const char* str, size_t len) {
typename TCompactTrie<T>::TKey buffer;
- for (size_t i = 0; i < len; i++) {
- unsigned int ch = (str[i] & 0xFF);
+ for (size_t i = 0; i < len; i++) {
+ unsigned int ch = (str[i] & 0xFF);
buffer.push_back((T)(ch | ch << 8 | ch << 16 | ch << 24));
- }
- return buffer;
-}
-
+ }
+ return buffer;
+}
+
template <class T>
typename TCompactTrie<T>::TKey MakeWideKey(const TString& str) {
return MakeWideKey<T>(str.c_str(), str.length());
@@ -308,13 +308,13 @@ void TCompactTrieTest::CreateTrie(IOutputStream& out, bool minimize, bool useFas
TBufferOutput tmp2;
IOutputStream& currentOutput = useFastLayout ? tmp2 : out;
- if (minimize) {
- TBufferOutput buftmp;
- builder.Save(buftmp);
+ if (minimize) {
+ TBufferOutput buftmp;
+ builder.Save(buftmp);
CompactTrieMinimize<TCompactTriePacker<ui64>>(currentOutput, buftmp.Buffer().Data(), buftmp.Buffer().Size(), false);
- } else {
+ } else {
builder.Save(currentOutput);
- }
+ }
if (useFastLayout) {
CompactTrieMakeFastLayout<TCompactTriePacker<T>>(out, tmp2.Buffer().Data(), tmp2.Buffer().Size(), false);
}
@@ -358,23 +358,23 @@ void TCompactTrieTest::CheckUpperBound(const char* data, size_t datalen) {
}
template <class T>
-void TCompactTrieTest::CheckData(const char* data, size_t datalen) {
- TCompactTrie<T> trie(data, datalen);
+void TCompactTrieTest::CheckData(const char* data, size_t datalen) {
+ TCompactTrie<T> trie(data, datalen);
UNIT_ASSERT_VALUES_EQUAL(Y_ARRAY_SIZE(SampleData), trie.Size());
for (auto& i : SampleData) {
size_t len = strlen(i);
- ui64 value = 0;
+ ui64 value = 0;
size_t prefixLen = 0;
typename TCompactTrie<T>::TKey key = MakeWideKey<T>(i, len);
UNIT_ASSERT(trie.Find(key, &value));
- UNIT_ASSERT_EQUAL(len * 2, value);
+ UNIT_ASSERT_EQUAL(len * 2, value);
UNIT_ASSERT(trie.FindLongestPrefix(key, &prefixLen, &value));
UNIT_ASSERT_EQUAL(len, prefixLen);
UNIT_ASSERT_EQUAL(len * 2, value);
-
+
TString badkey("bb");
badkey += i;
key = MakeWideKey<T>(badkey);
@@ -420,35 +420,35 @@ void TCompactTrieTest::CheckData(const char* data, size_t datalen) {
}
template <class T>
-void TCompactTrieTest::CheckIterator(const char* data, size_t datalen) {
+void TCompactTrieTest::CheckIterator(const char* data, size_t datalen) {
typedef typename TCompactTrie<T>::TKey TKey;
typedef typename TCompactTrie<T>::TValueType TValue;
TMap<TKey, ui64> stored;
-
+
for (auto& i : SampleData) {
size_t len = strlen(i);
-
+
stored[MakeWideKey<T>(i, len)] = len * 2;
- }
-
- TCompactTrie<T> trie(data, datalen);
+ }
+
+ TCompactTrie<T> trie(data, datalen);
TVector<TValue> items;
- typename TCompactTrie<T>::TConstIterator it = trie.Begin();
- size_t entry_count = 0;
+ typename TCompactTrie<T>::TConstIterator it = trie.Begin();
+ size_t entry_count = 0;
TMap<TKey, ui64> received;
- while (it != trie.End()) {
+ while (it != trie.End()) {
UNIT_ASSERT_VALUES_EQUAL(it.GetKeySize(), it.GetKey().size());
- received.insert(*it);
+ received.insert(*it);
items.push_back(*it);
- entry_count++;
+ entry_count++;
it++;
- }
+ }
TMap<TKey, ui64> received2;
for (std::pair<TKey, ui64> x : trie) {
received2.insert(x);
}
- UNIT_ASSERT(entry_count == stored.size());
- UNIT_ASSERT(received == stored);
+ UNIT_ASSERT(entry_count == stored.size());
+ UNIT_ASSERT(received == stored);
UNIT_ASSERT(received2 == stored);
std::reverse(items.begin(), items.end());
@@ -483,21 +483,21 @@ void TCompactTrieTest::CheckIterator(const char* data, size_t datalen) {
UNIT_ASSERT(revIt == emptyIt);
UNIT_ASSERT(revIt.IsEmpty());
UNIT_ASSERT(revIt != trie.End());
-}
-
+}
+
template <class T>
void TCompactTrieTest::TestTrie(bool minimize, bool useFastLayout) {
TBufferOutput bufout;
CreateTrie<T>(bufout, minimize, useFastLayout);
- CheckData<T>(bufout.Buffer().Data(), bufout.Buffer().Size());
+ CheckData<T>(bufout.Buffer().Data(), bufout.Buffer().Size());
CheckUpperBound<T>(bufout.Buffer().Data(), bufout.Buffer().Size());
}
template <class T>
-void TCompactTrieTest::TestTrieIterator(bool minimize) {
+void TCompactTrieTest::TestTrieIterator(bool minimize) {
TBufferOutput bufout;
CreateTrie<T>(bufout, minimize, false);
- CheckIterator<T>(bufout.Buffer().Data(), bufout.Buffer().Size());
+ CheckIterator<T>(bufout.Buffer().Data(), bufout.Buffer().Size());
}
void TCompactTrieTest::TestTrie8() {
@@ -519,7 +519,7 @@ void TCompactTrieTest::TestFastTrie16() {
void TCompactTrieTest::TestFastTrie32() {
TestTrie<wchar32>(false, true);
}
-
+
void TCompactTrieTest::TestMinimizedTrie8() {
TestTrie<char>(true, false);
}
@@ -529,7 +529,7 @@ void TCompactTrieTest::TestMinimizedTrie16() {
void TCompactTrieTest::TestMinimizedTrie32() {
TestTrie<wchar32>(true, false);
}
-
+
void TCompactTrieTest::TestFastMinimizedTrie8() {
TestTrie<char>(true, true);
}
@@ -559,56 +559,56 @@ void TCompactTrieTest::TestMinimizedTrieIterator16() {
void TCompactTrieTest::TestMinimizedTrieIterator32() {
TestTrieIterator<wchar32>(true);
}
-
-void TCompactTrieTest::TestPhraseSearch() {
+
+void TCompactTrieTest::TestPhraseSearch() {
static const char* phrases[] = {"ab", "ab cd", "ab cd ef"};
- static const char* const goodphrase = "ab cd ef gh";
- static const char* const badphrase = "cd ef gh ab";
- TBufferOutput bufout;
-
+ static const char* const goodphrase = "ab cd ef gh";
+ static const char* const badphrase = "cd ef gh ab";
+ TBufferOutput bufout;
+
TCompactTrieBuilder<char> builder;
for (size_t i = 0; i < Y_ARRAY_SIZE(phrases); i++) {
- builder.Add(phrases[i], strlen(phrases[i]), i);
- }
- builder.Save(bufout);
-
- TCompactTrie<char> trie(bufout.Buffer().Data(), bufout.Buffer().Size());
+ builder.Add(phrases[i], strlen(phrases[i]), i);
+ }
+ builder.Save(bufout);
+
+ TCompactTrie<char> trie(bufout.Buffer().Data(), bufout.Buffer().Size());
TVector<TCompactTrie<char>::TPhraseMatch> matches;
- trie.FindPhrases(goodphrase, strlen(goodphrase), matches);
-
+ trie.FindPhrases(goodphrase, strlen(goodphrase), matches);
+
UNIT_ASSERT(matches.size() == Y_ARRAY_SIZE(phrases));
for (size_t i = 0; i < Y_ARRAY_SIZE(phrases); i++) {
- UNIT_ASSERT(matches[i].first == strlen(phrases[i]));
- UNIT_ASSERT(matches[i].second == i);
- }
-
- trie.FindPhrases(badphrase, strlen(badphrase), matches);
- UNIT_ASSERT(matches.size() == 0);
-}
-
+ UNIT_ASSERT(matches[i].first == strlen(phrases[i]));
+ UNIT_ASSERT(matches[i].second == i);
+ }
+
+ trie.FindPhrases(badphrase, strlen(badphrase), matches);
+ UNIT_ASSERT(matches.size() == 0);
+}
+
void TCompactTrieTest::TestAddGet() {
- TCompactTrieBuilder<char> builder;
- builder.Add("abcd", 4, 1);
- builder.Add("acde", 4, 2);
+ TCompactTrieBuilder<char> builder;
+ builder.Add("abcd", 4, 1);
+ builder.Add("acde", 4, 2);
ui64 dummy;
- UNIT_ASSERT(builder.Find("abcd", 4, &dummy));
+ UNIT_ASSERT(builder.Find("abcd", 4, &dummy));
UNIT_ASSERT(1 == dummy);
- UNIT_ASSERT(builder.Find("acde", 4, &dummy));
+ UNIT_ASSERT(builder.Find("acde", 4, &dummy));
UNIT_ASSERT(2 == dummy);
- UNIT_ASSERT(!builder.Find("fgdgfacde", 9, &dummy));
- UNIT_ASSERT(!builder.Find("ab", 2, &dummy));
+ UNIT_ASSERT(!builder.Find("fgdgfacde", 9, &dummy));
+ UNIT_ASSERT(!builder.Find("ab", 2, &dummy));
}
void TCompactTrieTest::TestEmpty() {
- TCompactTrieBuilder<char> builder;
+ TCompactTrieBuilder<char> builder;
ui64 dummy = 12345;
size_t prefixLen;
- UNIT_ASSERT(!builder.Find("abc", 3, &dummy));
+ UNIT_ASSERT(!builder.Find("abc", 3, &dummy));
TBufferOutput bufout;
builder.Save(bufout);
- TCompactTrie<char> trie(bufout.Buffer().Data(), bufout.Buffer().Size());
- UNIT_ASSERT(!trie.Find("abc", 3, &dummy));
+ TCompactTrie<char> trie(bufout.Buffer().Data(), bufout.Buffer().Size());
+ UNIT_ASSERT(!trie.Find("abc", 3, &dummy));
UNIT_ASSERT(!trie.Find("", 0, &dummy));
UNIT_ASSERT(!trie.FindLongestPrefix("abc", 3, &prefixLen, &dummy));
UNIT_ASSERT(!trie.FindLongestPrefix("", 0, &prefixLen, &dummy));
diff --git a/library/cpp/containers/comptrie/leaf_skipper.h b/library/cpp/containers/comptrie/leaf_skipper.h
index 06e93e10dc..3959258948 100644
--- a/library/cpp/containers/comptrie/leaf_skipper.h
+++ b/library/cpp/containers/comptrie/leaf_skipper.h
@@ -1,7 +1,7 @@
#pragma once
-
+
#include <cstddef>
-
+
namespace NCompactTrie {
class ILeafSkipper {
public:
diff --git a/library/cpp/containers/comptrie/make_fast_layout.cpp b/library/cpp/containers/comptrie/make_fast_layout.cpp
index 5de128e0e9..ade78d7899 100644
--- a/library/cpp/containers/comptrie/make_fast_layout.cpp
+++ b/library/cpp/containers/comptrie/make_fast_layout.cpp
@@ -146,7 +146,7 @@ namespace NCompactTrie {
explicit TOffsetIndex(TTrieNodeCounts& counts) {
ParentCounts.Swap(counts);
}
-
+
void Add(size_t key, size_t value) {
Data[key] = value;
}
@@ -154,7 +154,7 @@ namespace NCompactTrie {
size_t Size() const {
return Data.size();
}
-
+
size_t Get(size_t key) {
auto pos = Data.find(key);
if (pos == Data.end()) {
@@ -167,14 +167,14 @@ namespace NCompactTrie {
}
return result;
}
-
+
private:
TTrieNodeCounts ParentCounts;
THashMap<size_t, size_t> Data;
};
//---------------------------------------------------------------------------------------
-
+
class TTrieMeasurer {
public:
TTrieMeasurer(const TOpaqueTrie& trie, bool verbose);
@@ -226,7 +226,7 @@ namespace NCompactTrie {
{
Y_ASSERT(Trie.Data);
}
-
+
void TTrieMeasurer::Measure() {
if (Verbose) {
Cerr << "Measuring the trie..." << Endl;
@@ -308,7 +308,7 @@ namespace NCompactTrie {
, Verbose(verbose)
{
}
-
+
bool Move() override {
if (!Fresh) {
CentralWord.pop_back();
@@ -318,11 +318,11 @@ namespace NCompactTrie {
}
return true;
}
-
+
const TNode& Get() const {
return CentralWord.back();
}
-
+
size_t GetLeafLength() const override {
return Get().GetLeafLength();
}
@@ -333,7 +333,7 @@ namespace NCompactTrie {
return NPOS;
return resultLength - BackIndex.Get(absoffset);
}
-
+
size_t RecreateNode(char* buffer, size_t resultLength) override {
TWriteableNode newNode(Get(), Trie.Data);
newNode.ForwardOffset = PrepareOffset(Get().GetForwardOffset(), resultLength);
@@ -346,7 +346,7 @@ namespace NCompactTrie {
MaxIndexSize = Max(MaxIndexSize, BackIndex.Size());
return len;
}
-
+
private:
bool Fresh;
TOpaqueTrie Trie;
@@ -382,7 +382,7 @@ namespace NCompactTrie {
}
}
}
-
+
void FillCentralWord() {
CentralWord.clear();
CentralWord.push_back(TNode(Trie.Data, Trace.back().Nodes.back(), Trie.SkipFunction));
@@ -462,6 +462,6 @@ namespace NCompactTrie {
mes.Measure();
TVanEmdeBoasReverseNodeEnumerator enumerator(mes, verbose);
return WriteTrieBackwards(os, enumerator, verbose);
- }
+ }
}
diff --git a/library/cpp/containers/comptrie/make_fast_layout.h b/library/cpp/containers/comptrie/make_fast_layout.h
index a55e9a5689..b8fab5d65b 100644
--- a/library/cpp/containers/comptrie/make_fast_layout.h
+++ b/library/cpp/containers/comptrie/make_fast_layout.h
@@ -1,8 +1,8 @@
#pragma once
-
+
#include "leaf_skipper.h"
#include <cstddef>
-
+
class IOutputStream;
namespace NCompactTrie {
diff --git a/library/cpp/containers/comptrie/minimize.cpp b/library/cpp/containers/comptrie/minimize.cpp
index cb25a366f6..80d0b25217 100644
--- a/library/cpp/containers/comptrie/minimize.cpp
+++ b/library/cpp/containers/comptrie/minimize.cpp
@@ -15,7 +15,7 @@ namespace NCompactTrie {
// nodes that have identical continuations (Daciuk's right language),
// and repack the trie. Repacking is done in-place, so memory is less
// of an issue; however, it may take considerable time.
-
+
// IMPORTANT: never try to reminimize an already minimized trie or a trie with fast layout.
// Because of non-local structure and epsilon links, it won't work
// as you expect it to, and can destroy the trie in the making.
@@ -23,7 +23,7 @@ namespace NCompactTrie {
namespace {
using TOffsetList = TVector<size_t>;
using TPieceIndex = THashMap<size_t, TOffsetList>;
-
+
using TSizePair = std::pair<size_t, size_t>;
using TSizePairVector = TVector<TSizePair>;
using TSizePairVectorVector = TVector<TSizePairVector>;
@@ -36,38 +36,38 @@ namespace NCompactTrie {
TOffsetMap() {
Data.reserve(0x10000);
}
-
+
void Add(size_t key, size_t value) {
size_t hikey = key & 0xFFFF;
-
+
if (Data.size() <= hikey)
Data.resize(hikey + 1);
TSizePairVector& sublist = Data[hikey];
-
+
for (auto& it : sublist) {
if (it.first == key) {
it.second = value;
-
+
return;
}
}
-
+
sublist.push_back(TSizePair(key, value));
}
bool Contains(size_t key) const {
return (Get(key) != 0);
- }
+ }
size_t Get(size_t key) const {
size_t hikey = key & 0xFFFF;
-
+
if (Data.size() <= hikey)
return 0;
-
+
const TSizePairVector& sublist = Data[hikey];
-
+
for (const auto& it : sublist) {
if (it.first == key)
return it.second;
@@ -76,7 +76,7 @@ namespace NCompactTrie {
return 0;
}
};
-
+
class TOffsetDeltas {
protected:
TSizePairVector Data;
@@ -88,10 +88,10 @@ namespace NCompactTrie {
return; // no offset
} else {
TSizePair last = Data.back();
-
+
if (key <= last.first) {
Cerr << "Trouble: elements to offset delta list added in wrong order" << Endl;
-
+
return;
}
@@ -100,19 +100,19 @@ namespace NCompactTrie {
}
Data.push_back(TSizePair(key, value));
- }
+ }
size_t Get(size_t key) const {
if (Data.empty())
return key; // difference is zero;
-
+
if (key < Data.front().first)
return key;
-
+
// Binary search for the highest entry in the list that does not exceed the key
size_t from = 0;
size_t to = Data.size() - 1;
-
+
while (from < to) {
size_t midpoint = (from + to + 1) / 2;
@@ -121,7 +121,7 @@ namespace NCompactTrie {
else
from = midpoint;
}
-
+
TSizePair entry = Data[from];
return key - entry.first + entry.second;
@@ -139,7 +139,7 @@ namespace NCompactTrie {
, Length(len)
{
}
-
+
bool operator()(size_t p1, const size_t p2) {
int res = memcmp(Data + p1, Data + p2, Length);
@@ -159,13 +159,13 @@ namespace NCompactTrie {
: Selector(0)
{
}
-
+
TBranchPoint(const char* data, size_t offset, const ILeafSkipper& skipFunction)
: Node(data, offset, skipFunction)
, Selector(0)
{
}
-
+
bool IsFinal() const {
return Node.IsFinal();
}
@@ -174,7 +174,7 @@ namespace NCompactTrie {
size_t NextNode(const TOffsetMap& mergedNodes) {
while (Selector < 3) {
size_t nextOffset = 0;
-
+
switch (++Selector) {
case 1:
if (Node.GetRightOffset())
@@ -199,7 +199,7 @@ namespace NCompactTrie {
return nextOffset;
}
return 0;
- }
+ }
};
class TMergingReverseNodeEnumerator: public TReverseNodeEnumerator {
@@ -209,7 +209,7 @@ namespace NCompactTrie {
const TOffsetMap& MergeMap;
TVector<TBranchPoint> Trace;
TOffsetDeltas OffsetIndex;
-
+
public:
TMergingReverseNodeEnumerator(const TOpaqueTrie& trie, const TOffsetMap& mergers)
: Fresh(true)
@@ -217,7 +217,7 @@ namespace NCompactTrie {
, MergeMap(mergers)
{
}
-
+
bool Move() override {
if (Fresh) {
Trace.push_back(TBranchPoint(Trie.Data, 0, Trie.SkipFunction));
@@ -225,7 +225,7 @@ namespace NCompactTrie {
} else {
if (Trace.empty())
return false;
-
+
Trace.pop_back();
if (Trace.empty())
@@ -233,7 +233,7 @@ namespace NCompactTrie {
}
size_t nextnode = Trace.back().NextNode(MergeMap);
-
+
while (nextnode) {
Trace.push_back(TBranchPoint(Trie.Data, nextnode, Trie.SkipFunction));
nextnode = Trace.back().NextNode(MergeMap);
@@ -241,30 +241,30 @@ namespace NCompactTrie {
return (!Trace.empty());
}
-
+
const TNode& Get() const {
return Trace.back().Node;
}
size_t GetLeafLength() const override {
return Get().GetLeafLength();
}
-
+
// Returns recalculated offset from the end of the current node
size_t PrepareOffset(size_t absoffset, size_t minilength) {
if (!absoffset)
return NPOS;
-
+
if (MergeMap.Contains(absoffset))
absoffset = MergeMap.Get(absoffset);
return minilength - OffsetIndex.Get(Trie.Length - absoffset);
}
-
+
size_t RecreateNode(char* buffer, size_t resultLength) override {
TWriteableNode newNode(Get(), Trie.Data);
newNode.ForwardOffset = PrepareOffset(Get().GetForwardOffset(), resultLength);
newNode.LeftOffset = PrepareOffset(Get().GetLeftOffset(), resultLength);
newNode.RightOffset = PrepareOffset(Get().GetRightOffset(), resultLength);
-
+
if (!buffer)
return newNode.Measure();
@@ -275,8 +275,8 @@ namespace NCompactTrie {
}
};
- }
-
+ }
+
static void AddPiece(TPieceIndex& index, size_t offset, size_t len) {
index[len].push_back(offset);
}
@@ -288,24 +288,24 @@ namespace NCompactTrie {
TOffsetMap merger;
// Start walking the trie from head.
AddPiece(subtries, 0, trie.Length);
-
+
size_t counter = 0;
// Now consider all nodes with sizeable continuations
for (size_t curlen = trie.Length; curlen >= minMergeSize && !subtries.empty(); curlen--) {
TPieceIndex::iterator iit = subtries.find(curlen);
-
+
if (iit == subtries.end())
continue; // fast forward to the next available length value
TOffsetList& batch = iit->second;
TPieceComparer comparer(trie.Data, curlen);
Sort(batch.begin(), batch.end(), comparer);
-
+
TOffsetList::iterator it = batch.begin();
while (it != batch.end()) {
if (verbose)
ShowProgress(++counter);
-
+
size_t offset = *it;
// Fill the array with the subnodes of the element
@@ -322,11 +322,11 @@ namespace NCompactTrie {
if (size_t forwardOffset = node.GetForwardOffset()) {
AddPiece(subtries, forwardOffset, end - forwardOffset);
}
-
+
while (++it != batch.end()) {
// Find next different; until then, just add the offsets to the list of merged nodes.
size_t nextoffset = *it;
-
+
if (memcmp(trie.Data + offset, trie.Data + nextoffset, curlen))
break;
@@ -335,12 +335,12 @@ namespace NCompactTrie {
}
subtries.erase(curlen);
- }
+ }
if (verbose) {
Cerr << counter << Endl;
}
return merger;
- }
+ }
size_t RawCompactTrieMinimizeImpl(IOutputStream& os, TOpaqueTrie& trie, bool verbose, size_t minMergeSize, EMinimizeMode mode) {
if (!trie.Data || !trie.Length) {
diff --git a/library/cpp/containers/comptrie/minimize.h b/library/cpp/containers/comptrie/minimize.h
index d9fff3cfa5..baaa431d04 100644
--- a/library/cpp/containers/comptrie/minimize.h
+++ b/library/cpp/containers/comptrie/minimize.h
@@ -1,8 +1,8 @@
#pragma once
-
+
#include "leaf_skipper.h"
#include <cstddef>
-
+
class IOutputStream;
namespace NCompactTrie {
diff --git a/library/cpp/containers/comptrie/node.cpp b/library/cpp/containers/comptrie/node.cpp
index 1df102fb84..5fd22f15ec 100644
--- a/library/cpp/containers/comptrie/node.cpp
+++ b/library/cpp/containers/comptrie/node.cpp
@@ -1,7 +1,7 @@
#include "node.h"
#include "leaf_skipper.h"
#include "comptrie_impl.h"
-
+
#include <util/system/yassert.h>
#include <util/generic/yexception.h>
@@ -16,7 +16,7 @@ namespace NCompactTrie {
offset = 0;
}
}
-
+
// We believe that epsilon links are found only on the forward-position and that afer jumping an epsilon link you come to an ordinary node.
TNode::TNode(const char* data, size_t offset, const ILeafSkipper& skipFunction)
@@ -35,7 +35,7 @@ namespace NCompactTrie {
char flags = *(datapos++);
Y_ASSERT(!IsEpsilonLink(flags));
Label = *(datapos++);
-
+
size_t leftsize = LeftOffsetLen(flags);
size_t& leftOffset = Offsets[D_LEFT];
leftOffset = UnpackOffset(datapos, leftsize);
@@ -43,7 +43,7 @@ namespace NCompactTrie {
leftOffset += Offset;
}
datapos += leftsize;
-
+
size_t rightsize = RightOffsetLen(flags);
size_t& rightOffset = Offsets[D_RIGHT];
rightOffset = UnpackOffset(datapos, rightsize);
@@ -72,8 +72,8 @@ namespace NCompactTrie {
ythrow yexception() << "Corrupted epsilon link";
}
forwardOffset += epsilonOffset;
- }
- }
- }
+ }
+ }
+ }
-}
+}
diff --git a/library/cpp/containers/comptrie/node.h b/library/cpp/containers/comptrie/node.h
index 3194a1340f..d6f4317db0 100644
--- a/library/cpp/containers/comptrie/node.h
+++ b/library/cpp/containers/comptrie/node.h
@@ -4,7 +4,7 @@
namespace NCompactTrie {
class ILeafSkipper;
-
+
enum TDirection {
D_LEFT,
D_FINAL,
@@ -42,11 +42,11 @@ namespace NCompactTrie {
size_t GetCoreLength() const {
return CoreLength;
}
-
+
size_t GetOffsetByDirection(TDirection direction) const {
return Offsets[direction];
}
-
+
size_t GetForwardOffset() const {
return Offsets[D_NEXT];
}
@@ -63,7 +63,7 @@ namespace NCompactTrie {
bool IsFinal() const {
return GetLeafOffset() != 0;
}
-
+
bool HasEpsilonLinkForward() const {
return GetForwardOffset() > Offset + CoreLength;
}
@@ -76,5 +76,5 @@ namespace NCompactTrie {
char Label;
};
-
+
}
diff --git a/library/cpp/containers/comptrie/opaque_trie_iterator.cpp b/library/cpp/containers/comptrie/opaque_trie_iterator.cpp
index 356c6a72ff..5fd3914be6 100644
--- a/library/cpp/containers/comptrie/opaque_trie_iterator.cpp
+++ b/library/cpp/containers/comptrie/opaque_trie_iterator.cpp
@@ -1,7 +1,7 @@
#include "opaque_trie_iterator.h"
#include "comptrie_impl.h"
#include "node.h"
-
+
namespace NCompactTrie {
TOpaqueTrieIterator::TOpaqueTrieIterator(const TOpaqueTrie& trie, const char* emptyValue, bool atend,
size_t maxKeyLength)
diff --git a/library/cpp/containers/comptrie/opaque_trie_iterator.h b/library/cpp/containers/comptrie/opaque_trie_iterator.h
index 04d7134b07..195da3c191 100644
--- a/library/cpp/containers/comptrie/opaque_trie_iterator.h
+++ b/library/cpp/containers/comptrie/opaque_trie_iterator.h
@@ -1,10 +1,10 @@
#pragma once
-
+
#include "comptrie_impl.h"
#include "node.h"
#include "key_selector.h"
#include "leaf_skipper.h"
-
+
#include <util/generic/vector.h>
#include <util/generic/yexception.h>
@@ -17,7 +17,7 @@ namespace NCompactTrie {
const char* Data;
size_t Limit; // valid data is in range [Data + Node.GetOffset(), Data + Limit)
TDirection CurrentDirection;
-
+
public:
TFork(const char* data, size_t offset, size_t limit, const ILeafSkipper& skipper);
diff --git a/library/cpp/containers/comptrie/write_trie_backwards.cpp b/library/cpp/containers/comptrie/write_trie_backwards.cpp
index 3109e342a7..fd8c28b0ed 100644
--- a/library/cpp/containers/comptrie/write_trie_backwards.cpp
+++ b/library/cpp/containers/comptrie/write_trie_backwards.cpp
@@ -11,23 +11,23 @@ namespace NCompactTrie {
if (verbose) {
Cerr << "Writing down the trie..." << Endl;
}
-
+
// Rewrite everything from the back, removing unused pieces.
const size_t chunksize = 0x10000;
TVector<char*> resultData;
-
+
resultData.push_back(new char[chunksize]);
char* chunkend = resultData.back() + chunksize;
-
+
size_t resultLength = 0;
size_t chunkLength = 0;
-
+
size_t counter = 0;
TBuffer bufferHolder;
while (enumerator.Move()) {
if (verbose)
ShowProgress(++counter);
-
+
size_t bufferLength = 64 + enumerator.GetLeafLength(); // never know how big leaf data can be
bufferHolder.Clear();
bufferHolder.Resize(bufferLength);
@@ -35,7 +35,7 @@ namespace NCompactTrie {
size_t nodelength = enumerator.RecreateNode(buffer, resultLength);
Y_ASSERT(nodelength <= bufferLength);
-
+
resultLength += nodelength;
if (chunkLength + nodelength <= chunksize) {
@@ -44,14 +44,14 @@ namespace NCompactTrie {
} else { // allocate a new chunk
memcpy(chunkend - chunksize, buffer + nodelength - (chunksize - chunkLength), chunksize - chunkLength);
chunkLength = chunkLength + nodelength - chunksize;
-
+
resultData.push_back(new char[chunksize]);
chunkend = resultData.back() + chunksize;
-
+
while (chunkLength > chunksize) { // allocate a new chunks
chunkLength -= chunksize;
memcpy(chunkend - chunksize, buffer + chunkLength, chunksize);
-
+
resultData.push_back(new char[chunksize]);
chunkend = resultData.back() + chunksize;
}
@@ -70,11 +70,11 @@ namespace NCompactTrie {
chunkLength = chunksize;
delete[] chunk;
resultData.pop_back();
- }
+ }
return resultLength;
- }
-
+ }
+
size_t WriteTrieBackwardsNoAlloc(IOutputStream& os, TReverseNodeEnumerator& enumerator, TOpaqueTrie& trie, EMinimizeMode mode) {
char* data = const_cast<char*>(trie.Data);
char* end = data + trie.Length;
diff --git a/library/cpp/containers/comptrie/writeable_node.cpp b/library/cpp/containers/comptrie/writeable_node.cpp
index b45f9f47ce..404003dbbd 100644
--- a/library/cpp/containers/comptrie/writeable_node.cpp
+++ b/library/cpp/containers/comptrie/writeable_node.cpp
@@ -12,7 +12,7 @@ namespace NCompactTrie {
, Label(0)
{
}
-
+
static size_t GetOffsetFromEnd(const TNode& node, size_t absOffset) {
return absOffset ? absOffset - node.GetOffset() - node.GetCoreLength() : NPOS;
}
@@ -36,7 +36,7 @@ namespace NCompactTrie {
do {
lastLen = len;
lastFwdLen = fwdLen;
-
+
len = 2 + LeafLength;
len += MeasureOffset(LeftOffset != NPOS ? LeftOffset + lastLen : 0);
len += MeasureOffset(RightOffset != NPOS ? RightOffset + lastLen : 0);
@@ -48,15 +48,15 @@ namespace NCompactTrie {
fwdLen = MeasureOffset(ForwardOffset + lastFwdLen) + 1;
len += fwdLen;
}
-
+
} while (lastLen != len || lastFwdLen != fwdLen);
-
+
return len;
}
-
+
size_t TWriteableNode::Pack(char* buffer) const {
const size_t length = Measure();
-
+
char flags = 0;
if (LeafPos) {
flags |= MT_FINAL;
@@ -64,14 +64,14 @@ namespace NCompactTrie {
if (ForwardOffset != NPOS) {
flags |= MT_NEXT;
}
-
+
const size_t leftOffset = LeftOffset != NPOS ? LeftOffset + length : 0;
const size_t rightOffset = RightOffset != NPOS ? RightOffset + length : 0;
const size_t leftOffsetSize = MeasureOffset(leftOffset);
const size_t rightOffsetSize = MeasureOffset(rightOffset);
flags |= (leftOffsetSize << MT_LEFTSHIFT);
flags |= (rightOffsetSize << MT_RIGHTSHIFT);
-
+
buffer[0] = flags;
buffer[1] = Label;
size_t usedLen = 2;
@@ -91,6 +91,6 @@ namespace NCompactTrie {
}
Y_ASSERT(usedLen == length);
return usedLen;
- }
-
-}
+ }
+
+}
diff --git a/library/cpp/mime/types/mime.cpp b/library/cpp/mime/types/mime.cpp
index 9d0350c59c..706d776b24 100644
--- a/library/cpp/mime/types/mime.cpp
+++ b/library/cpp/mime/types/mime.cpp
@@ -1,9 +1,9 @@
#include "mime.h"
-#include <util/system/defaults.h>
+#include <util/system/defaults.h>
#include <util/generic/hash.h>
#include <util/generic/strbuf.h>
-#include <util/generic/singleton.h>
+#include <util/generic/singleton.h>
#include <util/generic/yexception.h>
#include <cctype>
diff --git a/library/cpp/packers/packers.h b/library/cpp/packers/packers.h
index dd6865078c..1bde1b59aa 100644
--- a/library/cpp/packers/packers.h
+++ b/library/cpp/packers/packers.h
@@ -31,14 +31,14 @@ public:
};
template <typename T>
-class TAsIsPacker { // this packer is not really a packer...
+class TAsIsPacker { // this packer is not really a packer...
public:
void UnpackLeaf(const char* p, T& t) const {
- memcpy(&t, p, sizeof(T));
+ memcpy(&t, p, sizeof(T));
}
void PackLeaf(char* buffer, const T& data, size_t computedSize) const {
Y_ASSERT(computedSize == sizeof(data));
- memcpy(buffer, &data, sizeof(T));
+ memcpy(buffer, &data, sizeof(T));
}
size_t MeasureLeaf(const T& data) const {
Y_UNUSED(data);
diff --git a/library/cpp/packers/ut/packers_ut.cpp b/library/cpp/packers/ut/packers_ut.cpp
index 1e31c63482..18ce2150d1 100644
--- a/library/cpp/packers/ut/packers_ut.cpp
+++ b/library/cpp/packers/ut/packers_ut.cpp
@@ -34,7 +34,7 @@ private:
template <class TData, class TPacker>
void TestPacker(const TData* test, size_t size);
-public:
+public:
void TestPackers();
};
diff --git a/util/charset/generated/unidata.cpp b/util/charset/generated/unidata.cpp
index 273ee87dac..6f5adbbc0a 100644
--- a/util/charset/generated/unidata.cpp
+++ b/util/charset/generated/unidata.cpp
@@ -1,5 +1,5 @@
#include <util/charset/unidata.h>
-
+
namespace { namespace NUnidataTableGenerated {
using TV = const NUnicode::NPrivate::TUnidataTable::TStored;
@@ -7521,7 +7521,7 @@ namespace { namespace NUnidataTableGenerated {
static const size_t Size = 1114110;
}} // namespace NUnidataTableGenerated
-
+
namespace NUnicode {
namespace NPrivate {
const NUnicode::NPrivate::TUnidataTable& UnidataTable() {
diff --git a/util/charset/unidata.h b/util/charset/unidata.h
index bf364e088a..400d314186 100644
--- a/util/charset/unidata.h
+++ b/util/charset/unidata.h
@@ -66,13 +66,13 @@ enum WC_TYPE { // TODO move no NUnicode
Sc_CURRENCY = 49, // '$' [$] DOLLAR SIGN
Sk_MODIFIER = 50, // '`' [^`] CIRCUMFLEX ACCENT ... GRAVE ACCENT
So_OTHER = 51, // '°' [°] DEGREE SIGN (00B0)
-
- Ps_SINGLE_QUOTE = 52, // '\'' ['] OPENING SINGLE QUOTE
- Pe_SINGLE_QUOTE = 53, // '\'' ['] CLOSING SINGLE QUOTE
- Pi_SINGLE_QUOTE = 54, // '\'' ['] INITIAL SINGLE QUOTE
- Pf_SINGLE_QUOTE = 55, // '\'' ['] FINAL SINGLE QUOTE
- Po_SINGLE_QUOTE = 56, // '\'' ['] APOSTROPHE and PRIME
-
+
+ Ps_SINGLE_QUOTE = 52, // '\'' ['] OPENING SINGLE QUOTE
+ Pe_SINGLE_QUOTE = 53, // '\'' ['] CLOSING SINGLE QUOTE
+ Pi_SINGLE_QUOTE = 54, // '\'' ['] INITIAL SINGLE QUOTE
+ Pf_SINGLE_QUOTE = 55, // '\'' ['] FINAL SINGLE QUOTE
+ Po_SINGLE_QUOTE = 56, // '\'' ['] APOSTROPHE and PRIME
+
CCL_NUM = 57,
CCL_MASK = 0x3F,
@@ -94,8 +94,8 @@ enum WC_TYPE { // TODO move no NUnicode
SVAL_OFFSET = 22,
};
-const size_t DEFCHAR_BUF = 58; // CCL_NUM + 1
-
+const size_t DEFCHAR_BUF = 58; // CCL_NUM + 1
+
#define SHIFT(i) (ULL(1) << (i))
namespace NUnicode {
diff --git a/util/thread/pool.cpp b/util/thread/pool.cpp
index bdef83fe12..05fad02e9b 100644
--- a/util/thread/pool.cpp
+++ b/util/thread/pool.cpp
@@ -372,7 +372,7 @@ static TAtomic mtp_queue_counter = 0;
class TAdaptiveThreadPool::TImpl {
public:
class TThread: public IThreadFactory::IThreadAble {
- public:
+ public:
inline TThread(TImpl* parent)
: Impl_(parent)
, Thread_(Impl_->Parent_->Pool()->Run(this))